438 txs
5.5k calls
constructor
constructor(address _staker)
functions
crv
viewfunction crv() view returns (address)
earmarkIncentive
viewfunction earmarkIncentive() view returns (uint256)
FEE_DENOMINATOR
viewfunction FEE_DENOMINATOR() view returns (uint256)
feeManager
viewfunction feeManager() view returns (address)
gaugeMap
viewfunction gaugeMap(address) view returns (bool)
isShutdown
viewfunction isShutdown() view returns (bool)
lockIncentive
viewfunction lockIncentive() view returns (uint256)
MaxFees
viewfunction MaxFees() view returns (uint256)
minter
viewfunction minter() view returns (address)
owner
viewfunction owner() view returns (address)
platformFee
viewfunction platformFee() view returns (uint256)
poolInfo
viewfunction poolInfo(uint256) view returns (address lptoken, address token, address gauge, address crvRewards, address stash, bool shutdown)
poolLength
viewfunction poolLength() view returns (uint256)
poolManager
viewfunction poolManager() view returns (address)
rewardFactory
viewfunction rewardFactory() view returns (address)
rewards
viewfunction rewards() view returns (address)
staker
viewfunction staker() view returns (address)
stakerIncentive
viewfunction stakerIncentive() view returns (uint256)
stashFactory
viewfunction stashFactory() view returns (address)
tokenFactory
viewfunction tokenFactory() view returns (address)
treasury
viewfunction treasury() view returns (address)
addPool
nonpayablefunction addPool(address _lptoken, address _gauge, uint256 _stashVersion) returns (bool)
claimRewards
nonpayablefunction claimRewards(uint256 _pid, address _gauge) returns (bool)
deposit
nonpayablefunction deposit(uint256 _pid, uint256 _amount, bool _stake) returns (bool)
depositAll
nonpayablefunction depositAll(uint256 _pid, bool _stake) returns (bool)
earmarkRewards
payablefunction earmarkRewards(uint256 _pid, address _zroPaymentAddress) payable returns (bool)
initialize
nonpayablefunction initialize(address _minter, address _crv, address _owner)
rewardClaimed
nonpayablefunction rewardClaimed(uint256 _pid, address _address, uint256 _amount) returns (bool)
setFactories
nonpayablefunction setFactories(address _rfactory, address _sfactory, address _tfactory)
setFeeManager
nonpayablefunction setFeeManager(address _feeM)
setFees
nonpayablefunction setFees(uint256 _lockFees, uint256 _stakerFees, uint256 _callerFees, uint256 _platform)
setGaugeRedirect
nonpayablefunction setGaugeRedirect(uint256 _pid) returns (bool)
setOwner
nonpayablefunction setOwner(address _owner)
setPoolManager
nonpayablefunction setPoolManager(address _poolM)
setRewardContracts
nonpayablefunction setRewardContracts(address _rewards)
setTreasury
nonpayablefunction setTreasury(address _treasury)
shutdownPool
nonpayablefunction shutdownPool(uint256 _pid) returns (bool)
shutdownSystem
nonpayablefunction shutdownSystem()
withdraw
nonpayablefunction withdraw(uint256 _pid, uint256 _amount) returns (bool)
withdrawAll
nonpayablefunction withdrawAll(uint256 _pid) returns (bool)
withdrawTo
nonpayablefunction withdrawTo(uint256 _pid, uint256 _amount, address _to) returns (bool)
events
Deposited
event Deposited(address indexed user, uint256 indexed poolid, uint256 amount)
FactoriesUpdated
event FactoriesUpdated(address rewardFactory, address stashFactory, address tokenFactory)
FeeManagerUpdated
event FeeManagerUpdated(address newFeeManager)
FeesUpdated
event FeesUpdated(uint256 lockIncentive, uint256 stakerIncentive, uint256 earmarkIncentive, uint256 platformFee)
OwnerUpdated
event OwnerUpdated(address newOwner)
PoolAdded
event PoolAdded(address lpToken, address gauge, address token, address rewardPool, address stash, uint256 pid)
PoolManagerUpdated
event PoolManagerUpdated(address newPoolManager)
PoolShutdown
event PoolShutdown(uint256 poolId)
RewardContractsUpdated
event RewardContractsUpdated(address rewards)
TreasuryUpdated
event TreasuryUpdated(address newTreasury)
Withdrawn
event Withdrawn(address indexed user, uint256 indexed poolid, uint256 amount)
errors
No errors.
creation bytecode
0x60a06040526103396002556103396003556032600455600060055534801561002657600080fd5b506040516138273803806138278339818101604052602081101561004957600080fd5b505160016000556001600160601b0319606082901b16608052600e805460ff60a01b19169055600680546001600160a01b031990811633908117909255600d8054909116905560408051918252517f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b9181900360200190a15060805160601c61371161011660003980610c155280610dd45280610e4c52806111f952806113b052806115395280611db9528061203d52806122a1528061286f5280612d0a5280612dc652506137116000f3fe6080604052600436106102465760003560e01c80636a4874a1116101395780639123d404116100b6578063cb0d5b521161007a578063cb0d5b521461081d578063d0fb020314610850578063d73792a914610865578063dc4c90d31461087a578063e77772fe1461088f578063f0f44260146108a457610246565b80639123d4041461075a578063958e2d31146107845780639ec5a894146107ae578063bf86d690146107c3578063c0c53b8b146107d857610246565b80637979426b116100fd5780637979426b1461065e5780637aef67151461068a5780637bd3b995146106bd5780637e29d6c2146107025780638da5cb5b1461074557610246565b80636a4874a1146105805780636c7b69cb146105955780636fcba377146105ce57806371192b171461060a5780637303df9a1461064957610246565b80633a088cd2116101c75780635ebaf1db1161018b5780635ebaf1db146104e557806360759fce146104fa57806360cafe841461052c57806361d027b31461055657806362d28ac71461056b57610246565b80633a088cd21461042057806343a0d06614610435578063441a3e701461046d578063472d35b91461049d57806350940618146104d057610246565b80631526fe271161020e5780631526fe27146103405780631cc51d40146103ae578063245e4bf0146103e157806326232a2e146103f6578063354af9191461040b57610246565b8063068eb19e1461024b578063075461721461027c578063081e3eda1461029157806313af4035146102b857806314cd70e4146102ed575b600080fd5b34801561025757600080fd5b506102606108d7565b604080516001600160a01b039092168252519081900360200190f35b34801561028857600080fd5b506102606108e6565b34801561029d57600080fd5b506102a66108f5565b60408051918252519081900360200190f35b3480156102c457600080fd5b506102eb600480360360208110156102db57600080fd5b50356001600160a01b03166108fb565b005b3480156102f957600080fd5b5061032c6004803603606081101561031057600080fd5b50803590602081013590604001356001600160a01b0316610996565b604080519115158252519081900360200190f35b34801561034c57600080fd5b5061036a6004803603602081101561036357600080fd5b5035610a1a565b604080516001600160a01b0397881681529587166020870152938616858501529185166060850152909316608083015291151560a082015290519081900360c00190f35b3480156103ba57600080fd5b506102eb600480360360208110156103d157600080fd5b50356001600160a01b0316610a78565b3480156103ed57600080fd5b50610260610b24565b34801561040257600080fd5b506102a6610b33565b34801561041757600080fd5b506102eb610b39565b34801561042c57600080fd5b506102a6610cb1565b34801561044157600080fd5b5061032c6004803603606081101561045857600080fd5b50803590602081013590604001351515610cb7565b34801561047957600080fd5b5061032c6004803603604081101561049057600080fd5b508035906020013561113e565b3480156104a957600080fd5b506102eb600480360360208110156104c057600080fd5b50356001600160a01b0316611156565b3480156104dc57600080fd5b506102a66111f1565b3480156104f157600080fd5b506102606111f7565b34801561050657600080fd5b5061032c6004803603604081101561051d57600080fd5b5080359060200135151561121b565b34801561053857600080fd5b5061032c6004803603602081101561054f57600080fd5b50356112c8565b34801561056257600080fd5b506102606114a8565b34801561057757600080fd5b506102a66114b7565b34801561058c57600080fd5b506102606114bd565b3480156105a157600080fd5b5061032c600480360360408110156105b857600080fd5b50803590602001356001600160a01b03166114cc565b3480156105da57600080fd5b506102eb600480360360808110156105f157600080fd5b50803590602081013590604081013590606001356115d0565b34801561061657600080fd5b5061032c6004803603606081101561062d57600080fd5b508035906001600160a01b03602082013516906040013561185c565b34801561065557600080fd5b506102a6611945565b61032c6004803603604081101561067457600080fd5b50803590602001356001600160a01b031661194b565b34801561069657600080fd5b506102eb600480360360208110156106ad57600080fd5b50356001600160a01b03166119f9565b3480156106c957600080fd5b506102eb600480360360608110156106e057600080fd5b506001600160a01b038135811691602081013582169160409091013516611a94565b34801561070e57600080fd5b5061032c6004803603606081101561072557600080fd5b506001600160a01b03813581169160208101359091169060400135611bc4565b34801561075157600080fd5b5061026061218c565b34801561076657600080fd5b5061032c6004803603602081101561077d57600080fd5b503561219b565b34801561079057600080fd5b5061032c600480360360208110156107a757600080fd5b5035612444565b3480156107ba57600080fd5b506102606124f3565b3480156107cf57600080fd5b5061032c612502565b3480156107e457600080fd5b506102eb600480360360608110156107fb57600080fd5b506001600160a01b038135811691602081013582169160409091013516612512565b34801561082957600080fd5b5061032c6004803603602081101561084057600080fd5b50356001600160a01b0316612691565b34801561085c57600080fd5b506102606126a6565b34801561087157600080fd5b506102a66126b5565b34801561088657600080fd5b506102606126bb565b34801561089b57600080fd5b506102606126ca565b3480156108b057600080fd5b506102eb600480360360208110156108c757600080fd5b50356001600160a01b03166126d9565b600b546001600160a01b031681565b6009546001600160a01b031681565b600f5490565b6006546001600160a01b03163314610942576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600680546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b9181900360200190a150565b600080600f85815481106109a657fe5b60009182526020909120600360059092020101546001600160a01b03169050338114610a01576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b610a0d85853386612774565b60019150505b9392505050565b600f8181548110610a2757fe5b6000918252602090912060059091020180546001820154600283015460038401546004909401546001600160a01b03938416955091831693908316929081169190811690600160a01b900460ff1686565b6006546001600160a01b03163314610abf576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600e546001600160a01b0316610b2157600e80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fdcf314452b77e67d7e1752b1e7b47ce7819785996d300352a78b81d1a7df53c39181900360200190a15b50565b600a546001600160a01b031681565b60055481565b6006546001600160a01b03163314610b80576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600e805460ff60a01b1916600160a01b17905560005b600f54811015610b21576000600f8281548110610baf57fe5b906000526020600020906005020190508060040160149054906101000a900460ff1615610bdc5750610ca9565b80546002820154604080516301395c5960e31b81526001600160a01b0393841660048201819052928416602482018190529151929391927f0000000000000000000000000000000000000000000000000000000000000000909216916309cae2c8916044808201926020929091908290030181600087803b158015610c6057600080fd5b505af1925050508015610c8557506040513d6020811015610c8057600080fd5b505160015b610c8e57610ca5565b5060048301805460ff60a01b1916600160a01b1790555b5050505b600101610b96565b60045481565b600060026000541415610cff576040805162461bcd60e51b815260206004820152601f6024820152600080516020613615833981519152604482015290519081900360640190fd5b6002600055600e54600160a01b900460ff1615610d4e576040805162461bcd60e51b815260206004820152600860248201526739b43aba3237bbb760c11b604482015290519081900360640190fd5b6000600f8581548110610d5d57fe5b600091825260209091206005909102016004810154909150600160a01b900460ff1615610dc2576040805162461bcd60e51b815260206004820152600e60248201526d1c1bdbdb081a5cc818db1bdcd95960921b604482015290519081900360640190fd5b80546001600160a01b0316610df981337f000000000000000000000000000000000000000000000000000000000000000088612a32565b60028201546001600160a01b031680610e4a576040805162461bcd60e51b815260206004820152600e60248201526d2167617567652073657474696e6760901b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f9609f0883836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015610eca57600080fd5b505af1158015610ede573d6000803e3d6000fd5b505050506040513d6020811015610ef457600080fd5b505060048301546001600160a01b03168015610f7257806001600160a01b031663b87bd4816040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610f4557600080fd5b505af1158015610f59573d6000803e3d6000fd5b505050506040513d6020811015610f6f57600080fd5b50505b60018401546001600160a01b0316861561108b57604080516340c10f1960e01b8152306004820152602481018a905290516001600160a01b038316916340c10f1991604480830192600092919082900301818387803b158015610fd457600080fd5b505af1158015610fe8573d6000803e3d6000fd5b50505060038601546001600160a01b03908116915061100b908316826000612a92565b61101f6001600160a01b038316828b612a92565b604080516305dc812160e31b8152336004820152602481018b905290516001600160a01b03831691632ee4090891604480830192600092919082900301818387803b15801561106d57600080fd5b505af1158015611081573d6000803e3d6000fd5b50505050506110f2565b604080516340c10f1960e01b8152336004820152602481018a905290516001600160a01b038316916340c10f1991604480830192600092919082900301818387803b1580156110d957600080fd5b505af11580156110ed573d6000803e3d6000fd5b505050505b6040805189815290518a9133917f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca9181900360200190a360019550505050505060016000559392505050565b600061114c83833333612774565b5060015b92915050565b6006546001600160a01b0316331461119d576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600780546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fe45f5e140399b0a7e12971ab020724b828fbed8ac408c420884dc7d1bbe506b49181900360200190a150565b60025481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600f848154811061122b57fe5b60009182526020808320600590920290910154604080516370a0823160e01b815233600482015290516001600160a01b03909216945084926370a0823192602480840193829003018186803b15801561128357600080fd5b505afa158015611297573d6000803e3d6000fd5b505050506040513d60208110156112ad57600080fd5b505190506112bc858286610cb7565b50600195945050505050565b600060026000541415611310576040805162461bcd60e51b815260206004820152601f6024820152600080516020613615833981519152604482015290519081900360640190fd5b60026000556008546001600160a01b0316331461135c576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b6000600f838154811061136b57fe5b60009182526020808320600590920290910180546002820154604080516301395c5960e31b81526001600160a01b0393841660048201529183166024830152519295507f000000000000000000000000000000000000000000000000000000000000000091909116936309cae2c89360448084019491939192918390030190829087803b1580156113fb57600080fd5b505af192505050801561142057506040513d602081101561141b57600080fd5b505160015b6114295761142b565b505b60048101805460ff60a01b1916600160a01b17905560028101546001600160a01b0316600090815260106020908152604091829020805460ff19169055815185815291517f2ccd633716c6ce12394d1c984ad04b6173d18aedc4f505d1537a94a98a07b6e79281900390910190a160019150506001600055919050565b600d546001600160a01b031681565b60035481565b6001546001600160a01b031681565b600080600f84815481106114dc57fe5b60009182526020909120600460059092020101546001600160a01b03169050338114611537576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef5cfb8c846040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506040513d60208110156112bc57600080fd5b60026000541415611616576040805162461bcd60e51b815260206004820152601f6024820152600080516020613615833981519152604482015290519081900360640190fd5b60026000556007546001600160a01b03163314611662576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600061167a8261167485818989612ba5565b90612ba5565b9050610fa08111156116be576040805162461bcd60e51b81526020600482015260086024820152673e4d61784665657360c01b604482015290519081900360640190fd5b61012c85101580156116d25750610dac8511155b61170f576040805162461bcd60e51b8152602060048201526009602482015268216c6f636b4665657360b81b604482015290519081900360640190fd5b61012c841015801561172357506105dc8411155b611762576040805162461bcd60e51b815260206004820152600b60248201526a217374616b65724665657360a81b604482015290519081900360640190fd5b600a8310158015611774575060648311155b6117b3576040805162461bcd60e51b815260206004820152600b60248201526a2163616c6c65724665657360a81b604482015290519081900360640190fd5b60c88211156117f5576040805162461bcd60e51b815260206004820152600960248201526821706c6174666f726d60b81b604482015290519081900360640190fd5b600285905560038490556004839055600582905560408051868152602081018690528082018590526060810184905290517f16e6f67290546b8dd0e587f4b7f67d4f61932ae17ffd8c60d3509dbc05c175fe9181900360800190a150506001600055505050565b600080600f858154811061186c57fe5b60009182526020909120600360059092020101546001600160a01b031690503381146118c7576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b8215610a0d57600954604080516340c10f1960e01b81526001600160a01b03878116600483015260248201879052915191909216916340c10f1991604480830192600092919082900301818387803b15801561192257600080fd5b505af1158015611936573d6000803e3d6000fd5b50600198975050505050505050565b610fa081565b600060026000541415611993576040805162461bcd60e51b815260206004820152601f6024820152600080516020613615833981519152604482015290519081900360640190fd5b6002600055600e54600160a01b900460ff16156119e2576040805162461bcd60e51b815260206004820152600860248201526739b43aba3237bbb760c11b604482015290519081900360640190fd5b6119ec8383612bff565b5060018060005592915050565b6008546001600160a01b03163314611a40576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600880546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f70a64736553c84939f57deec269299882abbbee8dc4f316eccbc6fce57e4d3cf9181900360200190a150565b6006546001600160a01b03163314611adb576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600b80546001600160a01b0319166001600160a01b0384811691909117909155600a5416611b7657600a80546001600160a01b038086166001600160a01b03199283168117909355600c805485831693168317905560408051938452908516602084015282810191909152517f013ea07699fbd5315b997a706906fb94a81c616771f1052b406707d7bfc6aa279181900360600190a1611bbf565b6040805160008082526001600160a01b03851660208301528183015290517f013ea07699fbd5315b997a706906fb94a81c616771f1052b406707d7bfc6aa279181900360600190a15b505050565b6008546000906001600160a01b031633148015611beb5750600e54600160a01b900460ff16155b611c25576040805162461bcd60e51b815260206004808301919091526024820152630858591960e21b604482015290519081900360640190fd5b6001600160a01b03831615801590611c4557506001600160a01b03841615155b611c7f576040805162461bcd60e51b815260206004820152600660248201526521706172616d60d01b604482015290519081900360640190fd5b600f54600c5460408051630452a26760e21b81526001600160a01b0388811660048301529151600093929092169163114a899c9160248082019260209290919082900301818787803b158015611cd457600080fd5b505af1158015611ce8573d6000803e3d6000fd5b505050506040513d6020811015611cfe57600080fd5b5051600a5460408051632f7260f160e01b8152600481018690526001600160a01b0380851660248301528a8116604483015291519394506000939190921691632f7260f191606480830192602092919082900301818787803b158015611d6357600080fd5b505af1158015611d77573d6000803e3d6000fd5b505050506040513d6020811015611d8d57600080fd5b5051600b5460408051634ce5896f60e11b8152600481018790526001600160a01b038a811660248301527f000000000000000000000000000000000000000000000000000000000000000081166044830152606482018a9052915193945060009391909216916399cb12de91608480830192602092919082900301818787803b158015611e1957600080fd5b505af1158015611e2d573d6000803e3d6000fd5b505050506040513d6020811015611e4357600080fd5b50516040805160c0810182526001600160a01b03808c16825286811660208381019182528c83168486018181528985166060870190815285891660808801818152600060a08a01818152600f8054600181810183559184529b516005909c027f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802810180549d8d166001600160a01b03199e8f1617905599517f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8038b018054918d16918e1691909117905595517f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8048a018054918c16918d1691909117905593517f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80589018054918b16918c1691909117905590517f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac806909701805493511515600160a01b0260ff60a01b199890991693909916929092179590951695909517909555835260109052929020805460ff191690911790559091501561211c5780600f8581548110611feb57fe5b600091825260208083206004600590930201820180546001600160a01b039586166001600160a01b031990911617905560408051637d1cb25960e11b81528686169381019390935260016024840152517f00000000000000000000000000000000000000000000000000000000000000009094169363fa3964b2936044808501948390030190829087803b15801561208257600080fd5b505af1158015612096573d6000803e3d6000fd5b505050506040513d60208110156120ac57600080fd5b5050600a546040805163b84614a560e01b81526001600160a01b038481166004830152600160248301529151919092169163b84614a591604480830192600092919082900301818387803b15801561210357600080fd5b505af1158015612117573d6000803e3d6000fd5b505050505b604080516001600160a01b03808b168252808a1660208301528086168284015280851660608301528316608082015260a0810186905290517fca1a6de26e4422518df9ab614eefa07fac43e4f4c7d704dbf82e903e582659ca9181900360c00190a1506001979650505050505050565b6006546001600160a01b031681565b600080600f83815481106121ab57fe5b60009182526020909120600460059092020101546001600160a01b03169050338114612206576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b6000600f848154811061221557fe5b6000918252602080832060026005909302019190910154604080516001600160a01b038781166024808401919091528351808403820181526044938401855295860180516001600160e01b0316635efcc08b60e11b1781529351635b0e93fb60e11b815294821660048601818152918601889052606093860193845286516064870152865190985095967f00000000000000000000000000000000000000000000000000000000000000009092169563b61d27f6958995939489949092608490920191808383895b838110156122f55781810151838201526020016122dd565b50505050905090810190601f1680156123225780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561234357600080fd5b505af1158015612357573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561238057600080fd5b8151602083018051604051929492938301929190846401000000008211156123a757600080fd5b9083019060208201858111156123bc57600080fd5b82516401000000008111828201881017156123d657600080fd5b82525081516020918201929091019080838360005b838110156124035781810151838201526020016123eb565b50505050905090810190601f1680156124305780820380516001836020036101000a031916815260200191505b506040525060019998505050505050505050565b600080600f838154811061245457fe5b6000918252602080832060016005909302019190910154604080516370a0823160e01b815233600482015290516001600160a01b03909216945084926370a0823192602480840193829003018186803b1580156124b057600080fd5b505afa1580156124c4573d6000803e3d6000fd5b505050506040513d60208110156124da57600080fd5b505190506124e8848261113e565b506001949350505050565b600e546001600160a01b031681565b600e54600160a01b900460ff1681565b6006546001600160a01b03163314612559576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b6001546001600160a01b0316156125a3576040805162461bcd60e51b81526020600482015260096024820152684f6e6c79206f6e636560b81b604482015290519081900360640190fd5b600980546001600160a01b038086166001600160a01b031992831617909255600180548584169083161790556006805492841692821683179055600780548216831790556008805490911690911790556040805133815290517f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b9181900360200190a16040805133815290517fe45f5e140399b0a7e12971ab020724b828fbed8ac408c420884dc7d1bbe506b49181900360200190a16040805133815290517f70a64736553c84939f57deec269299882abbbee8dc4f316eccbc6fce57e4d3cf9181900360200190a1505050565b60106020526000908152604090205460ff1681565b6007546001600160a01b031681565b61271081565b6008546001600160a01b031681565b600c546001600160a01b031681565b6007546001600160a01b03163314612720576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d19181900360200190a150565b600260005414156127ba576040805162461bcd60e51b815260206004820152601f6024820152600080516020613615833981519152604482015290519081900360640190fd5b60026000908155600f8054869081106127cf57fe5b60009182526020822060059091020180546002820154600183015460408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018c9052915195975093811695928116949116928392639dc29fac9260448084019382900301818387803b15801561284257600080fd5b505af1158015612856573d6000803e3d6000fd5b505050506004840154600160a01b900460ff16612922577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d9caed1284848a6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156128f557600080fd5b505af1158015612909573d6000803e3d6000fd5b505050506040513d602081101561291f57600080fd5b50505b60048401546001600160a01b031680158015906129495750600e54600160a01b900460ff16155b801561296157506004850154600160a01b900460ff16155b156129ce57806001600160a01b031663b87bd4816040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156129a157600080fd5b505af11580156129b5573d6000803e3d6000fd5b505050506040513d60208110156129cb57600080fd5b50505b6129e26001600160a01b038516878a6131db565b6040805189815290518a916001600160a01b038916917f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc69181900360200190a35050600160005550505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612a8c908590613229565b50505050565b801580612b18575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015612aea57600080fd5b505afa158015612afe573d6000803e3d6000fd5b505050506040513d6020811015612b1457600080fd5b5051155b612b535760405162461bcd60e51b81526004018080602001828103825260368152602001806136a66036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611bbf908490613229565b600082820183811015610a13576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000600f8381548110612c0e57fe5b600091825260209091206005909102016004810154909150600160a01b900460ff1615612c73576040805162461bcd60e51b815260206004820152600e60248201526d1c1bdbdb081a5cc818db1bdcd95960921b604482015290519081900360640190fd5b600154604080516370a0823160e01b8152306004820152905160009283926001600160a01b03909116916370a0823191602480820192602092909190829003018186803b158015612cc357600080fd5b505afa158015612cd7573d6000803e3d6000fd5b505050506040513d6020811015612ced57600080fd5b5051600154604080516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015612d6257600080fd5b505afa158015612d76573d6000803e3d6000fd5b505050506040513d6020811015612d8c57600080fd5b505190506000612d9c8383612ba5565b600286015460408051631ff4de0360e11b81526001600160a01b03928316600482015290519293507f000000000000000000000000000000000000000000000000000000000000000090911691633fe9bc06916024808201926020929091908290030181600087803b158015612e1157600080fd5b505af1158015612e25573d6000803e3d6000fd5b505050506040513d6020811015612e3b57600080fd5b5050600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015612e8857600080fd5b505afa158015612e9c573d6000803e3d6000fd5b505050506040513d6020811015612eb257600080fd5b50519050612ec081836132da565b9450600082118015612edc5750600d546001600160a01b031615155b15612efe57600d54600154612efe916001600160a01b039182169116846131db565b5050505060048201546001600160a01b03168015612fec57806001600160a01b031663372500ab6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612f5157600080fd5b505af1158015612f65573d6000803e3d6000fd5b505050506040513d6020811015612f7b57600080fd5b50506040805163654580bb60e11b815290516001600160a01b0383169163ca8b01769160048083019260209291908290030181600087803b158015612fbf57600080fd5b505af1158015612fd3573d6000803e3d6000fd5b505050506040513d6020811015612fe957600080fd5b50505b81156131d457600061301561271061300f6002548661333790919063ffffffff16565b90613390565b9050600061303461271061300f6003548761333790919063ffffffff16565b9050600061305361271061300f6004548861333790919063ffffffff16565b9050600061307261271061300f6005548961333790919063ffffffff16565b90506000613084826116748787612ba5565b905061309a8361309489846132da565b906132da565b6001549097506130b4906001600160a01b031633856131db565b60038801546001546001600160a01b03918216916130d49116828a6131db565b806001600160a01b031663590a41f5896040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561311a57600080fd5b505af115801561312e573d6000803e3d6000fd5b5050600e5460015461314f93506001600160a01b03908116925016846131db565b600e546040805163d288227360e01b815233600482015260248101859052604481018b90526001600160a01b038d811660648301529151919092169163d288227391349160848082019260009290919082900301818588803b1580156131b457600080fd5b505af11580156131c8573d6000803e3d6000fd5b50505050505050505050505b5050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611bbf9084905b606061327e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166133f79092919063ffffffff16565b805190915015611bbf5780806020019051602081101561329d57600080fd5b5051611bbf5760405162461bcd60e51b815260040180806020018281038252602a81526020018061367c602a913960400191505060405180910390fd5b600082821115613331576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261334657506000611150565b8282028284828161335357fe5b0414610a135760405162461bcd60e51b815260040180806020018281038252602181526020018061365b6021913960400191505060405180910390fd5b60008082116133e6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816133ef57fe5b049392505050565b6060613406848460008561340e565b949350505050565b60608247101561344f5760405162461bcd60e51b81526004018080602001828103825260268152602001806136356026913960400191505060405180910390fd5b6134588561356a565b6134a9576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106134e85780518252601f1990920191602091820191016134c9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461354a576040519150601f19603f3d011682016040523d82523d6000602084013e61354f565b606091505b509150915061355f828286613570565b979650505050505050565b3b151590565b6060831561357f575081610a13565b82511561358f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135d95781810151838201526020016135c1565b50505050905090810190601f1680156136065780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5265656e7472616e637947756172643a207265656e7472616e742063616c6c00416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a264697066735822122073195a7ec07ff9bb53a3f7360471631febb71777b1e718191199665b1b72081e64736f6c634300060c0033000000000000000000000000c181edc719480bd089b94647c2dc504e2700a2b0