@raac/rpc 1.0.1 → 1.0.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/RPCLibrary.js +61 -8
- package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +1743 -0
- package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +175 -67
- package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +279 -0
- package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +1231 -195
- package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +153 -199
- package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +72 -2
- package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +2 -2
- package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.json +770 -0
- package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +707 -49
- package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +23 -84
- package/dist/artifacts/core/tokens/RToken.sol/RToken.json +62 -62
- package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +2 -2
- package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +774 -0
- package/dist/artifacts/zeno/Auction.sol/Auction.json +34 -114
- package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +3 -3
- package/dist/artifacts/zeno/Zeno.sol/Zeno.json +3 -3
- package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +3 -3
- package/dist/configs/chains/17000.json +127 -0
- package/dist/configs/chains/8453.json +26 -14
- package/dist/configs/chains/index.js +2 -0
- package/dist/configs/createConfig.js +6 -0
- package/dist/contracts/feeCollector/claimRewardFromPool.js +24 -0
- package/dist/contracts/housePrices/getLatestPrice.js +1 -1
- package/dist/contracts/indexToken/getNextRandomNFT.js +30 -0
- package/dist/contracts/indexToken/redeemNFT.js +39 -0
- package/dist/nfts/getAllTokens.js +34 -0
- package/dist/nfts/{addNewBatch.js → getBaseUri.js} +7 -8
- package/dist/nfts/getMintFeePercentage.js +23 -0
- package/dist/nfts/getMintPrice.js +28 -0
- package/dist/nfts/getTokenURI.js +23 -0
- package/dist/nfts/getTokensByOwner.js +35 -0
- package/dist/nfts/getTotalPropertiesCount.js +23 -0
- package/dist/nfts/{getCurrentBatchSize.js → totalNFTSupply.js} +3 -3
- package/dist/pools/lendingPool/borrowFromLendingPool.js +4 -3
- package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +40 -0
- package/dist/pools/lendingPool/calculateInsuranceFee.js +20 -0
- package/dist/pools/lendingPool/claimReward.js +22 -0
- package/dist/pools/lendingPool/closeLiquidation.js +28 -0
- package/dist/pools/lendingPool/depositNFTToLendingPool.js +0 -1
- package/dist/pools/lendingPool/depositToLendingPool.js +2 -2
- package/dist/pools/lendingPool/getAllUserData.js +28 -0
- package/dist/pools/lendingPool/getEligibleUserDeposits.js +27 -0
- package/dist/pools/lendingPool/getHealthFactor.js +27 -0
- package/dist/pools/lendingPool/getLendingPoolInfo.js +8 -5
- package/dist/pools/lendingPool/getPendingReward.js +20 -0
- package/dist/pools/lendingPool/getPositionDebt.js +27 -0
- package/dist/pools/lendingPool/getPositionScaledDebt.js +27 -0
- package/dist/pools/lendingPool/getPositionView.js +38 -0
- package/dist/pools/lendingPool/getPositionsScaledDebt.js +27 -0
- package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +21 -0
- package/dist/pools/lendingPool/getUserCollateralValue.js +27 -0
- package/dist/pools/lendingPool/initializeLiquidation.js +28 -0
- package/dist/pools/lendingPool/repayToLendingPool.js +4 -8
- package/dist/pools/lendingPool/withdrawFromLendingPool.js +2 -2
- package/dist/pools/stabilityPool/depositNFTToStabilityPool.js +40 -0
- package/dist/pools/stabilityPool/getRawUserDepositsInStabilityPool.js +21 -0
- package/dist/pools/stabilityPool/getStabilityPoolInfo.js +2 -12
- package/dist/scripts/index.js +90 -35
- package/dist/types/RPCLibrary.d.ts +61 -8
- package/dist/types/configs/chains/index.d.ts +2 -0
- package/dist/types/configs/createConfig.d.ts +6 -0
- package/dist/types/configs/index.d.ts +1 -0
- package/dist/types/contracts/feeCollector/claimRewardFromPool.d.ts +4 -0
- package/dist/types/contracts/housePrices/getLatestPrice.d.ts +1 -1
- package/dist/types/contracts/indexToken/getNextRandomNFT.d.ts +7 -0
- package/dist/types/contracts/indexToken/redeemNFT.d.ts +4 -0
- package/dist/types/nfts/getAllTokens.d.ts +7 -0
- package/dist/types/nfts/getBaseUri.d.ts +4 -0
- package/dist/types/nfts/getMintFeePercentage.d.ts +4 -0
- package/dist/types/nfts/getMintPrice.d.ts +7 -0
- package/dist/types/nfts/getTokenURI.d.ts +4 -0
- package/dist/types/nfts/getTokensByOwner.d.ts +10 -0
- package/dist/types/nfts/getTotalPropertiesCount.d.ts +4 -0
- package/dist/types/nfts/totalNFTSupply.d.ts +4 -0
- package/dist/types/pools/lendingPool/borrowFromLendingPool.d.ts +1 -1
- package/dist/types/pools/lendingPool/borrowFromLendingPoolWithInsurance.d.ts +4 -0
- package/dist/types/pools/lendingPool/calculateInsuranceFee.d.ts +4 -0
- package/dist/types/pools/lendingPool/claimReward.d.ts +4 -0
- package/dist/types/pools/lendingPool/closeLiquidation.d.ts +11 -0
- package/dist/types/pools/lendingPool/getAllUserData.d.ts +16 -0
- package/dist/types/pools/lendingPool/getEligibleUserDeposits.d.ts +11 -0
- package/dist/types/pools/lendingPool/getHealthFactor.d.ts +11 -0
- package/dist/types/pools/lendingPool/getLendingPoolInfo.d.ts +2 -1
- package/dist/types/pools/lendingPool/getPendingReward.d.ts +4 -0
- package/dist/types/pools/lendingPool/getPositionDebt.d.ts +11 -0
- package/dist/types/pools/lendingPool/getPositionScaledDebt.d.ts +11 -0
- package/dist/types/pools/lendingPool/getPositionView.d.ts +27 -0
- package/dist/types/pools/lendingPool/getPositionsScaledDebt.d.ts +11 -0
- package/dist/types/pools/lendingPool/getRawUserDepositsInLendingPool.d.ts +4 -0
- package/dist/types/pools/lendingPool/getUserCollateralValue.d.ts +11 -0
- package/dist/types/pools/lendingPool/initializeLiquidation.d.ts +11 -0
- package/dist/types/pools/lendingPool/repayToLendingPool.d.ts +2 -2
- package/dist/types/pools/lendingPool/withdrawNFTFromLendingPool.d.ts +1 -1
- package/dist/types/pools/stabilityPool/depositNFTToStabilityPool.d.ts +4 -0
- package/dist/types/pools/stabilityPool/getRawUserDepositsInStabilityPool.d.ts +4 -0
- package/dist/types/pools/stabilityPool/getStabilityPoolInfo.d.ts +1 -3
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/index.d.ts +2 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2.d.ts +35 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/index.d.ts +3 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/interfaces/VRFCoordinatorV2Interface.d.ts +156 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/interfaces/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/core/collectors/FeeCollector.d.ts +446 -221
- package/dist/types/typechain-types/contracts/core/minters/RAACMinter/RAACMinter.d.ts +108 -20
- package/dist/types/typechain-types/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.d.ts +6 -16
- package/dist/types/typechain-types/contracts/core/oracles/BaseVRFv2Consumer.d.ts +166 -0
- package/dist/types/typechain-types/contracts/core/oracles/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +811 -99
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPool.d.ts +152 -148
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/core/primitives/RAACHousePrices.d.ts +29 -2
- package/dist/types/typechain-types/contracts/core/tokens/DebtToken.d.ts +65 -51
- package/dist/types/typechain-types/contracts/core/tokens/IndexToken.d.ts +187 -2
- package/dist/types/typechain-types/contracts/core/tokens/RAACNFT.d.ts +413 -19
- package/dist/types/typechain-types/contracts/core/tokens/RToken.d.ts +40 -40
- package/dist/types/typechain-types/contracts/interfaces/core/collectors/IBaseCollector.d.ts +39 -0
- package/dist/types/typechain-types/contracts/interfaces/core/collectors/IFeeCollector.d.ts +317 -130
- package/dist/types/typechain-types/contracts/interfaces/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/core/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinter.d.ts +58 -22
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.d.ts +5 -3
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IBaseVRFv2Consumer.d.ts +86 -0
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/ILiquidityPool.d.ts +83 -45
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +539 -54
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/IStabilityPool.d.ts +92 -71
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +123 -27
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IIndexToken.d.ts +187 -0
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACNFT.d.ts +243 -17
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRToken.d.ts +37 -37
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/IBaseVault.d.ts +83 -0
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/mocks/core/collectors/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/mocks/core/governance/proposals/TimelockTestTarget.d.ts +5 -1
- package/dist/types/typechain-types/contracts/mocks/core/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockVRFCoordinatorV2.d.ts +530 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolCollector.d.ts +156 -0
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +557 -102
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLiquidityPool.d.ts +486 -0
- package/dist/types/typechain-types/contracts/mocks/core/pools/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/primitives/MockDistributableContract.d.ts +35 -0
- package/dist/types/typechain-types/contracts/mocks/core/primitives/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/tokens/MockCollectableUnderlying.d.ts +292 -0
- package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/vaults/MockVault.d.ts +290 -0
- package/dist/types/typechain-types/contracts/mocks/core/vaults/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/libraries/MockStringUtils.d.ts +25 -0
- package/dist/types/typechain-types/contracts/mocks/libraries/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2__factory.d.ts +33 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/interfaces/VRFCoordinatorV2Interface__factory.d.ts +171 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/interfaces/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +571 -194
- package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +138 -54
- package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +5 -31
- package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +231 -0
- package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/oracles/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +897 -64
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/NFTLiquidator__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +128 -161
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +54 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +47 -29
- package/dist/types/typechain-types/factories/contracts/core/tokens/IndexToken__factory.d.ts +317 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +525 -17
- package/dist/types/typechain-types/factories/contracts/core/tokens/RAACToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +52 -52
- package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IBaseCollector__factory.d.ts +33 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IFeeCollector__factory.d.ts +409 -90
- package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinter__factory.d.ts +59 -15
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator__factory.d.ts +4 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IBaseVRFv2Consumer__factory.d.ts +78 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/ILiquidityPool__factory.d.ts +119 -39
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +547 -19
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/IStabilityPool__factory.d.ts +68 -67
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +119 -6
- package/dist/types/typechain-types/factories/{erc721a/contracts/IERC721A__factory.d.ts → contracts/interfaces/core/tokens/IIndexToken__factory.d.ts} +74 -215
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACNFT__factory.d.ts +274 -10
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRToken__factory.d.ts +26 -26
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/{IMarketCreator__factory.d.ts → core/vaults/IBaseVault__factory.d.ts} +78 -42
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockBaseGauge__factory.d.ts +16 -4
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +10 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockVRFCoordinatorV2__factory.d.ts +620 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolCollector__factory.d.ts +234 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +539 -77
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPool__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLiquidityPool__factory.d.ts +795 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockStabilityPool__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +68 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +451 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +525 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__factory.d.ts +40 -0
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/index.d.ts +0 -1
- package/dist/types/typechain-types/index.d.ts +28 -10
- package/dist/types/utils/artifacts.d.ts +677 -39
- package/dist/types/utils/contracts.d.ts +2 -0
- package/dist/utils/artifacts.js +9 -0
- package/package.json +1 -1
- package/dist/nfts/getDepositedNFTs.js +0 -19
- package/dist/nfts/getOwnedNFTs.js +0 -34
- package/dist/types/nfts/addNewBatch.d.ts +0 -4
- package/dist/types/nfts/getCurrentBatchSize.d.ts +0 -4
- package/dist/types/nfts/getDepositedNFTs.d.ts +0 -7
- package/dist/types/nfts/getOwnedNFTs.d.ts +0 -7
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/MarketCreator.d.ts +0 -274
- package/dist/types/typechain-types/contracts/interfaces/IMarketCreator.d.ts +0 -85
- package/dist/types/typechain-types/contracts/mocks/core/collectors/MockFeeCollector.d.ts +0 -708
- package/dist/types/typechain-types/erc721a/contracts/IERC721A.d.ts +0 -242
- package/dist/types/typechain-types/erc721a/contracts/index.d.ts +0 -1
- package/dist/types/typechain-types/erc721a/index.d.ts +0 -2
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/MarketCreator__factory.d.ts +0 -405
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockFeeCollector__factory.d.ts +0 -985
- package/dist/types/typechain-types/factories/erc721a/contracts/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/erc721a/index.d.ts +0 -1
|
@@ -71,6 +71,11 @@
|
|
|
71
71
|
"name": "CannotBorrowUnderLiquidation",
|
|
72
72
|
"type": "error"
|
|
73
73
|
},
|
|
74
|
+
{
|
|
75
|
+
"inputs": [],
|
|
76
|
+
"name": "CannotRepayUnderLiquidationWithoutInsurance",
|
|
77
|
+
"type": "error"
|
|
78
|
+
},
|
|
74
79
|
{
|
|
75
80
|
"inputs": [],
|
|
76
81
|
"name": "CannotWithdrawUnderLiquidation",
|
|
@@ -111,6 +116,11 @@
|
|
|
111
116
|
"name": "HealthFactorTooLow",
|
|
112
117
|
"type": "error"
|
|
113
118
|
},
|
|
119
|
+
{
|
|
120
|
+
"inputs": [],
|
|
121
|
+
"name": "InsufficientAllowanceForFees",
|
|
122
|
+
"type": "error"
|
|
123
|
+
},
|
|
114
124
|
{
|
|
115
125
|
"inputs": [],
|
|
116
126
|
"name": "InsufficientBalance",
|
|
@@ -146,6 +156,16 @@
|
|
|
146
156
|
"name": "InvalidNFTPrice",
|
|
147
157
|
"type": "error"
|
|
148
158
|
},
|
|
159
|
+
{
|
|
160
|
+
"inputs": [],
|
|
161
|
+
"name": "InvalidParameter",
|
|
162
|
+
"type": "error"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"inputs": [],
|
|
166
|
+
"name": "InvalidVaultAsset",
|
|
167
|
+
"type": "error"
|
|
168
|
+
},
|
|
149
169
|
{
|
|
150
170
|
"inputs": [],
|
|
151
171
|
"name": "LiquidityIndexIsZero",
|
|
@@ -161,11 +181,31 @@
|
|
|
161
181
|
"name": "NFTNotDeposited",
|
|
162
182
|
"type": "error"
|
|
163
183
|
},
|
|
184
|
+
{
|
|
185
|
+
"inputs": [],
|
|
186
|
+
"name": "NFTNotInsured",
|
|
187
|
+
"type": "error"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"inputs": [],
|
|
191
|
+
"name": "NoActiveRewardToken",
|
|
192
|
+
"type": "error"
|
|
193
|
+
},
|
|
164
194
|
{
|
|
165
195
|
"inputs": [],
|
|
166
196
|
"name": "NoCollateral",
|
|
167
197
|
"type": "error"
|
|
168
198
|
},
|
|
199
|
+
{
|
|
200
|
+
"inputs": [],
|
|
201
|
+
"name": "NoDeposits",
|
|
202
|
+
"type": "error"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"inputs": [],
|
|
206
|
+
"name": "NoRewardsToClaim",
|
|
207
|
+
"type": "error"
|
|
208
|
+
},
|
|
169
209
|
{
|
|
170
210
|
"inputs": [],
|
|
171
211
|
"name": "NotEnoughCollateralToBorrow",
|
|
@@ -228,6 +268,11 @@
|
|
|
228
268
|
"name": "RepayAmountTooHigh",
|
|
229
269
|
"type": "error"
|
|
230
270
|
},
|
|
271
|
+
{
|
|
272
|
+
"inputs": [],
|
|
273
|
+
"name": "RewardTokenAlreadySet",
|
|
274
|
+
"type": "error"
|
|
275
|
+
},
|
|
231
276
|
{
|
|
232
277
|
"inputs": [
|
|
233
278
|
{
|
|
@@ -328,17 +373,23 @@
|
|
|
328
373
|
{
|
|
329
374
|
"indexed": true,
|
|
330
375
|
"internalType": "address",
|
|
331
|
-
"name": "
|
|
376
|
+
"name": "user",
|
|
332
377
|
"type": "address"
|
|
333
378
|
},
|
|
334
379
|
{
|
|
335
|
-
"indexed":
|
|
336
|
-
"internalType": "
|
|
337
|
-
"name": "
|
|
338
|
-
"type": "
|
|
380
|
+
"indexed": false,
|
|
381
|
+
"internalType": "uint256",
|
|
382
|
+
"name": "amount",
|
|
383
|
+
"type": "uint256"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"indexed": false,
|
|
387
|
+
"internalType": "uint256",
|
|
388
|
+
"name": "mintedAmount",
|
|
389
|
+
"type": "uint256"
|
|
339
390
|
}
|
|
340
391
|
],
|
|
341
|
-
"name": "
|
|
392
|
+
"name": "Deposit",
|
|
342
393
|
"type": "event"
|
|
343
394
|
},
|
|
344
395
|
{
|
|
@@ -359,7 +410,7 @@
|
|
|
359
410
|
{
|
|
360
411
|
"indexed": false,
|
|
361
412
|
"internalType": "uint256",
|
|
362
|
-
"name": "
|
|
413
|
+
"name": "liquidityMinted",
|
|
363
414
|
"type": "uint256"
|
|
364
415
|
}
|
|
365
416
|
],
|
|
@@ -372,23 +423,61 @@
|
|
|
372
423
|
{
|
|
373
424
|
"indexed": true,
|
|
374
425
|
"internalType": "address",
|
|
375
|
-
"name": "
|
|
426
|
+
"name": "oldFeeCollector",
|
|
376
427
|
"type": "address"
|
|
377
428
|
},
|
|
429
|
+
{
|
|
430
|
+
"indexed": true,
|
|
431
|
+
"internalType": "address",
|
|
432
|
+
"name": "newFeeCollector",
|
|
433
|
+
"type": "address"
|
|
434
|
+
}
|
|
435
|
+
],
|
|
436
|
+
"name": "FeeCollectorUpdated",
|
|
437
|
+
"type": "event"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"anonymous": false,
|
|
441
|
+
"inputs": [],
|
|
442
|
+
"name": "InsufficientFees",
|
|
443
|
+
"type": "event"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"anonymous": false,
|
|
447
|
+
"inputs": [
|
|
448
|
+
{
|
|
449
|
+
"indexed": false,
|
|
450
|
+
"internalType": "uint256",
|
|
451
|
+
"name": "oldInsuranceFee",
|
|
452
|
+
"type": "uint256"
|
|
453
|
+
},
|
|
378
454
|
{
|
|
379
455
|
"indexed": false,
|
|
380
456
|
"internalType": "uint256",
|
|
381
|
-
"name": "
|
|
457
|
+
"name": "newInsuranceFee",
|
|
458
|
+
"type": "uint256"
|
|
459
|
+
}
|
|
460
|
+
],
|
|
461
|
+
"name": "InsuranceFeeUpdated",
|
|
462
|
+
"type": "event"
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"anonymous": false,
|
|
466
|
+
"inputs": [
|
|
467
|
+
{
|
|
468
|
+
"indexed": true,
|
|
469
|
+
"internalType": "uint256",
|
|
470
|
+
"name": "tokenId",
|
|
382
471
|
"type": "uint256"
|
|
383
472
|
},
|
|
384
473
|
{
|
|
385
474
|
"indexed": false,
|
|
386
475
|
"internalType": "uint256",
|
|
387
|
-
"name": "
|
|
476
|
+
"name": "amount",
|
|
388
477
|
"type": "uint256"
|
|
389
478
|
}
|
|
390
479
|
],
|
|
391
|
-
"name": "
|
|
480
|
+
"name": "InsuredNFT",
|
|
392
481
|
"type": "event"
|
|
393
482
|
},
|
|
394
483
|
{
|
|
@@ -449,6 +538,12 @@
|
|
|
449
538
|
"internalType": "address",
|
|
450
539
|
"name": "user",
|
|
451
540
|
"type": "address"
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"indexed": true,
|
|
544
|
+
"internalType": "uint256",
|
|
545
|
+
"name": "tokenId",
|
|
546
|
+
"type": "uint256"
|
|
452
547
|
}
|
|
453
548
|
],
|
|
454
549
|
"name": "LiquidationClosed",
|
|
@@ -469,6 +564,12 @@
|
|
|
469
564
|
"name": "user",
|
|
470
565
|
"type": "address"
|
|
471
566
|
},
|
|
567
|
+
{
|
|
568
|
+
"indexed": true,
|
|
569
|
+
"internalType": "uint256",
|
|
570
|
+
"name": "tokenId",
|
|
571
|
+
"type": "uint256"
|
|
572
|
+
},
|
|
472
573
|
{
|
|
473
574
|
"indexed": false,
|
|
474
575
|
"internalType": "uint256",
|
|
@@ -499,6 +600,12 @@
|
|
|
499
600
|
"internalType": "address",
|
|
500
601
|
"name": "user",
|
|
501
602
|
"type": "address"
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"indexed": true,
|
|
606
|
+
"internalType": "uint256",
|
|
607
|
+
"name": "tokenId",
|
|
608
|
+
"type": "uint256"
|
|
502
609
|
}
|
|
503
610
|
],
|
|
504
611
|
"name": "LiquidationInitiated",
|
|
@@ -605,6 +712,12 @@
|
|
|
605
712
|
"name": "NFTWithdrawn",
|
|
606
713
|
"type": "event"
|
|
607
714
|
},
|
|
715
|
+
{
|
|
716
|
+
"anonymous": false,
|
|
717
|
+
"inputs": [],
|
|
718
|
+
"name": "NotFeeCollector",
|
|
719
|
+
"type": "event"
|
|
720
|
+
},
|
|
608
721
|
{
|
|
609
722
|
"anonymous": false,
|
|
610
723
|
"inputs": [
|
|
@@ -656,6 +769,63 @@
|
|
|
656
769
|
"name": "PrimeRateUpdated",
|
|
657
770
|
"type": "event"
|
|
658
771
|
},
|
|
772
|
+
{
|
|
773
|
+
"anonymous": false,
|
|
774
|
+
"inputs": [
|
|
775
|
+
{
|
|
776
|
+
"indexed": false,
|
|
777
|
+
"internalType": "uint256",
|
|
778
|
+
"name": "oldValue",
|
|
779
|
+
"type": "uint256"
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
"indexed": false,
|
|
783
|
+
"internalType": "uint256",
|
|
784
|
+
"name": "newValue",
|
|
785
|
+
"type": "uint256"
|
|
786
|
+
}
|
|
787
|
+
],
|
|
788
|
+
"name": "ProtocolFeeRateUpdated",
|
|
789
|
+
"type": "event"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"anonymous": false,
|
|
793
|
+
"inputs": [
|
|
794
|
+
{
|
|
795
|
+
"indexed": false,
|
|
796
|
+
"internalType": "uint256",
|
|
797
|
+
"name": "protocolFee",
|
|
798
|
+
"type": "uint256"
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"indexed": false,
|
|
802
|
+
"internalType": "uint256",
|
|
803
|
+
"name": "accumulatedProtocolFees",
|
|
804
|
+
"type": "uint256"
|
|
805
|
+
}
|
|
806
|
+
],
|
|
807
|
+
"name": "ProtocolFeesCollected",
|
|
808
|
+
"type": "event"
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
"anonymous": false,
|
|
812
|
+
"inputs": [
|
|
813
|
+
{
|
|
814
|
+
"indexed": true,
|
|
815
|
+
"internalType": "address",
|
|
816
|
+
"name": "feeCollector",
|
|
817
|
+
"type": "address"
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
"indexed": false,
|
|
821
|
+
"internalType": "uint256",
|
|
822
|
+
"name": "amount",
|
|
823
|
+
"type": "uint256"
|
|
824
|
+
}
|
|
825
|
+
],
|
|
826
|
+
"name": "ProtocolFeesWithdrawn",
|
|
827
|
+
"type": "event"
|
|
828
|
+
},
|
|
659
829
|
{
|
|
660
830
|
"anonymous": false,
|
|
661
831
|
"inputs": [
|
|
@@ -706,30 +876,23 @@
|
|
|
706
876
|
{
|
|
707
877
|
"indexed": true,
|
|
708
878
|
"internalType": "address",
|
|
709
|
-
"name": "
|
|
879
|
+
"name": "user",
|
|
710
880
|
"type": "address"
|
|
711
881
|
},
|
|
712
882
|
{
|
|
713
883
|
"indexed": true,
|
|
714
884
|
"internalType": "address",
|
|
715
|
-
"name": "
|
|
885
|
+
"name": "token",
|
|
716
886
|
"type": "address"
|
|
717
|
-
}
|
|
718
|
-
],
|
|
719
|
-
"name": "StabilityPoolUpdated",
|
|
720
|
-
"type": "event"
|
|
721
|
-
},
|
|
722
|
-
{
|
|
723
|
-
"anonymous": false,
|
|
724
|
-
"inputs": [
|
|
887
|
+
},
|
|
725
888
|
{
|
|
726
889
|
"indexed": false,
|
|
727
|
-
"internalType": "
|
|
728
|
-
"name": "
|
|
729
|
-
"type": "
|
|
890
|
+
"internalType": "uint256",
|
|
891
|
+
"name": "amount",
|
|
892
|
+
"type": "uint256"
|
|
730
893
|
}
|
|
731
894
|
],
|
|
732
|
-
"name": "
|
|
895
|
+
"name": "RewardClaimed",
|
|
733
896
|
"type": "event"
|
|
734
897
|
},
|
|
735
898
|
{
|
|
@@ -748,7 +911,7 @@
|
|
|
748
911
|
"type": "uint256"
|
|
749
912
|
}
|
|
750
913
|
],
|
|
751
|
-
"name": "
|
|
914
|
+
"name": "RewardDistributed",
|
|
752
915
|
"type": "event"
|
|
753
916
|
},
|
|
754
917
|
{
|
|
@@ -757,150 +920,678 @@
|
|
|
757
920
|
{
|
|
758
921
|
"indexed": true,
|
|
759
922
|
"internalType": "address",
|
|
760
|
-
"name": "
|
|
923
|
+
"name": "token",
|
|
761
924
|
"type": "address"
|
|
762
925
|
},
|
|
763
926
|
{
|
|
764
927
|
"indexed": false,
|
|
765
928
|
"internalType": "uint256",
|
|
766
|
-
"name": "
|
|
929
|
+
"name": "rewardRate",
|
|
767
930
|
"type": "uint256"
|
|
768
931
|
},
|
|
769
932
|
{
|
|
770
933
|
"indexed": false,
|
|
771
934
|
"internalType": "uint256",
|
|
772
|
-
"name": "
|
|
935
|
+
"name": "duration",
|
|
773
936
|
"type": "uint256"
|
|
774
937
|
}
|
|
775
938
|
],
|
|
776
|
-
"name": "
|
|
939
|
+
"name": "RewardParametersUpdated",
|
|
777
940
|
"type": "event"
|
|
778
941
|
},
|
|
779
942
|
{
|
|
780
943
|
"anonymous": false,
|
|
781
944
|
"inputs": [
|
|
782
945
|
{
|
|
783
|
-
"indexed":
|
|
784
|
-
"internalType": "
|
|
785
|
-
"name": "
|
|
786
|
-
"type": "
|
|
787
|
-
}
|
|
788
|
-
],
|
|
789
|
-
"name": "WithdrawalsPauseStatusChanged",
|
|
790
|
-
"type": "event"
|
|
791
|
-
},
|
|
792
|
-
{
|
|
793
|
-
"inputs": [],
|
|
794
|
-
"name": "BASE_HEALTH_FACTOR_LIQUIDATION_THRESHOLD",
|
|
795
|
-
"outputs": [
|
|
796
|
-
{
|
|
797
|
-
"internalType": "uint256",
|
|
798
|
-
"name": "",
|
|
799
|
-
"type": "uint256"
|
|
800
|
-
}
|
|
801
|
-
],
|
|
802
|
-
"stateMutability": "view",
|
|
803
|
-
"type": "function"
|
|
804
|
-
},
|
|
805
|
-
{
|
|
806
|
-
"inputs": [],
|
|
807
|
-
"name": "BASE_LIQUIDATION_GRACE_PERIOD",
|
|
808
|
-
"outputs": [
|
|
946
|
+
"indexed": true,
|
|
947
|
+
"internalType": "address",
|
|
948
|
+
"name": "token",
|
|
949
|
+
"type": "address"
|
|
950
|
+
},
|
|
809
951
|
{
|
|
952
|
+
"indexed": false,
|
|
810
953
|
"internalType": "uint256",
|
|
811
|
-
"name": "",
|
|
954
|
+
"name": "rewardRate",
|
|
812
955
|
"type": "uint256"
|
|
813
|
-
}
|
|
814
|
-
],
|
|
815
|
-
"stateMutability": "view",
|
|
816
|
-
"type": "function"
|
|
817
|
-
},
|
|
818
|
-
{
|
|
819
|
-
"inputs": [],
|
|
820
|
-
"name": "BASE_LIQUIDATION_THRESHOLD",
|
|
821
|
-
"outputs": [
|
|
956
|
+
},
|
|
822
957
|
{
|
|
958
|
+
"indexed": false,
|
|
823
959
|
"internalType": "uint256",
|
|
824
|
-
"name": "",
|
|
960
|
+
"name": "duration",
|
|
825
961
|
"type": "uint256"
|
|
826
962
|
}
|
|
827
963
|
],
|
|
828
|
-
"
|
|
829
|
-
"type": "
|
|
964
|
+
"name": "RewardTokenAdded",
|
|
965
|
+
"type": "event"
|
|
830
966
|
},
|
|
831
967
|
{
|
|
968
|
+
"anonymous": false,
|
|
832
969
|
"inputs": [
|
|
833
970
|
{
|
|
971
|
+
"indexed": true,
|
|
972
|
+
"internalType": "address",
|
|
973
|
+
"name": "user",
|
|
974
|
+
"type": "address"
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"indexed": false,
|
|
834
978
|
"internalType": "uint256",
|
|
835
979
|
"name": "amount",
|
|
836
980
|
"type": "uint256"
|
|
837
981
|
}
|
|
838
982
|
],
|
|
839
|
-
"name": "
|
|
840
|
-
"
|
|
841
|
-
"stateMutability": "nonpayable",
|
|
842
|
-
"type": "function"
|
|
983
|
+
"name": "RewardTokensDeposited",
|
|
984
|
+
"type": "event"
|
|
843
985
|
},
|
|
844
986
|
{
|
|
987
|
+
"anonymous": false,
|
|
845
988
|
"inputs": [
|
|
846
989
|
{
|
|
990
|
+
"indexed": true,
|
|
847
991
|
"internalType": "address",
|
|
848
|
-
"name": "
|
|
992
|
+
"name": "oldStabilityPool",
|
|
849
993
|
"type": "address"
|
|
994
|
+
},
|
|
995
|
+
{
|
|
996
|
+
"indexed": true,
|
|
997
|
+
"internalType": "address",
|
|
998
|
+
"name": "newStabilityPool",
|
|
999
|
+
"type": "address"
|
|
1000
|
+
}
|
|
1001
|
+
],
|
|
1002
|
+
"name": "StabilityPoolUpdated",
|
|
1003
|
+
"type": "event"
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
"anonymous": false,
|
|
1007
|
+
"inputs": [
|
|
1008
|
+
{
|
|
1009
|
+
"indexed": false,
|
|
1010
|
+
"internalType": "address",
|
|
1011
|
+
"name": "account",
|
|
1012
|
+
"type": "address"
|
|
1013
|
+
}
|
|
1014
|
+
],
|
|
1015
|
+
"name": "Unpaused",
|
|
1016
|
+
"type": "event"
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
"anonymous": false,
|
|
1020
|
+
"inputs": [
|
|
1021
|
+
{
|
|
1022
|
+
"indexed": false,
|
|
1023
|
+
"internalType": "uint256",
|
|
1024
|
+
"name": "amount",
|
|
1025
|
+
"type": "uint256"
|
|
1026
|
+
}
|
|
1027
|
+
],
|
|
1028
|
+
"name": "VaultRewardsClaimed",
|
|
1029
|
+
"type": "event"
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
"anonymous": false,
|
|
1033
|
+
"inputs": [
|
|
1034
|
+
{
|
|
1035
|
+
"indexed": true,
|
|
1036
|
+
"internalType": "address",
|
|
1037
|
+
"name": "oldVault",
|
|
1038
|
+
"type": "address"
|
|
1039
|
+
},
|
|
1040
|
+
{
|
|
1041
|
+
"indexed": true,
|
|
1042
|
+
"internalType": "address",
|
|
1043
|
+
"name": "newVault",
|
|
1044
|
+
"type": "address"
|
|
1045
|
+
}
|
|
1046
|
+
],
|
|
1047
|
+
"name": "VaultUpdated",
|
|
1048
|
+
"type": "event"
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
"anonymous": false,
|
|
1052
|
+
"inputs": [
|
|
1053
|
+
{
|
|
1054
|
+
"indexed": true,
|
|
1055
|
+
"internalType": "address",
|
|
1056
|
+
"name": "vault",
|
|
1057
|
+
"type": "address"
|
|
1058
|
+
}
|
|
1059
|
+
],
|
|
1060
|
+
"name": "VaultWithdrawalFailed",
|
|
1061
|
+
"type": "event"
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
"anonymous": false,
|
|
1065
|
+
"inputs": [
|
|
1066
|
+
{
|
|
1067
|
+
"indexed": true,
|
|
1068
|
+
"internalType": "address",
|
|
1069
|
+
"name": "user",
|
|
1070
|
+
"type": "address"
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
"indexed": false,
|
|
1074
|
+
"internalType": "uint256",
|
|
1075
|
+
"name": "amount",
|
|
1076
|
+
"type": "uint256"
|
|
1077
|
+
}
|
|
1078
|
+
],
|
|
1079
|
+
"name": "Withdraw",
|
|
1080
|
+
"type": "event"
|
|
1081
|
+
},
|
|
1082
|
+
{
|
|
1083
|
+
"anonymous": false,
|
|
1084
|
+
"inputs": [
|
|
1085
|
+
{
|
|
1086
|
+
"indexed": true,
|
|
1087
|
+
"internalType": "address",
|
|
1088
|
+
"name": "user",
|
|
1089
|
+
"type": "address"
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"indexed": false,
|
|
1093
|
+
"internalType": "uint256",
|
|
1094
|
+
"name": "amount",
|
|
1095
|
+
"type": "uint256"
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
"indexed": false,
|
|
1099
|
+
"internalType": "uint256",
|
|
1100
|
+
"name": "liquidityBurned",
|
|
1101
|
+
"type": "uint256"
|
|
1102
|
+
}
|
|
1103
|
+
],
|
|
1104
|
+
"name": "Withdraw",
|
|
1105
|
+
"type": "event"
|
|
1106
|
+
},
|
|
1107
|
+
{
|
|
1108
|
+
"anonymous": false,
|
|
1109
|
+
"inputs": [
|
|
1110
|
+
{
|
|
1111
|
+
"indexed": false,
|
|
1112
|
+
"internalType": "bool",
|
|
1113
|
+
"name": "isPaused",
|
|
1114
|
+
"type": "bool"
|
|
1115
|
+
}
|
|
1116
|
+
],
|
|
1117
|
+
"name": "WithdrawalsPauseStatusChanged",
|
|
1118
|
+
"type": "event"
|
|
1119
|
+
},
|
|
1120
|
+
{
|
|
1121
|
+
"inputs": [],
|
|
1122
|
+
"name": "BASE_HEALTH_FACTOR_LIQUIDATION_THRESHOLD",
|
|
1123
|
+
"outputs": [
|
|
1124
|
+
{
|
|
1125
|
+
"internalType": "uint256",
|
|
1126
|
+
"name": "",
|
|
1127
|
+
"type": "uint256"
|
|
1128
|
+
}
|
|
1129
|
+
],
|
|
1130
|
+
"stateMutability": "view",
|
|
1131
|
+
"type": "function"
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"inputs": [],
|
|
1135
|
+
"name": "BASE_LIQUIDATION_GRACE_PERIOD",
|
|
1136
|
+
"outputs": [
|
|
1137
|
+
{
|
|
1138
|
+
"internalType": "uint256",
|
|
1139
|
+
"name": "",
|
|
1140
|
+
"type": "uint256"
|
|
1141
|
+
}
|
|
1142
|
+
],
|
|
1143
|
+
"stateMutability": "view",
|
|
1144
|
+
"type": "function"
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
"inputs": [],
|
|
1148
|
+
"name": "BASE_LIQUIDATION_THRESHOLD",
|
|
1149
|
+
"outputs": [
|
|
1150
|
+
{
|
|
1151
|
+
"internalType": "uint256",
|
|
1152
|
+
"name": "",
|
|
1153
|
+
"type": "uint256"
|
|
1154
|
+
}
|
|
1155
|
+
],
|
|
1156
|
+
"stateMutability": "view",
|
|
1157
|
+
"type": "function"
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"inputs": [
|
|
1161
|
+
{
|
|
1162
|
+
"internalType": "uint256",
|
|
1163
|
+
"name": "tokenId",
|
|
1164
|
+
"type": "uint256"
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
"internalType": "uint256",
|
|
1168
|
+
"name": "amount",
|
|
1169
|
+
"type": "uint256"
|
|
1170
|
+
}
|
|
1171
|
+
],
|
|
1172
|
+
"name": "borrow",
|
|
1173
|
+
"outputs": [],
|
|
1174
|
+
"stateMutability": "nonpayable",
|
|
1175
|
+
"type": "function"
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
"inputs": [
|
|
1179
|
+
{
|
|
1180
|
+
"internalType": "uint256",
|
|
1181
|
+
"name": "tokenId",
|
|
1182
|
+
"type": "uint256"
|
|
1183
|
+
},
|
|
1184
|
+
{
|
|
1185
|
+
"internalType": "uint256",
|
|
1186
|
+
"name": "amount",
|
|
1187
|
+
"type": "uint256"
|
|
1188
|
+
}
|
|
1189
|
+
],
|
|
1190
|
+
"name": "borrowWithInsurance",
|
|
1191
|
+
"outputs": [],
|
|
1192
|
+
"stateMutability": "nonpayable",
|
|
1193
|
+
"type": "function"
|
|
1194
|
+
},
|
|
1195
|
+
{
|
|
1196
|
+
"inputs": [
|
|
1197
|
+
{
|
|
1198
|
+
"internalType": "address",
|
|
1199
|
+
"name": "userAddress",
|
|
1200
|
+
"type": "address"
|
|
1201
|
+
},
|
|
1202
|
+
{
|
|
1203
|
+
"internalType": "uint256",
|
|
1204
|
+
"name": "tokenId",
|
|
1205
|
+
"type": "uint256"
|
|
1206
|
+
}
|
|
1207
|
+
],
|
|
1208
|
+
"name": "calculateHealthFactor",
|
|
1209
|
+
"outputs": [
|
|
1210
|
+
{
|
|
1211
|
+
"internalType": "uint256",
|
|
1212
|
+
"name": "",
|
|
1213
|
+
"type": "uint256"
|
|
1214
|
+
}
|
|
1215
|
+
],
|
|
1216
|
+
"stateMutability": "view",
|
|
1217
|
+
"type": "function"
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"inputs": [
|
|
1221
|
+
{
|
|
1222
|
+
"internalType": "address",
|
|
1223
|
+
"name": "user",
|
|
1224
|
+
"type": "address"
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
"internalType": "uint256",
|
|
1228
|
+
"name": "tokenId",
|
|
1229
|
+
"type": "uint256"
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"internalType": "uint256",
|
|
1233
|
+
"name": "amount",
|
|
1234
|
+
"type": "uint256"
|
|
1235
|
+
}
|
|
1236
|
+
],
|
|
1237
|
+
"name": "calculateInsuranceFee",
|
|
1238
|
+
"outputs": [
|
|
1239
|
+
{
|
|
1240
|
+
"internalType": "uint256",
|
|
1241
|
+
"name": "",
|
|
1242
|
+
"type": "uint256"
|
|
1243
|
+
}
|
|
1244
|
+
],
|
|
1245
|
+
"stateMutability": "view",
|
|
1246
|
+
"type": "function"
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"inputs": [],
|
|
1250
|
+
"name": "canPaybackDebt",
|
|
1251
|
+
"outputs": [
|
|
1252
|
+
{
|
|
1253
|
+
"internalType": "bool",
|
|
1254
|
+
"name": "",
|
|
1255
|
+
"type": "bool"
|
|
1256
|
+
}
|
|
1257
|
+
],
|
|
1258
|
+
"stateMutability": "view",
|
|
1259
|
+
"type": "function"
|
|
1260
|
+
},
|
|
1261
|
+
{
|
|
1262
|
+
"inputs": [],
|
|
1263
|
+
"name": "claimCollectorRewards",
|
|
1264
|
+
"outputs": [
|
|
1265
|
+
{
|
|
1266
|
+
"internalType": "uint256",
|
|
1267
|
+
"name": "",
|
|
1268
|
+
"type": "uint256"
|
|
1269
|
+
}
|
|
1270
|
+
],
|
|
1271
|
+
"stateMutability": "nonpayable",
|
|
1272
|
+
"type": "function"
|
|
1273
|
+
},
|
|
1274
|
+
{
|
|
1275
|
+
"inputs": [],
|
|
1276
|
+
"name": "claimReward",
|
|
1277
|
+
"outputs": [
|
|
1278
|
+
{
|
|
1279
|
+
"internalType": "bool",
|
|
1280
|
+
"name": "",
|
|
1281
|
+
"type": "bool"
|
|
1282
|
+
}
|
|
1283
|
+
],
|
|
1284
|
+
"stateMutability": "nonpayable",
|
|
1285
|
+
"type": "function"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"inputs": [
|
|
1289
|
+
{
|
|
1290
|
+
"internalType": "uint256",
|
|
1291
|
+
"name": "tokenId",
|
|
1292
|
+
"type": "uint256"
|
|
1293
|
+
}
|
|
1294
|
+
],
|
|
1295
|
+
"name": "closeLiquidation",
|
|
1296
|
+
"outputs": [],
|
|
1297
|
+
"stateMutability": "nonpayable",
|
|
1298
|
+
"type": "function"
|
|
1299
|
+
},
|
|
1300
|
+
{
|
|
1301
|
+
"inputs": [],
|
|
1302
|
+
"name": "debtToken",
|
|
1303
|
+
"outputs": [
|
|
1304
|
+
{
|
|
1305
|
+
"internalType": "contract IDebtToken",
|
|
1306
|
+
"name": "",
|
|
1307
|
+
"type": "address"
|
|
1308
|
+
}
|
|
1309
|
+
],
|
|
1310
|
+
"stateMutability": "view",
|
|
1311
|
+
"type": "function"
|
|
1312
|
+
},
|
|
1313
|
+
{
|
|
1314
|
+
"inputs": [
|
|
1315
|
+
{
|
|
1316
|
+
"internalType": "uint256",
|
|
1317
|
+
"name": "amount",
|
|
1318
|
+
"type": "uint256"
|
|
1319
|
+
}
|
|
1320
|
+
],
|
|
1321
|
+
"name": "deposit",
|
|
1322
|
+
"outputs": [],
|
|
1323
|
+
"stateMutability": "nonpayable",
|
|
1324
|
+
"type": "function"
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"inputs": [
|
|
1328
|
+
{
|
|
1329
|
+
"internalType": "uint256",
|
|
1330
|
+
"name": "tokenId",
|
|
1331
|
+
"type": "uint256"
|
|
850
1332
|
}
|
|
851
1333
|
],
|
|
852
|
-
"name": "
|
|
853
|
-
"outputs": [
|
|
1334
|
+
"name": "depositNFT",
|
|
1335
|
+
"outputs": [],
|
|
1336
|
+
"stateMutability": "nonpayable",
|
|
1337
|
+
"type": "function"
|
|
1338
|
+
},
|
|
1339
|
+
{
|
|
1340
|
+
"inputs": [
|
|
854
1341
|
{
|
|
855
1342
|
"internalType": "uint256",
|
|
856
|
-
"name": "",
|
|
1343
|
+
"name": "amount",
|
|
857
1344
|
"type": "uint256"
|
|
858
1345
|
}
|
|
859
1346
|
],
|
|
860
|
-
"
|
|
1347
|
+
"name": "depositRewardTokens",
|
|
1348
|
+
"outputs": [],
|
|
1349
|
+
"stateMutability": "nonpayable",
|
|
861
1350
|
"type": "function"
|
|
862
1351
|
},
|
|
863
1352
|
{
|
|
864
1353
|
"inputs": [],
|
|
865
|
-
"name": "
|
|
1354
|
+
"name": "feeCollector",
|
|
866
1355
|
"outputs": [
|
|
867
1356
|
{
|
|
868
|
-
"internalType": "
|
|
1357
|
+
"internalType": "address",
|
|
869
1358
|
"name": "",
|
|
870
|
-
"type": "
|
|
1359
|
+
"type": "address"
|
|
871
1360
|
}
|
|
872
1361
|
],
|
|
873
1362
|
"stateMutability": "view",
|
|
874
1363
|
"type": "function"
|
|
875
1364
|
},
|
|
876
1365
|
{
|
|
877
|
-
"inputs": [
|
|
878
|
-
|
|
1366
|
+
"inputs": [
|
|
1367
|
+
{
|
|
1368
|
+
"internalType": "address",
|
|
1369
|
+
"name": "userAddress",
|
|
1370
|
+
"type": "address"
|
|
1371
|
+
},
|
|
1372
|
+
{
|
|
1373
|
+
"internalType": "uint256",
|
|
1374
|
+
"name": "tokenId",
|
|
1375
|
+
"type": "uint256"
|
|
1376
|
+
}
|
|
1377
|
+
],
|
|
1378
|
+
"name": "finalizeLiquidation",
|
|
879
1379
|
"outputs": [],
|
|
880
1380
|
"stateMutability": "nonpayable",
|
|
881
1381
|
"type": "function"
|
|
882
1382
|
},
|
|
883
1383
|
{
|
|
884
|
-
"inputs": [
|
|
885
|
-
|
|
1384
|
+
"inputs": [
|
|
1385
|
+
{
|
|
1386
|
+
"internalType": "address",
|
|
1387
|
+
"name": "userAddress",
|
|
1388
|
+
"type": "address"
|
|
1389
|
+
}
|
|
1390
|
+
],
|
|
1391
|
+
"name": "getAllUserData",
|
|
886
1392
|
"outputs": [
|
|
887
1393
|
{
|
|
888
|
-
"
|
|
1394
|
+
"components": [
|
|
1395
|
+
{
|
|
1396
|
+
"internalType": "uint256[]",
|
|
1397
|
+
"name": "nftTokenIds",
|
|
1398
|
+
"type": "uint256[]"
|
|
1399
|
+
},
|
|
1400
|
+
{
|
|
1401
|
+
"internalType": "uint256",
|
|
1402
|
+
"name": "scaledDebtBalance",
|
|
1403
|
+
"type": "uint256"
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
"internalType": "uint256",
|
|
1407
|
+
"name": "collateralValue",
|
|
1408
|
+
"type": "uint256"
|
|
1409
|
+
},
|
|
1410
|
+
{
|
|
1411
|
+
"components": [
|
|
1412
|
+
{
|
|
1413
|
+
"internalType": "uint256",
|
|
1414
|
+
"name": "rawDebtBalance",
|
|
1415
|
+
"type": "uint256"
|
|
1416
|
+
},
|
|
1417
|
+
{
|
|
1418
|
+
"internalType": "uint256",
|
|
1419
|
+
"name": "scaledDebtBalance",
|
|
1420
|
+
"type": "uint256"
|
|
1421
|
+
},
|
|
1422
|
+
{
|
|
1423
|
+
"internalType": "uint256",
|
|
1424
|
+
"name": "healthFactor",
|
|
1425
|
+
"type": "uint256"
|
|
1426
|
+
},
|
|
1427
|
+
{
|
|
1428
|
+
"internalType": "bool",
|
|
1429
|
+
"name": "isUnderLiquidation",
|
|
1430
|
+
"type": "bool"
|
|
1431
|
+
},
|
|
1432
|
+
{
|
|
1433
|
+
"internalType": "uint256",
|
|
1434
|
+
"name": "liquidationStartTime",
|
|
1435
|
+
"type": "uint256"
|
|
1436
|
+
},
|
|
1437
|
+
{
|
|
1438
|
+
"internalType": "uint256",
|
|
1439
|
+
"name": "positionIndex",
|
|
1440
|
+
"type": "uint256"
|
|
1441
|
+
},
|
|
1442
|
+
{
|
|
1443
|
+
"internalType": "bool",
|
|
1444
|
+
"name": "isInsured",
|
|
1445
|
+
"type": "bool"
|
|
1446
|
+
}
|
|
1447
|
+
],
|
|
1448
|
+
"internalType": "struct ILendingPool.NFTPositionView[]",
|
|
1449
|
+
"name": "positions",
|
|
1450
|
+
"type": "tuple[]"
|
|
1451
|
+
}
|
|
1452
|
+
],
|
|
1453
|
+
"internalType": "struct ILendingPool.UserDataView",
|
|
889
1454
|
"name": "",
|
|
1455
|
+
"type": "tuple"
|
|
1456
|
+
}
|
|
1457
|
+
],
|
|
1458
|
+
"stateMutability": "view",
|
|
1459
|
+
"type": "function"
|
|
1460
|
+
},
|
|
1461
|
+
{
|
|
1462
|
+
"inputs": [
|
|
1463
|
+
{
|
|
1464
|
+
"internalType": "address",
|
|
1465
|
+
"name": "user",
|
|
890
1466
|
"type": "address"
|
|
891
1467
|
}
|
|
892
1468
|
],
|
|
1469
|
+
"name": "getEligibleUserDeposits",
|
|
1470
|
+
"outputs": [
|
|
1471
|
+
{
|
|
1472
|
+
"internalType": "uint256",
|
|
1473
|
+
"name": "",
|
|
1474
|
+
"type": "uint256"
|
|
1475
|
+
}
|
|
1476
|
+
],
|
|
1477
|
+
"stateMutability": "view",
|
|
1478
|
+
"type": "function"
|
|
1479
|
+
},
|
|
1480
|
+
{
|
|
1481
|
+
"inputs": [
|
|
1482
|
+
{
|
|
1483
|
+
"internalType": "uint256",
|
|
1484
|
+
"name": "tokenId",
|
|
1485
|
+
"type": "uint256"
|
|
1486
|
+
}
|
|
1487
|
+
],
|
|
1488
|
+
"name": "getNFTPrice",
|
|
1489
|
+
"outputs": [
|
|
1490
|
+
{
|
|
1491
|
+
"internalType": "uint256",
|
|
1492
|
+
"name": "",
|
|
1493
|
+
"type": "uint256"
|
|
1494
|
+
}
|
|
1495
|
+
],
|
|
893
1496
|
"stateMutability": "view",
|
|
894
1497
|
"type": "function"
|
|
895
1498
|
},
|
|
896
1499
|
{
|
|
897
1500
|
"inputs": [],
|
|
898
|
-
"name": "
|
|
1501
|
+
"name": "getNormalizedDebt",
|
|
899
1502
|
"outputs": [
|
|
900
1503
|
{
|
|
901
|
-
"internalType": "
|
|
1504
|
+
"internalType": "uint256",
|
|
1505
|
+
"name": "",
|
|
1506
|
+
"type": "uint256"
|
|
1507
|
+
}
|
|
1508
|
+
],
|
|
1509
|
+
"stateMutability": "view",
|
|
1510
|
+
"type": "function"
|
|
1511
|
+
},
|
|
1512
|
+
{
|
|
1513
|
+
"inputs": [],
|
|
1514
|
+
"name": "getNormalizedIncome",
|
|
1515
|
+
"outputs": [
|
|
1516
|
+
{
|
|
1517
|
+
"internalType": "uint256",
|
|
1518
|
+
"name": "",
|
|
1519
|
+
"type": "uint256"
|
|
1520
|
+
}
|
|
1521
|
+
],
|
|
1522
|
+
"stateMutability": "view",
|
|
1523
|
+
"type": "function"
|
|
1524
|
+
},
|
|
1525
|
+
{
|
|
1526
|
+
"inputs": [
|
|
1527
|
+
{
|
|
1528
|
+
"internalType": "address",
|
|
1529
|
+
"name": "user",
|
|
1530
|
+
"type": "address"
|
|
1531
|
+
}
|
|
1532
|
+
],
|
|
1533
|
+
"name": "getPendingReward",
|
|
1534
|
+
"outputs": [
|
|
1535
|
+
{
|
|
1536
|
+
"internalType": "uint256",
|
|
902
1537
|
"name": "",
|
|
1538
|
+
"type": "uint256"
|
|
1539
|
+
}
|
|
1540
|
+
],
|
|
1541
|
+
"stateMutability": "view",
|
|
1542
|
+
"type": "function"
|
|
1543
|
+
},
|
|
1544
|
+
{
|
|
1545
|
+
"inputs": [
|
|
1546
|
+
{
|
|
1547
|
+
"internalType": "address",
|
|
1548
|
+
"name": "user",
|
|
903
1549
|
"type": "address"
|
|
1550
|
+
},
|
|
1551
|
+
{
|
|
1552
|
+
"internalType": "uint256",
|
|
1553
|
+
"name": "tokenId",
|
|
1554
|
+
"type": "uint256"
|
|
1555
|
+
}
|
|
1556
|
+
],
|
|
1557
|
+
"name": "getPosition",
|
|
1558
|
+
"outputs": [
|
|
1559
|
+
{
|
|
1560
|
+
"components": [
|
|
1561
|
+
{
|
|
1562
|
+
"internalType": "uint256",
|
|
1563
|
+
"name": "rawDebtBalance",
|
|
1564
|
+
"type": "uint256"
|
|
1565
|
+
},
|
|
1566
|
+
{
|
|
1567
|
+
"internalType": "bool",
|
|
1568
|
+
"name": "isUnderLiquidation",
|
|
1569
|
+
"type": "bool"
|
|
1570
|
+
},
|
|
1571
|
+
{
|
|
1572
|
+
"internalType": "uint256",
|
|
1573
|
+
"name": "liquidationStartTime",
|
|
1574
|
+
"type": "uint256"
|
|
1575
|
+
},
|
|
1576
|
+
{
|
|
1577
|
+
"internalType": "uint256",
|
|
1578
|
+
"name": "positionIndex",
|
|
1579
|
+
"type": "uint256"
|
|
1580
|
+
},
|
|
1581
|
+
{
|
|
1582
|
+
"internalType": "bool",
|
|
1583
|
+
"name": "isInsured",
|
|
1584
|
+
"type": "bool"
|
|
1585
|
+
},
|
|
1586
|
+
{
|
|
1587
|
+
"internalType": "uint256",
|
|
1588
|
+
"name": "rawInsuredBalance",
|
|
1589
|
+
"type": "uint256"
|
|
1590
|
+
}
|
|
1591
|
+
],
|
|
1592
|
+
"internalType": "struct ILendingPool.NFTPosition",
|
|
1593
|
+
"name": "",
|
|
1594
|
+
"type": "tuple"
|
|
904
1595
|
}
|
|
905
1596
|
],
|
|
906
1597
|
"stateMutability": "view",
|
|
@@ -908,28 +1599,55 @@
|
|
|
908
1599
|
},
|
|
909
1600
|
{
|
|
910
1601
|
"inputs": [
|
|
1602
|
+
{
|
|
1603
|
+
"internalType": "address",
|
|
1604
|
+
"name": "user",
|
|
1605
|
+
"type": "address"
|
|
1606
|
+
},
|
|
911
1607
|
{
|
|
912
1608
|
"internalType": "uint256",
|
|
913
|
-
"name": "
|
|
1609
|
+
"name": "tokenId",
|
|
914
1610
|
"type": "uint256"
|
|
915
1611
|
}
|
|
916
1612
|
],
|
|
917
|
-
"name": "
|
|
918
|
-
"outputs": [
|
|
919
|
-
|
|
1613
|
+
"name": "getPositionData",
|
|
1614
|
+
"outputs": [
|
|
1615
|
+
{
|
|
1616
|
+
"internalType": "uint256",
|
|
1617
|
+
"name": "",
|
|
1618
|
+
"type": "uint256"
|
|
1619
|
+
},
|
|
1620
|
+
{
|
|
1621
|
+
"internalType": "uint256",
|
|
1622
|
+
"name": "",
|
|
1623
|
+
"type": "uint256"
|
|
1624
|
+
}
|
|
1625
|
+
],
|
|
1626
|
+
"stateMutability": "view",
|
|
920
1627
|
"type": "function"
|
|
921
1628
|
},
|
|
922
1629
|
{
|
|
923
1630
|
"inputs": [
|
|
1631
|
+
{
|
|
1632
|
+
"internalType": "address",
|
|
1633
|
+
"name": "userAddress",
|
|
1634
|
+
"type": "address"
|
|
1635
|
+
},
|
|
924
1636
|
{
|
|
925
1637
|
"internalType": "uint256",
|
|
926
1638
|
"name": "tokenId",
|
|
927
1639
|
"type": "uint256"
|
|
928
1640
|
}
|
|
929
1641
|
],
|
|
930
|
-
"name": "
|
|
931
|
-
"outputs": [
|
|
932
|
-
|
|
1642
|
+
"name": "getPositionDebt",
|
|
1643
|
+
"outputs": [
|
|
1644
|
+
{
|
|
1645
|
+
"internalType": "uint256",
|
|
1646
|
+
"name": "",
|
|
1647
|
+
"type": "uint256"
|
|
1648
|
+
}
|
|
1649
|
+
],
|
|
1650
|
+
"stateMutability": "view",
|
|
933
1651
|
"type": "function"
|
|
934
1652
|
},
|
|
935
1653
|
{
|
|
@@ -938,27 +1656,180 @@
|
|
|
938
1656
|
"internalType": "address",
|
|
939
1657
|
"name": "userAddress",
|
|
940
1658
|
"type": "address"
|
|
1659
|
+
},
|
|
1660
|
+
{
|
|
1661
|
+
"internalType": "uint256",
|
|
1662
|
+
"name": "tokenId",
|
|
1663
|
+
"type": "uint256"
|
|
941
1664
|
}
|
|
942
1665
|
],
|
|
943
|
-
"name": "
|
|
944
|
-
"outputs": [
|
|
945
|
-
|
|
1666
|
+
"name": "getPositionScaledDebt",
|
|
1667
|
+
"outputs": [
|
|
1668
|
+
{
|
|
1669
|
+
"internalType": "uint256",
|
|
1670
|
+
"name": "",
|
|
1671
|
+
"type": "uint256"
|
|
1672
|
+
}
|
|
1673
|
+
],
|
|
1674
|
+
"stateMutability": "view",
|
|
946
1675
|
"type": "function"
|
|
947
1676
|
},
|
|
948
1677
|
{
|
|
949
1678
|
"inputs": [
|
|
1679
|
+
{
|
|
1680
|
+
"internalType": "address",
|
|
1681
|
+
"name": "user",
|
|
1682
|
+
"type": "address"
|
|
1683
|
+
},
|
|
950
1684
|
{
|
|
951
1685
|
"internalType": "uint256",
|
|
952
1686
|
"name": "tokenId",
|
|
953
1687
|
"type": "uint256"
|
|
954
1688
|
}
|
|
955
1689
|
],
|
|
956
|
-
"name": "
|
|
1690
|
+
"name": "getPositionView",
|
|
1691
|
+
"outputs": [
|
|
1692
|
+
{
|
|
1693
|
+
"components": [
|
|
1694
|
+
{
|
|
1695
|
+
"internalType": "uint256",
|
|
1696
|
+
"name": "rawDebtBalance",
|
|
1697
|
+
"type": "uint256"
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
"internalType": "uint256",
|
|
1701
|
+
"name": "scaledDebtBalance",
|
|
1702
|
+
"type": "uint256"
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"internalType": "uint256",
|
|
1706
|
+
"name": "healthFactor",
|
|
1707
|
+
"type": "uint256"
|
|
1708
|
+
},
|
|
1709
|
+
{
|
|
1710
|
+
"internalType": "bool",
|
|
1711
|
+
"name": "isUnderLiquidation",
|
|
1712
|
+
"type": "bool"
|
|
1713
|
+
},
|
|
1714
|
+
{
|
|
1715
|
+
"internalType": "uint256",
|
|
1716
|
+
"name": "liquidationStartTime",
|
|
1717
|
+
"type": "uint256"
|
|
1718
|
+
},
|
|
1719
|
+
{
|
|
1720
|
+
"internalType": "uint256",
|
|
1721
|
+
"name": "positionIndex",
|
|
1722
|
+
"type": "uint256"
|
|
1723
|
+
},
|
|
1724
|
+
{
|
|
1725
|
+
"internalType": "bool",
|
|
1726
|
+
"name": "isInsured",
|
|
1727
|
+
"type": "bool"
|
|
1728
|
+
}
|
|
1729
|
+
],
|
|
1730
|
+
"internalType": "struct ILendingPool.NFTPositionView",
|
|
1731
|
+
"name": "",
|
|
1732
|
+
"type": "tuple"
|
|
1733
|
+
}
|
|
1734
|
+
],
|
|
1735
|
+
"stateMutability": "view",
|
|
1736
|
+
"type": "function"
|
|
1737
|
+
},
|
|
1738
|
+
{
|
|
1739
|
+
"inputs": [
|
|
1740
|
+
{
|
|
1741
|
+
"internalType": "address",
|
|
1742
|
+
"name": "userAddress",
|
|
1743
|
+
"type": "address"
|
|
1744
|
+
}
|
|
1745
|
+
],
|
|
1746
|
+
"name": "getPositionsScaledDebt",
|
|
1747
|
+
"outputs": [
|
|
1748
|
+
{
|
|
1749
|
+
"internalType": "uint256",
|
|
1750
|
+
"name": "",
|
|
1751
|
+
"type": "uint256"
|
|
1752
|
+
}
|
|
1753
|
+
],
|
|
1754
|
+
"stateMutability": "view",
|
|
1755
|
+
"type": "function"
|
|
1756
|
+
},
|
|
1757
|
+
{
|
|
1758
|
+
"inputs": [],
|
|
1759
|
+
"name": "getPrimeRate",
|
|
1760
|
+
"outputs": [
|
|
1761
|
+
{
|
|
1762
|
+
"internalType": "uint256",
|
|
1763
|
+
"name": "",
|
|
1764
|
+
"type": "uint256"
|
|
1765
|
+
}
|
|
1766
|
+
],
|
|
1767
|
+
"stateMutability": "view",
|
|
1768
|
+
"type": "function"
|
|
1769
|
+
},
|
|
1770
|
+
{
|
|
1771
|
+
"inputs": [],
|
|
1772
|
+
"name": "getRAACNFTAddress",
|
|
1773
|
+
"outputs": [
|
|
1774
|
+
{
|
|
1775
|
+
"internalType": "address",
|
|
1776
|
+
"name": "",
|
|
1777
|
+
"type": "address"
|
|
1778
|
+
}
|
|
1779
|
+
],
|
|
1780
|
+
"stateMutability": "view",
|
|
1781
|
+
"type": "function"
|
|
1782
|
+
},
|
|
1783
|
+
{
|
|
1784
|
+
"inputs": [],
|
|
1785
|
+
"name": "getReserveRateData",
|
|
957
1786
|
"outputs": [
|
|
958
1787
|
{
|
|
959
|
-
"
|
|
1788
|
+
"components": [
|
|
1789
|
+
{
|
|
1790
|
+
"internalType": "uint256",
|
|
1791
|
+
"name": "currentLiquidityRate",
|
|
1792
|
+
"type": "uint256"
|
|
1793
|
+
},
|
|
1794
|
+
{
|
|
1795
|
+
"internalType": "uint256",
|
|
1796
|
+
"name": "currentUsageRate",
|
|
1797
|
+
"type": "uint256"
|
|
1798
|
+
},
|
|
1799
|
+
{
|
|
1800
|
+
"internalType": "uint256",
|
|
1801
|
+
"name": "primeRate",
|
|
1802
|
+
"type": "uint256"
|
|
1803
|
+
},
|
|
1804
|
+
{
|
|
1805
|
+
"internalType": "uint256",
|
|
1806
|
+
"name": "baseRate",
|
|
1807
|
+
"type": "uint256"
|
|
1808
|
+
},
|
|
1809
|
+
{
|
|
1810
|
+
"internalType": "uint256",
|
|
1811
|
+
"name": "optimalRate",
|
|
1812
|
+
"type": "uint256"
|
|
1813
|
+
},
|
|
1814
|
+
{
|
|
1815
|
+
"internalType": "uint256",
|
|
1816
|
+
"name": "maxRate",
|
|
1817
|
+
"type": "uint256"
|
|
1818
|
+
},
|
|
1819
|
+
{
|
|
1820
|
+
"internalType": "uint256",
|
|
1821
|
+
"name": "optimalUtilizationRate",
|
|
1822
|
+
"type": "uint256"
|
|
1823
|
+
},
|
|
1824
|
+
{
|
|
1825
|
+
"internalType": "uint256",
|
|
1826
|
+
"name": "protocolFeeRate",
|
|
1827
|
+
"type": "uint256"
|
|
1828
|
+
}
|
|
1829
|
+
],
|
|
1830
|
+
"internalType": "struct ReserveLibrary.ReserveRateData",
|
|
960
1831
|
"name": "",
|
|
961
|
-
"type": "
|
|
1832
|
+
"type": "tuple"
|
|
962
1833
|
}
|
|
963
1834
|
],
|
|
964
1835
|
"stateMutability": "view",
|
|
@@ -966,12 +1837,54 @@
|
|
|
966
1837
|
},
|
|
967
1838
|
{
|
|
968
1839
|
"inputs": [],
|
|
969
|
-
"name": "
|
|
1840
|
+
"name": "getReserveState",
|
|
970
1841
|
"outputs": [
|
|
971
1842
|
{
|
|
972
|
-
"
|
|
1843
|
+
"components": [
|
|
1844
|
+
{
|
|
1845
|
+
"internalType": "address",
|
|
1846
|
+
"name": "reserveRTokenAddress",
|
|
1847
|
+
"type": "address"
|
|
1848
|
+
},
|
|
1849
|
+
{
|
|
1850
|
+
"internalType": "address",
|
|
1851
|
+
"name": "reserveAssetAddress",
|
|
1852
|
+
"type": "address"
|
|
1853
|
+
},
|
|
1854
|
+
{
|
|
1855
|
+
"internalType": "address",
|
|
1856
|
+
"name": "reserveDebtTokenAddress",
|
|
1857
|
+
"type": "address"
|
|
1858
|
+
},
|
|
1859
|
+
{
|
|
1860
|
+
"internalType": "uint256",
|
|
1861
|
+
"name": "totalLiquidity",
|
|
1862
|
+
"type": "uint256"
|
|
1863
|
+
},
|
|
1864
|
+
{
|
|
1865
|
+
"internalType": "uint256",
|
|
1866
|
+
"name": "totalUsage",
|
|
1867
|
+
"type": "uint256"
|
|
1868
|
+
},
|
|
1869
|
+
{
|
|
1870
|
+
"internalType": "uint128",
|
|
1871
|
+
"name": "liquidityIndex",
|
|
1872
|
+
"type": "uint128"
|
|
1873
|
+
},
|
|
1874
|
+
{
|
|
1875
|
+
"internalType": "uint128",
|
|
1876
|
+
"name": "usageIndex",
|
|
1877
|
+
"type": "uint128"
|
|
1878
|
+
},
|
|
1879
|
+
{
|
|
1880
|
+
"internalType": "uint40",
|
|
1881
|
+
"name": "lastUpdateTimestamp",
|
|
1882
|
+
"type": "uint40"
|
|
1883
|
+
}
|
|
1884
|
+
],
|
|
1885
|
+
"internalType": "struct ReserveLibrary.ReserveData",
|
|
973
1886
|
"name": "",
|
|
974
|
-
"type": "
|
|
1887
|
+
"type": "tuple"
|
|
975
1888
|
}
|
|
976
1889
|
],
|
|
977
1890
|
"stateMutability": "view",
|
|
@@ -979,7 +1892,7 @@
|
|
|
979
1892
|
},
|
|
980
1893
|
{
|
|
981
1894
|
"inputs": [],
|
|
982
|
-
"name": "
|
|
1895
|
+
"name": "getUnclaimedVaultRewards",
|
|
983
1896
|
"outputs": [
|
|
984
1897
|
{
|
|
985
1898
|
"internalType": "uint256",
|
|
@@ -991,8 +1904,19 @@
|
|
|
991
1904
|
"type": "function"
|
|
992
1905
|
},
|
|
993
1906
|
{
|
|
994
|
-
"inputs": [
|
|
995
|
-
|
|
1907
|
+
"inputs": [
|
|
1908
|
+
{
|
|
1909
|
+
"internalType": "address",
|
|
1910
|
+
"name": "user",
|
|
1911
|
+
"type": "address"
|
|
1912
|
+
},
|
|
1913
|
+
{
|
|
1914
|
+
"internalType": "uint256",
|
|
1915
|
+
"name": "tokenId",
|
|
1916
|
+
"type": "uint256"
|
|
1917
|
+
}
|
|
1918
|
+
],
|
|
1919
|
+
"name": "getUninsuredBalance",
|
|
996
1920
|
"outputs": [
|
|
997
1921
|
{
|
|
998
1922
|
"internalType": "uint256",
|
|
@@ -1042,8 +1966,14 @@
|
|
|
1042
1966
|
"type": "function"
|
|
1043
1967
|
},
|
|
1044
1968
|
{
|
|
1045
|
-
"inputs": [
|
|
1046
|
-
|
|
1969
|
+
"inputs": [
|
|
1970
|
+
{
|
|
1971
|
+
"internalType": "address",
|
|
1972
|
+
"name": "user",
|
|
1973
|
+
"type": "address"
|
|
1974
|
+
}
|
|
1975
|
+
],
|
|
1976
|
+
"name": "getUserDeposits",
|
|
1047
1977
|
"outputs": [
|
|
1048
1978
|
{
|
|
1049
1979
|
"internalType": "uint256",
|
|
@@ -1058,29 +1988,35 @@
|
|
|
1058
1988
|
"inputs": [
|
|
1059
1989
|
{
|
|
1060
1990
|
"internalType": "address",
|
|
1061
|
-
"name": "
|
|
1991
|
+
"name": "user",
|
|
1062
1992
|
"type": "address"
|
|
1063
1993
|
}
|
|
1064
1994
|
],
|
|
1065
|
-
"name": "
|
|
1066
|
-
"outputs": [
|
|
1067
|
-
|
|
1995
|
+
"name": "getUserDepositsInStabilityPool",
|
|
1996
|
+
"outputs": [
|
|
1997
|
+
{
|
|
1998
|
+
"internalType": "uint256",
|
|
1999
|
+
"name": "",
|
|
2000
|
+
"type": "uint256"
|
|
2001
|
+
}
|
|
2002
|
+
],
|
|
2003
|
+
"stateMutability": "view",
|
|
1068
2004
|
"type": "function"
|
|
1069
2005
|
},
|
|
1070
2006
|
{
|
|
1071
2007
|
"inputs": [
|
|
1072
2008
|
{
|
|
1073
|
-
"internalType": "
|
|
1074
|
-
"name": "",
|
|
1075
|
-
"type": "
|
|
2009
|
+
"internalType": "uint256",
|
|
2010
|
+
"name": "nftId",
|
|
2011
|
+
"type": "uint256"
|
|
1076
2012
|
}
|
|
1077
2013
|
],
|
|
1078
|
-
"name": "
|
|
2014
|
+
"name": "getUserOfDepositedNFT",
|
|
1079
2015
|
"outputs": [
|
|
1080
2016
|
{
|
|
1081
|
-
"internalType": "
|
|
2017
|
+
"internalType": "address",
|
|
1082
2018
|
"name": "",
|
|
1083
|
-
"type": "
|
|
2019
|
+
"type": "address"
|
|
1084
2020
|
}
|
|
1085
2021
|
],
|
|
1086
2022
|
"stateMutability": "view",
|
|
@@ -1088,7 +2024,7 @@
|
|
|
1088
2024
|
},
|
|
1089
2025
|
{
|
|
1090
2026
|
"inputs": [],
|
|
1091
|
-
"name": "
|
|
2027
|
+
"name": "healthFactorLiquidationThreshold",
|
|
1092
2028
|
"outputs": [
|
|
1093
2029
|
{
|
|
1094
2030
|
"internalType": "uint256",
|
|
@@ -1103,11 +2039,36 @@
|
|
|
1103
2039
|
"inputs": [
|
|
1104
2040
|
{
|
|
1105
2041
|
"internalType": "address",
|
|
1106
|
-
"name": "",
|
|
2042
|
+
"name": "userAddress",
|
|
1107
2043
|
"type": "address"
|
|
2044
|
+
},
|
|
2045
|
+
{
|
|
2046
|
+
"internalType": "uint256",
|
|
2047
|
+
"name": "tokenId",
|
|
2048
|
+
"type": "uint256"
|
|
2049
|
+
}
|
|
2050
|
+
],
|
|
2051
|
+
"name": "initiateLiquidation",
|
|
2052
|
+
"outputs": [],
|
|
2053
|
+
"stateMutability": "nonpayable",
|
|
2054
|
+
"type": "function"
|
|
2055
|
+
},
|
|
2056
|
+
{
|
|
2057
|
+
"inputs": [],
|
|
2058
|
+
"name": "insuranceFee",
|
|
2059
|
+
"outputs": [
|
|
2060
|
+
{
|
|
2061
|
+
"internalType": "uint256",
|
|
2062
|
+
"name": "",
|
|
2063
|
+
"type": "uint256"
|
|
1108
2064
|
}
|
|
1109
2065
|
],
|
|
1110
|
-
"
|
|
2066
|
+
"stateMutability": "view",
|
|
2067
|
+
"type": "function"
|
|
2068
|
+
},
|
|
2069
|
+
{
|
|
2070
|
+
"inputs": [],
|
|
2071
|
+
"name": "liquidationGracePeriod",
|
|
1111
2072
|
"outputs": [
|
|
1112
2073
|
{
|
|
1113
2074
|
"internalType": "uint256",
|
|
@@ -1200,19 +2161,61 @@
|
|
|
1200
2161
|
},
|
|
1201
2162
|
{
|
|
1202
2163
|
"inputs": [],
|
|
1203
|
-
"name": "
|
|
1204
|
-
"outputs": [
|
|
1205
|
-
|
|
2164
|
+
"name": "paused",
|
|
2165
|
+
"outputs": [
|
|
2166
|
+
{
|
|
2167
|
+
"internalType": "bool",
|
|
2168
|
+
"name": "",
|
|
2169
|
+
"type": "bool"
|
|
2170
|
+
}
|
|
2171
|
+
],
|
|
2172
|
+
"stateMutability": "view",
|
|
1206
2173
|
"type": "function"
|
|
1207
2174
|
},
|
|
1208
2175
|
{
|
|
1209
|
-
"inputs": [
|
|
1210
|
-
|
|
2176
|
+
"inputs": [
|
|
2177
|
+
{
|
|
2178
|
+
"internalType": "address",
|
|
2179
|
+
"name": "",
|
|
2180
|
+
"type": "address"
|
|
2181
|
+
},
|
|
2182
|
+
{
|
|
2183
|
+
"internalType": "uint256",
|
|
2184
|
+
"name": "",
|
|
2185
|
+
"type": "uint256"
|
|
2186
|
+
}
|
|
2187
|
+
],
|
|
2188
|
+
"name": "positions",
|
|
1211
2189
|
"outputs": [
|
|
2190
|
+
{
|
|
2191
|
+
"internalType": "uint256",
|
|
2192
|
+
"name": "rawDebtBalance",
|
|
2193
|
+
"type": "uint256"
|
|
2194
|
+
},
|
|
1212
2195
|
{
|
|
1213
2196
|
"internalType": "bool",
|
|
1214
|
-
"name": "",
|
|
2197
|
+
"name": "isUnderLiquidation",
|
|
1215
2198
|
"type": "bool"
|
|
2199
|
+
},
|
|
2200
|
+
{
|
|
2201
|
+
"internalType": "uint256",
|
|
2202
|
+
"name": "liquidationStartTime",
|
|
2203
|
+
"type": "uint256"
|
|
2204
|
+
},
|
|
2205
|
+
{
|
|
2206
|
+
"internalType": "uint256",
|
|
2207
|
+
"name": "positionIndex",
|
|
2208
|
+
"type": "uint256"
|
|
2209
|
+
},
|
|
2210
|
+
{
|
|
2211
|
+
"internalType": "bool",
|
|
2212
|
+
"name": "isInsured",
|
|
2213
|
+
"type": "bool"
|
|
2214
|
+
},
|
|
2215
|
+
{
|
|
2216
|
+
"internalType": "uint256",
|
|
2217
|
+
"name": "rawInsuredBalance",
|
|
2218
|
+
"type": "uint256"
|
|
1216
2219
|
}
|
|
1217
2220
|
],
|
|
1218
2221
|
"stateMutability": "view",
|
|
@@ -1327,6 +2330,11 @@
|
|
|
1327
2330
|
},
|
|
1328
2331
|
{
|
|
1329
2332
|
"inputs": [
|
|
2333
|
+
{
|
|
2334
|
+
"internalType": "uint256",
|
|
2335
|
+
"name": "tokenId",
|
|
2336
|
+
"type": "uint256"
|
|
2337
|
+
},
|
|
1330
2338
|
{
|
|
1331
2339
|
"internalType": "uint256",
|
|
1332
2340
|
"name": "amount",
|
|
@@ -1340,6 +2348,11 @@
|
|
|
1340
2348
|
},
|
|
1341
2349
|
{
|
|
1342
2350
|
"inputs": [
|
|
2351
|
+
{
|
|
2352
|
+
"internalType": "uint256",
|
|
2353
|
+
"name": "tokenId",
|
|
2354
|
+
"type": "uint256"
|
|
2355
|
+
},
|
|
1343
2356
|
{
|
|
1344
2357
|
"internalType": "uint256",
|
|
1345
2358
|
"name": "amount",
|
|
@@ -1441,79 +2454,55 @@
|
|
|
1441
2454
|
"type": "function"
|
|
1442
2455
|
},
|
|
1443
2456
|
{
|
|
1444
|
-
"inputs": [
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
"name": "enabled",
|
|
1448
|
-
"type": "bool"
|
|
1449
|
-
}
|
|
1450
|
-
],
|
|
1451
|
-
"name": "setCanPaybackDebt",
|
|
1452
|
-
"outputs": [],
|
|
1453
|
-
"stateMutability": "nonpayable",
|
|
1454
|
-
"type": "function"
|
|
1455
|
-
},
|
|
1456
|
-
{
|
|
1457
|
-
"inputs": [
|
|
2457
|
+
"inputs": [],
|
|
2458
|
+
"name": "rewardData",
|
|
2459
|
+
"outputs": [
|
|
1458
2460
|
{
|
|
1459
|
-
"internalType": "
|
|
1460
|
-
"name": "
|
|
2461
|
+
"internalType": "contract IERC20",
|
|
2462
|
+
"name": "rewardToken",
|
|
1461
2463
|
"type": "address"
|
|
1462
|
-
}
|
|
1463
|
-
],
|
|
1464
|
-
"name": "setCurveVault",
|
|
1465
|
-
"outputs": [],
|
|
1466
|
-
"stateMutability": "nonpayable",
|
|
1467
|
-
"type": "function"
|
|
1468
|
-
},
|
|
1469
|
-
{
|
|
1470
|
-
"inputs": [
|
|
2464
|
+
},
|
|
1471
2465
|
{
|
|
1472
2466
|
"internalType": "uint256",
|
|
1473
|
-
"name": "
|
|
2467
|
+
"name": "rewardPerShare",
|
|
1474
2468
|
"type": "uint256"
|
|
1475
|
-
}
|
|
1476
|
-
],
|
|
1477
|
-
"name": "setHealthFactorLiquidationThreshold",
|
|
1478
|
-
"outputs": [],
|
|
1479
|
-
"stateMutability": "nonpayable",
|
|
1480
|
-
"type": "function"
|
|
1481
|
-
},
|
|
1482
|
-
{
|
|
1483
|
-
"inputs": [
|
|
2469
|
+
},
|
|
1484
2470
|
{
|
|
1485
2471
|
"internalType": "uint256",
|
|
1486
|
-
"name": "
|
|
2472
|
+
"name": "lastUpdateTime",
|
|
1487
2473
|
"type": "uint256"
|
|
1488
2474
|
}
|
|
1489
2475
|
],
|
|
1490
|
-
"
|
|
1491
|
-
"outputs": [],
|
|
1492
|
-
"stateMutability": "nonpayable",
|
|
2476
|
+
"stateMutability": "view",
|
|
1493
2477
|
"type": "function"
|
|
1494
2478
|
},
|
|
1495
2479
|
{
|
|
1496
2480
|
"inputs": [
|
|
1497
2481
|
{
|
|
1498
|
-
"internalType": "
|
|
1499
|
-
"name": "
|
|
1500
|
-
"type": "
|
|
2482
|
+
"internalType": "address",
|
|
2483
|
+
"name": "newFeeCollector",
|
|
2484
|
+
"type": "address"
|
|
1501
2485
|
}
|
|
1502
2486
|
],
|
|
1503
|
-
"name": "
|
|
2487
|
+
"name": "setFeeCollector",
|
|
1504
2488
|
"outputs": [],
|
|
1505
2489
|
"stateMutability": "nonpayable",
|
|
1506
2490
|
"type": "function"
|
|
1507
2491
|
},
|
|
1508
2492
|
{
|
|
1509
2493
|
"inputs": [
|
|
2494
|
+
{
|
|
2495
|
+
"internalType": "enum ILendingPool.OwnerParameter",
|
|
2496
|
+
"name": "param",
|
|
2497
|
+
"type": "uint8"
|
|
2498
|
+
},
|
|
1510
2499
|
{
|
|
1511
2500
|
"internalType": "uint256",
|
|
1512
|
-
"name": "
|
|
2501
|
+
"name": "newValue",
|
|
1513
2502
|
"type": "uint256"
|
|
1514
2503
|
}
|
|
1515
2504
|
],
|
|
1516
|
-
"name": "
|
|
2505
|
+
"name": "setParameter",
|
|
1517
2506
|
"outputs": [],
|
|
1518
2507
|
"stateMutability": "nonpayable",
|
|
1519
2508
|
"type": "function"
|
|
@@ -1547,12 +2536,12 @@
|
|
|
1547
2536
|
{
|
|
1548
2537
|
"inputs": [
|
|
1549
2538
|
{
|
|
1550
|
-
"internalType": "
|
|
1551
|
-
"name": "
|
|
1552
|
-
"type": "
|
|
2539
|
+
"internalType": "address",
|
|
2540
|
+
"name": "rewardToken",
|
|
2541
|
+
"type": "address"
|
|
1553
2542
|
}
|
|
1554
2543
|
],
|
|
1555
|
-
"name": "
|
|
2544
|
+
"name": "setRewardToken",
|
|
1556
2545
|
"outputs": [],
|
|
1557
2546
|
"stateMutability": "nonpayable",
|
|
1558
2547
|
"type": "function"
|
|
@@ -1571,26 +2560,26 @@
|
|
|
1571
2560
|
"type": "function"
|
|
1572
2561
|
},
|
|
1573
2562
|
{
|
|
1574
|
-
"inputs": [
|
|
1575
|
-
"name": "stabilityPool",
|
|
1576
|
-
"outputs": [
|
|
2563
|
+
"inputs": [
|
|
1577
2564
|
{
|
|
1578
2565
|
"internalType": "address",
|
|
1579
|
-
"name": "",
|
|
2566
|
+
"name": "newVault",
|
|
1580
2567
|
"type": "address"
|
|
1581
2568
|
}
|
|
1582
2569
|
],
|
|
1583
|
-
"
|
|
2570
|
+
"name": "setVault",
|
|
2571
|
+
"outputs": [],
|
|
2572
|
+
"stateMutability": "nonpayable",
|
|
1584
2573
|
"type": "function"
|
|
1585
2574
|
},
|
|
1586
2575
|
{
|
|
1587
2576
|
"inputs": [],
|
|
1588
|
-
"name": "
|
|
2577
|
+
"name": "stabilityPool",
|
|
1589
2578
|
"outputs": [
|
|
1590
2579
|
{
|
|
1591
|
-
"internalType": "
|
|
2580
|
+
"internalType": "address",
|
|
1592
2581
|
"name": "",
|
|
1593
|
-
"type": "
|
|
2582
|
+
"type": "address"
|
|
1594
2583
|
}
|
|
1595
2584
|
],
|
|
1596
2585
|
"stateMutability": "view",
|
|
@@ -1636,14 +2625,20 @@
|
|
|
1636
2625
|
},
|
|
1637
2626
|
{
|
|
1638
2627
|
"inputs": [],
|
|
1639
|
-
"name": "
|
|
2628
|
+
"name": "updateState",
|
|
1640
2629
|
"outputs": [],
|
|
1641
2630
|
"stateMutability": "nonpayable",
|
|
1642
2631
|
"type": "function"
|
|
1643
2632
|
},
|
|
1644
2633
|
{
|
|
1645
|
-
"inputs": [
|
|
1646
|
-
|
|
2634
|
+
"inputs": [
|
|
2635
|
+
{
|
|
2636
|
+
"internalType": "address",
|
|
2637
|
+
"name": "user",
|
|
2638
|
+
"type": "address"
|
|
2639
|
+
}
|
|
2640
|
+
],
|
|
2641
|
+
"name": "updateUserReward",
|
|
1647
2642
|
"outputs": [],
|
|
1648
2643
|
"stateMutability": "nonpayable",
|
|
1649
2644
|
"type": "function"
|
|
@@ -1660,17 +2655,58 @@
|
|
|
1660
2655
|
"outputs": [
|
|
1661
2656
|
{
|
|
1662
2657
|
"internalType": "uint256",
|
|
1663
|
-
"name": "
|
|
2658
|
+
"name": "scaledDeposits",
|
|
2659
|
+
"type": "uint256"
|
|
2660
|
+
}
|
|
2661
|
+
],
|
|
2662
|
+
"stateMutability": "view",
|
|
2663
|
+
"type": "function"
|
|
2664
|
+
},
|
|
2665
|
+
{
|
|
2666
|
+
"inputs": [],
|
|
2667
|
+
"name": "vault",
|
|
2668
|
+
"outputs": [
|
|
2669
|
+
{
|
|
2670
|
+
"internalType": "contract IBaseVault",
|
|
2671
|
+
"name": "",
|
|
2672
|
+
"type": "address"
|
|
2673
|
+
}
|
|
2674
|
+
],
|
|
2675
|
+
"stateMutability": "view",
|
|
2676
|
+
"type": "function"
|
|
2677
|
+
},
|
|
2678
|
+
{
|
|
2679
|
+
"inputs": [],
|
|
2680
|
+
"name": "vaultRewards",
|
|
2681
|
+
"outputs": [
|
|
2682
|
+
{
|
|
2683
|
+
"internalType": "uint256",
|
|
2684
|
+
"name": "totalDeposits",
|
|
1664
2685
|
"type": "uint256"
|
|
1665
2686
|
},
|
|
1666
2687
|
{
|
|
1667
|
-
"internalType": "
|
|
1668
|
-
"name": "
|
|
1669
|
-
"type": "
|
|
2688
|
+
"internalType": "uint256",
|
|
2689
|
+
"name": "unclaimedRewards",
|
|
2690
|
+
"type": "uint256"
|
|
1670
2691
|
},
|
|
1671
2692
|
{
|
|
1672
2693
|
"internalType": "uint256",
|
|
1673
|
-
"name": "
|
|
2694
|
+
"name": "lastClaimTime",
|
|
2695
|
+
"type": "uint256"
|
|
2696
|
+
},
|
|
2697
|
+
{
|
|
2698
|
+
"internalType": "uint256",
|
|
2699
|
+
"name": "lastSharePrice",
|
|
2700
|
+
"type": "uint256"
|
|
2701
|
+
},
|
|
2702
|
+
{
|
|
2703
|
+
"internalType": "uint256",
|
|
2704
|
+
"name": "lastWithdrawalTime",
|
|
2705
|
+
"type": "uint256"
|
|
2706
|
+
},
|
|
2707
|
+
{
|
|
2708
|
+
"internalType": "uint256",
|
|
2709
|
+
"name": "lastDepositTime",
|
|
1674
2710
|
"type": "uint256"
|
|
1675
2711
|
}
|
|
1676
2712
|
],
|
|
@@ -1717,8 +2753,8 @@
|
|
|
1717
2753
|
"type": "function"
|
|
1718
2754
|
}
|
|
1719
2755
|
],
|
|
1720
|
-
"bytecode": "0x60a06040526018805460ff60a01b1916600160a01b1790556107d0601f556021805460ff191690553480156200003457600080fd5b5060405162003d9038038062003d908339810160408190526200005791620002da565b33806200007e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620000898162000246565b50600180556002805460ff191690556001600160a01b0386161580620000b657506001600160a01b038516155b80620000c957506001600160a01b038416155b80620000dc57506001600160a01b038316155b80620000ef57506001600160a01b038216155b80620000f9575080155b1562000118576040516303988b8160e61b815260040160405180910390fd5b601580546001600160a01b03199081166001600160a01b0389811691821790935585831660805260138054831686851617905560168054831689851690811790915560178054841694891694851790557b033b2e3c9fd0803ce800000000000000033b2e3c9fd0803ce80000006008556009805464ffffffffff19164264ffffffffff1617905560038054841690911790556004805483169091179055600580549091169091179055600c819055620001d4816109c462000296565b600d55600c54620001e89061138862000296565b600e55600c54620001fc90619c4062000296565b600f55620002196b033b2e3c9fd0803ce8000000611f4062000296565b601055505060006011555050611f406019555050670de0b6b3a7640000601a556203f480601b5562000352565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081156113881983900484111517620002af57600080fd5b506127109102611388010490565b80516001600160a01b0381168114620002d557600080fd5b919050565b60008060008060008060c08789031215620002f457600080fd5b620002ff87620002bd565b95506200030f60208801620002bd565b94506200031f60408801620002bd565b93506200032f60608801620002bd565b92506200033f60808801620002bd565b915060a087015190509295509295509295565b608051613a066200038a6000396000818161069d01528181610b4e015281816110da01528181611ea50152611fc40152613a066000f3fe608060405234801561001057600080fd5b50600436106103ba5760003560e01c80638da5cb5b116101f4578063c4f8911c1161011a578063e5711e8b116100ad578063ec915ee61161007c578063ec915ee6146108bc578063f2fde38b1461091d578063f8d8989814610930578063fbf4a6121461094357600080fd5b8063e5711e8b14610876578063e65896c914610889578063e91a7ca61461089c578063e9f2838e146108af57600080fd5b8063d0b0c816116100e9578063d0b0c81614610835578063d5db7d5d14610848578063d6d6b1071461085b578063e4c4be581461086e57600080fd5b8063c4f8911c14610718578063c5ebeaec1461072b578063c89109131461073e578063cd3293de1461078b57600080fd5b8063a1c317fd11610192578063b13aa2d611610161578063b13aa2d6146106bf578063b6b55f25146106d2578063bbcb15c2146106e5578063c23c69d5146106f857600080fd5b8063a1c317fd1461065f578063a8a0879514610672578063a9bf805c14610685578063ac919fd41461069857600080fd5b806398d721e0116101ce57806398d721e01461061357806399aaae3e146106265780639ce625f714610639578063a17a2d561461064c57600080fd5b80638da5cb5b146105cc57806392976179146105dd5780639523b910146105f057600080fd5b80633f4ba83a116102e45780635c975abb11610277578063768bab4511610246578063768bab45146105985780637bc7780b146105ab5780638456cb59146105b3578063883c6b24146105bb57600080fd5b80635c975abb1461055f5780636b58359e1461056a578063715018a61461057d57806375417da61461058557600080fd5b806340c65f72116102b357806340c65f721461051e578063498831941461053157806356bb54a7146105445780635a81acd41461054c57600080fd5b80633f4ba83a146104fc5780633ff78a74146105045780634010e5d41461050c5780634031234c1461051557600080fd5b8063150b7a021161035c5780632630c12f1161032b5780632630c12f1461049f5780632e1a7d4d146104b2578063371fd8e6146104c55780633e20bf14146104d857600080fd5b8063150b7a021461045957806316a6c4c5146104855780631705ffad1461048e5780631d8557d71461049757600080fd5b806309bf1e731161039857806309bf1e731461041b5780630ab30d8a146104255780630c42dcaf1461043d5780630c679a7b1461044657600080fd5b8063023245d7146103bf578063048c661d146103d4578063057e9b7b14610404575b600080fd5b6103d26103cd3660046134c7565b610952565b005b6018546103e7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61040d601a5481565b6040519081526020016103fb565b61040d6203f48081565b600854600160801b90046001600160801b031661040d565b61040d611f4081565b6103d26104543660046134f5565b610bff565b61046c610467366004613528565b610c29565b6040516001600160e01b031990911681526020016103fb565b61040d601b5481565b61040d601f5481565b6103d2610c3a565b6013546103e7906001600160a01b031681565b6103d26104c03660046134c7565b610c48565b6103d26104d33660046134c7565b610d06565b6018546104ec90600160a01b900460ff1681565b60405190151581526020016103fb565b6103d2610d4c565b6103d2610d5c565b61040d60205481565b61040d60195481565b6016546103e7906001600160a01b031681565b6103d261053f3660046134c7565b610eac565b6103d2610f01565b6103d261055a3660046134f5565b610f4f565b60025460ff166104ec565b6103d26105783660046134c7565b6112bc565b6103d261130d565b61040d6105933660046134f5565b61131f565b6103d26105a6366004613608565b6113a0565b600c5461040d565b6103d261148f565b6008546001600160801b031661040d565b6000546001600160a01b03166103e7565b61040d6105eb3660046134c7565b61149f565b6104ec6105fe3660046134f5565b601c6020526000908152604090205460ff1681565b6103d26106213660046134f5565b61153c565b6103d2610634366004613642565b6115ec565b61040d6106473660046134f5565b611641565b6103d261065a3660046134c7565b6116af565b6103d261066d3660046134f5565b61174e565b6103d26106803660046134f5565b6117f6565b6014546103e7906001600160a01b031681565b6103e77f000000000000000000000000000000000000000000000000000000000000000081565b6103d26106cd3660046134c7565b6118f4565b6103d26106e03660046134c7565b611901565b601e546103e7906001600160a01b031681565b61040d6107063660046134f5565b601d6020526000908152604090205481565b6103d26107263660046134c7565b61199f565b6103d26107393660046134c7565b6119d6565b61077061074c3660046134f5565b601260205260009081526040902080546003820154600490920154909160ff169083565b604080519384529115156020840152908201526060016103fb565b6003546004546005546006546007546008546009546107d7966001600160a01b0390811696811695169392916001600160801b0380821692600160801b909204169064ffffffffff1688565b604080516001600160a01b03998a16815297891660208901529590971694860194909452606085019290925260808401526001600160801b0390811660a08401521660c082015264ffffffffff90911660e0820152610100016103fb565b6103d26108433660046134c7565b611c89565b6015546103e7906001600160a01b031681565b6103d261086936600461365f565b611cd8565b6103d2611d73565b6103d261088436600461368f565b611db6565b61040d6108973660046134f5565b611e2c565b6103d26108aa3660046134c7565b611e69565b6021546104ec9060ff1681565b600a54600b54600c54600d54600e54600f546010546011546108e2979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016103fb565b6103d261092b3660046134f5565b61206e565b6017546103e7906001600160a01b031681565b61040d670de0b6b3a764000081565b61095a6120a9565b6109626120d3565b336000908152601c602052604090205460ff1615610993576040516367c11db560e01b815260040160405180910390fd5b336000908152601260209081526040808320848452600281019092529091205460ff166109d35760405163346fad7360e01b815260040160405180910390fd5b6109df6003600a6120f7565b6008548154600091610a019190600160801b90046001600160801b0316612101565b90506000610a0e3361131f565b90506000610a1b8561149f565b9050610a326019548461214490919063ffffffff16565b610a3c82846136e6565b1015610a5b576040516302c9375f60e21b815260040160405180910390fd5b60005b6001850154811015610b1e5785856001018281548110610a8057610a806136f9565b906000526020600020015403610b0c57600180860180549091610aa2916136e6565b81548110610ab257610ab26136f9565b9060005260206000200154856001018281548110610ad257610ad26136f9565b60009182526020909120015560018501805480610af157610af161370f565b60019003818190600052602060002001600090559055610b1e565b80610b1681613725565b915050610a5e565b50600085815260028501602052604090819020805460ff1916905551632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e90610b8790309033908a9060040161373e565b600060405180830381600087803b158015610ba157600080fd5b505af1158015610bb5573d6000803e3d6000fd5b50506040518781523392507f2aa1b4c95f3b2da9c955947fca584743ea0d457708fadf209c093061e98c4ccb91506020015b60405180910390a250505050610bfc60018055565b50565b610c0761216a565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b630a85bd0160e11b5b949350505050565b610c466003600a6120f7565b565b610c506120a9565b610c586120d3565b8080600003610c7a5760405163162908e360e11b815260040160405180910390fd5b60215460ff1615610c9e576040516370a7336d60e11b815260040160405180910390fd5b610caa6003600a6120f7565b610cb382612197565b6000806000610cc66003600a8733612241565b925092509250610cd4612369565b60405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490602001610be7565b610d0e6120a9565b610d166120d3565b8080600003610d385760405163162908e360e11b815260040160405180910390fd5b610d428233612498565b50610bfc60018055565b610d5461216a565b610c4661270e565b610d646120a9565b610d6c6120d3565b336000818152601c602052604090205460ff16610d9c5760405163013e5dc360e61b815260040160405180910390fd5b610da86003600a6120f7565b601b546001600160a01b0382166000908152601d6020526040902054610dce9190613762565b421115610dee57604051634b3c322760e11b815260040160405180910390fd5b6001600160a01b03811660009081526012602052604081206008548154919291610e2791600160801b90046001600160801b0316612101565b9050620f4240811115610e4d576040516312bf4cab60e01b815260040160405180910390fd5b6001600160a01b0383166000818152601c60209081526040808320805460ff19169055601d909152808220829055517fd064e6c9fd0298bfb6a6c78f373b38fa7919b5a8bb293642d693fcf8da6939119190a2505050610c4660018055565b610eb461216a565b601a819055601954601b5460408051928352602083018490528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060015b60405180910390a150565b610f0961216a565b6021805460ff191660019081179091556040519081527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f3906020015b60405180910390a1565b610f576120a9565b6018546001600160a01b03163314610f81576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381166000908152601c602052604090205460ff16610fba5760405163013e5dc360e61b815260040160405180910390fd5b610fc66003600a6120f7565b601b546001600160a01b0382166000908152601d6020526040902054610fec9190613762565b421161100b576040516363e5f12d60e11b815260040160405180910390fd5b6001600160a01b0381166000908152601260205260408120600854815491929161104491600160801b90046001600160801b0316612101565b6001600160a01b0384166000908152601c60209081526040808320805460ff19169055601d90915281208190559091505b600183015481101561115a576000836001018281548110611098576110986136f9565b600091825260208083209091015480835260028701909152604091829020805460ff1916905560185491516323b872dd60e01b81529092506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116926323b872dd926111149230921690869060040161373e565b600060405180830381600087803b15801561112e57600080fd5b505af1158015611142573d6000803e3d6000fd5b5050505050808061115290613725565b915050611075565b50611169600183016000613499565b600554600854604051637a94c56560e11b81526001600160a01b03868116600483015260248201859052600160801b9092046001600160801b03166044820152600092839283928392919091169063f5298aca906064016080604051808303816000875af11580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190613775565b600354600454949850929650909450925061122d916001600160a01b03908116913391168761275b565b8186600001600082825461124191906136e6565b9091555050600783905561125a6003600a8660006127bb565b6018546001600160a01b0380891691167fbdf5d377ebdb51643ef3f7fc9c490a1d80027d15ba7518b1b4d07adb879da7e5876112958b61131f565b6040805192835260208301919091520160405180910390a3505050505050610bfc60018055565b6112c461216a565b601b819055601954601a5460408051928352602083019190915281018290527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf90606001610ef6565b61131561216a565b610c46600061290d565b6001600160a01b038116600090815260126020526040812081805b600183015481101561139857600083600101828154811061135d5761135d6136f9565b9060005260206000200154905060006113758261149f565b90506113818185613762565b93505050808061139090613725565b91505061133a565b509392505050565b6113a861216a565b6113b46003600a6120f7565b6001600160a01b0382166114255760405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084015b60405180910390fd5b60035460405163768bab4560e01b81526001600160a01b038481166004830152602482018490529091169063768bab4590604401600060405180830381600087803b15801561147357600080fd5b505af1158015611487573d6000803e3d6000fd5b505050505050565b61149761216a565b610c4661295d565b60135460405163b94fe91760e01b815260048101839052600091829182916001600160a01b03169063b94fe917906024016040805180830381865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151091906137ab565b915091508160000361153557604051633b0c4c3160e11b815260040160405180910390fd5b5092915050565b61154461216a565b6001600160a01b03811661156b576040516303988b8160e61b815260040160405180910390fd5b6018546001600160a01b039081169082160361159a5760405163aba916dd60e01b815260040160405180910390fd5b601880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d90600090a35050565b6115f461216a565b60188054821515600160a01b0260ff60a01b199091161790556040517f932a526fd95bf1b5aab775a957e284733f02db3a9824802cbcbb4fbca239cbe190610ef690831515815260200190565b60008061164d8361131f565b9050600061165a84611e2c565b9050600181101561167057506000199392505050565b60006116876019548461214490919063ffffffff16565b90508161169c82670de0b6b3a76400006137cf565b6116a691906137e6565b95945050505050565b6116b761216a565b6127108111156117095760405162461bcd60e51b815260206004820152601860248201527f526174696f2063616e6e6f742065786365656420313030250000000000000000604482015260640161141c565b601f80549082905560408051828152602081018490527fab45a8374e3d1f623df0e88a957317731ccc02ed377e5b0213661f85bf60b731910160405180910390a15050565b61175661216a565b6001600160a01b0381166117a45760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964207661756c74206164647265737360581b604482015260640161141c565b601e80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fef5b05cc6c55cf97d3b6bb45e1f74f62a2a1818e192b58a28dc4e304a7b5c9e090600090a35050565b6117fe6120a9565b6118066120d3565b6001600160a01b0381166000908152601c602052604090205460ff16156118405760405163b84f7eb560e01b815260040160405180910390fd5b61184c6003600a6120f7565b6001600160a01b03811660009081526012602052604081209061186e83611641565b9050601a5481106118925760405163317416e560e11b815260040160405180910390fd5b6001600160a01b0383166000818152601c60209081526040808320805460ff19166001179055601d9091528082204290555133917f5e05b3f7c0dbbace382bba3a2d956ef5e7abd61498e39cbf8bf1dc36cfe1083a91a35050610bfc60018055565b6118fc61216a565b601155565b6119096120a9565b6119116120d3565b80806000036119335760405163162908e360e11b815260040160405180910390fd5b61193f6003600a6120f7565b600061194f6003600a853361299a565b9050611959612369565b604080518481526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a25050610bfc60018055565b6014546001600160a01b031633146119c9576040516282b42960e81b815260040160405180910390fd5b610bfc6003600a83612ade565b6119de6120a9565b6119e66120d3565b8080600003611a085760405163162908e360e11b815260040160405180910390fd5b336000908152601c602052604090205460ff1615611a3957604051630bff073160e31b815260040160405180910390fd5b33600081815260126020526040812091611a529061131f565b905080600003611a7557604051638dc8d9b360e01b815260040160405180910390fd5b611a816003600a6120f7565b611a8a84612197565b60085482546000918691611aad91600160801b90046001600160801b0316612101565b611ab79190613762565b9050611ace6019548261214490919063ffffffff16565b821015611aee57604051630369fbd160e51b815260040160405180910390fd5b600854600090611b0f908790600160801b90046001600160801b0316612bb7565b60055460085460405163b3f1c93d60e01b8152929350600092839283926001600160a01b039091169163b3f1c93d91611b6191339182918f91600160801b90046001600160801b031690600401613808565b6060604051808303816000875af1158015611b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba49190613839565b600354604051635c921eb960e01b8152336004820152602481018e905293965091945092506001600160a01b031690635c921eb990604401600060405180830381600087803b158015611bf657600080fd5b505af1158015611c0a573d6000803e3d6000fd5b5050505083876000016000828254611c229190613762565b90915550506007819055611c3b6003600a60008c6127bb565b611c43612369565b60405189815233907fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a367509060200160405180910390a25050505050505050610bfc60018055565b611c9161216a565b6019819055601a54601b546040805184815260208101939093528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf90606001610ef6565b611ce06120a9565b611ce86120d3565b8180600003611d0a5760405163162908e360e11b815260040160405180910390fd5b601854600160a01b900460ff16611d34576040516312cefcd560e31b815260040160405180910390fd5b6001600160a01b038216611d5b576040516303988b8160e61b815260040160405180910390fd5b611d658383612498565b50611d6f60018055565b5050565b611d7b61216a565b6021805460ff19169055604051600081527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f390602001610f45565b611dbe61216a565b6003546001600160a01b0390811690841603611e135760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b604482015260640161141c565b611e276001600160a01b0384168383612bf4565b505050565b6001600160a01b03811660009081526012602052604081206008548154611e6291600160801b90046001600160801b0316612101565b9392505050565b611e716120a9565b611e796120d3565b611e856003600a6120f7565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015611eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f109190613870565b6001600160a01b031614611f37576040516384b359d160e01b815260040160405180910390fd5b336000908152601260209081526040808320848452600281019092529091205460ff1615611f785760405163e8edca8360e01b815260040160405180910390fd5b60018082018054808301825560009182526020808320909101859055848252600284019052604090819020805460ff191690921790915551632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e90611ffd9033903090879060040161373e565b600060405180830381600087803b15801561201757600080fd5b505af115801561202b573d6000803e3d6000fd5b50506040518481523392507f1c4b8380f61aea3d5d98cbadaf2e6b2e4f3d8ca8c0fce1290b26ac267158745f915060200160405180910390a250610bfc60018055565b61207661216a565b6001600160a01b0381166120a057604051631e4fbdf760e01b81526000600482015260240161141c565b610bfc8161290d565b6002600154036120cc57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff1615610c465760405163d93c066560e01b815260040160405180910390fd5b611d6f8282612c25565b600081156b019d971e4fe8401e74000000198390048411151761212357600080fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60008115611388198390048411151761215c57600080fd5b506127109102611388010490565b6000546001600160a01b03163314610c465760405163118cdaa760e01b815233600482015260240161141c565b601e546001600160a01b03166121aa5750565b600480546003546040516370a0823160e01b81526001600160a01b03918216938101939093526000929116906370a0823190602401602060405180830381865afa1580156121fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612220919061388d565b905081811015611d6f57600061223682846136e6565b9050611e2781612d57565b600080600060018510156122685760405163162908e360e11b815260040160405180910390fd5b6122728787612c25565b86546005880154604051636b81068560e11b8152600092839283926001600160a01b039092169163d7020d0a916122bb918b9182918e916001600160801b031690600401613808565b6060604051808303816000875af11580156122da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122fe91906138a6565b9250925092508295506123148a8a6000846127bb565b60408051828152602081018590526001600160a01b038916917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2999198508997509095505050505050565b601e546001600160a01b031661237b57565b600654601f5460009061238f908390612144565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935292935060009216906370a0823190602401602060405180830381865afa1580156123e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612407919061388d565b90508181111561242e57600061241d83836136e6565b905061242881612e16565b5061244f565b8181101561244f57600061244282846136e6565b905061244d81612d57565b505b7f8f9497c27f572ff1a65e8b2c7a0706d466466ae0b5efc78462b5f0021da669568160205460405161248b929190918252602082015260400190565b60405180910390a1505050565b816000036124b95760405163162908e360e11b815260040160405180910390fd5b6001600160a01b0381166124e0576040516303988b8160e61b815260040160405180910390fd5b6001600160a01b03811660009081526012602052604090206125046003600a6120f7565b6005546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa15801561254f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612573919061388d565b600854909150600090612597908390600160801b90046001600160801b0316612bb7565b905060008186116125a857856125aa565b815b6008549091506000906125ce908390600160801b90046001600160801b0316612bb7565b600554600854604051637a94c56560e11b81526001600160a01b038a81166004830152602482018c9052600160801b9092046001600160801b0316604482015292935060009283928392839291169063f5298aca906064016080604051808303816000875af1158015612645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126699190613775565b6003546004549498509296509094509250612693916001600160a01b03908116913391168761275b565b6007839055885482908a906000906126ac9084906136e6565b909155506126c190506003600a8660006127bb565b6040518681526001600160a01b038b169033907f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac46849060200160405180910390a35050505050505050505050565b612716612f1a565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b039091168152602001610f45565b6127b584856001600160a01b03166323b872dd8686866040516024016127839392919061373e565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3d565b50505050565b81156127e8576127ca82612fa0565b6001600160801b031684600301546127e29190613762565b60038501555b801561283a5780846003015410156128135760405163bb55fd2760e01b815260040160405180910390fd5b61281c81612fa0565b6001600160801b0316846003015461283491906136e6565b60038501555b6003840154600485015460006128508787612fd8565b9050600061285e8888613043565b9050600061287489600301548a6004015461309e565b9050612898886002015489600301548a600401548b600501548c60060154866130ea565b6001890181905560078901546128b0918391876131d4565b88556128bc8989612c25565b875460018901546040517f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd9926128fa92908252602082015260400190565b60405180910390a1505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6129656120d3565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586127433390565b600060018310156129be5760405163162908e360e11b815260040160405180910390fd5b6129c88585612c25565b845460018601546129e8916001600160a01b03918216913391168661275b565b8454600586015460405163b3f1c93d60e01b81526000928392839283926001600160a01b03169163b3f1c93d91612a339130918b918d916001600160801b0390911690600401613808565b6080604051808303816000875af1158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7691906138d4565b9350935093509350829450612a8e89898960006127bb565b60408051888152602081018790526001600160a01b038816917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250505050949350505050565b6001811015612b005760405163824c180760e01b815260040160405180910390fd5b60028201548015612b63576000612b19826101f4612144565b90506000828411612b3357612b2e84846136e6565b612b3d565b612b3d83856136e6565b905081811115612b6057604051631a8b543360e21b815260040160405180910390fd5b50505b60028301829055612b7784846000806127bb565b60408051828152602081018490527fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e91015b60405180910390a150505050565b60008115676765c793fa10079d601b1b60028404190484111715612bda57600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6040516001600160a01b03838116602483015260448201839052611e2791859182169063a9059cbb90606401612783565b6006820154600090612c3e9064ffffffffff16426136e6565b90506001811015612c4e57505050565b60058301546001600160801b03166001811015612c7e57604051630a1cf3ed60e21b815260040160405180910390fd5b82546005850154612c9a919084906001600160801b031661321b565b6005850180546fffffffffffffffffffffffffffffffff19166001600160801b0392831617908190556001850154612cde9290918591600160801b90910416613238565b6005850180546001600160801b03908116600160801b93821684028181179384905560068901805464ffffffffff19164264ffffffffff16179055604080519184169092178152939092041660208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd82049101612ba9565b601e546001600160a01b031663d81a09f6823033600080604051908082528060200260200182016040528015612d97578160200160208202803683370190505b506040518663ffffffff1660e01b8152600401612db8959493929190613913565b6020604051808303816000875af1158015612dd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dfb919061388d565b508060206000828254612e0e91906136e6565b909155505050565b60048054601e5460405163095ea7b360e01b81526001600160a01b039182169381019390935260248301849052169063095ea7b3906044016020604051808303816000875af1158015612e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e919190613984565b50601e54604051636e553f6560e01b8152600481018390523060248201526001600160a01b0390911690636e553f65906044016020604051808303816000875af1158015612ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f07919061388d565b508060206000828254612e0e9190613762565b60025460ff16610c4657604051638dfc202b60e01b815260040160405180910390fd5b6000612f526001600160a01b03841683613254565b90508051600014158015612f77575080806020019051810190612f759190613984565b155b15611e2757604051635274afe760e01b81526001600160a01b038416600482015260240161141c565b60006001600160801b03821115612fd4576040516306dfcc6560e41b8152608060048201526024810183905260440161141c565b5090565b60068201546000908190612ff39064ffffffffff16426136e6565b9050600181101561300a575050600482015461303d565b6005840154600184015461303991600160801b90046001600160801b0316906130339084613262565b90612101565b9150505b92915050565b6006820154600090819061305e9064ffffffffff16426136e6565b9050600181101561307e57505060058201546001600160801b031661303d565b60058401548354613039916001600160801b031690613033908483613352565b600060018310156130bb5750676765c793fa10079d601b1b61303d565b60006130d96130d46130cd8587613762565b8590612bb7565b612fa0565b6001600160801b0316949350505050565b600085871115806130fb5750838710155b806131065750858511155b806131115750838510155b1561312f5760405163abc83fed60e01b815260040160405180910390fd5b6000838311613171576000613144888a6136e6565b9050600061315c866131568785612101565b90612bb7565b9050613168818a613762565b925050506131c9565b600061317d85856136e6565b9050600061319686676765c793fa10079d601b1b6136e6565b905060006131a48b896136e6565b905060006131b6836131568685612101565b90506131c2818d613762565b9450505050505b979650505050505050565b600060018210156131e757506000610c32565b60006131f38686612101565b905060006132018286612101565b9050600061320f82846136e6565b98975050505050505050565b600080613229858585613352565b90506116a66130d48285612101565b6000806132458585613262565b90506116a66130d48483612101565b6060611e6283836000613386565b6000600182101561327f5750676765c793fa10079d601b1b61303d565b600061328f846301e13380612bb7565b9050600061329d8285612101565b9050600060786132b583613033818181818180612101565b6132bf91906137e6565b60186132d18461303381818180612101565b6132db91906137e6565b60066132eb856130338180612101565b6132f591906137e6565b60026133018680612101565b61330b91906137e6565b61332086676765c793fa10079d601b1b613762565b61332a9190613762565b6133349190613762565b61333e9190613762565b6133489190613762565b9695505050505050565b60008061335f84866137cf565b905061336f6301e13380826137e6565b90506116a681676765c793fa10079d601b1b613762565b6060814710156133ab5760405163cd78605960e01b815230600482015260240161141c565b600080856001600160a01b031684866040516133c791906139a1565b60006040518083038185875af1925050503d8060008114613404576040519150601f19603f3d011682016040523d82523d6000602084013e613409565b606091505b50915091506133488683836060826134295761342482613470565b611e62565b815115801561344057506001600160a01b0384163b155b1561346957604051639996b31560e01b81526001600160a01b038516600482015260240161141c565b5080611e62565b8051156134805780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5080546000825590600052602060002090810190610bfc91905b80821115612fd457600081556001016134b3565b6000602082840312156134d957600080fd5b5035919050565b6001600160a01b0381168114610bfc57600080fd5b60006020828403121561350757600080fd5b8135611e62816134e0565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561353e57600080fd5b8435613549816134e0565b93506020850135613559816134e0565b925060408501359150606085013567ffffffffffffffff8082111561357d57600080fd5b818701915087601f83011261359157600080fd5b8135818111156135a3576135a3613512565b604051601f8201601f19908116603f011681019083821181831017156135cb576135cb613512565b816040528281528a60208487010111156135e457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561361b57600080fd5b8235613626816134e0565b946020939093013593505050565b8015158114610bfc57600080fd5b60006020828403121561365457600080fd5b8135611e6281613634565b6000806040838503121561367257600080fd5b823591506020830135613684816134e0565b809150509250929050565b6000806000606084860312156136a457600080fd5b83356136af816134e0565b925060208401356136bf816134e0565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b8181038181111561303d5761303d6136d0565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600060018201613737576137376136d0565b5060010190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018082111561303d5761303d6136d0565b6000806000806080858703121561378b57600080fd5b505082516020840151604085015160609095015191969095509092509050565b600080604083850312156137be57600080fd5b505080516020909101519092909150565b808202811582820484141761303d5761303d6136d0565b60008261380357634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b60008060006060848603121561384e57600080fd5b835161385981613634565b602085015160409095015190969495509392505050565b60006020828403121561388257600080fd5b8151611e62816134e0565b60006020828403121561389f57600080fd5b5051919050565b6000806000606084860312156138bb57600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156138ea57600080fd5b84516138f581613634565b60208601516040870151606090970151919890975090945092505050565b600060a08201878352602060018060a01b0380891682860152808816604086015286606086015260a0608086015282865180855260c087019150838801945060005b81811015613973578551841683529484019491840191600101613955565b50909b9a5050505050505050505050565b60006020828403121561399657600080fd5b8151611e6281613634565b6000825160005b818110156139c257602081860181015185830152016139a8565b50600092019182525091905056fea26469706673582212206d0d41c2824bd30a3df2a53fb163bd5a7f440f6b58d375d3af81c8657ea3178a64736f6c63430008140033",
|
|
1721
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106103ba5760003560e01c80638da5cb5b116101f4578063c4f8911c1161011a578063e5711e8b116100ad578063ec915ee61161007c578063ec915ee6146108bc578063f2fde38b1461091d578063f8d8989814610930578063fbf4a6121461094357600080fd5b8063e5711e8b14610876578063e65896c914610889578063e91a7ca61461089c578063e9f2838e146108af57600080fd5b8063d0b0c816116100e9578063d0b0c81614610835578063d5db7d5d14610848578063d6d6b1071461085b578063e4c4be581461086e57600080fd5b8063c4f8911c14610718578063c5ebeaec1461072b578063c89109131461073e578063cd3293de1461078b57600080fd5b8063a1c317fd11610192578063b13aa2d611610161578063b13aa2d6146106bf578063b6b55f25146106d2578063bbcb15c2146106e5578063c23c69d5146106f857600080fd5b8063a1c317fd1461065f578063a8a0879514610672578063a9bf805c14610685578063ac919fd41461069857600080fd5b806398d721e0116101ce57806398d721e01461061357806399aaae3e146106265780639ce625f714610639578063a17a2d561461064c57600080fd5b80638da5cb5b146105cc57806392976179146105dd5780639523b910146105f057600080fd5b80633f4ba83a116102e45780635c975abb11610277578063768bab4511610246578063768bab45146105985780637bc7780b146105ab5780638456cb59146105b3578063883c6b24146105bb57600080fd5b80635c975abb1461055f5780636b58359e1461056a578063715018a61461057d57806375417da61461058557600080fd5b806340c65f72116102b357806340c65f721461051e578063498831941461053157806356bb54a7146105445780635a81acd41461054c57600080fd5b80633f4ba83a146104fc5780633ff78a74146105045780634010e5d41461050c5780634031234c1461051557600080fd5b8063150b7a021161035c5780632630c12f1161032b5780632630c12f1461049f5780632e1a7d4d146104b2578063371fd8e6146104c55780633e20bf14146104d857600080fd5b8063150b7a021461045957806316a6c4c5146104855780631705ffad1461048e5780631d8557d71461049757600080fd5b806309bf1e731161039857806309bf1e731461041b5780630ab30d8a146104255780630c42dcaf1461043d5780630c679a7b1461044657600080fd5b8063023245d7146103bf578063048c661d146103d4578063057e9b7b14610404575b600080fd5b6103d26103cd3660046134c7565b610952565b005b6018546103e7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61040d601a5481565b6040519081526020016103fb565b61040d6203f48081565b600854600160801b90046001600160801b031661040d565b61040d611f4081565b6103d26104543660046134f5565b610bff565b61046c610467366004613528565b610c29565b6040516001600160e01b031990911681526020016103fb565b61040d601b5481565b61040d601f5481565b6103d2610c3a565b6013546103e7906001600160a01b031681565b6103d26104c03660046134c7565b610c48565b6103d26104d33660046134c7565b610d06565b6018546104ec90600160a01b900460ff1681565b60405190151581526020016103fb565b6103d2610d4c565b6103d2610d5c565b61040d60205481565b61040d60195481565b6016546103e7906001600160a01b031681565b6103d261053f3660046134c7565b610eac565b6103d2610f01565b6103d261055a3660046134f5565b610f4f565b60025460ff166104ec565b6103d26105783660046134c7565b6112bc565b6103d261130d565b61040d6105933660046134f5565b61131f565b6103d26105a6366004613608565b6113a0565b600c5461040d565b6103d261148f565b6008546001600160801b031661040d565b6000546001600160a01b03166103e7565b61040d6105eb3660046134c7565b61149f565b6104ec6105fe3660046134f5565b601c6020526000908152604090205460ff1681565b6103d26106213660046134f5565b61153c565b6103d2610634366004613642565b6115ec565b61040d6106473660046134f5565b611641565b6103d261065a3660046134c7565b6116af565b6103d261066d3660046134f5565b61174e565b6103d26106803660046134f5565b6117f6565b6014546103e7906001600160a01b031681565b6103e77f000000000000000000000000000000000000000000000000000000000000000081565b6103d26106cd3660046134c7565b6118f4565b6103d26106e03660046134c7565b611901565b601e546103e7906001600160a01b031681565b61040d6107063660046134f5565b601d6020526000908152604090205481565b6103d26107263660046134c7565b61199f565b6103d26107393660046134c7565b6119d6565b61077061074c3660046134f5565b601260205260009081526040902080546003820154600490920154909160ff169083565b604080519384529115156020840152908201526060016103fb565b6003546004546005546006546007546008546009546107d7966001600160a01b0390811696811695169392916001600160801b0380821692600160801b909204169064ffffffffff1688565b604080516001600160a01b03998a16815297891660208901529590971694860194909452606085019290925260808401526001600160801b0390811660a08401521660c082015264ffffffffff90911660e0820152610100016103fb565b6103d26108433660046134c7565b611c89565b6015546103e7906001600160a01b031681565b6103d261086936600461365f565b611cd8565b6103d2611d73565b6103d261088436600461368f565b611db6565b61040d6108973660046134f5565b611e2c565b6103d26108aa3660046134c7565b611e69565b6021546104ec9060ff1681565b600a54600b54600c54600d54600e54600f546010546011546108e2979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016103fb565b6103d261092b3660046134f5565b61206e565b6017546103e7906001600160a01b031681565b61040d670de0b6b3a764000081565b61095a6120a9565b6109626120d3565b336000908152601c602052604090205460ff1615610993576040516367c11db560e01b815260040160405180910390fd5b336000908152601260209081526040808320848452600281019092529091205460ff166109d35760405163346fad7360e01b815260040160405180910390fd5b6109df6003600a6120f7565b6008548154600091610a019190600160801b90046001600160801b0316612101565b90506000610a0e3361131f565b90506000610a1b8561149f565b9050610a326019548461214490919063ffffffff16565b610a3c82846136e6565b1015610a5b576040516302c9375f60e21b815260040160405180910390fd5b60005b6001850154811015610b1e5785856001018281548110610a8057610a806136f9565b906000526020600020015403610b0c57600180860180549091610aa2916136e6565b81548110610ab257610ab26136f9565b9060005260206000200154856001018281548110610ad257610ad26136f9565b60009182526020909120015560018501805480610af157610af161370f565b60019003818190600052602060002001600090559055610b1e565b80610b1681613725565b915050610a5e565b50600085815260028501602052604090819020805460ff1916905551632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e90610b8790309033908a9060040161373e565b600060405180830381600087803b158015610ba157600080fd5b505af1158015610bb5573d6000803e3d6000fd5b50506040518781523392507f2aa1b4c95f3b2da9c955947fca584743ea0d457708fadf209c093061e98c4ccb91506020015b60405180910390a250505050610bfc60018055565b50565b610c0761216a565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b630a85bd0160e11b5b949350505050565b610c466003600a6120f7565b565b610c506120a9565b610c586120d3565b8080600003610c7a5760405163162908e360e11b815260040160405180910390fd5b60215460ff1615610c9e576040516370a7336d60e11b815260040160405180910390fd5b610caa6003600a6120f7565b610cb382612197565b6000806000610cc66003600a8733612241565b925092509250610cd4612369565b60405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490602001610be7565b610d0e6120a9565b610d166120d3565b8080600003610d385760405163162908e360e11b815260040160405180910390fd5b610d428233612498565b50610bfc60018055565b610d5461216a565b610c4661270e565b610d646120a9565b610d6c6120d3565b336000818152601c602052604090205460ff16610d9c5760405163013e5dc360e61b815260040160405180910390fd5b610da86003600a6120f7565b601b546001600160a01b0382166000908152601d6020526040902054610dce9190613762565b421115610dee57604051634b3c322760e11b815260040160405180910390fd5b6001600160a01b03811660009081526012602052604081206008548154919291610e2791600160801b90046001600160801b0316612101565b9050620f4240811115610e4d576040516312bf4cab60e01b815260040160405180910390fd5b6001600160a01b0383166000818152601c60209081526040808320805460ff19169055601d909152808220829055517fd064e6c9fd0298bfb6a6c78f373b38fa7919b5a8bb293642d693fcf8da6939119190a2505050610c4660018055565b610eb461216a565b601a819055601954601b5460408051928352602083018490528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060015b60405180910390a150565b610f0961216a565b6021805460ff191660019081179091556040519081527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f3906020015b60405180910390a1565b610f576120a9565b6018546001600160a01b03163314610f81576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381166000908152601c602052604090205460ff16610fba5760405163013e5dc360e61b815260040160405180910390fd5b610fc66003600a6120f7565b601b546001600160a01b0382166000908152601d6020526040902054610fec9190613762565b421161100b576040516363e5f12d60e11b815260040160405180910390fd5b6001600160a01b0381166000908152601260205260408120600854815491929161104491600160801b90046001600160801b0316612101565b6001600160a01b0384166000908152601c60209081526040808320805460ff19169055601d90915281208190559091505b600183015481101561115a576000836001018281548110611098576110986136f9565b600091825260208083209091015480835260028701909152604091829020805460ff1916905560185491516323b872dd60e01b81529092506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116926323b872dd926111149230921690869060040161373e565b600060405180830381600087803b15801561112e57600080fd5b505af1158015611142573d6000803e3d6000fd5b5050505050808061115290613725565b915050611075565b50611169600183016000613499565b600554600854604051637a94c56560e11b81526001600160a01b03868116600483015260248201859052600160801b9092046001600160801b03166044820152600092839283928392919091169063f5298aca906064016080604051808303816000875af11580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190613775565b600354600454949850929650909450925061122d916001600160a01b03908116913391168761275b565b8186600001600082825461124191906136e6565b9091555050600783905561125a6003600a8660006127bb565b6018546001600160a01b0380891691167fbdf5d377ebdb51643ef3f7fc9c490a1d80027d15ba7518b1b4d07adb879da7e5876112958b61131f565b6040805192835260208301919091520160405180910390a3505050505050610bfc60018055565b6112c461216a565b601b819055601954601a5460408051928352602083019190915281018290527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf90606001610ef6565b61131561216a565b610c46600061290d565b6001600160a01b038116600090815260126020526040812081805b600183015481101561139857600083600101828154811061135d5761135d6136f9565b9060005260206000200154905060006113758261149f565b90506113818185613762565b93505050808061139090613725565b91505061133a565b509392505050565b6113a861216a565b6113b46003600a6120f7565b6001600160a01b0382166114255760405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084015b60405180910390fd5b60035460405163768bab4560e01b81526001600160a01b038481166004830152602482018490529091169063768bab4590604401600060405180830381600087803b15801561147357600080fd5b505af1158015611487573d6000803e3d6000fd5b505050505050565b61149761216a565b610c4661295d565b60135460405163b94fe91760e01b815260048101839052600091829182916001600160a01b03169063b94fe917906024016040805180830381865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151091906137ab565b915091508160000361153557604051633b0c4c3160e11b815260040160405180910390fd5b5092915050565b61154461216a565b6001600160a01b03811661156b576040516303988b8160e61b815260040160405180910390fd5b6018546001600160a01b039081169082160361159a5760405163aba916dd60e01b815260040160405180910390fd5b601880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d90600090a35050565b6115f461216a565b60188054821515600160a01b0260ff60a01b199091161790556040517f932a526fd95bf1b5aab775a957e284733f02db3a9824802cbcbb4fbca239cbe190610ef690831515815260200190565b60008061164d8361131f565b9050600061165a84611e2c565b9050600181101561167057506000199392505050565b60006116876019548461214490919063ffffffff16565b90508161169c82670de0b6b3a76400006137cf565b6116a691906137e6565b95945050505050565b6116b761216a565b6127108111156117095760405162461bcd60e51b815260206004820152601860248201527f526174696f2063616e6e6f742065786365656420313030250000000000000000604482015260640161141c565b601f80549082905560408051828152602081018490527fab45a8374e3d1f623df0e88a957317731ccc02ed377e5b0213661f85bf60b731910160405180910390a15050565b61175661216a565b6001600160a01b0381166117a45760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964207661756c74206164647265737360581b604482015260640161141c565b601e80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fef5b05cc6c55cf97d3b6bb45e1f74f62a2a1818e192b58a28dc4e304a7b5c9e090600090a35050565b6117fe6120a9565b6118066120d3565b6001600160a01b0381166000908152601c602052604090205460ff16156118405760405163b84f7eb560e01b815260040160405180910390fd5b61184c6003600a6120f7565b6001600160a01b03811660009081526012602052604081209061186e83611641565b9050601a5481106118925760405163317416e560e11b815260040160405180910390fd5b6001600160a01b0383166000818152601c60209081526040808320805460ff19166001179055601d9091528082204290555133917f5e05b3f7c0dbbace382bba3a2d956ef5e7abd61498e39cbf8bf1dc36cfe1083a91a35050610bfc60018055565b6118fc61216a565b601155565b6119096120a9565b6119116120d3565b80806000036119335760405163162908e360e11b815260040160405180910390fd5b61193f6003600a6120f7565b600061194f6003600a853361299a565b9050611959612369565b604080518481526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a25050610bfc60018055565b6014546001600160a01b031633146119c9576040516282b42960e81b815260040160405180910390fd5b610bfc6003600a83612ade565b6119de6120a9565b6119e66120d3565b8080600003611a085760405163162908e360e11b815260040160405180910390fd5b336000908152601c602052604090205460ff1615611a3957604051630bff073160e31b815260040160405180910390fd5b33600081815260126020526040812091611a529061131f565b905080600003611a7557604051638dc8d9b360e01b815260040160405180910390fd5b611a816003600a6120f7565b611a8a84612197565b60085482546000918691611aad91600160801b90046001600160801b0316612101565b611ab79190613762565b9050611ace6019548261214490919063ffffffff16565b821015611aee57604051630369fbd160e51b815260040160405180910390fd5b600854600090611b0f908790600160801b90046001600160801b0316612bb7565b60055460085460405163b3f1c93d60e01b8152929350600092839283926001600160a01b039091169163b3f1c93d91611b6191339182918f91600160801b90046001600160801b031690600401613808565b6060604051808303816000875af1158015611b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba49190613839565b600354604051635c921eb960e01b8152336004820152602481018e905293965091945092506001600160a01b031690635c921eb990604401600060405180830381600087803b158015611bf657600080fd5b505af1158015611c0a573d6000803e3d6000fd5b5050505083876000016000828254611c229190613762565b90915550506007819055611c3b6003600a60008c6127bb565b611c43612369565b60405189815233907fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a367509060200160405180910390a25050505050505050610bfc60018055565b611c9161216a565b6019819055601a54601b546040805184815260208101939093528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf90606001610ef6565b611ce06120a9565b611ce86120d3565b8180600003611d0a5760405163162908e360e11b815260040160405180910390fd5b601854600160a01b900460ff16611d34576040516312cefcd560e31b815260040160405180910390fd5b6001600160a01b038216611d5b576040516303988b8160e61b815260040160405180910390fd5b611d658383612498565b50611d6f60018055565b5050565b611d7b61216a565b6021805460ff19169055604051600081527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f390602001610f45565b611dbe61216a565b6003546001600160a01b0390811690841603611e135760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b604482015260640161141c565b611e276001600160a01b0384168383612bf4565b505050565b6001600160a01b03811660009081526012602052604081206008548154611e6291600160801b90046001600160801b0316612101565b9392505050565b611e716120a9565b611e796120d3565b611e856003600a6120f7565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015611eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f109190613870565b6001600160a01b031614611f37576040516384b359d160e01b815260040160405180910390fd5b336000908152601260209081526040808320848452600281019092529091205460ff1615611f785760405163e8edca8360e01b815260040160405180910390fd5b60018082018054808301825560009182526020808320909101859055848252600284019052604090819020805460ff191690921790915551632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e90611ffd9033903090879060040161373e565b600060405180830381600087803b15801561201757600080fd5b505af115801561202b573d6000803e3d6000fd5b50506040518481523392507f1c4b8380f61aea3d5d98cbadaf2e6b2e4f3d8ca8c0fce1290b26ac267158745f915060200160405180910390a250610bfc60018055565b61207661216a565b6001600160a01b0381166120a057604051631e4fbdf760e01b81526000600482015260240161141c565b610bfc8161290d565b6002600154036120cc57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff1615610c465760405163d93c066560e01b815260040160405180910390fd5b611d6f8282612c25565b600081156b019d971e4fe8401e74000000198390048411151761212357600080fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60008115611388198390048411151761215c57600080fd5b506127109102611388010490565b6000546001600160a01b03163314610c465760405163118cdaa760e01b815233600482015260240161141c565b601e546001600160a01b03166121aa5750565b600480546003546040516370a0823160e01b81526001600160a01b03918216938101939093526000929116906370a0823190602401602060405180830381865afa1580156121fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612220919061388d565b905081811015611d6f57600061223682846136e6565b9050611e2781612d57565b600080600060018510156122685760405163162908e360e11b815260040160405180910390fd5b6122728787612c25565b86546005880154604051636b81068560e11b8152600092839283926001600160a01b039092169163d7020d0a916122bb918b9182918e916001600160801b031690600401613808565b6060604051808303816000875af11580156122da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122fe91906138a6565b9250925092508295506123148a8a6000846127bb565b60408051828152602081018590526001600160a01b038916917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2999198508997509095505050505050565b601e546001600160a01b031661237b57565b600654601f5460009061238f908390612144565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935292935060009216906370a0823190602401602060405180830381865afa1580156123e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612407919061388d565b90508181111561242e57600061241d83836136e6565b905061242881612e16565b5061244f565b8181101561244f57600061244282846136e6565b905061244d81612d57565b505b7f8f9497c27f572ff1a65e8b2c7a0706d466466ae0b5efc78462b5f0021da669568160205460405161248b929190918252602082015260400190565b60405180910390a1505050565b816000036124b95760405163162908e360e11b815260040160405180910390fd5b6001600160a01b0381166124e0576040516303988b8160e61b815260040160405180910390fd5b6001600160a01b03811660009081526012602052604090206125046003600a6120f7565b6005546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa15801561254f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612573919061388d565b600854909150600090612597908390600160801b90046001600160801b0316612bb7565b905060008186116125a857856125aa565b815b6008549091506000906125ce908390600160801b90046001600160801b0316612bb7565b600554600854604051637a94c56560e11b81526001600160a01b038a81166004830152602482018c9052600160801b9092046001600160801b0316604482015292935060009283928392839291169063f5298aca906064016080604051808303816000875af1158015612645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126699190613775565b6003546004549498509296509094509250612693916001600160a01b03908116913391168761275b565b6007839055885482908a906000906126ac9084906136e6565b909155506126c190506003600a8660006127bb565b6040518681526001600160a01b038b169033907f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac46849060200160405180910390a35050505050505050505050565b612716612f1a565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b039091168152602001610f45565b6127b584856001600160a01b03166323b872dd8686866040516024016127839392919061373e565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3d565b50505050565b81156127e8576127ca82612fa0565b6001600160801b031684600301546127e29190613762565b60038501555b801561283a5780846003015410156128135760405163bb55fd2760e01b815260040160405180910390fd5b61281c81612fa0565b6001600160801b0316846003015461283491906136e6565b60038501555b6003840154600485015460006128508787612fd8565b9050600061285e8888613043565b9050600061287489600301548a6004015461309e565b9050612898886002015489600301548a600401548b600501548c60060154866130ea565b6001890181905560078901546128b0918391876131d4565b88556128bc8989612c25565b875460018901546040517f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd9926128fa92908252602082015260400190565b60405180910390a1505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6129656120d3565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586127433390565b600060018310156129be5760405163162908e360e11b815260040160405180910390fd5b6129c88585612c25565b845460018601546129e8916001600160a01b03918216913391168661275b565b8454600586015460405163b3f1c93d60e01b81526000928392839283926001600160a01b03169163b3f1c93d91612a339130918b918d916001600160801b0390911690600401613808565b6080604051808303816000875af1158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7691906138d4565b9350935093509350829450612a8e89898960006127bb565b60408051888152602081018790526001600160a01b038816917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250505050949350505050565b6001811015612b005760405163824c180760e01b815260040160405180910390fd5b60028201548015612b63576000612b19826101f4612144565b90506000828411612b3357612b2e84846136e6565b612b3d565b612b3d83856136e6565b905081811115612b6057604051631a8b543360e21b815260040160405180910390fd5b50505b60028301829055612b7784846000806127bb565b60408051828152602081018490527fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e91015b60405180910390a150505050565b60008115676765c793fa10079d601b1b60028404190484111715612bda57600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6040516001600160a01b03838116602483015260448201839052611e2791859182169063a9059cbb90606401612783565b6006820154600090612c3e9064ffffffffff16426136e6565b90506001811015612c4e57505050565b60058301546001600160801b03166001811015612c7e57604051630a1cf3ed60e21b815260040160405180910390fd5b82546005850154612c9a919084906001600160801b031661321b565b6005850180546fffffffffffffffffffffffffffffffff19166001600160801b0392831617908190556001850154612cde9290918591600160801b90910416613238565b6005850180546001600160801b03908116600160801b93821684028181179384905560068901805464ffffffffff19164264ffffffffff16179055604080519184169092178152939092041660208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd82049101612ba9565b601e546001600160a01b031663d81a09f6823033600080604051908082528060200260200182016040528015612d97578160200160208202803683370190505b506040518663ffffffff1660e01b8152600401612db8959493929190613913565b6020604051808303816000875af1158015612dd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dfb919061388d565b508060206000828254612e0e91906136e6565b909155505050565b60048054601e5460405163095ea7b360e01b81526001600160a01b039182169381019390935260248301849052169063095ea7b3906044016020604051808303816000875af1158015612e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e919190613984565b50601e54604051636e553f6560e01b8152600481018390523060248201526001600160a01b0390911690636e553f65906044016020604051808303816000875af1158015612ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f07919061388d565b508060206000828254612e0e9190613762565b60025460ff16610c4657604051638dfc202b60e01b815260040160405180910390fd5b6000612f526001600160a01b03841683613254565b90508051600014158015612f77575080806020019051810190612f759190613984565b155b15611e2757604051635274afe760e01b81526001600160a01b038416600482015260240161141c565b60006001600160801b03821115612fd4576040516306dfcc6560e41b8152608060048201526024810183905260440161141c565b5090565b60068201546000908190612ff39064ffffffffff16426136e6565b9050600181101561300a575050600482015461303d565b6005840154600184015461303991600160801b90046001600160801b0316906130339084613262565b90612101565b9150505b92915050565b6006820154600090819061305e9064ffffffffff16426136e6565b9050600181101561307e57505060058201546001600160801b031661303d565b60058401548354613039916001600160801b031690613033908483613352565b600060018310156130bb5750676765c793fa10079d601b1b61303d565b60006130d96130d46130cd8587613762565b8590612bb7565b612fa0565b6001600160801b0316949350505050565b600085871115806130fb5750838710155b806131065750858511155b806131115750838510155b1561312f5760405163abc83fed60e01b815260040160405180910390fd5b6000838311613171576000613144888a6136e6565b9050600061315c866131568785612101565b90612bb7565b9050613168818a613762565b925050506131c9565b600061317d85856136e6565b9050600061319686676765c793fa10079d601b1b6136e6565b905060006131a48b896136e6565b905060006131b6836131568685612101565b90506131c2818d613762565b9450505050505b979650505050505050565b600060018210156131e757506000610c32565b60006131f38686612101565b905060006132018286612101565b9050600061320f82846136e6565b98975050505050505050565b600080613229858585613352565b90506116a66130d48285612101565b6000806132458585613262565b90506116a66130d48483612101565b6060611e6283836000613386565b6000600182101561327f5750676765c793fa10079d601b1b61303d565b600061328f846301e13380612bb7565b9050600061329d8285612101565b9050600060786132b583613033818181818180612101565b6132bf91906137e6565b60186132d18461303381818180612101565b6132db91906137e6565b60066132eb856130338180612101565b6132f591906137e6565b60026133018680612101565b61330b91906137e6565b61332086676765c793fa10079d601b1b613762565b61332a9190613762565b6133349190613762565b61333e9190613762565b6133489190613762565b9695505050505050565b60008061335f84866137cf565b905061336f6301e13380826137e6565b90506116a681676765c793fa10079d601b1b613762565b6060814710156133ab5760405163cd78605960e01b815230600482015260240161141c565b600080856001600160a01b031684866040516133c791906139a1565b60006040518083038185875af1925050503d8060008114613404576040519150601f19603f3d011682016040523d82523d6000602084013e613409565b606091505b50915091506133488683836060826134295761342482613470565b611e62565b815115801561344057506001600160a01b0384163b155b1561346957604051639996b31560e01b81526001600160a01b038516600482015260240161141c565b5080611e62565b8051156134805780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5080546000825590600052602060002090810190610bfc91905b80821115612fd457600081556001016134b3565b6000602082840312156134d957600080fd5b5035919050565b6001600160a01b0381168114610bfc57600080fd5b60006020828403121561350757600080fd5b8135611e62816134e0565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561353e57600080fd5b8435613549816134e0565b93506020850135613559816134e0565b925060408501359150606085013567ffffffffffffffff8082111561357d57600080fd5b818701915087601f83011261359157600080fd5b8135818111156135a3576135a3613512565b604051601f8201601f19908116603f011681019083821181831017156135cb576135cb613512565b816040528281528a60208487010111156135e457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561361b57600080fd5b8235613626816134e0565b946020939093013593505050565b8015158114610bfc57600080fd5b60006020828403121561365457600080fd5b8135611e6281613634565b6000806040838503121561367257600080fd5b823591506020830135613684816134e0565b809150509250929050565b6000806000606084860312156136a457600080fd5b83356136af816134e0565b925060208401356136bf816134e0565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b8181038181111561303d5761303d6136d0565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600060018201613737576137376136d0565b5060010190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018082111561303d5761303d6136d0565b6000806000806080858703121561378b57600080fd5b505082516020840151604085015160609095015191969095509092509050565b600080604083850312156137be57600080fd5b505080516020909101519092909150565b808202811582820484141761303d5761303d6136d0565b60008261380357634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b60008060006060848603121561384e57600080fd5b835161385981613634565b602085015160409095015190969495509392505050565b60006020828403121561388257600080fd5b8151611e62816134e0565b60006020828403121561389f57600080fd5b5051919050565b6000806000606084860312156138bb57600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156138ea57600080fd5b84516138f581613634565b60208601516040870151606090970151919890975090945092505050565b600060a08201878352602060018060a01b0380891682860152808816604086015286606086015260a0608086015282865180855260c087019150838801945060005b81811015613973578551841683529484019491840191600101613955565b50909b9a5050505050505050505050565b60006020828403121561399657600080fd5b8151611e6281613634565b6000825160005b818110156139c257602081860181015185830152016139a8565b50600092019182525091905056fea26469706673582212206d0d41c2824bd30a3df2a53fb163bd5a7f440f6b58d375d3af81c8657ea3178a64736f6c63430008140033",
|
|
2756
|
+
"bytecode": "0x60a0604052601e805460ff60a01b1916600160a01b17905561012c6029556107d0602b55602c805460ff191690553480156200003a57600080fd5b50604051620062fd380380620062fd8339810160408190526200005d91620002f5565b33806200008457604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200008f8162000261565b50600180556002805460ff191690556001600160a01b0386161580620000bc57506001600160a01b038516155b80620000cf57506001600160a01b038416155b80620000e257506001600160a01b038316155b80620000f557506001600160a01b038216155b80620000ff575080155b156200011e576040516303988b8160e61b815260040160405180910390fd5b601b80546001600160a01b03199081166001600160a01b03898116918217909355858316608052601980548316868516179055601c80548316898516908117909155601d8054841694891694851790557b033b2e3c9fd0803ce800000000000000033b2e3c9fd0803ce80000006008556009805464ffffffffff19164264ffffffffff1617905560038054841690911790556004805483169091179055600580549091169091179055600c819055620001da816109c4620002b1565b600d55600c54620001ee90611388620002b1565b600e55600c546200020290619c40620002b1565b600f556200021f6b033b2e3c9fd0803ce8000000611f40620002b1565b6010555050600060115550506b033b2e3c9fd0803ce8000000600a819055600b555050611f40602655670de0b6b3a76400006027556203f4806028556200036d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081156113881983900484111517620002ca57600080fd5b506127109102611388010490565b80516001600160a01b0381168114620002f057600080fd5b919050565b60008060008060008060c087890312156200030f57600080fd5b6200031a87620002d8565b95506200032a60208801620002d8565b94506200033a60408801620002d8565b93506200034a60608801620002d8565b92506200035a60808801620002d8565b915060a087015190509295509295509295565b608051615f4a620003b36000396000818161094801528181610a1801528181611051015281816129ce01528181613382015281816134b401526135970152615f4a6000f3fe608060405234801561001057600080fd5b50600436106104965760003560e01c80638aabb2d111610262578063c4f8911c11610151578063e91a7ca6116100ce578063f2fde38b11610092578063f2fde38b14610ddd578063f5b3b9e714610df0578063f8d8989814610e03578063f91c3b0d14610e16578063fbf4a61214610e29578063fbfa77cf14610e3857600080fd5b8063e91a7ca614610c84578063e9f2838e14610c97578063ec915ee614610ca4578063ef5bac2514610d05578063f1caf09f14610dca57600080fd5b8063d5db7d5d11610115578063d5db7d5d14610c25578063d81a698614610c38578063d8aed14514610c4b578063e5711e8b14610c5e578063e65896c914610c7157600080fd5b8063c4f8911c14610b1f578063c6d6916c14610b32578063c891091314610b45578063cd3293de14610b68578063d17e988314610c1257600080fd5b8063a8de4834116101df578063b88a802f116101a3578063b88a802f14610a4d578063bf4eccdf14610a55578063bfd91c2314610a68578063c1be667714610a88578063c415b95c14610b0c57600080fd5b8063a8de4834146109e5578063a90d728f146109f8578063a9bf805c14610a00578063ac919fd414610a13578063b6b55f2514610a3a57600080fd5b806397c4fac71161022657806397c4fac71461099057806398d721e0146109995780639daa54b4146109ac578063a42dce80146109bf578063a5b350c9146109d257600080fd5b80638aabb2d1146109205780638aee8127146109335780638bc2ff5b146109465780638da5cb5b1461096c578063929761791461097d57600080fd5b80632a5bf6d2116103895780635c975abb11610306578063768bab45116102ca578063768bab451461088e5780637bc7780b146108a157806383ba103f146108a95780638429d51f146108bc5780638456cb5914610907578063883c6b241461090f57600080fd5b80635c975abb146108155780636061ffc3146108205780636817031b14610860578063715018a61461087357806375417da61461087b57600080fd5b80633f4ba83a1161034d5780633f4ba83a1461073e5780634031234c1461074657806340c65f721461074f5780634df9d6ba14610762578063523a19ac1461077557600080fd5b80632a5bf6d21461067e5780632ab414fc146106915780632e1a7d4d146106a45780633adbb5af146106b75780633e20bf141461071a57600080fd5b8063150b7a02116104175780631d00ac3a116103db5780631d00ac3a146106285780631d4bf4a0146106485780631d8557d7146106505780632630c12f1461065857806327156a681461066b57600080fd5b8063150b7a02146105c457806316a6c4c5146105f057806316c621e0146105f95780631705ffad1461060c57806319c2d37e1461061557600080fd5b80630c34b9141161045e5780630c34b914146105195780630c42dcaf146105825780630c679a7b1461058b5780630d4085121461059e5780630ecbcdab146105b157600080fd5b8063023245d71461049b578063048c661d146104b0578063057e9b7b146104e057806309bf1e73146104f75780630ab30d8a14610501575b600080fd5b6104ae6104a93660046156ef565b610e4b565b005b601e546104c3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6104e960275481565b6040519081526020016104d7565b6104e96203f48081565b600854600160801b90046001600160801b03166104e9565b610521611102565b6040516104d79190600061010082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6104e9611f4081565b6104ae61059936600461571d565b611198565b6104e96105ac36600461573a565b6111c2565b6104ae6105bf366004615766565b61123e565b6105d76105d23660046157cb565b611288565b6040516001600160e01b031990911681526020016104d7565b6104e960285481565b6104ae6106073660046156ef565b611299565b6104e9602b5481565b6104e961062336600461573a565b61134a565b61063b61063636600461573a565b6113c3565b6040516104d791906158db565b6021546104e9565b6104ae611499565b6019546104c3906001600160a01b031681565b6104e961067936600461571d565b6114a7565b6104e961068c36600461571d565b6114cc565b6104ae61069f3660046158e9565b61153b565b6104ae6106b23660046156ef565b611a41565b6106ca6106c536600461573a565b611b18565b6040516104d79190600060c08201905082518252602083015115156020830152604083015160408301526060830151606083015260808301511515608083015260a083015160a083015292915050565b601e5461072e90600160a01b900460ff1681565b60405190151581526020016104d7565b6104ae611bcd565b6104e960265481565b601c546104c3906001600160a01b031681565b6104e961077036600461571d565b611bdd565b61080061078336600461573a565b6001600160a01b0391909116600090815260126020908152604080832093835292815290829020825160c0810184528154808252600183015460ff90811615159483019490945260028301549482019490945260038201546060820181905260048301549093161515608082015260059091015460a09091015291565b604080519283526020830191909152016104d7565b60025460ff1661072e565b60145460155460165461083b926001600160a01b0316919083565b604080516001600160a01b0390941684526020840192909252908201526060016104d7565b6104ae61086e36600461571d565b611c7f565b6104ae611f1d565b6104e961088936600461571d565b611f2f565b6104ae61089c36600461573a565b611fb6565b600c546104e9565b6104e96108b736600461573a565b6120a0565b6020546021546022546023546024546025546108da95949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016104d7565b6104ae6120d4565b6008546001600160801b03166104e9565b6104ae61092e3660046156ef565b6120e4565b6104ae61094136600461571d565b61226e565b7f00000000000000000000000000000000000000000000000000000000000000006104c3565b6000546001600160a01b03166104c3565b6104e961098b3660046156ef565b6122c2565b6104e960295481565b6104ae6109a736600461571d565b612358565b6104e96109ba36600461571d565b612408565b6104ae6109cd36600461571d565b61248b565b6104e96109e036600461573a565b61250c565b6104ae6109f336600461590b565b6125b5565b6104e9612652565b601a546104c3906001600160a01b031681565b6104c37f000000000000000000000000000000000000000000000000000000000000000081565b6104ae610a483660046156ef565b61272c565b61072e61282e565b6104ae610a6336600461573a565b61284d565b610a7b610a7636600461571d565b612bb0565b6040516104d79190615989565b610add610a9636600461573a565b6012602090815260009283526040808420909152908252902080546001820154600283015460038401546004850154600590950154939460ff938416949293919291169086565b6040805196875294151560208701529385019290925260608401521515608083015260a082015260c0016104d7565b601f546104c3906001600160a01b031681565b6104ae610b2d3660046156ef565b612e24565b6104ae610b4036600461571d565b612e5b565b6104e9610b5336600461571d565b60136020526000908152604090206001015481565b600354600454600554600654600754600854600954610bb4966001600160a01b0390811696811695169392916001600160801b0380821692600160801b909204169064ffffffffff1688565b604080516001600160a01b03998a16815297891660208901529590971694860194909452606085019290925260808401526001600160801b0390811660a08401521660c082015264ffffffffff90911660e0820152610100016104d7565b6104e9610c2036600461571d565b612f63565b601b546104c3906001600160a01b031681565b6104ae610c46366004615766565b61302d565b6104ae610c59366004615766565b61321b565b6104ae610c6c3660046159ff565b613258565b6104e9610c7f36600461571d565b6132c9565b6104ae610c923660046156ef565b613346565b602c5461072e9060ff1681565b600a54600b54600c54600d54600e54600f54601054601154610cca979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016104d7565b610dbd6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091525060408051610100810182526003546001600160a01b039081168252600454811660208301526005541691810191909152600654606082015260075460808201526008546001600160801b0380821660a0840152600160801b9091041660c082015260095464ffffffffff1660e082015290565b6040516104d79190615a40565b6104c3610dd83660046156ef565b613565565b6104ae610deb36600461571d565b613626565b6104e9610dfe366004615abe565b613661565b601d546104c3906001600160a01b031681565b6104ae610e2436600461573a565b613693565b6104e9670de0b6b3a764000081565b602a546104c3906001600160a01b031681565b610e536137c8565b610e5b6137f2565b3360009081526012602090815260408083208484529091529020600181015460ff1615610e9b576040516367c11db560e01b815260040160405180910390fd5b336000908152601360209081526040808320858452600281019092529091205460ff16610edb5760405163346fad7360e01b815260040160405180910390fd5b610ee76003600a613816565b6000610ef3338561134a565b90508015610f14576040516302c9375f60e21b815260040160405180910390fd5b60008481526002830160209081526040808320805460ff19169055602d909152812080546001600160a01b03191690558254610f5290600190615b09565b67ffffffffffffffff811115610f6a57610f6a615788565b604051908082528060200260200182016040528015610f93578160200160208202803683370190505b5090506000805b84548110156110265786856000018281548110610fb957610fb9615b1c565b90600052602060002001541461101457846000018181548110610fde57610fde615b1c565b9060005260206000200154838381518110610ffb57610ffb615b1c565b60209081029190910101528161101081615b32565b9250505b8061101e81615b32565b915050610f9a565b5081516110399085906020850190615652565b50604051632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e9061108a90309033908b90600401615b4b565b600060405180830381600087803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b50506040518881523392507f2aa1b4c95f3b2da9c955947fca584743ea0d457708fadf209c093061e98c4ccb915060200160405180910390a250505050506110ff60018055565b50565b61114a60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b506040805161010081018252600a548152600b546020820152600c5491810191909152600d546060820152600e546080820152600f5460a082015260105460c082015260115460e082015290565b6111a0613820565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111ce836122c2565b905060006111dc858561250c565b905060018110156111fc57676765c793fa10079d601b1b92505050611238565b60006112136026548461384d90919063ffffffff16565b90508161122882670de0b6b3a7640000615b6f565b6112329190615b86565b93505050505b92915050565b6112466137c8565b61124e6137f2565b80806000036112705760405163162908e360e11b815260040160405180910390fd5b61127a8383613873565b5061128460018055565b5050565b630a85bd0160e11b5b949350505050565b6112a16137c8565b6014546001600160a01b03166112ca57604051632506892760e01b815260040160405180910390fd5b806000036112eb5760405163162908e360e11b815260040160405180910390fd5b601454611303906001600160a01b0316333084613b1e565b61130c81613b7e565b60405181815233907fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d9139060200160405180910390a26110ff60018055565b6001600160a01b0382166000908152601260209081526040808320848452825291829020825160c0810184528154808252600183015460ff908116151594830194909452600283015494820194909452600382015460608201526004820154909216151560808301526005015460a09091015292915050565b6113cb615699565b6113d3615699565b6001600160a01b0384166000908152601260209081526040808320868452825291829020825160c0808201855282548252600183015460ff90811615159483018590526002840154958301958652600384015460608085019190915260048501549091161515608080850191825260059095015460a085015290870194909452935191850191909152805184529051151591830191909152611475858561250c565b602083015261148485856111c2565b60408301526060015160a08201529392505050565b6114a56003600a613816565b565b6000806114b3836114cc565b905060006114c084612f63565b90506112918183615ba8565b600354604051630481930d60e21b81526001600160a01b03838116600483015260009216906312064c3490602401602060405180830381865afa158015611517573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190615bbb565b611543613820565b600082600781111561155757611557615bd4565b03611602576127108111156115b35760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206c69717569646174696f6e207468726573686f6c6400000060448201526064015b60405180910390fd5b60268190556027546028546040805184815260208101939093528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060015b60405180910390a15050565b600182600781111561161657611616615bd4565b0361166157602781905560265460285460408051928352602083018490528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060016115f6565b600282600781111561167557611675615bd4565b0361171c57620151808110158015611690575062093a808111155b6116d35760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a590819dc9858d9481c195c9a5bd960621b60448201526064016115aa565b602881905560265460275460408051928352602083019190915281018290527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060016115f6565b600382600781111561173057611730615bd4565b036117ce576127108111156117875760405162461bcd60e51b815260206004820152601860248201527f526174696f2063616e6e6f74206578636565642031303025000000000000000060448201526064016115aa565b602b80549082905560408051828152602081018490527fab45a8374e3d1f623df0e88a957317731ccc02ed377e5b0213661f85bf60b73191015b60405180910390a1505050565b60048260078111156117e2576117e2615bd4565b036118785760018111156118305760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420626f6f6c65616e2076616c756560581b60448201526064016115aa565b602c805460ff19166001831490811790915560405160ff909116151581527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f3906020016115f6565b600582600781111561188c5761188c615bd4565b036119305760018111156118da5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420626f6f6c65616e2076616c756560581b60448201526064016115aa565b601e8054600160a01b60018414810260ff60a01b199092169190911791829055604051910460ff16151581527f932a526fd95bf1b5aab775a957e284733f02db3a9824802cbcbb4fbca239cbe1906020016115f6565b600682600781111561194457611944615bd4565b036119d1576127108111156119935760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420696e737572616e63652066656560581b60448201526064016115aa565b602980549082905560408051828152602081018490527f87c461d1c2c7c5cd98495e5517aa11d9df56d0819cc4e8e53d9664c4b18f6db191016117c1565b60078260078111156119e5576119e5615bd4565b03611a2857601180549082905560408051828152602081018490527f1d830358c94d390366ad7162b72e731448e195f3576e63b1f57f5e43c719c5aa91016117c1565b604051630309cb8760e51b815260040160405180910390fd5b611a496137c8565b611a516137f2565b8080600003611a735760405163162908e360e11b815260040160405180910390fd5b602c5460ff1615611a97576040516370a7336d60e11b815260040160405180910390fd5b611aa033613c01565b611aac6003600a613816565b611ab582613ca8565b6000806000611ac86003600a8733613fd1565b925092509250611ad66140f9565b60405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2505050506110ff60018055565b611b556040518060c00160405280600081526020016000151581526020016000815260200160008152602001600015158152602001600081525090565b506001600160a01b0382166000908152601260209081526040808320848452825291829020825160c08101845281548152600182015460ff908116151593820193909352600282015493810193909352600381015460608401526004810154909116151560808301526005015460a082015292915050565b611bd5613820565b6114a56142af565b6014546000906001600160a01b0316611bf857506000919050565b6000611c03836114a7565b905080600003611c165750600092915050565b6001600160a01b038316600090815260176020526040812054601554670de0b6b3a764000091611c4591615b09565b611c4f9084615b6f565b611c599190615b86565b6001600160a01b0385166000908152601860205260409020549091506112919082615ba8565b611c87613820565b602a546001600160a01b03828116911614801590611caf5750602a546001600160a01b031615155b15611e1357602a5460405163ce96cb7760e01b81523060048201526001600160a01b039091169063ce96cb7790602401602060405180830381865afa925050508015611d18575060408051601f3d908101601f19168201909252611d1591810190615bbb565b60015b611e0857611d24615bea565b806308c379a003611d815750611d38615c05565b80611d435750611d9a565b602a546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e13565b634e487b7103611d9a57611d93615c8f565b90611d4357505b3d808015611dc4576040519150601f19603f3d011682016040523d82523d6000602084013e611dc9565b606091505b50602a546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e13565b611e1181614301565b505b602a80546001600160a01b031981166001600160a01b0384811691821790935560048054604080516338d52e0f60e01b815290519486169591909116936338d52e0f928281019260209291908290030181865afa158015611e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9c9190615caf565b6001600160a01b031614158015611ebb57506001600160a01b03821615155b15611ed957604051631b3b488360e11b815260040160405180910390fd5b816001600160a01b0316816001600160a01b03167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea3960405160405180910390a35050565b611f25613820565b6114a560006144c0565b600080805b6001600160a01b0384166000908152601360205260409020548111611faf576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff1615611f9d576000611f8d826122c2565b9050611f998184615ba8565b9250505b80611fa781615b32565b915050611f34565b5092915050565b611fbe613820565b611fca6003600a613816565b6001600160a01b0382166120365760405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084016115aa565b60035460405163768bab4560e01b81526001600160a01b038481166004830152602482018490529091169063768bab4590604401600060405180830381600087803b15801561208457600080fd5b505af1158015612098573d6000803e3d6000fd5b505050505050565b6001600160a01b03821660009081526012602090815260408083208484529091528120600581015481546112919190615b09565b6120dc613820565b6114a5614510565b6120ec6137c8565b6120f46137f2565b3360008181526012602090815260408083208584529091529020600181015460ff166121335760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038216600090815260136020908152604080832086845260020190915290205460ff1661217a5760405163346fad7360e01b815260040160405180910390fd5b602854816002015461218c9190615ba8565b4211156121ac57604051634b3c322760e11b815260040160405180910390fd5b600481015460ff166121d157604051632d1118e960e21b815260040160405180910390fd5b6121dd6003600a613816565b60006121e9838561250c565b9050801561220a576040516312bf4cab60e01b815260040160405180910390fd5b60018201805460ff1990811690915560006002840181905560048401805490921690915560405185916001600160a01b038616917fd66fca94ddede030b58f223f22d6b43407a443bd68e2e73d38ab7675cf480acc9190a35050506110ff60018055565b612276613820565b6014546001600160a01b0316156122a05760405163b6de9a7160e01b815260040160405180910390fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60195460405163b94fe91760e01b815260048101839052600091829182916001600160a01b03169063b94fe917906024016040805180830381865afa15801561230f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123339190615ccc565b9150915081600003611faf57604051633b0c4c3160e11b815260040160405180910390fd5b612360613820565b6001600160a01b038116612387576040516303988b8160e61b815260040160405180910390fd5b601e546001600160a01b03908116908216036123b65760405163aba916dd60e01b815260040160405180910390fd5b601e80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d90600090a35050565b600080805b6001600160a01b038416600090815260136020526040902054811015611faf576001600160a01b0384166000908152601360205260409020805461246d9186918490811061245d5761245d615b1c565b906000526020600020015461250c565b6124779083615ba8565b91508061248381615b32565b91505061240d565b612493613820565b6001600160a01b0381166124ba576040516303988b8160e61b815260040160405180910390fd5b601f80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f3890600090a35050565b6001600160a01b03821660009081526012602090815260408083208484528252808320815160c08101835281548152600182015460ff9081161515948201949094526002820154928101929092526003810154606083018190526004820154909316151560808301526005015460a082015260085490916125a9916125a19190600160801b90046001600160801b0316615b09565b82519061454d565b81516112919190615ba8565b6125bd6137c8565b6125c56137f2565b81806000036125e75760405163162908e360e11b815260040160405180910390fd5b601e54600160a01b900460ff16612611576040516312cefcd560e31b815260040160405180910390fd5b6001600160a01b038216612638576040516303988b8160e61b815260040160405180910390fd5b612643848484614590565b5061264d60018055565b505050565b601f546000906001600160a01b0316331461267f576040516282b42960e81b815260040160405180910390fd5b602a546001600160a01b03166126c65760405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b60448201526064016115aa565b60045460218054426022556000909155601f546001600160a01b03928316926126f2918491168361488e565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee59060200160405180910390a19150505b90565b6127346137c8565b61273c6137f2565b808060000361275e5760405163162908e360e11b815260040160405180910390fd5b61276733613c01565b6127736003600a613816565b60006127836003600a85336148bf565b33600090815260136020526040812060010154919250036127b8573360009081526013602052604090206001018390556127e0565b33600090815260136020526040812060010180548592906127da908490615ba8565b90915550505b6127e86140f9565b604080518481526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250506110ff60018055565b60006128386137c8565b61284133613c01565b50600161272960018055565b6128556137c8565b601e546001600160a01b0316331461287f576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff166128c75760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff1661290e5760405163346fad7360e01b815260040160405180910390fd5b61291a6003600a613816565b600481015460ff16801561293f5750602854816002015461293b9190615ba8565b4211155b1561295d576040516363e5f12d60e11b815260040160405180910390fd5b6000612969848461250c565b60018301805460ff199081169091556000600280860182905560048087018054851690556001600160a01b03808a1684526013602090815260408086208b87529094019052928290208054909416909355601e5490516323b872dd60e01b81529394507f00000000000000000000000000000000000000000000000000000000000000008216936323b872dd93612a069330931691899101615b4b565b600060405180830381600087803b158015612a2057600080fd5b505af1158015612a34573d6000803e3d6000fd5b5050506000848152602d602052604080822080546001600160a01b03191690556005546008549151636f3df85160e11b81529293508392839283926001600160a01b03169163de7bf0a291612aa3918c918a91600160801b9091046001600160801b0316908d90600401615cf0565b6080604051808303816000875af1158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190615d1f565b600854600160801b90046001600160801b031660038b810191909155546004549498509296509094509250612b2a916001600160a01b039081169133911687613b1e565b6000808755600587018190556007849055612b4c90600390600a908790614a03565b601e5487906001600160a01b03808b1691167f3f2ad1b98f8838e6f90c126ac5f8a9875c7acf2a56aeb8a630c0fa475b07056a88612b89856122c2565b6040805192835260208301919091520160405180910390a450505050505061128460018055565b612bdb6040518060800160405280606081526020016000815260200160008152602001606081525090565b6001600160a01b0382166000908152601360209081526040808320815160808101835260608082529381018590529182019390935281810191909152815460408051602080840282018101909252828152918491830182828015612c5e57602002820191906000526020600020905b815481526020019060010190808311612c4a575b5050509183525050815467ffffffffffffffff811115612c8057612c80615788565b604051908082528060200260200182016040528015612cb957816020015b612ca6615699565b815260200190600190039081612c9e5790505b506060820152600060208201819052604082018190525b8254811015612e1c57306001600160a01b0316631d00ac3a86856000018481548110612cfe57612cfe615b1c565b6000918252602090912001546040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160e060405180830381865afa158015612d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d779190615d6a565b82606001518281518110612d8d57612d8d615b1c565b602002602001018190525081606001518181518110612dae57612dae615b1c565b60200260200101516020015182602001818151612dcb9190615ba8565b9052508254612df690849083908110612de657612de6615b1c565b90600052602060002001546122c2565b82604001818151612e079190615ba8565b90525080612e1481615b32565b915050612cd0565b509392505050565b601a546001600160a01b03163314612e4e576040516282b42960e81b815260040160405180910390fd5b6110ff6003600a83614b55565b6003546001600160a01b03163314612eb55760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e207570646174652072657761726473000060448201526064016115aa565b6000612ec0826114a7565b90508015612f43576001600160a01b038216600090815260176020526040812054601554670de0b6b3a764000091612ef791615b09565b612f019084615b6f565b612f0b9190615b86565b90508015612f41576001600160a01b03831660009081526018602052604081208054839290612f3b908490615ba8565b90915550505b505b506015546001600160a01b03909116600090815260176020526040902055565b601e546000906001600160a01b0316612f7e57506000919050565b601e546040516001600160a01b038481166024830152600092839291169060440160408051601f198184030181529181526020820180516001600160e01b031663c084b10b60e01b17905251612fd49190615df9565b600060405180830381855afa9150503d806000811461300f576040519150601f19603f3d011682016040523d82523d6000602084013e613014565b606091505b5091509150808060200190518101906112919190615bbb565b6130356137c8565b61303d6137f2565b33600081815260126020908152604080832086845290915281209161306290856120a0565b90506000613071338686613661565b601b54601f54604051636eb1769f60e11b81523360048201526001600160a01b039182166024820152929350839291169063dd62ed3e90604401602060405180830381865afa1580156130c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ec9190615bbb565b101561310b576040516339e067d560e21b815260040160405180910390fd5b601b546040516370a0823160e01b815233600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015613153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131779190615bbb565b101561319657604051631e9acf1760e31b815260040160405180910390fd5b6131a08585613873565b6131a981614c2e565b60048301805460ff191660011790556131c28483615ba8565b8360050160008282546131d59190615ba8565b909155505060405182815285907fd5c2dc3f0ec76ece0185d374bca424347955bce9b5e7b08757bb8e1bb8d9c0a99060200160405180910390a250505061128460018055565b6132236137c8565b61322b6137f2565b808060000361324d5760405163162908e360e11b815260040160405180910390fd5b61127a838333614590565b613260613820565b6003546001600160a01b03908116908416036132b55760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b60448201526064016115aa565b61264d6001600160a01b038416838361488e565b600080805b6001600160a01b038416600090815260136020526040902054811015611faf576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff161561333457613327848261250c565b6133319083615ba8565b91505b8061333e81615b32565b9150506132ce565b61334e6137c8565b6133566137f2565b6133626003600a613816565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156133c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133ed9190615caf565b6001600160a01b031614613414576040516384b359d160e01b815260040160405180910390fd5b336000908152601360209081526040808320848452600281019092529091205460ff16156134555760405163e8edca8360e01b815260040160405180910390fd5b60008281526002820160209081526040808320805460ff191660019081179091558454908101855584845282842001859055848352602d9091529081902080546001600160a01b031916339081179091559051632142170760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916342842e0e916134f4919030908790600401615b4b565b600060405180830381600087803b15801561350e57600080fd5b505af1158015613522573d6000803e3d6000fd5b50506040518481523392507f1c4b8380f61aea3d5d98cbadaf2e6b2e4f3d8ca8c0fce1290b26ac267158745f915060200160405180910390a2506110ff60018055565b6000818152602d60205260408120546001600160a01b031661360a576040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156135e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190615caf565b506000908152602d60205260409020546001600160a01b031690565b61362e613820565b6001600160a01b03811661365857604051631e4fbdf760e01b8152600060048201526024016115aa565b6110ff816144c0565b60008061366e85856120a0565b905061368860295484836136829190615ba8565b9061384d565b9150505b9392505050565b61369b6137c8565b6136a36137f2565b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff16156136ec5760405163b84f7eb560e01b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff166137335760405163346fad7360e01b815260040160405180910390fd5b61373f6003600a613816565b600061374b84846111c2565b9050602754811061376f5760405163317416e560e11b815260040160405180910390fd5b6001828101805460ff1916909117905542600283015560405183906001600160a01b0386169033907f4601ff28b457321206747d0540f02cfb8a9d6bf3021146378e8544e1817e20e790600090a4505061128460018055565b6002600154036137eb57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff16156114a55760405163d93c066560e01b815260040160405180910390fd5b6112848282614d21565b6000546001600160a01b031633146114a55760405163118cdaa760e01b81523360048201526024016115aa565b60008115611388198390048411151761386557600080fd5b506127109102611388010490565b3360009081526012602090815260408083208584529091529020600181015460ff16156138b357604051630bff073160e31b815260040160405180910390fd5b336000908152601360209081526040808320868452600281019092529091205460ff166138f35760405163346fad7360e01b815260040160405180910390fd5b60006138fe856122c2565b90508060000361392157604051638dc8d9b360e01b815260040160405180910390fd5b61392d6003600a613816565b61393684613ca8565b600061394d6026548361384d90919063ffffffff16565b90508461395a338861134a565b6139649190615ba8565b81101561398457604051630369fbd160e51b815260040160405180910390fd5b600554600854604051639ceeaca760e01b81523360048201819052602482015260448101889052600160801b9091046001600160801b0316606482015260848101889052600091829182916001600160a01b031690639ceeaca79060a4016060604051808303816000875af1158015613a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a259190615e28565b600854600160801b90046001600160801b031660038b81019190915554604051635c921eb960e01b8152336004820152602481018d905293965091945092506001600160a01b031690635c921eb990604401600060405180830381600087803b158015613a9157600080fd5b505af1158015613aa5573d6000803e3d6000fd5b5050505081876000016000828254613abd9190615ba8565b90915550506007819055613ad66003600a60008b614a03565b613ade6140f9565b60405188815233907fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a367509060200160405180910390a2505050505050505050565b613b7884856001600160a01b03166323b872dd868686604051602401613b4693929190615b4b565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614e53565b50505050565b6014546001600160a01b0316613ba757604051632506892760e01b815260040160405180910390fd5b6006546000819003613bb7575050565b811561128457600081613bd284670de0b6b3a7640000615b6f565b613bdc9190615b86565b90508060146001016000828254613bf39190615ba8565b909155505042601655505050565b6014546001600160a01b0316613c145750565b6000613c1f82611bdd565b90508015611284576001600160a01b038083166000908152601860209081526040808320839055601554601790925290912055601454613c619116838361488e565b816001600160a01b03167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea682604051613c9c91815260200190565b60405180910390a25050565b602a546001600160a01b0316613cbb5750565b600480546003546040516370a0823160e01b81526001600160a01b03918216938101939093526000929116906370a0823190602401602060405180830381865afa158015613d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d319190615bbb565b905081811015611284576000613d478284615b09565b602a5460405163ce96cb7760e01b81523060048201529192506000916001600160a01b039091169063ce96cb7790602401602060405180830381865afa158015613d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613db99190615bbb565b90506000613dc78285615ba8565b905082811015613e305760405162461bcd60e51b815260206004820152602e60248201527f4e6f7420656e6f756768206c697175696469747920746f2066756c66696c6c2060448201526d1d1a19481dda5d1a191c985dd85b60921b60648201526084016115aa565b6006546000613e3f8783615b09565b905060008115613e5a57602b54613e5790839061384d565b90505b8585811115613e665750845b8015613e7557613e7581614301565b600480546040516370a0823160e01b815230928101929092526001600160a01b0316906370a0823190602401602060405180830381865afa158015613ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ee29190615bbb565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935216906370a0823190602401602060405180830381865afa158015613f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f549190615bbb565b613f5e9190615ba8565b975088881015613fc65760405162461bcd60e51b815260206004820152602d60248201527f496e73756666696369656e74206c69717569646974792061667465722076617560448201526c1b1d081dda5d1a191c985dd85b609a1b60648201526084016115aa565b505050505050505050565b60008060006001851015613ff85760405163162908e360e11b815260040160405180910390fd5b6140028787614d21565b86546005880154604051636b81068560e11b8152600092839283926001600160a01b039092169163d7020d0a9161404b918b9182918e916001600160801b031690600401615e5d565b6060604051808303816000875af115801561406a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061408e9190615e8e565b9250925092508295506140a48a8a600084614a03565b60408051828152602081018590526001600160a01b038916917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2999198508997509095505050505050565b602a546001600160a01b031661410b57565b600654602b5460009061411f90839061384d565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935292935060009216906370a0823190602401602060405180830381865afa158015614173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141979190615bbb565b9050818111156141be5760006141ad8383615b09565b90506141b881614eb6565b50614275565b818110156142755760006141d28284615b09565b90506000602a60009054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015614229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061424d9190615bbb565b9050600081831161425e5782614260565b815b905080156142715761427181614301565b5050505b6020805460408051848152928301919091527f8f9497c27f572ff1a65e8b2c7a0706d466466ae0b5efc78462b5f0021da6695691016117c1565b6142b76150ec565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b602a546040516328c0620360e01b8152600160048201526000916001600160a01b0316906328c0620390602401602060405180830381865afa15801561434b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061436f9190615bbb565b602a54604051632d182be560e21b815260048101859052306024820181905260448201529192506000916001600160a01b039091169063b460af94906064016020604051808303816000875af11580156143cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143f19190615bbb565b90506000602060030154831115614454576023546000906144129085615b09565b9050670de0b6b3a76400006144278285615b6f565b6144319190615b86565b915081602060010160008282546144489190615ba8565b90915550614458915050565b5060005b60006144648286615b09565b600354600454919250614484916001600160a01b0390811691168361488e565b6020548511156144985760006020556144b3565b84602060000160008282546144ad9190615b09565b90915550505b5050506023555042602455565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6145186137f2565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586142e43390565b600081156b019d971e4fe8401e74000000198390048411151761456f57600080fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b816000036145b15760405163162908e360e11b815260040160405180910390fd5b6001600160a01b0381166145d8576040516303988b8160e61b815260040160405180910390fd5b6001600160a01b0381166000908152601360209081526040808320868452600281019092529091205460ff166146215760405163346fad7360e01b815260040160405180910390fd5b61462d6003600a613816565b6001600160a01b03821660009081526012602090815260408083208784529091529020600181015460ff1680156146695750600481015460ff16155b156146875760405163224aae4f60e21b815260040160405180910390fd5b600181015460ff1680156146ab575060285481600201546146a89190615ba8565b42115b156146c957604051634b3c322760e11b815260040160405180910390fd5b60006146d5848761250c565b905060008186116146e657856146e8565b815b9050600080600080600360020160009054906101000a90046001600160a01b03166001600160a01b031663de7bf0a28a87600360050160109054906101000a90046001600160801b03168f6040518563ffffffff1660e01b81526004016147529493929190615cf0565b6080604051808303816000875af1158015614771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147959190615d1f565b600854600160801b90046001600160801b031660038c8101919091555460045494985092965090945092506147d9916001600160a01b039081169133911688613b1e565b600783905580156147fe57808760000160008282546147f89190615ba8565b90915550505b865461480b908390615b09565b8088556005880154111561482157865460058801555b865460000361483257600060058801555b6148416003600a876000614a03565b6040518581526001600160a01b038a169033907f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac46849060200160405180910390a35050505050505050505050565b6040516001600160a01b0383811660248301526044820183905261264d91859182169063a9059cbb90606401613b46565b600060018310156148e35760405163162908e360e11b815260040160405180910390fd5b6148ed8585614d21565b8454600186015461490d916001600160a01b039182169133911686613b1e565b8454600586015460405163b3f1c93d60e01b81526000928392839283926001600160a01b03169163b3f1c93d916149589130918b918d916001600160801b0390911690600401615e5d565b6080604051808303816000875af1158015614977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061499b9190615ebc565b93509350935093508294506149b38989896000614a03565b60408051888152602081018790526001600160a01b038816917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250505050949350505050565b8115614a3057614a128261510f565b6001600160801b03168460030154614a2a9190615ba8565b60038501555b8015614a82578084600301541015614a5b5760405163bb55fd2760e01b815260040160405180910390fd5b614a648161510f565b6001600160801b03168460030154614a7c9190615b09565b60038501555b600384015460048501546000614a988787615147565b90506000614aa688886151a8565b90506000614abc89600301548a60040154615203565b9050614ae0886002015489600301548a600401548b600501548c600601548661524f565b600189018190556007890154614af891839187615339565b8855614b048989614d21565b875460018901546040517f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd992614b4292908252602082015260400190565b60405180910390a1505050505050505050565b6001811015614b775760405163824c180760e01b815260040160405180910390fd5b60028201548015614bda576000614b90826101f461384d565b90506000828411614baa57614ba58484615b09565b614bb4565b614bb48385615b09565b905081811115614bd757604051631a8b543360e21b815260040160405180910390fd5b50505b60028301829055614bee8484600080614a03565b60408051828152602081018490527fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e91015b60405180910390a150505050565b601f546001600160a01b0316614c57576040516303988b8160e61b815260040160405180910390fd5b80600003614c785760405163162908e360e11b815260040160405180910390fd5b601f5460048054604051636033e31560e01b81526001600160a01b0391821692810192909252336024830152604482018490527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f1606483015290911690636033e315906084016020604051808303816000875af1158015614cfd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112849190615ef9565b6006820154600090614d3a9064ffffffffff1642615b09565b90506001811015614d4a57505050565b60058301546001600160801b03166001811015614d7a57604051630a1cf3ed60e21b815260040160405180910390fd5b82546005850154614d96919084906001600160801b0316615380565b6005850180546fffffffffffffffffffffffffffffffff19166001600160801b0392831617908190556001850154614dda9290918591600160801b9091041661539d565b6005850180546001600160801b03908116600160801b93821684028181179384905560068901805464ffffffffff19164264ffffffffff16179055604080519184169092178152939092041660208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd82049101614c20565b6000614e686001600160a01b038416836153b9565b90508051600014158015614e8d575080806020019051810190614e8b9190615ef9565b155b1561264d57604051635274afe760e01b81526001600160a01b03841660048201526024016115aa565b600354604051635c921eb960e01b8152306004820152602481018390526001600160a01b0390911690635c921eb990604401600060405180830381600087803b158015614f0257600080fd5b505af1158015614f16573d6000803e3d6000fd5b505060048054602a5460405163095ea7b360e01b81526001600160a01b03918216938101939093526024830186905216925063095ea7b391506044016020604051808303816000875af1158015614f71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f959190615ef9565b50602a54604051636e553f6560e01b8152600481018390523060248201526000916001600160a01b031690636e553f65906044016020604051808303816000875af1158015614fe8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061500c9190615bbb565b602a546040516328c0620360e01b81526000600482018190529293506001600160a01b03909116906328c0620390602401602060405180830381865afa15801561505a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061507e9190615bbb565b9050600082116150c75760405162461bcd60e51b815260206004820152601460248201527315985d5b1d0819195c1bdcda5d0819985a5b195960621b60448201526064016115aa565b82602060000160008282546150dc9190615ba8565b9091555050602355505042602555565b60025460ff166114a557604051638dfc202b60e01b815260040160405180910390fd5b60006001600160801b03821115615143576040516306dfcc6560e41b815260806004820152602481018390526044016115aa565b5090565b600682015460009081906151629064ffffffffff1642615b09565b905060018110156151795750506004820154611238565b6005840154600184015461129191600160801b90046001600160801b0316906151a290846153c7565b9061454d565b600682015460009081906151c39064ffffffffff1642615b09565b905060018110156151e357505060058201546001600160801b0316611238565b60058401548354611291916001600160801b0316906151a2908483615416565b600060018310156152205750676765c793fa10079d601b1b611238565b600061523e6152396152328587615ba8565b859061544a565b61510f565b6001600160801b0316949350505050565b600085871115806152605750838710155b8061526b5750858511155b806152765750838510155b156152945760405163abc83fed60e01b815260040160405180910390fd5b60008383116152d65760006152a9888a615b09565b905060006152c1866152bb878561454d565b9061544a565b90506152cd818a615ba8565b9250505061532e565b60006152e28585615b09565b905060006152fb86676765c793fa10079d601b1b615b09565b905060006153098b89615b09565b9050600061531b836152bb868561454d565b9050615327818d615ba8565b9450505050505b979650505050505050565b6000600182101561534c57506000611291565b6000615358868661454d565b90506000615366828661454d565b905060006153748284615b09565b98975050505050505050565b60008061538e858585615416565b9050613688615239828561454d565b6000806153aa85856153c7565b9050613688615239848361454d565b606061368c83836000615487565b600060018210156153e45750676765c793fa10079d601b1b611238565b60006153f4846301e1338061544a565b90506000615402828561454d565b905061540d81615524565b95945050505050565b6000806154238486615b6f565b90506154336301e1338082615b86565b905061368881676765c793fa10079d601b1b615ba8565b60008115676765c793fa10079d601b1b6002840419048411171561546d57600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6060814710156154ac5760405163cd78605960e01b81523060048201526024016115aa565b600080856001600160a01b031684866040516154c89190615df9565b60006040518083038185875af1925050503d8060008114615505576040519150601f19603f3d011682016040523d82523d6000602084013e61550a565b606091505b509150915061551a8683836155cd565b9695505050505050565b6000816000036155405750676765c793fa10079d601b1b919050565b506b169e43a85eb381aa580000006b1363156bbee3016d700000006b1027e72f1f128130880000006b0cecb8f27f4200f3a00000006b09b18ab5df7180b6b80000006b06765c793fa10079d000000086800204808702919091048087029290920480870293909304808702949094048087029590950495010101010101676765c793fa10079d601b1b0190565b6060826155e2576155dd82615629565b61368c565b81511580156155f957506001600160a01b0384163b155b1561562257604051639996b31560e01b81526001600160a01b03851660048201526024016115aa565b508061368c565b8051156156395780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561568d579160200282015b8281111561568d578251825591602001919060010190615672565b506151439291506156da565b6040518060e0016040528060008152602001600081526020016000815260200160001515815260200160008152602001600081526020016000151581525090565b5b8082111561514357600081556001016156db565b60006020828403121561570157600080fd5b5035919050565b6001600160a01b03811681146110ff57600080fd5b60006020828403121561572f57600080fd5b813561368c81615708565b6000806040838503121561574d57600080fd5b823561575881615708565b946020939093013593505050565b6000806040838503121561577957600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156157c4576157c4615788565b6040525050565b600080600080608085870312156157e157600080fd5b84356157ec81615708565b93506020858101356157fd81615708565b935060408601359250606086013567ffffffffffffffff8082111561582157600080fd5b818801915088601f83011261583557600080fd5b81358181111561584757615847615788565b604051915061585f601f8201601f191685018361579e565b808252898482850101111561587357600080fd5b808484018584013760008482840101525080935050505092959194509250565b8051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c08301525050565b60e081016112388284615893565b600080604083850312156158fc57600080fd5b82356008811061575857600080fd5b60008060006060848603121561592057600080fd5b8335925060208401359150604084013561593981615708565b809150509250925092565b600081518084526020808501945080840160005b8381101561597e5761596b878351615893565b60e0969096019590820190600101615958565b509495945050505050565b60208082528251608083830152805160a0840181905260009291820190839060c08601905b808310156159ce57835182529284019260019290920191908401906159ae565b508387015160408701526040870151606087015260608701519350601f1986820301608087015261532e8185615944565b600080600060608486031215615a1457600080fd5b8335615a1f81615708565b92506020840135615a2f81615708565b929592945050506040919091013590565b60006101008201905060018060a01b0380845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a08301516001600160801b0380821660a08501528060c08601511660c0850152505060e0830151611faf60e084018264ffffffffff169052565b600080600060608486031215615ad357600080fd5b8335615ade81615708565b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561123857611238615af3565b634e487b7160e01b600052603260045260246000fd5b600060018201615b4457615b44615af3565b5060010190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b808202811582820484141761123857611238615af3565b600082615ba357634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561123857611238615af3565b600060208284031215615bcd57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b600060033d11156127295760046000803e5060005160e01c90565b600060443d1015615c135790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715615c4357505050505090565b8285019150815181811115615c5b5750505050505090565b843d8701016020828501011115615c755750505050505090565b615c846020828601018761579e565b509095945050505050565b60008060233d1115615cab576020600460003e50506000516001905b9091565b600060208284031215615cc157600080fd5b815161368c81615708565b60008060408385031215615cdf57600080fd5b505080516020909101519092909150565b6001600160a01b0394909416845260208401929092526001600160801b03166040830152606082015260800190565b60008060008060808587031215615d3557600080fd5b505082516020840151604085015160609095015191969095509092509050565b80518015158114615d6557600080fd5b919050565b600060e08284031215615d7c57600080fd5b60405160e0810181811067ffffffffffffffff82111715615d9f57615d9f615788565b8060405250825181526020830151602082015260408301516040820152615dc860608401615d55565b60608201526080830151608082015260a083015160a0820152615ded60c08401615d55565b60c08201529392505050565b6000825160005b81811015615e1a5760208186018101518583015201615e00565b506000920191825250919050565b600080600060608486031215615e3d57600080fd5b615e4684615d55565b925060208401519150604084015190509250925092565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b600080600060608486031215615ea357600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215615ed257600080fd5b615edb85615d55565b60208601516040870151606090970151919890975090945092505050565b600060208284031215615f0b57600080fd5b61368c82615d5556fea264697066735822122085790ad8a34ebf38e48587fd6cfb2d6f5a50229056245092ddebc2e6bc8f63c264736f6c63430008140033",
|
|
2757
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104965760003560e01c80638aabb2d111610262578063c4f8911c11610151578063e91a7ca6116100ce578063f2fde38b11610092578063f2fde38b14610ddd578063f5b3b9e714610df0578063f8d8989814610e03578063f91c3b0d14610e16578063fbf4a61214610e29578063fbfa77cf14610e3857600080fd5b8063e91a7ca614610c84578063e9f2838e14610c97578063ec915ee614610ca4578063ef5bac2514610d05578063f1caf09f14610dca57600080fd5b8063d5db7d5d11610115578063d5db7d5d14610c25578063d81a698614610c38578063d8aed14514610c4b578063e5711e8b14610c5e578063e65896c914610c7157600080fd5b8063c4f8911c14610b1f578063c6d6916c14610b32578063c891091314610b45578063cd3293de14610b68578063d17e988314610c1257600080fd5b8063a8de4834116101df578063b88a802f116101a3578063b88a802f14610a4d578063bf4eccdf14610a55578063bfd91c2314610a68578063c1be667714610a88578063c415b95c14610b0c57600080fd5b8063a8de4834146109e5578063a90d728f146109f8578063a9bf805c14610a00578063ac919fd414610a13578063b6b55f2514610a3a57600080fd5b806397c4fac71161022657806397c4fac71461099057806398d721e0146109995780639daa54b4146109ac578063a42dce80146109bf578063a5b350c9146109d257600080fd5b80638aabb2d1146109205780638aee8127146109335780638bc2ff5b146109465780638da5cb5b1461096c578063929761791461097d57600080fd5b80632a5bf6d2116103895780635c975abb11610306578063768bab45116102ca578063768bab451461088e5780637bc7780b146108a157806383ba103f146108a95780638429d51f146108bc5780638456cb5914610907578063883c6b241461090f57600080fd5b80635c975abb146108155780636061ffc3146108205780636817031b14610860578063715018a61461087357806375417da61461087b57600080fd5b80633f4ba83a1161034d5780633f4ba83a1461073e5780634031234c1461074657806340c65f721461074f5780634df9d6ba14610762578063523a19ac1461077557600080fd5b80632a5bf6d21461067e5780632ab414fc146106915780632e1a7d4d146106a45780633adbb5af146106b75780633e20bf141461071a57600080fd5b8063150b7a02116104175780631d00ac3a116103db5780631d00ac3a146106285780631d4bf4a0146106485780631d8557d7146106505780632630c12f1461065857806327156a681461066b57600080fd5b8063150b7a02146105c457806316a6c4c5146105f057806316c621e0146105f95780631705ffad1461060c57806319c2d37e1461061557600080fd5b80630c34b9141161045e5780630c34b914146105195780630c42dcaf146105825780630c679a7b1461058b5780630d4085121461059e5780630ecbcdab146105b157600080fd5b8063023245d71461049b578063048c661d146104b0578063057e9b7b146104e057806309bf1e73146104f75780630ab30d8a14610501575b600080fd5b6104ae6104a93660046156ef565b610e4b565b005b601e546104c3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6104e960275481565b6040519081526020016104d7565b6104e96203f48081565b600854600160801b90046001600160801b03166104e9565b610521611102565b6040516104d79190600061010082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6104e9611f4081565b6104ae61059936600461571d565b611198565b6104e96105ac36600461573a565b6111c2565b6104ae6105bf366004615766565b61123e565b6105d76105d23660046157cb565b611288565b6040516001600160e01b031990911681526020016104d7565b6104e960285481565b6104ae6106073660046156ef565b611299565b6104e9602b5481565b6104e961062336600461573a565b61134a565b61063b61063636600461573a565b6113c3565b6040516104d791906158db565b6021546104e9565b6104ae611499565b6019546104c3906001600160a01b031681565b6104e961067936600461571d565b6114a7565b6104e961068c36600461571d565b6114cc565b6104ae61069f3660046158e9565b61153b565b6104ae6106b23660046156ef565b611a41565b6106ca6106c536600461573a565b611b18565b6040516104d79190600060c08201905082518252602083015115156020830152604083015160408301526060830151606083015260808301511515608083015260a083015160a083015292915050565b601e5461072e90600160a01b900460ff1681565b60405190151581526020016104d7565b6104ae611bcd565b6104e960265481565b601c546104c3906001600160a01b031681565b6104e961077036600461571d565b611bdd565b61080061078336600461573a565b6001600160a01b0391909116600090815260126020908152604080832093835292815290829020825160c0810184528154808252600183015460ff90811615159483019490945260028301549482019490945260038201546060820181905260048301549093161515608082015260059091015460a09091015291565b604080519283526020830191909152016104d7565b60025460ff1661072e565b60145460155460165461083b926001600160a01b0316919083565b604080516001600160a01b0390941684526020840192909252908201526060016104d7565b6104ae61086e36600461571d565b611c7f565b6104ae611f1d565b6104e961088936600461571d565b611f2f565b6104ae61089c36600461573a565b611fb6565b600c546104e9565b6104e96108b736600461573a565b6120a0565b6020546021546022546023546024546025546108da95949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016104d7565b6104ae6120d4565b6008546001600160801b03166104e9565b6104ae61092e3660046156ef565b6120e4565b6104ae61094136600461571d565b61226e565b7f00000000000000000000000000000000000000000000000000000000000000006104c3565b6000546001600160a01b03166104c3565b6104e961098b3660046156ef565b6122c2565b6104e960295481565b6104ae6109a736600461571d565b612358565b6104e96109ba36600461571d565b612408565b6104ae6109cd36600461571d565b61248b565b6104e96109e036600461573a565b61250c565b6104ae6109f336600461590b565b6125b5565b6104e9612652565b601a546104c3906001600160a01b031681565b6104c37f000000000000000000000000000000000000000000000000000000000000000081565b6104ae610a483660046156ef565b61272c565b61072e61282e565b6104ae610a6336600461573a565b61284d565b610a7b610a7636600461571d565b612bb0565b6040516104d79190615989565b610add610a9636600461573a565b6012602090815260009283526040808420909152908252902080546001820154600283015460038401546004850154600590950154939460ff938416949293919291169086565b6040805196875294151560208701529385019290925260608401521515608083015260a082015260c0016104d7565b601f546104c3906001600160a01b031681565b6104ae610b2d3660046156ef565b612e24565b6104ae610b4036600461571d565b612e5b565b6104e9610b5336600461571d565b60136020526000908152604090206001015481565b600354600454600554600654600754600854600954610bb4966001600160a01b0390811696811695169392916001600160801b0380821692600160801b909204169064ffffffffff1688565b604080516001600160a01b03998a16815297891660208901529590971694860194909452606085019290925260808401526001600160801b0390811660a08401521660c082015264ffffffffff90911660e0820152610100016104d7565b6104e9610c2036600461571d565b612f63565b601b546104c3906001600160a01b031681565b6104ae610c46366004615766565b61302d565b6104ae610c59366004615766565b61321b565b6104ae610c6c3660046159ff565b613258565b6104e9610c7f36600461571d565b6132c9565b6104ae610c923660046156ef565b613346565b602c5461072e9060ff1681565b600a54600b54600c54600d54600e54600f54601054601154610cca979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016104d7565b610dbd6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091525060408051610100810182526003546001600160a01b039081168252600454811660208301526005541691810191909152600654606082015260075460808201526008546001600160801b0380821660a0840152600160801b9091041660c082015260095464ffffffffff1660e082015290565b6040516104d79190615a40565b6104c3610dd83660046156ef565b613565565b6104ae610deb36600461571d565b613626565b6104e9610dfe366004615abe565b613661565b601d546104c3906001600160a01b031681565b6104ae610e2436600461573a565b613693565b6104e9670de0b6b3a764000081565b602a546104c3906001600160a01b031681565b610e536137c8565b610e5b6137f2565b3360009081526012602090815260408083208484529091529020600181015460ff1615610e9b576040516367c11db560e01b815260040160405180910390fd5b336000908152601360209081526040808320858452600281019092529091205460ff16610edb5760405163346fad7360e01b815260040160405180910390fd5b610ee76003600a613816565b6000610ef3338561134a565b90508015610f14576040516302c9375f60e21b815260040160405180910390fd5b60008481526002830160209081526040808320805460ff19169055602d909152812080546001600160a01b03191690558254610f5290600190615b09565b67ffffffffffffffff811115610f6a57610f6a615788565b604051908082528060200260200182016040528015610f93578160200160208202803683370190505b5090506000805b84548110156110265786856000018281548110610fb957610fb9615b1c565b90600052602060002001541461101457846000018181548110610fde57610fde615b1c565b9060005260206000200154838381518110610ffb57610ffb615b1c565b60209081029190910101528161101081615b32565b9250505b8061101e81615b32565b915050610f9a565b5081516110399085906020850190615652565b50604051632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e9061108a90309033908b90600401615b4b565b600060405180830381600087803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b50506040518881523392507f2aa1b4c95f3b2da9c955947fca584743ea0d457708fadf209c093061e98c4ccb915060200160405180910390a250505050506110ff60018055565b50565b61114a60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b506040805161010081018252600a548152600b546020820152600c5491810191909152600d546060820152600e546080820152600f5460a082015260105460c082015260115460e082015290565b6111a0613820565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111ce836122c2565b905060006111dc858561250c565b905060018110156111fc57676765c793fa10079d601b1b92505050611238565b60006112136026548461384d90919063ffffffff16565b90508161122882670de0b6b3a7640000615b6f565b6112329190615b86565b93505050505b92915050565b6112466137c8565b61124e6137f2565b80806000036112705760405163162908e360e11b815260040160405180910390fd5b61127a8383613873565b5061128460018055565b5050565b630a85bd0160e11b5b949350505050565b6112a16137c8565b6014546001600160a01b03166112ca57604051632506892760e01b815260040160405180910390fd5b806000036112eb5760405163162908e360e11b815260040160405180910390fd5b601454611303906001600160a01b0316333084613b1e565b61130c81613b7e565b60405181815233907fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d9139060200160405180910390a26110ff60018055565b6001600160a01b0382166000908152601260209081526040808320848452825291829020825160c0810184528154808252600183015460ff908116151594830194909452600283015494820194909452600382015460608201526004820154909216151560808301526005015460a09091015292915050565b6113cb615699565b6113d3615699565b6001600160a01b0384166000908152601260209081526040808320868452825291829020825160c0808201855282548252600183015460ff90811615159483018590526002840154958301958652600384015460608085019190915260048501549091161515608080850191825260059095015460a085015290870194909452935191850191909152805184529051151591830191909152611475858561250c565b602083015261148485856111c2565b60408301526060015160a08201529392505050565b6114a56003600a613816565b565b6000806114b3836114cc565b905060006114c084612f63565b90506112918183615ba8565b600354604051630481930d60e21b81526001600160a01b03838116600483015260009216906312064c3490602401602060405180830381865afa158015611517573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190615bbb565b611543613820565b600082600781111561155757611557615bd4565b03611602576127108111156115b35760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206c69717569646174696f6e207468726573686f6c6400000060448201526064015b60405180910390fd5b60268190556027546028546040805184815260208101939093528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060015b60405180910390a15050565b600182600781111561161657611616615bd4565b0361166157602781905560265460285460408051928352602083018490528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060016115f6565b600282600781111561167557611675615bd4565b0361171c57620151808110158015611690575062093a808111155b6116d35760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a590819dc9858d9481c195c9a5bd960621b60448201526064016115aa565b602881905560265460275460408051928352602083019190915281018290527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060016115f6565b600382600781111561173057611730615bd4565b036117ce576127108111156117875760405162461bcd60e51b815260206004820152601860248201527f526174696f2063616e6e6f74206578636565642031303025000000000000000060448201526064016115aa565b602b80549082905560408051828152602081018490527fab45a8374e3d1f623df0e88a957317731ccc02ed377e5b0213661f85bf60b73191015b60405180910390a1505050565b60048260078111156117e2576117e2615bd4565b036118785760018111156118305760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420626f6f6c65616e2076616c756560581b60448201526064016115aa565b602c805460ff19166001831490811790915560405160ff909116151581527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f3906020016115f6565b600582600781111561188c5761188c615bd4565b036119305760018111156118da5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420626f6f6c65616e2076616c756560581b60448201526064016115aa565b601e8054600160a01b60018414810260ff60a01b199092169190911791829055604051910460ff16151581527f932a526fd95bf1b5aab775a957e284733f02db3a9824802cbcbb4fbca239cbe1906020016115f6565b600682600781111561194457611944615bd4565b036119d1576127108111156119935760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420696e737572616e63652066656560581b60448201526064016115aa565b602980549082905560408051828152602081018490527f87c461d1c2c7c5cd98495e5517aa11d9df56d0819cc4e8e53d9664c4b18f6db191016117c1565b60078260078111156119e5576119e5615bd4565b03611a2857601180549082905560408051828152602081018490527f1d830358c94d390366ad7162b72e731448e195f3576e63b1f57f5e43c719c5aa91016117c1565b604051630309cb8760e51b815260040160405180910390fd5b611a496137c8565b611a516137f2565b8080600003611a735760405163162908e360e11b815260040160405180910390fd5b602c5460ff1615611a97576040516370a7336d60e11b815260040160405180910390fd5b611aa033613c01565b611aac6003600a613816565b611ab582613ca8565b6000806000611ac86003600a8733613fd1565b925092509250611ad66140f9565b60405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2505050506110ff60018055565b611b556040518060c00160405280600081526020016000151581526020016000815260200160008152602001600015158152602001600081525090565b506001600160a01b0382166000908152601260209081526040808320848452825291829020825160c08101845281548152600182015460ff908116151593820193909352600282015493810193909352600381015460608401526004810154909116151560808301526005015460a082015292915050565b611bd5613820565b6114a56142af565b6014546000906001600160a01b0316611bf857506000919050565b6000611c03836114a7565b905080600003611c165750600092915050565b6001600160a01b038316600090815260176020526040812054601554670de0b6b3a764000091611c4591615b09565b611c4f9084615b6f565b611c599190615b86565b6001600160a01b0385166000908152601860205260409020549091506112919082615ba8565b611c87613820565b602a546001600160a01b03828116911614801590611caf5750602a546001600160a01b031615155b15611e1357602a5460405163ce96cb7760e01b81523060048201526001600160a01b039091169063ce96cb7790602401602060405180830381865afa925050508015611d18575060408051601f3d908101601f19168201909252611d1591810190615bbb565b60015b611e0857611d24615bea565b806308c379a003611d815750611d38615c05565b80611d435750611d9a565b602a546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e13565b634e487b7103611d9a57611d93615c8f565b90611d4357505b3d808015611dc4576040519150601f19603f3d011682016040523d82523d6000602084013e611dc9565b606091505b50602a546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e13565b611e1181614301565b505b602a80546001600160a01b031981166001600160a01b0384811691821790935560048054604080516338d52e0f60e01b815290519486169591909116936338d52e0f928281019260209291908290030181865afa158015611e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9c9190615caf565b6001600160a01b031614158015611ebb57506001600160a01b03821615155b15611ed957604051631b3b488360e11b815260040160405180910390fd5b816001600160a01b0316816001600160a01b03167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea3960405160405180910390a35050565b611f25613820565b6114a560006144c0565b600080805b6001600160a01b0384166000908152601360205260409020548111611faf576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff1615611f9d576000611f8d826122c2565b9050611f998184615ba8565b9250505b80611fa781615b32565b915050611f34565b5092915050565b611fbe613820565b611fca6003600a613816565b6001600160a01b0382166120365760405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084016115aa565b60035460405163768bab4560e01b81526001600160a01b038481166004830152602482018490529091169063768bab4590604401600060405180830381600087803b15801561208457600080fd5b505af1158015612098573d6000803e3d6000fd5b505050505050565b6001600160a01b03821660009081526012602090815260408083208484529091528120600581015481546112919190615b09565b6120dc613820565b6114a5614510565b6120ec6137c8565b6120f46137f2565b3360008181526012602090815260408083208584529091529020600181015460ff166121335760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038216600090815260136020908152604080832086845260020190915290205460ff1661217a5760405163346fad7360e01b815260040160405180910390fd5b602854816002015461218c9190615ba8565b4211156121ac57604051634b3c322760e11b815260040160405180910390fd5b600481015460ff166121d157604051632d1118e960e21b815260040160405180910390fd5b6121dd6003600a613816565b60006121e9838561250c565b9050801561220a576040516312bf4cab60e01b815260040160405180910390fd5b60018201805460ff1990811690915560006002840181905560048401805490921690915560405185916001600160a01b038616917fd66fca94ddede030b58f223f22d6b43407a443bd68e2e73d38ab7675cf480acc9190a35050506110ff60018055565b612276613820565b6014546001600160a01b0316156122a05760405163b6de9a7160e01b815260040160405180910390fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60195460405163b94fe91760e01b815260048101839052600091829182916001600160a01b03169063b94fe917906024016040805180830381865afa15801561230f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123339190615ccc565b9150915081600003611faf57604051633b0c4c3160e11b815260040160405180910390fd5b612360613820565b6001600160a01b038116612387576040516303988b8160e61b815260040160405180910390fd5b601e546001600160a01b03908116908216036123b65760405163aba916dd60e01b815260040160405180910390fd5b601e80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d90600090a35050565b600080805b6001600160a01b038416600090815260136020526040902054811015611faf576001600160a01b0384166000908152601360205260409020805461246d9186918490811061245d5761245d615b1c565b906000526020600020015461250c565b6124779083615ba8565b91508061248381615b32565b91505061240d565b612493613820565b6001600160a01b0381166124ba576040516303988b8160e61b815260040160405180910390fd5b601f80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f3890600090a35050565b6001600160a01b03821660009081526012602090815260408083208484528252808320815160c08101835281548152600182015460ff9081161515948201949094526002820154928101929092526003810154606083018190526004820154909316151560808301526005015460a082015260085490916125a9916125a19190600160801b90046001600160801b0316615b09565b82519061454d565b81516112919190615ba8565b6125bd6137c8565b6125c56137f2565b81806000036125e75760405163162908e360e11b815260040160405180910390fd5b601e54600160a01b900460ff16612611576040516312cefcd560e31b815260040160405180910390fd5b6001600160a01b038216612638576040516303988b8160e61b815260040160405180910390fd5b612643848484614590565b5061264d60018055565b505050565b601f546000906001600160a01b0316331461267f576040516282b42960e81b815260040160405180910390fd5b602a546001600160a01b03166126c65760405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b60448201526064016115aa565b60045460218054426022556000909155601f546001600160a01b03928316926126f2918491168361488e565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee59060200160405180910390a19150505b90565b6127346137c8565b61273c6137f2565b808060000361275e5760405163162908e360e11b815260040160405180910390fd5b61276733613c01565b6127736003600a613816565b60006127836003600a85336148bf565b33600090815260136020526040812060010154919250036127b8573360009081526013602052604090206001018390556127e0565b33600090815260136020526040812060010180548592906127da908490615ba8565b90915550505b6127e86140f9565b604080518481526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250506110ff60018055565b60006128386137c8565b61284133613c01565b50600161272960018055565b6128556137c8565b601e546001600160a01b0316331461287f576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff166128c75760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff1661290e5760405163346fad7360e01b815260040160405180910390fd5b61291a6003600a613816565b600481015460ff16801561293f5750602854816002015461293b9190615ba8565b4211155b1561295d576040516363e5f12d60e11b815260040160405180910390fd5b6000612969848461250c565b60018301805460ff199081169091556000600280860182905560048087018054851690556001600160a01b03808a1684526013602090815260408086208b87529094019052928290208054909416909355601e5490516323b872dd60e01b81529394507f00000000000000000000000000000000000000000000000000000000000000008216936323b872dd93612a069330931691899101615b4b565b600060405180830381600087803b158015612a2057600080fd5b505af1158015612a34573d6000803e3d6000fd5b5050506000848152602d602052604080822080546001600160a01b03191690556005546008549151636f3df85160e11b81529293508392839283926001600160a01b03169163de7bf0a291612aa3918c918a91600160801b9091046001600160801b0316908d90600401615cf0565b6080604051808303816000875af1158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190615d1f565b600854600160801b90046001600160801b031660038b810191909155546004549498509296509094509250612b2a916001600160a01b039081169133911687613b1e565b6000808755600587018190556007849055612b4c90600390600a908790614a03565b601e5487906001600160a01b03808b1691167f3f2ad1b98f8838e6f90c126ac5f8a9875c7acf2a56aeb8a630c0fa475b07056a88612b89856122c2565b6040805192835260208301919091520160405180910390a450505050505061128460018055565b612bdb6040518060800160405280606081526020016000815260200160008152602001606081525090565b6001600160a01b0382166000908152601360209081526040808320815160808101835260608082529381018590529182019390935281810191909152815460408051602080840282018101909252828152918491830182828015612c5e57602002820191906000526020600020905b815481526020019060010190808311612c4a575b5050509183525050815467ffffffffffffffff811115612c8057612c80615788565b604051908082528060200260200182016040528015612cb957816020015b612ca6615699565b815260200190600190039081612c9e5790505b506060820152600060208201819052604082018190525b8254811015612e1c57306001600160a01b0316631d00ac3a86856000018481548110612cfe57612cfe615b1c565b6000918252602090912001546040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160e060405180830381865afa158015612d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d779190615d6a565b82606001518281518110612d8d57612d8d615b1c565b602002602001018190525081606001518181518110612dae57612dae615b1c565b60200260200101516020015182602001818151612dcb9190615ba8565b9052508254612df690849083908110612de657612de6615b1c565b90600052602060002001546122c2565b82604001818151612e079190615ba8565b90525080612e1481615b32565b915050612cd0565b509392505050565b601a546001600160a01b03163314612e4e576040516282b42960e81b815260040160405180910390fd5b6110ff6003600a83614b55565b6003546001600160a01b03163314612eb55760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e207570646174652072657761726473000060448201526064016115aa565b6000612ec0826114a7565b90508015612f43576001600160a01b038216600090815260176020526040812054601554670de0b6b3a764000091612ef791615b09565b612f019084615b6f565b612f0b9190615b86565b90508015612f41576001600160a01b03831660009081526018602052604081208054839290612f3b908490615ba8565b90915550505b505b506015546001600160a01b03909116600090815260176020526040902055565b601e546000906001600160a01b0316612f7e57506000919050565b601e546040516001600160a01b038481166024830152600092839291169060440160408051601f198184030181529181526020820180516001600160e01b031663c084b10b60e01b17905251612fd49190615df9565b600060405180830381855afa9150503d806000811461300f576040519150601f19603f3d011682016040523d82523d6000602084013e613014565b606091505b5091509150808060200190518101906112919190615bbb565b6130356137c8565b61303d6137f2565b33600081815260126020908152604080832086845290915281209161306290856120a0565b90506000613071338686613661565b601b54601f54604051636eb1769f60e11b81523360048201526001600160a01b039182166024820152929350839291169063dd62ed3e90604401602060405180830381865afa1580156130c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ec9190615bbb565b101561310b576040516339e067d560e21b815260040160405180910390fd5b601b546040516370a0823160e01b815233600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015613153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131779190615bbb565b101561319657604051631e9acf1760e31b815260040160405180910390fd5b6131a08585613873565b6131a981614c2e565b60048301805460ff191660011790556131c28483615ba8565b8360050160008282546131d59190615ba8565b909155505060405182815285907fd5c2dc3f0ec76ece0185d374bca424347955bce9b5e7b08757bb8e1bb8d9c0a99060200160405180910390a250505061128460018055565b6132236137c8565b61322b6137f2565b808060000361324d5760405163162908e360e11b815260040160405180910390fd5b61127a838333614590565b613260613820565b6003546001600160a01b03908116908416036132b55760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b60448201526064016115aa565b61264d6001600160a01b038416838361488e565b600080805b6001600160a01b038416600090815260136020526040902054811015611faf576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff161561333457613327848261250c565b6133319083615ba8565b91505b8061333e81615b32565b9150506132ce565b61334e6137c8565b6133566137f2565b6133626003600a613816565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156133c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133ed9190615caf565b6001600160a01b031614613414576040516384b359d160e01b815260040160405180910390fd5b336000908152601360209081526040808320848452600281019092529091205460ff16156134555760405163e8edca8360e01b815260040160405180910390fd5b60008281526002820160209081526040808320805460ff191660019081179091558454908101855584845282842001859055848352602d9091529081902080546001600160a01b031916339081179091559051632142170760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916342842e0e916134f4919030908790600401615b4b565b600060405180830381600087803b15801561350e57600080fd5b505af1158015613522573d6000803e3d6000fd5b50506040518481523392507f1c4b8380f61aea3d5d98cbadaf2e6b2e4f3d8ca8c0fce1290b26ac267158745f915060200160405180910390a2506110ff60018055565b6000818152602d60205260408120546001600160a01b031661360a576040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156135e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190615caf565b506000908152602d60205260409020546001600160a01b031690565b61362e613820565b6001600160a01b03811661365857604051631e4fbdf760e01b8152600060048201526024016115aa565b6110ff816144c0565b60008061366e85856120a0565b905061368860295484836136829190615ba8565b9061384d565b9150505b9392505050565b61369b6137c8565b6136a36137f2565b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff16156136ec5760405163b84f7eb560e01b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff166137335760405163346fad7360e01b815260040160405180910390fd5b61373f6003600a613816565b600061374b84846111c2565b9050602754811061376f5760405163317416e560e11b815260040160405180910390fd5b6001828101805460ff1916909117905542600283015560405183906001600160a01b0386169033907f4601ff28b457321206747d0540f02cfb8a9d6bf3021146378e8544e1817e20e790600090a4505061128460018055565b6002600154036137eb57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff16156114a55760405163d93c066560e01b815260040160405180910390fd5b6112848282614d21565b6000546001600160a01b031633146114a55760405163118cdaa760e01b81523360048201526024016115aa565b60008115611388198390048411151761386557600080fd5b506127109102611388010490565b3360009081526012602090815260408083208584529091529020600181015460ff16156138b357604051630bff073160e31b815260040160405180910390fd5b336000908152601360209081526040808320868452600281019092529091205460ff166138f35760405163346fad7360e01b815260040160405180910390fd5b60006138fe856122c2565b90508060000361392157604051638dc8d9b360e01b815260040160405180910390fd5b61392d6003600a613816565b61393684613ca8565b600061394d6026548361384d90919063ffffffff16565b90508461395a338861134a565b6139649190615ba8565b81101561398457604051630369fbd160e51b815260040160405180910390fd5b600554600854604051639ceeaca760e01b81523360048201819052602482015260448101889052600160801b9091046001600160801b0316606482015260848101889052600091829182916001600160a01b031690639ceeaca79060a4016060604051808303816000875af1158015613a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a259190615e28565b600854600160801b90046001600160801b031660038b81019190915554604051635c921eb960e01b8152336004820152602481018d905293965091945092506001600160a01b031690635c921eb990604401600060405180830381600087803b158015613a9157600080fd5b505af1158015613aa5573d6000803e3d6000fd5b5050505081876000016000828254613abd9190615ba8565b90915550506007819055613ad66003600a60008b614a03565b613ade6140f9565b60405188815233907fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a367509060200160405180910390a2505050505050505050565b613b7884856001600160a01b03166323b872dd868686604051602401613b4693929190615b4b565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614e53565b50505050565b6014546001600160a01b0316613ba757604051632506892760e01b815260040160405180910390fd5b6006546000819003613bb7575050565b811561128457600081613bd284670de0b6b3a7640000615b6f565b613bdc9190615b86565b90508060146001016000828254613bf39190615ba8565b909155505042601655505050565b6014546001600160a01b0316613c145750565b6000613c1f82611bdd565b90508015611284576001600160a01b038083166000908152601860209081526040808320839055601554601790925290912055601454613c619116838361488e565b816001600160a01b03167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea682604051613c9c91815260200190565b60405180910390a25050565b602a546001600160a01b0316613cbb5750565b600480546003546040516370a0823160e01b81526001600160a01b03918216938101939093526000929116906370a0823190602401602060405180830381865afa158015613d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d319190615bbb565b905081811015611284576000613d478284615b09565b602a5460405163ce96cb7760e01b81523060048201529192506000916001600160a01b039091169063ce96cb7790602401602060405180830381865afa158015613d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613db99190615bbb565b90506000613dc78285615ba8565b905082811015613e305760405162461bcd60e51b815260206004820152602e60248201527f4e6f7420656e6f756768206c697175696469747920746f2066756c66696c6c2060448201526d1d1a19481dda5d1a191c985dd85b60921b60648201526084016115aa565b6006546000613e3f8783615b09565b905060008115613e5a57602b54613e5790839061384d565b90505b8585811115613e665750845b8015613e7557613e7581614301565b600480546040516370a0823160e01b815230928101929092526001600160a01b0316906370a0823190602401602060405180830381865afa158015613ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ee29190615bbb565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935216906370a0823190602401602060405180830381865afa158015613f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f549190615bbb565b613f5e9190615ba8565b975088881015613fc65760405162461bcd60e51b815260206004820152602d60248201527f496e73756666696369656e74206c69717569646974792061667465722076617560448201526c1b1d081dda5d1a191c985dd85b609a1b60648201526084016115aa565b505050505050505050565b60008060006001851015613ff85760405163162908e360e11b815260040160405180910390fd5b6140028787614d21565b86546005880154604051636b81068560e11b8152600092839283926001600160a01b039092169163d7020d0a9161404b918b9182918e916001600160801b031690600401615e5d565b6060604051808303816000875af115801561406a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061408e9190615e8e565b9250925092508295506140a48a8a600084614a03565b60408051828152602081018590526001600160a01b038916917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2999198508997509095505050505050565b602a546001600160a01b031661410b57565b600654602b5460009061411f90839061384d565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935292935060009216906370a0823190602401602060405180830381865afa158015614173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141979190615bbb565b9050818111156141be5760006141ad8383615b09565b90506141b881614eb6565b50614275565b818110156142755760006141d28284615b09565b90506000602a60009054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015614229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061424d9190615bbb565b9050600081831161425e5782614260565b815b905080156142715761427181614301565b5050505b6020805460408051848152928301919091527f8f9497c27f572ff1a65e8b2c7a0706d466466ae0b5efc78462b5f0021da6695691016117c1565b6142b76150ec565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b602a546040516328c0620360e01b8152600160048201526000916001600160a01b0316906328c0620390602401602060405180830381865afa15801561434b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061436f9190615bbb565b602a54604051632d182be560e21b815260048101859052306024820181905260448201529192506000916001600160a01b039091169063b460af94906064016020604051808303816000875af11580156143cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143f19190615bbb565b90506000602060030154831115614454576023546000906144129085615b09565b9050670de0b6b3a76400006144278285615b6f565b6144319190615b86565b915081602060010160008282546144489190615ba8565b90915550614458915050565b5060005b60006144648286615b09565b600354600454919250614484916001600160a01b0390811691168361488e565b6020548511156144985760006020556144b3565b84602060000160008282546144ad9190615b09565b90915550505b5050506023555042602455565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6145186137f2565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586142e43390565b600081156b019d971e4fe8401e74000000198390048411151761456f57600080fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b816000036145b15760405163162908e360e11b815260040160405180910390fd5b6001600160a01b0381166145d8576040516303988b8160e61b815260040160405180910390fd5b6001600160a01b0381166000908152601360209081526040808320868452600281019092529091205460ff166146215760405163346fad7360e01b815260040160405180910390fd5b61462d6003600a613816565b6001600160a01b03821660009081526012602090815260408083208784529091529020600181015460ff1680156146695750600481015460ff16155b156146875760405163224aae4f60e21b815260040160405180910390fd5b600181015460ff1680156146ab575060285481600201546146a89190615ba8565b42115b156146c957604051634b3c322760e11b815260040160405180910390fd5b60006146d5848761250c565b905060008186116146e657856146e8565b815b9050600080600080600360020160009054906101000a90046001600160a01b03166001600160a01b031663de7bf0a28a87600360050160109054906101000a90046001600160801b03168f6040518563ffffffff1660e01b81526004016147529493929190615cf0565b6080604051808303816000875af1158015614771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147959190615d1f565b600854600160801b90046001600160801b031660038c8101919091555460045494985092965090945092506147d9916001600160a01b039081169133911688613b1e565b600783905580156147fe57808760000160008282546147f89190615ba8565b90915550505b865461480b908390615b09565b8088556005880154111561482157865460058801555b865460000361483257600060058801555b6148416003600a876000614a03565b6040518581526001600160a01b038a169033907f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac46849060200160405180910390a35050505050505050505050565b6040516001600160a01b0383811660248301526044820183905261264d91859182169063a9059cbb90606401613b46565b600060018310156148e35760405163162908e360e11b815260040160405180910390fd5b6148ed8585614d21565b8454600186015461490d916001600160a01b039182169133911686613b1e565b8454600586015460405163b3f1c93d60e01b81526000928392839283926001600160a01b03169163b3f1c93d916149589130918b918d916001600160801b0390911690600401615e5d565b6080604051808303816000875af1158015614977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061499b9190615ebc565b93509350935093508294506149b38989896000614a03565b60408051888152602081018790526001600160a01b038816917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250505050949350505050565b8115614a3057614a128261510f565b6001600160801b03168460030154614a2a9190615ba8565b60038501555b8015614a82578084600301541015614a5b5760405163bb55fd2760e01b815260040160405180910390fd5b614a648161510f565b6001600160801b03168460030154614a7c9190615b09565b60038501555b600384015460048501546000614a988787615147565b90506000614aa688886151a8565b90506000614abc89600301548a60040154615203565b9050614ae0886002015489600301548a600401548b600501548c600601548661524f565b600189018190556007890154614af891839187615339565b8855614b048989614d21565b875460018901546040517f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd992614b4292908252602082015260400190565b60405180910390a1505050505050505050565b6001811015614b775760405163824c180760e01b815260040160405180910390fd5b60028201548015614bda576000614b90826101f461384d565b90506000828411614baa57614ba58484615b09565b614bb4565b614bb48385615b09565b905081811115614bd757604051631a8b543360e21b815260040160405180910390fd5b50505b60028301829055614bee8484600080614a03565b60408051828152602081018490527fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e91015b60405180910390a150505050565b601f546001600160a01b0316614c57576040516303988b8160e61b815260040160405180910390fd5b80600003614c785760405163162908e360e11b815260040160405180910390fd5b601f5460048054604051636033e31560e01b81526001600160a01b0391821692810192909252336024830152604482018490527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f1606483015290911690636033e315906084016020604051808303816000875af1158015614cfd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112849190615ef9565b6006820154600090614d3a9064ffffffffff1642615b09565b90506001811015614d4a57505050565b60058301546001600160801b03166001811015614d7a57604051630a1cf3ed60e21b815260040160405180910390fd5b82546005850154614d96919084906001600160801b0316615380565b6005850180546fffffffffffffffffffffffffffffffff19166001600160801b0392831617908190556001850154614dda9290918591600160801b9091041661539d565b6005850180546001600160801b03908116600160801b93821684028181179384905560068901805464ffffffffff19164264ffffffffff16179055604080519184169092178152939092041660208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd82049101614c20565b6000614e686001600160a01b038416836153b9565b90508051600014158015614e8d575080806020019051810190614e8b9190615ef9565b155b1561264d57604051635274afe760e01b81526001600160a01b03841660048201526024016115aa565b600354604051635c921eb960e01b8152306004820152602481018390526001600160a01b0390911690635c921eb990604401600060405180830381600087803b158015614f0257600080fd5b505af1158015614f16573d6000803e3d6000fd5b505060048054602a5460405163095ea7b360e01b81526001600160a01b03918216938101939093526024830186905216925063095ea7b391506044016020604051808303816000875af1158015614f71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f959190615ef9565b50602a54604051636e553f6560e01b8152600481018390523060248201526000916001600160a01b031690636e553f65906044016020604051808303816000875af1158015614fe8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061500c9190615bbb565b602a546040516328c0620360e01b81526000600482018190529293506001600160a01b03909116906328c0620390602401602060405180830381865afa15801561505a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061507e9190615bbb565b9050600082116150c75760405162461bcd60e51b815260206004820152601460248201527315985d5b1d0819195c1bdcda5d0819985a5b195960621b60448201526064016115aa565b82602060000160008282546150dc9190615ba8565b9091555050602355505042602555565b60025460ff166114a557604051638dfc202b60e01b815260040160405180910390fd5b60006001600160801b03821115615143576040516306dfcc6560e41b815260806004820152602481018390526044016115aa565b5090565b600682015460009081906151629064ffffffffff1642615b09565b905060018110156151795750506004820154611238565b6005840154600184015461129191600160801b90046001600160801b0316906151a290846153c7565b9061454d565b600682015460009081906151c39064ffffffffff1642615b09565b905060018110156151e357505060058201546001600160801b0316611238565b60058401548354611291916001600160801b0316906151a2908483615416565b600060018310156152205750676765c793fa10079d601b1b611238565b600061523e6152396152328587615ba8565b859061544a565b61510f565b6001600160801b0316949350505050565b600085871115806152605750838710155b8061526b5750858511155b806152765750838510155b156152945760405163abc83fed60e01b815260040160405180910390fd5b60008383116152d65760006152a9888a615b09565b905060006152c1866152bb878561454d565b9061544a565b90506152cd818a615ba8565b9250505061532e565b60006152e28585615b09565b905060006152fb86676765c793fa10079d601b1b615b09565b905060006153098b89615b09565b9050600061531b836152bb868561454d565b9050615327818d615ba8565b9450505050505b979650505050505050565b6000600182101561534c57506000611291565b6000615358868661454d565b90506000615366828661454d565b905060006153748284615b09565b98975050505050505050565b60008061538e858585615416565b9050613688615239828561454d565b6000806153aa85856153c7565b9050613688615239848361454d565b606061368c83836000615487565b600060018210156153e45750676765c793fa10079d601b1b611238565b60006153f4846301e1338061544a565b90506000615402828561454d565b905061540d81615524565b95945050505050565b6000806154238486615b6f565b90506154336301e1338082615b86565b905061368881676765c793fa10079d601b1b615ba8565b60008115676765c793fa10079d601b1b6002840419048411171561546d57600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6060814710156154ac5760405163cd78605960e01b81523060048201526024016115aa565b600080856001600160a01b031684866040516154c89190615df9565b60006040518083038185875af1925050503d8060008114615505576040519150601f19603f3d011682016040523d82523d6000602084013e61550a565b606091505b509150915061551a8683836155cd565b9695505050505050565b6000816000036155405750676765c793fa10079d601b1b919050565b506b169e43a85eb381aa580000006b1363156bbee3016d700000006b1027e72f1f128130880000006b0cecb8f27f4200f3a00000006b09b18ab5df7180b6b80000006b06765c793fa10079d000000086800204808702919091048087029290920480870293909304808702949094048087029590950495010101010101676765c793fa10079d601b1b0190565b6060826155e2576155dd82615629565b61368c565b81511580156155f957506001600160a01b0384163b155b1561562257604051639996b31560e01b81526001600160a01b03851660048201526024016115aa565b508061368c565b8051156156395780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561568d579160200282015b8281111561568d578251825591602001919060010190615672565b506151439291506156da565b6040518060e0016040528060008152602001600081526020016000815260200160001515815260200160008152602001600081526020016000151581525090565b5b8082111561514357600081556001016156db565b60006020828403121561570157600080fd5b5035919050565b6001600160a01b03811681146110ff57600080fd5b60006020828403121561572f57600080fd5b813561368c81615708565b6000806040838503121561574d57600080fd5b823561575881615708565b946020939093013593505050565b6000806040838503121561577957600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156157c4576157c4615788565b6040525050565b600080600080608085870312156157e157600080fd5b84356157ec81615708565b93506020858101356157fd81615708565b935060408601359250606086013567ffffffffffffffff8082111561582157600080fd5b818801915088601f83011261583557600080fd5b81358181111561584757615847615788565b604051915061585f601f8201601f191685018361579e565b808252898482850101111561587357600080fd5b808484018584013760008482840101525080935050505092959194509250565b8051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c08301525050565b60e081016112388284615893565b600080604083850312156158fc57600080fd5b82356008811061575857600080fd5b60008060006060848603121561592057600080fd5b8335925060208401359150604084013561593981615708565b809150509250925092565b600081518084526020808501945080840160005b8381101561597e5761596b878351615893565b60e0969096019590820190600101615958565b509495945050505050565b60208082528251608083830152805160a0840181905260009291820190839060c08601905b808310156159ce57835182529284019260019290920191908401906159ae565b508387015160408701526040870151606087015260608701519350601f1986820301608087015261532e8185615944565b600080600060608486031215615a1457600080fd5b8335615a1f81615708565b92506020840135615a2f81615708565b929592945050506040919091013590565b60006101008201905060018060a01b0380845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a08301516001600160801b0380821660a08501528060c08601511660c0850152505060e0830151611faf60e084018264ffffffffff169052565b600080600060608486031215615ad357600080fd5b8335615ade81615708565b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561123857611238615af3565b634e487b7160e01b600052603260045260246000fd5b600060018201615b4457615b44615af3565b5060010190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b808202811582820484141761123857611238615af3565b600082615ba357634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561123857611238615af3565b600060208284031215615bcd57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b600060033d11156127295760046000803e5060005160e01c90565b600060443d1015615c135790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715615c4357505050505090565b8285019150815181811115615c5b5750505050505090565b843d8701016020828501011115615c755750505050505090565b615c846020828601018761579e565b509095945050505050565b60008060233d1115615cab576020600460003e50506000516001905b9091565b600060208284031215615cc157600080fd5b815161368c81615708565b60008060408385031215615cdf57600080fd5b505080516020909101519092909150565b6001600160a01b0394909416845260208401929092526001600160801b03166040830152606082015260800190565b60008060008060808587031215615d3557600080fd5b505082516020840151604085015160609095015191969095509092509050565b80518015158114615d6557600080fd5b919050565b600060e08284031215615d7c57600080fd5b60405160e0810181811067ffffffffffffffff82111715615d9f57615d9f615788565b8060405250825181526020830151602082015260408301516040820152615dc860608401615d55565b60608201526080830151608082015260a083015160a0820152615ded60c08401615d55565b60c08201529392505050565b6000825160005b81811015615e1a5760208186018101518583015201615e00565b506000920191825250919050565b600080600060608486031215615e3d57600080fd5b615e4684615d55565b925060208401519150604084015190509250925092565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b600080600060608486031215615ea357600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215615ed257600080fd5b615edb85615d55565b60208601516040870151606090970151919890975090945092505050565b600060208284031215615f0b57600080fd5b61368c82615d5556fea264697066735822122085790ad8a34ebf38e48587fd6cfb2d6f5a50229056245092ddebc2e6bc8f63c264736f6c63430008140033",
|
|
1722
2758
|
"linkReferences": {},
|
|
1723
2759
|
"deployedLinkReferences": {}
|
|
1724
2760
|
}
|