0 txs
6 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
EMERGENCY_ROLE
viewfunction EMERGENCY_ROLE() view returns (bytes32)
EXECUTOR_ROLE
viewfunction EXECUTOR_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
getUnderlyingBalance
viewfunction getUnderlyingBalance() view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
liquidityBuffer
viewfunction liquidityBuffer() view returns (address)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
pool
viewfunction pool() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
weth
viewfunction weth() view returns (address)
approveToken
nonpayablefunction approveToken(address token, address addr, uint256 wad)
deposit
payablefunction deposit(uint16 referralCode) payable
emergencyEtherTransfer
nonpayablefunction emergencyEtherTransfer(address to, uint256 amount)
emergencyTokenTransfer
nonpayablefunction emergencyTokenTransfer(address token, address to, uint256 amount)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(tuple init)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
revokeToken
nonpayablefunction revokeToken(address token, address addr)
setLiquidityBuffer
nonpayablefunction setLiquidityBuffer(address _liquidityBuffer)
withdraw
nonpayablefunction withdraw(uint256 amount)
events
ApproveToken
event ApproveToken(address indexed token, address indexed addr, uint256 wad)
Deposit
event Deposit(address indexed caller, uint256 amount, uint256 aTokenAmount)
EmergencyEtherTransfer
event EmergencyEtherTransfer(address indexed to, uint256 amount)
EmergencyTokenTransfer
event EmergencyTokenTransfer(address indexed token, address indexed to, uint256 amount)
Initialized
event Initialized(uint8 version)
RevokeToken
event RevokeToken(address indexed token, address indexed addr)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SetLiquidityBuffer
event SetLiquidityBuffer(address indexed liquidityBuffer)
Withdraw
event Withdraw(address indexed caller, uint256 amount)
errors
No errors.
creation bytecode
0x608060405234801562000010575f80fd5b506200001b62000021565b620000df565b5f54610100900460ff16156200008d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614620000dd575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b612c6a80620000ed5f395ff3fe60806040526004361061018e575f3560e01c80639010d07c116100d5578063cc3f4e201161007e578063e2c6743911610058578063e2c67439146105c8578063ec87621c146105dc578063eed88b8d1461060f5761021b565b8063cc3f4e201461055e578063d547741f1461058a578063da3e3397146105a95761021b565b8063a3d5b255116100af578063a3d5b2551461050d578063c9c0c77a1461052c578063ca15c8731461053f5761021b565b80639010d07c1461048a57806391d14854146104a9578063a217fddf146104fa5761021b565b80632f2ff15d116101375780633fc8cef3116101115780633fc8cef31461042057806387f2955d1461044c5780638f656d221461046b5761021b565b80632f2ff15d146103c35780633419ba23146103e257806336568abe146104015761021b565b806320df43591161016857806320df435914610343578063248a9ca3146103765780632e1a7d4d146103a45761021b565b806301ffc9a71461027d57806307bd0265146102b157806316f0115b146102f25761021b565b3661021b5760ca5473ffffffffffffffffffffffffffffffffffffffff163314610219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f52656365697665206e6f7420616c6c6f7765640000000000000000000000000060448201526064015b60405180910390fd5b005b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f46616c6c6261636b206e6f7420616c6c6f7765640000000000000000000000006044820152606401610210565b348015610288575f80fd5b5061029c610297366004612757565b61062e565b60405190151581526020015b60405180910390f35b3480156102bc575f80fd5b506102e47fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b6040519081526020016102a8565b3480156102fd575f80fd5b5060c95461031e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102a8565b34801561034e575f80fd5b506102e47fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2681565b348015610381575f80fd5b506102e4610390366004612796565b5f9081526065602052604090206001015490565b3480156103af575f80fd5b506102196103be366004612796565b610689565b3480156103ce575f80fd5b506102196103dd3660046127de565b610a9a565b3480156103ed575f80fd5b506102196103fc36600461280c565b610ac3565b34801561040c575f80fd5b5061021961041b3660046127de565b610bec565b34801561042b575f80fd5b5060ca5461031e9073ffffffffffffffffffffffffffffffffffffffff1681565b348015610457575f80fd5b50610219610466366004612838565b610c9f565b348015610476575f80fd5b50610219610485366004612880565b610e25565b348015610495575f80fd5b5061031e6104a4366004612935565b611252565b3480156104b4575f80fd5b5061029c6104c33660046127de565b5f91825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b348015610505575f80fd5b506102e45f81565b348015610518575f80fd5b50610219610527366004612955565b611270565b61021961053a366004612993565b6113a7565b34801561054a575f80fd5b506102e4610559366004612796565b61158f565b348015610569575f80fd5b5060cb5461031e9073ffffffffffffffffffffffffffffffffffffffff1681565b348015610595575f80fd5b506102196105a43660046127de565b6115a5565b3480156105b4575f80fd5b506102196105c3366004612955565b6115c9565b3480156105d3575f80fd5b506102e46116f1565b3480156105e7575f80fd5b506102e47f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0881565b34801561061a575f80fd5b506102196106293660046129b4565b61181d565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f000000000000000000000000000000000000000000000000000000001480610683575061068382611925565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636106b3816119bb565b5f821161071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c696420616d6f756e740000000000000000000000000000000000006044820152606401610210565b60c95460ca546040517fcff027d900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201525f92919091169063cff027d990602401602060405180830381865afa158015610790573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b491906129de565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529091505f9073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610821573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084591906129f9565b905083600181016108535750805b818111156108bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152606401610210565b60c95460ca546040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152602481018490523060448201529116906369328dec906064016020604051808303815f875af115801561093b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095f91906129f9565b5060ca546040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d906024015f604051808303815f87803b1580156109c9575f80fd5b505af11580156109db573d5f803e3d5ffd5b5050505060cb5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663347e6ed3826040518263ffffffff1660e01b81526004015f604051808303818588803b158015610a46575f80fd5b505af1158015610a58573d5f803e3d5ffd5b50506040518481523393507f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649250602001905060405180910390a25050505050565b5f82815260656020526040902060010154610ab4816119bb565b610abe83836119c8565b505050565b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08610aed816119bb565b8173ffffffffffffffffffffffffffffffffffffffff8116610b6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f742061207a65726f206164647265737300000000000000000000000000006044820152606401610210565b610b8c73ffffffffffffffffffffffffffffffffffffffff8516845f6119e9565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167ff2daf79151afba229b26e9f16b4e5992c501698a3ca8e2297c920d3c94e943e860405160405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610c91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610210565b610c9b8282611be7565b5050565b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08610cc9816119bb565b8173ffffffffffffffffffffffffffffffffffffffff8116610d47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f742061207a65726f206164647265737300000000000000000000000000006044820152606401610210565b60cb54610d8b907fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e639073ffffffffffffffffffffffffffffffffffffffff16611be7565b610db57fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63846119c8565b60cb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040517fe8b2e596d3eefd658ad1d7ebdb41d24d9912ca31875c946a127506d2c0e615c9905f90a2505050565b5f54610100900460ff1615808015610e4357505f54600160ff909116105b80610e5c5750303b158015610e5c57505f5460ff166001145b610ee8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610210565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f44575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b815173ffffffffffffffffffffffffffffffffffffffff161580610f805750602082015173ffffffffffffffffffffffffffffffffffffffff16155b80610fa35750604082015173ffffffffffffffffffffffffffffffffffffffff16155b80610fc65750606082015173ffffffffffffffffffffffffffffffffffffffff16155b80610fe95750608082015173ffffffffffffffffffffffffffffffffffffffff16155b15611050576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f496e76616c696420696e697469616c697a6520706172616d65746572730000006044820152606401610210565b611058611c08565b606082015160ca805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617909155608084015160c98054918416918316919091179055604084015160cb805491909316911617905581516110d5905f906119c8565b6111037f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0883602001516119c8565b6111317fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6383604001516119c8565b60ca5460c9546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602482015291169063095ea7b3906044016020604051808303815f875af11580156111c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ec9190612a10565b508015610c9b575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f8281526097602052604081206112699083611ca0565b9392505050565b7fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2661129a816119bb565b8273ffffffffffffffffffffffffffffffffffffffff8116611318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f742061207a65726f206164647265737300000000000000000000000000006044820152606401610210565b61133973ffffffffffffffffffffffffffffffffffffffff86168585611cab565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fb4e5843fd93f375c33c6d06f215e57a0b1e62ef3d506c7da6531036b6327fa288560405161139891815260200190565b60405180910390a35050505050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636113d1816119bb565b345f0361143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4465706f73697420616d6f756e742063616e6e6f7420626520300000000000006044820152606401610210565b60ca5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004015f604051808303818588803b1580156114a1575f80fd5b505af11580156114b3573d5f803e3d5ffd5b505060c95460ca546040517fe8eda9df00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015234602482015230604482015261ffff881660648201529116935063e8eda9df925060840190505f604051808303815f87803b15801561153b575f80fd5b505af115801561154d573d5f803e3d5ffd5b5050604080513480825260208201523393507f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1592500160405180910390a25050565b5f81815260976020526040812061068390611d01565b5f828152606560205260409020600101546115bf816119bb565b610abe8383611be7565b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b086115f3816119bb565b8273ffffffffffffffffffffffffffffffffffffffff8116611671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f742061207a65726f206164647265737300000000000000000000000000006044820152606401610210565b61169273ffffffffffffffffffffffffffffffffffffffff861685856119e9565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167feded619173dbb378903f97d44ecec898a1c4876f445ae551e063113aef58b4718560405161139891815260200190565b60c95460ca546040517fcff027d900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201525f928392169063cff027d990602401602060405180830381865afa158015611764573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178891906129de565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa1580156117f3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061181791906129f9565b91505090565b7fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26611847816119bb565b8273ffffffffffffffffffffffffffffffffffffffff81166118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f742061207a65726f206164647265737300000000000000000000000000006044820152606401610210565b6118cf8484611d0a565b8373ffffffffffffffffffffffffffffffffffffffff167f71c3b69ecd4f336ba362d69703465c0d62d5041f2bbd97d22c847659b60c05b98460405161191791815260200190565b60405180910390a250505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061068357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610683565b6119c58133611dea565b50565b6119d28282611ea3565b5f828152609760205260409020610abe9082611f95565b801580611a8757506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611a61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8591906129f9565b155b611b13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610210565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610abe9084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611fb6565b611bf182826120c3565b5f828152609760205260409020610abe908261217c565b5f54610100900460ff16611c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610210565b565b5f611269838361219d565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610abe9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611b65565b5f610683825490565b604080515f8082526020820190925273ffffffffffffffffffffffffffffffffffffffff8416908390604051611d409190612a51565b5f6040518083038185875af1925050503d805f8114611d7a576040519150601f19603f3d011682016040523d82523d5f602084013e611d7f565b606091505b5050905080610abe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152606401610210565b5f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610c9b57611e29816121c3565b611e348360206121e2565b604051602001611e45929190612a6c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261021091600401612aec565b5f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610c9b575f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611f373390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b5f6112698373ffffffffffffffffffffffffffffffffffffffff841661241f565b5f612017826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661246b9092919063ffffffff16565b905080515f14806120375750808060200190518101906120379190612a10565b610abe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610210565b5f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610c9b575f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b5f6112698373ffffffffffffffffffffffffffffffffffffffff8416612481565b5f825f0182815481106121b2576121b2612b3c565b905f5260205f200154905092915050565b606061068373ffffffffffffffffffffffffffffffffffffffff831660145b60605f6121f0836002612b96565b6121fb906002612bad565b67ffffffffffffffff81111561221357612213612853565b6040519080825280601f01601f19166020018201604052801561223d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000815f8151811061227357612273612b3c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106122d5576122d5612b3c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505f61230f846002612b96565b61231a906001612bad565b90505b60018111156123b6577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061235b5761235b612b3c565b1a60f81b82828151811061237157612371612b3c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535060049490941c936123af81612bc0565b905061231d565b508315611269576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610210565b5f81815260018301602052604081205461246457508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610683565b505f610683565b606061247984845f85612564565b949350505050565b5f818152600183016020526040812054801561255b575f6124a3600183612bf4565b85549091505f906124b690600190612bf4565b9050818114612515575f865f0182815481106124d4576124d4612b3c565b905f5260205f200154905080875f0184815481106124f4576124f4612b3c565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061252657612526612c07565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610683565b5f915050610683565b6060824710156125f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610210565b5f808673ffffffffffffffffffffffffffffffffffffffff16858760405161261e9190612a51565b5f6040518083038185875af1925050503d805f8114612658576040519150601f19603f3d011682016040523d82523d5f602084013e61265d565b606091505b509150915061266e87838387612679565b979650505050505050565b6060831561270e5782515f036127075773ffffffffffffffffffffffffffffffffffffffff85163b612707576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610210565b5081612479565b61247983838151156127235781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102109190612aec565b5f60208284031215612767575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611269575f80fd5b5f602082840312156127a6575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146119c5575f80fd5b80356127d9816127ad565b919050565b5f80604083850312156127ef575f80fd5b823591506020830135612801816127ad565b809150509250929050565b5f806040838503121561281d575f80fd5b8235612828816127ad565b91506020830135612801816127ad565b5f60208284031215612848575f80fd5b8135611269816127ad565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60a08284031215612890575f80fd5b60405160a0810181811067ffffffffffffffff821117156128d8577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405282356128e6816127ad565b815260208301356128f6816127ad565b6020820152612907604084016127ce565b6040820152612918606084016127ce565b6060820152612929608084016127ce565b60808201529392505050565b5f8060408385031215612946575f80fd5b50508035926020909101359150565b5f805f60608486031215612967575f80fd5b8335612972816127ad565b92506020840135612982816127ad565b929592945050506040919091013590565b5f602082840312156129a3575f80fd5b813561ffff81168114611269575f80fd5b5f80604083850312156129c5575f80fd5b82356129d0816127ad565b946020939093013593505050565b5f602082840312156129ee575f80fd5b8151611269816127ad565b5f60208284031215612a09575f80fd5b5051919050565b5f60208284031215612a20575f80fd5b81518015158114611269575f80fd5b5f5b83811015612a49578181015183820152602001612a31565b50505f910152565b5f8251612a62818460208701612a2f565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351612aa3816017850160208801612a2f565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351612ae0816028840160208801612a2f565b01602801949350505050565b602081525f8251806020840152612b0a816040850160208701612a2f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808202811582820484141761068357610683612b69565b8082018082111561068357610683612b69565b5f81612bce57612bce612b69565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b8181038181111561068357610683612b69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea2646970667358221220cb589745e4d7fe77910dcb6c7824b3c755da0f3c0f9ab5ba12e74fa70e2ff2b064736f6c63430008140033