1 tx
10 calls
constructor
constructor(address _management, address _performanceFeeRecipient, address _keeper, address _sms, address _lendingPool, address _router, address _base)
functions
base
viewfunction base() view returns (address)
deployments
viewfunction deployments(address) view returns (address)
isDeployedStrategy
viewfunction isDeployedStrategy(address _strategy) view returns (bool)
keeper
viewfunction keeper() view returns (address)
lendingPool
viewfunction lendingPool() view returns (address)
management
viewfunction management() view returns (address)
performanceFeeRecipient
viewfunction performanceFeeRecipient() view returns (address)
router
viewfunction router() view returns (address)
sms
viewfunction sms() view returns (address)
newAaveV3Lender
nonpayablefunction newAaveV3Lender(address _asset) returns (address)
setAddresses
nonpayablefunction setAddresses(address _management, address _performanceFeeRecipient, address _keeper)
events
NewAaveV3Lender
event NewAaveV3Lender(address indexed strategy, address indexed asset)
errors
AlreadyDeployed
error AlreadyDeployed(address _strategy)
creation bytecode
0x61010060405234801561001157600080fd5b50604051620041fa380380620041fa833981016040819052610032916100a8565b600080546001600160a01b03199081166001600160a01b03998a1617909155600180548216978916979097179096556002805490961694871694909417909455908416608052831660a05290821660c0521660e05261012e565b80516001600160a01b03811681146100a357600080fd5b919050565b600080600080600080600060e0888a0312156100c357600080fd5b6100cc8861008c565b96506100da6020890161008c565b95506100e86040890161008c565b94506100f66060890161008c565b93506101046080890161008c565b925061011260a0890161008c565b915061012060c0890161008c565b905092959891949750929550565b60805160a05160c05160e051614076620001846000396000818161014c0152610487015260008181610217015261046601526000818161018801526104450152600081816101db015261061c01526140766000f3fe60806040523480156200001157600080fd5b5060043610620000b75760003560e01c8063a59a9973116200007a578063a59a99731462000182578063a840332714620001aa578063aced166114620001c1578063e436a60b14620001d5578063ed27f7c914620001fd578063f887ea40146200021157600080fd5b80630d00442414620000bc578063316b373914620000e8578063363bf964146200012d5780635001f3b5146200014657806388a8d602146200016e575b600080fd5b620000d3620000cd366004620007d4565b62000239565b60405190151581526020015b60405180910390f35b62000114620000f9366004620007d4565b6003602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620000df565b620001446200013e366004620007fb565b620002c9565b005b620001147f000000000000000000000000000000000000000000000000000000000000000081565b60005462000114906001600160a01b031681565b620001147f000000000000000000000000000000000000000000000000000000000000000081565b62000114620001bb366004620007d4565b62000356565b60025462000114906001600160a01b031681565b620001147f000000000000000000000000000000000000000000000000000000000000000081565b60015462000114906001600160a01b031681565b620001147f000000000000000000000000000000000000000000000000000000000000000081565b600080826001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a191906200084d565b6001600160a01b03908116600090815260036020526040902054811693169290921492915050565b6000546001600160a01b03163314620003175760405162461bcd60e51b815260206004820152600b60248201526a085b585b9859d95b595b9d60aa1b60448201526064015b60405180910390fd5b600080546001600160a01b039485166001600160a01b031991821617909155600180549385169382169390931790925560028054919093169116179055565b6001600160a01b0381811660009081526003602052604081205490911615620003b1576001600160a01b03828116600090815260036020526040908190205490516329ab51bf60e01b8152911660048201526024016200030e565b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620003f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200041c9190810190620008a9565b6040516020016200042e919062000962565b6040516020818303038152906040529050600083827f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051620004b490620007ad565b620004c4959493929190620009a5565b604051809103906000f080158015620004e1573d6000803e3d6000fd5b5060015460405163352f8d5160e11b81526001600160a01b039182166004820152919250821690636a5f1aa290602401600060405180830381600087803b1580156200052c57600080fd5b505af115801562000541573d6000803e3d6000fd5b5050600254604051633a43a3f360e11b81526001600160a01b039182166004820152908416925063748747e69150602401600060405180830381600087803b1580156200058d57600080fd5b505af1158015620005a2573d6000803e3d6000fd5b5050600054604051630f629b7960e41b81526001600160a01b039182166004820152908416925063f629b7909150602401600060405180830381600087803b158015620005ee57600080fd5b505af115801562000603573d6000803e3d6000fd5b5050604051630d768ce560e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152841692506335da33949150602401600060405180830381600087803b1580156200066b57600080fd5b505af115801562000680573d6000803e3d6000fd5b505060405163aa290e6d60e01b81526101f460048201526001600160a01b038416925063aa290e6d9150602401600060405180830381600087803b158015620006c857600080fd5b505af1158015620006dd573d6000803e3d6000fd5b5050604051636fb4d91560e11b81526203f48060048201526001600160a01b038416925063df69b22a9150602401600060405180830381600087803b1580156200072657600080fd5b505af11580156200073b573d6000803e3d6000fd5b50506040516001600160a01b038088169350841691507f0af7b0321568b9f79652baf50d0aa93f58f651114afc2d87fece680a6bbddd4990600090a36001600160a01b03938416600090815260036020526040902080546001600160a01b031916948216949094179093555090919050565b6136408062000a0183390190565b6001600160a01b0381168114620007d157600080fd5b50565b600060208284031215620007e757600080fd5b8135620007f481620007bb565b9392505050565b6000806000606084860312156200081157600080fd5b83356200081e81620007bb565b925060208401356200083081620007bb565b915060408401356200084281620007bb565b809150509250925092565b6000602082840312156200086057600080fd5b8151620007f481620007bb565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620008a057818101518382015260200162000886565b50506000910152565b600060208284031215620008bc57600080fd5b815167ffffffffffffffff80821115620008d557600080fd5b818401915084601f830112620008ea57600080fd5b815181811115620008ff57620008ff6200086d565b604051601f8201601f19908116603f011681019083821181831017156200092a576200092a6200086d565b816040528281528760208487010111156200094457600080fd5b6200095783602083016020880162000883565b979650505050505050565b67020b0bb32902b19960c51b8152600082516200098781600885016020870162000883565b66102632b73232b960c91b6008939091019283015250600f01919050565b600060018060a01b03808816835260a0602084015286518060a0850152620009d58160c0860160208b0162000883565b95811660408401529384166060830152509116608082015260c0601f909201601f191601019291505056fe610140604052600180546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2179091556002805490911673e592427a0aece92de3edee1f18e0157c058615641790556004805460ff60a81b1916600160a81b1790553480156200006d57600080fd5b506040516200364038038062003640833981016040819052620000909162000983565b6001600160a01b0385166080523060a05260405185908590620000f990620000c5908490849033908190819060240162000ab9565b60408051601f198184030181529190526020810180516001600160e01b03908116634b839d7360e11b17909152620004b416565b505073d377919fa87120584b21279a491f82d5265a139c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55506001600160a01b03831660e081905260408051630150a5d760e21b81529051630542975c916004808201926020929091908290030181865afa1580156200017e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a4919062000afc565b6001600160a01b031663e860accb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000208919062000afc565b60405163f7e1430760e01b81526001600160a01b038781166004830152919091169063f7e1430790602401602060405180830381865afa15801562000251573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000277919062000b1c565b620002b75760405162461bcd60e51b815260206004820152600b60248201526a217669727475616c41636360a81b60448201526064015b60405180910390fd5b60e05160405163cff027d960e01b81526001600160a01b0387811660048301529091169063cff027d990602401602060405180830381865afa15801562000302573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000328919062000afc565b6001600160a01b03166101208190526200036f5760405162461bcd60e51b815260206004820152600760248201526610b0aa37b5b2b760c91b6044820152606401620002ae565b610120516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d7919062000b40565b60ff1660c08181525050610120516001600160a01b03166375d264136040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000423573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000449919062000afc565b6001600160a01b039081166101005260e0516080516200047a92169060001962000548602090811b620010c017901c565b60008055600280546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790555062000bb2915050565b606060008073d377919fa87120584b21279a491f82d5265a139c6001600160a01b031684604051620004e7919062000b65565b600060405180830381855af49150503d806000811462000524576040519150601f19603f3d011682016040523d82523d6000602084013e62000529565b606091505b50915091508162000541576040513d806000833e8082fd5b9392505050565b801580620005c65750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156200059e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005c4919062000b83565b155b6200063a5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401620002ae565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620006929185916200069716565b505050565b6000620006f3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200077860201b62001208179092919060201c565b90508051600014806200071757508080602001905181019062000717919062000b1c565b620006925760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620002ae565b606062000789848460008562000791565b949350505050565b606082471015620007f45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620002ae565b600080866001600160a01b0316858760405162000812919062000b65565b60006040518083038185875af1925050503d806000811462000851576040519150601f19603f3d011682016040523d82523d6000602084013e62000856565b606091505b5090925090506200086a8783838762000875565b979650505050505050565b60608315620008e9578251600003620008e1576001600160a01b0385163b620008e15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620002ae565b508162000789565b620007898383815115620009005781518083602001fd5b8060405162461bcd60e51b8152600401620002ae919062000b9d565b6001600160a01b03811681146200093257600080fd5b50565b805162000942816200091c565b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200097a57818101518382015260200162000960565b50506000910152565b600080600080600060a086880312156200099c57600080fd5b8551620009a9816200091c565b60208701519095506001600160401b0380821115620009c757600080fd5b818801915088601f830112620009dc57600080fd5b815181811115620009f157620009f162000947565b604051601f8201601f19908116603f0116810190838211818310171562000a1c5762000a1c62000947565b816040528281528b602084870101111562000a3657600080fd5b62000a498360208301602088016200095d565b809850505050505062000a5f6040870162000935565b925062000a6f6060870162000935565b915062000a7f6080870162000935565b90509295509295909350565b6000815180845262000aa58160208601602086016200095d565b601f01601f19169290920160200192915050565b600060018060a01b03808816835260a0602084015262000add60a084018862000a8b565b9581166040840152938416606083015250911660809091015292915050565b60006020828403121562000b0f57600080fd5b815162000541816200091c565b60006020828403121562000b2f57600080fd5b815180151581146200054157600080fd5b60006020828403121562000b5357600080fd5b815160ff811681146200054157600080fd5b6000825162000b798184602087016200095d565b9190910192915050565b60006020828403121562000b9657600080fd5b5051919050565b60208152600062000541602083018462000a8b565b60805160a05160c05160e051610100516101205161297362000ccd6000396000818161041201528181610af7015281816114be015281816115e201528181611722015281816119e30152611b400152600081816103a90152611a3d0152600081816104390152818161057c015281816106e5015281816109b1015281816112610152818161146e01526116b2015260006113ea01526000818161063301528181610770015281816108060152818161089901528181610ea70152610f3d01526000818161054b015281816106b60152818161098401528181610a8201528181610e1701528181610fb0015281816112360152818161149801528181611676015281816116e501528181611b050152611c4901526129736000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80635e311fa51161010f578063a98f9296116100a2578063f3ce280a11610071578063f3ce280a146104b7578063f887ea40146104fb578063fc7f71b61461050e578063fde813a814610521576101f0565b8063a98f92961461045b578063abf4fde41461046e578063b8c6f57914610489578063d19a3bb81461049c576101f0565b806384d78a38116100de57806384d78a38146103e65780639d7fb70c146103fa578063a0c1f15e1461040d578063a59a997314610434576101f0565b80635e311fa5146103845780636bb65f53146103a4578063797bf343146103cb5780637d9f6db5146103d3576101f0565b80633d6cb575116101875780635001f3b5116101565780635001f3b514610308578063503160d9146103335780635d265d3f146103465780635d6297b11461037c576101f0565b80633d6cb575146102c757806346aa2f12146102da57806349317f1d146102ed5780634aca9482146102f5576101f0565b806320aa49ae116101c357806320aa49ae1461026a578063227b9f5a1461027d5780632e3ecf2c14610290578063372500ab146102a3576101f0565b806304bd46291461022b57806318144367146102515780631e17d9671461025a5780632036181414610262575b73d377919fa87120584b21279a491f82d5265a139c3660008037600080366000845af43d6000803e808015610224573d6000f35b3d6000fd5b005b61023e6102393660046122a5565b610534565b6040519081526020015b60405180910390f35b61023e60005481565b61022961061e565b61023e61069f565b6102296102783660046122d0565b61075b565b61022961028b3660046122ed565b6107f1565b61022961029e366004612319565b610884565b6004546102b790600160a01b900460ff1681565b6040519015158152602001610248565b6102296102d536600461236c565b610959565b61023e6102e83660046122a5565b61096d565b61023e610b9e565b61023e6103033660046122a5565b610bb0565b60015461031b906001600160a01b031681565b6040516001600160a01b039091168152602001610248565b61022961034136600461236c565b610c21565b60408051600481526024810182526020810180516001600160e01b031663440368a360e01b1790529051610248916000916123d5565b6102b7610c32565b61023e6103923660046122a5565b60056020526000908152604090205481565b61031b7f000000000000000000000000000000000000000000000000000000000000000081565b61023e610dff565b60045461031b906001600160a01b031681565b6004546102b790600160a81b900460ff1681565b61022961040836600461236c565b610e8a565b61031b7f000000000000000000000000000000000000000000000000000000000000000081565b61031b7f000000000000000000000000000000000000000000000000000000000000000081565b6102296104693660046122d0565b610e92565b61031b73cfa510188884f199fcc6e750764faabe6e56ec4081565b6102296104973660046122a5565b610f28565b61031b73d377919fa87120584b21279a491f82d5265a139c81565b6104e76104c53660046123f0565b600360209081526000928352604080842090915290825290205462ffffff1681565b60405162ffffff9091168152602001610248565b60025461031b906001600160a01b031681565b61023e61051c3660046122a5565b6110a4565b61022961052f36600461236c565b6110af565b60405163c44b11f760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182916105f5917f00000000000000000000000000000000000000000000000000000000000000009091169063c44b11f790602401602060405180830381865afa1580156105c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e99190612470565b516001603c1b16151590565b6106045761060161121f565b90505b8061060d610dff565b61061791906124c8565b9392505050565b60405163d43fdcf760e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d43fdcf79060240160006040518083038186803b15801561067d57600080fd5b505afa158015610691573d6000803e3d6000fd5b5050505061069d6112dc565b565b60405163c44b11f760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600091610756917f0000000000000000000000000000000000000000000000000000000000000000169063c44b11f790602401602060405180830381865afa15801561072c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107509190612470565b516113d7565b905090565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b1580156107ba57600080fd5b505afa1580156107ce573d6000803e3d6000fd5b505060048054931515600160a81b0260ff60a81b19909416939093179092555050565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b15801561085057600080fd5b505afa158015610864573d6000803e3d6000fd5b5050506001600160a01b0390921660009081526005602052604090205550565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b1580156108e357600080fd5b505afa1580156108f7573d6000803e3d6000fd5b5050506001600160a01b0380851660008181526003602081815260408084209589168452948152848320805462ffffff1990811662ffffff8a16908117909255928252858420948452939052929020805490921617905550505050565b505050565b61096161141a565b61096a81611451565b50565b60405163c44b11f760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063c44b11f790602401602060405180830381865afa1580156109f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1c9190612470565b5190506001603c1b8116151580610a3c5750670200000000000000811615155b15610a4a5750600092915050565b6000610a55826113d7565b905080600003610a6a57506000199392505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610ad1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af591906124db565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7791906124db565b610b8191906124c8565b9050808211610b9557506000949350505050565b90039392505050565b6000610ba861141a565b6107566115a8565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1b91906124db565b92915050565b610c2961141a565b61096a8161165f565b600046600114610c425750600090565b60405163091030c360e01b8152306004820152600090734da27a545c0c5b758a6ba100e3a049001de870f59063091030c3906024016040805180830381865afa158015610c93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb791906124f4565b5164ffffffffff1690506000819003610cd257600091505090565b6000734da27a545c0c5b758a6ba100e3a049001de870f56001600160a01b031663616e0bf96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4a91906124db565b90506000734da27a545c0c5b758a6ba100e3a049001de870f56001600160a01b031663359c4a966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc491906124db565b9050610dd082846124c8565b4210610df55780610de183856124c8565b610deb9042612569565b1115935050505090565b6000935050505090565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075691906124db565b61096a61141a565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b158015610ef157600080fd5b505afa158015610f05573d6000803e3d6000fd5b505060048054931515600160a01b0260ff60a01b19909416939093179092555050565b6040516320b8029160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906382e00a449060240160006040518083038186803b158015610f8757600080fd5b505afa158015610f9b573d6000803e3d6000fd5b505050506001600160a01b03811615611082577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316631f1fcd516040518163ffffffff1660e01b8152600401602060405180830381865afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a919061257c565b6001600160a01b0316146110825760405162461bcd60e51b815260206004820152600a6024820152691ddc9bdb99c81dd85b9d60b21b60448201526064015b60405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610c1b826116e1565b6110b761141a565b61096a81610961565b80158061113a5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906124db565b155b6111a55760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401611079565b6040516001600160a01b03831660248201526044810182905261095490849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526117f1565b606061121784846000856118c6565b949350505050565b6040516337d83fcb60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690636fb07f9690602401602060405180830381865afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ce9190612599565b6001600160801b0316905090565b6112e4610c32565b6112ea57565b6040516370a0823160e01b8152306004820152600090734da27a545c0c5b758a6ba100e3a049001de870f5906370a0823190602401602060405180830381865afa15801561133c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136091906124db565b9050801561096a576040516301e9a69560e41b815230600482015260248101829052734da27a545c0c5b758a6ba100e3a049001de870f590631e9a6950906044015b600060405180830381600087803b1580156113bc57600080fd5b505af11580156113d0573d6000803e3d6000fd5b5050505050565b6000640fffffffff607483901c166114107f0000000000000000000000000000000000000000000000000000000000000000600a6126a6565b61061790826126b2565b33301461069d5760405162461bcd60e51b815260206004820152600560248201526410b9b2b63360d91b6044820152606401611079565b6040516370a0823160e01b81523060048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916369328dec917f00000000000000000000000000000000000000000000000000000000000000009161152f917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611505573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152991906124db565b856119a1565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201523060448201526064016020604051808303816000875af1158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a491906124db565b5050565b600454600090600160a01b900460ff16156115c5576115c56119b7565b6115cd610dff565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611631573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165591906124db565b61075691906124c8565b60405163617ba03760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201839052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084016113a2565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415801561175757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b61178b5760405162461bcd60e51b8152602060048201526005602482015264185cdcd95d60da1b6044820152606401611079565b61179482611c8a565b6001600160a01b0383166000908152600560205260409020549091508110156117ec5760405162461bcd60e51b815260206004820152600a602482015269746f6f206c6974746c6560b01b6044820152606401611079565b919050565b6000611846826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112089092919063ffffffff16565b905080516000148061186757508080602001905181019061186791906126c9565b6109545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611079565b6060824710156119275760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401611079565b600080866001600160a01b0316858760405161194391906126e6565b60006040518083038185875af1925050503d8060008114611980576040519150601f19603f3d011682016040523d82523d6000602084013e611985565b606091505b509150915061199687838387611d86565b979650505050505050565b60008183106119b05781610617565b5090919050565b6119bf6112dc565b604080516001808252818301909252600091602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110611a1557611a15612702565b6001600160a01b039283166020918202929092010152604051635fc87b1d60e11b81526000917f0000000000000000000000000000000000000000000000000000000000000000169063bf90f63a90611a72908590600401612718565b6000604051808303816000875af1158015611a91573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ab991908101906127f4565b509050611ac4611dff565b600454600160a81b900460ff1615611ada575050565b6000805b8251811015611c8457828181518110611af957611af9612702565b602002602001015191507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611b7457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611c7457734da27a545c0c5b758a6ba100e3a049001de870f4196001600160a01b03831601611bb557737fc66500c84a76ad7e9c93437bfc5ac33e2ddae991505b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015611bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2091906124db565b6001600160a01b038416600090815260056020526040902054909150811115611c7257611c70837f0000000000000000000000000000000000000000000000000000000000000000836000611ee8565b505b505b611c7d816128b9565b9050611ade565b50505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038416906370a0823190602401602060405180830381865afa158015611cd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf791906124db565b600454909150611d14906001600160a01b03858116911683612194565b600480546040516396c5517560e01b81526001600160a01b03868116938201939093529116906396c55175906024016020604051808303816000875af1158015611d62573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061791906124db565b60608315611df5578251600003611dee576001600160a01b0385163b611dee5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611079565b5081611217565b61121783836121c4565b46600114611e0957565b6040516370a0823160e01b8152306004820152600090734da27a545c0c5b758a6ba100e3a049001de870f5906370a0823190602401602060405180830381865afa158015611e5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7f91906124db565b111561069d57734da27a545c0c5b758a6ba100e3a049001de870f56001600160a01b031663787a08a66040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611ed457600080fd5b505af1158015611c84573d6000803e3d6000fd5b60008215801590611efb57506000548310155b1561121757600254611f17906001600160a01b031686856121ee565b6001546001600160a01b0386811691161480611f4057506001546001600160a01b038581169116145b1561205a5760408051610100810182526001600160a01b0387811680835287821660208085018281526000938452600382528684209284529190528482205462ffffff9081168587019081523060608701908152426080880190815260a088018c815260c089018c815260e08a019788526002549a5163414bf38960e01b81528a518a16600482015296518916602488015293519094166044860152905186166064850152516084840152905160a48301525160c48201529051821660e48201529192169063414bf38990610104016020604051808303816000875af115801561202e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205291906124db565b915050611217565b6001600160a01b0385811660009081526003602081815260408084206001548087168652908352818520549383528185208a8716865283529381902054815160608c811b6bffffffffffffffffffffffff199081169583019590955260e895861b6001600160e81b0319908116603484015296811b851660378301529190941b909416604b8401529288901b16604e8201528151604281830301815260025461010283018452606283018281523060828501524260a285015260c2840189905260e2909301879052925163c04b8d5960e01b81529093929092169163c04b8d5991612147916004016128d2565b6020604051808303816000875af1158015612166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218a91906124db565b9695505050505050565b6040516001600160a01b03831660248201526044810182905261095490849063a9059cbb60e01b906064016111d1565b8151156121d45781518083602001fd5b8060405162461bcd60e51b8152600401611079919061292a565b604051636eb1769f60e11b81523060048201526001600160a01b03848116602483015282919084169063dd62ed3e90604401602060405180830381865afa15801561223d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226191906124db565b10156109545761227c6001600160a01b0383168460006110c0565b6109546001600160a01b03831684836110c0565b6001600160a01b038116811461096a57600080fd5b6000602082840312156122b757600080fd5b813561061781612290565b801515811461096a57600080fd5b6000602082840312156122e257600080fd5b8135610617816122c2565b6000806040838503121561230057600080fd5b823561230b81612290565b946020939093013593505050565b60008060006060848603121561232e57600080fd5b833561233981612290565b9250602084013561234981612290565b9150604084013562ffffff8116811461236157600080fd5b809150509250925092565b60006020828403121561237e57600080fd5b5035919050565b60005b838110156123a0578181015183820152602001612388565b50506000910152565b600081518084526123c1816020860160208601612385565b601f01601f19169290920160200192915050565b821515815260406020820152600061121760408301846123a9565b6000806040838503121561240357600080fd5b823561240e81612290565b9150602083013561241e81612290565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561246857612468612429565b604052919050565b60006020828403121561248257600080fd5b6040516020810181811067ffffffffffffffff821117156124a5576124a5612429565b6040529151825250919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c1b57610c1b6124b2565b6000602082840312156124ed57600080fd5b5051919050565b60006040828403121561250657600080fd5b6040516040810181811067ffffffffffffffff8211171561252957612529612429565b604052825164ffffffffff8116811461254157600080fd5b815260208301516001600160d81b038116811461255d57600080fd5b60208201529392505050565b81810381811115610c1b57610c1b6124b2565b60006020828403121561258e57600080fd5b815161061781612290565b6000602082840312156125ab57600080fd5b81516001600160801b038116811461061757600080fd5b600181815b808511156125fd5781600019048211156125e3576125e36124b2565b808516156125f057918102915b93841c93908002906125c7565b509250929050565b60008261261457506001610c1b565b8161262157506000610c1b565b816001811461263757600281146126415761265d565b6001915050610c1b565b60ff841115612652576126526124b2565b50506001821b610c1b565b5060208310610133831016604e8410600b8410161715612680575081810a610c1b565b61268a83836125c2565b806000190482111561269e5761269e6124b2565b029392505050565b60006106178383612605565b8082028115828204841417610c1b57610c1b6124b2565b6000602082840312156126db57600080fd5b8151610617816122c2565b600082516126f8818460208701612385565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156127595783516001600160a01b031683529284019291840191600101612734565b50909695505050505050565b600067ffffffffffffffff82111561277f5761277f612429565b5060051b60200190565b600082601f83011261279a57600080fd5b815160206127af6127aa83612765565b61243f565b82815260059290921b840181019181810190868411156127ce57600080fd5b8286015b848110156127e957805183529183019183016127d2565b509695505050505050565b6000806040838503121561280757600080fd5b825167ffffffffffffffff8082111561281f57600080fd5b818501915085601f83011261283357600080fd5b815160206128436127aa83612765565b82815260059290921b8401810191818101908984111561286257600080fd5b948201945b8386101561288957855161287a81612290565b82529482019490820190612867565b918801519196509093505050808211156128a257600080fd5b506128af85828601612789565b9150509250929050565b6000600182016128cb576128cb6124b2565b5060010190565b602081526000825160a060208401526128ee60c08401826123a9565b905060018060a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b60208152600061061760208301846123a956fea2646970667358221220dc75bbe8f16446617a2b42128a9861fbd40ccfcead1dab6bd4d40a5fcf38f68664736f6c63430008120033a26469706673582212209cb6e9adca1dc80b96e80e297f3aee4527c5d5984fb9e9cdb9d52683158e643564736f6c6343000812003300000000000000000000000016388463d60ffe0661cf7f1f31a7d658ac790ff700000000000000000000000016388463d60ffe0661cf7f1f31a7d658ac790ff700000000000000000000000052605bbf54845f520a3e94792d019f62407db2f80000000000000000000000002a10f17858852549643aba55b8a5afe46c8527d700000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2