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[])
getConvertiblePositions
viewfunction getConvertiblePositions(address user) view returns (tuple[] convertiblePositions)
getConvertiblePositions
viewfunction getConvertiblePositions(uint256 tokenId) view returns (tuple convertiblePosition)
getConvertiblePositionsByIndex
viewfunction getConvertiblePositionsByIndex(uint256 startIndex, uint256 endIndex) view returns (tuple[] convertiblePositions)
getConvertibleProtocolInfo
viewfunction getConvertibleProtocolInfo() view returns (tuple convertibleProtocolInfo)
getEthPrice
viewfunction getEthPrice() view returns (uint256)
getLstPrice
viewfunction getLstPrice() view returns (uint256)
getProjectedEpochRate
viewfunction getProjectedEpochRate() view returns (tuple projectedEpochRate)
getSpotPrice
viewfunction getSpotPrice() view returns (uint256)
getStakingPositions
viewfunction getStakingPositions(address user) view returns (tuple[] stakingPositions)
getTokenInfos
viewfunction getTokenInfos(address user, address[] bondTokens, address allowanceTarget) view returns (tuple[] tokenInfos)
getTokenPrice
viewfunction getTokenPrice(address token) view returns (uint256)
getTotalProtocolInfo
viewfunction getTotalProtocolInfo() view returns (tuple protocolInfo, tuple convertibleProtocolInfo, tuple projectedEpochRate)
getTwapPrice
viewfunction getTwapPrice() view returns (uint256 price)
getUserInfo
viewfunction getUserInfo(address user, address[] tokens, address allowanceTarget) view returns (bytes8 referralCode, tuple[] tokenInfos, tuple[] stakingPositions, tuple[] convertiblePositions)
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
0x608060405234801561001057600080fd5b50604051613c34380380613c3483398101604081905261002f916103c9565b8051600280546001600160a01b03199081166001600160a01b039384169081179092556020840151600c8054831691851691909117905560408401516003805483169185169190911790556060840151600480548316918516919091179055608084015160058054831691851691909117905560c084015160018054831691851691909117905560e084015160068054831691851691909117905561010084015160078054831691851691909117905560a0840151600880548316918516919091179055610120840151600080548316918516919091179055610140840151600980548316918516919091179055610160840151600a80548316918516919091179055610180840151600b80549092169316929092179091558190156101cd576004805460025460405163095ea7b360e01b81526001600160a01b03918216938101939093526000196024840152169063095ea7b3906044016020604051808303816000875af11580156101a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cb91906104ce565b505b600c546001600160a01b03161561036357600c60009054906101000a90046001600160a01b03166001600160a01b03166306d378176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025591906104f7565b600d80546001600160a01b0319166001600160a01b03929092169182179055604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa1580156102af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d391906104f7565b600e80546001600160a01b0319166001600160a01b03928316179055600d54600c5460405163095ea7b360e01b81529083166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801561033d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036191906104ce565b505b5050610514565b6040516101a081016001600160401b038111828210171561039b57634e487b7160e01b600052604160045260246000fd5b60405290565b6001600160a01b03811681146103b657600080fd5b50565b80516103c4816103a1565b919050565b60006101a08284031280156103dd57600080fd5b506103e661036a565b6103ef836103b9565b81526103fd602084016103b9565b602082015261040e604084016103b9565b604082015261041f606084016103b9565b6060820152610430608084016103b9565b608082015261044160a084016103b9565b60a082015261045260c084016103b9565b60c082015261046360e084016103b9565b60e082015261047561010084016103b9565b61010082015261048861012084016103b9565b61012082015261049b61014084016103b9565b6101408201526104ae61016084016103b9565b6101608201526104c161018084016103b9565b6101808201529392505050565b6000602082840312156104e057600080fd5b815180151581146104f057600080fd5b9392505050565b60006020828403121561050957600080fd5b81516104f0816103a1565b613711806105236000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806383da83571161010f578063dc76fabc116100a2578063f2494f3b11610071578063f2494f3b1461050c578063f2a78c4114610514578063f62163a614610534578063fe8b876e1461054757600080fd5b8063dc76fabc146104d6578063dcedca92146104de578063eee2bfa0146104f1578063f043a587146104f957600080fd5b8063ccbdff43116100de578063ccbdff43146103c1578063d02641a01461049d578063d25f29a6146104b0578063d3dc7539146104c357600080fd5b806383da8357146103685780639c8762e11461037b5780639e78c5c11461038e578063b79e4248146103ae57600080fd5b806358688fec116101875780636ee07d8c116101565780636ee07d8c1461030b57806372f702f31461032057806379364f7514610333578063836eb7bb1461034857600080fd5b806358688fec146102c75780635ab2da8a146102dd57806361d027b3146102f057806367c9b0171461030357600080fd5b80631eba02ec116101c35780631eba02ec1461026b57806333c326ed1461027e5780634cf088d9146102a15780634f583684146102b457600080fd5b806303347ec1146101f557806306d378171461022557806313859d1f14610238578063191b87a314610258575b600080fd5b600954610208906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600d54610208906001600160a01b031681565b61024b610246366004612c23565b61055a565b60405161021c9190612d19565b600154610208906001600160a01b031681565b600054610208906001600160a01b031681565b61029161028c366004612dc1565b610771565b60405161021c94939291906130a5565b600254610208906001600160a01b031681565b61024b6102c2366004613106565b61082d565b6102cf610a4b565b60405190815260200161021c565b600e54610208906001600160a01b031681565b600354610208906001600160a01b031681565b6102cf610af7565b610313610b8f565b60405161021c9190613128565b600554610208906001600160a01b031681565b61033b610d38565b60405161021c9190613175565b61035b610356366004613106565b610e2c565b60405161021c91906131ae565b600854610208906001600160a01b031681565b600754610208906001600160a01b031681565b6103a161039c3660046131c1565b611204565b60405161021c91906131da565b600454610208906001600160a01b031681565b6103c96114a7565b6040805184518152602080860151818301528583015182840152606080870151818401526080808801518185015260a0808901518186015260c0808a01518187015260e0808b015190870152610100998a0151998601999099528751610120860152878401516101408601528786015161016086015287830151610180860152878201516101a08601528701516101c085015295909601516101e08301528351610200830152830151610220820152908201516102408201529281015161026084015201516102808201526102a00161021c565b6102cf6104ab366004612c23565b61158b565b600654610208906001600160a01b031681565b600a54610208906001600160a01b031681565b6102cf6116f7565b6102cf6104ec3660046131c1565b611744565b6102cf611829565b61035b610507366004612c23565b611948565b6102cf611d7e565b610527610522366004612dc1565b611e24565b60405161021c91906131e9565b600b54610208906001600160a01b031681565b600c54610208906001600160a01b031681565b600c546060906001600160a01b031661057257919050565b600c546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa1580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e191906131fc565b90508067ffffffffffffffff8111156105fc576105fc612d2c565b60405190808252806020026020018201604052801561069c57816020015b61068960405180610180016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b81526020019060019003908161061a5790505b50915060005b8181101561076a57600c546040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490526000921690632f745c5990604401602060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073991906131fc565b905061074481611204565b84838151811061075657610756613215565b6020908102919091010152506001016106a2565b5050919050565b600060608060606107818761055a565b600a546040517fd5ab6f500000000000000000000000000000000000000000000000000000000081526001600160a01b038a8116600483015292935091169063d5ab6f5090602401602060405180830381865afa1580156107e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080a919061322b565b935061081587611948565b9150610822878787611e24565b925093509350935093565b600c546060906001600160a01b031615610a4557600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b891906131fc565b82116108c4578161093b565b600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093b91906131fc565b91506109478383613283565b67ffffffffffffffff81111561095f5761095f612d2c565b6040519080825280602002602001820160405280156109ff57816020015b6109ec60405180610180016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b81526020019060019003908161097d5790505b509050825b82811015610a4357610a1581611204565b82610a208684613283565b81518110610a3057610a30613215565b6020908102919091010152600101610a04565b505b92915050565b600080610a566116f7565b90506000600960009054906101000a90046001600160a01b03166001600160a01b0316632c4e722e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad191906131fc565b9050670de0b6b3a7640000610ae68284613296565b610af091906132ad565b9250505090565b6007546000906001600160a01b031615610b895760075460405163078a424560e01b8152670de0b6b3a764000060048201526000916001600160a01b03169063078a4245906024015b606060405180830381865afa158015610b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8191906132cf565b509392505050565b50600090565b610bcf6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600c546001600160a01b0316610be25790565b600c54604080517fbe45a26f00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163be45a26f9160048083019260c09291908290030181865afa158015610c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6991906132fd565b90506000600c60009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce491906131fc565b90506040518060e0016040528082815260200183600001518152602001836020015181526020018360400151815260200183606001518152602001836080015181526020018360a001518152509250505090565b610d6a6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6008546001600160a01b0316610d7d5790565b6000806000806000600860009054906101000a90046001600160a01b03166001600160a01b0316639e9a71f76040518163ffffffff1660e01b815260040160a060405180830381865afa158015610dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfc919061337b565b6040805160a081018252958652602086019490945292840191909152606083015260808201529695505050505050565b60606000610e3a8484613283565b67ffffffffffffffff811115610e5257610e52612d2c565b604051908082528060200260200182016040528015610ef157816020015b610ede60405180610160016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581526020016000151581525090565b815260200190600190039081610e705790505b506002549091506001600160a01b0316610f0c579050610a45565b835b83811015610b815760025460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161014060405180830381865afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8591906133bb565b8051909150600003610f9757506111fc565b6000808260a00151118015610faf57508160a0015142105b905060008260a0015190506000808460c00151118015610fd257508360c0015142105b604080516101608101918290526002547f6352211e00000000000000000000000000000000000000000000000000000000909252610164810188905291925081906001600160a01b0316636352211e6101848301602060405180830381865afa158015611043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110679190613445565b6001600160a01b0390811682526020808301899052875160408085019190915290880151606084015260025490517f4d6ed8c4000000000000000000000000000000000000000000000000000000008152600481018a9052608090930192911690634d6ed8c490602401602060405180830381865afa1580156110ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111291906131fc565b8152608086810180516020840152604080840187905290511560608401528415159183019190915285151560a083015260095490517f85afc8df0000000000000000000000000000000000000000000000000000000081526004810189905260c0909201916001600160a01b03909116906385afc8df90602401602060405180830381865afa1580156111a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cd9190613462565b15159052866111dc8b88613283565b815181106111ec576111ec613215565b6020026020010181905250505050505b600101610f0e565b61127360405180610180016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b600c546001600160a01b031661128857919050565b6000611292611829565b600c5460405163133f757160e31b8152600481018690529192506000916001600160a01b03909116906399fbab889060240161010060405180830381865afa1580156112e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113069190613484565b600c546040517f86c316240000000000000000000000000000000000000000000000000000000081526004810187905291925060009182916001600160a01b0316906386c31624906024016040805180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139191906134f8565b60408051610180810191829052600c547f6352211e0000000000000000000000000000000000000000000000000000000090925261018481018a905292945090925081906001600160a01b0316636352211e6101a48301602060405180830381865afa158015611405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114299190613445565b6001600160a01b03168152602001878152602001846000015181526020018460200151815260200184604001518152602001846080015181526020018460a0015181526020018460c0015181526020018460e001518152602001838152602001828152602001858560c0015110151515815250945050505050919050565b6114f66040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6115366040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6115686040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b611570610d38565b905061157a61293c565b9250611584610b8f565b9150909192565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f0919061351c565b60ff169050600061160282600a613626565b9050600061160e6116f7565b6001549091506001600160a01b0316156116ec576001546040517f3e8600170000000000000000000000000000000000000000000000000000000081526001600160a01b038781166004830152602482018590526000928392911690633e86001790604401606060405180830381865afa158015611690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b491906132cf565b509092509050670de0b6b3a76400006116cd8385613296565b6116d791906132ad565b6116e19082613632565b979650505050505050565b506000949350505050565b6006546000906001600160a01b031615610b895760065460405163078a424560e01b8152670de0b6b3a764000060048201526000916001600160a01b03169063078a424590602401610b40565b6008546000906001600160a01b031661175f57506000919050565b600854604080517f9e9a71f700000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691639e9a71f79160048083019260a09291908290030181865afa1580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e6919061337b565b5050925050508281670de0b6b3a76400006118019190613296565b61180d9061016d613296565b611818906004613296565b61182291906132ad565b9392505050565b600c546000906001600160a01b03166118425750600090565b600c54604080517f9043292a00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691639043292a9160048083019260209291908290030181865afa1580156118a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c99190613445565b60405163078a424560e01b8152670de0b6b3a764000060048201529091506000906001600160a01b0383169063078a424590602401606060405180830381865afa15801561191b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193f91906132cf565b50949350505050565b6002546060906001600160a01b031661196057919050565b6002546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa1580156119ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cf91906131fc565b90508067ffffffffffffffff8111156119ea576119ea612d2c565b604051908082528060200260200182016040528015611a8957816020015b611a7660405180610160016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581526020016000151581525090565b815260200190600190039081611a085790505b50915060005b8181101561076a576002546040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490526000921690632f745c5990604401602060405180830381865afa158015611b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2691906131fc565b905080600003611b365750611d76565b60025460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161014060405180830381865afa158015611b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba591906133bb565b90506000808260c00151118015611bbf57508160c0015142105b90506000808360a00151118015611bd957508260a0015142105b60a084015160408051610160810182526001600160a01b038c8116825260208083018a9052885183850152880151606083015260025492517f4d6ed8c4000000000000000000000000000000000000000000000000000000008152600481018a90529495509293909260808401921690634d6ed8c490602401602060405180830381865afa158015611c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9391906131fc565b8152608086810180516020840152604080840186905290511560608401528615159183019190915284151560a083015260095490517f85afc8df0000000000000000000000000000000000000000000000000000000081526004810189905260c0909201916001600160a01b03909116906385afc8df90602401602060405180830381865afa158015611d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4e9190613462565b1515815250888781518110611d6557611d65613215565b602002602001018190525050505050505b600101611a8f565b6002546000906001600160a01b0316611d975750600090565b600254604080517f817b1cd20000000000000000000000000000000000000000000000000000000081529051611e1f926001600160a01b03169163817b1cd29160048083019260209291908290030181865afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ec91906131fc565b905090565b606082516003611e349190613632565b67ffffffffffffffff811115611e4c57611e4c612d2c565b604051908082528060200260200182016040528015611ed857816020015b611ec560405180610120016040528060006001600160a01b03168152602001606081526020016060815260200160008152602001600081526020016000815260200160008152602001600060ff168152602001600081525090565b815260200190600190039081611e6a5790505b506040805161012081018252600480546001600160a01b039081168084528451808601865260038082527f525a52000000000000000000000000000000000000000000000000000000000060208084018290528088019390935287518089018952918252918101919091528486015293516370a0823160e01b815290891691810191909152929350916060830191906370a0823190602401602060405180830381865afa158015611f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb191906131fc565b815260048054604051636eb1769f60e11b81526001600160a01b0389811693820193909352868316602482015260209093019291169063dd62ed3e90604401602060405180830381865afa15801561200d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203191906131fc565b8152600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935260209093019216906370a0823190602401602060405180830381865afa158015612087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ab91906131fc565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612103573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212791906131fc565b81526012602082015260400161213b6116f7565b8152508160008151811061215157612151613215565b60209081029190910181019190915260408051610120810182526005546001600160a01b0390811680835283518085018552600a81527f5374616b656420525a520000000000000000000000000000000000000000000081870152838601528351808501855260048082527f73525a5200000000000000000000000000000000000000000000000000000000968201969096528385015292516370a0823160e01b815290881693810193909352916060830191906370a0823190602401602060405180830381865afa15801561222b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224f91906131fc565b8152600554604051636eb1769f60e11b81526001600160a01b03888116600483015286811660248301526020909301929091169063dd62ed3e90604401602060405180830381865afa1580156122a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cd91906131fc565b815260200160008152602001600560009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561232c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235091906131fc565b8152601260208201526040016123646116f7565b8152508160018151811061237a5761237a613215565b60209081029190910181019190915260408051610120810182526009546001600160a01b0390811680835283518085018552601181527f4c6971756964205374616b656420525a52000000000000000000000000000000818701528386015283518085018552600681527f6c7374525a520000000000000000000000000000000000000000000000000000958101959095528284019490945291516370a0823160e01b815291871660048301529160608301916370a0823190602401602060405180830381865afa158015612453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061247791906131fc565b815260006020820152600954600354604080516370a0823160e01b81526001600160a01b0392831660048201529301929116906370a0823190602401602060405180830381865afa1580156124d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f491906131fc565b8152600954604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516020938401936001600160a01b03909316926318160ddd92600480820193918290030181865afa15801561255a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257e91906131fc565b815260126020820152604001612592610a4b565b815250816002815181106125a8576125a8613215565b602002602001018190525060005b8351811015610b815760008482815181106125d3576125d3613215565b60200260200101519050604051806101200160405280826001600160a01b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015612636573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261265e9190810190613645565b8152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156126a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126c99190810190613645565b81526040516370a0823160e01b81526001600160a01b0389811660048301526020909201918416906370a0823190602401602060405180830381865afa158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b91906131fc565b8152604051636eb1769f60e11b81526001600160a01b038981166004830152878116602483015260209092019184169063dd62ed3e90604401602060405180830381865afa158015612791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127b591906131fc565b81526003546040516370a0823160e01b81526001600160a01b039182166004820152602090920191908416906370a0823190602401602060405180830381865afa158015612807573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282b91906131fc565b8152602001826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561286e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289291906131fc565b8152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128f9919061351c565b60ff16815260200161290a8361158b565b905283612918846003613632565b8151811061292857612928613215565b6020908102919091010152506001016125b6565b61298b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600b546001600160a01b031615612a2e57600b54604080517f242693d3000000000000000000000000000000000000000000000000000000008152815160009384936001600160a01b039091169263242693d392600480830193928290030181865afa1580156129ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2391906134f8565b908452602084015250505b6002546001600160a01b031615612b4857600260009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab691906131fc565b6060820152600254604080517fcd3daf9d00000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163cd3daf9d916004808201926020929091908290030181865afa158015612b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4291906131fc565b60808201525b60048054604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216926318160ddd9282820192602092908290030181865afa158015612ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bcc91906131fc565b6040820152612bd9611d7e565b60a0820152612be66116f7565b60c0820152612bf3610af7565b60e082015290565b6001600160a01b0381168114612c1057600080fd5b50565b8035612c1e81612bfb565b919050565b600060208284031215612c3557600080fd5b813561182281612bfb565b80516001600160a01b031682526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100810151610100830152610120810151610120830152610140810151610140830152610160810151612ccc61016084018215159052565b505050565b600081518084526020840193506020830160005b82811015612d0f57612cf8868351612c40565b610180959095019460209190910190600101612ce5565b5093949350505050565b6020815260006118226020830184612cd1565b634e487b7160e01b600052604160045260246000fd5b604051610140810167ffffffffffffffff81118282101715612d6657612d66612d2c565b60405290565b604051610100810167ffffffffffffffff81118282101715612d6657612d66612d2c565b604051601f8201601f1916810167ffffffffffffffff81118282101715612db957612db9612d2c565b604052919050565b600080600060608486031215612dd657600080fd5b8335612de181612bfb565b9250602084013567ffffffffffffffff811115612dfd57600080fd5b8401601f81018613612e0e57600080fd5b803567ffffffffffffffff811115612e2857612e28612d2c565b8060051b612e3860208201612d90565b91825260208184018101929081019089841115612e5457600080fd5b6020850194505b83851015612e825784359250612e7083612bfb565b82825260209485019490910190612e5b565b8096505050505050612e9660408501612c13565b90509250925092565b60005b83811015612eba578181015183820152602001612ea2565b50506000910152565b60008151808452612edb816020860160208601612e9f565b601f01601f19169290920160200192915050565b600082825180855260208501945060208160051b8301016020850160005b83811015612fc357848303601f19018852815180516001600160a01b0316845260208101516101206020860152612f48610120860182612ec3565b905060408201518582036040870152612f618282612ec3565b915050606082015160608601526080820151608086015260a082015160a086015260c082015160c086015260e0820151612fa060e087018260ff169052565b506101009182015194909101939093526020978801979190910190600101612f0d565b50909695505050505050565b600081518084526020840193506020830160005b82811015612d0f57815180516001600160a01b031687526020810151602088015260408101516040880152606081015160608801526080810151608088015260a081015160a088015260c081015160c088015260e081015161304960e089018215159052565b5061010081015161305f61010089018215159052565b5061012081015161307561012089018215159052565b50610140810151905061308d61014088018215159052565b50610160959095019460209190910190600101612fe3565b7fffffffffffffffff000000000000000000000000000000000000000000000000851681526080602082015260006130e06080830186612eef565b82810360408401526130f28186612fcf565b905082810360608401526116e18185612cd1565b6000806040838503121561311957600080fd5b50508035926020909101359150565b60e08101610a458284805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b60a08101610a45828480518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b6020815260006118226020830184612fcf565b6000602082840312156131d357600080fd5b5035919050565b6101808101610a458284612c40565b6020815260006118226020830184612eef565b60006020828403121561320e57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561323d57600080fd5b81517fffffffffffffffff0000000000000000000000000000000000000000000000008116811461182257600080fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610a4557610a4561326d565b8082028115828204841417610a4557610a4561326d565b6000826132ca57634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156132e457600080fd5b5050815160208301516040909301519094929350919050565b600060c082840312801561331057600080fd5b5060405160009060c0810167ffffffffffffffff8111828210171561333757613337612d2c565b604090815284518252602080860151908301528481015190820152606080850151908201526080808501519082015260a09384015193810193909352509092915050565b600080600080600060a0868803121561339357600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b60006101408284031280156133cf57600080fd5b5060006133da612d42565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e0808501519082015261010080850151908201526101209384015193810193909352509092915050565b60006020828403121561345757600080fd5b815161182281612bfb565b60006020828403121561347457600080fd5b8151801515811461182257600080fd5b600061010082840312801561349857600080fd5b5060006134a3612d6c565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e09384015193810193909352509092915050565b6000806040838503121561350b57600080fd5b505080516020909101519092909150565b60006020828403121561352e57600080fd5b815160ff8116811461182257600080fd5b6001815b600184111561357a5780850481111561355e5761355e61326d565b600184161561356c57908102905b60019390931c928002613543565b935093915050565b60008261359157506001610a45565b8161359e57506000610a45565b81600181146135b457600281146135be576135da565b6001915050610a45565b60ff8411156135cf576135cf61326d565b50506001821b610a45565b5060208310610133831016604e8410600b84101617156135fd575081810a610a45565b61360a600019848461353f565b806000190482111561361e5761361e61326d565b029392505050565b60006118228383613582565b80820180821115610a4557610a4561326d565b60006020828403121561365757600080fd5b815167ffffffffffffffff81111561366e57600080fd5b8201601f8101841361367f57600080fd5b805167ffffffffffffffff81111561369957613699612d2c565b6136ac6020601f19601f84011601612d90565b8181528560208385010111156136c157600080fd5b6136d2826020830160208601612e9f565b9594505050505056fea264697066735822122020053d685336892c789ebc1a897c393e35b2035a6a44c06d904c2862db3b660064736f6c634300081c0033000000000000000000000000cd43c9c6ecca33a0c3ef6e509f7559c5c5e46399000000000000000000000000614699757fb3bfacd8a0d10d3b3205f1089993be0000000000000000000000000000030d7a7c4888851f35705b0852cf20ac1ba6000000000000000000000000b4444468e444f89e1c2cac2f1d3ee7e336cbd1f50000000000000000000000005de77ccabc90b4681e83d0588fb91a54f8f70aaf000000000000000000000000fad35a07f9244abb4e2481f7d7c7bffcad10263c000000000000000000000000d80bcabefca1334ec0c2ee110cb9213d72dd3622000000000000000000000000b6cb302710592ffca18f2b09e4fb5fd4dcd0cb2d000000000000000000000000af0af0f9e7e52d0158b6e9b0596515cc90e1546f000000000000000000000000cf5540fffcdc3d510b18bfca6d2b9987b0772559000000000000000000000000b33f4b9c6f0624edeae8881c97381837760d52cb000000000000000000000000b1fd2da8914dc200bc4effd71713594caa88a2f8000000000000000000000000e148d8919309697d714b9f33b4624969a9a55f81