0 txs
2 calls
constructor
constructor(uint256 pid_, address stakingToken_, address rewardToken_, address operator_, address rewardManager_, address lptoken_)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
asset
viewfunction asset() view returns (address)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
convertToAssets
viewfunction convertToAssets(uint256 shares) view returns (uint256)
convertToShares
viewfunction convertToShares(uint256 assets) view returns (uint256)
currentRewards
viewfunction currentRewards() view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
duration
viewfunction duration() view returns (uint256)
earned
viewfunction earned(address account) view returns (uint256)
extraRewards
viewfunction extraRewards(uint256) view returns (address)
extraRewardsLength
viewfunction extraRewardsLength() view returns (uint256)
historicalRewards
viewfunction historicalRewards() view returns (uint256)
lastTimeRewardApplicable
viewfunction lastTimeRewardApplicable() view returns (uint256)
lastUpdateTime
viewfunction lastUpdateTime() view returns (uint256)
maxDeposit
viewfunction maxDeposit(address) view returns (uint256)
maxMint
viewfunction maxMint(address owner) view returns (uint256)
maxRedeem
viewfunction maxRedeem(address owner) view returns (uint256)
maxWithdraw
viewfunction maxWithdraw(address owner) view returns (uint256)
name
viewfunction name() view returns (string)
newRewardRatio
viewfunction newRewardRatio() view returns (uint256)
operator
viewfunction operator() view returns (address)
periodFinish
viewfunction periodFinish() view returns (uint256)
pid
viewfunction pid() view returns (uint256)
previewDeposit
viewfunction previewDeposit(uint256 assets) view returns (uint256)
previewMint
viewfunction previewMint(uint256 shares) view returns (uint256)
previewRedeem
viewfunction previewRedeem(uint256 shares) view returns (uint256)
previewWithdraw
viewfunction previewWithdraw(uint256 assets) view returns (uint256 shares)
queuedRewards
viewfunction queuedRewards() view returns (uint256)
rewardManager
viewfunction rewardManager() view returns (address)
rewardPerToken
viewfunction rewardPerToken() view returns (uint256)
rewardPerTokenStored
viewfunction rewardPerTokenStored() view returns (uint256)
rewardRate
viewfunction rewardRate() view returns (uint256)
rewards
viewfunction rewards(address) view returns (uint256)
rewardToken
viewfunction rewardToken() view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalAssets
viewfunction totalAssets() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
userRewardPerTokenPaid
viewfunction userRewardPerTokenPaid(address) view returns (uint256)
addExtraReward
nonpayablefunction addExtraReward(address _reward) returns (bool)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
clearExtraRewards
nonpayablefunction clearExtraRewards()
deposit
nonpayablefunction deposit(uint256 assets, address receiver) returns (uint256)
getReward
nonpayablefunction getReward() returns (bool)
getReward
nonpayablefunction getReward(address _account, bool _claimExtras) returns (bool)
mint
nonpayablefunction mint(uint256 shares, address receiver) returns (uint256)
processIdleRewards
nonpayablefunction processIdleRewards()
queueNewRewards
nonpayablefunction queueNewRewards(uint256 _rewards) returns (bool)
redeem
nonpayablefunction redeem(uint256 shares, address receiver, address owner) returns (uint256)
stake
nonpayablefunction stake(uint256 _amount) returns (bool)
stakeAll
nonpayablefunction stakeAll() returns (bool)
stakeFor
nonpayablefunction stakeFor(address _for, uint256 _amount) returns (bool)
transfer
nonpayablefunction transfer(address, uint256) returns (bool)
transferFrom
nonpayablefunction transferFrom(address, address, uint256) returns (bool)
withdraw
nonpayablefunction withdraw(uint256 amount, bool claim) returns (bool)
withdraw
nonpayablefunction withdraw(uint256 assets, address receiver, address owner) returns (uint256)
withdrawAll
nonpayablefunction withdrawAll(bool claim)
withdrawAllAndUnwrap
nonpayablefunction withdrawAllAndUnwrap(bool claim)
withdrawAndUnwrap
nonpayablefunction withdrawAndUnwrap(uint256 amount, bool claim) returns (bool)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Deposit
event Deposit(address indexed caller, address indexed owner, uint256 assets, uint256 shares)
RewardAdded
event RewardAdded(uint256 reward)
RewardPaid
event RewardPaid(address indexed user, uint256 reward)
Staked
event Staked(address indexed user, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Withdraw
event Withdraw(address indexed caller, address indexed receiver, address indexed owner, uint256 assets, uint256 shares)
Withdrawn
event Withdrawn(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x6101206040526000805560006001556000600455600060055560006006553480156200002a57600080fd5b506040516200332b3803806200332b833981810160405260c08110156200005057600080fd5b508051602080830151604084015160608086015160808088015160a09889015161010089905286851b6001600160601b0319908116909a5285851b8a1690925282841b891660c0529283901b90971660e0526001600c55600d80546001600160a01b0319166001600160a01b03808a16919091179182905596979496939591949293620000ef92911690859060001990620000fb811b62001e7617901c565b5050505050506200050e565b80158062000185575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156200015557600080fd5b505afa1580156200016a573d6000803e3d6000fd5b505050506040513d60208110156200018157600080fd5b5051155b620001c25760405162461bcd60e51b8152600401808060200182810382526036815260200180620032f56036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a9185916200021f16565b505050565b60606200027b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620002db60201b62001f8e179092919060201c565b8051909150156200021a578080602001905160208110156200029c57600080fd5b50516200021a5760405162461bcd60e51b815260040180806020018281038252602a815260200180620032cb602a913960400191505060405180910390fd5b6060620002ec8484600085620002f6565b90505b9392505050565b606082471015620003395760405162461bcd60e51b8152600401808060200182810382526026815260200180620032a56026913960400191505060405180910390fd5b62000344856200045e565b62000396576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310620003d75780518252601f199092019160209182019101620003b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146200043b576040519150601f19603f3d011682016040523d82523d6000602084013e62000440565b606091505b5090925090506200045382828662000464565b979650505050505050565b3b151590565b6060831562000475575081620002ef565b825115620004865782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620004d2578181015183820152602001620004b8565b50505050905090810190601f168015620005005780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60805160601c60a05160601c60c05160601c60e05160601c61010051612cf1620005b46000398061141f52806117405280611e3052806127cc525080610a315280610c9952806111de5250806110ad52806110dc528061146252806117115280612803525080610aa35280610d515280610f4f528061137852806114fb52806118b5528061190252806119ca5280611ba35250806116e85280611e545250612cf16000f3fe608060405234801561001057600080fd5b50600436106103985760003560e01c80636e553f65116101e9578063ba0876521161010f578063d55a23f4116100ad578063ebe2b12b1161007c578063ebe2b12b1461098e578063ef8b30f7146104e7578063f106845414610996578063f7c618c11461099e57610398565b8063d55a23f41461092a578063d905777e14610932578063dd62ed3e14610958578063df136d651461098657610398565b8063c6e6f592116100e9578063c6e6f5921461048a578063c8f33c91146108f4578063cd3daf9d146108fc578063ce96cb771461090457610398565b8063ba08765214610875578063c32e7202146108a9578063c63d75b6146108ce57610398565b80638dcb406111610187578063a694fc3a11610156578063a694fc3a146107f8578063a9059cbb14610815578063b3d7f6b9146104e7578063b460af941461084157610398565b80638dcb4061146107b4578063901a7d53146107bc57806394bf804d146107c457806395d89b41146107f057610398565b806372f702f3116101c357806372f702f3146107765780637b0a47ee1461077e57806380faa57d146107865780638b8763471461078e57610398565b80636e553f65146106f65780637050ccd91461072257806370a082311461075057610398565b80632ee40908116102ce57806340c354461161026c578063590a41f51161023b578063590a41f5146106a35780635e43c47b146106c057806363d38c3b146106e65780636c8bcee8146106ee57610398565b806340c354461461064257806349f039a21461065f5780634cdad5061461067e578063570ca7351461069b57610398565b806338d52e0f116102a857806338d52e0f146106045780633d18b9121461060c5780633e8b83e314610614578063402d267d1461061c57610398565b80632ee4090814610595578063313ce567146105c157806338d07436146105df57610398565b80630a28a4771161033b57806318160ddd1161031557806318160ddd146105305780631c1c6fe51461053857806323b872dd14610557578063262d3d6d1461058d57610398565b80630a28a477146104e75780630f4ef8a6146105045780630fb5a6b41461052857610398565b806306fdde031161037757806306fdde03146103e75780630700037d1461046457806307a2d13a1461048a578063095ea7b3146104a757610398565b80628cc2621461039d57806301e1d114146103d55780630569d388146103dd575b600080fd5b6103c3600480360360208110156103b357600080fd5b50356001600160a01b03166109a6565b60408051918252519081900360200190f35b6103c3610a16565b6103e5610a26565b005b6103ef610a9f565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610429578181015183820152602001610411565b50505050905090810190601f1680156104565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c36004803603602081101561047a57600080fd5b50356001600160a01b0316610c63565b6103c3600480360360208110156104a057600080fd5b5035610a23565b6104d3600480360360408110156104bd57600080fd5b506001600160a01b038135169060200135610c75565b604080519115158252519081900360200190f35b6103c3600480360360208110156104fd57600080fd5b5035610c8c565b61050c610c97565b604080516001600160a01b039092168252519081900360200190f35b6103c3610cbb565b6103c3610cc2565b6103e56004803603602081101561054e57600080fd5b50351515610ccc565b6104d36004803603606081101561056d57600080fd5b506001600160a01b03813581169160208101359091169060400135610cea565b6103c3610d32565b6104d3600480360360408110156105ab57600080fd5b506001600160a01b038135169060200135610d38565b6105c9610dc1565b6040805160ff9092168252519081900360200190f35b6104d3600480360360408110156105f557600080fd5b50803590602001351515610dc6565b61050c611009565b6104d3611018565b6103e561102d565b6103c36004803603602081101561063257600080fd5b50356001600160a01b0316611058565b61050c6004803603602081101561065857600080fd5b503561105f565b6103e56004803603602081101561067557600080fd5b50351515611086565b6103c36004803603602081101561069457600080fd5b50356110a0565b61050c6110ab565b6104d3600480360360208110156106b957600080fd5b50356110cf565b6104d3600480360360208110156106d657600080fd5b50356001600160a01b03166111d1565b6103c36112f1565b6103c36112f7565b6103c36004803603604081101561070c57600080fd5b50803590602001356001600160a01b03166112fd565b6104d36004803603604081101561073857600080fd5b506001600160a01b0381351690602001351515611658565b6103c36004803603602081101561076657600080fd5b50356001600160a01b03166118a8565b61050c6118b3565b6103c36118d7565b6103c36118dd565b6103c3600480360360208110156107a457600080fd5b50356001600160a01b03166118eb565b6104d36118fd565b6103c36119ad565b6103c3600480360360408110156107da57600080fd5b50803590602001356001600160a01b03166119b3565b6103ef6119c6565b6104d36004803603602081101561080e57600080fd5b5035611b8a565b6104d36004803603604081101561082b57600080fd5b506001600160a01b038135169060200135610cea565b6103c36004803603606081101561085757600080fd5b508035906001600160a01b0360208201358116916040013516611c09565b6103c36004803603606081101561088b57600080fd5b508035906001600160a01b0360208201358116916040013516611d3e565b6104d3600480360360408110156108bf57600080fd5b50803590602001351515611d53565b6103c3600480360360208110156108e457600080fd5b50356001600160a01b0316611d7c565b6103c3611d87565b6103c3611d8d565b6103c36004803603602081101561091a57600080fd5b50356001600160a01b0316611ddb565b6103c3611de6565b6103c36004803603602081101561094857600080fd5b50356001600160a01b0316611dec565b6103c36004803603604081101561096e57600080fd5b506001600160a01b0381358116916020013516611df7565b6103c3611e22565b6103c3611e28565b6103c3611e2e565b61050c611e52565b6001600160a01b0381166000908152600960209081526040808320546008909252822054610a0e9190610a0890670de0b6b3a764000090610a02906109f3906109ed611d8d565b90611f9d565b6109fc886118a8565b90611ffa565b90612053565b906120ba565b90505b919050565b6000610a20610cc2565b90505b90565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a91576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b610a9d600b6000612b64565b565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610afa57600080fd5b505afa158015610b0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610b3757600080fd5b8101908080516040519392919084640100000000821115610b5757600080fd5b908301906020820185811115610b6c57600080fd5b8251640100000000811182820188101715610b8657600080fd5b82525081516020918201929091019080838360005b83811015610bb3578181015183820152602001610b9b565b50505050905090810190601f168015610be05780820380516001836020036101000a031916815260200191505b506040525050506040516020018082805190602001908083835b60208310610c195780518252601f199092019160209182019101610bfa565b6001836020036101000a03801982511681845116808217855250505050505090500180650815985d5b1d60d21b815250600601915050604051602081830303815290604052905090565b60096020526000908152604090205481565b6000610c82338484612114565b5060015b92915050565b6000610a0e82610a23565b7f000000000000000000000000000000000000000000000000000000000000000081565b62093a8081565b6000610a20612200565b336000908152600a6020526040902054610ce69082610dc6565b5050565b6040805162461bcd60e51b8152602060048201526016602482015275115490cd0d8c8d8e88139bdd081cdd5c1c1bdc9d195960521b6044820152905160009181900360640190fd5b60065481565b6000610d448284612206565b610d796001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330856123da565b6040805183815290516001600160a01b038516917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a250600192915050565b601290565b600033610dd1611d8d565b600355610ddc6118dd565b6002556001600160a01b03811615610e2357610df7816109a6565b6001600160a01b0382166000908152600960209081526040808320939093556003546008909152919020555b60008411610e78576040805162461bcd60e51b815260206004820152601e60248201527f526577617264506f6f6c203a2043616e6e6f7420776974686472617720300000604482015290519081900360640190fd5b60005b600b54811015610f0b57600b8181548110610e9257fe5b60009182526020822001546040805163f3fef3a360e01b81523360048201526024810189905290516001600160a01b039092169263f3fef3a39260448084019382900301818387803b158015610ee757600080fd5b505af1158015610efb573d6000803e3d6000fd5b505060019092019150610e7b9050565b50600754610f199085611f9d565b600755336000908152600a6020526040902054610f369085611f9d565b336000818152600a6020526040902091909155610f7e907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908661243a565b60408051858152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a28215610fc757610fc5336001611658565b505b60408051858152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35060019392505050565b600d546001600160a01b031681565b6000611025336001611658565b506001905090565b600054421015801561104157506000600454115b15610a9d5761105160045461248c565b6000600455565b5060001990565b600b818154811061106c57fe5b6000918252602090912001546001600160a01b0316905081565b336000908152600a6020526040902054610ce69082611d53565b6000610a0e82610c8c565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461113c576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b60045461114a9083906120ba565b9150600054421061116b5761115e8261248c565b5060006004556001610a11565b60008054611187906111809062093a80611f9d565b4290611f9d565b600154909150810260006111a185610a02846103e8611ffa565b905061033e8110156111c0576111b68561248c565b60006004556111c6565b60048590555b506001949350505050565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461123e576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b6001600160a01b03821661128b576040805162461bcd60e51b815260206004820152600f60248201526e217265776172642073657474696e6760881b604482015290519081900360640190fd5b600b54600c1161129d57506000610a11565b50600b8054600181810183556000929092527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0384166001600160a01b0319909116179055919050565b60045481565b61033e81565b60006002600c541415611357576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600c55600d54611374906001600160a01b03163330866123da565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156113e357600080fd5b505afa1580156113f7573d6000803e3d6000fd5b505050506040513d602081101561140d57600080fd5b5051604080516321d0683360e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526024810187905260006044820181905291519293506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926343a0d06692606480840193602093929083900390910190829087803b1580156114ac57600080fd5b505af11580156114c0573d6000803e3d6000fd5b505050506040513d60208110156114d657600080fd5b5050604080516370a0823160e01b815230600482015290516000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a0823191602480820192602092909190829003018186803b15801561154257600080fd5b505afa158015611556573d6000803e3d6000fd5b505050506040513d602081101561156c57600080fd5b505190508461157b8284611f9d565b10156115b9576040805162461bcd60e51b81526020600482015260086024820152670859195c1bdcda5d60c21b604482015290519081900360640190fd5b6115c38585612206565b604080518681526020810187905281516001600160a01b0387169233927fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7929081900390910190a36040805186815290516001600160a01b038616917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a250506001600c555090919050565b600082611663611d8d565b60035561166e6118dd565b6002556001600160a01b038116156116b557611689816109a6565b6001600160a01b0382166000908152600960209081526040808320939093556003546008909152919020555b60006116c0856109a6565b90508015611806576001600160a01b0380861660009081526009602052604081205561170f907f000000000000000000000000000000000000000000000000000000000000000016868361243a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371192b177f000000000000000000000000000000000000000000000000000000000000000087846040518463ffffffff1660e01b815260040180848152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156117ae57600080fd5b505af11580156117c2573d6000803e3d6000fd5b50506040805184815290516001600160a01b03891693507fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048692509081900360200190a25b83156111c65760005b600b5481101561189c57600b818154811061182657fe5b600091825260208220015460408051630c00007b60e41b81526001600160a01b038a811660048301529151919092169263c00007b0926024808201939182900301818387803b15801561187857600080fd5b505af115801561188c573d6000803e3d6000fd5b50506001909201915061180f9050565b50506001949350505050565b6000610a0e826125b0565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b6000610a20426000546125cb565b60086020526000908152604090205481565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561196d57600080fd5b505afa158015611981573d6000803e3d6000fd5b505050506040513d602081101561199757600080fd5b505190506119a481611b8a565b50600191505090565b60055481565b60006119bf83836112fd565b9392505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b505afa158015611a35573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611a5e57600080fd5b8101908080516040519392919084640100000000821115611a7e57600080fd5b908301906020820185811115611a9357600080fd5b8251640100000000811182820188101715611aad57600080fd5b82525081516020918201929091019080838360005b83811015611ada578181015183820152602001611ac2565b50505050905090810190601f168015611b075780820380516001836020036101000a031916815260200191505b506040525050506040516020018082805190602001908083835b60208310611b405780518252601f199092019160209182019101611b21565b6001836020036101000a03801982511681845116808217855250505050505090500180650b5d985d5b1d60d21b815250600601915050604051602081830303815290604052905090565b6000611b968233612206565b611bcb6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330856123da565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a2506001919050565b60006002600c541415611c63576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600c55336001600160a01b03831614611cca57611cca8233611cc5876040518060600160405280602c8152602001612be9602c91396001600160a01b0388166000908152600e6020908152604080832033845290915290205491906125e1565b612114565b611cd5848385612678565b50816001600160a01b0316836001600160a01b0316336001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8788604051808381526020018281526020019250505060405180910390a450506001600c555090565b6000611d4b848484611c09565b949350505050565b6000611d60833333612678565b508115610c8257611d72336001611658565b5050600192915050565b6000610a0e82611058565b60025481565b6000611d97610cc2565b611da45750600354610a23565b610a20611dd2611db2610cc2565b610a02670de0b6b3a76400006109fc6001546109fc6002546109ed6118dd565b600354906120ba565b6000610a0e826118a8565b600b5490565b6000610a0e82611ddb565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b60035481565b60005481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b801580611efc575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611ece57600080fd5b505afa158015611ee2573d6000803e3d6000fd5b505050506040513d6020811015611ef857600080fd5b5051155b611f375760405162461bcd60e51b8152600401808060200182810382526036815260200180612c866036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611f899084906128eb565b505050565b6060611d4b848460008561299c565b600082821115611ff4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261200957506000610c86565b8282028284828161201657fe5b04146119bf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612c156021913960400191505060405180910390fd5b60008082116120a9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816120b257fe5b049392505050565b6000828201838110156119bf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166121595760405162461bcd60e51b8152600401808060200182810382526026815260200180612c366026913960400191505060405180910390fd5b6001600160a01b03821661219e5760405162461bcd60e51b8152600401808060200182810382526024815260200180612b9f6024913960400191505060405180910390fd5b6001600160a01b038084166000818152600e6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60075490565b8061220f611d8d565b60035561221a6118dd565b6002556001600160a01b0381161561226157612235816109a6565b6001600160a01b0382166000908152600960209081526040808320939093556003546008909152919020555b600083116122b6576040805162461bcd60e51b815260206004820152601b60248201527f526577617264506f6f6c203a2043616e6e6f74207374616b6520300000000000604482015290519081900360640190fd5b60005b600b5481101561234d57600b81815481106122d057fe5b6000918252602082200154604080516356e4bb9760e11b81526001600160a01b038781166004830152602482018990529151919092169263adc9772e926044808201939182900301818387803b15801561232957600080fd5b505af115801561233d573d6000803e3d6000fd5b5050600190920191506122b99050565b5060075461235b90846120ba565b6007556001600160a01b0382166000908152600a602052604090205461238190846120ba565b6001600160a01b0383166000818152600a602090815260408083209490945583518781529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526124349085906128eb565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611f899084906128eb565b6000612496611d8d565b6003556124a16118dd565b6002556001600160a01b038116156124e8576124bc816109a6565b6001600160a01b0382166000908152600960209081526040808320939093556003546008909152919020555b6006546124f590836120ba565b60065560005442106125165761250e8262093a80612053565b60015561255e565b600080546125249042611f9d565b9050600061253d60015483611ffa90919063ffffffff16565b905061254984826120ba565b93506125588462093a80612053565b60015550505b60058290554260028190556125769062093a806120ba565b6000556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b6001600160a01b03166000908152600a602052604090205490565b60008183106125da57816119bf565b5090919050565b600081848411156126705760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561263557818101518382015260200161261d565b50505050905090810190601f1680156126625780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082612683611d8d565b60035561268e6118dd565b6002556001600160a01b038116156126d5576126a9816109a6565b6001600160a01b0382166000908152600960209081526040808320939093556003546008909152919020555b60005b600b5481101561276c57600b81815481106126ef57fe5b60009182526020822001546040805163f3fef3a360e01b81526001600160a01b038981166004830152602482018b90529151919092169263f3fef3a3926044808201939182900301818387803b15801561274857600080fd5b505af115801561275c573d6000803e3d6000fd5b5050600190920191506126d89050565b5060075461277a9086611f9d565b6007556001600160a01b0384166000908152600a60205260409020546127a09086611f9d565b6001600160a01b038086166000908152600a60205260408082209390935582516305335c3960e21b81527f0000000000000000000000000000000000000000000000000000000000000000600482015260248101899052868316604482015292517f0000000000000000000000000000000000000000000000000000000000000000909216926314cd70e4926064808301939282900301818387803b15801561284857600080fd5b505af115801561285c573d6000803e3d6000fd5b50506040805188815290516001600160a01b03881693507f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d592509081900360200190a26040805186815290516000916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3506001949350505050565b6060612940826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611f8e9092919063ffffffff16565b805190915015611f895780806020019051602081101561295f57600080fd5b5051611f895760405162461bcd60e51b815260040180806020018281038252602a815260200180612c5c602a913960400191505060405180910390fd5b6060824710156129dd5760405162461bcd60e51b8152600401808060200182810382526026815260200180612bc36026913960400191505060405180910390fd5b6129e685612af8565b612a37576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310612a765780518252601f199092019160209182019101612a57565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612ad8576040519150601f19603f3d011682016040523d82523d6000602084013e612add565b606091505b5091509150612aed828286612afe565b979650505050505050565b3b151590565b60608315612b0d5750816119bf565b825115612b1d5782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561263557818101518382015260200161261d565b5080546000825590600052602060002090810190612b829190612b85565b50565b5b80821115612b9a5760008155600101612b86565b509056fe455243343632363a20617070726f766520746f20746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c455243343632363a207769746864726177616c20616d6f756e74206578636565647320616c6c6f77616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77455243343632363a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a2646970667358221220ae8c044ac1c2559de2f2e4309b40218a14a895460e80e2ec3c6a5bc5e35251a064736f6c634300060c0033416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000000000000000000000000000000000000000000001010000000000000000000000002d007d9f4953639150fe7ecba3572c36c56d1c85000000000000000000000000ba100000625a3754423978a60c9317c58a424e3d000000000000000000000000a57b8d98dae62b26ec3bcc4a365338157060b234000000000000000000000000bc8d9caf4b6bf34773976c5707ad1f2778332dca0000000000000000000000004ab7ab316d43345009b2140e0580b072eec7df16