0 txs
0 calls
constructor
constructor()
functions
canDeposit
viewfunction canDeposit() view returns (uint256)
canWithdraw
viewfunction canWithdraw() view returns (uint256)
checkUpkeep
viewfunction checkUpkeep(bytes) view returns (bool, bytes)
getDepositChange
viewfunction getDepositChange() view returns (int256)
getFees
viewfunction getFees() view returns (tuple[])
getMaxDeposits
viewfunction getMaxDeposits() view returns (uint256)
getMinDeposits
viewfunction getMinDeposits() view returns (uint256)
getPendingFees
viewfunction getPendingFees() view returns (uint256)
getTotalDeposits
viewfunction getTotalDeposits() view returns (uint256)
getVaultDepositLimits
viewfunction getVaultDepositLimits() view returns (uint256, uint256)
getVaults
viewfunction getVaults() view returns (address[])
minDepositThreshold
viewfunction minDepositThreshold() view returns (uint256)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
stakeController
viewfunction stakeController() view returns (address)
stakingPool
viewfunction stakingPool() view returns (address)
token
viewfunction token() view returns (address)
vaultImplementation
viewfunction vaultImplementation() view returns (address)
withdraw
viewfunction withdraw(uint256) view
__Strategy_init
nonpayablefunction __Strategy_init(address _token, address _stakingPool)
__VaultControllerStrategy_init
nonpayablefunction __VaultControllerStrategy_init(address _token, address _stakingPool, address _stakeController, address _vaultImplementation, uint256 _minDepositThreshold, tuple[] _fees)
addFee
nonpayablefunction addFee(address _receiver, uint256 _feeBasisPoints)
addVault
nonpayablefunction addVault(address _operator)
deposit
nonpayablefunction deposit(uint256 _amount)
depositBufferedTokens
nonpayablefunction depositBufferedTokens(uint256 _startIndex)
initialize
nonpayablefunction initialize(address _token, address _stakingPool, address _stakeController, address _vaultImplementation, uint256 _minDepositThreshold, tuple[] _fees, address[] _initialVaults)
migrateVaults
nonpayablefunction migrateVaults(uint256 _startIndex, uint256 _numVaults, bytes _data)
performUpkeep
nonpayablefunction performUpkeep(bytes _performData)
renounceOwnership
nonpayablefunction renounceOwnership()
setMinDepositThreshold
nonpayablefunction setMinDepositThreshold(uint256 _minDepositThreshold)
setOperator
nonpayablefunction setOperator(uint256 _index, address _operator)
setVaultImplementation
nonpayablefunction setVaultImplementation(address _vaultImplementation)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateDeposits
nonpayablefunction updateDeposits(bytes) returns (int256 depositChange, address[] receivers, uint256[] amounts)
updateFee
nonpayablefunction updateFee(uint256 _index, address _receiver, uint256 _feeBasisPoints)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
upgradeVaults
nonpayablefunction upgradeVaults(uint256 _startIndex, uint256 _numVaults, bytes _data)
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
DepositBufferedTokens
event DepositBufferedTokens(uint256 depositedAmount)
Initialized
event Initialized(uint8 version)
MigratedVaults
event MigratedVaults(uint256 startIndex, uint256 numVaults, bytes data)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetMinDepositThreshold
event SetMinDepositThreshold(uint256 minDepositThreshold)
SetVaultImplementation
event SetVaultImplementation(address vaultImplementation)
Upgraded
event Upgraded(address indexed implementation)
UpgradedVaults
event UpgradedVaults(uint256 startIndex, uint256 numVaults, bytes data)
VaultAdded
event VaultAdded(address indexed operator)
errors
No errors.
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516142466200011f60003960008181610be701528181610c2a01528181611084015281816110c7015261120a01526142466000f3fe608060405260043610620002535760003560e01c80638971d175116200013b578063bba48a9011620000b9578063e7a1c1c01162000078578063e7a1c1c014620006e5578063eb47dc8f14620002be578063eb634210146200070a578063f2fde38b146200072c578063fc0c546a146200075157600080fd5b8063bba48a901462000647578063c51c2d0e1462000669578063db8d55f11462000681578063e61fbf3c14620006a8578063e78a587514620006cd57600080fd5b8063b24c87651162000106578063b24c876514620005b5578063b47529c514620005cd578063b51459fe14620005f2578063b6b55f25146200060a578063b7b7a408146200062f57600080fd5b80638971d175146200050c5780638da5cb5b14620005315780639566355b1462000551578063af51e6a5146200057f57600080fd5b80634585e33b11620001d557806353e78b6b116200019457806353e78b6b146200045d57806369feab4914620004825780636e04ff0d146200049a578063715018a614620004cf5780637718238f14620004e757600080fd5b80634585e33b14620003bf5780634b72008f14620003e45780634f1ef286146200040957806351825761146200042057806352d1902d146200044557600080fd5b8063256b5a021162000222578063256b5a0214620003045780632e1a7d4d14620003295780633659cfe6146200034e578063396a8b83146200037357806344d00f82146200039857600080fd5b8063011df4c014620002585780630c56ae3b146200027f578063168a482214620002be5780631e0fea9014620002df575b600080fd5b3480156200026557600080fd5b506200027d6200027736600462002f36565b62000773565b005b3480156200028c57600080fd5b5060ca54620002a1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015620002cb57600080fd5b5060cf545b604051908152602001620002b5565b348015620002ec57600080fd5b506200027d620002fe366004620030d5565b62000876565b3480156200031157600080fd5b506200027d62000323366004620031ca565b62000ab9565b3480156200033657600080fd5b506200027d62000348366004620031e8565b62000b67565b3480156200035b57600080fd5b506200027d6200036d366004620031ca565b62000bdd565b3480156200038057600080fd5b506200027d6200039236600462003278565b62000cc8565b348015620003a557600080fd5b50620003b062000d4c565b604051620002b59190620032cb565b348015620003cc57600080fd5b506200027d620003de3660046200331a565b62000db0565b348015620003f157600080fd5b506200027d62000403366004620031e8565b62000e3b565b6200027d6200041a3660046200335f565b6200107a565b3480156200042d57600080fd5b506200027d6200043f366004620031e8565b62001156565b3480156200045257600080fd5b50620002d0620011fd565b3480156200046a57600080fd5b506200027d6200047c366004620031ca565b620012b3565b3480156200048f57600080fd5b50620002d06200136b565b348015620004a757600080fd5b50620004bf620004b93660046200331a565b620014b3565b604051620002b59291906200340f565b348015620004dc57600080fd5b506200027d62001703565b348015620004f457600080fd5b506200027d620005063660046200342c565b6200171b565b3480156200051957600080fd5b506200027d6200052b36600462003459565b620017e6565b3480156200053e57600080fd5b506097546001600160a01b0316620002a1565b3480156200055e57600080fd5b5062000569620019e1565b60408051928352602083019190915201620002b5565b3480156200058c57600080fd5b50620005a46200059e3660046200331a565b62001a5a565b604051620002b593929190620034ec565b348015620005c257600080fd5b50620002d060d15481565b348015620005da57600080fd5b506200027d620005ec3660046200357f565b62001c83565b348015620005ff57600080fd5b50620002d062001e49565b3480156200061757600080fd5b506200027d62000629366004620031e8565b62001e80565b3480156200063c57600080fd5b50620002d062001efe565b3480156200065457600080fd5b5060cd54620002a1906001600160a01b031681565b3480156200067657600080fd5b50620002d062001f4a565b3480156200068e57600080fd5b506200069962001fe1565b604051620002b59190620035b7565b348015620006b557600080fd5b506200027d620006c736600462003611565b62002058565b348015620006da57600080fd5b50620002d0620020c6565b348015620006f257600080fd5b506200027d6200070436600462003649565b620020f9565b3480156200071757600080fd5b5060cb54620002a1906001600160a01b031681565b3480156200073957600080fd5b506200027d6200074b366004620031ca565b62002187565b3480156200075e57600080fd5b5060c954620002a1906001600160a01b031681565b6200077d62002203565b835b6200078b848662003685565b811015620008305760ce8181548110620007a957620007a9620036a0565b600091825260209091200154604051638932a90d60e01b81526001600160a01b0390911690638932a90d90620007e69086908690600401620036df565b600060405180830381600087803b1580156200080157600080fd5b505af115801562000816573d6000803e3d6000fd5b5050505080806200082790620036f5565b9150506200077f565b507f5bb7c7377d014c56b55e799b3aa7823ebf510e1a494cc6c3a57e9121e7e1605a8484848460405162000868949392919062003711565b60405180910390a150505050565b600054610100900460ff1615808015620008975750600054600160ff909116105b80620008b35750303b158015620008b3575060005460ff166001145b6200091c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000940576000805461ff0019166101001790555b62000950898989898989620017e6565b60005b8281101562000a66576000848483818110620009735762000973620036a0565b90506020020160208101906200098a9190620031ca565b60ce80546001810182556000919091527fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a0180546001600160a01b0319166001600160a01b0383811691821790925560c95460405163095ea7b360e01b81526004810192909252600019602483015292935091169063095ea7b3906044016020604051808303816000875af115801562000a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a4e919062003733565b5050808062000a5d90620036f5565b91505062000953565b50801562000aae576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b62000ac362002203565b60c95460cb546040516001600160a01b0392831660248201523060448201529082166064820152908216608482015260009060a40160408051601f198184030181529190526020810180516001600160e01b0316637c643b2f60e11b179052905062000b2f816200225f565b6040516001600160a01b038316907f7b7ef7a864d96a85497a1ed846adb39940dd6ccef678ff6ac8d55505e09b8cc490600090a25050565b60ca546001600160a01b0316331462000b945760405162461bcd60e51b8152600401620009139062003757565b60405162461bcd60e51b815260206004820152601f60248201527f7769746864726177616c73206e6f742079657420696d706c656d656e74656400604482015260640162000913565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362000c285760405162461bcd60e51b8152600401620009139062003781565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000c73600080516020620041ca833981519152546001600160a01b031690565b6001600160a01b03161462000c9c5760405162461bcd60e51b81526004016200091390620037cd565b62000ca7816200231b565b6040805160008082526020820190925262000cc59183919062002325565b50565b62000cd262002203565b825b62000ce0838562003685565b81101562000d095762000cf481836200249d565b8062000d0081620036f5565b91505062000cd4565b507f71ddb05108536dca4ade6ad9f2cec5fd3e84727523ab1e86b135ea47f79dfe8e83838360405162000d3f9392919062003819565b60405180910390a1505050565b606060ce80548060200260200160405190810160405280929190818152602001828054801562000da657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000d87575b5050505050905090565b60d15460d054101562000e195760405162461bcd60e51b815260206004820152602a60248201527f4d696e696d756d206465706f736974207468726573686f6c6420686173206e6f6044820152691d081899595b881b595d60b21b606482015260840162000913565b600062000e2982840184620031e8565b905062000e368162000e3b565b505050565b60008062000e48620019e1565b60ce54919350915062000e5e9060019062003843565b83148062000ef557508060ce848154811062000e7e5762000e7e620036a0565b6000918252602091829020015460408051631ae665a560e01b815290516001600160a01b0390921692631ae665a5926004808401938290030181865afa15801562000ecd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ef391906200385d565b105b62000f525760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f74206465706f73697420696e746f207661756c74207468617420696044820152651cc8199d5b1b60d21b606482015260840162000913565b82158062000ff657508060ce62000f6b60018662003843565b8154811062000f7e5762000f7e620036a0565b6000918252602091829020015460408051631ae665a560e01b815290516001600160a01b0390921692631ae665a5926004808401938290030181865afa15801562000fcd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ff391906200385d565b10155b6200106a5760405162461bcd60e51b815260206004820152603a60248201527f43616e6e6f74206465706f73697420696e746f207661756c74206966206c6f7760448201527f657220696e646578207661756c74206973206e6f742066756c6c000000000000606482015260840162000913565b62000e368360d05484846200256a565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620010c55760405162461bcd60e51b8152600401620009139062003781565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001110600080516020620041ca833981519152546001600160a01b031690565b6001600160a01b031614620011395760405162461bcd60e51b81526004016200091390620037cd565b62001144826200231b565b620011528282600162002325565b5050565b6200116062002203565b60006200116c620019e1565b50905080821015620011c15760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206d696e206465706f736974207468726573686f6c64000000604482015260640162000913565b60d18290556040518281527fbaafcf7c1d05d165d3e39aa3a9535641b8c8747a041fd42923a0790e93fdec809060200160405180910390a15050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146200129f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000913565b50600080516020620041ca83398151915290565b620012bd62002203565b803b620013175760405162461bcd60e51b815260206004820152602160248201527f41646472657373206d7573742062656c6f6e6720746f206120636f6e747261636044820152601d60fa1b606482015260840162000913565b60cd80546001600160a01b0319166001600160a01b0383169081179091556040519081527f028cd482b99a4d21fe2c757cd8fc155d8dcce718854d0f63e40819069339a49d9060200160405180910390a150565b60c9546040516370a0823160e01b815230600482015260009182916001600160a01b03909116906370a0823190602401602060405180830381865afa158015620013b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013df91906200385d565b905060005b60ce548110156200149d5760ce8181548110620014055762001405620036a0565b6000918252602091829020015460408051630b45241160e11b815290516001600160a01b039092169263168a4822926004808401938290030181865afa15801562001454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200147a91906200385d565b62001486908362003685565b9150806200149481620036f5565b915050620013e4565b5060cf54620014ad908262003877565b91505090565b6000606060cb60009054906101000a90046001600160a01b03166001600160a01b03166322f3e2d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200150b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001531919062003733565b1580620015b3575060cb60009054906101000a90046001600160a01b03166001600160a01b031663b187bd266040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200158d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015b3919062003733565b15620015d25750506040805160208101909152600080825290620016fc565b60d15460d0541015620015f85750506040805160208101909152600080825290620016fc565b600062001604620019e1565b915060009050805b60ce54811015620016cf57600060ce82815481106200162f576200162f620036a0565b6000918252602091829020015460408051631ae665a560e01b815290516001600160a01b0390921692631ae665a5926004808401938290030181865afa1580156200167e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016a491906200385d565b905083811015620016b95781925050620016cf565b5080620016c681620036f5565b9150506200160c565b50600181604051602001620016e691815260200190565b6040516020818303038152906040529350935050505b9250929050565b6200170d62002203565b620017196000620025ea565b565b6200172562002203565b604080518082019091526001600160a01b0383811682526020820183815260cc805460018101825560009190915292517f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe600290940293840180546001600160a01b0319169190931617909155517f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebf90910155611388620017c56200263c565b1115620011525760405162461bcd60e51b81526004016200091390620038bc565b600054610100900460ff16620018105760405162461bcd60e51b81526004016200091390620038f3565b6200181c868662002058565b60cb80546001600160a01b0319166001600160a01b038616179055823b620018a65760405162461bcd60e51b815260206004820152603660248201527f5661756c7420696d706c656d656e746174696f6e2061646472657373206d75736044820152751d0818995b1bdb99c81d1bc8184818dbdb9d1c9858dd60521b606482015260840162000913565b60cd80546001600160a01b0319166001600160a01b0385161790556000620018cd620019e1565b50905080831015620019225760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206d696e206465706f736974207468726573686f6c64000000604482015260640162000913565b60d183905560005b8251811015620019a95760cc8382815181106200194b576200194b620036a0565b602090810291909101810151825460018082018555600094855293839020825160029092020180546001600160a01b0319166001600160a01b0390921691909117815591015191015580620019a081620036f5565b9150506200192a565b50611388620019b76200263c565b1115620019d85760405162461bcd60e51b81526004016200091390620038bc565b50505050505050565b60cb5460408051638856398f60e01b8152815160009384936001600160a01b0390911692638856398f92600480830193928290030181865afa15801562001a2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a5291906200393e565b915091509091565b60ca5460009060609081906001600160a01b0316331462001a8f5760405162461bcd60e51b8152600401620009139062003757565b62001a996200136b565b9250600083131562001c4b578260cf600082825462001ab9919062003685565b909155505060cc546001600160401b0381111562001adb5762001adb62002fa9565b60405190808252806020026020018201604052801562001b05578160200160208202803683370190505b5060cc549092506001600160401b0381111562001b265762001b2662002fa9565b60405190808252806020026020018201604052801562001b50578160200160208202803683370190505b50905060005b60cc5481101562001c445760cc818154811062001b775762001b77620036a0565b600091825260209091206002909102015483516001600160a01b039091169084908390811062001bab5762001bab620036a0565b60200260200101906001600160a01b031690816001600160a01b03168152505061271060cc828154811062001be45762001be4620036a0565b9060005260206000209060020201600101548562001c03919062003963565b62001c0f919062003985565b82828151811062001c245762001c24620036a0565b60209081029190910101528062001c3b81620036f5565b91505062001b56565b5062001c7c565b600083121562001c7c5762001c6383600019620039a8565b60cf600082825462001c76919062003843565b90915550505b9250925092565b62001c8d62002203565b60cc54831062001cd55760405162461bcd60e51b815260206004820152601260248201527111995948191bd95cc81b9bdd08195e1a5cdd60721b604482015260640162000913565b8060000362001da25760cc805462001cf09060019062003843565b8154811062001d035762001d03620036a0565b906000526020600020906002020160cc848154811062001d275762001d27620036a0565b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b0390921691909117815560019182015491015560cc80548062001d735762001d7362003a39565b60008281526020812060026000199093019283020180546001600160a01b031916815560010155905562001e1b565b8160cc848154811062001db95762001db9620036a0565b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060cc848154811062001e055762001e05620036a0565b9060005260206000209060020201600101819055505b61138862001e286200263c565b111562000e365760405162461bcd60e51b81526004016200091390620038bc565b60008062001e5660cf5490565b905062001e6260cf5490565b811162001e7157600091505090565b60cf54620014ad908262003843565b60ca546001600160a01b0316331462001ead5760405162461bcd60e51b8152600401620009139062003757565b60c95462001ec7906001600160a01b03163330846200269f565b8060cf600082825462001edb919062003685565b925050819055508060d0600082825462001ef6919062003685565b909155505050565b60008062001f0b620019e1565b91505060d05460dc5462001f20919062003685565b60ce5462001f2f908362003963565b60cf5462001f3e919062003685565b620014ad919062003843565b60008062001f576200136b565b905060008082131562001fdb5760005b60cc5481101562001fd95761271060cc828154811062001f8b5762001f8b620036a0565b9060005260206000209060020201600101548462001faa919062003963565b62001fb6919062003985565b62001fc2908362003685565b91508062001fd081620036f5565b91505062001f67565b505b92915050565b606060cc805480602002602001604051908101604052809291908181526020016000905b828210156200204f576000848152602090819020604080518082019091526002850290910180546001600160a01b0316825260019081015482840152908352909201910162002005565b50505050905090565b600054610100900460ff16620020825760405162461bcd60e51b81526004016200091390620038f3565b60c980546001600160a01b038085166001600160a01b03199283161790925560ca805492841692909116919091179055620020bc62002712565b6200115262002746565b600080620020d360cf5490565b9050620020df62001efe565b8110620020ee57600091505090565b8062001f3e62001efe565b6200210362002203565b60ce8281548110620021195762002119620036a0565b60009182526020909120015460405163b3ab15fb60e01b81526001600160a01b0383811660048301529091169063b3ab15fb90602401600060405180830381600087803b1580156200216a57600080fd5b505af11580156200217f573d6000803e3d6000fd5b505050505050565b6200219162002203565b6001600160a01b038116620021f85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000913565b62000cc581620025ea565b6097546001600160a01b03163314620017195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000913565b60cd546040516000916001600160a01b03169083906200227f9062002ee4565b6200228c92919062003a4f565b604051809103906000f080158015620022a9573d6000803e3d6000fd5b5060c954909150620022c8906001600160a01b03168260001962002770565b60ce80546001810182556000919091527fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a0180546001600160a01b0319166001600160a01b039290921691909117905550565b62000cc562002203565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200235b5762000e36836200288d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620023b8575060408051601f3d908101601f19168201909252620023b5918101906200385d565b60015b6200241d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000913565b600080516020620041ca83398151915281146200248f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000913565b5062000e368383836200292c565b600060ce8381548110620024b557620024b5620036a0565b600091825260208220015483516001600160a01b0390911692509003620025345760cd54604051631b2ce7f360e11b81526001600160a01b03918216600482015290821690633659cfe6906024015b600060405180830381600087803b1580156200251f57600080fd5b505af1158015620019d8573d6000803e3d6000fd5b60cd5460405163278f794360e11b81526001600160a01b0383811692634f1ef28692620025049290911690869060040162003a4f565b60006200257a8585858562002957565b90508060dc600082825462002590919062003685565b925050819055508060d06000828254620025ab919062003843565b90915550506040518181527fa4bed97b3bf449a46f6055021be066b9cdc8927761583826eeebb69a6fdaac979060200160405180910390a15050505050565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008060005b60cc54811015620026995760cc8181548110620026635762002663620036a0565b9060005260206000209060020201600101548262002682919062003685565b9150806200269081620036f5565b91505062002642565b50919050565b6040516001600160a01b03808516602483015283166044820152606481018290526200270c9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262002b49565b50505050565b600054610100900460ff166200273c5760405162461bcd60e51b81526004016200091390620038f3565b6200171962002c25565b600054610100900460ff16620017195760405162461bcd60e51b81526004016200091390620038f3565b801580620027ee5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015620027c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027ec91906200385d565b155b6200285b5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840162000913565b6040516001600160a01b03831660248201526044810182905262000e3690849063095ea7b360e01b90606401620026d4565b6001600160a01b0381163b620028fc5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000913565b600080516020620041ca83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620029378362002c5a565b600082511180620029455750805b1562000e36576200270c838362002c9c565b600083855b60ce5481101562002b3057600060ce82815481106200297f576200297f620036a0565b600091825260208083209091015460408051631ae665a560e01b815290516001600160a01b0390921694508492631ae665a5926004808401938290030181865afa158015620029d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620029f891906200385d565b9050600062002a08828862003843565b9050878210801562002a24575062002a21828962003843565b85105b1562002a335750505062002b30565b8085111562002aae5760405163b6b55f2560e01b8152600481018290526001600160a01b0384169063b6b55f2590602401600060405180830381600087803b15801562002a7f57600080fd5b505af115801562002a94573d6000803e3d6000fd5b50505050808562002aa6919062003843565b945062002b17565b60405163b6b55f2560e01b8152600481018690526001600160a01b0384169063b6b55f2590602401600060405180830381600087803b15801562002af157600080fd5b505af115801562002b06573d6000803e3d6000fd5b505050506000945050505062002b30565b505050808062002b2790620036f5565b9150506200295c565b5062002b3d818662003843565b9150505b949350505050565b600062002ba0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662002ccb9092919063ffffffff16565b905080516000148062002bc457508080602001905181019062002bc4919062003733565b62000e365760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000913565b600054610100900460ff1662002c4f5760405162461bcd60e51b81526004016200091390620038f3565b6200171933620025ea565b62002c65816200288d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062002cc48383604051806060016040528060278152602001620041ea6027913962002cdc565b9392505050565b606062002b41848460008562002d5a565b6060600080856001600160a01b03168560405162002cfb919062003a75565b600060405180830381855af49150503d806000811462002d38576040519150601f19603f3d011682016040523d82523d6000602084013e62002d3d565b606091505b509150915062002d508683838762002e3d565b9695505050505050565b60608247101562002dbd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000913565b600080866001600160a01b0316858760405162002ddb919062003a75565b60006040518083038185875af1925050503d806000811462002e1a576040519150601f19603f3d011682016040523d82523d6000602084013e62002e1f565b606091505b509150915062002e328783838762002e3d565b979650505050505050565b6060831562002eb157825160000362002ea9576001600160a01b0385163b62002ea95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000913565b508162002b41565b62002b41838381511562002ec85781518083602001fd5b8060405162461bcd60e51b815260040162000913919062003a93565b6107218062003aa983390190565b60008083601f84011262002f0557600080fd5b5081356001600160401b0381111562002f1d57600080fd5b602083019150836020828501011115620016fc57600080fd5b6000806000806060858703121562002f4d57600080fd5b843593506020850135925060408501356001600160401b0381111562002f7257600080fd5b62002f808782880162002ef2565b95989497509550505050565b80356001600160a01b038116811462002fa457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562002fe45762002fe462002fa9565b60405290565b604051601f8201601f191681016001600160401b038111828210171562003015576200301562002fa9565b604052919050565b600082601f8301126200302f57600080fd5b813560206001600160401b038211156200304d576200304d62002fa9565b6200305d818360051b0162002fea565b82815260069290921b840181019181810190868411156200307d57600080fd5b8286015b84811015620030ca57604081890312156200309c5760008081fd5b620030a662002fbf565b620030b18262002f8c565b8152818501358582015283529183019160400162003081565b509695505050505050565b60008060008060008060008060e0898b031215620030f257600080fd5b620030fd8962002f8c565b97506200310d60208a0162002f8c565b96506200311d60408a0162002f8c565b95506200312d60608a0162002f8c565b94506080890135935060a08901356001600160401b03808211156200315157600080fd5b6200315f8c838d016200301d565b945060c08b01359150808211156200317657600080fd5b818b0191508b601f8301126200318b57600080fd5b8135818111156200319b57600080fd5b8c60208260051b8501011115620031b157600080fd5b6020830194508093505050509295985092959890939650565b600060208284031215620031dd57600080fd5b62002cc48262002f8c565b600060208284031215620031fb57600080fd5b5035919050565b600082601f8301126200321457600080fd5b81356001600160401b0381111562003230576200323062002fa9565b62003245601f8201601f191660200162002fea565b8181528460208386010111156200325b57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156200328e57600080fd5b833592506020840135915060408401356001600160401b03811115620032b357600080fd5b620032c18682870162003202565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156200330e5783516001600160a01b031683529284019291840191600101620032e7565b50909695505050505050565b600080602083850312156200332e57600080fd5b82356001600160401b038111156200334557600080fd5b620033538582860162002ef2565b90969095509350505050565b600080604083850312156200337357600080fd5b6200337e8362002f8c565b915060208301356001600160401b038111156200339a57600080fd5b620033a88582860162003202565b9150509250929050565b60005b83811015620033cf578181015183820152602001620033b5565b838111156200270c5750506000910152565b60008151808452620033fb816020860160208601620033b2565b601f01601f19169290920160200192915050565b821515815260406020820152600062002b416040830184620033e1565b600080604083850312156200344057600080fd5b6200344b8362002f8c565b946020939093013593505050565b60008060008060008060c087890312156200347357600080fd5b6200347e8762002f8c565b95506200348e6020880162002f8c565b94506200349e6040880162002f8c565b9350620034ae6060880162002f8c565b92506080870135915060a08701356001600160401b03811115620034d157600080fd5b620034df89828a016200301d565b9150509295509295509295565b6000606082018583526020606081850152818651808452608086019150828801935060005b81811015620035385784516001600160a01b03168352938301939183019160010162003511565b50508481036040860152855180825290820192508186019060005b81811015620035715782518552938301939183019160010162003553565b509298975050505050505050565b6000806000606084860312156200359557600080fd5b83359250620035a76020850162002f8c565b9150604084013590509250925092565b602080825282518282018190526000919060409081850190868401855b828110156200360457815180516001600160a01b03168552860151868501529284019290850190600101620035d4565b5091979650505050505050565b600080604083850312156200362557600080fd5b620036308362002f8c565b9150620036406020840162002f8c565b90509250929050565b600080604083850312156200365d57600080fd5b82359150620036406020840162002f8c565b634e487b7160e01b600052601160045260246000fd5b600082198211156200369b576200369b6200366f565b500190565b634e487b7160e01b600052603260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600062002b41602083018486620036b6565b6000600182016200370a576200370a6200366f565b5060010190565b84815283602082015260606040820152600062002d50606083018486620036b6565b6000602082840312156200374657600080fd5b8151801515811462002cc457600080fd5b60208082526010908201526f5374616b696e67506f6f6c206f6e6c7960801b604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b8381528260208201526060604082015260006200383a6060830184620033e1565b95945050505050565b6000828210156200385857620038586200366f565b500390565b6000602082840312156200387057600080fd5b5051919050565b60008083128015600160ff1b8501841216156200389857620038986200366f565b6001600160ff1b0384018313811615620038b657620038b66200366f565b50500390565b60208082526019908201527f546f74616c2066656573206d757374206265203c3d2035302500000000000000604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600080604083850312156200395257600080fd5b505080516020909101519092909150565b60008160001904831182151516156200398057620039806200366f565b500290565b600082620039a357634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160ff1b0381841382841380821686840486111615620039d157620039d16200366f565b600160ff1b6000871282811687830589121615620039f357620039f36200366f565b6000871292508782058712848416161562003a125762003a126200366f565b8785058712818416161562003a2b5762003a2b6200366f565b505050929093029392505050565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b038316815260406020820181905260009062002b4190830184620033e1565b6000825162003a89818460208701620033b2565b9190910192915050565b60208152600062002cc46020830184620033e156fe608060405260405161072138038061072183398101604081905261002291610314565b61002e82826000610035565b5050610431565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d083836040518060600160405280602781526020016106fa602791396101a9565b9392505050565b6100ea8161028760201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61029660201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b60606001600160a01b0384163b6102115760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610148565b600080856001600160a01b03168560405161022c91906103e2565b600060405180830381855af49150503d8060008114610267576040519150601f19603f3d011682016040523d82523d6000602084013e61026c565b606091505b50909250905061027d828286610299565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a85750816100d0565b8251156102b85782518084602001fd5b8160405162461bcd60e51b815260040161014891906103fe565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103035781810151838201526020016102eb565b838111156100645750506000910152565b6000806040838503121561032757600080fd5b82516001600160a01b038116811461033e57600080fd5b60208401519092506001600160401b038082111561035b57600080fd5b818501915085601f83011261036f57600080fd5b815181811115610381576103816102d2565b604051601f8201601f19908116603f011681019083821181831017156103a9576103a96102d2565b816040528281528860208487010111156103c257600080fd5b6103d38360208301602088016102e8565b80955050505050509250929050565b600082516103f48184602087016102e8565b9190910192915050565b602081526000825180602084015261041d8160408501602087016102e8565b601f01601f19169190910160400192915050565b6102ba806104406000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e838360405180606001604052806027815260200161025e602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b60606001600160a01b0384163b6101305760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161014b919061020e565b600060405180830381855af49150503d8060008114610186576040519150601f19603f3d011682016040523d82523d6000602084013e61018b565b606091505b509150915061019b8282866101a5565b9695505050505050565b606083156101b457508161004e565b8251156101c45782518084602001fd5b8160405162461bcd60e51b8152600401610127919061022a565b60005b838110156101f95781810151838201526020016101e1565b83811115610208576000848401525b50505050565b600082516102208184602087016101de565b9190910192915050565b60208152600082518060208401526102498160408501602087016101de565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122015c575a1d4aa5f6221f50862bdd76e39e9fc0eff20f628e8308027fc8124232e64736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206a72c3ce9737e1b68bb5c06bdcde1b0d96c38454c5fa00db4f6ddaaeb29b8e2264736f6c634300080f0033