[ { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint256", "name": "_approvalDelay", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "total", "type": "uint256" } ], "name": "DepositsIncremented", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "NewStratCandidate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" } ], "name": "TermsAccepted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "UpgradeStrat", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "total", "type": "uint256" } ], "name": "WithdrawalsIncremented", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "approvalDelay", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "available", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "balance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "constructionTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "cumulativeDeposits", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "cumulativeWithdrawals", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "deposit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "depositAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "earn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getPricePerFullShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "inCaseTokensGetStuck", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_strategy", "type": "address" } ], "name": "initialize", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initialized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_implementation", "type": "address" } ], "name": "proposeStrat", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stratCandidate", "outputs": [ { "internalType": "address", "name": "implementation", "type": "address" }, { "internalType": "uint256", "name": "proposedTime", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "strategy", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "upgradeStrat", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60a06040526009805460ff60a01b191690553480156200001e57600080fd5b50604051620027ba380380620027ba833981810160405260808110156200004457600080fd5b8151602083018051604051929492938301929190846401000000008211156200006c57600080fd5b9083019060208201858111156200008257600080fd5b82516401000000008111828201881017156200009d57600080fd5b82525081516020918201929091019080838360005b83811015620000cc578181015183820152602001620000b2565b50505050905090810190601f168015620000fa5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011e57600080fd5b9083019060208201858111156200013457600080fd5b82516401000000008111828201881017156200014f57600080fd5b82525081516020918201929091019080838360005b838110156200017e57818101518382015260200162000164565b50505050905090810190601f168015620001ac5780820380516001836020036101000a031916815260200191505b5060405260209081015185519093508592508491620001d19160039185019062000292565b508051620001e790600490602084019062000292565b50506005805460ff19166012179055506000620002036200028e565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600655600b80546001600160a01b0319166001600160a01b039590951694909417909355505060805242600a556200032e565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002d557805160ff191683800117855562000305565b8280016001018555821562000305579182015b8281111562000305578251825591602001919060010190620002e8565b506200031392915062000317565b5090565b5b8082111562000313576000815560010162000318565b60805161246c6200034e6000398061149b528061157a525061246c6000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c8063a457c2d71161011a578063d389800f116100ad578063e2d1e75c1161007c578063e2d1e75c146105a7578063e6685244146105af578063f06c5610146105b7578063f2fde38b146105bf578063fc0c546a146105e557610206565b8063d389800f14610543578063dd62ed3e1461054b578063de5f626814610579578063def68a9c1461058157610206565b8063b3ca3188116100e9578063b3ca3188146104d2578063b69ef8a8146104f8578063b6b55f2514610500578063c4d66de81461051d57610206565b8063a457c2d71461044c578063a6c8220e14610478578063a8c62e761461049e578063a9059cbb146104a657610206565b806348a0d7541161019d57806376dfabb81161016c57806376dfabb8146103e557806377c7b8fc14610410578063853828b6146104185780638da5cb5b1461042057806395d89b411461044457610206565b806348a0d754146103895780635b12ff9b1461039157806370a08231146103b7578063715018a6146103dd57610206565b806323b872dd116101d957806323b872dd146102ea5780632e1a7d4d14610320578063313ce5671461033f578063395093511461035d57610206565b806306fdde031461020b578063095ea7b314610288578063158ef93e146102c857806318160ddd146102d0575b600080fd5b6102136105ed565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024d578181015183820152602001610235565b50505050905090810190601f16801561027a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b46004803603604081101561029e57600080fd5b506001600160a01b038135169060200135610683565b604080519115158252519081900360200190f35b6102b46106a1565b6102d86106b1565b60408051918252519081900360200190f35b6102b46004803603606081101561030057600080fd5b506001600160a01b038135811691602081013590911690604001356106b7565b61033d6004803603602081101561033657600080fd5b503561073e565b005b6103476109d8565b6040805160ff9092168252519081900360200190f35b6102b46004803603604081101561037357600080fd5b506001600160a01b0381351690602001356109e1565b6102d8610a2f565b61033d600480360360208110156103a757600080fd5b50356001600160a01b0316610aab565b6102d8600480360360208110156103cd57600080fd5b50356001600160a01b0316610b70565b61033d610b8b565b6103ed610c38565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6102d8610c4d565b61033d610c8f565b610428610ca2565b604080516001600160a01b039092168252519081900360200190f35b610213610cb6565b6102b46004803603604081101561046257600080fd5b506001600160a01b038135169060200135610d17565b6102d86004803603602081101561048e57600080fd5b50356001600160a01b0316610d7f565b610428610d91565b6102b4600480360360408110156104bc57600080fd5b506001600160a01b038135169060200135610da0565b6102d8600480360360208110156104e857600080fd5b50356001600160a01b0316610db4565b6102d8610dc6565b61033d6004803603602081101561051657600080fd5b5035610ec2565b6102b46004803603602081101561053357600080fd5b50356001600160a01b03166110e6565b61033d61121e565b6102d86004803603604081101561056157600080fd5b506001600160a01b03813581169160200135166112b3565b61033d6112de565b61033d6004803603602081101561059757600080fd5b50356001600160a01b031661135b565b6102d8611499565b61033d6114bd565b6102d86116c4565b61033d600480360360208110156105d557600080fd5b50356001600160a01b03166116ca565b6104286117d3565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b5050505050905090565b60006106976106906117e2565b84846117e6565b5060015b92915050565b600954600160a01b900460ff1681565b60025490565b60006106c48484846118d2565b610734846106d06117e2565b61072f8560405180606001604052806028815260200161230e602891396001600160a01b038a1660009081526001602052604081209061070e6117e2565b6001600160a01b031681526020810191909152604001600020549190611a2d565b6117e6565b5060019392505050565b60026006541415610796576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600655806107e5576040805162461bcd60e51b81526020600482015260156024820152741c1b19585cd9481c1c9bdd9a591948185b5bdd5b9d605a1b604482015290519081900360640190fd5b600061080a6107f26106b1565b610804846107fe610dc6565b90611ac4565b90611b24565b90506108163383611b66565b600b54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561086157600080fd5b505afa158015610875573d6000803e3d6000fd5b505050506040513d602081101561088b57600080fd5b50519050818110156109ad5760006108a38383611c62565b60095460408051632e1a7d4d60e01b81526004810184905290519293506001600160a01b0390911691632e1a7d4d9160248082019260009290919082900301818387803b1580156108f357600080fd5b505af1158015610907573d6000803e3d6000fd5b5050600b54604080516370a0823160e01b81523060048201529051600094506001600160a01b0390921692506370a08231916024808301926020929190829003018186803b15801561095857600080fd5b505afa15801561096c573d6000803e3d6000fd5b505050506040513d602081101561098257600080fd5b5051905060006109928285611c62565b9050828110156109a9576109a68482611ca4565b94505b5050505b600b546109c4906001600160a01b03163384611cfe565b6109cd82611d55565b505060016006555050565b60055460ff1690565b60006106976109ee6117e2565b8461072f85600160006109ff6117e2565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611ca4565b600b54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610a7a57600080fd5b505afa158015610a8e573d6000803e3d6000fd5b505050506040513d6020811015610aa457600080fd5b5051905090565b610ab36117e2565b60055461010090046001600160a01b03908116911614610b08576040805162461bcd60e51b81526020600482018190526024820152600080516020612336833981519152604482015290519081900360640190fd5b6040805180820182526001600160a01b038316808252426020928301819052600780546001600160a01b03191683179055600855825190815291517f1aae2ec5647db56da2d513de40528ba3565c6057525637050660c4323bbac7df9281900390910190a150565b6001600160a01b031660009081526020819052604090205490565b610b936117e2565b60055461010090046001600160a01b03908116911614610be8576040805162461bcd60e51b81526020600482018190526024820152600080516020612336833981519152604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6007546008546001600160a01b039091169082565b6000610c576106b1565b15610c8057610c7b610c676106b1565b610804670de0b6b3a76400006107fe610dc6565b610c8a565b670de0b6b3a76400005b905090565b610ca0610c9b33610b70565b61073e565b565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106795780601f1061064e57610100808354040283529160200191610679565b6000610697610d246117e2565b8461072f856040518060600160405280602581526020016124126025913960016000610d4e6117e2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611a2d565b600d6020526000908152604090205481565b6009546001600160a01b031681565b6000610697610dad6117e2565b84846118d2565b600c6020526000908152604090205481565b6000610c8a600960009054906101000a90046001600160a01b03166001600160a01b031663722713f76040518163ffffffff1660e01b815260040160206040518083038186803b158015610e1957600080fd5b505afa158015610e2d573d6000803e3d6000fd5b505050506040513d6020811015610e4357600080fd5b5051600b54604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610e9057600080fd5b505afa158015610ea4573d6000803e3d6000fd5b505050506040513d6020811015610eba57600080fd5b505190611ca4565b60026006541415610f1a576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260065580610f69576040805162461bcd60e51b81526020600482015260156024820152741c1b19585cd9481c1c9bdd9a591948185b5bdd5b9d605a1b604482015290519081900360640190fd5b6000610f73610dc6565b600b54604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610fc457600080fd5b505afa158015610fd8573d6000803e3d6000fd5b505050506040513d6020811015610fee57600080fd5b5051600b5490915061100b906001600160a01b0316333086611dcf565b600b54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561105657600080fd5b505afa15801561106a573d6000803e3d6000fd5b505050506040513d602081101561108057600080fd5b5051905061108e8183611c62565b9350600061109a6106b1565b6110a55750836110be565b6110bb846108046110b46106b1565b8890611ac4565b90505b6110c83382611e2f565b6110d061121e565b6110d985611f1f565b5050600160065550505050565b60006110f06117e2565b60055461010090046001600160a01b03908116911614611145576040805162461bcd60e51b81526020600482018190526024820152600080516020612336833981519152604482015290519081900360640190fd5b600954600160a01b900460ff16156111a4576040805162461bcd60e51b815260206004820181905260248201527f436f6e747261637420697320616c726561647920696e697469616c697a65642e604482015290519081900360640190fd5b600a546104b0014211156111e95760405162461bcd60e51b81526004018080602001828103825260288152602001806123566028913960400191505060405180910390fd5b506009805460ff60a01b196001600160a01b0384166001600160a01b03199092169190911716600160a01b1790556001919050565b6000611228610a2f565b600954600b54919250611248916001600160a01b03908116911683611cfe565b600960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db06040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561129857600080fd5b505af11580156112ac573d6000803e3d6000fd5b5050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600b54604080516370a0823160e01b81523360048201529051610ca0926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561132a57600080fd5b505afa15801561133e573d6000803e3d6000fd5b505050506040513d602081101561135457600080fd5b5051610ec2565b6113636117e2565b60055461010090046001600160a01b039081169116146113b8576040805162461bcd60e51b81526020600482018190526024820152600080516020612336833981519152604482015290519081900360640190fd5b600b546001600160a01b0382811691161415611404576040805162461bcd60e51b815260206004820152600660248201526510ba37b5b2b760d11b604482015290519081900360640190fd5b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561145357600080fd5b505afa158015611467573d6000803e3d6000fd5b505050506040513d602081101561147d57600080fd5b505190506114956001600160a01b0383163383611cfe565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6114c56117e2565b60055461010090046001600160a01b0390811691161461151a576040805162461bcd60e51b81526020600482018190526024820152600080516020612336833981519152604482015290519081900360640190fd5b6007546001600160a01b031661156f576040805162461bcd60e51b81526020600482015260156024820152745468657265206973206e6f2063616e64696461746560581b604482015290519081900360640190fd5b600854429061159e907f0000000000000000000000000000000000000000000000000000000000000000611ca4565b106115e7576040805162461bcd60e51b815260206004820152601460248201527311195b185e481a185cc81b9bdd081c185cdcd95960621b604482015290519081900360640190fd5b600754604080516001600160a01b039092168252517f7f37d440e85aba7fbf641c4bda5ca4ef669a80bffaacde2aa8d9feb1b048c82c9181900360200190a1600960009054906101000a90046001600160a01b03166001600160a01b031663fb6177876040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561167657600080fd5b505af115801561168a573d6000803e3d6000fd5b505060078054600980546001600160a01b03199081166001600160a01b03841617909155169055505064012a05f200600855610ca061121e565b600a5481565b6116d26117e2565b60055461010090046001600160a01b03908116911614611727576040805162461bcd60e51b81526020600482018190526024820152600080516020612336833981519152604482015290519081900360640190fd5b6001600160a01b03811661176c5760405162461bcd60e51b815260040180806020018281038252602681526020018061227f6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600b546001600160a01b031681565b3390565b6001600160a01b03831661182b5760405162461bcd60e51b81526004018080602001828103825260248152602001806123c46024913960400191505060405180910390fd5b6001600160a01b0382166118705760405162461bcd60e51b81526004018080602001828103825260228152602001806122a56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166119175760405162461bcd60e51b815260040180806020018281038252602581526020018061239f6025913960400191505060405180910390fd5b6001600160a01b03821661195c5760405162461bcd60e51b815260040180806020018281038252602381526020018061223a6023913960400191505060405180910390fd5b611967838383611d50565b6119a4816040518060600160405280602681526020016122c7602691396001600160a01b0386166000908152602081905260409020549190611a2d565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546119d39082611ca4565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115611abc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a81578181015183820152602001611a69565b50505050905090810190601f168015611aae5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082611ad35750600061069b565b82820282848281611ae057fe5b0414611b1d5760405162461bcd60e51b81526004018080602001828103825260218152602001806122ed6021913960400191505060405180910390fd5b9392505050565b6000611b1d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f99565b6001600160a01b038216611bab5760405162461bcd60e51b815260040180806020018281038252602181526020018061237e6021913960400191505060405180910390fd5b611bb782600083611d50565b611bf48160405180606001604052806022815260200161225d602291396001600160a01b0385166000908152602081905260409020549190611a2d565b6001600160a01b038316600090815260208190526040902055600254611c1a9082611c62565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000611b1d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a2d565b600082820183811015611b1d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611d50908490611ffe565b505050565b336000908152600d602052604081205481611d708285611ca4565b336000818152600d602090815260409182902084905581519283528201879052818101839052519192507f9141e77ca2893646d48087b1b095075541605e9b87ca091e2057b651b1e62af2919081900360600190a15060019392505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611e29908590611ffe565b50505050565b6001600160a01b038216611e8a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611e9660008383611d50565b600254611ea39082611ca4565b6002556001600160a01b038216600090815260208190526040902054611ec99082611ca4565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b336000908152600c602052604081205481611f3a8285611ca4565b336000818152600c602090815260409182902084905581519283528201879052818101839052519192507f06a0895c1a837cd12ac50bcba0b79f680b66b790598e25e296d9e998e1b75209919081900360600190a15060019392505050565b60008183611fe85760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611a81578181015183820152602001611a69565b506000838581611ff457fe5b0495945050505050565b6060612053826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120af9092919063ffffffff16565b805190915015611d505780806020019051602081101561207257600080fd5b5051611d505760405162461bcd60e51b815260040180806020018281038252602a8152602001806123e8602a913960400191505060405180910390fd5b60606120be84846000856120c6565b949350505050565b60606120d185612233565b612122576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106121615780518252601f199092019160209182019101612142565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146121c3576040519150601f19603f3d011682016040523d82523d6000602084013e6121c8565b606091505b509150915081156121dc5791506120be9050565b8051156121ec5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315611a81578181015183820152602001611a69565b3b15159056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572696e697469616c697a6174696f6e20706572696f64206f7665722c207573652074696d656c6f636b45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122010477f7bf40bfc61f0416414eabc78132da1bd6480eefcf2a461d94e4e90d53064736f6c634300060c0033000000000000000000000000a22e47e0e60caeaacd19a372ad3d14b9d7279e74000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000000000000000000000204d4554415543452d4d455449532d4e2d5354415253545245414d2d5641554c5400000000000000000000000000000000000000000000000000000000000000134d4554415543452d4d455449532d4e2d53535600000000000000000000000000