0 txs
10 calls
constructor
No constructor.
functions
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
DENOMINATOR
viewfunction DENOMINATOR() view returns (uint256)
earned
viewfunction earned(address _account, address _rewardToken) view returns (uint256)
feeCollector
viewfunction feeCollector() view returns (address)
getPoolsLength
viewfunction getPoolsLength() view returns (uint256)
getRewardTokens
viewfunction getRewardTokens() view returns (address[])
isVotePool
viewfunction isVotePool(address) view returns (bool)
keeper
viewfunction keeper() view returns (address)
lastHarvest
viewfunction lastHarvest() view returns (uint256)
nativeZapper
viewfunction nativeZapper() view returns (address)
owner
viewfunction owner() view returns (address)
protocolFee
viewfunction protocolFee() view returns (uint256)
quo
viewfunction quo() view returns (address)
rewardPool
viewfunction rewardPool() view returns (address)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalWeight
viewfunction totalWeight() view returns (uint256)
votePools
viewfunction votePools(uint256) view returns (address)
voterProxy
viewfunction voterProxy() view returns (address)
votingWeights
viewfunction votingWeights(address) view returns (uint256)
deletePool
nonpayablefunction deletePool(address _lp)
getReward
nonpayablefunction getReward()
harvestManually
nonpayablefunction harvestManually(uint256 _epoch) returns (address[] _pools, address[][] rewardTokensList, uint256[][] earnedRewards)
initialize
nonpayablefunction initialize()
renounceOwnership
nonpayablefunction renounceOwnership()
setKeeper
nonpayablefunction setKeeper(address _keeper)
setParams
nonpayablefunction setParams(address _quo, address _thenaVoterProxy, address _rewardPool, address _nativeZapper, address _feeCollector)
setRewardPool
nonpayablefunction setRewardPool(address _rewardPool)
stakeFor
nonpayablefunction stakeFor(address _for, uint256 _amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateVote
nonpayablefunction updateVote()
updateWeight
nonpayablefunction updateWeight(address _lp, uint256 _weight)
updateWeights
nonpayablefunction updateWeights(address[] _lps, uint256[] _weights)
withdrawFor
nonpayablefunction withdrawFor(address _for, uint256 _amount)
events
KeeperUpdated
event KeeperUpdated(address _keeper)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolDeleted
event PoolDeleted(address _lp)
QuoHarvested
event QuoHarvested(uint256 _amount, uint256 _fee)
WeightUpdate
event WeightUpdate(address _lp, uint256 _weight)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50613918806100206000396000f3fe6080604052600436106101f25760003560e01c8063829f6fec1161010d578063b0e21e8a116100a0578063ce883cdb1161006f578063ce883cdb1461051c578063db518db214610531578063e789b14814610551578063f1a392da14610571578063f2fde38b14610586576101f9565b8063b0e21e8a146104b0578063baa53e97146104c5578063c415b95c146104e5578063c4f59f9b146104fa576101f9565b806396c82e57116100dc57806396c82e57146104465780639776e94b1461045b57806397b0f2051461047b578063aced16611461049b576101f9565b8063829f6fec146103d85780638310a9a9146104075780638da5cb5b1461041c578063918f867414610431576101f9565b8063594aa96711610185578063748747e611610154578063748747e61461036357806374c5ad4f1461038357806378238c37146103a35780638129fc1c146103c3576101f9565b8063594aa9671461030457806366666aa91461031957806370a082311461032e578063715018a61461034e576101f9565b80632ee40908116101c15780632ee40908146102825780633d18b912146102a25780633edcd7bc146102b7578063493da753146102e4576101f9565b80630e82e52a146101fe57806318160ddd146102155780631ba980b314610240578063211dc32d14610262576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136105a6565b005b34801561022157600080fd5b5061022a6105e3565b604051610237919061382c565b60405180910390f35b34801561024c57600080fd5b50610255610665565b6040516102379190613162565b34801561026e57600080fd5b5061022a61027d366004612db3565b610674565b34801561028e57600080fd5b5061021361029d366004612e5b565b610700565b3480156102ae57600080fd5b50610213610cf5565b3480156102c357600080fd5b506102d76102d2366004612d7b565b610d59565b6040516102379190613310565b3480156102f057600080fd5b5061022a6102ff366004612d7b565b610d6e565b34801561031057600080fd5b50610255610d80565b34801561032557600080fd5b50610255610d8f565b34801561033a57600080fd5b5061022a610349366004612d7b565b610d9e565b34801561035a57600080fd5b50610213610e1f565b34801561036f57600080fd5b5061021361037e366004612d7b565b610e9e565b34801561038f57600080fd5b5061021361039e366004612f8b565b610f29565b3480156103af57600080fd5b506102136103be366004612d7b565b610fe7565b3480156103cf57600080fd5b50610213611064565b3480156103e457600080fd5b506103f86103f33660046130a1565b6110ef565b604051610237939291906131e7565b34801561041357600080fd5b506102556114e7565b34801561042857600080fd5b506102556114f6565b34801561043d57600080fd5b5061022a611505565b34801561045257600080fd5b5061022a61150b565b34801561046757600080fd5b50610213610476366004612e5b565b611511565b34801561048757600080fd5b50610213610496366004612d7b565b61156c565b3480156104a757600080fd5b5061025561181f565b3480156104bc57600080fd5b5061022a61182e565b3480156104d157600080fd5b506102556104e03660046130a1565b611834565b3480156104f157600080fd5b5061025561185b565b34801561050657600080fd5b5061050f61186a565b60405161023791906131d4565b34801561052857600080fd5b5061022a6118eb565b34801561053d57600080fd5b5061021361054c366004612e5b565b6118f1565b34801561055d57600080fd5b5061021361056c366004612deb565b611df6565b34801561057d57600080fd5b5061022a611f55565b34801561059257600080fd5b506102136105a1366004612d7b565b611f5b565b6067546001600160a01b031633146105d95760405162461bcd60e51b81526004016105d09061349d565b60405180910390fd5b6105e1612012565b565b606a54604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561062857600080fd5b505afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066091906130b9565b905090565b6067546001600160a01b031681565b606a5460405163211dc32d60e01b81526000916001600160a01b03169063211dc32d906106a79086908690600401613176565b60206040518083038186803b1580156106bf57600080fd5b505afa1580156106d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f791906130b9565b90505b92915050565b6067546001600160a01b0316331461072a5760405162461bcd60e51b81526004016105d09061349d565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b15801561076f57600080fd5b505afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a791906130b9565b905062093a80606e5482031115610c8457606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f16906107e9903090600401613162565b60006040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261083d919081019061304e565b905060005b8151811015610c7c576067548251606091829182916001600160a01b03169063580da7089087908790811061087357fe5b6020026020010151336040518363ffffffff1660e01b8152600401610899929190613835565b60006040518083038186803b1580156108b157600080fd5b505afa1580156108c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108ed9190810190612eb9565b9250925092506000805b8351811015610b355760005b84828151811061090f57fe5b602002602001015151811015610b2c57600085838151811061092d57fe5b6020026020010151828151811061094057fe5b60200260200101519050600085848151811061095857fe5b6020026020010151838151811061096b57fe5b6020026020010151905060006001600160a01b0316826001600160a01b03161480610994575080155b156109a0575050610b24565b6066546001600160a01b03838116911614156109c9576109c08582612143565b94505050610b24565b6109d282612168565b15610a7757606954606654604051631f6ab32960e11b8152610a70926001600160a01b0390811692633ed56652928692610a1792899291169084903090600401613190565b6020604051808303818588803b158015610a3057600080fd5b505af1158015610a44573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a6991906130b9565b8690612143565b9450610b21565b606954610a8f9083906001600160a01b03168361218d565b606954606654604051631f6ab32960e11b8152610b1e926001600160a01b0390811692633ed5665292610acc928892169087903090600401613190565b602060405180830381600087803b158015610ae657600080fd5b505af1158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6991906130b9565b94505b50505b600101610903565b506001016108f7565b508015610c6c57600080606d54118015610b5957506068546001600160a01b031615155b15610b9f57610b7f612710610b7984606d5461223e90919063ffffffff16565b90612278565b606854606654919250610b9f916001600160a01b039081169116836122ba565b7f6d85c6aea411c22567895f1381dc4a57a92c6b3b6edc5d4d108b88d16e26256b8282604051610bd092919061384c565b60405180910390a1610be282826122eb565b606654606a54919350610c02916001600160a01b0391821691168461218d565b606a546066546040516304d0c2c560e01b81526001600160a01b03928316926304d0c2c592610c389291169086906004016131bb565b600060405180830381600087803b158015610c5257600080fd5b505af1158015610c66573d6000803e3d6000fd5b50505050505b5050600190920191506108429050565b5050606e8190555b606a546040516305dc812160e31b81526001600160a01b0390911690632ee4090890610cb690869086906004016131bb565b600060405180830381600087803b158015610cd057600080fd5b505af1158015610ce4573d6000803e3d6000fd5b50505050610cf0612012565b505050565b606a54604051630c00007b60e41b81526001600160a01b039091169063c00007b090610d25903390600401613162565b600060405180830381600087803b158015610d3f57600080fd5b505af1158015610d53573d6000803e3d6000fd5b50505050565b606f6020526000908152604090205460ff1681565b60706020526000908152604090205481565b6066546001600160a01b031681565b606a546001600160a01b031681565b606a546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610dcf908590600401613162565b60206040518083038186803b158015610de757600080fd5b505afa158015610dfb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa91906130b9565b610e2761232d565b6033546001600160a01b03908116911614610e545760405162461bcd60e51b81526004016105d0906135ea565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b610ea661232d565b6033546001600160a01b03908116911614610ed35760405162461bcd60e51b81526004016105d0906135ea565b606580546001600160a01b0319166001600160a01b0383161790556040517f0425bcd291db1d48816f2a98edc7ecaf6dd5c64b973d9e4b3b6b750763dc6c2e90610f1e908390613162565b60405180910390a150565b610f316114f6565b6001600160a01b0316336001600160a01b03161480610f5a57506065546001600160a01b031633145b610f765760405162461bcd60e51b81526004016105d0906136f6565b8051825114610f975760405162461bcd60e51b81526004016105d09061334e565b60005b8251811015610cf0576000838281518110610fb157fe5b602002602001015190506000838381518110610fc957fe5b60200260200101519050610fdd8282612331565b5050600101610f9a565b610fef61232d565b6033546001600160a01b0390811691161461101c5760405162461bcd60e51b81526004016105d0906135ea565b6001600160a01b0381166110425760405162461bcd60e51b81526004016105d09061361f565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff168061107d575061107d61251e565b8061108b575060005460ff16155b6110a75760405162461bcd60e51b81526004016105d09061355b565b600054610100900460ff161580156110d2576000805460ff1961ff0019909116610100171660011790555b6110da612524565b80156110ec576000805461ff00191690555b50565b60608060606110fc61232d565b6033546001600160a01b039081169116146111295760405162461bcd60e51b81526004016105d0906135ea565b606754604051630b01b4e160e31b81526001600160a01b039091169063580da7089061115b9087903090600401613835565b60006040518083038186803b15801561117357600080fd5b505afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af9190810190612eb9565b6067546040516334987e9560e11b815293965091945092506001600160a01b031690636930fd2a906111e590879060040161382c565b600060405180830381600087803b1580156111ff57600080fd5b505af1158015611213573d6000803e3d6000fd5b505050506000805b83518110156113ae5760005b84828151811061123357fe5b6020026020010151518110156113a557600085838151811061125157fe5b6020026020010151828151811061126457fe5b60200260200101519050600085848151811061127c57fe5b6020026020010151838151811061128f57fe5b6020026020010151905060006001600160a01b0316826001600160a01b031614806112b8575080155b156112c457505061139d565b6066546001600160a01b03838116911614156112ed576112e48582612143565b9450505061139d565b6112f682612168565b1561134257606954606654604051631f6ab32960e11b815261133b926001600160a01b0390811692633ed56652928692610a1792899291169084903090600401613190565b945061139a565b60695461135a9083906001600160a01b03168361218d565b606954606654604051631f6ab32960e11b8152611397926001600160a01b0390811692633ed5665292610acc928892169087903090600401613190565b94505b50505b600101611227565b5060010161121b565b5080156114df57600080606d541180156113d257506068546001600160a01b031615155b15611412576113f2612710610b7984606d5461223e90919063ffffffff16565b606854606654919250611412916001600160a01b039081169116836122ba565b7f6d85c6aea411c22567895f1381dc4a57a92c6b3b6edc5d4d108b88d16e26256b828260405161144392919061384c565b60405180910390a161145582826122eb565b606654606a54919350611475916001600160a01b0391821691168461218d565b606a546066546040516304d0c2c560e01b81526001600160a01b03928316926304d0c2c5926114ab9291169086906004016131bb565b600060405180830381600087803b1580156114c557600080fd5b505af11580156114d9573d6000803e3d6000fd5b50505050505b509193909250565b6069546001600160a01b031681565b6033546001600160a01b031690565b61271081565b606c5481565b6115196114f6565b6001600160a01b0316336001600160a01b0316148061154257506065546001600160a01b031633145b61155e5760405162461bcd60e51b81526004016105d0906136f6565b6115688282612331565b5050565b61157461232d565b6033546001600160a01b039081169116146115a15760405162461bcd60e51b81526004016105d0906135ea565b6001600160a01b0381166000908152606f602052604090205460ff166115d95760405162461bcd60e51b81526004016105d0906133a7565b60405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd590611613908590600401613162565b60206040518083038186803b15801561162b57600080fd5b505afa15801561163f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116639190612d97565b6001600160a01b0316141561168a5760405162461bcd60e51b81526004016105d09061350d565b6001600160a01b0381166000908152606f60205260409020805460ff19169055606b546060600019820167ffffffffffffffff811180156116ca57600080fd5b506040519080825280602002602001820160405280156116f4578160200160208202803683370190505b5090506000805b838110156117a057846001600160a01b0316606b828154811061171a57fe5b6000918252602090912001546001600160a01b0316141561173e5760019150611798565b606b818154811061174b57fe5b9060005260206000200160009054906101000a90046001600160a01b0316838383038151811061177757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6001016116fb565b5081516117b490606b906020850190612b6c565b506001600160a01b03841660009081526070602052604081208054606c8054919091039055556117e2612012565b7f830dfd6ccb35ca729ef74cbccaf90bcb698344910b951a9c242cf91eccf6beba846040516118119190613162565b60405180910390a150505050565b6065546001600160a01b031681565b606d5481565b606b818154811061184157fe5b6000918252602090912001546001600160a01b0316905081565b6068546001600160a01b031681565b606a546040805163c4f59f9b60e01b815290516060926001600160a01b03169163c4f59f9b916004808301926000929190829003018186803b1580156118af57600080fd5b505afa1580156118c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106609190810190612e86565b606b5490565b6067546001600160a01b0316331461191b5760405162461bcd60e51b81526004016105d09061349d565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b15801561196057600080fd5b505afa158015611974573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199891906130b9565b905062093a80606e5482031115611dc457606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f16906119da903090600401613162565b60006040518083038186803b1580156119f257600080fd5b505afa158015611a06573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2e919081019061304e565b905060005b8151811015611dbc576067548251606091829182916001600160a01b03169063580da70890879087908110611a6457fe5b6020026020010151336040518363ffffffff1660e01b8152600401611a8a929190613835565b60006040518083038186803b158015611aa257600080fd5b505afa158015611ab6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ade9190810190612eb9565b9250925092506000805b8351811015611c7b5760005b848281518110611b0057fe5b602002602001015151811015611c72576000858381518110611b1e57fe5b60200260200101518281518110611b3157fe5b602002602001015190506000858481518110611b4957fe5b60200260200101518381518110611b5c57fe5b6020026020010151905060006001600160a01b0316826001600160a01b03161480611b85575080155b15611b91575050611c6a565b6066546001600160a01b0383811691161415611bba57611bb18582612143565b94505050611c6a565b611bc382612168565b15611c0f57606954606654604051631f6ab32960e11b8152611c08926001600160a01b0390811692633ed56652928692610a1792899291169084903090600401613190565b9450611c67565b606954611c279083906001600160a01b03168361218d565b606954606654604051631f6ab32960e11b8152611c64926001600160a01b0390811692633ed5665292610acc928892169087903090600401613190565b94505b50505b600101611af4565b50600101611ae8565b508015611dac57600080606d54118015611c9f57506068546001600160a01b031615155b15611cdf57611cbf612710610b7984606d5461223e90919063ffffffff16565b606854606654919250611cdf916001600160a01b039081169116836122ba565b7f6d85c6aea411c22567895f1381dc4a57a92c6b3b6edc5d4d108b88d16e26256b8282604051611d1092919061384c565b60405180910390a1611d2282826122eb565b606654606a54919350611d42916001600160a01b0391821691168461218d565b606a546066546040516304d0c2c560e01b81526001600160a01b03928316926304d0c2c592611d789291169086906004016131bb565b600060405180830381600087803b158015611d9257600080fd5b505af1158015611da6573d6000803e3d6000fd5b50505050505b505060019092019150611a339050565b5050606e8190555b606a54604051636da8c6d960e11b81526001600160a01b039091169063db518db290610cb690869086906004016131bb565b611dfe61232d565b6033546001600160a01b03908116911614611e2b5760405162461bcd60e51b81526004016105d0906135ea565b6067546001600160a01b031615611e545760405162461bcd60e51b81526004016105d090613466565b6001600160a01b038516611e7a5760405162461bcd60e51b81526004016105d090613805565b6001600160a01b038316611ea05760405162461bcd60e51b81526004016105d09061361f565b6001600160a01b038216611ec65760405162461bcd60e51b81526004016105d090613377565b6001600160a01b038116611eec5760405162461bcd60e51b81526004016105d09061364d565b606680546001600160a01b03199081166001600160a01b039788161790915560678054821695871695909517909455606980548516928616929092179091556068805484169185169190911790556101f4606d55606a8054909216921691909117905542606e55565b606e5481565b611f6361232d565b6033546001600160a01b03908116911614611f905760405162461bcd60e51b81526004016105d0906135ea565b6001600160a01b038116611fb65760405162461bcd60e51b81526004016105d0906133cd565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b606b5480156110ec5760608167ffffffffffffffff8111801561203457600080fd5b5060405190808252806020026020018201604052801561205e578160200160208202803683370190505b50905060005b828110156120d9576000606b828154811061207b57fe5b6000918252602080832090910154606c546001600160a01b0390911680845260709092526040909220549092506120b99190610b799061271061223e565b8383815181106120c557fe5b602090810291909101015250600101612064565b506067546040516306f2c54560e11b81526001600160a01b0390911690630de58a8a9061210d90606b9085906004016132ab565b600060405180830381600087803b15801561212757600080fd5b505af115801561213b573d6000803e3d6000fd5b505050505050565b6000828201838110156106f75760405162461bcd60e51b81526004016105d090613413565b6001600160a01b03811673efefefefefefefefefefefefefefefefefefefef14919050565b604051636eb1769f60e11b815281906001600160a01b0385169063dd62ed3e906121bd9030908790600401613176565b60206040518083038186803b1580156121d557600080fd5b505afa1580156121e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220d91906130b9565b1015610cf0576122286001600160a01b0384168360006125a2565b610cf06001600160a01b038416836000196125a2565b60008261224d575060006106fa565b8282028284828161225a57fe5b04146106f75760405162461bcd60e51b81526004016105d0906135a9565b60006106f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061269c565b6122cc836001600160a01b0316612168565b156122e0576122db82826126d5565b610cf0565b610cf0838383612751565b60006106f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061283f565b3390565b6001600160a01b03821630141561235a5760405162461bcd60e51b81526004016105d09061344a565b6001600160a01b0382166000908152606f602052604090205460ff166124915760405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd5906123b4908690600401613162565b60206040518083038186803b1580156123cc57600080fd5b505afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190612d97565b6001600160a01b0316141561242b5760405162461bcd60e51b81526004016105d09061350d565b6001600160a01b0382166000818152606f60205260408120805460ff19166001908117909155606b805491820181559091527fbd43cb8ece8cd1863bcd6082d65c5b0d25665b1ce17980f0da43c0ed545f98b40180546001600160a01b03191690911790555b6001600160a01b038216600090815260706020526040902054606c546124c29183916124bc916122eb565b90612143565b606c556001600160a01b03821660009081526070602052604090819020829055517fbe8a0bfdbcaa516a8371824f85d831867f7faab1dbc60dbed04a63e2a25c618f9061251290849084906131bb565b60405180910390a15050565b303b1590565b600054610100900460ff168061253d575061253d61251e565b8061254b575060005460ff16155b6125675760405162461bcd60e51b81526004016105d09061355b565b600054610100900460ff16158015612592576000805460ff1961ff0019909116610100171660011790555b61259a61286b565b6110da612945565b80158061262a5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906125d89030908690600401613176565b60206040518083038186803b1580156125f057600080fd5b505afa158015612604573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262891906130b9565b155b6126465760405162461bcd60e51b81526004016105d0906137af565b610cf08363095ea7b360e01b84846040516024016126659291906131bb565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526129c6565b600081836126bd5760405162461bcd60e51b81526004016105d0919061331b565b5060008385816126c957fe5b049150505b9392505050565b6000826001600160a01b0316826040516126ee9061315f565b60006040518083038185875af1925050503d806000811461272b576040519150601f19603f3d011682016040523d82523d6000602084013e612730565b606091505b5050905080610cf05760405162461bcd60e51b81526004016105d09061367d565b60006060846001600160a01b031663a9059cbb85856040516024016127779291906131bb565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516127b09190613143565b6000604051808303816000865af19150503d80600081146127ed576040519150601f19603f3d011682016040523d82523d6000602084013e6127f2565b606091505b509150915081801561281c57508051158061281c57508080602001905181019061281c9190613081565b6128385760405162461bcd60e51b81526004016105d090613718565b5050505050565b600081848411156128635760405162461bcd60e51b81526004016105d0919061331b565b505050900390565b600054610100900460ff1680612884575061288461251e565b80612892575060005460ff16155b6128ae5760405162461bcd60e51b81526004016105d09061355b565b600054610100900460ff161580156128d9576000805460ff1961ff0019909116610100171660011790555b60006128e361232d565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156110ec576000805461ff001916905550565b600054610100900460ff168061295e575061295e61251e565b8061296c575060005460ff16155b6129885760405162461bcd60e51b81526004016105d09061355b565b600054610100900460ff161580156110da576000805460ff1961ff00199091166101001716600117905580156110ec576000805461ff001916905550565b6060612a1b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612a559092919063ffffffff16565b805190915015610cf05780806020019051810190612a399190613081565b610cf05760405162461bcd60e51b81526004016105d090613765565b6060612a648484600085612a6c565b949350505050565b606082471015612a8e5760405162461bcd60e51b81526004016105d0906134c7565b612a9785612b2d565b612ab35760405162461bcd60e51b81526004016105d0906136bf565b60006060866001600160a01b03168587604051612ad09190613143565b60006040518083038185875af1925050503d8060008114612b0d576040519150601f19603f3d011682016040523d82523d6000602084013e612b12565b606091505b5091509150612b22828286612b33565b979650505050505050565b3b151590565b60608315612b425750816126ce565b825115612b525782518084602001fd5b8160405162461bcd60e51b81526004016105d0919061331b565b828054828255906000526020600020908101928215612bc1579160200282015b82811115612bc157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612b8c565b50612bcd929150612bd1565b5090565b5b80821115612bcd5780546001600160a01b0319168155600101612bd2565b600082601f830112612c00578081fd5b8151612c13612c0e82613881565b61385a565b818152915060208083019084810181840286018201871015612c3457600080fd5b60005b84811015612c5c578151612c4a816138cd565b84529282019290820190600101612c37565b505050505092915050565b600082601f830112612c77578081fd5b8151612c85612c0e82613881565b818152915060208083019084810160005b84811015612c5c57612cad888484518a0101612d1d565b84529282019290820190600101612c96565b600082601f830112612ccf578081fd5b8135612cdd612c0e82613881565b818152915060208083019084810181840286018201871015612cfe57600080fd5b60005b84811015612c5c57813584529282019290820190600101612d01565b600082601f830112612d2d578081fd5b8151612d3b612c0e82613881565b818152915060208083019084810181840286018201871015612d5c57600080fd5b60005b84811015612c5c57815184529282019290820190600101612d5f565b600060208284031215612d8c578081fd5b81356106f7816138cd565b600060208284031215612da8578081fd5b81516106f7816138cd565b60008060408385031215612dc5578081fd5b8235612dd0816138cd565b91506020830135612de0816138cd565b809150509250929050565b600080600080600060a08688031215612e02578081fd5b8535612e0d816138cd565b94506020860135612e1d816138cd565b93506040860135612e2d816138cd565b92506060860135612e3d816138cd565b91506080860135612e4d816138cd565b809150509295509295909350565b60008060408385031215612e6d578182fd5b8235612e78816138cd565b946020939093013593505050565b600060208284031215612e97578081fd5b815167ffffffffffffffff811115612ead578182fd5b612a6484828501612bf0565b600080600060608486031215612ecd578283fd5b835167ffffffffffffffff80821115612ee4578485fd5b612ef087838801612bf0565b9450602091508186015181811115612f06578485fd5b8601601f81018813612f16578485fd5b8051612f24612c0e82613881565b81815284810190838601885b84811015612f5957612f478d898451890101612bf0565b84529287019290870190600101612f30565b505060408a0151909750945050505080821115612f74578283fd5b50612f8186828701612c67565b9150509250925092565b60008060408385031215612f9d578182fd5b823567ffffffffffffffff80821115612fb4578384fd5b818501915085601f830112612fc7578384fd5b8135612fd5612c0e82613881565b80828252602080830192508086018a828387028901011115612ff5578889fd5b8896505b8487101561302057803561300c816138cd565b845260019690960195928101928101612ff9565b509096508701359350505080821115613037578283fd5b5061304485828601612cbf565b9150509250929050565b60006020828403121561305f578081fd5b815167ffffffffffffffff811115613075578182fd5b612a6484828501612d1d565b600060208284031215613092578081fd5b815180151581146106f7578182fd5b6000602082840312156130b2578081fd5b5035919050565b6000602082840312156130ca578081fd5b5051919050565b6000815180845260208085019450808401835b838110156131095781516001600160a01b0316875295820195908201906001016130e4565b509495945050505050565b6000815180845260208085019450808401835b8381101561310957815187529582019590820190600101613127565b600082516131558184602087016138a1565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03948516815292841660208401526040830191909152909116606082015260800190565b6001600160a01b03929092168252602082015260400190565b6000602082526106f760208301846130d1565b6000606082526131fa60608301866130d1565b602083820381850152818651613210818561382c565b91508193508281028201838901865b838110156132495786830385526132378383516130d1565b9486019492509085019060010161321f565b50508681036040880152875180825284820195509250838302810184019150838801865b8481101561329b57601f19838503018752613289848351613114565b9686019693509085019060010161326d565b50919a9950505050505050505050565b6000604082016040835280855480835260608501915086845260209250828420845b828110156132f25781546001600160a01b0316845292840192600191820191016132cd565b505050838103828501526133068186613114565b9695505050505050565b901515815260200190565b600060208252825180602084015261333a8160408501602087016138a1565b601f01601f19169190910160400192915050565b6020808252600f908201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b604082015260600190565b602080825260169082015275696e76616c6964205f6e61746976655a61707065722160501b604082015260600190565b6020808252600c908201526b696e76616c6964205f6c702160a01b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600290820152613f3f60f01b604082015260600190565b6020808252601c908201527f706172616d73206861766520616c7265616479206265656e2073657400000000604082015260600190565b60208082526010908201526f4f6e6c7920766f7465722070726f787960801b604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252602e908201527f506f6f6c2069732065697468657220696e76616c6964206f7220646f65736e2760408201526d742068617665206120676175676560901b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b602080825260149082015273696e76616c6964205f726577617264506f6f6c2160601b604082015260600190565b602080825260169082015275696e76616c6964205f666565436f6c6c6563746f722160501b604082015260600190565b60208082526022908201527f5472616e7366657248656c7065723a2053656e64696e6720455448206661696c604082015261195960f21b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526008908201526710b6b0b730b3b2b960c11b604082015260600190565b6020808252602d908201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260408201526c185b9cd9995c8819985a5b1959609a1b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600d908201526c696e76616c6964205f71756f2160981b604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b918252602082015260400190565b60405181810167ffffffffffffffff8111828210171561387957600080fd5b604052919050565b600067ffffffffffffffff821115613897578081fd5b5060209081020190565b60005b838110156138bc5781810151838201526020016138a4565b83811115610d535750506000910152565b6001600160a01b03811681146110ec57600080fdfea26469706673582212204afb5bfb494e5130cd5818a9757b37bfcf9b46e50dcd421e76e7475dded9132564736f6c634300060c0033