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)
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
0x608060405234801561001057600080fd5b506040516136ee3803806136ee83398101604081905261002f916103c9565b8051600280546001600160a01b03199081166001600160a01b039384169081179092556020840151600c8054831691851691909117905560408401516003805483169185169190911790556060840151600480548316918516919091179055608084015160058054831691851691909117905560c084015160018054831691851691909117905560e084015160068054831691851691909117905561010084015160078054831691851691909117905560a0840151600880548316918516919091179055610120840151600080548316918516919091179055610140840151600980548316918516919091179055610160840151600a80548316918516919091179055610180840151600b80549092169316929092179091558190156101cd576004805460025460405163095ea7b360e01b81526001600160a01b03918216938101939093526000196024840152169063095ea7b3906044016020604051808303816000875af11580156101a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cb91906104ce565b505b600c546001600160a01b03161561036357600c60009054906101000a90046001600160a01b03166001600160a01b03166306d378176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025591906104f7565b600d80546001600160a01b0319166001600160a01b03929092169182179055604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa1580156102af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d391906104f7565b600e80546001600160a01b0319166001600160a01b03928316179055600d54600c5460405163095ea7b360e01b81529083166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801561033d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036191906104ce565b505b5050610514565b6040516101a081016001600160401b038111828210171561039b57634e487b7160e01b600052604160045260246000fd5b60405290565b6001600160a01b03811681146103b657600080fd5b50565b80516103c4816103a1565b919050565b60006101a08284031280156103dd57600080fd5b506103e661036a565b6103ef836103b9565b81526103fd602084016103b9565b602082015261040e604084016103b9565b604082015261041f606084016103b9565b6060820152610430608084016103b9565b608082015261044160a084016103b9565b60a082015261045260c084016103b9565b60c082015261046360e084016103b9565b60e082015261047561010084016103b9565b61010082015261048861012084016103b9565b61012082015261049b61014084016103b9565b6101408201526104ae61016084016103b9565b6101608201526104c161018084016103b9565b6101808201529392505050565b6000602082840312156104e057600080fd5b815180151581146104f057600080fd5b9392505050565b60006020828403121561050957600080fd5b81516104f0816103a1565b6131cb806105236000396000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c8063836eb7bb116100d8578063d25f29a61161008c578063f2494f3b11610066578063f2494f3b1461032c578063f62163a614610334578063fe8b876e1461034757600080fd5b8063d25f29a6146102e5578063d3dc7539146102f8578063dcedca921461030b57600080fd5b80639671ff2e116100bd5780639671ff2e146102995780639c8762e1146102bf578063b79e4248146102d257600080fd5b8063836eb7bb1461026657806383da83571461028657600080fd5b80634f5836841161012f57806361d027b31161011457806361d027b31461022b5780636ee07d8c1461023e57806372f702f31461025357600080fd5b80634f583684146101f85780635ab2da8a1461021857600080fd5b8063191b87a311610160578063191b87a3146101bf5780631eba02ec146101d25780634cf088d9146101e557600080fd5b806303347ec11461017c57806306d37817146101ac575b600080fd5b60095461018f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600d5461018f906001600160a01b031681565b60015461018f906001600160a01b031681565b60005461018f906001600160a01b031681565b60025461018f906001600160a01b031681565b61020b61020636600461276d565b61035a565b6040516101a3919061282f565b600e5461018f906001600160a01b031681565b60035461018f906001600160a01b031681565b6102466106b7565b6040516101a39190612842565b60055461018f906001600160a01b031681565b61027961027436600461276d565b610860565b6040516101a39190612965565b60085461018f906001600160a01b031681565b6102ac6102a7366004612a25565b610c40565b6040516101a39796959493929190612c37565b60075461018f906001600160a01b031681565b60045461018f906001600160a01b031681565b60065461018f906001600160a01b031681565b600a5461018f906001600160a01b031681565b61031e610319366004612d90565b610ddd565b6040519081526020016101a3565b61031e610ec2565b600b5461018f906001600160a01b031681565b600c5461018f906001600160a01b031681565b600c546060906001600160a01b0316156106b157600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e59190612da9565b82116103f15781610468565b600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610444573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104689190612da9565b91506104748383612dd8565b67ffffffffffffffff81111561048c5761048c612990565b60405190808252806020026020018201604052801561051557816020015b61050260405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8152602001906001900390816104aa5790505b509050825b828110156106af57600c5460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161010060405180830381865afa15801561056d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105919190612deb565b60408051610120810191829052600c547f6352211e00000000000000000000000000000000000000000000000000000000909252610124810185905291925081906001600160a01b0316636352211e6101448301602060405180830381865afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106269190612e5f565b6001600160a01b03168152602001838152602001826000015181526020018260200151815260200182604001518152602001826080015181526020018260a0015181526020018260c0015181526020018260e0015181525083868461068b9190612dd8565b8151811061069b5761069b612e7c565b60209081029190910101525060010161051a565b505b92915050565b6106f76040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600c546001600160a01b031661070a5790565b600c54604080517fbe45a26f00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163be45a26f9160048083019260c09291908290030181865afa15801561076d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107919190612e92565b90506000600c60009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080c9190612da9565b90506040518060e0016040528082815260200183600001518152602001836020015181526020018360400151815260200183606001518152602001836080015181526020018360a001518152509250505090565b6060600061086e8484612dd8565b67ffffffffffffffff81111561088657610886612990565b60405190808252806020026020018201604052801561092557816020015b61091260405180610160016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581526020016000151581525090565b8152602001906001900390816108a45790505b506002549091506001600160a01b03166109405790506106b1565b835b83811015610c385760025460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161014060405180830381865afa158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b99190612f10565b80519091506000036109cb5750610c30565b6000808260a001511180156109e357508160a0015142105b905060008260a0015190506000808460c00151118015610a0657508360c0015142105b604080516101608101918290526002547f6352211e00000000000000000000000000000000000000000000000000000000909252610164810188905291925081906001600160a01b0316636352211e6101848301602060405180830381865afa158015610a77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9b9190612e5f565b6001600160a01b0390811682526020808301899052875160408085019190915290880151606084015260025490517f4d6ed8c4000000000000000000000000000000000000000000000000000000008152600481018a9052608090930192911690634d6ed8c490602401602060405180830381865afa158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190612da9565b8152608086810180516020840152604080840187905290511560608401528415159183019190915285151560a083015260095490517f85afc8df0000000000000000000000000000000000000000000000000000000081526004810189905260c0909201916001600160a01b03909116906385afc8df90602401602060405180830381865afa158015610bdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c019190612f9a565b1515905286610c108b88612dd8565b81518110610c2057610c20612e7c565b6020026020010181905250505050505b600101610942565b509392505050565b610c8f6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006060806060610cd66040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610d086040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b610d1189610f68565b9250610d1b611239565b9050610d2561132d565b600a546040517fd5ab6f500000000000000000000000000000000000000000000000000000000081526001600160a01b038c8116600483015292995091169063d5ab6f5090602401602060405180830381865afa158015610d8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dae9190612fbc565b9550610db9896115ec565b9350610dc58989611a22565b9450610dcf6106b7565b915092959891949750929550565b6008546000906001600160a01b0316610df857506000919050565b600854604080517f9e9a71f700000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691639e9a71f79160048083019260a09291908290030181865afa158015610e5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7f9190612ffe565b5050925050508281670de0b6b3a7640000610e9a919061303e565b610ea69061016d61303e565b610eb190600461303e565b610ebb9190613055565b9392505050565b6002546000906001600160a01b0316610edb5750600090565b600254604080517f817b1cd20000000000000000000000000000000000000000000000000000000081529051610f63926001600160a01b03169163817b1cd29160048083019260209291908290030181865afa158015610f3f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103199190612da9565b905090565b600c546060906001600160a01b0316610f8057919050565b600c546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa158015610fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fef9190612da9565b90508067ffffffffffffffff81111561100a5761100a612990565b60405190808252806020026020018201604052801561109357816020015b61108060405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8152602001906001900390816110285790505b50915060005b8181101561123257600c546040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490526000921690632f745c5990604401602060405180830381865afa15801561110c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111309190612da9565b600c5460405163133f757160e31b8152600481018390529192506000916001600160a01b03909116906399fbab889060240161010060405180830381865afa158015611180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a49190612deb565b9050604051806101200160405280876001600160a01b03168152602001838152602001826000015181526020018260200151815260200182604001518152602001826080015181526020018260a0015181526020018260c0015181526020018260e0015181525085848151811061121d5761121d612e7c565b60209081029190910101525050600101611099565b5050919050565b61126b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6008546001600160a01b031661127e5790565b6000806000806000600860009054906101000a90046001600160a01b03166001600160a01b0316639e9a71f76040518163ffffffff1660e01b815260040160a060405180830381865afa1580156112d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fd9190612ffe565b6040805160a081018252958652602086019490945292840191909152606083015260808201529695505050505050565b61137c6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600b546001600160a01b03161561141f57600b54604080517f242693d3000000000000000000000000000000000000000000000000000000008152815160009384936001600160a01b039091169263242693d392600480830193928290030181865afa1580156113f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114149190613077565b908452602084015250505b6002546001600160a01b03161561153957600260009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190612da9565b6060820152600254604080517fcd3daf9d00000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163cd3daf9d916004808201926020929091908290030181865afa15801561150f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115339190612da9565b60808201525b60048054604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216926318160ddd9282820192602092908290030181865afa158015611599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bd9190612da9565b60408201526115ca610ec2565b60a08201526115d761265e565b60c08201526115e4612707565b60e082015290565b6002546060906001600160a01b031661160457919050565b6002546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa15801561164f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116739190612da9565b90508067ffffffffffffffff81111561168e5761168e612990565b60405190808252806020026020018201604052801561172d57816020015b61171a60405180610160016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581526020016000151581525090565b8152602001906001900390816116ac5790505b50915060005b81811015611232576002546040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490526000921690632f745c5990604401602060405180830381865afa1580156117a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ca9190612da9565b9050806000036117da5750611a1a565b60025460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161014060405180830381865afa158015611825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118499190612f10565b90506000808260c0015111801561186357508160c0015142105b90506000808360a0015111801561187d57508260a0015142105b60a084015160408051610160810182526001600160a01b038c8116825260208083018a9052885183850152880151606083015260025492517f4d6ed8c4000000000000000000000000000000000000000000000000000000008152600481018a90529495509293909260808401921690634d6ed8c490602401602060405180830381865afa158015611913573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119379190612da9565b8152608086810180516020840152604080840186905290511560608401528615159183019190915284151560a083015260095490517f85afc8df0000000000000000000000000000000000000000000000000000000081526004810189905260c0909201916001600160a01b03909116906385afc8df90602401602060405180830381865afa1580156119ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f29190612f9a565b1515815250888781518110611a0957611a09612e7c565b602002602001018190525050505050505b600101611733565b606081516003611a32919061309b565b67ffffffffffffffff811115611a4a57611a4a612990565b604051908082528060200260200182016040528015611ae457816020015b611ad160405180610160016040528060006001600160a01b0316815260200160608152602001606081526020016000815260200160008152602001600081526020016000815260200160008152602001600060ff16815260200160008152602001600081525090565b815260200190600190039081611a685790505b506040805161016081018252600480546001600160a01b039081168084528451808601865260038082527f525a52000000000000000000000000000000000000000000000000000000000060208084018290528088019390935287518089018952918252918101919091528486015293516370a0823160e01b815290881691810191909152929350916060830191906370a0823190602401602060405180830381865afa158015611b99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bbd9190612da9565b815260048054600254604051636eb1769f60e11b81526001600160a01b0389811694820194909452908316602482015260209093019291169063dd62ed3e90604401602060405180830381865afa158015611c1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c409190612da9565b8152600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935260209093019216906370a0823190602401602060405180830381865afa158015611c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cba9190612da9565b8152600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935260209093019216906370a0823190602401602060405180830381865afa158015611d10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d349190612da9565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db09190612da9565b8152602001601260ff16815260200160008152602001600081525081600081518110611dde57611dde612e7c565b60209081029190910181019190915260408051610160810182526005546001600160a01b0390811680835283518085018552600a81527f5374616b656420525a520000000000000000000000000000000000000000000081870152838601528351808501855260048082527f73525a5200000000000000000000000000000000000000000000000000000000968201969096528385015292516370a0823160e01b815290871693810193909352916060830191906370a0823190602401602060405180830381865afa158015611eb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611edc9190612da9565b8152600554600254604051636eb1769f60e11b81526001600160a01b038881166004830152918216602482015260209093019291169063dd62ed3e90604401602060405180830381865afa158015611f38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5c9190612da9565b81526020016000815260200160008152602001600560009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe69190612da9565b8152602001601260ff1681526020016000815260200160008152508160018151811061201457612014612e7c565b60209081029190910181019190915260408051610160810182526009546001600160a01b0390811680835283518085018552601181527f4c6971756964205374616b656420525a52000000000000000000000000000000818701528386015283518085018552600681527f6c7374525a520000000000000000000000000000000000000000000000000000958101959095528284019490945291516370a0823160e01b815291861660048301529160608301916370a0823190602401602060405180830381865afa1580156120ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121119190612da9565b815260006020820152600954600354604080516370a0823160e01b81526001600160a01b0392831660048201529301929116906370a0823190602401602060405180830381865afa15801561216a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218e9190612da9565b81526009546003546040516370a0823160e01b81526001600160a01b0391821660048201526020909301929116906370a0823190602401602060405180830381865afa1580156121e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122069190612da9565b8152600954604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516020938401936001600160a01b03909316926318160ddd92600480820193918290030181865afa15801561226c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122909190612da9565b8152602001601260ff168152602001600081526020016000815250816002815181106122be576122be612e7c565b602002602001018190525060005b82518110156106af5760008382815181106122e9576122e9612e7c565b60200260200101519050604051806101600160405280826001600160a01b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561234c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261237491908101906130ae565b8152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156123b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123df91908101906130ae565b81526040516370a0823160e01b81526001600160a01b0388811660048301526020909201918416906370a0823190602401602060405180830381865afa15801561242d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124519190612da9565b8152600c54604051636eb1769f60e11b81526001600160a01b03898116600483015291821660248201526020909201919084169063dd62ed3e90604401602060405180830381865afa1580156124ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124cf9190612da9565b81526003546040516370a0823160e01b81526001600160a01b039182166004820152602090920191908416906370a0823190602401602060405180830381865afa158015612521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125459190612da9565b815260200160008152602001826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561258f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b39190612da9565b8152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261a9190613144565b60ff1681526000602082018190526040909101528361263a84600361309b565b8151811061264a5761264a612e7c565b6020908102919091010152506001016122cc565b6006546000906001600160a01b031615612701576006546040517f078a4245000000000000000000000000000000000000000000000000000000008152670de0b6b3a764000060048201526000916001600160a01b03169063078a4245906024015b606060405180830381865afa1580156126dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c389190613167565b50600090565b6007546000906001600160a01b031615612701576007546040517f078a4245000000000000000000000000000000000000000000000000000000008152670de0b6b3a764000060048201526000916001600160a01b03169063078a4245906024016126c0565b6000806040838503121561278057600080fd5b50508035926020909101359150565b600081518084526020840193506020830160005b828110156128255781516001600160a01b0381511687526020810151602088015260408101516040880152606081015160608801526080810151608088015260a081015160a088015260c081015160c088015260e081015160e088015261010081015161010088015250610120860195506020820191506001810190506127a3565b5093949350505050565b602081526000610ebb602083018461278f565b60e081016106b18284805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b600081518084526020840193506020830160005b8281101561282557815180516001600160a01b031687526020810151602088015260408101516040880152606081015160608801526080810151608088015260a081015160a088015260c081015160c088015260e081015161290960e089018215159052565b5061010081015161291f61010089018215159052565b5061012081015161293561012089018215159052565b50610140810151905061294d61014088018215159052565b506101609590950194602091909101906001016128a3565b602081526000610ebb602083018461288f565b6001600160a01b038116811461298d57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051610100810167ffffffffffffffff811182821017156129ca576129ca612990565b60405290565b604051610140810167ffffffffffffffff811182821017156129ca576129ca612990565b604051601f8201601f1916810167ffffffffffffffff81118282101715612a1d57612a1d612990565b604052919050565b60008060408385031215612a3857600080fd5b8235612a4381612978565b9150602083013567ffffffffffffffff811115612a5f57600080fd5b8301601f81018513612a7057600080fd5b803567ffffffffffffffff811115612a8a57612a8a612990565b8060051b612a9a602082016129f4565b91825260208184018101929081019088841115612ab657600080fd5b6020850194505b83851015612ae45784359250612ad283612978565b82825260209485019490910190612abd565b80955050505050509250929050565b60005b83811015612b0e578181015183820152602001612af6565b50506000910152565b60008151808452612b2f816020860160208601612af3565b601f01601f19169290920160200192915050565b600082825180855260208501945060208160051b8301016020850160005b83811015612c2b57848303601f19018852815180516001600160a01b0316845260208101516101606020860152612b9c610160860182612b17565b905060408201518582036040870152612bb58282612b17565b915050606082015160608601526080820151608086015260a082015160a086015260c082015160c086015260e082015160e0860152610100820151612c0061010087018260ff169052565b5061012082810151908601526101409182015191909401526020978801979190910190600101612b61565b50909695505050505050565b875181526020880151602082015260408801516040820152606088015160608201526080880151608082015260a088015160a082015260c088015160c082015260e088015160e0820152610100880151610100820152612cbc6101208201887fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6103206101408201526000612cd5610320830188612b43565b828103610160840152612ce8818861288f565b9050828103610180840152612cfd818761278f565b85516101a085015260208601516101c085015260408601516101e08501526060860151610200850152608086015161022085015260a086015161024085015260c08601516102608501529150612d509050565b825161028083015260208301516102a083015260408301516102c083015260608301516102e0830152608083015161030083015298975050505050505050565b600060208284031215612da257600080fd5b5035919050565b600060208284031215612dbb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106b1576106b1612dc2565b6000610100828403128015612dff57600080fd5b506000612e0a6129a6565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e09384015193810193909352509092915050565b600060208284031215612e7157600080fd5b8151610ebb81612978565b634e487b7160e01b600052603260045260246000fd5b600060c0828403128015612ea557600080fd5b5060405160009060c0810167ffffffffffffffff81118282101715612ecc57612ecc612990565b604090815284518252602080860151908301528481015190820152606080850151908201526080808501519082015260a09384015193810193909352509092915050565b6000610140828403128015612f2457600080fd5b506000612f2f6129d0565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e0808501519082015261010080850151908201526101209384015193810193909352509092915050565b600060208284031215612fac57600080fd5b81518015158114610ebb57600080fd5b600060208284031215612fce57600080fd5b81517fffffffffffffffff00000000000000000000000000000000000000000000000081168114610ebb57600080fd5b600080600080600060a0868803121561301657600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176106b1576106b1612dc2565b60008261307257634e487b7160e01b600052601260045260246000fd5b500490565b6000806040838503121561308a57600080fd5b505080516020909101519092909150565b808201808211156106b1576106b1612dc2565b6000602082840312156130c057600080fd5b815167ffffffffffffffff8111156130d757600080fd5b8201601f810184136130e857600080fd5b805167ffffffffffffffff81111561310257613102612990565b6131156020601f19601f840116016129f4565b81815285602083850101111561312a57600080fd5b61313b826020830160208601612af3565b95945050505050565b60006020828403121561315657600080fd5b815160ff81168114610ebb57600080fd5b60008060006060848603121561317c57600080fd5b505081516020830151604090930151909492935091905056fea264697066735822122008b885cf657f3332304f65c8282bf7a1449f5accac530d59d92bfe1bff8b3dab64736f6c634300081c0033000000000000000000000000cd43c9c6ecca33a0c3ef6e509f7559c5c5e4639900000000000000000000000086143b33e3b946b50f89a6be7aec898074a5e1e90000000000000000000000000000030d7a7c4888851f35705b0852cf20ac1ba6000000000000000000000000b4444468e444f89e1c2cac2f1d3ee7e336cbd1f50000000000000000000000005de77ccabc90b4681e83d0588fb91a54f8f70aaf000000000000000000000000fad35a07f9244abb4e2481f7d7c7bffcad10263c000000000000000000000000d80bcabefca1334ec0c2ee110cb9213d72dd3622000000000000000000000000b6cb302710592ffca18f2b09e4fb5fd4dcd0cb2d000000000000000000000000af0af0f9e7e52d0158b6e9b0596515cc90e1546f000000000000000000000000cf5540fffcdc3d510b18bfca6d2b9987b0772559000000000000000000000000b33f4b9c6f0624edeae8881c97381837760d52cb000000000000000000000000b1fd2da8914dc200bc4effd71713594caa88a2f8000000000000000000000000e148d8919309697d714b9f33b4624969a9a55f81