1 tx
13 calls
constructor
constructor(address _governance, address _acrossBridge, uint32 _targetNetworkId, address _roleManager)
functions
ACCOUNTANT
viewfunction ACCOUNTANT() view returns (address)
DEPOSIT_RELAYER
viewfunction DEPOSIT_RELAYER() view returns (address)
governance
viewfunction governance() view returns (address)
pendingGovernance
viewfunction pendingGovernance() view returns (address)
preDepositVault
viewfunction preDepositVault(address) view returns (address)
ROLE_MANAGER
viewfunction ROLE_MANAGER() view returns (address)
stbDepositor
viewfunction stbDepositor(address) view returns (address)
TARGET_NETWORK_ID
viewfunction TARGET_NETWORK_ID() view returns (uint32)
VAULT_FACTORY
viewfunction VAULT_FACTORY() view returns (address)
acceptGovernance
nonpayablefunction acceptGovernance()
deployPreDeposit
nonpayablefunction deployPreDeposit(address _asset, address _yearnVault, address _stbVault) returns (address _vault)
setVault
nonpayablefunction setVault(address asset, address vault)
transferGovernance
nonpayablefunction transferGovernance(address _newGovernance)
events
GovernanceTransferred
event GovernanceTransferred(address indexed previousGovernance, address indexed newGovernance)
PreDepositDeployed
event PreDepositDeployed(address indexed asset, address indexed vault)
UpdatePendingGovernance
event UpdatePendingGovernance(address indexed newPendingGovernance)
VaultSet
event VaultSet(address indexed asset, address indexed vault)
errors
No errors.
creation bytecode
0x61010060405234801562000011575f80fd5b50604051620050e8380380620050e883398101604081905262000034916200014c565b5f80546001600160a01b0319166001600160a01b038616908117825560405186928392917f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80908290a35050826040516200008e9062000114565b6001600160a01b039091168152602001604051809103905ff080158015620000b8573d5f803e3d5ffd5b506001600160a01b031660e052604051620000d39062000122565b604051809103905ff080158015620000ed573d5f803e3d5ffd5b506001600160a01b0390811660a05263ffffffff90921660c0521660805250620001af9050565b6117a5806200315483390190565b6107ef80620048f983390190565b80516001600160a01b038116811462000147575f80fd5b919050565b5f805f806080858703121562000160575f80fd5b6200016b8562000130565b93506200017b6020860162000130565b9250604085015163ffffffff8116811462000194575f80fd5b9150620001a46060860162000130565b905092959194509250565b60805160a05160c05160e051612f5c620001f85f395f6101fd01525f818161012b015261068501525f8181610193015261091b01525f81816102500152610a460152612f5c5ff3fe608060405234801562000010575f80fd5b5060043610620000dc575f3560e01c8063a1a9ecc31162000093578063d38bfff4116200006b578063d38bfff4146200021f578063f39c38a01462000236578063f5b944eb146200024a578063fbfb02dc1462000272575f80fd5b8063a1a9ecc314620001b5578063a666ca1a14620001cc578063b54ad75a14620001f7575f80fd5b8063103f290714620000e0578063238efcbc14620001195780632b56e8b314620001255780635aa6e6751462000163578063714ccf7b14620001765780638b9d2940146200018d575b5f80fd5b620000fc73770d0d1fb036483ed4abb6d53c1c88fb277d812f81565b6040516001600160a01b0390911681526020015b60405180910390f35b620001236200029d565b005b6200014d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200162000110565b5f54620000fc906001600160a01b031681565b620001236200018736600462000c2a565b62000349565b620000fc7f000000000000000000000000000000000000000000000000000000000000000081565b620000fc620001c636600462000c66565b620003f0565b620000fc620001dd36600462000cb5565b60026020525f90815260409020546001600160a01b031681565b620000fc7f000000000000000000000000000000000000000000000000000000000000000081565b620001236200023036600462000cb5565b62000b1f565b600154620000fc906001600160a01b031681565b620000fc7f000000000000000000000000000000000000000000000000000000000000000081565b620000fc6200028336600462000cb5565b60036020525f90815260409020546001600160a01b031681565b6001546001600160a01b03163314620002f35760405162461bcd60e51b81526020600482015260136024820152722170656e64696e6720676f7665726e616e636560681b60448201526064015b60405180910390fd5b5f805460405133926001600160a01b03909216917f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8091a35f80546001600160a01b03199081163317909155600180549091169055565b6200035362000bb9565b6001600160a01b0382166200039a5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401620002ea565b6001600160a01b038281165f8181526003602052604080822080546001600160a01b0319169486169485179055517f8800deb8c31293b539eaf5391fcc88280dc58f015c043d65dd5b72a0979a1dd19190a35050565b5f620003fb62000bb9565b6001600160a01b038481165f9081526003602052604090205416156200045d5760405162461bcd60e51b815260206004820152601660248201527515985d5b1d08185b1c9958591e4819195c1b1bde595960521b6044820152606401620002ea565b73770d0d1fb036483ed4abb6d53c1c88fb277d812f6001600160a01b031663b4aeee7785866001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015620004bd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052620004e6919081019062000d12565b604051602001620004f8919062000dc6565b604051602081830303815290604052876001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801562000543573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200056c919081019062000d12565b6040516020016200057e919062000e01565b60405160208183030381529060405230620151806040518663ffffffff1660e01b8152600401620005b495949392919062000e5a565b6020604051808303815f875af1158015620005d1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005f7919062000ea7565b90505f84856001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801562000637573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405262000660919081019062000d12565b60405160200162000672919062000ec5565b60405160208183030381529060405284847f0000000000000000000000000000000000000000000000000000000000000000604051620006b29062000c04565b620006c295949392919062000f0c565b604051809103905ff080158015620006dc573d5f803e3d5ffd5b505f54604051630f629b7960e41b81526001600160a01b03918216600482015291925082169063f629b790906024015f604051808303815f87803b15801562000723575f80fd5b505af115801562000736573d5f803e3d5ffd5b5050604051632cf7fd8560e01b8152306004820152613fff60248201526001600160a01b0385169250632cf7fd8591506044015f604051808303815f87803b15801562000781575f80fd5b505af115801562000794573d5f803e3d5ffd5b505060405163de7aeb4160e01b81526001600160a01b0387811660048301528516925063de7aeb4191506024015f604051808303815f87803b158015620007d9575f80fd5b505af1158015620007ec573d5f803e3d5ffd5b505060405163173bb9ad60e31b81526001600160a01b0387811660048301525f1960248301528516925063b9ddcd6891506044015f604051808303815f87803b15801562000838575f80fd5b505af11580156200084b573d5f803e3d5ffd5b505060405163de7aeb4160e01b81526001600160a01b0384811660048301528516925063de7aeb4191506024015f604051808303815f87803b15801562000890575f80fd5b505af1158015620008a3573d5f803e3d5ffd5b505060405163173bb9ad60e31b81526001600160a01b0384811660048301525f1960248301528516925063b9ddcd6891506044015f604051808303815f87803b158015620008ef575f80fd5b505af115801562000902573d5f803e3d5ffd5b50506040516371da8a8d60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152851692506371da8a8d91506024015f604051808303815f87803b15801562000967575f80fd5b505af11580156200097a573d5f803e3d5ffd5b50506040516337f00e8f60e11b81525f1960048201526001600160a01b0385169250636fe01d1e91506024015f604051808303815f87803b158015620009be575f80fd5b505af1158015620009d1573d5f803e3d5ffd5b5050604051632cf7fd8560e01b81523060048201525f60248201526001600160a01b0385169250632cf7fd8591506044015f604051808303815f87803b15801562000a1a575f80fd5b505af115801562000a2d573d5f803e3d5ffd5b505060405163ef54cefd60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301528516925063ef54cefd91506024015f604051808303815f87803b15801562000a92575f80fd5b505af115801562000aa5573d5f803e3d5ffd5b505050506001600160a01b038581165f81815260036020908152604080832080546001600160a01b03199081168988169081179092556002909352818420805490931695871695909517909155517f2614a0bbabb31d096e7de10a10cb60cdc60383e34955726ba03f6027857b20959190a3509392505050565b62000b2962000bb9565b6001600160a01b03811662000b705760405162461bcd60e51b815260206004820152600c60248201526b5a45524f204144445245535360a01b6044820152606401620002ea565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa443b483867b0f9db5b03913474dd21935ac5ba70fa6c94e3423ba9be157c44b905f90a250565b5f546001600160a01b0316331462000c025760405162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b6044820152606401620002ea565b565b611fd08062000f5783390190565b6001600160a01b038116811462000c27575f80fd5b50565b5f806040838503121562000c3c575f80fd5b823562000c498162000c12565b9150602083013562000c5b8162000c12565b809150509250929050565b5f805f6060848603121562000c79575f80fd5b833562000c868162000c12565b9250602084013562000c988162000c12565b9150604084013562000caa8162000c12565b809150509250925092565b5f6020828403121562000cc6575f80fd5b813562000cd38162000c12565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b8381101562000d0a57818101518382015260200162000cf0565b50505f910152565b5f6020828403121562000d23575f80fd5b815167ffffffffffffffff8082111562000d3b575f80fd5b818401915084601f83011262000d4f575f80fd5b81518181111562000d645762000d6462000cda565b604051601f8201601f19908116603f0116810190838211818310171562000d8f5762000d8f62000cda565b8160405282815287602084870101111562000da8575f80fd5b62000dbb83602083016020880162000cee565b979650505050505050565b7112d85d185b9848141c994b51195c1bdcda5d60721b81525f825162000df481601285016020870162000cee565b9190910160120192915050565b621adc1960ea1b81525f825162000e2081600385016020870162000cee565b9190910160030192915050565b5f815180845262000e4681602086016020860162000cee565b601f01601f19169290920160200192915050565b5f60018060a01b03808816835260a0602084015262000e7d60a084018862000e2d565b838103604085015262000e91818862000e2d565b9590911660608401525050608001529392505050565b5f6020828403121562000eb8575f80fd5b815162000cd38162000c12565b66025b0ba30b730960cd1b81525f825162000ee881600785016020870162000cee565b6c29aa21102232b837b9b4ba37b960991b6007939091019283015250601401919050565b5f60018060a01b03808816835260a0602084015262000f2f60a084018862000e2d565b958116604084015293909316606082015263ffffffff91909116608090910152509291505056fe6101206040525f805462ffffff19166227100117905534801562000021575f80fd5b5060405162001fd038038062001fd08339810160408190526200004491620006a3565b6001600160a01b0385166080523060a0526040518590859085908390839082908290620000b790620000839084908490339081908190602401620007cf565b60408051601f198184030181529190526020810180516001600160e01b03908116634b839d7360e11b17909152620001ef16565b5073d377919fa87120584b21279a491f82d5265a139c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5550505050826001600160a01b0316816001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000160919062000811565b6001600160a01b031614620001aa5760405162461bcd60e51b815260206004820152600b60248201526a1ddc9bdb99c81d985d5b1d60aa1b60448201526064015b60405180910390fd5b6001600160a01b0380821660c052608051620001ca9116825f196200027e565b5050506001600160a01b0390911660e05263ffffffff16610100525062000897915050565b60605f8073d377919fa87120584b21279a491f82d5265a139c6001600160a01b0316846040516200022191906200082d565b5f60405180830381855af49150503d805f81146200025b576040519150601f19603f3d011682016040523d82523d5f602084013e62000260565b606091505b50915091508162000277576040513d805f833e8082fd5b9392505050565b801580620002fa5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015620002d2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002f891906200084a565b155b6200036e5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401620001a1565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620003c6918591620003cb16565b505050565b6040805180820190915260208082527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908201525f9062000419906001600160a01b0385169084906200049d565b905080515f14806200043c5750808060200190518101906200043c919062000862565b620003c65760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620001a1565b6060620004ad84845f85620004b5565b949350505050565b606082471015620005185760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620001a1565b5f80866001600160a01b031685876040516200053591906200082d565b5f6040518083038185875af1925050503d805f811462000571576040519150601f19603f3d011682016040523d82523d5f602084013e62000576565b606091505b5090925090506200058a8783838762000595565b979650505050505050565b60608315620006085782515f0362000600576001600160a01b0385163b620006005760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001a1565b5081620004ad565b620004ad83838151156200061f5781518083602001fd5b8060405162461bcd60e51b8152600401620001a1919062000883565b80516001600160a01b038116811462000652575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620006875781810151838201526020016200066d565b50505f910152565b805163ffffffff8116811462000652575f80fd5b5f805f805f60a08688031215620006b8575f80fd5b620006c3866200063b565b60208701519095506001600160401b0380821115620006e0575f80fd5b818801915088601f830112620006f4575f80fd5b81518181111562000709576200070962000657565b604051601f8201601f19908116603f0116810190838211818310171562000734576200073462000657565b816040528281528b60208487010111156200074d575f80fd5b620007608360208301602088016200066b565b809850505050505062000776604087016200063b565b925062000786606087016200063b565b915062000796608087016200068f565b90509295509295909350565b5f8151808452620007bb8160208601602086016200066b565b601f01601f19169290920160200192915050565b5f60018060a01b03808816835260a06020840152620007f260a0840188620007a2565b9581166040840152938416606083015250911660809091015292915050565b5f6020828403121562000822575f80fd5b62000277826200063b565b5f8251620008408184602087016200066b565b9190910192915050565b5f602082840312156200085b575f80fd5b5051919050565b5f6020828403121562000873575f80fd5b8151801515811462000277575f80fd5b602081525f620002776020830184620007a2565b60805160a05160c05160e0516101005161168b620009455f395f81816102280152610abf01525f81816102d301526104b401525f81816104400152818161062d015281816107e90152818161083301528181610a7201528181610b0a01528181610c3701528181610cf401528181610d830152610f6e01525f81816105400152818161076b0152818161088001528181610906015281816109820152610e2a01525f61071f015261168b5ff3fe608060405234801561000f575f80fd5b50600436106101c2575f3560e01c806373adb214116100f7578063a39591f311610095578063d69686011161006f578063d696860114610420578063ea9c94a514610433578063fbfa77cf1461043b578063fde813a814610462576101c2565b8063a39591f3146103ea578063ac00ff26146103f2578063d19a3bb814610405576101c2565b80637d969932116100d15780637d969932146103aa578063950b3d73146103bc5780639994673d146103cf5780639d7fb70c146103d7576101c2565b806373adb2141461037f57806378233f2114610387578063797bf343146103a2576101c2565b80634a5d09431161016457806350f612131161013e57806350f61213146103085780635d265d3f1461032b5780636718835f14610360578063696508fc1461036c576101c2565b80634a5d0943146102be5780634aff0928146102ce578063503160d9146102f5576101c2565b8063304825f2116101a0578063304825f21461025f5780633d6cb5751461029057806346aa2f12146102a357806349317f1d146102b6576101c2565b806304bd4629146101f7578063286a876b1461021d5780632b56e8b314610223575b73d377919fa87120584b21279a491f82d5265a139c365f80375f80365f845af43d5f803e8080156101f1573d5ff35b3d5ffd5b005b61020a6102053660046114ba565b610475565b6040519081526020015b60405180910390f35b5f61020a565b61024a7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610214565b5f5461027890600160281b90046001600160a01b031681565b6040516001600160a01b039091168152602001610214565b6101f561029e3660046114e0565b61049d565b61020a6102b13660046114ba565b6104b1565b61020a6104fb565b5f54610100900461ffff1661020a565b6102787f000000000000000000000000000000000000000000000000000000000000000081565b6101f56103033660046114e0565b61051a565b5f5461031b90600160c81b900460ff1681565b6040519015158152602001610214565b60408051600481526024810182526020810180516001600160e01b031663440368a360e01b1790529051610214915f91611544565b5f5461031b9060ff1681565b6101f561037a3660046114ba565b61052b565b61020a610616565b610278732a3dd3eb832af982ec71669e178424b10dca2ede81565b61020a610708565b5f546301000000900461ffff1661020a565b6101f56103ca3660046114e0565b610756565b61020a6107d2565b6101f56103e53660046114e0565b610820565b61020a610828565b6101f561040036600461156b565b61086b565b61027873d377919fa87120584b21279a491f82d5265a139c81565b6101f561042e3660046114e0565b6108f1565b6101f561096d565b6102787f000000000000000000000000000000000000000000000000000000000000000081565b6101f56104703660046114e0565b610bba565b5f8054600160c81b900460ff161561048e57505f919050565b61049782610bcb565b92915050565b6104a5610be6565b6104ae81610c1f565b50565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036104f45761049782610d6c565b505f919050565b5f610504610be6565b61050c610df4565b905061051781610e0f565b90565b610522610be6565b6104ae81610f52565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b158015610588575f80fd5b505afa15801561059a573d5f803e3d5ffd5b5050506001600160a01b03821690506105e95760405162461bcd60e51b815260206004820152600c60248201526b5a45524f204144445245535360a01b60448201526064015b60405180910390fd5b5f80546001600160a01b03909216600160281b0265010000000000600160c81b0319909216919091179055565b604051636c82bbbf60e11b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a90829063d905777e90602401602060405180830381865afa158015610682573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a69190611586565b6040518263ffffffff1660e01b81526004016106c491815260200190565b602060405180830381865afa1580156106df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107039190611586565b905090565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a08231906024016106c4565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b1580156107b3575f80fd5b505afa1580156107c5573d5f803e3d5ffd5b505050506104ae81610fe0565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a08231906024016106c4565b6104ae610be6565b5f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166307a2d13a826108616107d2565b6106a691906115b1565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b1580156108c8575f80fd5b505afa1580156108da573d5f803e3d5ffd5b50505f805460ff1916931515939093179092555050565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b15801561094e575f80fd5b505afa158015610960573d5f803e3d5ffd5b505050506104ae81611079565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b1580156109ca575f80fd5b505afa1580156109dc573d5f803e3d5ffd5b50505f54600160281b90046001600160a01b03169150610a4090505760405162461bcd60e51b815260206004820152601760248201527f4b4154414e41205245434549564552204e4f542053455400000000000000000060448201526064016105e0565b5f610a49610708565b90508015610a5a57610a5a81610f52565b5f610a636107d2565b9050610aad6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016732a3dd3eb832af982ec71669e178424b10dca2ede836110d9565b5f805460405163cd58657960e01b81527f000000000000000000000000000000000000000000000000000000000000000063ffffffff166004820152600160281b9091046001600160a01b039081166024830152604482018490527f00000000000000000000000000000000000000000000000000000000000000001660648201526001608482015260c060a482015260c4810191909152732a3dd3eb832af982ec71669e178424b10dca2ede9063cd5865799060e4015f604051808303815f87803b158015610b7b575f80fd5b505af1158015610b8d573d5f803e3d5ffd5b50505f54600160c81b900460ff169150610bb69050575f805460ff60c81b1916600160c81b1790555b5050565b610bc2610be6565b6104ae8161118c565b5f610bd4610616565b610bdc610708565b61049791906115b1565b333014610c1d5760405162461bcd60e51b815260206004820152600560248201526410b9b2b63360d91b60448201526064016105e0565b565b604051630a28a47760e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a28a47790602401602060405180830381865afa158015610c84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca89190611586565b90505f610cb36107d2565b905080821115610cd157610cce82610cc96107d2565b6111a0565b91505b604051635d043b2960e11b815260048101839052306024820181905260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ba087652906064016020604051808303815f875af1158015610d42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d669190611586565b50505050565b60405163402d267d60e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063402d267d90602401602060405180830381865afa158015610dd0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104979190611586565b5f610dfd610828565b610e05610708565b61070391906115b1565b5f5460ff16610e2757505f805460ff19166001179055565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea89190611586565b905080821115610f1b575f5461271090610ecb90610100900461ffff16836115c4565b610ed591906115db565b610edf82846115fa565b1115610bb65760405162461bcd60e51b815260206004820152600b60248201526a6865616c7468436865636b60a81b60448201526064016105e0565b81811115610bb6575f5461271090610f3e906301000000900461ffff16836115c4565b610f4891906115db565b610edf83836115fa565b604051636e553f6560e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015610fbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb69190611586565b5f811161101e5760405162461bcd60e51b815260206004820152600c60248201526b085e995c9bc81c1c9bd99a5d60a21b60448201526064016105e0565b61ffff81111561105c5760405162461bcd60e51b8152602060048201526009602482015268042e8dede40d0d2ced60bb1b60448201526064016105e0565b5f805461ffff9092166101000262ffff0019909216919091179055565b61271081106110b85760405162461bcd60e51b815260206004820152600b60248201526a085b1bdcdcc81b1a5b5a5d60aa1b60448201526064016105e0565b5f805461ffff90921663010000000264ffff00000019909216919091179055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261112a84826111b7565b610d6657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611182908590611258565b610d668482611258565b6104ae61119b82610cc9610616565b610c1f565b5f8183106111ae57816111b0565b825b9392505050565b5f805f846001600160a01b0316846040516111d2919061160d565b5f604051808303815f865af19150503d805f811461120b576040519150601f19603f3d011682016040523d82523d5f602084013e611210565b606091505b509150915081801561123a57508051158061123a57508080602001905181019061123a9190611628565b801561124f57506001600160a01b0385163b15155b95945050505050565b5f6112ac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113309092919063ffffffff16565b905080515f14806112cc5750808060200190518101906112cc9190611628565b61132b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105e0565b505050565b606061133e84845f85611346565b949350505050565b6060824710156113a75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105e0565b5f80866001600160a01b031685876040516113c2919061160d565b5f6040518083038185875af1925050503d805f81146113fc576040519150601f19603f3d011682016040523d82523d5f602084013e611401565b606091505b50915091506114128783838761141d565b979650505050505050565b6060831561148b5782515f03611484576001600160a01b0385163b6114845760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e0565b508161133e565b61133e83838151156114a05781518083602001fd5b8060405162461bcd60e51b81526004016105e09190611643565b5f602082840312156114ca575f80fd5b81356001600160a01b03811681146111b0575f80fd5b5f602082840312156114f0575f80fd5b5035919050565b5f5b838110156115115781810151838201526020016114f9565b50505f910152565b5f81518084526115308160208601602086016114f7565b601f01601f19169290920160200192915050565b8215158152604060208201525f61133e6040830184611519565b80151581146104ae575f80fd5b5f6020828403121561157b575f80fd5b81356111b08161155e565b5f60208284031215611596575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104975761049761159d565b80820281158282048414176104975761049761159d565b5f826115f557634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104975761049761159d565b5f825161161e8184602087016114f7565b9190910192915050565b5f60208284031215611638575f80fd5b81516111b08161155e565b602081525f6111b0602083018461151956fea26469706673582212200e35e0128620a018603fc303a268d08df028e73d528599b8011c2b399052fe9964736f6c63430008170033a264697066735822122019f7aa92cd3a63f5b77af557080f7866cf33efa7a9a02148efad8a2d7240249e64736f6c6343000817003360e060405234801561000f575f80fd5b506040516117a53803806117a583398101604081905261002e916100df565b3360c0526001600160a01b03811661007b5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b604482015260640160405180910390fd5b6001600160a01b0381166080526040513390610096906100d2565b6001600160a01b039091168152602001604051809103905ff0801580156100bf573d5f803e3d5ffd5b506001600160a01b031660a0525061010c565b6107c680610fdf83390190565b5f602082840312156100ef575f80fd5b81516001600160a01b0381168114610105575f80fd5b9392505050565b60805160a05160c051610e8161015e5f395f818160d4015281816101bf01528181610402015261051e01525f818161010e0152818161069c015261073d01525f81816069015261013b0152610e815ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c80632f3ab804146100645780633a5be8cb146100a757806347e7ef24146100bc5780635327e57b146100cf578063839006f2146100f6578063cb99083c14610109575b5f80fd5b61008b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100ba6100b5366004610c3a565b610130565b005b6100ba6100ca366004610d13565b6103e1565b61008b7f000000000000000000000000000000000000000000000000000000000000000081565b6100ba610104366004610d3d565b61051c565b61008b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461019e5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b60448201526064015b60405180910390fd5b604051633efec0b760e21b81526001600160a01b0385811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063fbfb02dc90602401602060405180830381865afa158015610206573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022a9190610d5f565b90506001600160a01b0381166102725760405162461bcd60e51b815260206004820152600d60248201526c15985d5b1d081b9bdd081cd95d609a1b6044820152606401610195565b5f841180156102e757506040516370a0823160e01b815230600482015284906001600160a01b038716906370a0823190602401602060405180830381865afa1580156102c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e49190610d7a565b10155b6103295760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610195565b5f808380602001905181019061033f9190610d91565b90925090506001600160a01b0382166103895760405162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2103ab9b2b960a11b6044820152606401610195565b805f036103cb5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a590818da185a5b881a5960821b6044820152606401610195565b6103d8878484898561066a565b50505050505050565b604051633efec0b760e21b81526001600160a01b0383811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063fbfb02dc90602401602060405180830381865afa158015610449573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046d9190610d5f565b90506001600160a01b0381166104b55760405162461bcd60e51b815260206004820152600d60248201526c15985d5b1d081b9bdd081cd95d609a1b6044820152606401610195565b5f82116104f55760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610195565b61050a6001600160a01b0384163330856107e9565b610517838233854661066a565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa158015610578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059c9190610d5f565b6001600160a01b0316336001600160a01b0316146105ea5760405162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b6044820152606401610195565b6040516370a0823160e01b81523060048201526106679033906001600160a01b038416906370a0823190602401602060405180830381865afa158015610632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106569190610d7a565b6001600160a01b038416919061085a565b50565b61067e6001600160a01b038616858461088a565b604051636e553f6560e01b8152600481018390526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152851690636e553f65906044016020604051808303815f875af11580156106ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070e9190610d7a565b5060405163dedcb6bd60e01b81526001600160a01b0386811660048301528481166024830152604482018490527f0000000000000000000000000000000000000000000000000000000000000000169063dedcb6bd906064015f604051808303815f87803b15801561077e575f80fd5b505af1158015610790573d5f803e3d5ffd5b5050505081836001600160a01b0316866001600160a01b03167f781d39e8507017fef6cbedd3e4ceb26e620688d8c807910f604fcbb7d2abbfed846040516107da91815260200190565b60405180910390a45050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108549085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610914565b50505050565b6040516001600160a01b03831660248201526044810182905261051790849063a9059cbb60e01b9060640161081d565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526108db84826109e7565b610854576040516001600160a01b03841660248201525f604482015261090e90859063095ea7b360e01b9060640161081d565b61085484825b5f610968826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a889092919063ffffffff16565b905080515f14806109885750808060200190518101906109889190610dbd565b6105175760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610195565b5f805f846001600160a01b031684604051610a029190610dfe565b5f604051808303815f865af19150503d805f8114610a3b576040519150601f19603f3d011682016040523d82523d5f602084013e610a40565b606091505b5091509150818015610a6a575080511580610a6a575080806020019051810190610a6a9190610dbd565b8015610a7f57506001600160a01b0385163b15155b95945050505050565b6060610a9684845f85610a9e565b949350505050565b606082471015610aff5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610195565b5f80866001600160a01b03168587604051610b1a9190610dfe565b5f6040518083038185875af1925050503d805f8114610b54576040519150601f19603f3d011682016040523d82523d5f602084013e610b59565b606091505b5091509150610b6a87838387610b75565b979650505050505050565b60608315610be35782515f03610bdc576001600160a01b0385163b610bdc5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610195565b5081610a96565b610a968383815115610bf85781518083602001fd5b8060405162461bcd60e51b81526004016101959190610e19565b6001600160a01b0381168114610667575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215610c4d575f80fd5b8435610c5881610c12565b9350602085013592506040850135610c6f81610c12565b9150606085013567ffffffffffffffff80821115610c8b575f80fd5b818701915087601f830112610c9e575f80fd5b813581811115610cb057610cb0610c26565b604051601f8201601f19908116603f01168101908382118183101715610cd857610cd8610c26565b816040528281528a6020848701011115610cf0575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f8060408385031215610d24575f80fd5b8235610d2f81610c12565b946020939093013593505050565b5f60208284031215610d4d575f80fd5b8135610d5881610c12565b9392505050565b5f60208284031215610d6f575f80fd5b8151610d5881610c12565b5f60208284031215610d8a575f80fd5b5051919050565b5f8060408385031215610da2575f80fd5b8251610dad81610c12565b6020939093015192949293505050565b5f60208284031215610dcd575f80fd5b81518015158114610d58575f80fd5b5f5b83811015610df6578181015183820152602001610dde565b50505f910152565b5f8251610e0f818460208701610ddc565b9190910192915050565b602081525f8251806020840152610e37816040850160208701610ddc565b601f01601f1916919091016040019291505056fea2646970667358221220b8239db3abe0fb1b95834fad9d1ec1063c2e66efbdb900ba43db23f245b48b6764736f6c6343000817003360c060405234801561000f575f80fd5b506040516107c63803806107c683398101604081905261002e91610043565b336080526001600160a01b031660a052610070565b5f60208284031215610053575f80fd5b81516001600160a01b0381168114610069575f80fd5b9392505050565b60805160a05161072961009d5f395f8181605e01526101d001525f818160d7015261012c01526107295ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c80635327e57b1461005957806391130db61461009d578063b54ad75a146100d2578063dedcb6bd146100f9578063f9140f7c1461010e575b5f80fd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c46100ab36600461057f565b5f60208181529281526040808220909352908152205481565b604051908152602001610094565b6100807f000000000000000000000000000000000000000000000000000000000000000081565b61010c6101073660046105b6565b610121565b005b61010c61011c3660046105f4565b6101ce565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101905760405162461bcd60e51b815260206004820152600f60248201526e10b232b837b9b4ba2932b630bcb2b960891b60448201526064015b60405180910390fd5b6001600160a01b038084165f90815260208181526040808320938616835292905290812080548392906101c490849061061e565b9091555050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa15801561022a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024e9190610643565b6001600160a01b0316336001600160a01b03161461029c5760405162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b6044820152606401610187565b6102b06001600160a01b03831633836102b4565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261030690849061030b565b505050565b5f61035f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103de9092919063ffffffff16565b905080515f148061037f57508080602001905181019061037f9190610665565b6103065760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610187565b60606103ec84845f856103f4565b949350505050565b6060824710156104555760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610187565b5f80866001600160a01b0316858760405161047091906106a6565b5f6040518083038185875af1925050503d805f81146104aa576040519150601f19603f3d011682016040523d82523d5f602084013e6104af565b606091505b50915091506104c0878383876104cb565b979650505050505050565b606083156105395782515f03610532576001600160a01b0385163b6105325760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610187565b50816103ec565b6103ec838381511561054e5781518083602001fd5b8060405162461bcd60e51b815260040161018791906106c1565b6001600160a01b038116811461057c575f80fd5b50565b5f8060408385031215610590575f80fd5b823561059b81610568565b915060208301356105ab81610568565b809150509250929050565b5f805f606084860312156105c8575f80fd5b83356105d381610568565b925060208401356105e381610568565b929592945050506040919091013590565b5f8060408385031215610605575f80fd5b823561061081610568565b946020939093013593505050565b8082018082111561063d57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215610653575f80fd5b815161065e81610568565b9392505050565b5f60208284031215610675575f80fd5b8151801515811461065e575f80fd5b5f5b8381101561069e578181015183820152602001610686565b50505f910152565b5f82516106b7818460208701610684565b9190910192915050565b602081525f82518060208401526106df816040850160208701610684565b601f01601f1916919091016040019291505056fea264697066735822122037090cfb5f06bfb3af4cf7022cd7caafa7a85c31885d3f769b0b96dfb59a014064736f6c6343000817003360a060405234801561000f575f80fd5b50336080526080516107b76100385f395f8181605d0152818160c6015261022501526107b75ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c806301681a62146100435780635327e57b14610058578063921f8a8f1461009c575b5f80fd5b61005661005136600461066d565b6100c4565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100af6100aa36600461068f565b610217565b60408051928352602083019190915201610093565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa158015610120573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061014491906106c1565b6001600160a01b0316336001600160a01b0316146101975760405162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b60448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201526102149033906001600160a01b038416906370a0823190602401602060405180830381865afa1580156101df573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020391906106dc565b6001600160a01b03841691906103a5565b50565b5f80336001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fbfb02dc336001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b291906106c1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156102f4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061031891906106c1565b6001600160a01b03161461035e5760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081d985d5b1d609a1b604482015260640161018e565b821561039c5760405162461bcd60e51b815260206004820152600d60248201526c0d8dee6e640e8dede40d0d2ced609b1b604482015260640161018e565b92949293505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526103f79084906103fc565b505050565b5f610450826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166104cf9092919063ffffffff16565b905080515f148061047057508080602001905181019061047091906106f3565b6103f75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161018e565b60606104dd84845f856104e5565b949350505050565b6060824710156105465760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161018e565b5f80866001600160a01b031685876040516105619190610734565b5f6040518083038185875af1925050503d805f811461059b576040519150601f19603f3d011682016040523d82523d5f602084013e6105a0565b606091505b50915091506105b1878383876105bc565b979650505050505050565b6060831561062a5782515f03610623576001600160a01b0385163b6106235760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161018e565b50816104dd565b6104dd838381511561063f5781518083602001fd5b8060405162461bcd60e51b815260040161018e919061074f565b6001600160a01b0381168114610214575f80fd5b5f6020828403121561067d575f80fd5b813561068881610659565b9392505050565b5f805f606084860312156106a1575f80fd5b83356106ac81610659565b95602085013595506040909401359392505050565b5f602082840312156106d1575f80fd5b815161068881610659565b5f602082840312156106ec575f80fd5b5051919050565b5f60208284031215610703575f80fd5b81518015158114610688575f80fd5b5f5b8381101561072c578181015183820152602001610714565b50505f910152565b5f8251610745818460208701610712565b9190910192915050565b602081525f825180602084015261076d816040850160208701610712565b601f01601f1916919091016040019291505056fea26469706673582212208c4df8c4d0aabe53ffc9f334177970827d1513a53fb6bcdf43a5d47d652d84a664736f6c634300081700330000000000000000000000001b5f15dcb82d25f91c65b53cee151e8b9fbdd2710000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c500000000000000000000000000000000000000000000000000000000000000010000000000000000000000001b5f15dcb82d25f91c65b53cee151e8b9fbdd271