0 txs
1 call
constructor
constructor((address staking, address convertibles, address treasury, address appToken, address stakingToken, address rebaseController, address appOracle, address spotOracle, address ethOracle, address odos, address staking4626, address referrals, address totalReservesOracle) params)
functions
appOracle
viewfunction appOracle() view returns (address)
appToken
viewfunction appToken() view returns (address)
calculateAPR
viewfunction calculateAPR() view returns (uint256)
calculateAPRRaw
viewfunction calculateAPRRaw(uint256 totalStaked) view returns (uint256)
convertibles
viewfunction convertibles() view returns (address)
ethOracle
viewfunction ethOracle() view returns (address)
getAllStakingPositions
viewfunction getAllStakingPositions(uint256 startingIndex, uint256 endingIndex) view returns (tuple[])
getConvertiblePositionsByIndex
viewfunction getConvertiblePositionsByIndex(uint256 startIndex, uint256 endIndex) view returns (tuple[] convertiblePositions)
getConvertibleProtocolInfo
viewfunction getConvertibleProtocolInfo() view returns (tuple convertibleProtocolInfo)
getProtocolInfo
viewfunction getProtocolInfo(address user, address[] bondTokens) view returns (tuple protocolInfo, bytes8 referralCode, tuple[] tokenInfos, tuple[] stakingPositions, tuple[] convertiblePositions, tuple convertibleProtocolInfo, tuple projectedEpochRate)
getTwapPrice
viewfunction getTwapPrice() view returns (uint256 price)
loanToken
viewfunction loanToken() view returns (address)
loanTokenUnderlying
viewfunction loanTokenUnderlying() view returns (address)
odos
viewfunction odos() view returns (address)
rebaseController
viewfunction rebaseController() view returns (address)
referrals
viewfunction referrals() view returns (address)
spotOracle
viewfunction spotOracle() view returns (address)
staking
viewfunction staking() view returns (address)
staking4626
viewfunction staking4626() view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
totalReservesOracle
viewfunction totalReservesOracle() view returns (address)
treasury
viewfunction treasury() view returns (address)
events
RewardsClaimed
event RewardsClaimed(uint256 indexed positionId, uint256 amount)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50604051613a49380380613a4983398101604081905261002f916103c9565b8051600280546001600160a01b03199081166001600160a01b039384169081179092556020840151600c8054831691851691909117905560408401516003805483169185169190911790556060840151600480548316918516919091179055608084015160058054831691851691909117905560c084015160018054831691851691909117905560e084015160068054831691851691909117905561010084015160078054831691851691909117905560a0840151600880548316918516919091179055610120840151600080548316918516919091179055610140840151600980548316918516919091179055610160840151600a80548316918516919091179055610180840151600b80549092169316929092179091558190156101cd576004805460025460405163095ea7b360e01b81526001600160a01b03918216938101939093526000196024840152169063095ea7b3906044016020604051808303816000875af11580156101a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cb91906104ce565b505b600c546001600160a01b03161561036357600c60009054906101000a90046001600160a01b03166001600160a01b03166306d378176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025591906104f7565b600d80546001600160a01b0319166001600160a01b03929092169182179055604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa1580156102af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d391906104f7565b600e80546001600160a01b0319166001600160a01b03928316179055600d54600c5460405163095ea7b360e01b81529083166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801561033d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036191906104ce565b505b5050610514565b6040516101a081016001600160401b038111828210171561039b57634e487b7160e01b600052604160045260246000fd5b60405290565b6001600160a01b03811681146103b657600080fd5b50565b80516103c4816103a1565b919050565b60006101a08284031280156103dd57600080fd5b506103e661036a565b6103ef836103b9565b81526103fd602084016103b9565b602082015261040e604084016103b9565b604082015261041f606084016103b9565b6060820152610430608084016103b9565b608082015261044160a084016103b9565b60a082015261045260c084016103b9565b60c082015261046360e084016103b9565b60e082015261047561010084016103b9565b61010082015261048861012084016103b9565b61012082015261049b61014084016103b9565b6101408201526104ae61016084016103b9565b6101608201526104c161018084016103b9565b6101808201529392505050565b6000602082840312156104e057600080fd5b815180151581146104f057600080fd5b9392505050565b60006020828403121561050957600080fd5b81516104f0816103a1565b613526806105236000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806383da8357116100d8578063d3dc75391161008c578063f2494f3b11610066578063f2494f3b1461033f578063f62163a614610347578063fe8b876e1461035a57600080fd5b8063d3dc753914610303578063dcedca9214610316578063eee2bfa01461033757600080fd5b80639c8762e1116100bd5780639c8762e1146102ca578063b79e4248146102dd578063d25f29a6146102f057600080fd5b806383da8357146102915780639671ff2e146102a457600080fd5b80634f5836841161013a5780636ee07d8c116101145780636ee07d8c1461024957806372f702f31461025e578063836eb7bb1461027157600080fd5b80634f583684146102035780635ab2da8a1461022357806361d027b31461023657600080fd5b8063191b87a31161016b578063191b87a3146101ca5780631eba02ec146101dd5780634cf088d9146101f057600080fd5b806303347ec11461018757806306d37817146101b7575b600080fd5b60095461019a906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600d5461019a906001600160a01b031681565b60015461019a906001600160a01b031681565b60005461019a906001600160a01b031681565b60025461019a906001600160a01b031681565b6102166102113660046129d3565b61036d565b6040516101ae9190612aab565b600e5461019a906001600160a01b031681565b60035461019a906001600160a01b031681565b610251610700565b6040516101ae9190612abe565b60055461019a906001600160a01b031681565b61028461027f3660046129d3565b6108a9565b6040516101ae9190612be1565b60085461019a906001600160a01b031681565b6102b76102b2366004612ca1565b610c89565b6040516101ae9796959493929190612e9f565b60075461019a906001600160a01b031681565b60045461019a906001600160a01b031681565b60065461019a906001600160a01b031681565b600a5461019a906001600160a01b031681565b610329610324366004612ff8565b610e26565b6040519081526020016101ae565b610329610f0b565b61032961102a565b600b5461019a906001600160a01b031681565b600c5461019a906001600160a01b031681565b600c546060906001600160a01b0316156106fa57600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f89190613011565b8211610404578161047b565b600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610457573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047b9190613011565b91506104878383613040565b67ffffffffffffffff81111561049f5761049f612c0c565b60405190808252806020026020018201604052801561053157816020015b61051e60405180610140016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816104bd5790505b509050600061053e610f0b565b9050835b838110156106f757600c5460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161010060405180830381865afa158015610595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b99190613053565b80519091506000036105cb57506106ef565b60408051610140810191829052600c547f6352211e0000000000000000000000000000000000000000000000000000000090925261014481018490529081906001600160a01b0316636352211e6101648301602060405180830381865afa15801561063a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065e91906130c7565b6001600160a01b03168152602001838152602001826000015181526020018260200151815260200182604001518152602001826080015181526020018260a0015181526020018260c0015181526020018260e001518152602001848360c00151101515158152508487846106d29190613040565b815181106106e2576106e26130e4565b6020026020010181905250505b600101610542565b50505b92915050565b6107406040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600c546001600160a01b03166107535790565b600c54604080517fbe45a26f00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163be45a26f9160048083019260c09291908290030181865afa1580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107da91906130fa565b90506000600c60009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108559190613011565b90506040518060e0016040528082815260200183600001518152602001836020015181526020018360400151815260200183606001518152602001836080015181526020018360a001518152509250505090565b606060006108b78484613040565b67ffffffffffffffff8111156108cf576108cf612c0c565b60405190808252806020026020018201604052801561096e57816020015b61095b60405180610160016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581526020016000151581525090565b8152602001906001900390816108ed5790505b506002549091506001600160a01b03166109895790506106fa565b835b83811015610c815760025460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161014060405180830381865afa1580156109de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a029190613178565b8051909150600003610a145750610c79565b6000808260a00151118015610a2c57508160a0015142105b905060008260a0015190506000808460c00151118015610a4f57508360c0015142105b604080516101608101918290526002547f6352211e00000000000000000000000000000000000000000000000000000000909252610164810188905291925081906001600160a01b0316636352211e6101848301602060405180830381865afa158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae491906130c7565b6001600160a01b0390811682526020808301899052875160408085019190915290880151606084015260025490517f4d6ed8c4000000000000000000000000000000000000000000000000000000008152600481018a9052608090930192911690634d6ed8c490602401602060405180830381865afa158015610b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8f9190613011565b8152608086810180516020840152604080840187905290511560608401528415159183019190915285151560a083015260095490517f85afc8df0000000000000000000000000000000000000000000000000000000081526004810189905260c0909201916001600160a01b03909116906385afc8df90602401602060405180830381865afa158015610c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4a9190613202565b1515905286610c598b88613040565b81518110610c6957610c696130e4565b6020026020010181905250505050505b60010161098b565b509392505050565b610cd86040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006060806060610d1f6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610d516040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b610d5a896110d0565b9250610d646113c6565b9050610d6e6114ba565b600a546040517fd5ab6f500000000000000000000000000000000000000000000000000000000081526001600160a01b038c8116600483015292995091169063d5ab6f5090602401602060405180830381865afa158015610dd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df79190613224565b9550610e0289611779565b9350610e0e8989611bb6565b9450610e18610700565b915092959891949750929550565b6008546000906001600160a01b0316610e4157506000919050565b600854604080517f9e9a71f700000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691639e9a71f79160048083019260a09291908290030181865afa158015610ea4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec89190613266565b5050925050508281670de0b6b3a7640000610ee391906132a6565b610eef9061016d6132a6565b610efa9060046132a6565b610f0491906132bd565b9392505050565b600c546000906001600160a01b0316610f245750600090565b600c54604080517f9043292a00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691639043292a9160048083019260209291908290030181865afa158015610f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fab91906130c7565b60405163078a424560e01b8152670de0b6b3a764000060048201529091506000906001600160a01b0383169063078a424590602401606060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102191906132df565b50949350505050565b6002546000906001600160a01b03166110435750600090565b600254604080517f817b1cd200000000000000000000000000000000000000000000000000000000815290516110cb926001600160a01b03169163817b1cd29160048083019260209291908290030181865afa1580156110a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103249190613011565b905090565b600c546060906001600160a01b03166110e857919050565b600c546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa158015611133573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111579190613011565b90508067ffffffffffffffff81111561117257611172612c0c565b60405190808252806020026020018201604052801561120457816020015b6111f160405180610140016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816111905790505b5091506000611211610f0b565b905060005b828110156113be57600c546040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b038781166004830152602482018490526000921690632f745c5990604401602060405180830381865afa158015611289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ad9190613011565b600c5460405163133f757160e31b8152600481018390529192506000916001600160a01b03909116906399fbab889060240161010060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113219190613053565b9050604051806101400160405280886001600160a01b03168152602001838152602001826000015181526020018260200151815260200182604001518152602001826080015181526020018260a0015181526020018260c0015181526020018260e001518152602001858360c00151101515158152508684815181106113a9576113a96130e4565b60209081029190910101525050600101611216565b505050919050565b6113f86040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6008546001600160a01b031661140b5790565b6000806000806000600860009054906101000a90046001600160a01b03166001600160a01b0316639e9a71f76040518163ffffffff1660e01b815260040160a060405180830381865afa158015611466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148a9190613266565b6040805160a081018252958652602086019490945292840191909152606083015260808201529695505050505050565b6115096040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600b546001600160a01b0316156115ac57600b54604080517f242693d3000000000000000000000000000000000000000000000000000000008152815160009384936001600160a01b039091169263242693d392600480830193928290030181865afa15801561157d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a1919061330d565b908452602084015250505b6002546001600160a01b0316156116c657600260009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116349190613011565b6060820152600254604080517fcd3daf9d00000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163cd3daf9d916004808201926020929091908290030181865afa15801561169c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c09190613011565b60808201525b60048054604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216926318160ddd9282820192602092908290030181865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613011565b604082015261175761102a565b60a08201526117646126de565b60c082015261177161276e565b60e082015290565b6002546060906001600160a01b031661179157919050565b6002546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa1580156117dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118009190613011565b90508067ffffffffffffffff81111561181b5761181b612c0c565b6040519080825280602002602001820160405280156118ba57816020015b6118a760405180610160016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581526020016000151581525090565b8152602001906001900390816118395790505b50915060005b81811015611baf576002546040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490526000921690632f745c5990604401602060405180830381865afa158015611933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119579190613011565b9050806000036119675750611ba7565b60025460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161014060405180830381865afa1580156119b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d69190613178565b90506000808260c001511180156119f057508160c0015142105b90506000808360a00151118015611a0a57508260a0015142105b60a084015160408051610160810182526001600160a01b038c8116825260208083018a9052885183850152880151606083015260025492517f4d6ed8c4000000000000000000000000000000000000000000000000000000008152600481018a90529495509293909260808401921690634d6ed8c490602401602060405180830381865afa158015611aa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac49190613011565b8152608086810180516020840152604080840186905290511560608401528615159183019190915284151560a083015260095490517f85afc8df0000000000000000000000000000000000000000000000000000000081526004810189905260c0909201916001600160a01b03909116906385afc8df90602401602060405180830381865afa158015611b5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7f9190613202565b1515815250888781518110611b9657611b966130e4565b602002602001018190525050505050505b6001016118c0565b5050919050565b606081516003611bc69190613331565b67ffffffffffffffff811115611bde57611bde612c0c565b604051908082528060200260200182016040528015611c6a57816020015b611c5760405180610120016040528060006001600160a01b03168152602001606081526020016060815260200160008152602001600081526020016000815260200160008152602001600060ff168152602001600081525090565b815260200190600190039081611bfc5790505b506040805161012081018252600480546001600160a01b039081168084528451808601865260038082527f525a52000000000000000000000000000000000000000000000000000000000060208084018290528088019390935287518089018952918252918101919091528486015293516370a0823160e01b815290881691810191909152929350916060830191906370a0823190602401602060405180830381865afa158015611d1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d439190613011565b815260048054600254604051636eb1769f60e11b81526001600160a01b0389811694820194909452908316602482015260209093019291169063dd62ed3e90604401602060405180830381865afa158015611da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc69190613011565b8152600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935260209093019216906370a0823190602401602060405180830381865afa158015611e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e409190613011565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ebc9190613011565b815260126020820152604001611ed06126de565b81525081600081518110611ee657611ee66130e4565b60209081029190910181019190915260408051610120810182526005546001600160a01b0390811680835283518085018552600a81527f5374616b656420525a520000000000000000000000000000000000000000000081870152838601528351808501855260048082527f73525a5200000000000000000000000000000000000000000000000000000000968201969096528385015292516370a0823160e01b815290871693810193909352916060830191906370a0823190602401602060405180830381865afa158015611fc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe49190613011565b8152600554600254604051636eb1769f60e11b81526001600160a01b038881166004830152918216602482015260209093019291169063dd62ed3e90604401602060405180830381865afa158015612040573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120649190613011565b815260200160008152602001600560009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e79190613011565b8152601260208201526040016120fb6126de565b81525081600181518110612111576121116130e4565b60209081029190910181019190915260408051610120810182526009546001600160a01b0390811680835283518085018552601181527f4c6971756964205374616b656420525a52000000000000000000000000000000818701528386015283518085018552600681527f6c7374525a520000000000000000000000000000000000000000000000000000958101959095528284019490945291516370a0823160e01b815291861660048301529160608301916370a0823190602401602060405180830381865afa1580156121ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220e9190613011565b815260006020820152600954600354604080516370a0823160e01b81526001600160a01b0392831660048201529301929116906370a0823190602401602060405180830381865afa158015612267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228b9190613011565b8152600954604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516020938401936001600160a01b03909316926318160ddd92600480820193918290030181865afa1580156122f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123159190613011565b8152601260208201526040016123296127bb565b8152508160028151811061233f5761233f6130e4565b602002602001018190525060005b82518110156126d757600083828151811061236a5761236a6130e4565b60200260200101519050604051806101200160405280826001600160a01b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156123cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123f59190810190613344565b8152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015612438573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124609190810190613344565b81526040516370a0823160e01b81526001600160a01b0388811660048301526020909201918416906370a0823190602401602060405180830381865afa1580156124ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124d29190613011565b8152600c54604051636eb1769f60e11b81526001600160a01b03898116600483015291821660248201526020909201919084169063dd62ed3e90604401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125509190613011565b81526003546040516370a0823160e01b81526001600160a01b039182166004820152602090920191908416906370a0823190602401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c69190613011565b8152602001826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262d9190613011565b8152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612670573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269491906133da565b60ff1681526020016126a583612867565b9052836126b3846003613331565b815181106126c3576126c36130e4565b60209081029190910101525060010161234d565b5092915050565b6006546000906001600160a01b0316156127685760065460405163078a424560e01b8152670de0b6b3a764000060048201526000916001600160a01b03169063078a4245906024015b606060405180830381865afa158015612744573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8191906132df565b50600090565b6007546000906001600160a01b0316156127685760075460405163078a424560e01b8152670de0b6b3a764000060048201526000916001600160a01b03169063078a424590602401612727565b6000806127c66126de565b90506000600960009054906101000a90046001600160a01b03166001600160a01b0316632c4e722e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561281d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128419190613011565b9050670de0b6b3a764000061285682846132a6565b61286091906132bd565b9250505090565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128cc91906133da565b60ff16905060006128de82600a6134e4565b905060006128ea6126de565b6001549091506001600160a01b0316156129c8576001546040517f3e8600170000000000000000000000000000000000000000000000000000000081526001600160a01b038781166004830152602482018590526000928392911690633e86001790604401606060405180830381865afa15801561296c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299091906132df565b509092509050670de0b6b3a76400006129a983856132a6565b6129b391906132bd565b6129bd9082613331565b979650505050505050565b506000949350505050565b600080604083850312156129e657600080fd5b50508035926020909101359150565b600081518084526020840193506020830160005b82811015612aa157815180516001600160a01b031687526020810151602088015260408101516040880152606081015160608801526080810151608088015260a081015160a088015260c081015160c088015260e081015160e08801526101008101516101008801526101208101519050612a8961012088018215159052565b50610140959095019460209190910190600101612a09565b5093949350505050565b602081526000610f0460208301846129f5565b60e081016106fa8284805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b600081518084526020840193506020830160005b82811015612aa157815180516001600160a01b031687526020810151602088015260408101516040880152606081015160608801526080810151608088015260a081015160a088015260c081015160c088015260e0810151612b8560e089018215159052565b50610100810151612b9b61010089018215159052565b50610120810151612bb161012089018215159052565b506101408101519050612bc961014088018215159052565b50610160959095019460209190910190600101612b1f565b602081526000610f046020830184612b0b565b6001600160a01b0381168114612c0957600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051610100810167ffffffffffffffff81118282101715612c4657612c46612c0c565b60405290565b604051610140810167ffffffffffffffff81118282101715612c4657612c46612c0c565b604051601f8201601f1916810167ffffffffffffffff81118282101715612c9957612c99612c0c565b604052919050565b60008060408385031215612cb457600080fd5b8235612cbf81612bf4565b9150602083013567ffffffffffffffff811115612cdb57600080fd5b8301601f81018513612cec57600080fd5b803567ffffffffffffffff811115612d0657612d06612c0c565b8060051b612d1660208201612c70565b91825260208184018101929081019088841115612d3257600080fd5b6020850194505b83851015612d605784359250612d4e83612bf4565b82825260209485019490910190612d39565b80955050505050509250929050565b60005b83811015612d8a578181015183820152602001612d72565b50506000910152565b60008151808452612dab816020860160208601612d6f565b601f01601f19169290920160200192915050565b600082825180855260208501945060208160051b8301016020850160005b83811015612e9357848303601f19018852815180516001600160a01b0316845260208101516101206020860152612e18610120860182612d93565b905060408201518582036040870152612e318282612d93565b915050606082015160608601526080820151608086015260a082015160a086015260c082015160c086015260e0820151612e7060e087018260ff169052565b506101009182015194909101939093526020978801979190910190600101612ddd565b50909695505050505050565b875181526020880151602082015260408801516040820152606088015160608201526080880151608082015260a088015160a082015260c088015160c082015260e088015160e0820152610100880151610100820152612f246101208201887fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6103206101408201526000612f3d610320830188612dbf565b828103610160840152612f508188612b0b565b9050828103610180840152612f6581876129f5565b85516101a085015260208601516101c085015260408601516101e08501526060860151610200850152608086015161022085015260a086015161024085015260c08601516102608501529150612fb89050565b825161028083015260208301516102a083015260408301516102c083015260608301516102e0830152608083015161030083015298975050505050505050565b60006020828403121561300a57600080fd5b5035919050565b60006020828403121561302357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106fa576106fa61302a565b600061010082840312801561306757600080fd5b506000613072612c22565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e09384015193810193909352509092915050565b6000602082840312156130d957600080fd5b8151610f0481612bf4565b634e487b7160e01b600052603260045260246000fd5b600060c082840312801561310d57600080fd5b5060405160009060c0810167ffffffffffffffff8111828210171561313457613134612c0c565b604090815284518252602080860151908301528481015190820152606080850151908201526080808501519082015260a09384015193810193909352509092915050565b600061014082840312801561318c57600080fd5b506000613197612c4c565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e0808501519082015261010080850151908201526101209384015193810193909352509092915050565b60006020828403121561321457600080fd5b81518015158114610f0457600080fd5b60006020828403121561323657600080fd5b81517fffffffffffffffff00000000000000000000000000000000000000000000000081168114610f0457600080fd5b600080600080600060a0868803121561327e57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176106fa576106fa61302a565b6000826132da57634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156132f457600080fd5b5050815160208301516040909301519094929350919050565b6000806040838503121561332057600080fd5b505080516020909101519092909150565b808201808211156106fa576106fa61302a565b60006020828403121561335657600080fd5b815167ffffffffffffffff81111561336d57600080fd5b8201601f8101841361337e57600080fd5b805167ffffffffffffffff81111561339857613398612c0c565b6133ab6020601f19601f84011601612c70565b8181528560208385010111156133c057600080fd5b6133d1826020830160208601612d6f565b95945050505050565b6000602082840312156133ec57600080fd5b815160ff81168114610f0457600080fd5b6001815b60018411156134385780850481111561341c5761341c61302a565b600184161561342a57908102905b60019390931c928002613401565b935093915050565b60008261344f575060016106fa565b8161345c575060006106fa565b8160018114613472576002811461347c57613498565b60019150506106fa565b60ff84111561348d5761348d61302a565b50506001821b6106fa565b5060208310610133831016604e8410600b84101617156134bb575081810a6106fa565b6134c860001984846133fd565b80600019048211156134dc576134dc61302a565b029392505050565b6000610f04838361344056fea2646970667358221220fc13cb09c1e3d387cc27ab589e086b8666078a76419e4b6dc2ce395773ef17d364736f6c634300081c0033000000000000000000000000cd43c9c6ecca33a0c3ef6e509f7559c5c5e4639900000000000000000000000086143b33e3b946b50f89a6be7aec898074a5e1e90000000000000000000000000000030d7a7c4888851f35705b0852cf20ac1ba6000000000000000000000000b4444468e444f89e1c2cac2f1d3ee7e336cbd1f50000000000000000000000005de77ccabc90b4681e83d0588fb91a54f8f70aaf000000000000000000000000fad35a07f9244abb4e2481f7d7c7bffcad10263c000000000000000000000000d80bcabefca1334ec0c2ee110cb9213d72dd3622000000000000000000000000b6cb302710592ffca18f2b09e4fb5fd4dcd0cb2d000000000000000000000000af0af0f9e7e52d0158b6e9b0596515cc90e1546f000000000000000000000000cf5540fffcdc3d510b18bfca6d2b9987b0772559000000000000000000000000b33f4b9c6f0624edeae8881c97381837760d52cb000000000000000000000000b1fd2da8914dc200bc4effd71713594caa88a2f8000000000000000000000000e148d8919309697d714b9f33b4624969a9a55f81