1 tx
2 calls
constructor
constructor(address pool_, address swapper_, address receiptToken_, string name_)
functions
collateral
viewfunction collateral() view returns (address)
collateralToken
viewfunction collateralToken() view returns (address)
feeCollector
viewfunction feeCollector() view returns (address)
governor
viewfunction governor() view returns (address)
isReservedToken
viewfunction isReservedToken(address token_) view returns (bool)
keepers
viewfunction keepers() view returns (address[])
metaMorpho
viewfunction metaMorpho() view returns (address)
NAME
viewfunction NAME() view returns (string)
pool
viewfunction pool() view returns (address)
receiptToken
viewfunction receiptToken() view returns (address)
swapper
viewfunction swapper() view returns (address)
token
viewfunction token() view returns (address)
tvl
viewfunction tvl() view returns (uint256)
VERSION
viewfunction VERSION() view returns (string)
addKeeper
nonpayablefunction addKeeper(address _keeperAddress)
approveToken
nonpayablefunction approveToken(uint256 _approvalAmount)
claimAndSwapRewards
nonpayablefunction claimAndSwapRewards(uint256 _minAmountOut) returns (uint256 _amountOut)
migrate
nonpayablefunction migrate(address _newStrategy)
rebalance
nonpayablefunction rebalance() returns (uint256 _profit, uint256 _loss, uint256 _payback)
removeKeeper
nonpayablefunction removeKeeper(address _keeperAddress)
swapToCollateral
nonpayablefunction swapToCollateral(address _tokenIn, uint256 _minAmountOut) returns (uint256 _amountOut)
sweep
nonpayablefunction sweep(address _fromToken)
updateFeeCollector
nonpayablefunction updateFeeCollector(address _feeCollector)
updateSwapper
nonpayablefunction updateSwapper(address _swapper)
withdraw
nonpayablefunction withdraw(uint256 _amount)
events
UpdatedFeeCollector
event UpdatedFeeCollector(address indexed previousFeeCollector, address indexed newFeeCollector)
UpdatedSwapper
event UpdatedSwapper(address indexed oldSwapper, address indexed newSwapper)
errors
AddressIsNull
error AddressIsNull()
InvalidVault
error InvalidVault()
creation bytecode
0x60e06040523480156200001157600080fd5b5060405162003510380380620035108339810160408190526200003491620004c7565b8383836001600160a01b038316620000935760405162461bcd60e51b815260206004820152601460248201527f706f6f6c2d616464726573732d69732d7a65726f00000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038216620000eb5760405162461bcd60e51b815260206004820152601760248201527f737761707065722d616464726573732d69732d7a65726f00000000000000000060448201526064016200008a565b600280546001600160a01b0319166001600160a01b0384811691909117909155831660a081905260408051637e062a3560e11b8152905163fc0c546a91600480820192602092909190829003018186803b1580156200014957600080fd5b505afa1580156200015e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001849190620005e5565b6001600160a01b03908116608052600080546001600160a01b031916918316919091179055620001cb620001b53390565b60036200038060201b62001b9b1790919060201c565b6200020d5760405162461bcd60e51b81526020600482015260116024820152701859190b5ad9595c195c8b59985a5b1959607a1b60448201526064016200008a565b5050506001600160a01b038216620002385760405163fb7566d760e01b815260040160405180910390fd5b836001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200027257600080fd5b505afa15801562000287573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ad9190620005e5565b6001600160a01b0316826001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b158015620002f057600080fd5b505afa15801562000305573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032b9190620005e5565b6001600160a01b0316146200035357604051630681d31960e51b815260040160405180910390fd5b6001600160a01b03821660c052805162000375906005906020840190620003f2565b505050505062000649565b600062000397836001600160a01b038416620003a0565b90505b92915050565b6000818152600183016020526040812054620003e9575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200039a565b5060006200039a565b82805462000400906200060c565b90600052602060002090601f0160209004810192826200042457600085556200046f565b82601f106200043f57805160ff19168380011785556200046f565b828001600101855582156200046f579182015b828111156200046f57825182559160200191906001019062000452565b506200047d92915062000481565b5090565b5b808211156200047d576000815560010162000482565b6001600160a01b0381168114620004ae57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215620004de57600080fd5b8451620004eb8162000498565b80945050602080860151620005008162000498565b6040870151909450620005138162000498565b60608701519093506001600160401b03808211156200053157600080fd5b818801915088601f8301126200054657600080fd5b8151818111156200055b576200055b620004b1565b604051601f8201601f19908116603f01168101908382118183101715620005865762000586620004b1565b816040528281528b868487010111156200059f57600080fd5b600093505b82841015620005c35784840186015181850187015292850192620005a4565b82841115620005d55760008684830101525b989b979a50959850505050505050565b600060208284031215620005f857600080fd5b8151620006058162000498565b9392505050565b600181811c908216806200062157607f821691505b602082108114156200064357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051612d786200079860003960008181610299015281816103520152818161057c0152818161182801528181611dc401528181611e6901528181611f3b015281816123c3015261291a01526000818161021b015281816106cb0152818161093f01528181610a8801528181610bcf01528181610ca401528181610d5701528181610f9f0152818161106c0152818161128e0152818161149c01528181611f86015281816120230152818161228901526128d301526000818161032b015281816103c2015281816104fa015281816107c70152818161086201528181610b1501528181610bad01528181610c1b01528181610cd701528181611212015281816116c0015281816117a6015281816118b201528181611a8001528181611abe01528181611f19015281816120c0015281816121b00152818161230501526128b10152612d786000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c8063a3f4df7e116100ee578063d3033c3911610097578063ec78e83211610071578063ec78e832146103ee578063ee330ee314610401578063fc0c546a14610414578063ffa1ad741461042557600080fd5b8063d3033c39146103ad578063d8dfeb45146103c0578063e5328e06146103e657600080fd5b8063c415b95c116100c8578063c415b95c14610374578063ce5494bb14610387578063d2c35ce81461039a57600080fd5b8063a3f4df7e14610311578063b2016bd414610326578063b6042b341461034d57600080fd5b80632e1a7d4d11610150578063440d72481161012a578063440d7248146102895780637d7c2a1c146102d9578063951dc22c146102fc57600080fd5b80632e1a7d4d146102505780633ac9fc11146102635780634032b72b1461027657600080fd5b806314ae9f2e1161018157806314ae9f2e1461020357806316f0115b146102165780632b3297f91461023d57600080fd5b806301681a62146101a85780630c340a24146101bd5780631026013a146101e2575b600080fd5b6101bb6101b6366004612b1a565b610449565b005b6101c56106c7565b6040516001600160a01b0390911681526020015b60405180910390f35b6101f56101f0366004612b37565b61075f565b6040519081526020016101d9565b6101bb610211366004612b1a565b61093d565b6101c57f000000000000000000000000000000000000000000000000000000000000000081565b6002546101c5906001600160a01b031681565b6101bb61025e366004612b37565b610a85565b6101bb610271366004612b37565b610cfe565b6101bb610284366004612b1a565b610d55565b6102c9610297366004612b1a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b60405190151581526020016101d9565b6102e1610e9d565b604080519384526020840192909252908201526060016101d9565b610304610f02565b6040516101d99190612b50565b610319610f0e565b6040516101d99190612bc9565b6101c57f000000000000000000000000000000000000000000000000000000000000000081565b6101c57f000000000000000000000000000000000000000000000000000000000000000081565b6001546101c5906001600160a01b031681565b6101bb610395366004612b1a565b610f9c565b6101bb6103a8366004612b1a565b61128c565b6101bb6103bb366004612b1a565b61149a565b7f00000000000000000000000000000000000000000000000000000000000000006101c5565b6101f56116a8565b6000546101c5906001600160a01b031681565b6101f561040f366004612bfc565b611754565b6000546001600160a01b03166101c5565b610319604051806040016040528060058152602001640352e312e360dc1b81525081565b610456335b600390611bb9565b6104a05760405162461bcd60e51b815260206004820152601660248201527531b0b63632b916b4b996b737ba16b096b5b2b2b832b960511b60448201526064015b60405180910390fd5b6001546001600160a01b03166104f85760405162461bcd60e51b815260206004820152601560248201527f6665652d636f6c6c6563746f722d6e6f742d73657400000000000000000000006044820152606401610497565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316141561057a5760405162461bcd60e51b815260206004820152601f60248201527f6e6f742d616c6c6f7765642d746f2d73776565702d636f6c6c61746572616c006044820152606401610497565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811690821614156105ee5760405162461bcd60e51b815260206004820152601460248201527306e6f742d616c6c6f7765642d746f2d73776565760641b6044820152606401610497565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561062c57600154610629906001600160a01b031647611bdb565b50565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b15801561066e57600080fd5b505afa158015610682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a69190612c28565b6001549091506106c3906001600160a01b03848116911683611cf9565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b15801561072257600080fd5b505afa158015610736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075a9190612c41565b905090565b600061076a3361044e565b6107af5760405162461bcd60e51b815260206004820152601660248201527531b0b63632b916b4b996b737ba16b096b5b2b2b832b960511b6044820152606401610497565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108499190612c28565b90506040516370a0823160e01b815230600482015281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b1580156108ac57600080fd5b505afa1580156108c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e49190612c28565b6108ee9190612c74565b9150828210156109375760405162461bcd60e51b81526020600482015260146024820152731b9bdd0b595b9bdd59da0b585b5bdd5b9d13dd5d60621b6044820152606401610497565b50919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce9190612c41565b6001600160a01b0316336001600160a01b031614610a2e5760405162461bcd60e51b815260206004820152601a60248201527f63616c6c65722d69732d6e6f742d7468652d676f7665726e6f720000000000006044820152606401610497565b610a39600382611d89565b6106295760405162461bcd60e51b815260206004820152601460248201527f72656d6f76652d6b65657065722d6661696c65640000000000000000000000006044820152606401610497565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610afd5760405162461bcd60e51b815260206004820152601960248201527f63616c6c65722d69732d6e6f742d7665737065722d706f6f6c000000000000006044820152606401610497565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b158015610b5f57600080fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b979190612c28565b9050818110610bf4576106c36001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000084611cf9565b610c06610c018284612c74565b611d9e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b158015610c6557600080fd5b505afa158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190612c28565b90506106c37f0000000000000000000000000000000000000000000000000000000000000000610ccd8484611eed565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611cf9565b610d073361044e565b610d4c5760405162461bcd60e51b815260206004820152601660248201527531b0b63632b916b4b996b737ba16b096b5b2b2b832b960511b6044820152606401610497565b61062981611f03565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b158015610dae57600080fd5b505afa158015610dc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de69190612c41565b6001600160a01b0316336001600160a01b031614610e465760405162461bcd60e51b815260206004820152601a60248201527f63616c6c65722d69732d6e6f742d7468652d676f7665726e6f720000000000006044820152606401610497565b610e51600382611b9b565b6106295760405162461bcd60e51b815260206004820152601160248201527f6164642d6b65657065722d6661696c65640000000000000000000000000000006044820152606401610497565b60008080610eaa3361044e565b610eef5760405162461bcd60e51b815260206004820152601660248201527531b0b63632b916b4b996b737ba16b096b5b2b2b832b960511b6044820152606401610497565b610ef7611f60565b925092509250909192565b606061075a6003612397565b60058054610f1b90612c8b565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4790612c8b565b8015610f945780601f10610f6957610100808354040283529160200191610f94565b820191906000526020600020905b815481529060010190602001808311610f7757829003601f168201915b505050505081565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146110145760405162461bcd60e51b815260206004820152601960248201527f63616c6c65722d69732d6e6f742d7665737065722d706f6f6c000000000000006044820152606401610497565b6001600160a01b03811661106a5760405162461bcd60e51b815260206004820152601c60248201527f6e65772d73747261746567792d616464726573732d69732d7a65726f000000006044820152606401610497565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03166316f0115b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110cd57600080fd5b505afa1580156110e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111059190612c41565b6001600160a01b03161461115b5760405162461bcd60e51b815260206004820152601660248201527f6e6f742d76616c69642d6e65772d7374726174656779000000000000000000006044820152606401610497565b6000546040516370a0823160e01b81523060048201526111ef9183916001600160a01b03909116906370a082319060240160206040518083038186803b1580156111a457600080fd5b505afa1580156111b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111dc9190612c28565b6000546001600160a01b03169190611cf9565b6040516370a0823160e01b81523060048201526106299082906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319060240160206040518083038186803b15801561125457600080fd5b505afa158015611268573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccd9190612c28565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b1580156112e557600080fd5b505afa1580156112f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131d9190612c41565b6001600160a01b0316336001600160a01b03161461137d5760405162461bcd60e51b815260206004820152601a60248201527f63616c6c65722d69732d6e6f742d7468652d676f7665726e6f720000000000006044820152606401610497565b6001600160a01b0381166113d35760405162461bcd60e51b815260206004820152601d60248201527f6665652d636f6c6c6563746f722d616464726573732d69732d7a65726f0000006044820152606401610497565b6001546001600160a01b03828116911614156114315760405162461bcd60e51b815260206004820152601560248201527f6665652d636f6c6c6563746f722d69732d73616d6500000000000000000000006044820152606401610497565b6001546040516001600160a01b038084169216907f0f06062680f9bd68e786e9980d9bb03d73d5620fc3b345e417b6eacb310b970690600090a36001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b1580156114f357600080fd5b505afa158015611507573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152b9190612c41565b6001600160a01b0316336001600160a01b03161461158b5760405162461bcd60e51b815260206004820152601a60248201527f63616c6c65722d69732d6e6f742d7468652d676f7665726e6f720000000000006044820152606401610497565b6001600160a01b0381166115e15760405162461bcd60e51b815260206004820152601760248201527f737761707065722d616464726573732d69732d7a65726f0000000000000000006044820152606401610497565b6002546001600160a01b038281169116141561163f5760405162461bcd60e51b815260206004820152600f60248201527f737761707065722d69732d73616d6500000000000000000000000000000000006044820152606401610497565b6002546040516001600160a01b038084169216907f6c953b7ec311055c20b96a42cea31e89528e375b1bf953a503db40854b3188fe90600090a36002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561170a57600080fd5b505afa15801561171e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117429190612c28565b61174a6123ab565b61075a9190612cc0565b600061175f3361044e565b6117a45760405162461bcd60e51b815260206004820152601660248201527531b0b63632b916b4b996b737ba16b096b5b2b2b832b960511b6044820152606401610497565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614156118265760405162461bcd60e51b815260206004820152601f60248201527f6e6f742d616c6c6f7765642d746f2d73776565702d636f6c6c61746572616c006044820152606401610497565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116908416141561189a5760405162461bcd60e51b815260206004820152601460248201527306e6f742d616c6c6f7765642d746f2d73776565760641b6044820152606401610497565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b1580156118fc57600080fd5b505afa158015611910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119349190612c28565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038616906370a082319060240160206040518083038186803b15801561197957600080fd5b505afa15801561198d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b19190612c28565b90508015611aa757600254604051636eb1769f60e11b81523060048201526001600160a01b0391821660248201529086169063dd62ed3e9060440160206040518083038186803b158015611a0457600080fd5b505afa158015611a18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3c9190612c28565b811115611a7a57600254611a5e906001600160a01b03878116911660006124bb565b600254611a7a906001600160a01b0387811691166000196124bb565b611aa5857f0000000000000000000000000000000000000000000000000000000000000000836125e6565b505b6040516370a0823160e01b815230600482015282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b158015611b0857600080fd5b505afa158015611b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b409190612c28565b611b4a9190612c74565b925083831015611b935760405162461bcd60e51b81526020600482015260146024820152731b9bdd0b595b9bdd59da0b585b5bdd5b9d13dd5d60621b6044820152606401610497565b505092915050565b6000611bb0836001600160a01b03841661268a565b90505b92915050565b6001600160a01b03811660009081526001830160205260408120541515611bb0565b80471015611c2b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610497565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c78576040519150601f19603f3d011682016040523d82523d6000602084013e611c7d565b606091505b5050905080611cf45760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610497565b505050565b6040516001600160a01b038316602482015260448101829052611cf490849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526126d9565b6000611bb0836001600160a01b0384166127b1565b60405163ce96cb7760e01b8152306004820152600090611e439083906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ce96cb779060240160206040518083038186803b158015611e0657600080fd5b505afa158015611e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3e9190612c28565b611eed565b604051632d182be560e21b815260048101829052306024820181905260448201529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b460af9490606401602060405180830381600087803b158015611eb557600080fd5b505af1158015611ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf49190612c28565b6000818310611efc5781611bb0565b5090919050565b611f0c816128a4565b6106296001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836124bb565b604051636a9eee1360e11b81523060048201526000908190819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d53ddc269060240160206040518083038186803b158015611fc857600080fd5b505afa158015611fdc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120009190612c28565b604051639f2b283360e01b81523060048201529091506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639f2b28339060240160206040518083038186803b15801561206557600080fd5b505afa158015612079573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209d9190612c28565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319060240160206040518083038186803b15801561210257600080fd5b505afa158015612116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213a9190612c28565b905060006121466123ab565b6121509083612cc0565b90508281111561216b576121648382612c74565b9650612178565b6121758184612c74565b95505b60006121848589612cc0565b9050828111156122355761219b610c018483612c74565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b1580156121fa57600080fd5b505afa15801561220e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122329190612c28565b92505b61223f8386611eed565b955085831161224f576000612262565b61226261225c8785612c74565b89611eed565b6040516302df682360e11b81526004810182905260248101899052604481018890529098507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906305bed04690606401600060405180830381600087803b1580156122d557600080fd5b505af11580156122e9573d6000803e3d6000fd5b50506040516370a0823160e01b815230600482015261238d92507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691506370a082319060240160206040518083038186803b15801561235057600080fd5b505afa158015612364573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123889190612c28565b6128f8565b5050505050909192565b606060006123a48361299e565b9392505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a9082906370a082319060240160206040518083038186803b15801561241557600080fd5b505afa158015612429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244d9190612c28565b6040518263ffffffff1660e01b815260040161246b91815260200190565b60206040518083038186803b15801561248357600080fd5b505afa158015612497573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075a9190612c28565b8015806125445750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e9060440160206040518083038186803b15801561250a57600080fd5b505afa15801561251e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125429190612c28565b155b6125b65760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610497565b6040516001600160a01b038316602482015260448101829052611cf490849063095ea7b360e01b90606401611d25565b600254604051636ccb2b0160e01b81526001600160a01b038581166004830152848116602483015260448201849052600160648301523060848301526000921690636ccb2b019060a401602060405180830381600087803b15801561264a57600080fd5b505af115801561265e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126829190612c28565b949350505050565b60008181526001830160205260408120546126d157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611bb3565b506000611bb3565b600061272e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166129fa9092919063ffffffff16565b805190915015611cf4578080602001905181019061274c9190612cd8565b611cf45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610497565b50505050565b6000818152600183016020526040812054801561289a5760006127d5600183612c74565b85549091506000906127e990600190612c74565b905081811461284e57600086600001828154811061280957612809612cfa565b906000526020600020015490508087600001848154811061282c5761282c612cfa565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061285f5761285f612d10565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611bb3565b6000915050611bb3565b6106296001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836124bb565b801561062957604051636e553f6560e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f6590604401602060405180830381600087803b15801561296657600080fd5b505af115801561297a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c39190612c28565b6060816000018054806020026020016040519081016040528092919081815260200182805480156129ee57602002820191906000526020600020905b8154815260200190600101908083116129da575b50505050509050919050565b6060612682848460008585843b612a535760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610497565b600080866001600160a01b03168587604051612a6f9190612d26565b60006040518083038185875af1925050503d8060008114612aac576040519150601f19603f3d011682016040523d82523d6000602084013e612ab1565b606091505b5091509150612ac1828286612acc565b979650505050505050565b60608315612adb5750816123a4565b825115612aeb5782518084602001fd5b8160405162461bcd60e51b81526004016104979190612bc9565b6001600160a01b038116811461062957600080fd5b600060208284031215612b2c57600080fd5b81356123a481612b05565b600060208284031215612b4957600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b81811015612b915783516001600160a01b031683529284019291840191600101612b6c565b50909695505050505050565b60005b83811015612bb8578181015183820152602001612ba0565b838111156127ab5750506000910152565b6020815260008251806020840152612be8816040850160208701612b9d565b601f01601f19169190910160400192915050565b60008060408385031215612c0f57600080fd5b8235612c1a81612b05565b946020939093013593505050565b600060208284031215612c3a57600080fd5b5051919050565b600060208284031215612c5357600080fd5b81516123a481612b05565b634e487b7160e01b600052601160045260246000fd5b600082821015612c8657612c86612c5e565b500390565b600181811c90821680612c9f57607f821691505b6020821081141561093757634e487b7160e01b600052602260045260246000fd5b60008219821115612cd357612cd3612c5e565b500190565b600060208284031215612cea57600080fd5b815180151581146123a457600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60008251612d38818460208701612b9d565b919091019291505056fea264697066735822122027043c854632856a57f1cc68d19c6e703ac4ef2584b69582fcaa7d6fe31f168e64736f6c634300080900330000000000000000000000001e41238acd3a9ff90b0dcb9ea96cf45f104e09ef000000000000000000000000d7c751fa32590451548b100c4f6442f062c9bc8e000000000000000000000000c1256ae5ff1cf2719d4937adb3bbccab2e00a2ca000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000264d6f7270686f5f4d6f6f6e77656c6c466c616773686970555344435f5661756c745f555344430000000000000000000000000000000000000000000000000000