0 txs
0 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)
RewardHarvested
event RewardHarvested(address rewardToken, uint256 earnedReward, uint256 fee)
WeightUpdate
event WeightUpdate(address _lp, uint256 _weight)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b5061362f806100206000396000f3fe6080604052600436106101f25760003560e01c8063829f6fec1161010d578063b0e21e8a116100a0578063ce883cdb1161006f578063ce883cdb1461051c578063db518db214610531578063e789b14814610551578063f1a392da14610571578063f2fde38b14610586576101f9565b8063b0e21e8a146104b0578063baa53e97146104c5578063c415b95c146104e5578063c4f59f9b146104fa576101f9565b806396c82e57116100dc57806396c82e57146104465780639776e94b1461045b57806397b0f2051461047b578063aced16611461049b576101f9565b8063829f6fec146103d85780638310a9a9146104075780638da5cb5b1461041c578063918f867414610431576101f9565b8063594aa96711610185578063748747e611610154578063748747e61461036357806374c5ad4f1461038357806378238c37146103a35780638129fc1c146103c3576101f9565b8063594aa9671461030457806366666aa91461031957806370a082311461032e578063715018a61461034e576101f9565b80632ee40908116101c15780632ee40908146102825780633d18b912146102a25780633edcd7bc146102b7578063493da753146102e4576101f9565b80630e82e52a146101fe57806318160ddd146102155780631ba980b314610240578063211dc32d14610262576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136105a6565b005b34801561022157600080fd5b5061022a6105e3565b6040516102379190613551565b60405180910390f35b34801561024c57600080fd5b50610255610665565b6040516102379190612e91565b34801561026e57600080fd5b5061022a61027d366004612ae2565b610674565b34801561028e57600080fd5b5061021361029d366004612b8a565b610700565b3480156102ae57600080fd5b50610213610bbb565b3480156102c357600080fd5b506102d76102d2366004612aaa565b610c1f565b6040516102379190613035565b3480156102f057600080fd5b5061022a6102ff366004612aaa565b610c34565b34801561031057600080fd5b50610255610c46565b34801561032557600080fd5b50610255610c55565b34801561033a57600080fd5b5061022a610349366004612aaa565b610c64565b34801561035a57600080fd5b50610213610ce5565b34801561036f57600080fd5b5061021361037e366004612aaa565b610d64565b34801561038f57600080fd5b5061021361039e366004612cba565b610def565b3480156103af57600080fd5b506102136103be366004612aaa565b610ead565b3480156103cf57600080fd5b50610213610f2a565b3480156103e457600080fd5b506103f86103f3366004612dd0565b610fb5565b60405161023793929190612f0c565b34801561041357600080fd5b506102556112a5565b34801561042857600080fd5b506102556112b4565b34801561043d57600080fd5b5061022a6112c3565b34801561045257600080fd5b5061022a6112c9565b34801561046757600080fd5b50610213610476366004612b8a565b6112cf565b34801561048757600080fd5b50610213610496366004612aaa565b61132a565b3480156104a757600080fd5b506102556115dd565b3480156104bc57600080fd5b5061022a6115ec565b3480156104d157600080fd5b506102556104e0366004612dd0565b6115f2565b3480156104f157600080fd5b50610255611619565b34801561050657600080fd5b5061050f611628565b6040516102379190612ef9565b34801561052857600080fd5b5061022a6116a9565b34801561053d57600080fd5b5061021361054c366004612b8a565b6116af565b34801561055d57600080fd5b5061021361056c366004612b1a565b611b25565b34801561057d57600080fd5b5061022a611c84565b34801561059257600080fd5b506102136105a1366004612aaa565b611c8a565b6067546001600160a01b031633146105d95760405162461bcd60e51b81526004016105d0906131c2565b60405180910390fd5b6105e1611d41565b565b606a54604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561062857600080fd5b505afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612de8565b905090565b6067546001600160a01b031681565b606a5460405163211dc32d60e01b81526000916001600160a01b03169063211dc32d906106a79086908690600401612ea5565b60206040518083038186803b1580156106bf57600080fd5b505afa1580156106d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f79190612de8565b90505b92915050565b6067546001600160a01b0316331461072a5760405162461bcd60e51b81526004016105d0906131c2565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b15801561076f57600080fd5b505afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190612de8565b905062093a80606e5482031115610b4a57606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f16906107e9903090600401612e91565b60006040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261083d9190810190612d7d565b905060005b8151811015610b42576067548251606091829182916001600160a01b03169063580da7089087908790811061087357fe5b6020026020010151306040518363ffffffff1660e01b815260040161089992919061355a565b60006040518083038186803b1580156108b157600080fd5b505afa1580156108c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108ed9190810190612be8565b606754885193965091945092506001600160a01b031690636930fd2a9087908790811061091657fe5b60200260200101516040518263ffffffff1660e01b815260040161093a9190613551565b600060405180830381600087803b15801561095457600080fd5b505af1158015610968573d6000803e3d6000fd5b5050505060005b8251811015610b325760005b83828151811061098757fe5b602002602001015151811015610b295760008483815181106109a557fe5b602002602001015182815181106109b857fe5b6020026020010151905060008484815181106109d057fe5b602002602001015183815181106109e357fe5b602002602001015190506000811115610b1f57600080606d54118015610a1357506068546001600160a01b031615155b15610a5657610a39612710610a3384606d54611e7290919063ffffffff16565b90611eac565b606854909150610a56906001600160a01b03858116911683611eee565b6000610a628383611f1f565b606a54909150610a7d9085906001600160a01b031683611f61565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590610aaf9087908590600401612ebf565b600060405180830381600087803b158015610ac957600080fd5b505af1158015610add573d6000803e3d6000fd5b505050507ff87cfa2d5feaea949ad65bb76a26d8553381bcb6382adbc83dedd48961bf32d9848484604051610b1493929190612ed8565b60405180910390a150505b505060010161097b565b5060010161096f565b5050600190920191506108429050565b5050606e8190555b606a546040516305dc812160e31b81526001600160a01b0390911690632ee4090890610b7c9086908690600401612ebf565b600060405180830381600087803b158015610b9657600080fd5b505af1158015610baa573d6000803e3d6000fd5b50505050610bb6611d41565b505050565b606a54604051630c00007b60e41b81526001600160a01b039091169063c00007b090610beb903390600401612e91565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b50505050565b606f6020526000908152604090205460ff1681565b60706020526000908152604090205481565b6066546001600160a01b031681565b606a546001600160a01b031681565b606a546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610c95908590600401612e91565b60206040518083038186803b158015610cad57600080fd5b505afa158015610cc1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa9190612de8565b610ced612012565b6033546001600160a01b03908116911614610d1a5760405162461bcd60e51b81526004016105d09061330f565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b610d6c612012565b6033546001600160a01b03908116911614610d995760405162461bcd60e51b81526004016105d09061330f565b606580546001600160a01b0319166001600160a01b0383161790556040517f0425bcd291db1d48816f2a98edc7ecaf6dd5c64b973d9e4b3b6b750763dc6c2e90610de4908390612e91565b60405180910390a150565b610df76112b4565b6001600160a01b0316336001600160a01b03161480610e2057506065546001600160a01b031633145b610e3c5760405162461bcd60e51b81526004016105d09061341b565b8051825114610e5d5760405162461bcd60e51b81526004016105d090613073565b60005b8251811015610bb6576000838281518110610e7757fe5b602002602001015190506000838381518110610e8f57fe5b60200260200101519050610ea38282612016565b5050600101610e60565b610eb5612012565b6033546001600160a01b03908116911614610ee25760405162461bcd60e51b81526004016105d09061330f565b6001600160a01b038116610f085760405162461bcd60e51b81526004016105d090613344565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff1680610f435750610f43612203565b80610f51575060005460ff16155b610f6d5760405162461bcd60e51b81526004016105d090613280565b600054610100900460ff16158015610f98576000805460ff1961ff0019909116610100171660011790555b610fa0612209565b8015610fb2576000805461ff00191690555b50565b6060806060610fc2612012565b6033546001600160a01b03908116911614610fef5760405162461bcd60e51b81526004016105d09061330f565b606754604051630b01b4e160e31b81526001600160a01b039091169063580da70890611021908790309060040161355a565b60006040518083038186803b15801561103957600080fd5b505afa15801561104d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110759190810190612be8565b6067546040516334987e9560e11b815293965091945092506001600160a01b031690636930fd2a906110ab908790600401613551565b600060405180830381600087803b1580156110c557600080fd5b505af11580156110d9573d6000803e3d6000fd5b5050505060005b825181101561129d5760005b8382815181106110f857fe5b60200260200101515181101561129457600084838151811061111657fe5b6020026020010151828151811061112957fe5b60200260200101519050600084848151811061114157fe5b6020026020010151838151811061115457fe5b60200260200101519050600081111561128a57600080606d5411801561118457506068546001600160a01b031615155b156111c1576111a4612710610a3384606d54611e7290919063ffffffff16565b6068549091506111c1906001600160a01b03858116911683611eee565b60006111cd8383611f1f565b606a549091506111e89085906001600160a01b031683611f61565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c59061121a9087908590600401612ebf565b600060405180830381600087803b15801561123457600080fd5b505af1158015611248573d6000803e3d6000fd5b505050507ff87cfa2d5feaea949ad65bb76a26d8553381bcb6382adbc83dedd48961bf32d984848460405161127f93929190612ed8565b60405180910390a150505b50506001016110ec565b506001016110e0565b509193909250565b6069546001600160a01b031681565b6033546001600160a01b031690565b61271081565b606c5481565b6112d76112b4565b6001600160a01b0316336001600160a01b0316148061130057506065546001600160a01b031633145b61131c5760405162461bcd60e51b81526004016105d09061341b565b6113268282612016565b5050565b611332612012565b6033546001600160a01b0390811691161461135f5760405162461bcd60e51b81526004016105d09061330f565b6001600160a01b0381166000908152606f602052604090205460ff166113975760405162461bcd60e51b81526004016105d0906130cc565b60405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd5906113d1908590600401612e91565b60206040518083038186803b1580156113e957600080fd5b505afa1580156113fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114219190612ac6565b6001600160a01b031614156114485760405162461bcd60e51b81526004016105d090613232565b6001600160a01b0381166000908152606f60205260409020805460ff19169055606b546060600019820167ffffffffffffffff8111801561148857600080fd5b506040519080825280602002602001820160405280156114b2578160200160208202803683370190505b5090506000805b8381101561155e57846001600160a01b0316606b82815481106114d857fe5b6000918252602090912001546001600160a01b031614156114fc5760019150611556565b606b818154811061150957fe5b9060005260206000200160009054906101000a90046001600160a01b0316838383038151811061153557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6001016114b9565b50815161157290606b90602085019061289b565b506001600160a01b03841660009081526070602052604081208054606c8054919091039055556115a0611d41565b7f830dfd6ccb35ca729ef74cbccaf90bcb698344910b951a9c242cf91eccf6beba846040516115cf9190612e91565b60405180910390a150505050565b6065546001600160a01b031681565b606d5481565b606b81815481106115ff57fe5b6000918252602090912001546001600160a01b0316905081565b6068546001600160a01b031681565b606a546040805163c4f59f9b60e01b815290516060926001600160a01b03169163c4f59f9b916004808301926000929190829003018186803b15801561166d57600080fd5b505afa158015611681573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106609190810190612bb5565b606b5490565b6067546001600160a01b031633146116d95760405162461bcd60e51b81526004016105d0906131c2565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b15801561171e57600080fd5b505afa158015611732573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117569190612de8565b905062093a80606e5482031115611af357606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f1690611798903090600401612e91565b60006040518083038186803b1580156117b057600080fd5b505afa1580156117c4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117ec9190810190612d7d565b905060005b8151811015611aeb576067548251606091829182916001600160a01b03169063580da7089087908790811061182257fe5b6020026020010151306040518363ffffffff1660e01b815260040161184892919061355a565b60006040518083038186803b15801561186057600080fd5b505afa158015611874573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261189c9190810190612be8565b606754885193965091945092506001600160a01b031690636930fd2a908790879081106118c557fe5b60200260200101516040518263ffffffff1660e01b81526004016118e99190613551565b600060405180830381600087803b15801561190357600080fd5b505af1158015611917573d6000803e3d6000fd5b5050505060005b8251811015611adb5760005b83828151811061193657fe5b602002602001015151811015611ad257600084838151811061195457fe5b6020026020010151828151811061196757fe5b60200260200101519050600084848151811061197f57fe5b6020026020010151838151811061199257fe5b602002602001015190506000811115611ac857600080606d541180156119c257506068546001600160a01b031615155b156119ff576119e2612710610a3384606d54611e7290919063ffffffff16565b6068549091506119ff906001600160a01b03858116911683611eee565b6000611a0b8383611f1f565b606a54909150611a269085906001600160a01b031683611f61565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590611a589087908590600401612ebf565b600060405180830381600087803b158015611a7257600080fd5b505af1158015611a86573d6000803e3d6000fd5b505050507ff87cfa2d5feaea949ad65bb76a26d8553381bcb6382adbc83dedd48961bf32d9848484604051611abd93929190612ed8565b60405180910390a150505b505060010161192a565b5060010161191e565b5050600190920191506117f19050565b5050606e8190555b606a54604051636da8c6d960e11b81526001600160a01b039091169063db518db290610b7c9086908690600401612ebf565b611b2d612012565b6033546001600160a01b03908116911614611b5a5760405162461bcd60e51b81526004016105d09061330f565b6067546001600160a01b031615611b835760405162461bcd60e51b81526004016105d09061318b565b6001600160a01b038516611ba95760405162461bcd60e51b81526004016105d09061352a565b6001600160a01b038316611bcf5760405162461bcd60e51b81526004016105d090613344565b6001600160a01b038216611bf55760405162461bcd60e51b81526004016105d09061309c565b6001600160a01b038116611c1b5760405162461bcd60e51b81526004016105d090613372565b606680546001600160a01b03199081166001600160a01b039788161790915560678054821695871695909517909455606980548516928616929092179091556068805484169185169190911790556101f4606d55606a8054909216921691909117905542606e55565b606e5481565b611c92612012565b6033546001600160a01b03908116911614611cbf5760405162461bcd60e51b81526004016105d09061330f565b6001600160a01b038116611ce55760405162461bcd60e51b81526004016105d0906130f2565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b606b548015610fb25760608167ffffffffffffffff81118015611d6357600080fd5b50604051908082528060200260200182016040528015611d8d578160200160208202803683370190505b50905060005b82811015611e08576000606b8281548110611daa57fe5b6000918252602080832090910154606c546001600160a01b039091168084526070909252604090922054909250611de89190610a3390612710611e72565b838381518110611df457fe5b602090810291909101015250600101611d93565b506067546040516306f2c54560e11b81526001600160a01b0390911690630de58a8a90611e3c90606b908590600401612fd0565b600060405180830381600087803b158015611e5657600080fd5b505af1158015611e6a573d6000803e3d6000fd5b505050505050565b600082611e81575060006106fa565b82820282848281611e8e57fe5b04146106f75760405162461bcd60e51b81526004016105d0906132ce565b60006106f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612287565b611f00836001600160a01b03166122c0565b15611f1457611f0f82826122e5565b610bb6565b610bb6838383612361565b60006106f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061244f565b604051636eb1769f60e11b815281906001600160a01b0385169063dd62ed3e90611f919030908790600401612ea5565b60206040518083038186803b158015611fa957600080fd5b505afa158015611fbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe19190612de8565b1015610bb657611ffc6001600160a01b03841683600061247b565b610bb66001600160a01b0384168360001961247b565b3390565b6001600160a01b03821630141561203f5760405162461bcd60e51b81526004016105d09061316f565b6001600160a01b0382166000908152606f602052604090205460ff166121765760405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd590612099908690600401612e91565b60206040518083038186803b1580156120b157600080fd5b505afa1580156120c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e99190612ac6565b6001600160a01b031614156121105760405162461bcd60e51b81526004016105d090613232565b6001600160a01b0382166000818152606f60205260408120805460ff19166001908117909155606b805491820181559091527fbd43cb8ece8cd1863bcd6082d65c5b0d25665b1ce17980f0da43c0ed545f98b40180546001600160a01b03191690911790555b6001600160a01b038216600090815260706020526040902054606c546121a79183916121a191611f1f565b90612575565b606c556001600160a01b03821660009081526070602052604090819020829055517fbe8a0bfdbcaa516a8371824f85d831867f7faab1dbc60dbed04a63e2a25c618f906121f79084908490612ebf565b60405180910390a15050565b303b1590565b600054610100900460ff16806122225750612222612203565b80612230575060005460ff16155b61224c5760405162461bcd60e51b81526004016105d090613280565b600054610100900460ff16158015612277576000805460ff1961ff0019909116610100171660011790555b61227f61259a565b610fa0612674565b600081836122a85760405162461bcd60e51b81526004016105d09190613040565b5060008385816122b457fe5b049150505b9392505050565b6001600160a01b03811673efefefefefefefefefefefefefefefefefefefef14919050565b6000826001600160a01b0316826040516122fe90612e8e565b60006040518083038185875af1925050503d806000811461233b576040519150601f19603f3d011682016040523d82523d6000602084013e612340565b606091505b5050905080610bb65760405162461bcd60e51b81526004016105d0906133a2565b60006060846001600160a01b031663a9059cbb8585604051602401612387929190612ebf565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516123c09190612e72565b6000604051808303816000865af19150503d80600081146123fd576040519150601f19603f3d011682016040523d82523d6000602084013e612402565b606091505b509150915081801561242c57508051158061242c57508080602001905181019061242c9190612db0565b6124485760405162461bcd60e51b81526004016105d09061343d565b5050505050565b600081848411156124735760405162461bcd60e51b81526004016105d09190613040565b505050900390565b8015806125035750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906124b19030908690600401612ea5565b60206040518083038186803b1580156124c957600080fd5b505afa1580156124dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125019190612de8565b155b61251f5760405162461bcd60e51b81526004016105d0906134d4565b610bb68363095ea7b360e01b848460405160240161253e929190612ebf565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526126f5565b6000828201838110156106f75760405162461bcd60e51b81526004016105d090613138565b600054610100900460ff16806125b357506125b3612203565b806125c1575060005460ff16155b6125dd5760405162461bcd60e51b81526004016105d090613280565b600054610100900460ff16158015612608576000805460ff1961ff0019909116610100171660011790555b6000612612612012565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610fb2576000805461ff001916905550565b600054610100900460ff168061268d575061268d612203565b8061269b575060005460ff16155b6126b75760405162461bcd60e51b81526004016105d090613280565b600054610100900460ff16158015610fa0576000805460ff1961ff0019909116610100171660011790558015610fb2576000805461ff001916905550565b606061274a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127849092919063ffffffff16565b805190915015610bb657808060200190518101906127689190612db0565b610bb65760405162461bcd60e51b81526004016105d09061348a565b6060612793848460008561279b565b949350505050565b6060824710156127bd5760405162461bcd60e51b81526004016105d0906131ec565b6127c68561285c565b6127e25760405162461bcd60e51b81526004016105d0906133e4565b60006060866001600160a01b031685876040516127ff9190612e72565b60006040518083038185875af1925050503d806000811461283c576040519150601f19603f3d011682016040523d82523d6000602084013e612841565b606091505b5091509150612851828286612862565b979650505050505050565b3b151590565b606083156128715750816122b9565b8251156128815782518084602001fd5b8160405162461bcd60e51b81526004016105d09190613040565b8280548282559060005260206000209081019282156128f0579160200282015b828111156128f057825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906128bb565b506128fc929150612900565b5090565b5b808211156128fc5780546001600160a01b0319168155600101612901565b600082601f83011261292f578081fd5b815161294261293d82613598565b613571565b81815291506020808301908481018184028601820187101561296357600080fd5b60005b8481101561298b578151612979816135e4565b84529282019290820190600101612966565b505050505092915050565b600082601f8301126129a6578081fd5b81516129b461293d82613598565b818152915060208083019084810160005b8481101561298b576129dc888484518a0101612a4c565b845292820192908201906001016129c5565b600082601f8301126129fe578081fd5b8135612a0c61293d82613598565b818152915060208083019084810181840286018201871015612a2d57600080fd5b60005b8481101561298b57813584529282019290820190600101612a30565b600082601f830112612a5c578081fd5b8151612a6a61293d82613598565b818152915060208083019084810181840286018201871015612a8b57600080fd5b60005b8481101561298b57815184529282019290820190600101612a8e565b600060208284031215612abb578081fd5b81356106f7816135e4565b600060208284031215612ad7578081fd5b81516106f7816135e4565b60008060408385031215612af4578081fd5b8235612aff816135e4565b91506020830135612b0f816135e4565b809150509250929050565b600080600080600060a08688031215612b31578081fd5b8535612b3c816135e4565b94506020860135612b4c816135e4565b93506040860135612b5c816135e4565b92506060860135612b6c816135e4565b91506080860135612b7c816135e4565b809150509295509295909350565b60008060408385031215612b9c578182fd5b8235612ba7816135e4565b946020939093013593505050565b600060208284031215612bc6578081fd5b815167ffffffffffffffff811115612bdc578182fd5b6127938482850161291f565b600080600060608486031215612bfc578283fd5b835167ffffffffffffffff80821115612c13578485fd5b612c1f8783880161291f565b9450602091508186015181811115612c35578485fd5b8601601f81018813612c45578485fd5b8051612c5361293d82613598565b81815284810190838601885b84811015612c8857612c768d89845189010161291f565b84529287019290870190600101612c5f565b505060408a0151909750945050505080821115612ca3578283fd5b50612cb086828701612996565b9150509250925092565b60008060408385031215612ccc578182fd5b823567ffffffffffffffff80821115612ce3578384fd5b818501915085601f830112612cf6578384fd5b8135612d0461293d82613598565b80828252602080830192508086018a828387028901011115612d24578889fd5b8896505b84871015612d4f578035612d3b816135e4565b845260019690960195928101928101612d28565b509096508701359350505080821115612d66578283fd5b50612d73858286016129ee565b9150509250929050565b600060208284031215612d8e578081fd5b815167ffffffffffffffff811115612da4578182fd5b61279384828501612a4c565b600060208284031215612dc1578081fd5b815180151581146106f7578182fd5b600060208284031215612de1578081fd5b5035919050565b600060208284031215612df9578081fd5b5051919050565b6000815180845260208085019450808401835b83811015612e385781516001600160a01b031687529582019590820190600101612e13565b509495945050505050565b6000815180845260208085019450808401835b83811015612e3857815187529582019590820190600101612e56565b60008251612e848184602087016135b8565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6000602082526106f76020830184612e00565b600060608252612f1f6060830186612e00565b602083820381850152818651612f358185613551565b91508193508281028201838901865b83811015612f6e578683038552612f5c838351612e00565b94860194925090850190600101612f44565b50508681036040880152875180825284820195509250838302810184019150838801865b84811015612fc057601f19838503018752612fae848351612e43565b96860196935090850190600101612f92565b50919a9950505050505050505050565b6000604082016040835280855480835260608501915086845260209250828420845b828110156130175781546001600160a01b031684529284019260019182019101612ff2565b5050508381038285015261302b8186612e43565b9695505050505050565b901515815260200190565b600060208252825180602084015261305f8160408501602087016135b8565b601f01601f19169190910160400192915050565b6020808252600f908201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b604082015260600190565b602080825260169082015275696e76616c6964205f6e61746976655a61707065722160501b604082015260600190565b6020808252600c908201526b696e76616c6964205f6c702160a01b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600290820152613f3f60f01b604082015260600190565b6020808252601c908201527f706172616d73206861766520616c7265616479206265656e2073657400000000604082015260600190565b60208082526010908201526f4f6e6c7920766f7465722070726f787960801b604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252602e908201527f506f6f6c2069732065697468657220696e76616c6964206f7220646f65736e2760408201526d742068617665206120676175676560901b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b602080825260149082015273696e76616c6964205f726577617264506f6f6c2160601b604082015260600190565b602080825260169082015275696e76616c6964205f666565436f6c6c6563746f722160501b604082015260600190565b60208082526022908201527f5472616e7366657248656c7065723a2053656e64696e6720455448206661696c604082015261195960f21b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526008908201526710b6b0b730b3b2b960c11b604082015260600190565b6020808252602d908201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260408201526c185b9cd9995c8819985a5b1959609a1b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600d908201526c696e76616c6964205f71756f2160981b604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b60405181810167ffffffffffffffff8111828210171561359057600080fd5b604052919050565b600067ffffffffffffffff8211156135ae578081fd5b5060209081020190565b60005b838110156135d35781810151838201526020016135bb565b83811115610c195750506000910152565b6001600160a01b0381168114610fb257600080fdfea2646970667358221220163ca2faf14223fc3732935629f2f9f08d1f1d62cde3cf2b21b98a0c12c741c664736f6c634300060c0033