0 txs
1 call
constructor
constructor(address _router, address _roleStore, address _dataStore, address _eventEmitter, address _glvDepositHandler, address _glvWithdrawalHandler, address _externalHandler)
functions
dataStore
viewfunction dataStore() view returns (address)
eventEmitter
viewfunction eventEmitter() view returns (address)
externalHandler
viewfunction externalHandler() view returns (address)
glvDepositHandler
viewfunction glvDepositHandler() view returns (address)
glvWithdrawalHandler
viewfunction glvWithdrawalHandler() view returns (address)
roleStore
viewfunction roleStore() view returns (address)
router
viewfunction router() view returns (address)
cancelGlvDeposit
nonpayablefunction cancelGlvDeposit(bytes32 key)
cancelGlvWithdrawal
nonpayablefunction cancelGlvWithdrawal(bytes32 key)
createGlvDeposit
payablefunction createGlvDeposit(tuple params) payable returns (bytes32)
createGlvWithdrawal
payablefunction createGlvWithdrawal(tuple params) payable returns (bytes32)
makeExternalCalls
payablefunction makeExternalCalls(address[] externalCallTargets, bytes[] externalCallDataList, address[] refundTokens, address[] refundReceivers) payable
multicall
payablefunction multicall(bytes[] data) payable returns (bytes[] results)
sendNativeToken
payablefunction sendNativeToken(address receiver, uint256 amount) payable
sendTokens
payablefunction sendTokens(address token, address receiver, uint256 amount) payable
sendWnt
payablefunction sendWnt(address receiver, uint256 amount) payable
simulateExecuteGlvDeposit
payablefunction simulateExecuteGlvDeposit(bytes32 key, tuple simulatedOracleParams) payable
simulateExecuteGlvWithdrawal
payablefunction simulateExecuteGlvWithdrawal(bytes32 key, tuple simulatedOracleParams) payable
simulateExecuteLatestGlvDeposit
payablefunction simulateExecuteLatestGlvDeposit(tuple simulatedOracleParams) payable
simulateExecuteLatestGlvWithdrawal
payablefunction simulateExecuteLatestGlvWithdrawal(tuple simulatedOracleParams) payable
events
TokenTransferReverted
event TokenTransferReverted(string reason, bytes returndata)
errors
EmptyGlvDeposit
error EmptyGlvDeposit()
EmptyGlvWithdrawal
error EmptyGlvWithdrawal()
EmptyHoldingAddress
error EmptyHoldingAddress()
EmptyReceiver
error EmptyReceiver()
EmptyTokenTranferGasLimit
error EmptyTokenTranferGasLimit(address token)
InvalidNativeTokenSender
error InvalidNativeTokenSender(address msgSender)
TokenTransferError
error TokenTransferError(address token, address receiver, uint256 amount)
Unauthorized
error Unauthorized(address msgSender, string role)
creation bytecode
0x61016060405234801561001157600080fd5b50604051612b73380380612b7383398101604081905261003091610083565b60016000556001600160a01b0395861660805295851660a05292841660c05290831660e052821661010052811661012052166101405261011f565b6001600160a01b038116811461008057600080fd5b50565b600080600080600080600060e0888a03121561009e57600080fd5b87516100a98161006b565b60208901519097506100ba8161006b565b60408901519096506100cb8161006b565b60608901519095506100dc8161006b565b60808901519094506100ed8161006b565b60a08901519093506100fe8161006b565b60c089015190925061010f8161006b565b8091505092959891949750929550565b60805160a05160c05160e0516101005161012051610140516129846101ef600039600081816102020152610aee0152600081816101b8015281816106b90152818161077801528181610813015261086d01526000818161027d015281816104e001528181610a9801528181610ccc0152610d260152600061032c01526000818160ff015281816102c4015281816105910152818161073b015281816107c50152818161091201528181610a5a0152610ba50152600081816103ec0152610da80152600061023601526129846000f3fe6080604052600436106100f35760003560e01c80630db48e41146101605780630e229c35146101735780632a4a6add146101935780632d0a7f6f146101a65780632e944bd6146101f05780634a4a7b041461022457806353ead2d3146102585780636045a3601461026b5780636049a1001461029f578063660d0d67146102b25780637c6fa43b146102e65780637d39aaf1146103075780639ff78c301461031a578063ac9650d81461034e578063cf8a48571461036e578063d59922b014610381578063d95c9e2914610394578063dfa05241146103b4578063e6d66ac8146103c7578063f887ea40146103da57600080fd5b3661015b5760006101237f000000000000000000000000000000000000000000000000000000000000000061040e565b9050336001600160a01b03821614610159573360405163738d28df60e11b81526004016101509190611642565b60405180910390fd5b005b600080fd5b61015961016e3660046118ec565b6104c1565b34801561017f57600080fd5b5061015961018e366004611932565b610557565b6101596101a136600461194b565b61072c565b3480156101b257600080fd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101e79190611642565b60405180910390f35b3480156101fc57600080fd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561023057600080fd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b61015961026636600461197f565b6107af565b34801561027757600080fd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b6101596102ad3660046118ec565b6107f5565b3480156102be57600080fd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b6102f96102f43660046119c3565b61084a565b6040519081526020016101e7565b61015961031536600461197f565b6108fc565b34801561032657600080fd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b61036161035c3660046119f7565b610938565b6040516101e79190611b18565b61015961037c36600461194b565b610a4b565b61015961038f366004611b59565b610acf565b3480156103a057600080fd5b506101596103af366004611932565b610b6b565b6102f96103c23660046119c3565b610d03565b6101596103d5366004611cd1565b610d60565b3480156103e657600080fd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b6000816001600160a01b03166321f8a7216040516020016104469060208082526003908201526215d39560ea1b604082015260600190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161047a91815260200190565b602060405180830381865afa158015610497573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bb9190611d1d565b92915050565b6104c9610e16565b604051630db48e4160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630db48e41906105179085908590600401611d7f565b600060405180830381600087803b15801561053157600080fd5b505af1158015610545573d6000803e3d6000fd5b505050506105536001600055565b5050565b61055f610e16565b60405163fdfc26f360e01b815260009073b013bb9c60c5ebe017fab08889869aec3635ff8f9063fdfc26f3906105bb907f0000000000000000000000000000000000000000000000000000000000000000908690600401611e17565b600060405180830381865af41580156105d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106009190810190611fd2565b9050600061061082516040015190565b6001600160a01b03160361063757604051630e5be78f60e01b815260040160405180910390fd5b3361064482516040015190565b6001600160a01b0316146106a3576040805163a35b150b60e01b81523360048201526024810191909152601f60448201527f6163636f756e7420666f722063616e63656c476c765769746864726177616c006064820152608401610150565b604051630e229c3560e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630e229c35906024015b600060405180830381600087803b15801561070657600080fd5b505af115801561071a573d6000803e3d6000fd5b50505050506107296001600055565b50565b610734610e16565b600061075f7f0000000000000000000000000000000000000000000000000000000000000000610e6f565b604051626049a160e81b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636049a100906106ec9084908690600401611d7f565b6107b7610e16565b6107c082610e91565b6107eb7f00000000000000000000000000000000000000000000000000000000000000008383610eb8565b6105536001600055565b6107fd610e16565b604051626049a160e81b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636049a100906105179085908590600401611d7f565b6000610854610e16565b604051634c6bc17760e11b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906398d782ee906108a790849060009088906004016122f5565b6020604051808303816000875af11580156108c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ea91906123ae565b9150506108f76001600055565b919050565b610904610e16565b61090d82610e91565b6107eb7f00000000000000000000000000000000000000000000000000000000000000008383610fc4565b6060816001600160401b0381111561095257610952611656565b60405190808252806020026020018201604052801561098557816020015b60608152602001906001900390816109705790505b50905060005b82811015610a4457600080308686858181106109a9576109a96123c7565b90506020028101906109bb91906123dd565b6040516109c9929190612423565b600060405180830381855af49150503d8060008114610a04576040519150601f19603f3d011682016040523d82523d6000602084013e610a09565b606091505b509150915081610a1c57610a1c81611047565b80848481518110610a2f57610a2f6123c7565b6020908102919091010152505060010161098b565b5092915050565b610a53610e16565b6000610a7e7f0000000000000000000000000000000000000000000000000000000000000000610e6f565b604051630db48e4160e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630db48e41906106ec9084908690600401611d7f565b610ad7610e16565b604051630d59922b60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d59922b090610b29908790879087908790600401612433565b600060405180830381600087803b158015610b4357600080fd5b505af1158015610b57573d6000803e3d6000fd5b50505050610b656001600055565b50505050565b610b73610e16565b60405163fdfc26f360e01b81526000907314d2122f604c61f846c015d30efe5ccb44f06ffa9063fdfc26f390610bcf907f0000000000000000000000000000000000000000000000000000000000000000908690600401611e17565b600060405180830381865af4158015610bec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c14919081019061253b565b90506000610c2482516020015190565b6001600160a01b031603610c4b5760405163bd19297160e01b815260040160405180910390fd5b33610c5882516020015190565b6001600160a01b031614610cb6576040805163a35b150b60e01b81523360048201526024810191909152601c60448201527b1858d8dbdd5b9d08199bdc8818d85b98d95b11db1d91195c1bdcda5d60221b6064820152608401610150565b60405163d95c9e2960e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d95c9e29906024016106ec565b6000610d0d610e16565b604051633898804960e21b815233906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2620124906108a790849060009088906004016127c6565b610d68610e16565b610d7182610e91565b6040516303704f0f60e31b81526001600160a01b0384811660048301523360248301819052848216604484015260648301849052917f000000000000000000000000000000000000000000000000000000000000000090911690631b82787890608401600060405180830381600087803b158015610dee57600080fd5b505af1158015610e02573d6000803e3d6000fd5b5050505050610e116001600055565b505050565b600260005403610e685760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610150565b6002600055565b600080610e7b83611080565b90506000610e89848361112f565b949350505050565b6001600160a01b0381166107295760405163d551823d60e01b815260040160405180910390fd5b80600003610ec557505050565b610ece82610e91565b6000836001600160a01b031663bd02d0f5604051602001610f20906020808252601f908201527f4e41544956455f544f4b454e5f5452414e534645525f4741535f4c494d495400604082015260600190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401610f5491815260200190565b602060405180830381865afa158015610f71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9591906123ae565b90506000806000806000868887f190508015610fb2575050505050565b610fbd858585610fc4565b5050505050565b80600003610fd157505050565b610fda82610e91565b6000610fe58461040e565b9050806001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561102257600080fd5b505af1158015611036573d6000803e3d6000fd5b5050505050610b6584828585611162565b600080611053836113ac565b915091508015611077578160405162461bcd60e51b81526004016101509190612867565b610e118361143c565b6000816001600160a01b031663bd02d0f56040516020016110ba906020808252600590820152644e4f4e434560d81b604082015260600190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016110ee91815260200190565b602060405180830381865afa15801561110b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bb91906123ae565b60008282604051602001611144929190611e17565b60405160208183030381529060405280519060200120905092915050565b8015610b655761117182610e91565b6000846001600160a01b031663bd02d0f561118b86611445565b6040518263ffffffff1660e01b81526004016111a991815260200190565b602060405180830381865afa1580156111c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ea91906123ae565b90508060000361120f5783604051634fe14bfd60e11b81526004016101509190611642565b600061121d858585856114cd565b509050801561122d575050610b65565b6000866001600160a01b03166321f8a721604051602001611271906020808252600f908201526e484f4c44494e475f4144445245535360881b604082015260600190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016112a591815260200190565b602060405180830381865afa1580156112c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e69190611d1d565b90506001600160a01b03811661130f57604051633a6de2f560e21b815260040160405180910390fd5b60008061131e888488886114cd565b915091508115611332575050505050610b65565b600061133d826113ac565b5090507fc9f14d9a0a9b46470c7c0b6c508f8283abaab7f795f153953c58cd4250824dae818360405161137192919061287a565b60405180910390a160405163012f3b8f60e71b81526001600160a01b03808b1660048301528916602482015260448101889052606401610150565b606060006044835110156113d3575050604080516020810190915260008082529092909150565b60006113e0846020015190565b90506307b9e43360e51b6001600160e01b031982160161141f576004840193508380602001905181019061141491906128a8565b946001945092505050565b600060405180602001604052806000815250909250925050915091565b80518060208301fd5b6000604051602001611483906020808252601890820152771513d2d15397d514905394d1915497d1d054d7d31253525560421b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b03841690820152606001604051602081830303815290604052805190602001209050919050565b60006060600063a9059cbb60e01b86866040516024016114ee929190611e17565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050509050600080886001600160a01b0316868460405161153f9190612915565b60006040518083038160008787f1925050503d806000811461157d576040519150601f19603f3d011682016040523d82523d6000602084013e611582565b606091505b509150915081156116235780516000036115e0576001600160a01b0389163b6115e05760006040518060400160405280601481526020017310d85b1b081d1bc81b9bdb8b58dbdb9d1c9858dd60621b8152509450945050505061162c565b600081511180156116025750808060200190518101906116009190612931565b155b156116155760009450925061162c915050565b60019450925061162c915050565b60009450925050505b94509492505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561168e5761168e611656565b60405290565b604080519081016001600160401b038111828210171561168e5761168e611656565b60405161010081016001600160401b038111828210171561168e5761168e611656565b60405161014081016001600160401b038111828210171561168e5761168e611656565b604051601f8201601f191681016001600160401b038111828210171561172457611724611656565b604052919050565b60006001600160401b0382111561174557611745611656565b5060051b60200190565b6001600160a01b038116811461072957600080fd5b80356108f78161174f565b600082601f83011261178057600080fd5b813561179361178e8261172c565b6116fc565b8082825260208201915060208360051b8601019250858311156117b557600080fd5b602085015b838110156117db5780356117cd8161174f565b8352602092830192016117ba565b5095945050505050565b6000608082840312156117f757600080fd5b6117ff61166c565b905081356001600160401b0381111561181757600080fd5b6118238482850161176f565b82525060208201356001600160401b0381111561183f57600080fd5b8201601f8101841361185057600080fd5b803561185e61178e8261172c565b8082825260208201915060208360061b85010192508683111561188057600080fd5b6020840193505b828410156118c8576040848803121561189f57600080fd5b6118a7611694565b84358152602080860135818301529083526040909401939190910190611887565b60208501525050506040828101359082015260609182013591810191909152919050565b600080604083850312156118ff57600080fd5b8235915060208301356001600160401b0381111561191c57600080fd5b611928858286016117e5565b9150509250929050565b60006020828403121561194457600080fd5b5035919050565b60006020828403121561195d57600080fd5b81356001600160401b0381111561197357600080fd5b610e89848285016117e5565b6000806040838503121561199257600080fd5b823561199d8161174f565b946020939093013593505050565b600060e082840312156119bd57600080fd5b50919050565b6000602082840312156119d557600080fd5b81356001600160401b038111156119eb57600080fd5b610e89848285016119ab565b60008060208385031215611a0a57600080fd5b82356001600160401b03811115611a2057600080fd5b8301601f81018513611a3157600080fd5b80356001600160401b03811115611a4757600080fd5b8560208260051b8401011115611a5c57600080fd5b6020919091019590945092505050565b60005b83811015611a87578181015183820152602001611a6f565b50506000910152565b60008151808452611aa8816020860160208601611a6c565b601f01601f19169290920160200192915050565b600082825180855260208501945060208160051b8301016020850160005b83811015611b0c57601f19858403018852611af6838351611a90565b6020988901989093509190910190600101611ada565b50909695505050505050565b602081526000611b2b6020830184611abc565b9392505050565b60006001600160401b03821115611b4b57611b4b611656565b50601f01601f191660200190565b60008060008060808587031215611b6f57600080fd5b84356001600160401b03811115611b8557600080fd5b611b918782880161176f565b94505060208501356001600160401b03811115611bad57600080fd5b8501601f81018713611bbe57600080fd5b8035611bcc61178e8261172c565b8082825260208201915060208360051b850101925089831115611bee57600080fd5b602084015b83811015611c725780356001600160401b03811115611c1157600080fd5b8501603f81018c13611c2257600080fd5b6020810135611c3361178e82611b32565b8181526040838301018e1015611c4857600080fd5b81604084016020830137600060208383010152808652505050602083019250602081019050611bf3565b50955050505060408501356001600160401b03811115611c9157600080fd5b611c9d8782880161176f565b92505060608501356001600160401b03811115611cb957600080fd5b611cc58782880161176f565b91505092959194509250565b600080600060608486031215611ce657600080fd5b8335611cf18161174f565b92506020840135611d018161174f565b929592945050506040919091013590565b80516108f78161174f565b600060208284031215611d2f57600080fd5b8151611b2b8161174f565b600081518084526020840193506020830160005b82811015611d755781516001600160a01b0316865260209586019590910190600101611d4e565b5093949350505050565b828152604060208201526000825160806040840152611da160c0840182611d3a565b602085810151603f1986840301606087015280518084529082019350600092909101905b80831015611df5578351805183526020810151602084015250604082019150602084019350600183019250611dc5565b5060408601516080860152606086015160a08601528093505050509392505050565b6001600160a01b03929092168252602082015260400190565b600082601f830112611e4157600080fd5b8151611e4f61178e8261172c565b8082825260208201915060208360051b860101925085831115611e7157600080fd5b602085015b838110156117db578051611e898161174f565b835260209283019201611e76565b600060e08284031215611ea957600080fd5b60405160e081016001600160401b0381118282101715611ecb57611ecb611656565b604090815283518252602080850151908301528381015190820152606080840151908201526080808401519082015260a0808401519082015260c0928301519281019290925250919050565b801515811461072957600080fd5b600060208284031215611f3757600080fd5b604051602081016001600160401b0381118282101715611f5957611f59611656565b80604052508091508251611f6c81611f17565b905292915050565b600082601f830112611f8557600080fd5b8151611f9361178e8261172c565b8082825260208201915060208360051b860101925085831115611fb557600080fd5b602085015b838110156117db578051835260209283019201611fba565b600060208284031215611fe457600080fd5b81516001600160401b03811115611ffa57600080fd5b8201610140818503121561200d57600080fd5b61201561166c565b81516001600160401b0381111561202b57600080fd5b8201610100818703121561203e57600080fd5b6120466116b6565b61204f82611d12565b815261205d60208301611d12565b602082015261206e60408301611d12565b604082015261207f60608301611d12565b606082015261209060808301611d12565b60808201526120a160a08301611d12565b60a082015260c08201516001600160401b038111156120bf57600080fd5b6120cb88828501611e30565b60c08301525060e08201516001600160401b038111156120ea57600080fd5b6120f688828501611e30565b60e08301525082525061210c8560208401611e97565b602082015261211f856101008401611f25565b60408201526101208201516001600160401b0381111561213e57600080fd5b61214a86828501611f74565b606083015250949350505050565b6000808335601e1984360301811261216f57600080fd5b83016020810192503590506001600160401b0381111561218e57600080fd5b8060051b36038213156121a057600080fd5b9250929050565b81835260208301925060008160005b84811015611d755781356121c98161174f565b6001600160a01b0316865260209586019591909101906001016121b6565b600081356121f48161174f565b6001600160a01b03168352602082013561220d8161174f565b61221a6020850182611635565b5061222760408301611764565b6122346040850182611635565b5061224160608301611764565b61224e6060850182611635565b5061225b60808301611764565b6122686080850182611635565b5061227660a0830183612158565b60e060a086015261228b60e0860182846121a7565b91505061229b60c0840184612158565b85830360c08701526122ae8382846121a7565b9695505050505050565b80356108f781611f17565b81835260006001600160fb1b038311156122dc57600080fd5b8260051b80836020870137939093016020019392505050565b6001600160a01b03841681526020810183905260606040820152600082353684900360de1901811261232657600080fd5b60e0606084015261233d61014084018583016121e7565b60208501356080850152604085013560a0850152905061235f606085016122b8565b80151560c085015250608084013560e084015260a084013561010084015261238a60c0850185612158565b848303605f19016101208601526123a28382846122c3565b98975050505050505050565b6000602082840312156123c057600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126123f457600080fd5b8301803591506001600160401b0382111561240e57600080fd5b6020019150368190038213156121a057600080fd5b8183823760009101908152919050565b6080815260006124466080830187611d3a565b82810360208401526124588187611abc565b9050828103604084015261246c8186611d3a565b905082810360608401526124808185611d3a565b979650505050505050565b6000610100828403121561249e57600080fd5b6124a66116b6565b825181526020808401519082015260408084015190820152606080840151908201526080808401519082015260a0808401519082015260c0808401519082015260e0928301519281019290925250919050565b60006040828403121561250b57600080fd5b612513611694565b9050815161252081611f17565b8152602082015161253081611f17565b602082015292915050565b60006020828403121561254d57600080fd5b81516001600160401b0381111561256357600080fd5b8201610180818503121561257657600080fd5b61257e61166c565b81516001600160401b0381111561259457600080fd5b820161014081870312156125a757600080fd5b6125af6116d9565b6125b882611d12565b81526125c660208301611d12565b60208201526125d760408301611d12565b60408201526125e860608301611d12565b60608201526125f960808301611d12565b608082015261260a60a08301611d12565b60a082015261261b60c08301611d12565b60c082015261262c60e08301611d12565b60e08201526101008201516001600160401b0381111561264b57600080fd5b61265788828501611e30565b610100830152506101208201516001600160401b0381111561267857600080fd5b61268488828501611e30565b6101208301525082525061269b856020840161248b565b60208201526126ae8561012084016124f9565b60408201526101608201516001600160401b0381111561213e57600080fd5b6126df826126da83611764565b611635565b60006126ed60208301611764565b6126fa6020850182611635565b5061270760408301611764565b6127146040850182611635565b5061272160608301611764565b61272e6060850182611635565b5061273b60808301611764565b6127486080850182611635565b5061275560a08301611764565b61276260a0850182611635565b5061276f60c08301611764565b61277c60c0850182611635565b5061278a60e0830183612158565b61012060e08601526127a1610120860182846121a7565b9150506127b2610100840184612158565b8583036101008701526122ae8382846121a7565b6001600160a01b03841681526020810183905260606040820152600082353684900361011e190181126127f857600080fd5b60e0606084015261280f61014084018583016126cd565b6020850135608085810191909152604086013560a0860152606086013560c086015290915061283f9085016122b8565b151560e084015261285260a085016122b8565b151561010084015261238a60c0850185612158565b602081526000611b2b6020830184611a90565b60408152600061288d6040830185611a90565b828103602084015261289f8185611a90565b95945050505050565b6000602082840312156128ba57600080fd5b81516001600160401b038111156128d057600080fd5b8201601f810184136128e157600080fd5b80516128ef61178e82611b32565b81815285602083850101111561290457600080fd5b61289f826020830160208601611a6c565b60008251612927818460208701611a6c565b9190910192915050565b60006020828403121561294357600080fd5b8151611b2b81611f1756fea264697066735822122068e1f088c69080001b359c7da5e3b7b53d1f7284ea3a66aabd1c3b61bb6a4a0564736f6c634300081d00330000000000000000000000007452c558d45f8afc8c83dae62c3f8a5be19c71f60000000000000000000000003c3d99fd298f679dbc2cecd132b4ec4d0f5e6e72000000000000000000000000fd70de6b91282d8017aa4e741e9ae325cab992d8000000000000000000000000c8ee91a54287db53897056e12d9819156d3822fb000000000000000000000000feddb63759f275061ce088f51caff727fd782401000000000000000000000000694714ccdaff7ff13e1b9e2c68c324ef1b95e965000000000000000000000000389cef541397e872dc04421f166b5bc2e0b374a5