@raac/rpc 1.1.0-beta.2 → 1.1.0-beta.20
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 +77 -21
- package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +83 -29
- package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +82 -31
- package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +114 -5
- package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +412 -0
- package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +465 -0
- package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +497 -0
- package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +1015 -351
- package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +180 -99
- package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +39 -2
- package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +2 -29
- package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +158 -38
- package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
- package/dist/artifacts/core/tokens/RToken.sol/RToken.json +2 -81
- package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +591 -0
- package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +557 -223
- package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +354 -0
- package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +356 -0
- package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +1036 -0
- package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +622 -207
- package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
- package/dist/artifacts/zeno/Auction.sol/Auction.json +104 -15
- package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +7 -2
- package/dist/artifacts/zeno/Zeno.sol/Zeno.json +108 -38
- package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +17 -2
- package/dist/assets/getSupply.js +3 -0
- package/dist/configs/chains/11155111.json +8 -3
- package/dist/configs/chains/17000.json +38 -3
- package/dist/configs/chains/8453.json +49 -14
- package/dist/configs/createConfig.js +3 -3
- package/dist/methods/approveToken.js +1 -9
- package/dist/minter/tick.js +3 -7
- package/dist/nfts/approveNFT.js +25 -0
- package/dist/nfts/getApprovalForAll.js +32 -0
- package/dist/nfts/getNFTApproval.js +33 -0
- package/dist/nfts/setApprovalForAll.js +34 -0
- package/dist/pools/lendingPool/_helpers.js +40 -0
- package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.js +20 -0
- package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.js +32 -0
- package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +20 -0
- package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +32 -0
- package/dist/pools/lendingPool/borrowFromLendingPool.js +11 -14
- package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +11 -29
- package/dist/pools/lendingPool/calculateInsuranceFee.js +12 -8
- package/dist/pools/lendingPool/closeLiquidation.js +16 -14
- package/dist/pools/lendingPool/depositAssetToLendingPool.js +22 -0
- package/dist/pools/lendingPool/depositToLendingPool.js +4 -11
- package/dist/pools/lendingPool/getAdapterAddress.js +44 -0
- package/dist/pools/lendingPool/getAdapters.js +20 -0
- package/dist/pools/lendingPool/getEligibleUserDeposits.js +2 -5
- package/dist/pools/lendingPool/getHealthFactor.js +15 -13
- package/dist/pools/lendingPool/getLendingPoolInfo.js +18 -33
- package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +2 -6
- package/dist/pools/lendingPool/getParameters.js +29 -0
- package/dist/pools/lendingPool/getPositionDebt.js +12 -11
- package/dist/pools/lendingPool/getPositionScaledDebt.js +16 -13
- package/dist/pools/lendingPool/getPositionView.js +17 -10
- package/dist/pools/lendingPool/getPositionsScaledDebt.js +3 -5
- package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +2 -5
- package/dist/pools/lendingPool/getUserCollateralValue.js +3 -5
- package/dist/pools/lendingPool/getWithdrawRequestInfo.js +22 -0
- package/dist/pools/lendingPool/initializeLiquidation.js +12 -12
- package/dist/pools/lendingPool/openVaultPosition.js +39 -0
- package/dist/pools/lendingPool/repayToLendingPool.js +11 -14
- package/dist/pools/lendingPool/requestWithdraw.js +28 -0
- package/dist/pools/lendingPool/types.js +2 -0
- package/dist/pools/lendingPool/vaultOpened.js +22 -0
- package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +21 -0
- package/dist/pools/lendingPool/withdrawFromLendingPool.js +9 -11
- package/dist/pools/rwaVault/_helpers.js +41 -0
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.js +21 -0
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.js +30 -0
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.js +20 -0
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.js +21 -0
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.js +20 -0
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.js +30 -0
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.js +20 -0
- package/dist/pools/rwaVault/depositToRWAVault.js +23 -0
- package/dist/pools/rwaVault/getAdapterAddress.js +43 -0
- package/dist/pools/rwaVault/getAdapters.js +20 -0
- package/dist/pools/rwaVault/getNextRandomNFT.js +21 -0
- package/dist/pools/rwaVault/getRWAVaultInfo.js +48 -0
- package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +23 -0
- package/dist/pools/rwaVault/requestRandomSeed.js +23 -0
- package/dist/pools/rwaVault/types.js +2 -0
- package/dist/pools/stabilityPool/depositToStabilityPool.js +0 -6
- package/dist/pools/stabilityPool/withdrawFromStabilityPool.js +0 -6
- package/dist/scripts/index.js +29 -32
- package/dist/types/RPCLibrary.d.ts +68 -22
- package/dist/types/configs/createConfig.d.ts +1 -1
- package/dist/types/nfts/approveNFT.d.ts +9 -0
- package/dist/types/nfts/getApprovalForAll.d.ts +14 -0
- package/dist/types/nfts/getNFTApproval.d.ts +14 -0
- package/dist/types/nfts/setApprovalForAll.d.ts +14 -0
- package/dist/types/pools/lendingPool/_helpers.d.ts +10 -0
- package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.d.ts +3 -0
- package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.d.ts +10 -0
- package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.d.ts +3 -0
- package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.d.ts +10 -0
- package/dist/types/pools/lendingPool/borrowFromLendingPool.d.ts +4 -3
- package/dist/types/pools/lendingPool/borrowFromLendingPoolWithInsurance.d.ts +4 -3
- package/dist/types/pools/lendingPool/calculateInsuranceFee.d.ts +3 -2
- package/dist/types/pools/lendingPool/closeLiquidation.d.ts +7 -5
- package/dist/types/pools/lendingPool/depositAssetToLendingPool.d.ts +5 -0
- package/dist/types/pools/lendingPool/getAdapterAddress.d.ts +16 -0
- package/dist/types/pools/lendingPool/getAdapters.d.ts +8 -0
- package/dist/types/pools/lendingPool/getHealthFactor.d.ts +6 -4
- package/dist/types/pools/lendingPool/getLendingPoolInfo.d.ts +1 -3
- package/dist/types/pools/lendingPool/getParameters.d.ts +17 -0
- package/dist/types/pools/lendingPool/getPositionDebt.d.ts +4 -3
- package/dist/types/pools/lendingPool/getPositionScaledDebt.d.ts +8 -5
- package/dist/types/pools/lendingPool/getPositionView.d.ts +14 -16
- package/dist/types/pools/lendingPool/getWithdrawRequestInfo.d.ts +8 -0
- package/dist/types/pools/lendingPool/initializeLiquidation.d.ts +4 -3
- package/dist/types/pools/lendingPool/openVaultPosition.d.ts +4 -0
- package/dist/types/pools/lendingPool/repayToLendingPool.d.ts +4 -3
- package/dist/types/pools/lendingPool/requestWithdraw.d.ts +4 -0
- package/dist/types/pools/lendingPool/types.d.ts +7 -0
- package/dist/types/pools/lendingPool/vaultOpened.d.ts +11 -0
- package/dist/types/pools/lendingPool/withdrawAssetFromLendingPool.d.ts +4 -0
- package/dist/types/pools/rwaVault/_helpers.d.ts +10 -0
- package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.d.ts +3 -0
- package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.d.ts +9 -0
- package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.d.ts +3 -0
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.d.ts +3 -0
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.d.ts +3 -0
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.d.ts +9 -0
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.d.ts +3 -0
- package/dist/types/pools/rwaVault/depositToRWAVault.d.ts +5 -0
- package/dist/types/pools/rwaVault/getAdapterAddress.d.ts +16 -0
- package/dist/types/pools/rwaVault/getAdapters.d.ts +8 -0
- package/dist/types/pools/rwaVault/getNextRandomNFT.d.ts +8 -0
- package/dist/types/pools/rwaVault/getRWAVaultInfo.d.ts +20 -0
- package/dist/types/pools/rwaVault/redeemNFTFromRWAVault.d.ts +4 -0
- package/dist/types/pools/rwaVault/requestRandomSeed.d.ts +4 -0
- package/dist/types/pools/rwaVault/types.d.ts +7 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.d.ts +103 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/shared/interfaces/IERC677Receiver.d.ts +37 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/shared/interfaces/LinkTokenInterface.d.ts +143 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/shared/interfaces/index.d.ts +3 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/SubscriptionAPI.d.ts +529 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/VRFConsumerBaseV2Plus.d.ts +109 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/index.d.ts +6 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFCoordinatorV2Plus.d.ts +192 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFMigratableConsumerV2Plus.d.ts +45 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFSubscriptionV2Plus.d.ts +155 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/index.d.ts +3 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/libraries/VRFV2PlusClient.d.ts +25 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/libraries/index.d.ts +1 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/index.d.ts +4 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/mocks/VRFCoordinatorV2_5Mock.d.ts +731 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/mocks/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/access/Ownable2Step.d.ts +77 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/access/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.d.ts +231 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC2981.d.ts +49 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +2 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/index.d.ts +0 -1
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/Errors.d.ts +20 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/cryptography/MerkleProof.d.ts +20 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/cryptography/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/math/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/core/collectors/FeeCollector.d.ts +30 -1
- package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/IWETH10Minimal.d.ts +53 -0
- package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.d.ts +115 -0
- package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/collectors/Treasury.d.ts +15 -1
- package/dist/types/typechain-types/contracts/core/collectors/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +616 -142
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +396 -108
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +623 -0
- package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +609 -155
- package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +610 -156
- package/dist/types/typechain-types/contracts/core/governance/gauges/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/core/governance/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/core/governance/proposals/Governance.d.ts +45 -67
- package/dist/types/typechain-types/contracts/core/index.d.ts +4 -0
- package/dist/types/typechain-types/contracts/core/lockers/LLamaTemple.d.ts +721 -0
- package/dist/types/typechain-types/contracts/core/lockers/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/core/minters/RAACMinter/RAACMinter.d.ts +69 -12
- package/dist/types/typechain-types/contracts/core/oracles/BaseChainlinkFunctionsOracle.d.ts +22 -4
- package/dist/types/typechain-types/contracts/core/oracles/BaseVRFv2Consumer.d.ts +40 -2
- package/dist/types/typechain-types/contracts/core/oracles/RAACHousePriceOracle.d.ts +41 -8
- package/dist/types/typechain-types/contracts/core/oracles/RAACPrimeRateOracle.d.ts +39 -7
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.d.ts +232 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/IERC20Adapter.d.ts +25 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/IPriceOracle.d.ts +25 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.d.ts +254 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/IPriceOracle.d.ts +29 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +689 -213
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +440 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +538 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +485 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/index.d.ts +7 -0
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationStrategyProxy.d.ts +158 -0
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationSwap.d.ts +124 -0
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPool.d.ts +135 -79
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPoolStorage.d.ts +140 -0
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/index.d.ts +3 -1
- package/dist/types/typechain-types/contracts/core/primitives/ComplianceRegistry.d.ts +203 -0
- package/dist/types/typechain-types/contracts/core/primitives/RAACHousePrices.d.ts +23 -1
- package/dist/types/typechain-types/contracts/core/primitives/WithCompliance.d.ts +25 -0
- package/dist/types/typechain-types/contracts/core/primitives/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/tokens/DebtToken.d.ts +8 -8
- package/dist/types/typechain-types/contracts/core/tokens/RAACNFT.d.ts +94 -11
- package/dist/types/typechain-types/contracts/core/tokens/RToken.d.ts +1 -17
- package/dist/types/typechain-types/contracts/core/tokens/RWAIndexToken.d.ts +264 -0
- package/dist/types/typechain-types/contracts/core/tokens/VeRAACToken.d.ts +433 -172
- package/dist/types/typechain-types/contracts/core/tokens/index.d.ts +1 -1
- package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.d.ts +174 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.sol/IPriceOracle.d.ts +25 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.d.ts +178 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.sol/IPriceOracle.d.ts +29 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/vaults/RWAVault.d.ts +511 -0
- package/dist/types/typechain-types/contracts/core/vaults/index.d.ts +5 -0
- package/dist/types/typechain-types/contracts/interfaces/IComplianceRegistry.d.ts +63 -0
- package/dist/types/typechain-types/contracts/interfaces/INFTLiquidator.d.ts +190 -23
- package/dist/types/typechain-types/contracts/interfaces/INFTWhitelist.d.ts +75 -0
- package/dist/types/typechain-types/contracts/interfaces/core/collectors/IFeeCollector.d.ts +9 -0
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +527 -0
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +222 -40
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor.d.ts +351 -0
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/index.d.ts +2 -1
- package/dist/types/typechain-types/contracts/interfaces/core/governance/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/interfaces/core/governance/proposals/IGovernance.d.ts +45 -67
- package/dist/types/typechain-types/contracts/interfaces/core/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/core/lockers/ILLamaLocker.d.ts +332 -0
- package/dist/types/typechain-types/contracts/interfaces/core/lockers/ILLamaTemple.d.ts +302 -0
- package/dist/types/typechain-types/contracts/interfaces/core/lockers/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinter.d.ts +30 -1
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinterRewardsReceiver.d.ts +49 -0
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IBaseVRFv2Consumer.d.ts +5 -1
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.d.ts +31 -24
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/IAssetAdapter.d.ts +143 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/IERC721Adapter.d.ts +51 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +330 -150
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage.d.ts +102 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/index.d.ts +3 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap.d.ts +51 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/IStabilityPool.d.ts +19 -64
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/IStabilityPoolStorage.d.ts +49 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +6 -6
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACNFT.d.ts +70 -7
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IVaultToken.d.ts +197 -0
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IveRAACToken.d.ts +295 -36
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/IBaseHybridVault.d.ts +208 -0
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/IVaultAssetAdapter.d.ts +89 -0
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/curve/ICurveLiquidityGaugeV5.d.ts +357 -0
- package/dist/types/typechain-types/contracts/interfaces/curve/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/index.d.ts +2 -4
- package/dist/types/typechain-types/contracts/interfaces/zeno/IAuction.d.ts +18 -3
- package/dist/types/typechain-types/contracts/interfaces/zeno/IZENO.d.ts +31 -1
- package/dist/types/typechain-types/contracts/libraries/governance/LockManager.d.ts +9 -2
- package/dist/types/typechain-types/contracts/libraries/governance/PowerCheckpoint.d.ts +34 -1
- package/dist/types/typechain-types/contracts/libraries/governance/index.d.ts +0 -3
- package/dist/types/typechain-types/contracts/libraries/math/TimeWeightedAverage.d.ts +1 -25
- package/dist/types/typechain-types/contracts/mocks/core/collectors/MockWETH.d.ts +225 -0
- package/dist/types/typechain-types/contracts/mocks/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock.d.ts +56 -0
- package/dist/types/typechain-types/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/ILiquidityGauge.d.ts +35 -0
- package/dist/types/typechain-types/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/curve/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/MockGaugeController.d.ts +2 -6
- package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/mocks/core/index.d.ts +4 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker.d.ts +394 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/LLamaLocker.sol/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/IPriceOracle.d.ts +25 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/MockERC20PriceOracle.d.ts +33 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter.d.ts +2 -2
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockVRFCoordinatorV2.d.ts +349 -148
- package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACHousePriceOracle.d.ts +41 -8
- package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACPrimeRateOracle.d.ts +39 -7
- package/dist/types/typechain-types/contracts/mocks/core/oracles/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +328 -140
- package/dist/types/typechain-types/contracts/mocks/core/tokens/MockFeeCollectorToken.d.ts +1 -5
- package/dist/types/typechain-types/contracts/mocks/core/tokens/MockToken.d.ts +1 -5
- package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/BoostCalculatorMock.d.ts +68 -139
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/LockManagerMock.d.ts +19 -9
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/PowerCheckpointMock.d.ts +37 -18
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/index.d.ts +0 -3
- package/dist/types/typechain-types/contracts/mocks/tests/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/zeno/Auction.d.ts +37 -8
- package/dist/types/typechain-types/contracts/zeno/ZENO.d.ts +62 -6
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/functions/v1_0_0/libraries/FunctionsRequest__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface__factory.d.ts +93 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/interfaces/IERC677Receiver__factory.d.ts +25 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/interfaces/LinkTokenInterface__factory.d.ts +191 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/interfaces/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/SubscriptionAPI__factory.d.ts +663 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/VRFConsumerBaseV2Plus__factory.d.ts +139 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/index.d.ts +4 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFCoordinatorV2Plus__factory.d.ts +194 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFMigratableConsumerV2Plus__factory.d.ts +27 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFSubscriptionV2Plus__factory.d.ts +155 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/libraries/VRFV2PlusClient__factory.d.ts +32 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/libraries/index.d.ts +1 -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/mocks/VRFCoordinatorV2_5Mock__factory.d.ts +944 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/mocks/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/access/Ownable2Step__factory.d.ts +95 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/access/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.d.ts +289 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC2981__factory.d.ts +43 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -13
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +50 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +9 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.d.ts +26 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +65 -21
- package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/IWETH10Minimal__factory.d.ts +49 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector__factory.d.ts +177 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/Treasury__factory.d.ts +15 -1
- package/dist/types/typechain-types/factories/contracts/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/governance/boost/BoostController__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +698 -144
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +461 -137
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +848 -0
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +686 -162
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +689 -155
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/governance/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/proposals/Governance__factory.d.ts +42 -80
- package/dist/types/typechain-types/factories/contracts/core/governance/proposals/TimelockController__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/lockers/LLamaTemple__factory.d.ts +1028 -0
- package/dist/types/typechain-types/factories/contracts/core/lockers/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +66 -25
- package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +5 -1
- package/dist/types/typechain-types/factories/contracts/core/oracles/BaseChainlinkFunctionsOracle__factory.d.ts +37 -1
- package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +90 -6
- package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +64 -9
- package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +49 -3
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter__factory.d.ts +369 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/IERC20Adapter__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/IPriceOracle__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter__factory.d.ts +393 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/IPriceOracle__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +578 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +863 -338
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +716 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +636 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/index.d.ts +5 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +281 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationSwap__factory.d.ts +227 -0
- 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/StabilityPoolStorage__factory.d.ts +255 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +151 -85
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/index.d.ts +3 -1
- package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry__factory.d.ts +276 -0
- package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +29 -1
- package/dist/types/typechain-types/factories/contracts/core/primitives/WithCompliance__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/contracts/core/primitives/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/tokens/DEToken__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +8 -8
- package/dist/types/typechain-types/factories/contracts/core/tokens/IndexToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/LPToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +124 -31
- 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 +1 -61
- package/dist/types/typechain-types/factories/contracts/core/tokens/RWAIndexToken__factory.d.ts +465 -0
- package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +446 -186
- package/dist/types/typechain-types/factories/contracts/core/tokens/index.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter__factory.d.ts +285 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter.sol/IPriceOracle__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter__factory.d.ts +287 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/IPriceOracle__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/RWAVault__factory.d.ts +808 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/IComplianceRegistry__factory.d.ts +67 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/INFTLiquidator__factory.d.ts +213 -6
- package/dist/types/typechain-types/factories/contracts/interfaces/INFTWhitelist__factory.d.ts +77 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IFeeCollector__factory.d.ts +32 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +643 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +239 -65
- package/dist/types/typechain-types/factories/{@openzeppelin/contracts/token/ERC721/extensions/ERC721Wrapper__factory.d.ts → contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor__factory.d.ts} +209 -201
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/index.d.ts +2 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/proposals/IGovernance__factory.d.ts +41 -79
- package/dist/types/typechain-types/factories/contracts/interfaces/core/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/ILLamaLocker__factory.d.ts +390 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/ILLamaTemple__factory.d.ts +390 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinterRewardsReceiver__factory.d.ts +35 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinter__factory.d.ts +33 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/index.d.ts +1 -0
- 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 +14 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices__factory.d.ts +24 -29
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/IAssetAdapter__factory.d.ts +189 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/IERC721Adapter__factory.d.ts +53 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage__factory.d.ts +183 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +398 -143
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap__factory.d.ts +53 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/IStabilityPoolStorage__factory.d.ts +56 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/IStabilityPool__factory.d.ts +26 -75
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +6 -6
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACNFT__factory.d.ts +79 -4
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IVaultToken__factory.d.ts +223 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IveRAACToken__factory.d.ts +355 -29
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IBaseHybridVault__factory.d.ts +256 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IVaultAssetAdapter__factory.d.ts +119 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/curve/ICurveLiquidityGaugeV5__factory.d.ts +503 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/curve/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/index.d.ts +2 -4
- package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IAuction__factory.d.ts +44 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IZENO__factory.d.ts +42 -0
- package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/Checkpoints__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +10 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +47 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/RAACVoting__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/VotingPowerLib__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/index.d.ts +0 -3
- package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -29
- package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/utils/StringUtils__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockTreasury__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockWETH__factory.d.ts +353 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock__factory.d.ts +65 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/ILiquidityGauge__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockBaseGauge__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeController__factory.d.ts +1 -15
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker__factory.d.ts +591 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/IPriceOracle__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/MockERC20PriceOracle__factory.d.ts +42 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter__factory.d.ts +2 -2
- 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 +490 -166
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +67 -12
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +49 -3
- 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 +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +397 -132
- 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 +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockPool__factory.d.ts +1 -1
- 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/primitives/MockContractWithConfig__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContract__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/RAACHousePricesMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC20Mock__factory.d.ts +8 -4
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC721Mock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeCollectorToken__factory.d.ts +1 -15
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockToken__factory.d.ts +1 -15
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockUSDC__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockVeToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/RAACMockERC20__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +53 -122
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/CheckpointsMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/LockManagerMock__factory.d.ts +21 -12
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +39 -14
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RAACVotingMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/VotingPowerMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/index.d.ts +0 -3
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/WadRayMathMock__factory.d.ts +1 -1
- 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/MaliciousDeposit__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousWithdraw__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/contracts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/tests/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +5 -1
- package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +83 -14
- package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +13 -1
- package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +87 -31
- package/dist/types/typechain-types/index.d.ts +112 -42
- package/dist/types/utils/artifacts.d.ts +1733 -26
- package/dist/types/wallet/assets/approveNFT.d.ts +0 -0
- package/dist/types/wallet/assets/getAllowance.d.ts +1 -1
- package/dist/types/wallet/assets/getBalance.d.ts +5 -1
- package/dist/utils/artifacts.js +18 -5
- package/dist/wallet/assets/approveAsset.js +2 -6
- package/dist/wallet/assets/approveNFT.js +0 -0
- package/dist/wallet/assets/burnAsset.js +0 -6
- package/dist/wallet/assets/getAllowance.js +3 -3
- package/dist/wallet/assets/getBalance.js +20 -6
- package/dist/wallet/assets/mintAsset.js +1 -6
- package/dist/wallet/assets/transferAsset.js +0 -7
- package/package.json +2 -2
- package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.json +0 -770
- package/dist/contracts/indexToken/getNextRandomNFT.js +0 -30
- package/dist/contracts/indexToken/redeemNFT.js +0 -39
- package/dist/pools/lendingPool/claimReward.js +0 -22
- package/dist/pools/lendingPool/depositNFTToLendingPool.js +0 -50
- package/dist/pools/lendingPool/getAllUserData.js +0 -28
- package/dist/pools/lendingPool/getPendingReward.js +0 -20
- package/dist/pools/lendingPool/withdrawNFTFromLendingPool.js +0 -24
- package/dist/pools/stabilityPool/calculateRAACRewards.js +0 -21
- package/dist/pools/stabilityPool/depositNFTToStabilityPool.js +0 -40
- package/dist/types/contracts/indexToken/getNextRandomNFT.d.ts +0 -7
- package/dist/types/contracts/indexToken/redeemNFT.d.ts +0 -4
- package/dist/types/pools/lendingPool/claimReward.d.ts +0 -4
- package/dist/types/pools/lendingPool/depositNFTToLendingPool.d.ts +0 -4
- package/dist/types/pools/lendingPool/getAllUserData.d.ts +0 -16
- package/dist/types/pools/lendingPool/getPendingReward.d.ts +0 -4
- package/dist/types/pools/lendingPool/withdrawNFTFromLendingPool.d.ts +0 -4
- package/dist/types/pools/stabilityPool/calculateRAACRewards.d.ts +0 -4
- package/dist/types/pools/stabilityPool/depositNFTToStabilityPool.d.ts +0 -4
- package/dist/types/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/ERC721Wrapper.d.ts +0 -261
|
@@ -22,18 +22,28 @@
|
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"internalType": "address",
|
|
25
|
-
"name": "
|
|
25
|
+
"name": "_liquidationProxyAddress",
|
|
26
26
|
"type": "address"
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
"internalType": "address",
|
|
30
|
-
"name": "
|
|
30
|
+
"name": "_vaultProxy",
|
|
31
|
+
"type": "address"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"internalType": "address",
|
|
35
|
+
"name": "_complianceRegistry",
|
|
31
36
|
"type": "address"
|
|
32
37
|
},
|
|
33
38
|
{
|
|
34
39
|
"internalType": "uint256",
|
|
35
40
|
"name": "_initialPrimeRate",
|
|
36
41
|
"type": "uint256"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"internalType": "address",
|
|
45
|
+
"name": "_admin",
|
|
46
|
+
"type": "address"
|
|
37
47
|
}
|
|
38
48
|
],
|
|
39
49
|
"stateMutability": "nonpayable",
|
|
@@ -41,29 +51,63 @@
|
|
|
41
51
|
},
|
|
42
52
|
{
|
|
43
53
|
"inputs": [],
|
|
44
|
-
"name": "
|
|
54
|
+
"name": "AccessControlBadConfirmation",
|
|
45
55
|
"type": "error"
|
|
46
56
|
},
|
|
47
57
|
{
|
|
48
58
|
"inputs": [
|
|
49
59
|
{
|
|
50
60
|
"internalType": "address",
|
|
51
|
-
"name": "
|
|
61
|
+
"name": "account",
|
|
52
62
|
"type": "address"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"internalType": "bytes32",
|
|
66
|
+
"name": "neededRole",
|
|
67
|
+
"type": "bytes32"
|
|
53
68
|
}
|
|
54
69
|
],
|
|
55
|
-
"name": "
|
|
70
|
+
"name": "AccessControlUnauthorizedAccount",
|
|
56
71
|
"type": "error"
|
|
57
72
|
},
|
|
58
73
|
{
|
|
59
|
-
"inputs": [
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
74
|
+
"inputs": [],
|
|
75
|
+
"name": "AccessDenied",
|
|
76
|
+
"type": "error"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"inputs": [],
|
|
80
|
+
"name": "AdapterAlreadySupported",
|
|
81
|
+
"type": "error"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"inputs": [],
|
|
85
|
+
"name": "AdapterNotSupported",
|
|
86
|
+
"type": "error"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"inputs": [],
|
|
90
|
+
"name": "AddressCannotBeZero",
|
|
91
|
+
"type": "error"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"inputs": [],
|
|
95
|
+
"name": "AmountDifferentThanRequested",
|
|
96
|
+
"type": "error"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"inputs": [],
|
|
100
|
+
"name": "ApprovalFailed",
|
|
101
|
+
"type": "error"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"inputs": [],
|
|
105
|
+
"name": "BlacklistedAddress",
|
|
106
|
+
"type": "error"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"inputs": [],
|
|
110
|
+
"name": "BorrowCapReached",
|
|
67
111
|
"type": "error"
|
|
68
112
|
},
|
|
69
113
|
{
|
|
@@ -83,22 +127,27 @@
|
|
|
83
127
|
},
|
|
84
128
|
{
|
|
85
129
|
"inputs": [],
|
|
86
|
-
"name": "
|
|
130
|
+
"name": "CapExceedSupply",
|
|
87
131
|
"type": "error"
|
|
88
132
|
},
|
|
89
133
|
{
|
|
90
134
|
"inputs": [],
|
|
91
|
-
"name": "
|
|
135
|
+
"name": "CapZero",
|
|
92
136
|
"type": "error"
|
|
93
137
|
},
|
|
94
138
|
{
|
|
95
139
|
"inputs": [],
|
|
96
|
-
"name": "
|
|
140
|
+
"name": "DebtNotZero",
|
|
141
|
+
"type": "error"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"inputs": [],
|
|
145
|
+
"name": "EnforcedPause",
|
|
97
146
|
"type": "error"
|
|
98
147
|
},
|
|
99
148
|
{
|
|
100
149
|
"inputs": [],
|
|
101
|
-
"name": "
|
|
150
|
+
"name": "ExpectedPause",
|
|
102
151
|
"type": "error"
|
|
103
152
|
},
|
|
104
153
|
{
|
|
@@ -131,6 +180,11 @@
|
|
|
131
180
|
"name": "InsufficientLiquidity",
|
|
132
181
|
"type": "error"
|
|
133
182
|
},
|
|
183
|
+
{
|
|
184
|
+
"inputs": [],
|
|
185
|
+
"name": "InsufficientLiquidityAfterWithdrawal",
|
|
186
|
+
"type": "error"
|
|
187
|
+
},
|
|
134
188
|
{
|
|
135
189
|
"inputs": [],
|
|
136
190
|
"name": "InvalidAmount",
|
|
@@ -141,6 +195,16 @@
|
|
|
141
195
|
"name": "InvalidAmount",
|
|
142
196
|
"type": "error"
|
|
143
197
|
},
|
|
198
|
+
{
|
|
199
|
+
"inputs": [],
|
|
200
|
+
"name": "InvalidBoolean",
|
|
201
|
+
"type": "error"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"inputs": [],
|
|
205
|
+
"name": "InvalidGracePeriod",
|
|
206
|
+
"type": "error"
|
|
207
|
+
},
|
|
144
208
|
{
|
|
145
209
|
"inputs": [],
|
|
146
210
|
"name": "InvalidInterestRateMode",
|
|
@@ -161,6 +225,11 @@
|
|
|
161
225
|
"name": "InvalidParameter",
|
|
162
226
|
"type": "error"
|
|
163
227
|
},
|
|
228
|
+
{
|
|
229
|
+
"inputs": [],
|
|
230
|
+
"name": "InvalidPercentage",
|
|
231
|
+
"type": "error"
|
|
232
|
+
},
|
|
164
233
|
{
|
|
165
234
|
"inputs": [],
|
|
166
235
|
"name": "InvalidVaultAsset",
|
|
@@ -183,22 +252,22 @@
|
|
|
183
252
|
},
|
|
184
253
|
{
|
|
185
254
|
"inputs": [],
|
|
186
|
-
"name": "
|
|
255
|
+
"name": "NoActiveRewardToken",
|
|
187
256
|
"type": "error"
|
|
188
257
|
},
|
|
189
258
|
{
|
|
190
259
|
"inputs": [],
|
|
191
|
-
"name": "
|
|
260
|
+
"name": "NoCollateral",
|
|
192
261
|
"type": "error"
|
|
193
262
|
},
|
|
194
263
|
{
|
|
195
264
|
"inputs": [],
|
|
196
|
-
"name": "
|
|
265
|
+
"name": "NoDeposits",
|
|
197
266
|
"type": "error"
|
|
198
267
|
},
|
|
199
268
|
{
|
|
200
269
|
"inputs": [],
|
|
201
|
-
"name": "
|
|
270
|
+
"name": "NoPendingWithdraw",
|
|
202
271
|
"type": "error"
|
|
203
272
|
},
|
|
204
273
|
{
|
|
@@ -206,11 +275,26 @@
|
|
|
206
275
|
"name": "NoRewardsToClaim",
|
|
207
276
|
"type": "error"
|
|
208
277
|
},
|
|
278
|
+
{
|
|
279
|
+
"inputs": [],
|
|
280
|
+
"name": "NoVaultSet",
|
|
281
|
+
"type": "error"
|
|
282
|
+
},
|
|
209
283
|
{
|
|
210
284
|
"inputs": [],
|
|
211
285
|
"name": "NotEnoughCollateralToBorrow",
|
|
212
286
|
"type": "error"
|
|
213
287
|
},
|
|
288
|
+
{
|
|
289
|
+
"inputs": [],
|
|
290
|
+
"name": "NotEnoughLiquidity",
|
|
291
|
+
"type": "error"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"inputs": [],
|
|
295
|
+
"name": "NotInsured",
|
|
296
|
+
"type": "error"
|
|
297
|
+
},
|
|
214
298
|
{
|
|
215
299
|
"inputs": [],
|
|
216
300
|
"name": "NotOwnerOfNFT",
|
|
@@ -310,6 +394,21 @@
|
|
|
310
394
|
"name": "StalePrice",
|
|
311
395
|
"type": "error"
|
|
312
396
|
},
|
|
397
|
+
{
|
|
398
|
+
"inputs": [],
|
|
399
|
+
"name": "SupplyCapReached",
|
|
400
|
+
"type": "error"
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"inputs": [],
|
|
404
|
+
"name": "TimelockDisabled",
|
|
405
|
+
"type": "error"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"inputs": [],
|
|
409
|
+
"name": "TimelockNotExpired",
|
|
410
|
+
"type": "error"
|
|
411
|
+
},
|
|
313
412
|
{
|
|
314
413
|
"inputs": [],
|
|
315
414
|
"name": "TransferFailed",
|
|
@@ -325,6 +424,16 @@
|
|
|
325
424
|
"name": "UserAlreadyUnderLiquidation",
|
|
326
425
|
"type": "error"
|
|
327
426
|
},
|
|
427
|
+
{
|
|
428
|
+
"inputs": [],
|
|
429
|
+
"name": "VaultPositionAlreadyOpened",
|
|
430
|
+
"type": "error"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"inputs": [],
|
|
434
|
+
"name": "VaultPositionNotOpened",
|
|
435
|
+
"type": "error"
|
|
436
|
+
},
|
|
328
437
|
{
|
|
329
438
|
"inputs": [],
|
|
330
439
|
"name": "WithdrawalWouldLeaveUserUnderCollateralized",
|
|
@@ -335,6 +444,32 @@
|
|
|
335
444
|
"name": "WithdrawalsArePaused",
|
|
336
445
|
"type": "error"
|
|
337
446
|
},
|
|
447
|
+
{
|
|
448
|
+
"anonymous": false,
|
|
449
|
+
"inputs": [
|
|
450
|
+
{
|
|
451
|
+
"indexed": false,
|
|
452
|
+
"internalType": "address",
|
|
453
|
+
"name": "adapter",
|
|
454
|
+
"type": "address"
|
|
455
|
+
}
|
|
456
|
+
],
|
|
457
|
+
"name": "AdapterRegistered",
|
|
458
|
+
"type": "event"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"anonymous": false,
|
|
462
|
+
"inputs": [
|
|
463
|
+
{
|
|
464
|
+
"indexed": false,
|
|
465
|
+
"internalType": "address",
|
|
466
|
+
"name": "adapter",
|
|
467
|
+
"type": "address"
|
|
468
|
+
}
|
|
469
|
+
],
|
|
470
|
+
"name": "AdapterRemoved",
|
|
471
|
+
"type": "event"
|
|
472
|
+
},
|
|
338
473
|
{
|
|
339
474
|
"anonymous": false,
|
|
340
475
|
"inputs": [
|
|
@@ -354,6 +489,25 @@
|
|
|
354
489
|
"name": "Borrow",
|
|
355
490
|
"type": "event"
|
|
356
491
|
},
|
|
492
|
+
{
|
|
493
|
+
"anonymous": false,
|
|
494
|
+
"inputs": [
|
|
495
|
+
{
|
|
496
|
+
"indexed": false,
|
|
497
|
+
"internalType": "uint256",
|
|
498
|
+
"name": "oldalue",
|
|
499
|
+
"type": "uint256"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"indexed": false,
|
|
503
|
+
"internalType": "uint256",
|
|
504
|
+
"name": "newValue",
|
|
505
|
+
"type": "uint256"
|
|
506
|
+
}
|
|
507
|
+
],
|
|
508
|
+
"name": "BorrowCapUpdated",
|
|
509
|
+
"type": "event"
|
|
510
|
+
},
|
|
357
511
|
{
|
|
358
512
|
"anonymous": false,
|
|
359
513
|
"inputs": [
|
|
@@ -485,9 +639,21 @@
|
|
|
485
639
|
"inputs": [
|
|
486
640
|
{
|
|
487
641
|
"indexed": true,
|
|
488
|
-
"internalType": "
|
|
489
|
-
"name": "
|
|
490
|
-
"type": "
|
|
642
|
+
"internalType": "address",
|
|
643
|
+
"name": "asset",
|
|
644
|
+
"type": "address"
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"indexed": false,
|
|
648
|
+
"internalType": "address",
|
|
649
|
+
"name": "user",
|
|
650
|
+
"type": "address"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"indexed": false,
|
|
654
|
+
"internalType": "bytes",
|
|
655
|
+
"name": "data",
|
|
656
|
+
"type": "bytes"
|
|
491
657
|
},
|
|
492
658
|
{
|
|
493
659
|
"indexed": false,
|
|
@@ -496,7 +662,7 @@
|
|
|
496
662
|
"type": "uint256"
|
|
497
663
|
}
|
|
498
664
|
],
|
|
499
|
-
"name": "
|
|
665
|
+
"name": "InsuredAsset",
|
|
500
666
|
"type": "event"
|
|
501
667
|
},
|
|
502
668
|
{
|
|
@@ -559,10 +725,16 @@
|
|
|
559
725
|
"type": "address"
|
|
560
726
|
},
|
|
561
727
|
{
|
|
562
|
-
"indexed":
|
|
563
|
-
"internalType": "
|
|
564
|
-
"name": "
|
|
565
|
-
"type": "
|
|
728
|
+
"indexed": false,
|
|
729
|
+
"internalType": "address",
|
|
730
|
+
"name": "adapter",
|
|
731
|
+
"type": "address"
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"indexed": false,
|
|
735
|
+
"internalType": "bytes",
|
|
736
|
+
"name": "data",
|
|
737
|
+
"type": "bytes"
|
|
566
738
|
}
|
|
567
739
|
],
|
|
568
740
|
"name": "LiquidationClosed",
|
|
@@ -584,10 +756,16 @@
|
|
|
584
756
|
"type": "address"
|
|
585
757
|
},
|
|
586
758
|
{
|
|
587
|
-
"indexed":
|
|
588
|
-
"internalType": "
|
|
589
|
-
"name": "
|
|
590
|
-
"type": "
|
|
759
|
+
"indexed": false,
|
|
760
|
+
"internalType": "address",
|
|
761
|
+
"name": "adapter",
|
|
762
|
+
"type": "address"
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
"indexed": false,
|
|
766
|
+
"internalType": "bytes",
|
|
767
|
+
"name": "data",
|
|
768
|
+
"type": "bytes"
|
|
591
769
|
},
|
|
592
770
|
{
|
|
593
771
|
"indexed": false,
|
|
@@ -621,10 +799,16 @@
|
|
|
621
799
|
"type": "address"
|
|
622
800
|
},
|
|
623
801
|
{
|
|
624
|
-
"indexed":
|
|
625
|
-
"internalType": "
|
|
626
|
-
"name": "
|
|
627
|
-
"type": "
|
|
802
|
+
"indexed": false,
|
|
803
|
+
"internalType": "address",
|
|
804
|
+
"name": "adapter",
|
|
805
|
+
"type": "address"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"indexed": false,
|
|
809
|
+
"internalType": "bytes",
|
|
810
|
+
"name": "data",
|
|
811
|
+
"type": "bytes"
|
|
628
812
|
}
|
|
629
813
|
],
|
|
630
814
|
"name": "LiquidationInitiated",
|
|
@@ -655,6 +839,25 @@
|
|
|
655
839
|
"name": "LiquidationParametersUpdated",
|
|
656
840
|
"type": "event"
|
|
657
841
|
},
|
|
842
|
+
{
|
|
843
|
+
"anonymous": false,
|
|
844
|
+
"inputs": [
|
|
845
|
+
{
|
|
846
|
+
"indexed": true,
|
|
847
|
+
"internalType": "address",
|
|
848
|
+
"name": "oldLiquidationProxy",
|
|
849
|
+
"type": "address"
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"indexed": true,
|
|
853
|
+
"internalType": "address",
|
|
854
|
+
"name": "newLiquidationProxy",
|
|
855
|
+
"type": "address"
|
|
856
|
+
}
|
|
857
|
+
],
|
|
858
|
+
"name": "LiquidationProxyUpdated",
|
|
859
|
+
"type": "event"
|
|
860
|
+
},
|
|
658
861
|
{
|
|
659
862
|
"anonymous": false,
|
|
660
863
|
"inputs": [
|
|
@@ -756,6 +959,31 @@
|
|
|
756
959
|
"name": "OwnershipTransferred",
|
|
757
960
|
"type": "event"
|
|
758
961
|
},
|
|
962
|
+
{
|
|
963
|
+
"anonymous": false,
|
|
964
|
+
"inputs": [
|
|
965
|
+
{
|
|
966
|
+
"indexed": false,
|
|
967
|
+
"internalType": "enum ILendingPool.OwnerParameter",
|
|
968
|
+
"name": "parameter",
|
|
969
|
+
"type": "uint8"
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"indexed": false,
|
|
973
|
+
"internalType": "uint256",
|
|
974
|
+
"name": "oldalue",
|
|
975
|
+
"type": "uint256"
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
"indexed": false,
|
|
979
|
+
"internalType": "uint256",
|
|
980
|
+
"name": "newValue",
|
|
981
|
+
"type": "uint256"
|
|
982
|
+
}
|
|
983
|
+
],
|
|
984
|
+
"name": "ParameterChanged",
|
|
985
|
+
"type": "event"
|
|
986
|
+
},
|
|
759
987
|
{
|
|
760
988
|
"anonymous": false,
|
|
761
989
|
"inputs": [
|
|
@@ -1007,33 +1235,165 @@
|
|
|
1007
1235
|
"inputs": [
|
|
1008
1236
|
{
|
|
1009
1237
|
"indexed": true,
|
|
1010
|
-
"internalType": "
|
|
1011
|
-
"name": "
|
|
1012
|
-
"type": "
|
|
1238
|
+
"internalType": "bytes32",
|
|
1239
|
+
"name": "role",
|
|
1240
|
+
"type": "bytes32"
|
|
1013
1241
|
},
|
|
1014
1242
|
{
|
|
1015
1243
|
"indexed": true,
|
|
1016
|
-
"internalType": "
|
|
1017
|
-
"name": "
|
|
1018
|
-
"type": "
|
|
1244
|
+
"internalType": "bytes32",
|
|
1245
|
+
"name": "previousAdminRole",
|
|
1246
|
+
"type": "bytes32"
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"indexed": true,
|
|
1250
|
+
"internalType": "bytes32",
|
|
1251
|
+
"name": "newAdminRole",
|
|
1252
|
+
"type": "bytes32"
|
|
1019
1253
|
}
|
|
1020
1254
|
],
|
|
1021
|
-
"name": "
|
|
1255
|
+
"name": "RoleAdminChanged",
|
|
1022
1256
|
"type": "event"
|
|
1023
1257
|
},
|
|
1024
1258
|
{
|
|
1025
1259
|
"anonymous": false,
|
|
1026
1260
|
"inputs": [
|
|
1027
1261
|
{
|
|
1028
|
-
"indexed":
|
|
1029
|
-
"internalType": "
|
|
1030
|
-
"name": "
|
|
1031
|
-
"type": "
|
|
1262
|
+
"indexed": true,
|
|
1263
|
+
"internalType": "bytes32",
|
|
1264
|
+
"name": "role",
|
|
1265
|
+
"type": "bytes32"
|
|
1266
|
+
},
|
|
1267
|
+
{
|
|
1268
|
+
"indexed": true,
|
|
1269
|
+
"internalType": "address",
|
|
1270
|
+
"name": "account",
|
|
1271
|
+
"type": "address"
|
|
1272
|
+
},
|
|
1273
|
+
{
|
|
1274
|
+
"indexed": true,
|
|
1275
|
+
"internalType": "address",
|
|
1276
|
+
"name": "sender",
|
|
1277
|
+
"type": "address"
|
|
1278
|
+
}
|
|
1279
|
+
],
|
|
1280
|
+
"name": "RoleGranted",
|
|
1281
|
+
"type": "event"
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
"anonymous": false,
|
|
1285
|
+
"inputs": [
|
|
1286
|
+
{
|
|
1287
|
+
"indexed": true,
|
|
1288
|
+
"internalType": "bytes32",
|
|
1289
|
+
"name": "role",
|
|
1290
|
+
"type": "bytes32"
|
|
1291
|
+
},
|
|
1292
|
+
{
|
|
1293
|
+
"indexed": true,
|
|
1294
|
+
"internalType": "address",
|
|
1295
|
+
"name": "account",
|
|
1296
|
+
"type": "address"
|
|
1297
|
+
},
|
|
1298
|
+
{
|
|
1299
|
+
"indexed": true,
|
|
1300
|
+
"internalType": "address",
|
|
1301
|
+
"name": "sender",
|
|
1302
|
+
"type": "address"
|
|
1303
|
+
}
|
|
1304
|
+
],
|
|
1305
|
+
"name": "RoleRevoked",
|
|
1306
|
+
"type": "event"
|
|
1307
|
+
},
|
|
1308
|
+
{
|
|
1309
|
+
"anonymous": false,
|
|
1310
|
+
"inputs": [
|
|
1311
|
+
{
|
|
1312
|
+
"indexed": true,
|
|
1313
|
+
"internalType": "address",
|
|
1314
|
+
"name": "oldStabilityPool",
|
|
1315
|
+
"type": "address"
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
"indexed": true,
|
|
1319
|
+
"internalType": "address",
|
|
1320
|
+
"name": "newStabilityPool",
|
|
1321
|
+
"type": "address"
|
|
1322
|
+
}
|
|
1323
|
+
],
|
|
1324
|
+
"name": "StabilityPoolUpdated",
|
|
1325
|
+
"type": "event"
|
|
1326
|
+
},
|
|
1327
|
+
{
|
|
1328
|
+
"anonymous": false,
|
|
1329
|
+
"inputs": [
|
|
1330
|
+
{
|
|
1331
|
+
"indexed": false,
|
|
1332
|
+
"internalType": "uint256",
|
|
1333
|
+
"name": "oldalue",
|
|
1334
|
+
"type": "uint256"
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
"indexed": false,
|
|
1338
|
+
"internalType": "uint256",
|
|
1339
|
+
"name": "newValue",
|
|
1340
|
+
"type": "uint256"
|
|
1341
|
+
}
|
|
1342
|
+
],
|
|
1343
|
+
"name": "SupplyCapUpdated",
|
|
1344
|
+
"type": "event"
|
|
1345
|
+
},
|
|
1346
|
+
{
|
|
1347
|
+
"anonymous": false,
|
|
1348
|
+
"inputs": [
|
|
1349
|
+
{
|
|
1350
|
+
"indexed": false,
|
|
1351
|
+
"internalType": "address",
|
|
1352
|
+
"name": "account",
|
|
1353
|
+
"type": "address"
|
|
1032
1354
|
}
|
|
1033
1355
|
],
|
|
1034
1356
|
"name": "Unpaused",
|
|
1035
1357
|
"type": "event"
|
|
1036
1358
|
},
|
|
1359
|
+
{
|
|
1360
|
+
"anonymous": false,
|
|
1361
|
+
"inputs": [
|
|
1362
|
+
{
|
|
1363
|
+
"indexed": false,
|
|
1364
|
+
"internalType": "address",
|
|
1365
|
+
"name": "user",
|
|
1366
|
+
"type": "address"
|
|
1367
|
+
},
|
|
1368
|
+
{
|
|
1369
|
+
"indexed": false,
|
|
1370
|
+
"internalType": "uint256",
|
|
1371
|
+
"name": "fee",
|
|
1372
|
+
"type": "uint256"
|
|
1373
|
+
}
|
|
1374
|
+
],
|
|
1375
|
+
"name": "VaultOpeningFeePaid",
|
|
1376
|
+
"type": "event"
|
|
1377
|
+
},
|
|
1378
|
+
{
|
|
1379
|
+
"anonymous": false,
|
|
1380
|
+
"inputs": [
|
|
1381
|
+
{
|
|
1382
|
+
"indexed": false,
|
|
1383
|
+
"internalType": "uint256",
|
|
1384
|
+
"name": "oldalue",
|
|
1385
|
+
"type": "uint256"
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
"indexed": false,
|
|
1389
|
+
"internalType": "uint256",
|
|
1390
|
+
"name": "newValue",
|
|
1391
|
+
"type": "uint256"
|
|
1392
|
+
}
|
|
1393
|
+
],
|
|
1394
|
+
"name": "VaultOpeningFeeUpdated",
|
|
1395
|
+
"type": "event"
|
|
1396
|
+
},
|
|
1037
1397
|
{
|
|
1038
1398
|
"anonymous": false,
|
|
1039
1399
|
"inputs": [
|
|
@@ -1123,6 +1483,19 @@
|
|
|
1123
1483
|
"name": "Withdraw",
|
|
1124
1484
|
"type": "event"
|
|
1125
1485
|
},
|
|
1486
|
+
{
|
|
1487
|
+
"anonymous": false,
|
|
1488
|
+
"inputs": [
|
|
1489
|
+
{
|
|
1490
|
+
"indexed": true,
|
|
1491
|
+
"internalType": "address",
|
|
1492
|
+
"name": "user",
|
|
1493
|
+
"type": "address"
|
|
1494
|
+
}
|
|
1495
|
+
],
|
|
1496
|
+
"name": "WithdrawCancelled",
|
|
1497
|
+
"type": "event"
|
|
1498
|
+
},
|
|
1126
1499
|
{
|
|
1127
1500
|
"anonymous": false,
|
|
1128
1501
|
"inputs": [
|
|
@@ -1142,6 +1515,50 @@
|
|
|
1142
1515
|
"name": "WithdrawFeeUpdated",
|
|
1143
1516
|
"type": "event"
|
|
1144
1517
|
},
|
|
1518
|
+
{
|
|
1519
|
+
"anonymous": false,
|
|
1520
|
+
"inputs": [
|
|
1521
|
+
{
|
|
1522
|
+
"indexed": true,
|
|
1523
|
+
"internalType": "address",
|
|
1524
|
+
"name": "user",
|
|
1525
|
+
"type": "address"
|
|
1526
|
+
},
|
|
1527
|
+
{
|
|
1528
|
+
"indexed": false,
|
|
1529
|
+
"internalType": "uint256",
|
|
1530
|
+
"name": "amount",
|
|
1531
|
+
"type": "uint256"
|
|
1532
|
+
},
|
|
1533
|
+
{
|
|
1534
|
+
"indexed": false,
|
|
1535
|
+
"internalType": "uint256",
|
|
1536
|
+
"name": "readyAt",
|
|
1537
|
+
"type": "uint256"
|
|
1538
|
+
}
|
|
1539
|
+
],
|
|
1540
|
+
"name": "WithdrawQueued",
|
|
1541
|
+
"type": "event"
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"anonymous": false,
|
|
1545
|
+
"inputs": [
|
|
1546
|
+
{
|
|
1547
|
+
"indexed": false,
|
|
1548
|
+
"internalType": "uint256",
|
|
1549
|
+
"name": "oldValue",
|
|
1550
|
+
"type": "uint256"
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
"indexed": false,
|
|
1554
|
+
"internalType": "uint256",
|
|
1555
|
+
"name": "newValue",
|
|
1556
|
+
"type": "uint256"
|
|
1557
|
+
}
|
|
1558
|
+
],
|
|
1559
|
+
"name": "WithdrawTimelockDurationUpdated",
|
|
1560
|
+
"type": "event"
|
|
1561
|
+
},
|
|
1145
1562
|
{
|
|
1146
1563
|
"anonymous": false,
|
|
1147
1564
|
"inputs": [
|
|
@@ -1194,12 +1611,75 @@
|
|
|
1194
1611
|
"stateMutability": "view",
|
|
1195
1612
|
"type": "function"
|
|
1196
1613
|
},
|
|
1614
|
+
{
|
|
1615
|
+
"inputs": [],
|
|
1616
|
+
"name": "DEFAULT_ADMIN_ROLE",
|
|
1617
|
+
"outputs": [
|
|
1618
|
+
{
|
|
1619
|
+
"internalType": "bytes32",
|
|
1620
|
+
"name": "",
|
|
1621
|
+
"type": "bytes32"
|
|
1622
|
+
}
|
|
1623
|
+
],
|
|
1624
|
+
"stateMutability": "view",
|
|
1625
|
+
"type": "function"
|
|
1626
|
+
},
|
|
1627
|
+
{
|
|
1628
|
+
"inputs": [],
|
|
1629
|
+
"name": "GOVERNANCE_ROLE",
|
|
1630
|
+
"outputs": [
|
|
1631
|
+
{
|
|
1632
|
+
"internalType": "bytes32",
|
|
1633
|
+
"name": "",
|
|
1634
|
+
"type": "bytes32"
|
|
1635
|
+
}
|
|
1636
|
+
],
|
|
1637
|
+
"stateMutability": "view",
|
|
1638
|
+
"type": "function"
|
|
1639
|
+
},
|
|
1640
|
+
{
|
|
1641
|
+
"inputs": [],
|
|
1642
|
+
"name": "PROTOCOL_ROLE",
|
|
1643
|
+
"outputs": [
|
|
1644
|
+
{
|
|
1645
|
+
"internalType": "bytes32",
|
|
1646
|
+
"name": "",
|
|
1647
|
+
"type": "bytes32"
|
|
1648
|
+
}
|
|
1649
|
+
],
|
|
1650
|
+
"stateMutability": "view",
|
|
1651
|
+
"type": "function"
|
|
1652
|
+
},
|
|
1197
1653
|
{
|
|
1198
1654
|
"inputs": [
|
|
1199
1655
|
{
|
|
1200
1656
|
"internalType": "uint256",
|
|
1201
|
-
"name": "
|
|
1657
|
+
"name": "",
|
|
1202
1658
|
"type": "uint256"
|
|
1659
|
+
}
|
|
1660
|
+
],
|
|
1661
|
+
"name": "adapters",
|
|
1662
|
+
"outputs": [
|
|
1663
|
+
{
|
|
1664
|
+
"internalType": "address",
|
|
1665
|
+
"name": "",
|
|
1666
|
+
"type": "address"
|
|
1667
|
+
}
|
|
1668
|
+
],
|
|
1669
|
+
"stateMutability": "view",
|
|
1670
|
+
"type": "function"
|
|
1671
|
+
},
|
|
1672
|
+
{
|
|
1673
|
+
"inputs": [
|
|
1674
|
+
{
|
|
1675
|
+
"internalType": "address",
|
|
1676
|
+
"name": "adapter",
|
|
1677
|
+
"type": "address"
|
|
1678
|
+
},
|
|
1679
|
+
{
|
|
1680
|
+
"internalType": "bytes",
|
|
1681
|
+
"name": "data",
|
|
1682
|
+
"type": "bytes"
|
|
1203
1683
|
},
|
|
1204
1684
|
{
|
|
1205
1685
|
"internalType": "uint256",
|
|
@@ -1215,9 +1695,14 @@
|
|
|
1215
1695
|
{
|
|
1216
1696
|
"inputs": [
|
|
1217
1697
|
{
|
|
1218
|
-
"internalType": "
|
|
1219
|
-
"name": "
|
|
1220
|
-
"type": "
|
|
1698
|
+
"internalType": "address",
|
|
1699
|
+
"name": "adapter",
|
|
1700
|
+
"type": "address"
|
|
1701
|
+
},
|
|
1702
|
+
{
|
|
1703
|
+
"internalType": "bytes",
|
|
1704
|
+
"name": "data",
|
|
1705
|
+
"type": "bytes"
|
|
1221
1706
|
},
|
|
1222
1707
|
{
|
|
1223
1708
|
"internalType": "uint256",
|
|
@@ -1234,13 +1719,18 @@
|
|
|
1234
1719
|
"inputs": [
|
|
1235
1720
|
{
|
|
1236
1721
|
"internalType": "address",
|
|
1237
|
-
"name": "
|
|
1722
|
+
"name": "adapter",
|
|
1238
1723
|
"type": "address"
|
|
1239
1724
|
},
|
|
1240
1725
|
{
|
|
1241
|
-
"internalType": "
|
|
1242
|
-
"name": "
|
|
1243
|
-
"type": "
|
|
1726
|
+
"internalType": "address",
|
|
1727
|
+
"name": "user",
|
|
1728
|
+
"type": "address"
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
"internalType": "bytes",
|
|
1732
|
+
"name": "data",
|
|
1733
|
+
"type": "bytes"
|
|
1244
1734
|
}
|
|
1245
1735
|
],
|
|
1246
1736
|
"name": "calculateHealthFactor",
|
|
@@ -1256,15 +1746,20 @@
|
|
|
1256
1746
|
},
|
|
1257
1747
|
{
|
|
1258
1748
|
"inputs": [
|
|
1749
|
+
{
|
|
1750
|
+
"internalType": "address",
|
|
1751
|
+
"name": "adapter",
|
|
1752
|
+
"type": "address"
|
|
1753
|
+
},
|
|
1259
1754
|
{
|
|
1260
1755
|
"internalType": "address",
|
|
1261
1756
|
"name": "user",
|
|
1262
1757
|
"type": "address"
|
|
1263
1758
|
},
|
|
1264
1759
|
{
|
|
1265
|
-
"internalType": "
|
|
1266
|
-
"name": "
|
|
1267
|
-
"type": "
|
|
1760
|
+
"internalType": "bytes",
|
|
1761
|
+
"name": "data",
|
|
1762
|
+
"type": "bytes"
|
|
1268
1763
|
},
|
|
1269
1764
|
{
|
|
1270
1765
|
"internalType": "uint256",
|
|
@@ -1283,19 +1778,6 @@
|
|
|
1283
1778
|
"stateMutability": "view",
|
|
1284
1779
|
"type": "function"
|
|
1285
1780
|
},
|
|
1286
|
-
{
|
|
1287
|
-
"inputs": [],
|
|
1288
|
-
"name": "canPaybackDebt",
|
|
1289
|
-
"outputs": [
|
|
1290
|
-
{
|
|
1291
|
-
"internalType": "bool",
|
|
1292
|
-
"name": "",
|
|
1293
|
-
"type": "bool"
|
|
1294
|
-
}
|
|
1295
|
-
],
|
|
1296
|
-
"stateMutability": "view",
|
|
1297
|
-
"type": "function"
|
|
1298
|
-
},
|
|
1299
1781
|
{
|
|
1300
1782
|
"inputs": [],
|
|
1301
1783
|
"name": "claimCollectorRewards",
|
|
@@ -1325,9 +1807,14 @@
|
|
|
1325
1807
|
{
|
|
1326
1808
|
"inputs": [
|
|
1327
1809
|
{
|
|
1328
|
-
"internalType": "
|
|
1329
|
-
"name": "
|
|
1330
|
-
"type": "
|
|
1810
|
+
"internalType": "address",
|
|
1811
|
+
"name": "adapter",
|
|
1812
|
+
"type": "address"
|
|
1813
|
+
},
|
|
1814
|
+
{
|
|
1815
|
+
"internalType": "bytes",
|
|
1816
|
+
"name": "data",
|
|
1817
|
+
"type": "bytes"
|
|
1331
1818
|
}
|
|
1332
1819
|
],
|
|
1333
1820
|
"name": "closeLiquidation",
|
|
@@ -1337,10 +1824,10 @@
|
|
|
1337
1824
|
},
|
|
1338
1825
|
{
|
|
1339
1826
|
"inputs": [],
|
|
1340
|
-
"name": "
|
|
1827
|
+
"name": "complianceRegistry",
|
|
1341
1828
|
"outputs": [
|
|
1342
1829
|
{
|
|
1343
|
-
"internalType": "contract
|
|
1830
|
+
"internalType": "contract IComplianceRegistry",
|
|
1344
1831
|
"name": "",
|
|
1345
1832
|
"type": "address"
|
|
1346
1833
|
}
|
|
@@ -1361,28 +1848,20 @@
|
|
|
1361
1848
|
"stateMutability": "nonpayable",
|
|
1362
1849
|
"type": "function"
|
|
1363
1850
|
},
|
|
1364
|
-
{
|
|
1365
|
-
"inputs": [],
|
|
1366
|
-
"name": "depositFee",
|
|
1367
|
-
"outputs": [
|
|
1368
|
-
{
|
|
1369
|
-
"internalType": "uint256",
|
|
1370
|
-
"name": "",
|
|
1371
|
-
"type": "uint256"
|
|
1372
|
-
}
|
|
1373
|
-
],
|
|
1374
|
-
"stateMutability": "view",
|
|
1375
|
-
"type": "function"
|
|
1376
|
-
},
|
|
1377
1851
|
{
|
|
1378
1852
|
"inputs": [
|
|
1379
1853
|
{
|
|
1380
|
-
"internalType": "
|
|
1381
|
-
"name": "
|
|
1382
|
-
"type": "
|
|
1854
|
+
"internalType": "address",
|
|
1855
|
+
"name": "adapter",
|
|
1856
|
+
"type": "address"
|
|
1857
|
+
},
|
|
1858
|
+
{
|
|
1859
|
+
"internalType": "bytes",
|
|
1860
|
+
"name": "data",
|
|
1861
|
+
"type": "bytes"
|
|
1383
1862
|
}
|
|
1384
1863
|
],
|
|
1385
|
-
"name": "
|
|
1864
|
+
"name": "depositAsset",
|
|
1386
1865
|
"outputs": [],
|
|
1387
1866
|
"stateMutability": "nonpayable",
|
|
1388
1867
|
"type": "function"
|
|
@@ -1417,13 +1896,18 @@
|
|
|
1417
1896
|
"inputs": [
|
|
1418
1897
|
{
|
|
1419
1898
|
"internalType": "address",
|
|
1420
|
-
"name": "
|
|
1899
|
+
"name": "adapter",
|
|
1421
1900
|
"type": "address"
|
|
1422
1901
|
},
|
|
1423
1902
|
{
|
|
1424
|
-
"internalType": "
|
|
1425
|
-
"name": "
|
|
1426
|
-
"type": "
|
|
1903
|
+
"internalType": "address",
|
|
1904
|
+
"name": "user",
|
|
1905
|
+
"type": "address"
|
|
1906
|
+
},
|
|
1907
|
+
{
|
|
1908
|
+
"internalType": "bytes",
|
|
1909
|
+
"name": "data",
|
|
1910
|
+
"type": "bytes"
|
|
1427
1911
|
}
|
|
1428
1912
|
],
|
|
1429
1913
|
"name": "finalizeLiquidation",
|
|
@@ -1431,79 +1915,14 @@
|
|
|
1431
1915
|
"stateMutability": "nonpayable",
|
|
1432
1916
|
"type": "function"
|
|
1433
1917
|
},
|
|
1434
|
-
{
|
|
1435
|
-
"inputs": [
|
|
1436
|
-
|
|
1437
|
-
"internalType": "address",
|
|
1438
|
-
"name": "userAddress",
|
|
1439
|
-
"type": "address"
|
|
1440
|
-
}
|
|
1441
|
-
],
|
|
1442
|
-
"name": "getAllUserData",
|
|
1918
|
+
{
|
|
1919
|
+
"inputs": [],
|
|
1920
|
+
"name": "getAdapters",
|
|
1443
1921
|
"outputs": [
|
|
1444
1922
|
{
|
|
1445
|
-
"
|
|
1446
|
-
{
|
|
1447
|
-
"internalType": "uint256[]",
|
|
1448
|
-
"name": "nftTokenIds",
|
|
1449
|
-
"type": "uint256[]"
|
|
1450
|
-
},
|
|
1451
|
-
{
|
|
1452
|
-
"internalType": "uint256",
|
|
1453
|
-
"name": "scaledDebtBalance",
|
|
1454
|
-
"type": "uint256"
|
|
1455
|
-
},
|
|
1456
|
-
{
|
|
1457
|
-
"internalType": "uint256",
|
|
1458
|
-
"name": "collateralValue",
|
|
1459
|
-
"type": "uint256"
|
|
1460
|
-
},
|
|
1461
|
-
{
|
|
1462
|
-
"components": [
|
|
1463
|
-
{
|
|
1464
|
-
"internalType": "uint256",
|
|
1465
|
-
"name": "rawDebtBalance",
|
|
1466
|
-
"type": "uint256"
|
|
1467
|
-
},
|
|
1468
|
-
{
|
|
1469
|
-
"internalType": "uint256",
|
|
1470
|
-
"name": "scaledDebtBalance",
|
|
1471
|
-
"type": "uint256"
|
|
1472
|
-
},
|
|
1473
|
-
{
|
|
1474
|
-
"internalType": "uint256",
|
|
1475
|
-
"name": "healthFactor",
|
|
1476
|
-
"type": "uint256"
|
|
1477
|
-
},
|
|
1478
|
-
{
|
|
1479
|
-
"internalType": "bool",
|
|
1480
|
-
"name": "isUnderLiquidation",
|
|
1481
|
-
"type": "bool"
|
|
1482
|
-
},
|
|
1483
|
-
{
|
|
1484
|
-
"internalType": "uint256",
|
|
1485
|
-
"name": "liquidationStartTime",
|
|
1486
|
-
"type": "uint256"
|
|
1487
|
-
},
|
|
1488
|
-
{
|
|
1489
|
-
"internalType": "uint256",
|
|
1490
|
-
"name": "positionIndex",
|
|
1491
|
-
"type": "uint256"
|
|
1492
|
-
},
|
|
1493
|
-
{
|
|
1494
|
-
"internalType": "bool",
|
|
1495
|
-
"name": "isInsured",
|
|
1496
|
-
"type": "bool"
|
|
1497
|
-
}
|
|
1498
|
-
],
|
|
1499
|
-
"internalType": "struct ILendingPool.NFTPositionView[]",
|
|
1500
|
-
"name": "positions",
|
|
1501
|
-
"type": "tuple[]"
|
|
1502
|
-
}
|
|
1503
|
-
],
|
|
1504
|
-
"internalType": "struct ILendingPool.UserDataView",
|
|
1923
|
+
"internalType": "address[]",
|
|
1505
1924
|
"name": "",
|
|
1506
|
-
"type": "
|
|
1925
|
+
"type": "address[]"
|
|
1507
1926
|
}
|
|
1508
1927
|
],
|
|
1509
1928
|
"stateMutability": "view",
|
|
@@ -1511,13 +1930,23 @@
|
|
|
1511
1930
|
},
|
|
1512
1931
|
{
|
|
1513
1932
|
"inputs": [
|
|
1933
|
+
{
|
|
1934
|
+
"internalType": "address",
|
|
1935
|
+
"name": "adapter",
|
|
1936
|
+
"type": "address"
|
|
1937
|
+
},
|
|
1514
1938
|
{
|
|
1515
1939
|
"internalType": "address",
|
|
1516
1940
|
"name": "user",
|
|
1517
1941
|
"type": "address"
|
|
1942
|
+
},
|
|
1943
|
+
{
|
|
1944
|
+
"internalType": "bytes",
|
|
1945
|
+
"name": "data",
|
|
1946
|
+
"type": "bytes"
|
|
1518
1947
|
}
|
|
1519
1948
|
],
|
|
1520
|
-
"name": "
|
|
1949
|
+
"name": "getAssetValue",
|
|
1521
1950
|
"outputs": [
|
|
1522
1951
|
{
|
|
1523
1952
|
"internalType": "uint256",
|
|
@@ -1531,12 +1960,12 @@
|
|
|
1531
1960
|
{
|
|
1532
1961
|
"inputs": [
|
|
1533
1962
|
{
|
|
1534
|
-
"internalType": "
|
|
1535
|
-
"name": "
|
|
1536
|
-
"type": "
|
|
1963
|
+
"internalType": "address",
|
|
1964
|
+
"name": "user",
|
|
1965
|
+
"type": "address"
|
|
1537
1966
|
}
|
|
1538
1967
|
],
|
|
1539
|
-
"name": "
|
|
1968
|
+
"name": "getEligibleUserDeposits",
|
|
1540
1969
|
"outputs": [
|
|
1541
1970
|
{
|
|
1542
1971
|
"internalType": "uint256",
|
|
@@ -1594,15 +2023,20 @@
|
|
|
1594
2023
|
},
|
|
1595
2024
|
{
|
|
1596
2025
|
"inputs": [
|
|
2026
|
+
{
|
|
2027
|
+
"internalType": "address",
|
|
2028
|
+
"name": "adapter",
|
|
2029
|
+
"type": "address"
|
|
2030
|
+
},
|
|
1597
2031
|
{
|
|
1598
2032
|
"internalType": "address",
|
|
1599
2033
|
"name": "user",
|
|
1600
2034
|
"type": "address"
|
|
1601
2035
|
},
|
|
1602
2036
|
{
|
|
1603
|
-
"internalType": "
|
|
1604
|
-
"name": "
|
|
1605
|
-
"type": "
|
|
2037
|
+
"internalType": "bytes",
|
|
2038
|
+
"name": "data",
|
|
2039
|
+
"type": "bytes"
|
|
1606
2040
|
}
|
|
1607
2041
|
],
|
|
1608
2042
|
"name": "getPosition",
|
|
@@ -1640,7 +2074,7 @@
|
|
|
1640
2074
|
"type": "uint256"
|
|
1641
2075
|
}
|
|
1642
2076
|
],
|
|
1643
|
-
"internalType": "struct
|
|
2077
|
+
"internalType": "struct ILendingPoolStorage.CollateralPosition",
|
|
1644
2078
|
"name": "",
|
|
1645
2079
|
"type": "tuple"
|
|
1646
2080
|
}
|
|
@@ -1650,15 +2084,20 @@
|
|
|
1650
2084
|
},
|
|
1651
2085
|
{
|
|
1652
2086
|
"inputs": [
|
|
2087
|
+
{
|
|
2088
|
+
"internalType": "address",
|
|
2089
|
+
"name": "adapter",
|
|
2090
|
+
"type": "address"
|
|
2091
|
+
},
|
|
1653
2092
|
{
|
|
1654
2093
|
"internalType": "address",
|
|
1655
2094
|
"name": "user",
|
|
1656
2095
|
"type": "address"
|
|
1657
2096
|
},
|
|
1658
2097
|
{
|
|
1659
|
-
"internalType": "
|
|
1660
|
-
"name": "
|
|
1661
|
-
"type": "
|
|
2098
|
+
"internalType": "bytes",
|
|
2099
|
+
"name": "data",
|
|
2100
|
+
"type": "bytes"
|
|
1662
2101
|
}
|
|
1663
2102
|
],
|
|
1664
2103
|
"name": "getPositionData",
|
|
@@ -1681,13 +2120,18 @@
|
|
|
1681
2120
|
"inputs": [
|
|
1682
2121
|
{
|
|
1683
2122
|
"internalType": "address",
|
|
1684
|
-
"name": "
|
|
2123
|
+
"name": "adapter",
|
|
1685
2124
|
"type": "address"
|
|
1686
2125
|
},
|
|
1687
2126
|
{
|
|
1688
|
-
"internalType": "
|
|
1689
|
-
"name": "
|
|
1690
|
-
"type": "
|
|
2127
|
+
"internalType": "address",
|
|
2128
|
+
"name": "user",
|
|
2129
|
+
"type": "address"
|
|
2130
|
+
},
|
|
2131
|
+
{
|
|
2132
|
+
"internalType": "bytes",
|
|
2133
|
+
"name": "data",
|
|
2134
|
+
"type": "bytes"
|
|
1691
2135
|
}
|
|
1692
2136
|
],
|
|
1693
2137
|
"name": "getPositionDebt",
|
|
@@ -1705,13 +2149,18 @@
|
|
|
1705
2149
|
"inputs": [
|
|
1706
2150
|
{
|
|
1707
2151
|
"internalType": "address",
|
|
1708
|
-
"name": "
|
|
2152
|
+
"name": "adapter",
|
|
1709
2153
|
"type": "address"
|
|
1710
2154
|
},
|
|
1711
2155
|
{
|
|
1712
|
-
"internalType": "
|
|
1713
|
-
"name": "
|
|
1714
|
-
"type": "
|
|
2156
|
+
"internalType": "address",
|
|
2157
|
+
"name": "user",
|
|
2158
|
+
"type": "address"
|
|
2159
|
+
},
|
|
2160
|
+
{
|
|
2161
|
+
"internalType": "bytes",
|
|
2162
|
+
"name": "data",
|
|
2163
|
+
"type": "bytes"
|
|
1715
2164
|
}
|
|
1716
2165
|
],
|
|
1717
2166
|
"name": "getPositionScaledDebt",
|
|
@@ -1727,15 +2176,20 @@
|
|
|
1727
2176
|
},
|
|
1728
2177
|
{
|
|
1729
2178
|
"inputs": [
|
|
2179
|
+
{
|
|
2180
|
+
"internalType": "address",
|
|
2181
|
+
"name": "adapter",
|
|
2182
|
+
"type": "address"
|
|
2183
|
+
},
|
|
1730
2184
|
{
|
|
1731
2185
|
"internalType": "address",
|
|
1732
2186
|
"name": "user",
|
|
1733
2187
|
"type": "address"
|
|
1734
2188
|
},
|
|
1735
2189
|
{
|
|
1736
|
-
"internalType": "
|
|
1737
|
-
"name": "
|
|
1738
|
-
"type": "
|
|
2190
|
+
"internalType": "bytes",
|
|
2191
|
+
"name": "data",
|
|
2192
|
+
"type": "bytes"
|
|
1739
2193
|
}
|
|
1740
2194
|
],
|
|
1741
2195
|
"name": "getPositionView",
|
|
@@ -1776,9 +2230,19 @@
|
|
|
1776
2230
|
"internalType": "bool",
|
|
1777
2231
|
"name": "isInsured",
|
|
1778
2232
|
"type": "bool"
|
|
2233
|
+
},
|
|
2234
|
+
{
|
|
2235
|
+
"internalType": "address",
|
|
2236
|
+
"name": "adapter",
|
|
2237
|
+
"type": "address"
|
|
2238
|
+
},
|
|
2239
|
+
{
|
|
2240
|
+
"internalType": "address",
|
|
2241
|
+
"name": "asset",
|
|
2242
|
+
"type": "address"
|
|
1779
2243
|
}
|
|
1780
2244
|
],
|
|
1781
|
-
"internalType": "struct
|
|
2245
|
+
"internalType": "struct ILendingPoolStorage.CollateralPositionView",
|
|
1782
2246
|
"name": "",
|
|
1783
2247
|
"type": "tuple"
|
|
1784
2248
|
}
|
|
@@ -1790,7 +2254,7 @@
|
|
|
1790
2254
|
"inputs": [
|
|
1791
2255
|
{
|
|
1792
2256
|
"internalType": "address",
|
|
1793
|
-
"name": "
|
|
2257
|
+
"name": "user",
|
|
1794
2258
|
"type": "address"
|
|
1795
2259
|
}
|
|
1796
2260
|
],
|
|
@@ -1818,19 +2282,6 @@
|
|
|
1818
2282
|
"stateMutability": "view",
|
|
1819
2283
|
"type": "function"
|
|
1820
2284
|
},
|
|
1821
|
-
{
|
|
1822
|
-
"inputs": [],
|
|
1823
|
-
"name": "getRAACNFTAddress",
|
|
1824
|
-
"outputs": [
|
|
1825
|
-
{
|
|
1826
|
-
"internalType": "address",
|
|
1827
|
-
"name": "",
|
|
1828
|
-
"type": "address"
|
|
1829
|
-
}
|
|
1830
|
-
],
|
|
1831
|
-
"stateMutability": "view",
|
|
1832
|
-
"type": "function"
|
|
1833
|
-
},
|
|
1834
2285
|
{
|
|
1835
2286
|
"inputs": [],
|
|
1836
2287
|
"name": "getReserveRateData",
|
|
@@ -1941,6 +2392,25 @@
|
|
|
1941
2392
|
"stateMutability": "view",
|
|
1942
2393
|
"type": "function"
|
|
1943
2394
|
},
|
|
2395
|
+
{
|
|
2396
|
+
"inputs": [
|
|
2397
|
+
{
|
|
2398
|
+
"internalType": "bytes32",
|
|
2399
|
+
"name": "role",
|
|
2400
|
+
"type": "bytes32"
|
|
2401
|
+
}
|
|
2402
|
+
],
|
|
2403
|
+
"name": "getRoleAdmin",
|
|
2404
|
+
"outputs": [
|
|
2405
|
+
{
|
|
2406
|
+
"internalType": "bytes32",
|
|
2407
|
+
"name": "",
|
|
2408
|
+
"type": "bytes32"
|
|
2409
|
+
}
|
|
2410
|
+
],
|
|
2411
|
+
"stateMutability": "view",
|
|
2412
|
+
"type": "function"
|
|
2413
|
+
},
|
|
1944
2414
|
{
|
|
1945
2415
|
"inputs": [],
|
|
1946
2416
|
"name": "getUnclaimedVaultRewards",
|
|
@@ -1956,15 +2426,20 @@
|
|
|
1956
2426
|
},
|
|
1957
2427
|
{
|
|
1958
2428
|
"inputs": [
|
|
2429
|
+
{
|
|
2430
|
+
"internalType": "address",
|
|
2431
|
+
"name": "adapter",
|
|
2432
|
+
"type": "address"
|
|
2433
|
+
},
|
|
1959
2434
|
{
|
|
1960
2435
|
"internalType": "address",
|
|
1961
2436
|
"name": "user",
|
|
1962
2437
|
"type": "address"
|
|
1963
2438
|
},
|
|
1964
2439
|
{
|
|
1965
|
-
"internalType": "
|
|
1966
|
-
"name": "
|
|
1967
|
-
"type": "
|
|
2440
|
+
"internalType": "bytes",
|
|
2441
|
+
"name": "data",
|
|
2442
|
+
"type": "bytes"
|
|
1968
2443
|
}
|
|
1969
2444
|
],
|
|
1970
2445
|
"name": "getUninsuredBalance",
|
|
@@ -1982,7 +2457,7 @@
|
|
|
1982
2457
|
"inputs": [
|
|
1983
2458
|
{
|
|
1984
2459
|
"internalType": "address",
|
|
1985
|
-
"name": "
|
|
2460
|
+
"name": "user",
|
|
1986
2461
|
"type": "address"
|
|
1987
2462
|
}
|
|
1988
2463
|
],
|
|
@@ -1990,7 +2465,7 @@
|
|
|
1990
2465
|
"outputs": [
|
|
1991
2466
|
{
|
|
1992
2467
|
"internalType": "uint256",
|
|
1993
|
-
"name": "",
|
|
2468
|
+
"name": "totalValue",
|
|
1994
2469
|
"type": "uint256"
|
|
1995
2470
|
}
|
|
1996
2471
|
],
|
|
@@ -2001,7 +2476,7 @@
|
|
|
2001
2476
|
"inputs": [
|
|
2002
2477
|
{
|
|
2003
2478
|
"internalType": "address",
|
|
2004
|
-
"name": "
|
|
2479
|
+
"name": "user",
|
|
2005
2480
|
"type": "address"
|
|
2006
2481
|
}
|
|
2007
2482
|
],
|
|
@@ -2009,7 +2484,7 @@
|
|
|
2009
2484
|
"outputs": [
|
|
2010
2485
|
{
|
|
2011
2486
|
"internalType": "uint256",
|
|
2012
|
-
"name": "",
|
|
2487
|
+
"name": "totalDebt",
|
|
2013
2488
|
"type": "uint256"
|
|
2014
2489
|
}
|
|
2015
2490
|
],
|
|
@@ -2057,30 +2532,40 @@
|
|
|
2057
2532
|
{
|
|
2058
2533
|
"inputs": [
|
|
2059
2534
|
{
|
|
2060
|
-
"internalType": "
|
|
2061
|
-
"name": "
|
|
2062
|
-
"type": "
|
|
2063
|
-
}
|
|
2064
|
-
],
|
|
2065
|
-
"name": "getUserOfDepositedNFT",
|
|
2066
|
-
"outputs": [
|
|
2535
|
+
"internalType": "bytes32",
|
|
2536
|
+
"name": "role",
|
|
2537
|
+
"type": "bytes32"
|
|
2538
|
+
},
|
|
2067
2539
|
{
|
|
2068
2540
|
"internalType": "address",
|
|
2069
|
-
"name": "",
|
|
2541
|
+
"name": "account",
|
|
2070
2542
|
"type": "address"
|
|
2071
2543
|
}
|
|
2072
2544
|
],
|
|
2073
|
-
"
|
|
2545
|
+
"name": "grantRole",
|
|
2546
|
+
"outputs": [],
|
|
2547
|
+
"stateMutability": "nonpayable",
|
|
2074
2548
|
"type": "function"
|
|
2075
2549
|
},
|
|
2076
2550
|
{
|
|
2077
|
-
"inputs": [
|
|
2078
|
-
|
|
2551
|
+
"inputs": [
|
|
2552
|
+
{
|
|
2553
|
+
"internalType": "bytes32",
|
|
2554
|
+
"name": "role",
|
|
2555
|
+
"type": "bytes32"
|
|
2556
|
+
},
|
|
2557
|
+
{
|
|
2558
|
+
"internalType": "address",
|
|
2559
|
+
"name": "account",
|
|
2560
|
+
"type": "address"
|
|
2561
|
+
}
|
|
2562
|
+
],
|
|
2563
|
+
"name": "hasRole",
|
|
2079
2564
|
"outputs": [
|
|
2080
2565
|
{
|
|
2081
|
-
"internalType": "
|
|
2566
|
+
"internalType": "bool",
|
|
2082
2567
|
"name": "",
|
|
2083
|
-
"type": "
|
|
2568
|
+
"type": "bool"
|
|
2084
2569
|
}
|
|
2085
2570
|
],
|
|
2086
2571
|
"stateMutability": "view",
|
|
@@ -2090,13 +2575,18 @@
|
|
|
2090
2575
|
"inputs": [
|
|
2091
2576
|
{
|
|
2092
2577
|
"internalType": "address",
|
|
2093
|
-
"name": "
|
|
2578
|
+
"name": "adapter",
|
|
2094
2579
|
"type": "address"
|
|
2095
2580
|
},
|
|
2096
2581
|
{
|
|
2097
|
-
"internalType": "
|
|
2098
|
-
"name": "
|
|
2099
|
-
"type": "
|
|
2582
|
+
"internalType": "address",
|
|
2583
|
+
"name": "user",
|
|
2584
|
+
"type": "address"
|
|
2585
|
+
},
|
|
2586
|
+
{
|
|
2587
|
+
"internalType": "bytes",
|
|
2588
|
+
"name": "data",
|
|
2589
|
+
"type": "bytes"
|
|
2100
2590
|
}
|
|
2101
2591
|
],
|
|
2102
2592
|
"name": "initiateLiquidation",
|
|
@@ -2106,98 +2596,134 @@
|
|
|
2106
2596
|
},
|
|
2107
2597
|
{
|
|
2108
2598
|
"inputs": [],
|
|
2109
|
-
"name": "
|
|
2599
|
+
"name": "liquidationProxy",
|
|
2110
2600
|
"outputs": [
|
|
2111
2601
|
{
|
|
2112
|
-
"internalType": "
|
|
2602
|
+
"internalType": "address",
|
|
2113
2603
|
"name": "",
|
|
2114
|
-
"type": "
|
|
2604
|
+
"type": "address"
|
|
2115
2605
|
}
|
|
2116
2606
|
],
|
|
2117
2607
|
"stateMutability": "view",
|
|
2118
2608
|
"type": "function"
|
|
2119
2609
|
},
|
|
2120
2610
|
{
|
|
2121
|
-
"inputs": [
|
|
2122
|
-
|
|
2123
|
-
|
|
2611
|
+
"inputs": [
|
|
2612
|
+
{
|
|
2613
|
+
"internalType": "address",
|
|
2614
|
+
"name": "",
|
|
2615
|
+
"type": "address"
|
|
2616
|
+
},
|
|
2617
|
+
{
|
|
2618
|
+
"internalType": "address",
|
|
2619
|
+
"name": "",
|
|
2620
|
+
"type": "address"
|
|
2621
|
+
},
|
|
2124
2622
|
{
|
|
2125
2623
|
"internalType": "uint256",
|
|
2126
2624
|
"name": "",
|
|
2127
2625
|
"type": "uint256"
|
|
2626
|
+
},
|
|
2627
|
+
{
|
|
2628
|
+
"internalType": "bytes",
|
|
2629
|
+
"name": "",
|
|
2630
|
+
"type": "bytes"
|
|
2128
2631
|
}
|
|
2129
2632
|
],
|
|
2130
|
-
"
|
|
2131
|
-
"type": "function"
|
|
2132
|
-
},
|
|
2133
|
-
{
|
|
2134
|
-
"inputs": [],
|
|
2135
|
-
"name": "liquidationThreshold",
|
|
2633
|
+
"name": "onERC721Received",
|
|
2136
2634
|
"outputs": [
|
|
2137
2635
|
{
|
|
2138
|
-
"internalType": "
|
|
2636
|
+
"internalType": "bytes4",
|
|
2139
2637
|
"name": "",
|
|
2140
|
-
"type": "
|
|
2638
|
+
"type": "bytes4"
|
|
2141
2639
|
}
|
|
2142
2640
|
],
|
|
2143
|
-
"stateMutability": "
|
|
2641
|
+
"stateMutability": "nonpayable",
|
|
2642
|
+
"type": "function"
|
|
2643
|
+
},
|
|
2644
|
+
{
|
|
2645
|
+
"inputs": [],
|
|
2646
|
+
"name": "openVaultPosition",
|
|
2647
|
+
"outputs": [],
|
|
2648
|
+
"stateMutability": "nonpayable",
|
|
2144
2649
|
"type": "function"
|
|
2145
2650
|
},
|
|
2146
2651
|
{
|
|
2147
2652
|
"inputs": [],
|
|
2148
|
-
"name": "
|
|
2653
|
+
"name": "owner",
|
|
2149
2654
|
"outputs": [
|
|
2150
2655
|
{
|
|
2151
|
-
"internalType": "
|
|
2656
|
+
"internalType": "address",
|
|
2152
2657
|
"name": "",
|
|
2153
|
-
"type": "
|
|
2658
|
+
"type": "address"
|
|
2154
2659
|
}
|
|
2155
2660
|
],
|
|
2156
2661
|
"stateMutability": "view",
|
|
2157
2662
|
"type": "function"
|
|
2158
2663
|
},
|
|
2159
2664
|
{
|
|
2160
|
-
"inputs": [
|
|
2665
|
+
"inputs": [],
|
|
2666
|
+
"name": "parameters",
|
|
2667
|
+
"outputs": [
|
|
2161
2668
|
{
|
|
2162
|
-
"internalType": "
|
|
2163
|
-
"name": "",
|
|
2164
|
-
"type": "
|
|
2669
|
+
"internalType": "bool",
|
|
2670
|
+
"name": "canPaybackDebt",
|
|
2671
|
+
"type": "bool"
|
|
2165
2672
|
},
|
|
2166
2673
|
{
|
|
2167
|
-
"internalType": "
|
|
2168
|
-
"name": "",
|
|
2169
|
-
"type": "
|
|
2674
|
+
"internalType": "bool",
|
|
2675
|
+
"name": "withdrawalsPaused",
|
|
2676
|
+
"type": "bool"
|
|
2170
2677
|
},
|
|
2171
2678
|
{
|
|
2172
2679
|
"internalType": "uint256",
|
|
2173
|
-
"name": "",
|
|
2680
|
+
"name": "liquidationThreshold",
|
|
2174
2681
|
"type": "uint256"
|
|
2175
2682
|
},
|
|
2176
2683
|
{
|
|
2177
|
-
"internalType": "
|
|
2178
|
-
"name": "",
|
|
2179
|
-
"type": "
|
|
2180
|
-
}
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2684
|
+
"internalType": "uint256",
|
|
2685
|
+
"name": "healthFactorLiquidationThreshold",
|
|
2686
|
+
"type": "uint256"
|
|
2687
|
+
},
|
|
2688
|
+
{
|
|
2689
|
+
"internalType": "uint256",
|
|
2690
|
+
"name": "liquidationGracePeriod",
|
|
2691
|
+
"type": "uint256"
|
|
2692
|
+
},
|
|
2693
|
+
{
|
|
2694
|
+
"internalType": "uint256",
|
|
2695
|
+
"name": "insuranceFee",
|
|
2696
|
+
"type": "uint256"
|
|
2697
|
+
},
|
|
2698
|
+
{
|
|
2699
|
+
"internalType": "uint256",
|
|
2700
|
+
"name": "depositFee",
|
|
2701
|
+
"type": "uint256"
|
|
2702
|
+
},
|
|
2703
|
+
{
|
|
2704
|
+
"internalType": "uint256",
|
|
2705
|
+
"name": "liquidityBufferRatio",
|
|
2706
|
+
"type": "uint256"
|
|
2707
|
+
},
|
|
2708
|
+
{
|
|
2709
|
+
"internalType": "uint256",
|
|
2710
|
+
"name": "supplyCap",
|
|
2711
|
+
"type": "uint256"
|
|
2712
|
+
},
|
|
2713
|
+
{
|
|
2714
|
+
"internalType": "uint256",
|
|
2715
|
+
"name": "borrowCap",
|
|
2716
|
+
"type": "uint256"
|
|
2717
|
+
},
|
|
2184
2718
|
{
|
|
2185
|
-
"internalType": "
|
|
2186
|
-
"name": "",
|
|
2187
|
-
"type": "
|
|
2188
|
-
}
|
|
2189
|
-
],
|
|
2190
|
-
"stateMutability": "nonpayable",
|
|
2191
|
-
"type": "function"
|
|
2192
|
-
},
|
|
2193
|
-
{
|
|
2194
|
-
"inputs": [],
|
|
2195
|
-
"name": "owner",
|
|
2196
|
-
"outputs": [
|
|
2719
|
+
"internalType": "uint256",
|
|
2720
|
+
"name": "withdrawTimelockDuration",
|
|
2721
|
+
"type": "uint256"
|
|
2722
|
+
},
|
|
2197
2723
|
{
|
|
2198
|
-
"internalType": "
|
|
2199
|
-
"name": "",
|
|
2200
|
-
"type": "
|
|
2724
|
+
"internalType": "uint256",
|
|
2725
|
+
"name": "vaultOpeningFee",
|
|
2726
|
+
"type": "uint256"
|
|
2201
2727
|
}
|
|
2202
2728
|
],
|
|
2203
2729
|
"stateMutability": "view",
|
|
@@ -2231,9 +2757,9 @@
|
|
|
2231
2757
|
"type": "address"
|
|
2232
2758
|
},
|
|
2233
2759
|
{
|
|
2234
|
-
"internalType": "
|
|
2760
|
+
"internalType": "bytes32",
|
|
2235
2761
|
"name": "",
|
|
2236
|
-
"type": "
|
|
2762
|
+
"type": "bytes32"
|
|
2237
2763
|
}
|
|
2238
2764
|
],
|
|
2239
2765
|
"name": "positions",
|
|
@@ -2272,19 +2798,6 @@
|
|
|
2272
2798
|
"stateMutability": "view",
|
|
2273
2799
|
"type": "function"
|
|
2274
2800
|
},
|
|
2275
|
-
{
|
|
2276
|
-
"inputs": [],
|
|
2277
|
-
"name": "priceOracle",
|
|
2278
|
-
"outputs": [
|
|
2279
|
-
{
|
|
2280
|
-
"internalType": "contract IRAACHousePrices",
|
|
2281
|
-
"name": "",
|
|
2282
|
-
"type": "address"
|
|
2283
|
-
}
|
|
2284
|
-
],
|
|
2285
|
-
"stateMutability": "view",
|
|
2286
|
-
"type": "function"
|
|
2287
|
-
},
|
|
2288
2801
|
{
|
|
2289
2802
|
"inputs": [],
|
|
2290
2803
|
"name": "primeRateOracle",
|
|
@@ -2298,32 +2811,6 @@
|
|
|
2298
2811
|
"stateMutability": "view",
|
|
2299
2812
|
"type": "function"
|
|
2300
2813
|
},
|
|
2301
|
-
{
|
|
2302
|
-
"inputs": [],
|
|
2303
|
-
"name": "rToken",
|
|
2304
|
-
"outputs": [
|
|
2305
|
-
{
|
|
2306
|
-
"internalType": "contract IRToken",
|
|
2307
|
-
"name": "",
|
|
2308
|
-
"type": "address"
|
|
2309
|
-
}
|
|
2310
|
-
],
|
|
2311
|
-
"stateMutability": "view",
|
|
2312
|
-
"type": "function"
|
|
2313
|
-
},
|
|
2314
|
-
{
|
|
2315
|
-
"inputs": [],
|
|
2316
|
-
"name": "raacNFT",
|
|
2317
|
-
"outputs": [
|
|
2318
|
-
{
|
|
2319
|
-
"internalType": "contract IRAACNFT",
|
|
2320
|
-
"name": "",
|
|
2321
|
-
"type": "address"
|
|
2322
|
-
}
|
|
2323
|
-
],
|
|
2324
|
-
"stateMutability": "view",
|
|
2325
|
-
"type": "function"
|
|
2326
|
-
},
|
|
2327
2814
|
{
|
|
2328
2815
|
"inputs": [],
|
|
2329
2816
|
"name": "rateData",
|
|
@@ -2372,6 +2859,19 @@
|
|
|
2372
2859
|
"stateMutability": "view",
|
|
2373
2860
|
"type": "function"
|
|
2374
2861
|
},
|
|
2862
|
+
{
|
|
2863
|
+
"inputs": [
|
|
2864
|
+
{
|
|
2865
|
+
"internalType": "address",
|
|
2866
|
+
"name": "adapter",
|
|
2867
|
+
"type": "address"
|
|
2868
|
+
}
|
|
2869
|
+
],
|
|
2870
|
+
"name": "registerAdapter",
|
|
2871
|
+
"outputs": [],
|
|
2872
|
+
"stateMutability": "nonpayable",
|
|
2873
|
+
"type": "function"
|
|
2874
|
+
},
|
|
2375
2875
|
{
|
|
2376
2876
|
"inputs": [],
|
|
2377
2877
|
"name": "renounceOwnership",
|
|
@@ -2382,9 +2882,32 @@
|
|
|
2382
2882
|
{
|
|
2383
2883
|
"inputs": [
|
|
2384
2884
|
{
|
|
2385
|
-
"internalType": "
|
|
2386
|
-
"name": "
|
|
2387
|
-
"type": "
|
|
2885
|
+
"internalType": "bytes32",
|
|
2886
|
+
"name": "role",
|
|
2887
|
+
"type": "bytes32"
|
|
2888
|
+
},
|
|
2889
|
+
{
|
|
2890
|
+
"internalType": "address",
|
|
2891
|
+
"name": "callerConfirmation",
|
|
2892
|
+
"type": "address"
|
|
2893
|
+
}
|
|
2894
|
+
],
|
|
2895
|
+
"name": "renounceRole",
|
|
2896
|
+
"outputs": [],
|
|
2897
|
+
"stateMutability": "nonpayable",
|
|
2898
|
+
"type": "function"
|
|
2899
|
+
},
|
|
2900
|
+
{
|
|
2901
|
+
"inputs": [
|
|
2902
|
+
{
|
|
2903
|
+
"internalType": "address",
|
|
2904
|
+
"name": "adapter",
|
|
2905
|
+
"type": "address"
|
|
2906
|
+
},
|
|
2907
|
+
{
|
|
2908
|
+
"internalType": "bytes",
|
|
2909
|
+
"name": "data",
|
|
2910
|
+
"type": "bytes"
|
|
2388
2911
|
},
|
|
2389
2912
|
{
|
|
2390
2913
|
"internalType": "uint256",
|
|
@@ -2400,9 +2923,14 @@
|
|
|
2400
2923
|
{
|
|
2401
2924
|
"inputs": [
|
|
2402
2925
|
{
|
|
2403
|
-
"internalType": "
|
|
2404
|
-
"name": "
|
|
2405
|
-
"type": "
|
|
2926
|
+
"internalType": "address",
|
|
2927
|
+
"name": "adapter",
|
|
2928
|
+
"type": "address"
|
|
2929
|
+
},
|
|
2930
|
+
{
|
|
2931
|
+
"internalType": "bytes",
|
|
2932
|
+
"name": "data",
|
|
2933
|
+
"type": "bytes"
|
|
2406
2934
|
},
|
|
2407
2935
|
{
|
|
2408
2936
|
"internalType": "uint256",
|
|
@@ -2420,6 +2948,19 @@
|
|
|
2420
2948
|
"stateMutability": "nonpayable",
|
|
2421
2949
|
"type": "function"
|
|
2422
2950
|
},
|
|
2951
|
+
{
|
|
2952
|
+
"inputs": [
|
|
2953
|
+
{
|
|
2954
|
+
"internalType": "uint256",
|
|
2955
|
+
"name": "amount",
|
|
2956
|
+
"type": "uint256"
|
|
2957
|
+
}
|
|
2958
|
+
],
|
|
2959
|
+
"name": "requestWithdraw",
|
|
2960
|
+
"outputs": [],
|
|
2961
|
+
"stateMutability": "nonpayable",
|
|
2962
|
+
"type": "function"
|
|
2963
|
+
},
|
|
2423
2964
|
{
|
|
2424
2965
|
"inputs": [
|
|
2425
2966
|
{
|
|
@@ -2492,16 +3033,21 @@
|
|
|
2492
3033
|
"type": "function"
|
|
2493
3034
|
},
|
|
2494
3035
|
{
|
|
2495
|
-
"inputs": [
|
|
2496
|
-
"name": "reserveAssetToken",
|
|
2497
|
-
"outputs": [
|
|
3036
|
+
"inputs": [
|
|
2498
3037
|
{
|
|
2499
|
-
"internalType": "
|
|
2500
|
-
"name": "",
|
|
3038
|
+
"internalType": "bytes32",
|
|
3039
|
+
"name": "role",
|
|
3040
|
+
"type": "bytes32"
|
|
3041
|
+
},
|
|
3042
|
+
{
|
|
3043
|
+
"internalType": "address",
|
|
3044
|
+
"name": "account",
|
|
2501
3045
|
"type": "address"
|
|
2502
3046
|
}
|
|
2503
3047
|
],
|
|
2504
|
-
"
|
|
3048
|
+
"name": "revokeRole",
|
|
3049
|
+
"outputs": [],
|
|
3050
|
+
"stateMutability": "nonpayable",
|
|
2505
3051
|
"type": "function"
|
|
2506
3052
|
},
|
|
2507
3053
|
{
|
|
@@ -2540,6 +3086,19 @@
|
|
|
2540
3086
|
"stateMutability": "nonpayable",
|
|
2541
3087
|
"type": "function"
|
|
2542
3088
|
},
|
|
3089
|
+
{
|
|
3090
|
+
"inputs": [
|
|
3091
|
+
{
|
|
3092
|
+
"internalType": "address",
|
|
3093
|
+
"name": "_liquidationProxy",
|
|
3094
|
+
"type": "address"
|
|
3095
|
+
}
|
|
3096
|
+
],
|
|
3097
|
+
"name": "setLiquidationProxy",
|
|
3098
|
+
"outputs": [],
|
|
3099
|
+
"stateMutability": "nonpayable",
|
|
3100
|
+
"type": "function"
|
|
3101
|
+
},
|
|
2543
3102
|
{
|
|
2544
3103
|
"inputs": [
|
|
2545
3104
|
{
|
|
@@ -2636,6 +3195,63 @@
|
|
|
2636
3195
|
"stateMutability": "view",
|
|
2637
3196
|
"type": "function"
|
|
2638
3197
|
},
|
|
3198
|
+
{
|
|
3199
|
+
"inputs": [
|
|
3200
|
+
{
|
|
3201
|
+
"internalType": "address",
|
|
3202
|
+
"name": "adapter",
|
|
3203
|
+
"type": "address"
|
|
3204
|
+
}
|
|
3205
|
+
],
|
|
3206
|
+
"name": "supportedAdapter",
|
|
3207
|
+
"outputs": [
|
|
3208
|
+
{
|
|
3209
|
+
"internalType": "bool",
|
|
3210
|
+
"name": "",
|
|
3211
|
+
"type": "bool"
|
|
3212
|
+
}
|
|
3213
|
+
],
|
|
3214
|
+
"stateMutability": "view",
|
|
3215
|
+
"type": "function"
|
|
3216
|
+
},
|
|
3217
|
+
{
|
|
3218
|
+
"inputs": [
|
|
3219
|
+
{
|
|
3220
|
+
"internalType": "address",
|
|
3221
|
+
"name": "",
|
|
3222
|
+
"type": "address"
|
|
3223
|
+
}
|
|
3224
|
+
],
|
|
3225
|
+
"name": "supportedAdapters",
|
|
3226
|
+
"outputs": [
|
|
3227
|
+
{
|
|
3228
|
+
"internalType": "bool",
|
|
3229
|
+
"name": "",
|
|
3230
|
+
"type": "bool"
|
|
3231
|
+
}
|
|
3232
|
+
],
|
|
3233
|
+
"stateMutability": "view",
|
|
3234
|
+
"type": "function"
|
|
3235
|
+
},
|
|
3236
|
+
{
|
|
3237
|
+
"inputs": [
|
|
3238
|
+
{
|
|
3239
|
+
"internalType": "bytes4",
|
|
3240
|
+
"name": "interfaceId",
|
|
3241
|
+
"type": "bytes4"
|
|
3242
|
+
}
|
|
3243
|
+
],
|
|
3244
|
+
"name": "supportsInterface",
|
|
3245
|
+
"outputs": [
|
|
3246
|
+
{
|
|
3247
|
+
"internalType": "bool",
|
|
3248
|
+
"name": "",
|
|
3249
|
+
"type": "bool"
|
|
3250
|
+
}
|
|
3251
|
+
],
|
|
3252
|
+
"stateMutability": "view",
|
|
3253
|
+
"type": "function"
|
|
3254
|
+
},
|
|
2639
3255
|
{
|
|
2640
3256
|
"inputs": [
|
|
2641
3257
|
{
|
|
@@ -2674,6 +3290,19 @@
|
|
|
2674
3290
|
"stateMutability": "nonpayable",
|
|
2675
3291
|
"type": "function"
|
|
2676
3292
|
},
|
|
3293
|
+
{
|
|
3294
|
+
"inputs": [
|
|
3295
|
+
{
|
|
3296
|
+
"internalType": "address",
|
|
3297
|
+
"name": "adapter",
|
|
3298
|
+
"type": "address"
|
|
3299
|
+
}
|
|
3300
|
+
],
|
|
3301
|
+
"name": "unregisterAdapter",
|
|
3302
|
+
"outputs": [],
|
|
3303
|
+
"stateMutability": "nonpayable",
|
|
3304
|
+
"type": "function"
|
|
3305
|
+
},
|
|
2677
3306
|
{
|
|
2678
3307
|
"inputs": [],
|
|
2679
3308
|
"name": "updateState",
|
|
@@ -2726,6 +3355,38 @@
|
|
|
2726
3355
|
"stateMutability": "view",
|
|
2727
3356
|
"type": "function"
|
|
2728
3357
|
},
|
|
3358
|
+
{
|
|
3359
|
+
"inputs": [
|
|
3360
|
+
{
|
|
3361
|
+
"internalType": "address",
|
|
3362
|
+
"name": "",
|
|
3363
|
+
"type": "address"
|
|
3364
|
+
}
|
|
3365
|
+
],
|
|
3366
|
+
"name": "vaultOpened",
|
|
3367
|
+
"outputs": [
|
|
3368
|
+
{
|
|
3369
|
+
"internalType": "bool",
|
|
3370
|
+
"name": "",
|
|
3371
|
+
"type": "bool"
|
|
3372
|
+
}
|
|
3373
|
+
],
|
|
3374
|
+
"stateMutability": "view",
|
|
3375
|
+
"type": "function"
|
|
3376
|
+
},
|
|
3377
|
+
{
|
|
3378
|
+
"inputs": [],
|
|
3379
|
+
"name": "vaultProxy",
|
|
3380
|
+
"outputs": [
|
|
3381
|
+
{
|
|
3382
|
+
"internalType": "address",
|
|
3383
|
+
"name": "",
|
|
3384
|
+
"type": "address"
|
|
3385
|
+
}
|
|
3386
|
+
],
|
|
3387
|
+
"stateMutability": "view",
|
|
3388
|
+
"type": "function"
|
|
3389
|
+
},
|
|
2729
3390
|
{
|
|
2730
3391
|
"inputs": [],
|
|
2731
3392
|
"name": "vaultRewards",
|
|
@@ -2780,45 +3441,48 @@
|
|
|
2780
3441
|
{
|
|
2781
3442
|
"inputs": [
|
|
2782
3443
|
{
|
|
2783
|
-
"internalType": "
|
|
2784
|
-
"name": "
|
|
2785
|
-
"type": "
|
|
3444
|
+
"internalType": "address",
|
|
3445
|
+
"name": "adapter",
|
|
3446
|
+
"type": "address"
|
|
3447
|
+
},
|
|
3448
|
+
{
|
|
3449
|
+
"internalType": "bytes",
|
|
3450
|
+
"name": "data",
|
|
3451
|
+
"type": "bytes"
|
|
2786
3452
|
}
|
|
2787
3453
|
],
|
|
2788
|
-
"name": "
|
|
3454
|
+
"name": "withdrawAsset",
|
|
2789
3455
|
"outputs": [],
|
|
2790
3456
|
"stateMutability": "nonpayable",
|
|
2791
3457
|
"type": "function"
|
|
2792
3458
|
},
|
|
2793
3459
|
{
|
|
2794
|
-
"inputs": [
|
|
2795
|
-
"name": "withdrawalFee",
|
|
2796
|
-
"outputs": [
|
|
3460
|
+
"inputs": [
|
|
2797
3461
|
{
|
|
2798
|
-
"internalType": "
|
|
3462
|
+
"internalType": "address",
|
|
2799
3463
|
"name": "",
|
|
2800
|
-
"type": "
|
|
3464
|
+
"type": "address"
|
|
2801
3465
|
}
|
|
2802
3466
|
],
|
|
2803
|
-
"
|
|
2804
|
-
"type": "function"
|
|
2805
|
-
},
|
|
2806
|
-
{
|
|
2807
|
-
"inputs": [],
|
|
2808
|
-
"name": "withdrawalsPaused",
|
|
3467
|
+
"name": "withdrawTimelock",
|
|
2809
3468
|
"outputs": [
|
|
2810
3469
|
{
|
|
2811
|
-
"internalType": "
|
|
2812
|
-
"name": "",
|
|
2813
|
-
"type": "
|
|
3470
|
+
"internalType": "uint256",
|
|
3471
|
+
"name": "amount",
|
|
3472
|
+
"type": "uint256"
|
|
3473
|
+
},
|
|
3474
|
+
{
|
|
3475
|
+
"internalType": "uint256",
|
|
3476
|
+
"name": "readyAt",
|
|
3477
|
+
"type": "uint256"
|
|
2814
3478
|
}
|
|
2815
3479
|
],
|
|
2816
3480
|
"stateMutability": "view",
|
|
2817
3481
|
"type": "function"
|
|
2818
3482
|
}
|
|
2819
3483
|
],
|
|
2820
|
-
"bytecode": "0x60a0604052601e805460ff60a01b1916600160a01b17905561012c6029556000602a819055602b556107d0602d55602e805460ff191690553480156200004457600080fd5b50604051620063b2380380620063b28339810160408190526200006791620002ff565b33806200008e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b62000099816200026b565b50600180556002805460ff191690556001600160a01b0386161580620000c657506001600160a01b038516155b80620000d957506001600160a01b038416155b80620000ec57506001600160a01b038316155b80620000ff57506001600160a01b038216155b8062000109575080155b1562000128576040516303988b8160e61b815260040160405180910390fd5b601b80546001600160a01b03199081166001600160a01b03898116918217909355858316608052601980548316868516179055601c80548316898516908117909155601d8054841694891694851790557b033b2e3c9fd0803ce800000000000000033b2e3c9fd0803ce80000006008556009805464ffffffffff19164264ffffffffff1617905560038054841690911790556004805483169091179055600580549091169091179055600c819055620001e4816109c4620002bb565b600d55600c54620001f890611388620002bb565b600e55600c546200020c90619c40620002bb565b600f55620002296b033b2e3c9fd0803ce8000000611f40620002bb565b6010555050600060115550506b033b2e3c9fd0803ce8000000600a819055600b555050611f40602655670de0b6b3a76400006027556203f48060285562000377565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081156113881983900484111517620002d457600080fd5b506127109102611388010490565b80516001600160a01b0381168114620002fa57600080fd5b919050565b60008060008060008060c087890312156200031957600080fd5b6200032487620002e2565b95506200033460208801620002e2565b94506200034460408801620002e2565b93506200035460608801620002e2565b92506200036460808801620002e2565b915060a087015190509295509295509295565b608051615ff5620003bd600039600081816108e0015281816109b901528181610ff101528181612a43015281816133b0015281816134e201526135c50152615ff56000f3fe608060405234801561001057600080fd5b506004361061042c5760003560e01c80638aabb2d11161022d578063c4f8911c11610131578063e91a7ca6116100be578063e91a7ca614610c25578063e9f2838e14610c38578063ec915ee614610c45578063ef5bac2514610ca6578063f1caf09f14610d6b578063f2fde38b14610d7e578063f5b3b9e714610d91578063f8d8989814610da4578063f91c3b0d14610db7578063fbf4a61214610dca578063fbfa77cf14610dd957600080fd5b8063c4f8911c14610ac0578063c6d6916c14610ad3578063c891091314610ae6578063cd3293de14610b09578063d17e988314610bb3578063d5db7d5d14610bc6578063d81a698614610bd9578063d8aed14514610bec578063e5711e8b14610bff578063e65896c914610c1257600080fd5b8063a5b350c9116101ba578063a5b350c914610973578063a8de483414610986578063a90d728f14610999578063a9bf805c146109a1578063ac919fd4146109b4578063b6b55f25146109db578063b88a802f146109ee578063bf4eccdf146109f6578063bfd91c2314610a09578063c1be667714610a29578063c415b95c14610aad57600080fd5b80638aabb2d1146108b85780638aee8127146108cb5780638bc2ff5b146108de5780638bc7e8c4146109045780638da5cb5b1461090d578063929761791461091e57806397c4fac71461093157806398d721e01461093a5780639daa54b41461094d578063a42dce801461096057600080fd5b80632ab414fc116103345780636061ffc3116102c15780636061ffc3146107af57806367a52793146107ef5780636817031b146107f8578063715018a61461080b57806375417da614610813578063768bab45146108265780637bc7780b1461083957806383ba103f146108415780638429d51f146108545780638456cb591461089f578063883c6b24146108a757600080fd5b80632ab414fc146106205780632e1a7d4d146106335780633adbb5af146106465780633e20bf14146106a95780633f4ba83a146106cd5780634031234c146106d557806340c65f72146106de5780634df9d6ba146106f1578063523a19ac146107045780635c975abb146107a457600080fd5b8063150b7a02116103bd578063150b7a021461055357806316a6c4c51461057f57806316c621e0146105885780631705ffad1461059b57806319c2d37e146105a45780631d00ac3a146105b75780631d4bf4a0146105d75780631d8557d7146105df5780632630c12f146105e757806327156a68146105fa5780632a5bf6d21461060d57600080fd5b8063023245d714610431578063048c661d14610446578063057e9b7b1461046f57806309bf1e73146104865780630ab30d8a146104905780630c34b914146104a85780630c42dcaf146105115780630c679a7b1461051a5780630d4085121461052d5780630ecbcdab14610540575b600080fd5b61044461043f366004615723565b610dec565b005b601e54610459906001600160a01b031681565b604051610466919061573c565b60405180910390f35b61047860275481565b604051908152602001610466565b6104786203f48081565b600854600160801b90046001600160801b0316610478565b6104b06110a2565b6040516104669190600061010082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b610478611f4081565b610444610528366004615765565b611138565b61047861053b366004615782565b611162565b61044461054e3660046157ae565b6111de565b610566610561366004615812565b611228565b6040516001600160e01b03199091168152602001610466565b61047860285481565b610444610596366004615723565b611239565b610478602d5481565b6104786105b2366004615782565b6112ea565b6105ca6105c5366004615782565b611363565b6040516104669190615921565b602154610478565b610444611439565b601954610459906001600160a01b031681565b610478610608366004615765565b611447565b61047861061b366004615765565b61146c565b61044461062e36600461592f565b6114de565b610444610641366004615723565b611a07565b610659610654366004615782565b611b39565b6040516104669190600060c08201905082518252602083015115156020830152604083015160408301526060830151606083015260808301511515608083015260a083015160a083015292915050565b601e546106bd90600160a01b900460ff1681565b6040519015158152602001610466565b610444611bee565b61047860265481565b601c54610459906001600160a01b031681565b6104786106ff366004615765565b611bfe565b61078f610712366004615782565b6001600160a01b0391909116600090815260126020908152604080832093835292815290829020825160c0810184528154808252600183015460ff90811615159483019490945260028301549482019490945260038201546060820181905260048301549093161515608082015260059091015460a09091015291565b60408051928352602083019190915201610466565b60025460ff166106bd565b6014546015546016546107ca926001600160a01b0316919083565b604080516001600160a01b039094168452602084019290925290820152606001610466565b610478602a5481565b610444610806366004615765565b611ca0565b610444611f43565b610478610821366004615765565b611f55565b610444610834366004615782565b611fdc565b600c54610478565b61047861084f366004615782565b6120c4565b60205460215460225460235460245460255461087295949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610466565b6104446120f8565b6008546001600160801b0316610478565b6104446108c6366004615723565b612108565b6104446108d9366004615765565b612292565b7f0000000000000000000000000000000000000000000000000000000000000000610459565b610478602b5481565b6000546001600160a01b0316610459565b61047861092c366004615723565b6122e6565b61047860295481565b610444610948366004615765565b61237c565b61047861095b366004615765565b61242c565b61044461096e366004615765565b6124af565b610478610981366004615782565b612530565b610444610994366004615951565b6125d9565b610478612676565b601a54610459906001600160a01b031681565b6104597f000000000000000000000000000000000000000000000000000000000000000081565b6104446109e9366004615723565b612750565b6106bd6128a3565b610444610a04366004615782565b6128c2565b610a1c610a17366004615765565b612c25565b60405161046691906159cf565b610a7e610a37366004615782565b6012602090815260009283526040808420909152908252902080546001820154600283015460038401546004850154600590950154939460ff938416949293919291169086565b6040805196875294151560208701529385019290925260608401521515608083015260a082015260c001610466565b601f54610459906001600160a01b031681565b610444610ace366004615723565b612e49565b610444610ae1366004615765565b612e80565b610478610af4366004615765565b60136020526000908152604090206001015481565b600354600454600554600654600754600854600954610b55966001600160a01b0390811696811695169392916001600160801b0380821692600160801b909204169064ffffffffff1688565b604080516001600160a01b03998a16815297891660208901529590971694860194909452606085019290925260808401526001600160801b0390811660a08401521660c082015264ffffffffff90911660e082015261010001610466565b610478610bc1366004615765565b612f88565b601b54610459906001600160a01b031681565b610444610be73660046157ae565b613056565b610444610bfa3660046157ae565b613249565b610444610c0d366004615a45565b613286565b610478610c20366004615765565b6132f7565b610444610c33366004615723565b613374565b602e546106bd9060ff1681565b600a54600b54600c54600d54600e54600f54601054601154610c6b979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e082015261010001610466565b610d5e6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091525060408051610100810182526003546001600160a01b039081168252600454811660208301526005541691810191909152600654606082015260075460808201526008546001600160801b0380821660a0840152600160801b9091041660c082015260095464ffffffffff1660e082015290565b6040516104669190615a86565b610459610d79366004615723565b613593565b610444610d8c366004615765565b613654565b610478610d9f366004615b03565b61368f565b601d54610459906001600160a01b031681565b610444610dc5366004615782565b6136c1565b610478670de0b6b3a764000081565b602c54610459906001600160a01b031681565b610df46137f6565b610dfc613820565b3360009081526012602090815260408083208484529091529020600181015460ff1615610e3c576040516367c11db560e01b815260040160405180910390fd5b336000908152601360209081526040808320858452600281019092529091205460ff16610e7c5760405163346fad7360e01b815260040160405180910390fd5b610e886003600a613844565b6000610e9433856112ea565b90508015610eb5576040516302c9375f60e21b815260040160405180910390fd5b60008481526002830160209081526040808320805460ff19169055602f909152812080546001600160a01b03191690558254610ef390600190615b4e565b6001600160401b03811115610f0a57610f0a6157d0565b604051908082528060200260200182016040528015610f33578160200160208202803683370190505b5090506000805b8454811015610fc65786856000018281548110610f5957610f59615b61565b906000526020600020015414610fb457846000018181548110610f7e57610f7e615b61565b9060005260206000200154838381518110610f9b57610f9b615b61565b602090810291909101015281610fb081615b77565b9250505b80610fbe81615b77565b915050610f3a565b508151610fd9908590602085019061565e565b50604051632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e9061102a90309033908b90600401615b90565b600060405180830381600087803b15801561104457600080fd5b505af1158015611058573d6000803e3d6000fd5b50506040518881523392507f2aa1b4c95f3b2da9c955947fca584743ea0d457708fadf209c093061e98c4ccb915060200160405180910390a2505050505061109f60018055565b50565b6110ea60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b506040805161010081018252600a548152600b546020820152600c5491810191909152600d546060820152600e546080820152600f5460a082015260105460c082015260115460e082015290565b61114061384e565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b60008061116e836122e6565b9050600061117c8585612530565b9050600181101561119c57676765c793fa10079d601b1b925050506111d8565b60006111b36026548461387b90919063ffffffff16565b9050816111c882670de0b6b3a7640000615bb4565b6111d29190615bcb565b93505050505b92915050565b6111e66137f6565b6111ee613820565b80806000036112105760405163162908e360e11b815260040160405180910390fd5b61121a83836138a1565b5061122460018055565b5050565b630a85bd0160e11b5b949350505050565b6112416137f6565b6014546001600160a01b031661126a57604051632506892760e01b815260040160405180910390fd5b8060000361128b5760405163162908e360e11b815260040160405180910390fd5b6014546112a3906001600160a01b0316333084613b4c565b6112ac81613bac565b60405181815233907fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d9139060200160405180910390a261109f60018055565b6001600160a01b0382166000908152601260209081526040808320848452825291829020825160c0810184528154808252600183015460ff908116151594830194909452600283015494820194909452600382015460608201526004820154909216151560808301526005015460a09091015292915050565b61136b6156a5565b6113736156a5565b6001600160a01b0384166000908152601260209081526040808320868452825291829020825160c0808201855282548252600183015460ff90811615159483018590526002840154958301958652600384015460608085019190915260048501549091161515608080850191825260059095015460a0850152908701949094529351918501919091528051845290511515918301919091526114158585612530565b60208301526114248585611162565b60408301526060015160a08201529392505050565b6114456003600a613844565b565b6000806114538361146c565b9050600061146084612f88565b90506112318183615bed565b600354604051630481930d60e21b81526000916001600160a01b0316906312064c349061149d90859060040161573c565b602060405180830381865afa1580156114ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d89190615c00565b6114e661384e565b60008260098111156114fa576114fa615c19565b03611593576127108111156115565760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206c69717569646174696f6e207468726573686f6c6400000060448201526064015b60405180910390fd5b6026819055602754602854604080518481526020810193909352820152600080516020615fa0833981519152906060015b60405180910390a15050565b60018260098111156115a7576115a7615c19565b036115e05760278190556026546028546040805192835260208301849052820152600080516020615fa083398151915290606001611587565b60028260098111156115f4576115f4615c19565b036116895762015180811015801561160f575062093a808111155b6116525760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a590819dc9858d9481c195c9a5bd960621b604482015260640161154d565b60288190556026546027546040805192835260208301919091528101829052600080516020615fa083398151915290606001611587565b600382600981111561169d5761169d615c19565b03611736576127108111156116ef5760405162461bcd60e51b8152602060048201526018602482015277526174696f2063616e6e6f7420657863656564203130302560401b604482015260640161154d565b602d80549082905560408051828152602081018490527fab45a8374e3d1f623df0e88a957317731ccc02ed377e5b0213661f85bf60b73191015b60405180910390a1505050565b600482600981111561174a5761174a615c19565b036117b85760018111156117705760405162461bcd60e51b815260040161154d90615c2f565b602e805460ff19166001831490811790915560405160ff909116151581527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f390602001611587565b60058260098111156117cc576117cc615c19565b036118485760018111156117f25760405162461bcd60e51b815260040161154d90615c2f565b601e8054600160a01b60018414810260ff60a01b199092169190911791829055604051910460ff16151581527f932a526fd95bf1b5aab775a957e284733f02db3a9824802cbcbb4fbca239cbe190602001611587565b600682600981111561185c5761185c615c19565b036118e9576127108111156118ab5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420696e737572616e63652066656560581b604482015260640161154d565b602980549082905560408051828152602081018490527f87c461d1c2c7c5cd98495e5517aa11d9df56d0819cc4e8e53d9664c4b18f6db19101611729565b60078260098111156118fd576118fd615c19565b0361194057601180549082905560408051828152602081018490527f1d830358c94d390366ad7162b72e731448e195f3576e63b1f57f5e43c719c5aa9101611729565b600882600981111561195457611954615c19565b0361199757602a80549082905560408051828152602081018490527f828cf983933545af35b9ba46eec951db1cb4c5433c3ec403aeced2963c2647909101611729565b60098260098111156119ab576119ab615c19565b036119ee57602b80549082905560408051828152602081018490527f733071ab8253b372ed26a6d1b04aec71c4bfcd209c93397df32bb77478cdd2c89101611729565b604051630309cb8760e51b815260040160405180910390fd5b611a0f6137f6565b611a17613820565b8080600003611a395760405163162908e360e11b815260040160405180910390fd5b602e5460ff1615611a5d576040516370a7336d60e11b815260040160405180910390fd5b611a6633613c2f565b611a726003600a613844565b601f546000906001600160a01b031615611a9957602b54611a9490849061387b565b611a9c565b60005b90506000611aaa8285615b4e565b9050611ab581613cd6565b6000611ac56003600a8433614009565b50509050611ad1614131565b8215611af657601f54600454611af6916001600160a01b039182169133911686613b4c565b60405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364906020015b60405180910390a25050505061109f60018055565b611b766040518060c00160405280600081526020016000151581526020016000815260200160008152602001600015158152602001600081525090565b506001600160a01b0382166000908152601260209081526040808320848452825291829020825160c08101845281548152600182015460ff908116151593820193909352600282015493810193909352600381015460608401526004810154909116151560808301526005015460a082015292915050565b611bf661384e565b6114456142e8565b6014546000906001600160a01b0316611c1957506000919050565b6000611c2483611447565b905080600003611c375750600092915050565b6001600160a01b038316600090815260176020526040812054601554670de0b6b3a764000091611c6691615b4e565b611c709084615bb4565b611c7a9190615bcb565b6001600160a01b0385166000908152601860205260409020549091506112319082615bed565b611ca861384e565b602c546001600160a01b03828116911614801590611cd05750602c546001600160a01b031615155b15611e3957602c5460405163ce96cb7760e01b81526001600160a01b039091169063ce96cb7790611d0590309060040161573c565b602060405180830381865afa925050508015611d3e575060408051601f3d908101601f19168201909252611d3b91810190615c00565b60015b611e2e57611d4a615c5e565b806308c379a003611da75750611d5e615c79565b80611d695750611dc0565b602c546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e39565b634e487b7103611dc057611db9615d02565b90611d6957505b3d808015611dea576040519150601f19603f3d011682016040523d82523d6000602084013e611def565b606091505b50602c546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e39565b611e3781614334565b505b602c80546001600160a01b031981166001600160a01b0384811691821790935560048054604080516338d52e0f60e01b815290519486169591909116936338d52e0f928281019260209291908290030181865afa158015611e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec29190615d22565b6001600160a01b031614158015611ee157506001600160a01b03821615155b15611eff57604051631b3b488360e11b815260040160405180910390fd5b816001600160a01b0316816001600160a01b03167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea3960405160405180910390a35050565b611f4b61384e565b61144560006144f3565b600080805b6001600160a01b0384166000908152601360205260409020548111611fd5576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff1615611fc3576000611fb3826122e6565b9050611fbf8184615bed565b9250505b80611fcd81615b77565b915050611f5a565b5092915050565b611fe461384e565b611ff06003600a613844565b6001600160a01b03821661205c5760405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b606482015260840161154d565b60035460405163768bab4560e01b81526001600160a01b039091169063768bab459061208e9085908590600401615d3f565b600060405180830381600087803b1580156120a857600080fd5b505af11580156120bc573d6000803e3d6000fd5b505050505050565b6001600160a01b03821660009081526012602090815260408083208484529091528120600581015481546112319190615b4e565b61210061384e565b611445614543565b6121106137f6565b612118613820565b3360008181526012602090815260408083208584529091529020600181015460ff166121575760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038216600090815260136020908152604080832086845260020190915290205460ff1661219e5760405163346fad7360e01b815260040160405180910390fd5b60285481600201546121b09190615bed565b4211156121d057604051634b3c322760e11b815260040160405180910390fd5b600481015460ff166121f557604051632d1118e960e21b815260040160405180910390fd5b6122016003600a613844565b600061220d8385612530565b9050801561222e576040516312bf4cab60e01b815260040160405180910390fd5b60018201805460ff1990811690915560006002840181905560048401805490921690915560405185916001600160a01b038616917fd66fca94ddede030b58f223f22d6b43407a443bd68e2e73d38ab7675cf480acc9190a350505061109f60018055565b61229a61384e565b6014546001600160a01b0316156122c45760405163b6de9a7160e01b815260040160405180910390fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60195460405163b94fe91760e01b815260048101839052600091829182916001600160a01b03169063b94fe917906024016040805180830381865afa158015612333573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123579190615d58565b9150915081600003611fd557604051633b0c4c3160e11b815260040160405180910390fd5b61238461384e565b6001600160a01b0381166123ab576040516303988b8160e61b815260040160405180910390fd5b601e546001600160a01b03908116908216036123da5760405163aba916dd60e01b815260040160405180910390fd5b601e80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d90600090a35050565b600080805b6001600160a01b038416600090815260136020526040902054811015611fd5576001600160a01b038416600090815260136020526040902080546124919186918490811061248157612481615b61565b9060005260206000200154612530565b61249b9083615bed565b9150806124a781615b77565b915050612431565b6124b761384e565b6001600160a01b0381166124de576040516303988b8160e61b815260040160405180910390fd5b601f80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f3890600090a35050565b6001600160a01b03821660009081526012602090815260408083208484528252808320815160c08101835281548152600182015460ff9081161515948201949094526002820154928101929092526003810154606083018190526004820154909316151560808301526005015460a082015260085490916125cd916125c59190600160801b90046001600160801b0316615b4e565b825190614580565b81516112319190615bed565b6125e16137f6565b6125e9613820565b818060000361260b5760405163162908e360e11b815260040160405180910390fd5b601e54600160a01b900460ff16612635576040516312cefcd560e31b815260040160405180910390fd5b6001600160a01b03821661265c576040516303988b8160e61b815260040160405180910390fd5b6126678484846145c3565b5061267160018055565b505050565b601f546000906001600160a01b031633146126a3576040516282b42960e81b815260040160405180910390fd5b602c546001600160a01b03166126ea5760405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b604482015260640161154d565b60045460218054426022556000909155601f546001600160a01b039283169261271691849116836148c1565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee59060200160405180910390a19150505b90565b6127586137f6565b612760613820565b80806000036127825760405163162908e360e11b815260040160405180910390fd5b61278b33613c2f565b6127976003600a613844565b601f546000906001600160a01b0316156127be57602a546127b990849061387b565b6127c1565b60005b905060006127cf8285615b4e565b905060006127e16003600a84336148e7565b33600090815260136020526040812060010154919250036128165733600090815260136020526040902060010182905561283e565b3360009081526013602052604081206001018054849290612838908490615bed565b90915550505b612846614131565b821561286b57601f5460045461286b916001600160a01b039182169133911686613b4c565b604080518381526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159101611b24565b60006128ad6137f6565b6128b633613c2f565b50600161274d60018055565b6128ca6137f6565b601e546001600160a01b031633146128f4576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff1661293c5760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff166129835760405163346fad7360e01b815260040160405180910390fd5b61298f6003600a613844565b600481015460ff1680156129b4575060285481600201546129b09190615bed565b4211155b156129d2576040516363e5f12d60e11b815260040160405180910390fd5b60006129de8484612530565b60018301805460ff199081169091556000600280860182905560048087018054851690556001600160a01b03808a1684526013602090815260408086208b87529094019052928290208054909416909355601e5490516323b872dd60e01b81529394507f00000000000000000000000000000000000000000000000000000000000000008216936323b872dd93612a7b9330931691899101615b90565b600060405180830381600087803b158015612a9557600080fd5b505af1158015612aa9573d6000803e3d6000fd5b5050506000848152602f602052604080822080546001600160a01b03191690556005546008549151636f3df85160e11b81529293508392839283926001600160a01b03169163de7bf0a291612b18918c918a91600160801b9091046001600160801b0316908d90600401615d7c565b6080604051808303816000875af1158015612b37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5b9190615dab565b600854600160801b90046001600160801b031660038b810191909155546004549498509296509094509250612b9f916001600160a01b039081169133911687613b4c565b6000808755600587018190556007849055612bc190600390600a908790614a2b565b601e5487906001600160a01b03808b1691167f3f2ad1b98f8838e6f90c126ac5f8a9875c7acf2a56aeb8a630c0fa475b07056a88612bfe856122e6565b6040805192835260208301919091520160405180910390a450505050505061122460018055565b612c2d6156e6565b6001600160a01b0382166000908152601360205260409020612c4d6156e6565b815460408051602080840282018101909252828152918491830182828015612c9457602002820191906000526020600020905b815481526020019060010190808311612c80575b505050918352505081546001600160401b03811115612cb557612cb56157d0565b604051908082528060200260200182016040528015612cee57816020015b612cdb6156a5565b815260200190600190039081612cd35790505b506060820152600060208201819052604082018190525b8254811015612e4157306001600160a01b0316631d00ac3a86856000018481548110612d3357612d33615b61565b90600052602060002001546040518363ffffffff1660e01b8152600401612d5b929190615d3f565b60e060405180830381865afa158015612d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d9c9190615df6565b82606001518281518110612db257612db2615b61565b602002602001018190525081606001518181518110612dd357612dd3615b61565b60200260200101516020015182602001818151612df09190615bed565b9052508254612e1b90849083908110612e0b57612e0b615b61565b90600052602060002001546122e6565b82604001818151612e2c9190615bed565b90525080612e3981615b77565b915050612d05565b509392505050565b601a546001600160a01b03163314612e73576040516282b42960e81b815260040160405180910390fd5b61109f6003600a83614b7d565b6003546001600160a01b03163314612eda5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e2075706461746520726577617264730000604482015260640161154d565b6000612ee582611447565b90508015612f68576001600160a01b038216600090815260176020526040812054601554670de0b6b3a764000091612f1c91615b4e565b612f269084615bb4565b612f309190615bcb565b90508015612f66576001600160a01b03831660009081526018602052604081208054839290612f60908490615bed565b90915550505b505b506015546001600160a01b03909116600090815260176020526040902055565b601e546000906001600160a01b0316612fa357506000919050565b601e5460405160009182916001600160a01b0390911690612fc890869060240161573c565b60408051601f198184030181529181526020820180516001600160e01b031663c084b10b60e01b17905251612ffd9190615e84565b600060405180830381855afa9150503d8060008114613038576040519150601f19603f3d011682016040523d82523d6000602084013e61303d565b606091505b5091509150808060200190518101906112319190615c00565b61305e6137f6565b613066613820565b33600081815260126020908152604080832086845290915281209161308b90856120c4565b9050600061309a33868661368f565b601b54601f54604051636eb1769f60e11b81523360048201526001600160a01b039182166024820152929350839291169063dd62ed3e90604401602060405180830381865afa1580156130f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131159190615c00565b1015613134576040516339e067d560e21b815260040160405180910390fd5b601b546040516370a0823160e01b815282916001600160a01b0316906370a082319061316490339060040161573c565b602060405180830381865afa158015613181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131a59190615c00565b10156131c457604051631e9acf1760e31b815260040160405180910390fd5b6131ce85856138a1565b6131d781614c56565b60048301805460ff191660011790556131f08483615bed565b8360050160008282546132039190615bed565b909155505060405182815285907fd5c2dc3f0ec76ece0185d374bca424347955bce9b5e7b08757bb8e1bb8d9c0a99060200160405180910390a250505061122460018055565b6132516137f6565b613259613820565b808060000361327b5760405163162908e360e11b815260040160405180910390fd5b61121a8383336145c3565b61328e61384e565b6003546001600160a01b03908116908416036132e35760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b604482015260640161154d565b6126716001600160a01b03841683836148c1565b600080805b6001600160a01b038416600090815260136020526040902054811015611fd5576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff1615613362576133558482612530565b61335f9083615bed565b91505b8061336c81615b77565b9150506132fc565b61337c6137f6565b613384613820565b6133906003600a613844565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156133f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341b9190615d22565b6001600160a01b031614613442576040516384b359d160e01b815260040160405180910390fd5b336000908152601360209081526040808320848452600281019092529091205460ff16156134835760405163e8edca8360e01b815260040160405180910390fd5b60008281526002820160209081526040808320805460ff191660019081179091558454908101855584845282842001859055848352602f9091529081902080546001600160a01b031916339081179091559051632142170760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916342842e0e91613522919030908790600401615b90565b600060405180830381600087803b15801561353c57600080fd5b505af1158015613550573d6000803e3d6000fd5b50506040518481523392507f1c4b8380f61aea3d5d98cbadaf2e6b2e4f3d8ca8c0fce1290b26ac267158745f915060200160405180910390a25061109f60018055565b6000818152602f60205260408120546001600160a01b0316613638576040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d89190615d22565b506000908152602f60205260409020546001600160a01b031690565b61365c61384e565b6001600160a01b038116613686576000604051631e4fbdf760e01b815260040161154d919061573c565b61109f816144f3565b60008061369c85856120c4565b90506136b660295484836136b09190615bed565b9061387b565b9150505b9392505050565b6136c96137f6565b6136d1613820565b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff161561371a5760405163b84f7eb560e01b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff166137615760405163346fad7360e01b815260040160405180910390fd5b61376d6003600a613844565b60006137798484611162565b9050602754811061379d5760405163317416e560e11b815260040160405180910390fd5b6001828101805460ff1916909117905542600283015560405183906001600160a01b0386169033907f4601ff28b457321206747d0540f02cfb8a9d6bf3021146378e8544e1817e20e790600090a4505061122460018055565b60026001540361381957604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff16156114455760405163d93c066560e01b815260040160405180910390fd5b6112248282614d49565b6000546001600160a01b03163314611445573360405163118cdaa760e01b815260040161154d919061573c565b60008115611388198390048411151761389357600080fd5b506127109102611388010490565b3360009081526012602090815260408083208584529091529020600181015460ff16156138e157604051630bff073160e31b815260040160405180910390fd5b336000908152601360209081526040808320868452600281019092529091205460ff166139215760405163346fad7360e01b815260040160405180910390fd5b600061392c856122e6565b90508060000361394f57604051638dc8d9b360e01b815260040160405180910390fd5b61395b6003600a613844565b61396484613cd6565b600061397b6026548361387b90919063ffffffff16565b90508461398833886112ea565b6139929190615bed565b8110156139b257604051630369fbd160e51b815260040160405180910390fd5b600554600854604051639ceeaca760e01b81523360048201819052602482015260448101889052600160801b9091046001600160801b0316606482015260848101889052600091829182916001600160a01b031690639ceeaca79060a4016060604051808303816000875af1158015613a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a539190615eb3565b600854600160801b90046001600160801b031660038b81019190915554604051635c921eb960e01b815293965091945092506001600160a01b031690635c921eb990613aa59033908c90600401615d3f565b600060405180830381600087803b158015613abf57600080fd5b505af1158015613ad3573d6000803e3d6000fd5b5050505081876000016000828254613aeb9190615bed565b90915550506007819055613b046003600a60008b614a2b565b613b0c614131565b60405188815233907fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a367509060200160405180910390a2505050505050505050565b613ba684856001600160a01b03166323b872dd868686604051602401613b7493929190615b90565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614e72565b50505050565b6014546001600160a01b0316613bd557604051632506892760e01b815260040160405180910390fd5b6006546000819003613be5575050565b811561122457600081613c0084670de0b6b3a7640000615bb4565b613c0a9190615bcb565b90508060146001016000828254613c219190615bed565b909155505042601655505050565b6014546001600160a01b0316613c425750565b6000613c4d82611bfe565b90508015611224576001600160a01b038083166000908152601860209081526040808320839055601554601790925290912055601454613c8f911683836148c1565b816001600160a01b03167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea682604051613cca91815260200190565b60405180910390a25050565b602c546001600160a01b0316613ce95750565b600480546003546040516370a0823160e01b81526000936001600160a01b03938416936370a0823193613d1f939116910161573c565b602060405180830381865afa158015613d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d609190615c00565b905081811015611224576000613d768284615b4e565b602c5460405163ce96cb7760e01b81529192506000916001600160a01b039091169063ce96cb7790613dac90309060040161573c565b602060405180830381865afa158015613dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ded9190615c00565b90506000613dfb8285615bed565b905082811015613e645760405162461bcd60e51b815260206004820152602e60248201527f4e6f7420656e6f756768206c697175696469747920746f2066756c66696c6c2060448201526d1d1a19481dda5d1a191c985dd85b60921b606482015260840161154d565b6006546000613e738783615b4e565b905060008115613e8e57602d54613e8b90839061387b565b90505b8585811115613e9a5750845b8015613ea957613ea981614334565b600480546040516370a0823160e01b81526001600160a01b03909116916370a0823191613ed89130910161573c565b602060405180830381865afa158015613ef5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f199190615c00565b600480546003546040516370a0823160e01b81526001600160a01b03928316936370a0823193613f4b9316910161573c565b602060405180830381865afa158015613f68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f8c9190615c00565b613f969190615bed565b975088881015613ffe5760405162461bcd60e51b815260206004820152602d60248201527f496e73756666696369656e74206c69717569646974792061667465722076617560448201526c1b1d081dda5d1a191c985dd85b609a1b606482015260840161154d565b505050505050505050565b600080600060018510156140305760405163162908e360e11b815260040160405180910390fd5b61403a8787614d49565b86546005880154604051636b81068560e11b8152600092839283926001600160a01b039092169163d7020d0a91614083918b9182918e916001600160801b031690600401615ee8565b6060604051808303816000875af11580156140a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140c69190615f19565b9250925092508295506140dc8a8a600084614a2b565b60408051828152602081018590526001600160a01b038916917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2999198508997509095505050505050565b602c546001600160a01b031661414357565b600654602d5460009061415790839061387b565b600480546003546040516370a0823160e01b81529394506000936001600160a01b03928316936370a082319361418f9316910161573c565b602060405180830381865afa1580156141ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141d09190615c00565b9050818111156141f75760006141e68383615b4e565b90506141f181614ecc565b506142ae565b818110156142ae57600061420b8284615b4e565b90506000602c60009054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015614262573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142869190615c00565b905060008183116142975782614299565b815b905080156142aa576142aa81614334565b5050505b6020805460408051848152928301919091527f8f9497c27f572ff1a65e8b2c7a0706d466466ae0b5efc78462b5f0021da669569101611729565b6142f0615101565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161432a919061573c565b60405180910390a1565b602c546040516328c0620360e01b8152600160048201526000916001600160a01b0316906328c0620390602401602060405180830381865afa15801561437e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a29190615c00565b602c54604051632d182be560e21b815260048101859052306024820181905260448201529192506000916001600160a01b039091169063b460af94906064016020604051808303816000875af1158015614400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144249190615c00565b90506000602060030154831115614487576023546000906144459085615b4e565b9050670de0b6b3a764000061445a8285615bb4565b6144649190615bcb565b9150816020600101600082825461447b9190615bed565b9091555061448b915050565b5060005b60006144978286615b4e565b6003546004549192506144b7916001600160a01b039081169116836148c1565b6020548511156144cb5760006020556144e6565b84602060000160008282546144e09190615b4e565b90915550505b5050506023555042602455565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61454b613820565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861431d3390565b600081156b019d971e4fe8401e7400000019839004841115176145a257600080fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b816000036145e45760405163162908e360e11b815260040160405180910390fd5b6001600160a01b03811661460b576040516303988b8160e61b815260040160405180910390fd5b6001600160a01b0381166000908152601360209081526040808320868452600281019092529091205460ff166146545760405163346fad7360e01b815260040160405180910390fd5b6146606003600a613844565b6001600160a01b03821660009081526012602090815260408083208784529091529020600181015460ff16801561469c5750600481015460ff16155b156146ba5760405163224aae4f60e21b815260040160405180910390fd5b600181015460ff1680156146de575060285481600201546146db9190615bed565b42115b156146fc57604051634b3c322760e11b815260040160405180910390fd5b60006147088487612530565b90506000818611614719578561471b565b815b9050600080600080600360020160009054906101000a90046001600160a01b03166001600160a01b031663de7bf0a28a87600360050160109054906101000a90046001600160801b03168f6040518563ffffffff1660e01b81526004016147859493929190615d7c565b6080604051808303816000875af11580156147a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147c89190615dab565b600854600160801b90046001600160801b031660038c81019190915554600454949850929650909450925061480c916001600160a01b039081169133911688613b4c565b60078390558015614831578087600001600082825461482b9190615bed565b90915550505b865461483e908390615b4e565b8088556005880154111561485457865460058801555b865460000361486557600060058801555b6148746003600a876000614a2b565b6040518581526001600160a01b038a169033907f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac46849060200160405180910390a35050505050505050505050565b61267183846001600160a01b031663a9059cbb8585604051602401613b74929190615d3f565b6000600183101561490b5760405163162908e360e11b815260040160405180910390fd5b6149158585614d49565b84546001860154614935916001600160a01b039182169133911686613b4c565b8454600586015460405163b3f1c93d60e01b81526000928392839283926001600160a01b03169163b3f1c93d916149809130918b918d916001600160801b0390911690600401615ee8565b6080604051808303816000875af115801561499f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149c39190615f47565b93509350935093508294506149db8989896000614a2b565b60408051888152602081018790526001600160a01b038816917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250505050949350505050565b8115614a5857614a3a82615124565b6001600160801b03168460030154614a529190615bed565b60038501555b8015614aaa578084600301541015614a835760405163bb55fd2760e01b815260040160405180910390fd5b614a8c81615124565b6001600160801b03168460030154614aa49190615b4e565b60038501555b600384015460048501546000614ac0878761515c565b90506000614ace88886151bd565b90506000614ae489600301548a60040154615218565b9050614b08886002015489600301548a600401548b600501548c6006015486615264565b600189018190556007890154614b209183918761534e565b8855614b2c8989614d49565b875460018901546040517f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd992614b6a92908252602082015260400190565b60405180910390a1505050505050505050565b6001811015614b9f5760405163824c180760e01b815260040160405180910390fd5b60028201548015614c02576000614bb8826101f461387b565b90506000828411614bd257614bcd8484615b4e565b614bdc565b614bdc8385615b4e565b905081811115614bff57604051631a8b543360e21b815260040160405180910390fd5b50505b60028301829055614c168484600080614a2b565b60408051828152602081018490527fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e91015b60405180910390a150505050565b601f546001600160a01b0316614c7f576040516303988b8160e61b815260040160405180910390fd5b80600003614ca05760405163162908e360e11b815260040160405180910390fd5b601f5460048054604051636033e31560e01b81526001600160a01b0391821692810192909252336024830152604482018490527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f1606483015290911690636033e315906084016020604051808303816000875af1158015614d25573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112249190615f84565b6006820154600090614d629064ffffffffff1642615b4e565b90506001811015614d7257505050565b60058301546001600160801b03166001811015614da257604051630a1cf3ed60e21b815260040160405180910390fd5b82546005850154614dbe919084906001600160801b0316615395565b6005850180546001600160801b0319166001600160801b0392831617908190556001850154614df99290918591600160801b909104166153b2565b6005850180546001600160801b03908116600160801b93821684028181179384905560068901805464ffffffffff19164264ffffffffff16179055604080519184169092178152939092041660208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd82049101614c48565b6000614e876001600160a01b038416836153ce565b90508051600014158015614eac575080806020019051810190614eaa9190615f84565b155b156126715782604051635274afe760e01b815260040161154d919061573c565b600354604051635c921eb960e01b81526001600160a01b0390911690635c921eb990614efe9030908590600401615d3f565b600060405180830381600087803b158015614f1857600080fd5b505af1158015614f2c573d6000803e3d6000fd5b505060048054602c5460405163095ea7b360e01b81526001600160a01b03928316955063095ea7b39450614f67939190921691869101615d3f565b6020604051808303816000875af1158015614f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614faa9190615f84565b50602c54604051636e553f6560e01b8152600481018390523060248201526000916001600160a01b031690636e553f65906044016020604051808303816000875af1158015614ffd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150219190615c00565b602c546040516328c0620360e01b81526000600482018190529293506001600160a01b03909116906328c0620390602401602060405180830381865afa15801561506f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150939190615c00565b9050600082116150dc5760405162461bcd60e51b815260206004820152601460248201527315985d5b1d0819195c1bdcda5d0819985a5b195960621b604482015260640161154d565b82602060000160008282546150f19190615bed565b9091555050602355505042602555565b60025460ff1661144557604051638dfc202b60e01b815260040160405180910390fd5b60006001600160801b03821115615158576040516306dfcc6560e41b8152608060048201526024810183905260440161154d565b5090565b600682015460009081906151779064ffffffffff1642615b4e565b9050600181101561518e57505060048201546111d8565b6005840154600184015461123191600160801b90046001600160801b0316906151b790846153dc565b90614580565b600682015460009081906151d89064ffffffffff1642615b4e565b905060018110156151f857505060058201546001600160801b03166111d8565b60058401548354611231916001600160801b0316906151b790848361542b565b600060018310156152355750676765c793fa10079d601b1b6111d8565b600061525361524e6152478587615bed565b859061545f565b615124565b6001600160801b0316949350505050565b600085871115806152755750838710155b806152805750858511155b8061528b5750838510155b156152a95760405163abc83fed60e01b815260040160405180910390fd5b60008383116152eb5760006152be888a615b4e565b905060006152d6866152d08785614580565b9061545f565b90506152e2818a615bed565b92505050615343565b60006152f78585615b4e565b9050600061531086676765c793fa10079d601b1b615b4e565b9050600061531e8b89615b4e565b90506000615330836152d08685614580565b905061533c818d615bed565b9450505050505b979650505050505050565b6000600182101561536157506000611231565b600061536d8686614580565b9050600061537b8286614580565b905060006153898284615b4e565b98975050505050505050565b6000806153a385858561542b565b90506136b661524e8285614580565b6000806153bf85856153dc565b90506136b661524e8483614580565b60606136ba8383600061549c565b600060018210156153f95750676765c793fa10079d601b1b6111d8565b6000615409846301e1338061545f565b905060006154178285614580565b905061542281615539565b95945050505050565b6000806154388486615bb4565b90506154486301e1338082615bcb565b90506136b681676765c793fa10079d601b1b615bed565b60008115676765c793fa10079d601b1b6002840419048411171561548257600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6060814710156154c1573060405163cd78605960e01b815260040161154d919061573c565b600080856001600160a01b031684866040516154dd9190615e84565b60006040518083038185875af1925050503d806000811461551a576040519150601f19603f3d011682016040523d82523d6000602084013e61551f565b606091505b509150915061552f8683836155e2565b9695505050505050565b6000816000036155555750676765c793fa10079d601b1b919050565b506b169e43a85eb381aa580000006b1363156bbee3016d700000006b1027e72f1f128130880000006b0cecb8f27f4200f3a00000006b09b18ab5df7180b6b80000006b06765c793fa10079d000000086800204808702919091048087029290920480870293909304808702949094048087029590950495010101010101676765c793fa10079d601b1b0190565b6060826155f7576155f282615635565b6136ba565b815115801561560e57506001600160a01b0384163b155b1561562e5783604051639996b31560e01b815260040161154d919061573c565b50806136ba565b8051156156455780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b828054828255906000526020600020908101928215615699579160200282015b8281111561569957825182559160200191906001019061567e565b5061515892915061570e565b6040518060e0016040528060008152602001600081526020016000815260200160001515815260200160008152602001600081526020016000151581525090565b6040518060800160405280606081526020016000815260200160008152602001606081525090565b5b80821115615158576000815560010161570f565b60006020828403121561573557600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461109f57600080fd5b60006020828403121561577757600080fd5b81356136ba81615750565b6000806040838503121561579557600080fd5b82356157a081615750565b946020939093013593505050565b600080604083850312156157c157600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561580b5761580b6157d0565b6040525050565b6000806000806080858703121561582857600080fd5b843561583381615750565b935060208581013561584481615750565b93506040860135925060608601356001600160401b038082111561586757600080fd5b818801915088601f83011261587b57600080fd5b81358181111561588d5761588d6157d0565b60405191506158a5601f8201601f19168501836157e6565b80825289848285010111156158b957600080fd5b808484018584013760008482840101525080935050505092959194509250565b8051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c08301525050565b60e081016111d882846158d9565b6000806040838503121561594257600080fd5b8235600a81106157a057600080fd5b60008060006060848603121561596657600080fd5b8335925060208401359150604084013561597f81615750565b809150509250925092565b600081518084526020808501945080840160005b838110156159c4576159b18783516158d9565b60e096909601959082019060010161599e565b509495945050505050565b60208082528251608083830152805160a0840181905260009291820190839060c08601905b80831015615a1457835182529284019260019290920191908401906159f4565b508387015160408701526040870151606087015260608701519350601f19868203016080870152615343818561598a565b600080600060608486031215615a5a57600080fd5b8335615a6581615750565b92506020840135615a7581615750565b929592945050506040919091013590565b60006101008201905060018060a01b0380845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a083015160018060801b0380821660a08501528060c08601511660c0850152505060e0830151611fd560e084018264ffffffffff169052565b600080600060608486031215615b1857600080fd5b8335615b2381615750565b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111d8576111d8615b38565b634e487b7160e01b600052603260045260246000fd5b600060018201615b8957615b89615b38565b5060010190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b80820281158282048414176111d8576111d8615b38565b600082615be857634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156111d8576111d8615b38565b600060208284031215615c1257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b602080825260159082015274496e76616c696420626f6f6c65616e2076616c756560581b604082015260600190565b600060033d111561274d5760046000803e5060005160e01c90565b600060443d1015615c875790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615cb657505050505090565b8285019150815181811115615cce5750505050505090565b843d8701016020828501011115615ce85750505050505090565b615cf7602082860101876157e6565b509095945050505050565b60008060233d1115615d1e576020600460003e50506000516001905b9091565b600060208284031215615d3457600080fd5b81516136ba81615750565b6001600160a01b03929092168252602082015260400190565b60008060408385031215615d6b57600080fd5b505080516020909101519092909150565b6001600160a01b0394909416845260208401929092526001600160801b03166040830152606082015260800190565b60008060008060808587031215615dc157600080fd5b505082516020840151604085015160609095015191969095509092509050565b80518015158114615df157600080fd5b919050565b600060e08284031215615e0857600080fd5b60405160e081018181106001600160401b0382111715615e2a57615e2a6157d0565b8060405250825181526020830151602082015260408301516040820152615e5360608401615de1565b60608201526080830151608082015260a083015160a0820152615e7860c08401615de1565b60c08201529392505050565b6000825160005b81811015615ea55760208186018101518583015201615e8b565b506000920191825250919050565b600080600060608486031215615ec857600080fd5b615ed184615de1565b925060208401519150604084015190509250925092565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b600080600060608486031215615f2e57600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215615f5d57600080fd5b615f6685615de1565b60208601516040870151606090970151919890975090945092505050565b600060208284031215615f9657600080fd5b6136ba82615de156feafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddfa264697066735822122077d870c1259900b9eda51e9c93e2d2091f654cac2a08bee284105008a890f39264736f6c63430008140033",
|
|
2821
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061042c5760003560e01c80638aabb2d11161022d578063c4f8911c11610131578063e91a7ca6116100be578063e91a7ca614610c25578063e9f2838e14610c38578063ec915ee614610c45578063ef5bac2514610ca6578063f1caf09f14610d6b578063f2fde38b14610d7e578063f5b3b9e714610d91578063f8d8989814610da4578063f91c3b0d14610db7578063fbf4a61214610dca578063fbfa77cf14610dd957600080fd5b8063c4f8911c14610ac0578063c6d6916c14610ad3578063c891091314610ae6578063cd3293de14610b09578063d17e988314610bb3578063d5db7d5d14610bc6578063d81a698614610bd9578063d8aed14514610bec578063e5711e8b14610bff578063e65896c914610c1257600080fd5b8063a5b350c9116101ba578063a5b350c914610973578063a8de483414610986578063a90d728f14610999578063a9bf805c146109a1578063ac919fd4146109b4578063b6b55f25146109db578063b88a802f146109ee578063bf4eccdf146109f6578063bfd91c2314610a09578063c1be667714610a29578063c415b95c14610aad57600080fd5b80638aabb2d1146108b85780638aee8127146108cb5780638bc2ff5b146108de5780638bc7e8c4146109045780638da5cb5b1461090d578063929761791461091e57806397c4fac71461093157806398d721e01461093a5780639daa54b41461094d578063a42dce801461096057600080fd5b80632ab414fc116103345780636061ffc3116102c15780636061ffc3146107af57806367a52793146107ef5780636817031b146107f8578063715018a61461080b57806375417da614610813578063768bab45146108265780637bc7780b1461083957806383ba103f146108415780638429d51f146108545780638456cb591461089f578063883c6b24146108a757600080fd5b80632ab414fc146106205780632e1a7d4d146106335780633adbb5af146106465780633e20bf14146106a95780633f4ba83a146106cd5780634031234c146106d557806340c65f72146106de5780634df9d6ba146106f1578063523a19ac146107045780635c975abb146107a457600080fd5b8063150b7a02116103bd578063150b7a021461055357806316a6c4c51461057f57806316c621e0146105885780631705ffad1461059b57806319c2d37e146105a45780631d00ac3a146105b75780631d4bf4a0146105d75780631d8557d7146105df5780632630c12f146105e757806327156a68146105fa5780632a5bf6d21461060d57600080fd5b8063023245d714610431578063048c661d14610446578063057e9b7b1461046f57806309bf1e73146104865780630ab30d8a146104905780630c34b914146104a85780630c42dcaf146105115780630c679a7b1461051a5780630d4085121461052d5780630ecbcdab14610540575b600080fd5b61044461043f366004615723565b610dec565b005b601e54610459906001600160a01b031681565b604051610466919061573c565b60405180910390f35b61047860275481565b604051908152602001610466565b6104786203f48081565b600854600160801b90046001600160801b0316610478565b6104b06110a2565b6040516104669190600061010082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b610478611f4081565b610444610528366004615765565b611138565b61047861053b366004615782565b611162565b61044461054e3660046157ae565b6111de565b610566610561366004615812565b611228565b6040516001600160e01b03199091168152602001610466565b61047860285481565b610444610596366004615723565b611239565b610478602d5481565b6104786105b2366004615782565b6112ea565b6105ca6105c5366004615782565b611363565b6040516104669190615921565b602154610478565b610444611439565b601954610459906001600160a01b031681565b610478610608366004615765565b611447565b61047861061b366004615765565b61146c565b61044461062e36600461592f565b6114de565b610444610641366004615723565b611a07565b610659610654366004615782565b611b39565b6040516104669190600060c08201905082518252602083015115156020830152604083015160408301526060830151606083015260808301511515608083015260a083015160a083015292915050565b601e546106bd90600160a01b900460ff1681565b6040519015158152602001610466565b610444611bee565b61047860265481565b601c54610459906001600160a01b031681565b6104786106ff366004615765565b611bfe565b61078f610712366004615782565b6001600160a01b0391909116600090815260126020908152604080832093835292815290829020825160c0810184528154808252600183015460ff90811615159483019490945260028301549482019490945260038201546060820181905260048301549093161515608082015260059091015460a09091015291565b60408051928352602083019190915201610466565b60025460ff166106bd565b6014546015546016546107ca926001600160a01b0316919083565b604080516001600160a01b039094168452602084019290925290820152606001610466565b610478602a5481565b610444610806366004615765565b611ca0565b610444611f43565b610478610821366004615765565b611f55565b610444610834366004615782565b611fdc565b600c54610478565b61047861084f366004615782565b6120c4565b60205460215460225460235460245460255461087295949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610466565b6104446120f8565b6008546001600160801b0316610478565b6104446108c6366004615723565b612108565b6104446108d9366004615765565b612292565b7f0000000000000000000000000000000000000000000000000000000000000000610459565b610478602b5481565b6000546001600160a01b0316610459565b61047861092c366004615723565b6122e6565b61047860295481565b610444610948366004615765565b61237c565b61047861095b366004615765565b61242c565b61044461096e366004615765565b6124af565b610478610981366004615782565b612530565b610444610994366004615951565b6125d9565b610478612676565b601a54610459906001600160a01b031681565b6104597f000000000000000000000000000000000000000000000000000000000000000081565b6104446109e9366004615723565b612750565b6106bd6128a3565b610444610a04366004615782565b6128c2565b610a1c610a17366004615765565b612c25565b60405161046691906159cf565b610a7e610a37366004615782565b6012602090815260009283526040808420909152908252902080546001820154600283015460038401546004850154600590950154939460ff938416949293919291169086565b6040805196875294151560208701529385019290925260608401521515608083015260a082015260c001610466565b601f54610459906001600160a01b031681565b610444610ace366004615723565b612e49565b610444610ae1366004615765565b612e80565b610478610af4366004615765565b60136020526000908152604090206001015481565b600354600454600554600654600754600854600954610b55966001600160a01b0390811696811695169392916001600160801b0380821692600160801b909204169064ffffffffff1688565b604080516001600160a01b03998a16815297891660208901529590971694860194909452606085019290925260808401526001600160801b0390811660a08401521660c082015264ffffffffff90911660e082015261010001610466565b610478610bc1366004615765565b612f88565b601b54610459906001600160a01b031681565b610444610be73660046157ae565b613056565b610444610bfa3660046157ae565b613249565b610444610c0d366004615a45565b613286565b610478610c20366004615765565b6132f7565b610444610c33366004615723565b613374565b602e546106bd9060ff1681565b600a54600b54600c54600d54600e54600f54601054601154610c6b979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e082015261010001610466565b610d5e6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091525060408051610100810182526003546001600160a01b039081168252600454811660208301526005541691810191909152600654606082015260075460808201526008546001600160801b0380821660a0840152600160801b9091041660c082015260095464ffffffffff1660e082015290565b6040516104669190615a86565b610459610d79366004615723565b613593565b610444610d8c366004615765565b613654565b610478610d9f366004615b03565b61368f565b601d54610459906001600160a01b031681565b610444610dc5366004615782565b6136c1565b610478670de0b6b3a764000081565b602c54610459906001600160a01b031681565b610df46137f6565b610dfc613820565b3360009081526012602090815260408083208484529091529020600181015460ff1615610e3c576040516367c11db560e01b815260040160405180910390fd5b336000908152601360209081526040808320858452600281019092529091205460ff16610e7c5760405163346fad7360e01b815260040160405180910390fd5b610e886003600a613844565b6000610e9433856112ea565b90508015610eb5576040516302c9375f60e21b815260040160405180910390fd5b60008481526002830160209081526040808320805460ff19169055602f909152812080546001600160a01b03191690558254610ef390600190615b4e565b6001600160401b03811115610f0a57610f0a6157d0565b604051908082528060200260200182016040528015610f33578160200160208202803683370190505b5090506000805b8454811015610fc65786856000018281548110610f5957610f59615b61565b906000526020600020015414610fb457846000018181548110610f7e57610f7e615b61565b9060005260206000200154838381518110610f9b57610f9b615b61565b602090810291909101015281610fb081615b77565b9250505b80610fbe81615b77565b915050610f3a565b508151610fd9908590602085019061565e565b50604051632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e9061102a90309033908b90600401615b90565b600060405180830381600087803b15801561104457600080fd5b505af1158015611058573d6000803e3d6000fd5b50506040518881523392507f2aa1b4c95f3b2da9c955947fca584743ea0d457708fadf209c093061e98c4ccb915060200160405180910390a2505050505061109f60018055565b50565b6110ea60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b506040805161010081018252600a548152600b546020820152600c5491810191909152600d546060820152600e546080820152600f5460a082015260105460c082015260115460e082015290565b61114061384e565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b60008061116e836122e6565b9050600061117c8585612530565b9050600181101561119c57676765c793fa10079d601b1b925050506111d8565b60006111b36026548461387b90919063ffffffff16565b9050816111c882670de0b6b3a7640000615bb4565b6111d29190615bcb565b93505050505b92915050565b6111e66137f6565b6111ee613820565b80806000036112105760405163162908e360e11b815260040160405180910390fd5b61121a83836138a1565b5061122460018055565b5050565b630a85bd0160e11b5b949350505050565b6112416137f6565b6014546001600160a01b031661126a57604051632506892760e01b815260040160405180910390fd5b8060000361128b5760405163162908e360e11b815260040160405180910390fd5b6014546112a3906001600160a01b0316333084613b4c565b6112ac81613bac565b60405181815233907fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d9139060200160405180910390a261109f60018055565b6001600160a01b0382166000908152601260209081526040808320848452825291829020825160c0810184528154808252600183015460ff908116151594830194909452600283015494820194909452600382015460608201526004820154909216151560808301526005015460a09091015292915050565b61136b6156a5565b6113736156a5565b6001600160a01b0384166000908152601260209081526040808320868452825291829020825160c0808201855282548252600183015460ff90811615159483018590526002840154958301958652600384015460608085019190915260048501549091161515608080850191825260059095015460a0850152908701949094529351918501919091528051845290511515918301919091526114158585612530565b60208301526114248585611162565b60408301526060015160a08201529392505050565b6114456003600a613844565b565b6000806114538361146c565b9050600061146084612f88565b90506112318183615bed565b600354604051630481930d60e21b81526000916001600160a01b0316906312064c349061149d90859060040161573c565b602060405180830381865afa1580156114ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d89190615c00565b6114e661384e565b60008260098111156114fa576114fa615c19565b03611593576127108111156115565760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206c69717569646174696f6e207468726573686f6c6400000060448201526064015b60405180910390fd5b6026819055602754602854604080518481526020810193909352820152600080516020615fa0833981519152906060015b60405180910390a15050565b60018260098111156115a7576115a7615c19565b036115e05760278190556026546028546040805192835260208301849052820152600080516020615fa083398151915290606001611587565b60028260098111156115f4576115f4615c19565b036116895762015180811015801561160f575062093a808111155b6116525760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a590819dc9858d9481c195c9a5bd960621b604482015260640161154d565b60288190556026546027546040805192835260208301919091528101829052600080516020615fa083398151915290606001611587565b600382600981111561169d5761169d615c19565b03611736576127108111156116ef5760405162461bcd60e51b8152602060048201526018602482015277526174696f2063616e6e6f7420657863656564203130302560401b604482015260640161154d565b602d80549082905560408051828152602081018490527fab45a8374e3d1f623df0e88a957317731ccc02ed377e5b0213661f85bf60b73191015b60405180910390a1505050565b600482600981111561174a5761174a615c19565b036117b85760018111156117705760405162461bcd60e51b815260040161154d90615c2f565b602e805460ff19166001831490811790915560405160ff909116151581527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f390602001611587565b60058260098111156117cc576117cc615c19565b036118485760018111156117f25760405162461bcd60e51b815260040161154d90615c2f565b601e8054600160a01b60018414810260ff60a01b199092169190911791829055604051910460ff16151581527f932a526fd95bf1b5aab775a957e284733f02db3a9824802cbcbb4fbca239cbe190602001611587565b600682600981111561185c5761185c615c19565b036118e9576127108111156118ab5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420696e737572616e63652066656560581b604482015260640161154d565b602980549082905560408051828152602081018490527f87c461d1c2c7c5cd98495e5517aa11d9df56d0819cc4e8e53d9664c4b18f6db19101611729565b60078260098111156118fd576118fd615c19565b0361194057601180549082905560408051828152602081018490527f1d830358c94d390366ad7162b72e731448e195f3576e63b1f57f5e43c719c5aa9101611729565b600882600981111561195457611954615c19565b0361199757602a80549082905560408051828152602081018490527f828cf983933545af35b9ba46eec951db1cb4c5433c3ec403aeced2963c2647909101611729565b60098260098111156119ab576119ab615c19565b036119ee57602b80549082905560408051828152602081018490527f733071ab8253b372ed26a6d1b04aec71c4bfcd209c93397df32bb77478cdd2c89101611729565b604051630309cb8760e51b815260040160405180910390fd5b611a0f6137f6565b611a17613820565b8080600003611a395760405163162908e360e11b815260040160405180910390fd5b602e5460ff1615611a5d576040516370a7336d60e11b815260040160405180910390fd5b611a6633613c2f565b611a726003600a613844565b601f546000906001600160a01b031615611a9957602b54611a9490849061387b565b611a9c565b60005b90506000611aaa8285615b4e565b9050611ab581613cd6565b6000611ac56003600a8433614009565b50509050611ad1614131565b8215611af657601f54600454611af6916001600160a01b039182169133911686613b4c565b60405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364906020015b60405180910390a25050505061109f60018055565b611b766040518060c00160405280600081526020016000151581526020016000815260200160008152602001600015158152602001600081525090565b506001600160a01b0382166000908152601260209081526040808320848452825291829020825160c08101845281548152600182015460ff908116151593820193909352600282015493810193909352600381015460608401526004810154909116151560808301526005015460a082015292915050565b611bf661384e565b6114456142e8565b6014546000906001600160a01b0316611c1957506000919050565b6000611c2483611447565b905080600003611c375750600092915050565b6001600160a01b038316600090815260176020526040812054601554670de0b6b3a764000091611c6691615b4e565b611c709084615bb4565b611c7a9190615bcb565b6001600160a01b0385166000908152601860205260409020549091506112319082615bed565b611ca861384e565b602c546001600160a01b03828116911614801590611cd05750602c546001600160a01b031615155b15611e3957602c5460405163ce96cb7760e01b81526001600160a01b039091169063ce96cb7790611d0590309060040161573c565b602060405180830381865afa925050508015611d3e575060408051601f3d908101601f19168201909252611d3b91810190615c00565b60015b611e2e57611d4a615c5e565b806308c379a003611da75750611d5e615c79565b80611d695750611dc0565b602c546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e39565b634e487b7103611dc057611db9615d02565b90611d6957505b3d808015611dea576040519150601f19603f3d011682016040523d82523d6000602084013e611def565b606091505b50602c546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e39565b611e3781614334565b505b602c80546001600160a01b031981166001600160a01b0384811691821790935560048054604080516338d52e0f60e01b815290519486169591909116936338d52e0f928281019260209291908290030181865afa158015611e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec29190615d22565b6001600160a01b031614158015611ee157506001600160a01b03821615155b15611eff57604051631b3b488360e11b815260040160405180910390fd5b816001600160a01b0316816001600160a01b03167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea3960405160405180910390a35050565b611f4b61384e565b61144560006144f3565b600080805b6001600160a01b0384166000908152601360205260409020548111611fd5576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff1615611fc3576000611fb3826122e6565b9050611fbf8184615bed565b9250505b80611fcd81615b77565b915050611f5a565b5092915050565b611fe461384e565b611ff06003600a613844565b6001600160a01b03821661205c5760405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b606482015260840161154d565b60035460405163768bab4560e01b81526001600160a01b039091169063768bab459061208e9085908590600401615d3f565b600060405180830381600087803b1580156120a857600080fd5b505af11580156120bc573d6000803e3d6000fd5b505050505050565b6001600160a01b03821660009081526012602090815260408083208484529091528120600581015481546112319190615b4e565b61210061384e565b611445614543565b6121106137f6565b612118613820565b3360008181526012602090815260408083208584529091529020600181015460ff166121575760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038216600090815260136020908152604080832086845260020190915290205460ff1661219e5760405163346fad7360e01b815260040160405180910390fd5b60285481600201546121b09190615bed565b4211156121d057604051634b3c322760e11b815260040160405180910390fd5b600481015460ff166121f557604051632d1118e960e21b815260040160405180910390fd5b6122016003600a613844565b600061220d8385612530565b9050801561222e576040516312bf4cab60e01b815260040160405180910390fd5b60018201805460ff1990811690915560006002840181905560048401805490921690915560405185916001600160a01b038616917fd66fca94ddede030b58f223f22d6b43407a443bd68e2e73d38ab7675cf480acc9190a350505061109f60018055565b61229a61384e565b6014546001600160a01b0316156122c45760405163b6de9a7160e01b815260040160405180910390fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60195460405163b94fe91760e01b815260048101839052600091829182916001600160a01b03169063b94fe917906024016040805180830381865afa158015612333573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123579190615d58565b9150915081600003611fd557604051633b0c4c3160e11b815260040160405180910390fd5b61238461384e565b6001600160a01b0381166123ab576040516303988b8160e61b815260040160405180910390fd5b601e546001600160a01b03908116908216036123da5760405163aba916dd60e01b815260040160405180910390fd5b601e80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d90600090a35050565b600080805b6001600160a01b038416600090815260136020526040902054811015611fd5576001600160a01b038416600090815260136020526040902080546124919186918490811061248157612481615b61565b9060005260206000200154612530565b61249b9083615bed565b9150806124a781615b77565b915050612431565b6124b761384e565b6001600160a01b0381166124de576040516303988b8160e61b815260040160405180910390fd5b601f80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f3890600090a35050565b6001600160a01b03821660009081526012602090815260408083208484528252808320815160c08101835281548152600182015460ff9081161515948201949094526002820154928101929092526003810154606083018190526004820154909316151560808301526005015460a082015260085490916125cd916125c59190600160801b90046001600160801b0316615b4e565b825190614580565b81516112319190615bed565b6125e16137f6565b6125e9613820565b818060000361260b5760405163162908e360e11b815260040160405180910390fd5b601e54600160a01b900460ff16612635576040516312cefcd560e31b815260040160405180910390fd5b6001600160a01b03821661265c576040516303988b8160e61b815260040160405180910390fd5b6126678484846145c3565b5061267160018055565b505050565b601f546000906001600160a01b031633146126a3576040516282b42960e81b815260040160405180910390fd5b602c546001600160a01b03166126ea5760405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b604482015260640161154d565b60045460218054426022556000909155601f546001600160a01b039283169261271691849116836148c1565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee59060200160405180910390a19150505b90565b6127586137f6565b612760613820565b80806000036127825760405163162908e360e11b815260040160405180910390fd5b61278b33613c2f565b6127976003600a613844565b601f546000906001600160a01b0316156127be57602a546127b990849061387b565b6127c1565b60005b905060006127cf8285615b4e565b905060006127e16003600a84336148e7565b33600090815260136020526040812060010154919250036128165733600090815260136020526040902060010182905561283e565b3360009081526013602052604081206001018054849290612838908490615bed565b90915550505b612846614131565b821561286b57601f5460045461286b916001600160a01b039182169133911686613b4c565b604080518381526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159101611b24565b60006128ad6137f6565b6128b633613c2f565b50600161274d60018055565b6128ca6137f6565b601e546001600160a01b031633146128f4576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff1661293c5760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff166129835760405163346fad7360e01b815260040160405180910390fd5b61298f6003600a613844565b600481015460ff1680156129b4575060285481600201546129b09190615bed565b4211155b156129d2576040516363e5f12d60e11b815260040160405180910390fd5b60006129de8484612530565b60018301805460ff199081169091556000600280860182905560048087018054851690556001600160a01b03808a1684526013602090815260408086208b87529094019052928290208054909416909355601e5490516323b872dd60e01b81529394507f00000000000000000000000000000000000000000000000000000000000000008216936323b872dd93612a7b9330931691899101615b90565b600060405180830381600087803b158015612a9557600080fd5b505af1158015612aa9573d6000803e3d6000fd5b5050506000848152602f602052604080822080546001600160a01b03191690556005546008549151636f3df85160e11b81529293508392839283926001600160a01b03169163de7bf0a291612b18918c918a91600160801b9091046001600160801b0316908d90600401615d7c565b6080604051808303816000875af1158015612b37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5b9190615dab565b600854600160801b90046001600160801b031660038b810191909155546004549498509296509094509250612b9f916001600160a01b039081169133911687613b4c565b6000808755600587018190556007849055612bc190600390600a908790614a2b565b601e5487906001600160a01b03808b1691167f3f2ad1b98f8838e6f90c126ac5f8a9875c7acf2a56aeb8a630c0fa475b07056a88612bfe856122e6565b6040805192835260208301919091520160405180910390a450505050505061122460018055565b612c2d6156e6565b6001600160a01b0382166000908152601360205260409020612c4d6156e6565b815460408051602080840282018101909252828152918491830182828015612c9457602002820191906000526020600020905b815481526020019060010190808311612c80575b505050918352505081546001600160401b03811115612cb557612cb56157d0565b604051908082528060200260200182016040528015612cee57816020015b612cdb6156a5565b815260200190600190039081612cd35790505b506060820152600060208201819052604082018190525b8254811015612e4157306001600160a01b0316631d00ac3a86856000018481548110612d3357612d33615b61565b90600052602060002001546040518363ffffffff1660e01b8152600401612d5b929190615d3f565b60e060405180830381865afa158015612d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d9c9190615df6565b82606001518281518110612db257612db2615b61565b602002602001018190525081606001518181518110612dd357612dd3615b61565b60200260200101516020015182602001818151612df09190615bed565b9052508254612e1b90849083908110612e0b57612e0b615b61565b90600052602060002001546122e6565b82604001818151612e2c9190615bed565b90525080612e3981615b77565b915050612d05565b509392505050565b601a546001600160a01b03163314612e73576040516282b42960e81b815260040160405180910390fd5b61109f6003600a83614b7d565b6003546001600160a01b03163314612eda5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e2075706461746520726577617264730000604482015260640161154d565b6000612ee582611447565b90508015612f68576001600160a01b038216600090815260176020526040812054601554670de0b6b3a764000091612f1c91615b4e565b612f269084615bb4565b612f309190615bcb565b90508015612f66576001600160a01b03831660009081526018602052604081208054839290612f60908490615bed565b90915550505b505b506015546001600160a01b03909116600090815260176020526040902055565b601e546000906001600160a01b0316612fa357506000919050565b601e5460405160009182916001600160a01b0390911690612fc890869060240161573c565b60408051601f198184030181529181526020820180516001600160e01b031663c084b10b60e01b17905251612ffd9190615e84565b600060405180830381855afa9150503d8060008114613038576040519150601f19603f3d011682016040523d82523d6000602084013e61303d565b606091505b5091509150808060200190518101906112319190615c00565b61305e6137f6565b613066613820565b33600081815260126020908152604080832086845290915281209161308b90856120c4565b9050600061309a33868661368f565b601b54601f54604051636eb1769f60e11b81523360048201526001600160a01b039182166024820152929350839291169063dd62ed3e90604401602060405180830381865afa1580156130f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131159190615c00565b1015613134576040516339e067d560e21b815260040160405180910390fd5b601b546040516370a0823160e01b815282916001600160a01b0316906370a082319061316490339060040161573c565b602060405180830381865afa158015613181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131a59190615c00565b10156131c457604051631e9acf1760e31b815260040160405180910390fd5b6131ce85856138a1565b6131d781614c56565b60048301805460ff191660011790556131f08483615bed565b8360050160008282546132039190615bed565b909155505060405182815285907fd5c2dc3f0ec76ece0185d374bca424347955bce9b5e7b08757bb8e1bb8d9c0a99060200160405180910390a250505061122460018055565b6132516137f6565b613259613820565b808060000361327b5760405163162908e360e11b815260040160405180910390fd5b61121a8383336145c3565b61328e61384e565b6003546001600160a01b03908116908416036132e35760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b604482015260640161154d565b6126716001600160a01b03841683836148c1565b600080805b6001600160a01b038416600090815260136020526040902054811015611fd5576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff1615613362576133558482612530565b61335f9083615bed565b91505b8061336c81615b77565b9150506132fc565b61337c6137f6565b613384613820565b6133906003600a613844565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156133f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341b9190615d22565b6001600160a01b031614613442576040516384b359d160e01b815260040160405180910390fd5b336000908152601360209081526040808320848452600281019092529091205460ff16156134835760405163e8edca8360e01b815260040160405180910390fd5b60008281526002820160209081526040808320805460ff191660019081179091558454908101855584845282842001859055848352602f9091529081902080546001600160a01b031916339081179091559051632142170760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916342842e0e91613522919030908790600401615b90565b600060405180830381600087803b15801561353c57600080fd5b505af1158015613550573d6000803e3d6000fd5b50506040518481523392507f1c4b8380f61aea3d5d98cbadaf2e6b2e4f3d8ca8c0fce1290b26ac267158745f915060200160405180910390a25061109f60018055565b6000818152602f60205260408120546001600160a01b0316613638576040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d89190615d22565b506000908152602f60205260409020546001600160a01b031690565b61365c61384e565b6001600160a01b038116613686576000604051631e4fbdf760e01b815260040161154d919061573c565b61109f816144f3565b60008061369c85856120c4565b90506136b660295484836136b09190615bed565b9061387b565b9150505b9392505050565b6136c96137f6565b6136d1613820565b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff161561371a5760405163b84f7eb560e01b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff166137615760405163346fad7360e01b815260040160405180910390fd5b61376d6003600a613844565b60006137798484611162565b9050602754811061379d5760405163317416e560e11b815260040160405180910390fd5b6001828101805460ff1916909117905542600283015560405183906001600160a01b0386169033907f4601ff28b457321206747d0540f02cfb8a9d6bf3021146378e8544e1817e20e790600090a4505061122460018055565b60026001540361381957604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff16156114455760405163d93c066560e01b815260040160405180910390fd5b6112248282614d49565b6000546001600160a01b03163314611445573360405163118cdaa760e01b815260040161154d919061573c565b60008115611388198390048411151761389357600080fd5b506127109102611388010490565b3360009081526012602090815260408083208584529091529020600181015460ff16156138e157604051630bff073160e31b815260040160405180910390fd5b336000908152601360209081526040808320868452600281019092529091205460ff166139215760405163346fad7360e01b815260040160405180910390fd5b600061392c856122e6565b90508060000361394f57604051638dc8d9b360e01b815260040160405180910390fd5b61395b6003600a613844565b61396484613cd6565b600061397b6026548361387b90919063ffffffff16565b90508461398833886112ea565b6139929190615bed565b8110156139b257604051630369fbd160e51b815260040160405180910390fd5b600554600854604051639ceeaca760e01b81523360048201819052602482015260448101889052600160801b9091046001600160801b0316606482015260848101889052600091829182916001600160a01b031690639ceeaca79060a4016060604051808303816000875af1158015613a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a539190615eb3565b600854600160801b90046001600160801b031660038b81019190915554604051635c921eb960e01b815293965091945092506001600160a01b031690635c921eb990613aa59033908c90600401615d3f565b600060405180830381600087803b158015613abf57600080fd5b505af1158015613ad3573d6000803e3d6000fd5b5050505081876000016000828254613aeb9190615bed565b90915550506007819055613b046003600a60008b614a2b565b613b0c614131565b60405188815233907fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a367509060200160405180910390a2505050505050505050565b613ba684856001600160a01b03166323b872dd868686604051602401613b7493929190615b90565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614e72565b50505050565b6014546001600160a01b0316613bd557604051632506892760e01b815260040160405180910390fd5b6006546000819003613be5575050565b811561122457600081613c0084670de0b6b3a7640000615bb4565b613c0a9190615bcb565b90508060146001016000828254613c219190615bed565b909155505042601655505050565b6014546001600160a01b0316613c425750565b6000613c4d82611bfe565b90508015611224576001600160a01b038083166000908152601860209081526040808320839055601554601790925290912055601454613c8f911683836148c1565b816001600160a01b03167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea682604051613cca91815260200190565b60405180910390a25050565b602c546001600160a01b0316613ce95750565b600480546003546040516370a0823160e01b81526000936001600160a01b03938416936370a0823193613d1f939116910161573c565b602060405180830381865afa158015613d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d609190615c00565b905081811015611224576000613d768284615b4e565b602c5460405163ce96cb7760e01b81529192506000916001600160a01b039091169063ce96cb7790613dac90309060040161573c565b602060405180830381865afa158015613dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ded9190615c00565b90506000613dfb8285615bed565b905082811015613e645760405162461bcd60e51b815260206004820152602e60248201527f4e6f7420656e6f756768206c697175696469747920746f2066756c66696c6c2060448201526d1d1a19481dda5d1a191c985dd85b60921b606482015260840161154d565b6006546000613e738783615b4e565b905060008115613e8e57602d54613e8b90839061387b565b90505b8585811115613e9a5750845b8015613ea957613ea981614334565b600480546040516370a0823160e01b81526001600160a01b03909116916370a0823191613ed89130910161573c565b602060405180830381865afa158015613ef5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f199190615c00565b600480546003546040516370a0823160e01b81526001600160a01b03928316936370a0823193613f4b9316910161573c565b602060405180830381865afa158015613f68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f8c9190615c00565b613f969190615bed565b975088881015613ffe5760405162461bcd60e51b815260206004820152602d60248201527f496e73756666696369656e74206c69717569646974792061667465722076617560448201526c1b1d081dda5d1a191c985dd85b609a1b606482015260840161154d565b505050505050505050565b600080600060018510156140305760405163162908e360e11b815260040160405180910390fd5b61403a8787614d49565b86546005880154604051636b81068560e11b8152600092839283926001600160a01b039092169163d7020d0a91614083918b9182918e916001600160801b031690600401615ee8565b6060604051808303816000875af11580156140a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140c69190615f19565b9250925092508295506140dc8a8a600084614a2b565b60408051828152602081018590526001600160a01b038916917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2999198508997509095505050505050565b602c546001600160a01b031661414357565b600654602d5460009061415790839061387b565b600480546003546040516370a0823160e01b81529394506000936001600160a01b03928316936370a082319361418f9316910161573c565b602060405180830381865afa1580156141ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141d09190615c00565b9050818111156141f75760006141e68383615b4e565b90506141f181614ecc565b506142ae565b818110156142ae57600061420b8284615b4e565b90506000602c60009054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015614262573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142869190615c00565b905060008183116142975782614299565b815b905080156142aa576142aa81614334565b5050505b6020805460408051848152928301919091527f8f9497c27f572ff1a65e8b2c7a0706d466466ae0b5efc78462b5f0021da669569101611729565b6142f0615101565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161432a919061573c565b60405180910390a1565b602c546040516328c0620360e01b8152600160048201526000916001600160a01b0316906328c0620390602401602060405180830381865afa15801561437e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a29190615c00565b602c54604051632d182be560e21b815260048101859052306024820181905260448201529192506000916001600160a01b039091169063b460af94906064016020604051808303816000875af1158015614400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144249190615c00565b90506000602060030154831115614487576023546000906144459085615b4e565b9050670de0b6b3a764000061445a8285615bb4565b6144649190615bcb565b9150816020600101600082825461447b9190615bed565b9091555061448b915050565b5060005b60006144978286615b4e565b6003546004549192506144b7916001600160a01b039081169116836148c1565b6020548511156144cb5760006020556144e6565b84602060000160008282546144e09190615b4e565b90915550505b5050506023555042602455565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61454b613820565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861431d3390565b600081156b019d971e4fe8401e7400000019839004841115176145a257600080fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b816000036145e45760405163162908e360e11b815260040160405180910390fd5b6001600160a01b03811661460b576040516303988b8160e61b815260040160405180910390fd5b6001600160a01b0381166000908152601360209081526040808320868452600281019092529091205460ff166146545760405163346fad7360e01b815260040160405180910390fd5b6146606003600a613844565b6001600160a01b03821660009081526012602090815260408083208784529091529020600181015460ff16801561469c5750600481015460ff16155b156146ba5760405163224aae4f60e21b815260040160405180910390fd5b600181015460ff1680156146de575060285481600201546146db9190615bed565b42115b156146fc57604051634b3c322760e11b815260040160405180910390fd5b60006147088487612530565b90506000818611614719578561471b565b815b9050600080600080600360020160009054906101000a90046001600160a01b03166001600160a01b031663de7bf0a28a87600360050160109054906101000a90046001600160801b03168f6040518563ffffffff1660e01b81526004016147859493929190615d7c565b6080604051808303816000875af11580156147a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147c89190615dab565b600854600160801b90046001600160801b031660038c81019190915554600454949850929650909450925061480c916001600160a01b039081169133911688613b4c565b60078390558015614831578087600001600082825461482b9190615bed565b90915550505b865461483e908390615b4e565b8088556005880154111561485457865460058801555b865460000361486557600060058801555b6148746003600a876000614a2b565b6040518581526001600160a01b038a169033907f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac46849060200160405180910390a35050505050505050505050565b61267183846001600160a01b031663a9059cbb8585604051602401613b74929190615d3f565b6000600183101561490b5760405163162908e360e11b815260040160405180910390fd5b6149158585614d49565b84546001860154614935916001600160a01b039182169133911686613b4c565b8454600586015460405163b3f1c93d60e01b81526000928392839283926001600160a01b03169163b3f1c93d916149809130918b918d916001600160801b0390911690600401615ee8565b6080604051808303816000875af115801561499f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149c39190615f47565b93509350935093508294506149db8989896000614a2b565b60408051888152602081018790526001600160a01b038816917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250505050949350505050565b8115614a5857614a3a82615124565b6001600160801b03168460030154614a529190615bed565b60038501555b8015614aaa578084600301541015614a835760405163bb55fd2760e01b815260040160405180910390fd5b614a8c81615124565b6001600160801b03168460030154614aa49190615b4e565b60038501555b600384015460048501546000614ac0878761515c565b90506000614ace88886151bd565b90506000614ae489600301548a60040154615218565b9050614b08886002015489600301548a600401548b600501548c6006015486615264565b600189018190556007890154614b209183918761534e565b8855614b2c8989614d49565b875460018901546040517f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd992614b6a92908252602082015260400190565b60405180910390a1505050505050505050565b6001811015614b9f5760405163824c180760e01b815260040160405180910390fd5b60028201548015614c02576000614bb8826101f461387b565b90506000828411614bd257614bcd8484615b4e565b614bdc565b614bdc8385615b4e565b905081811115614bff57604051631a8b543360e21b815260040160405180910390fd5b50505b60028301829055614c168484600080614a2b565b60408051828152602081018490527fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e91015b60405180910390a150505050565b601f546001600160a01b0316614c7f576040516303988b8160e61b815260040160405180910390fd5b80600003614ca05760405163162908e360e11b815260040160405180910390fd5b601f5460048054604051636033e31560e01b81526001600160a01b0391821692810192909252336024830152604482018490527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f1606483015290911690636033e315906084016020604051808303816000875af1158015614d25573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112249190615f84565b6006820154600090614d629064ffffffffff1642615b4e565b90506001811015614d7257505050565b60058301546001600160801b03166001811015614da257604051630a1cf3ed60e21b815260040160405180910390fd5b82546005850154614dbe919084906001600160801b0316615395565b6005850180546001600160801b0319166001600160801b0392831617908190556001850154614df99290918591600160801b909104166153b2565b6005850180546001600160801b03908116600160801b93821684028181179384905560068901805464ffffffffff19164264ffffffffff16179055604080519184169092178152939092041660208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd82049101614c48565b6000614e876001600160a01b038416836153ce565b90508051600014158015614eac575080806020019051810190614eaa9190615f84565b155b156126715782604051635274afe760e01b815260040161154d919061573c565b600354604051635c921eb960e01b81526001600160a01b0390911690635c921eb990614efe9030908590600401615d3f565b600060405180830381600087803b158015614f1857600080fd5b505af1158015614f2c573d6000803e3d6000fd5b505060048054602c5460405163095ea7b360e01b81526001600160a01b03928316955063095ea7b39450614f67939190921691869101615d3f565b6020604051808303816000875af1158015614f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614faa9190615f84565b50602c54604051636e553f6560e01b8152600481018390523060248201526000916001600160a01b031690636e553f65906044016020604051808303816000875af1158015614ffd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150219190615c00565b602c546040516328c0620360e01b81526000600482018190529293506001600160a01b03909116906328c0620390602401602060405180830381865afa15801561506f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150939190615c00565b9050600082116150dc5760405162461bcd60e51b815260206004820152601460248201527315985d5b1d0819195c1bdcda5d0819985a5b195960621b604482015260640161154d565b82602060000160008282546150f19190615bed565b9091555050602355505042602555565b60025460ff1661144557604051638dfc202b60e01b815260040160405180910390fd5b60006001600160801b03821115615158576040516306dfcc6560e41b8152608060048201526024810183905260440161154d565b5090565b600682015460009081906151779064ffffffffff1642615b4e565b9050600181101561518e57505060048201546111d8565b6005840154600184015461123191600160801b90046001600160801b0316906151b790846153dc565b90614580565b600682015460009081906151d89064ffffffffff1642615b4e565b905060018110156151f857505060058201546001600160801b03166111d8565b60058401548354611231916001600160801b0316906151b790848361542b565b600060018310156152355750676765c793fa10079d601b1b6111d8565b600061525361524e6152478587615bed565b859061545f565b615124565b6001600160801b0316949350505050565b600085871115806152755750838710155b806152805750858511155b8061528b5750838510155b156152a95760405163abc83fed60e01b815260040160405180910390fd5b60008383116152eb5760006152be888a615b4e565b905060006152d6866152d08785614580565b9061545f565b90506152e2818a615bed565b92505050615343565b60006152f78585615b4e565b9050600061531086676765c793fa10079d601b1b615b4e565b9050600061531e8b89615b4e565b90506000615330836152d08685614580565b905061533c818d615bed565b9450505050505b979650505050505050565b6000600182101561536157506000611231565b600061536d8686614580565b9050600061537b8286614580565b905060006153898284615b4e565b98975050505050505050565b6000806153a385858561542b565b90506136b661524e8285614580565b6000806153bf85856153dc565b90506136b661524e8483614580565b60606136ba8383600061549c565b600060018210156153f95750676765c793fa10079d601b1b6111d8565b6000615409846301e1338061545f565b905060006154178285614580565b905061542281615539565b95945050505050565b6000806154388486615bb4565b90506154486301e1338082615bcb565b90506136b681676765c793fa10079d601b1b615bed565b60008115676765c793fa10079d601b1b6002840419048411171561548257600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6060814710156154c1573060405163cd78605960e01b815260040161154d919061573c565b600080856001600160a01b031684866040516154dd9190615e84565b60006040518083038185875af1925050503d806000811461551a576040519150601f19603f3d011682016040523d82523d6000602084013e61551f565b606091505b509150915061552f8683836155e2565b9695505050505050565b6000816000036155555750676765c793fa10079d601b1b919050565b506b169e43a85eb381aa580000006b1363156bbee3016d700000006b1027e72f1f128130880000006b0cecb8f27f4200f3a00000006b09b18ab5df7180b6b80000006b06765c793fa10079d000000086800204808702919091048087029290920480870293909304808702949094048087029590950495010101010101676765c793fa10079d601b1b0190565b6060826155f7576155f282615635565b6136ba565b815115801561560e57506001600160a01b0384163b155b1561562e5783604051639996b31560e01b815260040161154d919061573c565b50806136ba565b8051156156455780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b828054828255906000526020600020908101928215615699579160200282015b8281111561569957825182559160200191906001019061567e565b5061515892915061570e565b6040518060e0016040528060008152602001600081526020016000815260200160001515815260200160008152602001600081526020016000151581525090565b6040518060800160405280606081526020016000815260200160008152602001606081525090565b5b80821115615158576000815560010161570f565b60006020828403121561573557600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461109f57600080fd5b60006020828403121561577757600080fd5b81356136ba81615750565b6000806040838503121561579557600080fd5b82356157a081615750565b946020939093013593505050565b600080604083850312156157c157600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561580b5761580b6157d0565b6040525050565b6000806000806080858703121561582857600080fd5b843561583381615750565b935060208581013561584481615750565b93506040860135925060608601356001600160401b038082111561586757600080fd5b818801915088601f83011261587b57600080fd5b81358181111561588d5761588d6157d0565b60405191506158a5601f8201601f19168501836157e6565b80825289848285010111156158b957600080fd5b808484018584013760008482840101525080935050505092959194509250565b8051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c08301525050565b60e081016111d882846158d9565b6000806040838503121561594257600080fd5b8235600a81106157a057600080fd5b60008060006060848603121561596657600080fd5b8335925060208401359150604084013561597f81615750565b809150509250925092565b600081518084526020808501945080840160005b838110156159c4576159b18783516158d9565b60e096909601959082019060010161599e565b509495945050505050565b60208082528251608083830152805160a0840181905260009291820190839060c08601905b80831015615a1457835182529284019260019290920191908401906159f4565b508387015160408701526040870151606087015260608701519350601f19868203016080870152615343818561598a565b600080600060608486031215615a5a57600080fd5b8335615a6581615750565b92506020840135615a7581615750565b929592945050506040919091013590565b60006101008201905060018060a01b0380845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a083015160018060801b0380821660a08501528060c08601511660c0850152505060e0830151611fd560e084018264ffffffffff169052565b600080600060608486031215615b1857600080fd5b8335615b2381615750565b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111d8576111d8615b38565b634e487b7160e01b600052603260045260246000fd5b600060018201615b8957615b89615b38565b5060010190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b80820281158282048414176111d8576111d8615b38565b600082615be857634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156111d8576111d8615b38565b600060208284031215615c1257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b602080825260159082015274496e76616c696420626f6f6c65616e2076616c756560581b604082015260600190565b600060033d111561274d5760046000803e5060005160e01c90565b600060443d1015615c875790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615cb657505050505090565b8285019150815181811115615cce5750505050505090565b843d8701016020828501011115615ce85750505050505090565b615cf7602082860101876157e6565b509095945050505050565b60008060233d1115615d1e576020600460003e50506000516001905b9091565b600060208284031215615d3457600080fd5b81516136ba81615750565b6001600160a01b03929092168252602082015260400190565b60008060408385031215615d6b57600080fd5b505080516020909101519092909150565b6001600160a01b0394909416845260208401929092526001600160801b03166040830152606082015260800190565b60008060008060808587031215615dc157600080fd5b505082516020840151604085015160609095015191969095509092509050565b80518015158114615df157600080fd5b919050565b600060e08284031215615e0857600080fd5b60405160e081018181106001600160401b0382111715615e2a57615e2a6157d0565b8060405250825181526020830151602082015260408301516040820152615e5360608401615de1565b60608201526080830151608082015260a083015160a0820152615e7860c08401615de1565b60c08201529392505050565b6000825160005b81811015615ea55760208186018101518583015201615e8b565b506000920191825250919050565b600080600060608486031215615ec857600080fd5b615ed184615de1565b925060208401519150604084015190509250925092565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b600080600060608486031215615f2e57600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215615f5d57600080fd5b615f6685615de1565b60208601516040870151606090970151919890975090945092505050565b600060208284031215615f9657600080fd5b6136ba82615de156feafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddfa264697066735822122077d870c1259900b9eda51e9c93e2d2091f654cac2a08bee284105008a890f39264736f6c63430008140033",
|
|
3484
|
+
"bytecode": "0x34620000e857620066e53881900360a0601f8201601f19168101906001600160401b03821190821017620000ed5761010092829160405260a03912620000e857620000976200004d62000103565b620000576200011a565b6200006162000131565b6200006b62000148565b6200007562000160565b906200008062000178565b9261016051946200009062000190565b96620001a8565b604051615fe59081620006e08239608051818181610b1d01528181610f1a0152818161256e0152818161266d0152818161272801528181612a2001528181612d3f0152818161325201526133ee0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60a051906001600160a01b0382168203620000e857565b60c051906001600160a01b0382168203620000e857565b60e051906001600160a01b0382168203620000e857565b61010051906001600160a01b0382168203620000e857565b61012051906001600160a01b0382168203620000e857565b61014051906001600160a01b0382168203620000e857565b61018051906001600160a01b0382168203620000e857565b969593909433156200047b57602f8054336001600160a01b0319821681179092556001600160a01b0392919083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36001603055169687156200044657620002c16200030a9662000268620002e394620002466200030598620004439d60805260018060a01b031660018060a01b03196033541617603355565b603480546001600160a01b0319166001600160a01b0392909216919091179055565b7b033b2e3c9fd0803ce800000000000000033b2e3c9fd0803ce80000006005556006805464ffffffffff19164264ffffffffff16179055600080546001600160a01b0319166001600160a01b0392909216919091179055565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600955565b620003206200031b6009546200063b565b600a55565b620003366200033160095462000672565b600b55565b6200034c62000347600954620006a8565b600c55565b620003626b0295be96e640669720000000600d55565b6200036d6000600e55565b620003836b033b2e3c9fd0803ce8000000600755565b620003996b033b2e3c9fd0803ce8000000600855565b620003a5611f40602555565b620003b7670de0b6b3a7640000602655565b620003c46203f480602755565b620003d96a084595161401484a000000602b55565b620003ee6a084595161401484a000000602c55565b620003fa6107d0602a55565b6200040661012c602855565b62000419600160ff196024541617602455565b62000425610708602d55565b6200043081620004ab565b506200043c8162000534565b50620005e1565b50565b60405162461bcd60e51b815260206004820152600d60248201526c5a65726f20726567697374727960981b6044820152606490fd5b604051631e4fbdf760e01b815260006004820152602490fd5b9060018060a01b0316600052602052604060002090565b6000808052603260205260ff620004e2837ebcd6ff29ae71d399fb597d99792fa72d0863bd723b9ab11f79d0b8d8ac5bc862000494565b54166200052f57808052603260205262000500826040832062000494565b805460ff1916600117905533916001600160a01b031690600080516020620066c58339815191528180a4600190565b905090565b7f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1600081815260326020529060ff6200058e847f08ae08a1778cb01871246af592e3e907ec9ba7bc1cc0b308a58e75fd2ee1dfba62000494565b5416620005db578082526032602052620005ac836040842062000494565b805460ff1916600117905533926001600160a01b031691600080516020620066c58339815191529080a4600190565b50905090565b7fba279271fb7bbf76a6f3df3cc57bf80647fcafdea60ec3383d90f459de74e7c0600081815260326020529060ff6200058e847f4be98a500fedc87dbf83b0f2e386ce313ece8458dab0590898ef9a4135d1921462000494565b7e1a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e90d8111620000e8576113886109c46127109202010490565b7e0d1b71758e219652bd3c36113404ea4a8c154c985f06f694467381d7dbf4868111620000e85761271090611388809102010490565b7e01a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e908111620000e857611388619c40612710920201049056fe6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146105bd57806302768de4146105b8578063048c661d146105b3578063086c33e1146105ae57806309bf1e73146105a95780630ab30d8a146105a45780630c34b9141461059f5780630c42dcaf1461059a5780630c679a7b14610595578063150b7a0214610590578063152f15841461058b57806316c621e0146105865780631a7fd200146105815780631d4bf4a01461057c5780631d8557d71461057757806322f2caf1146105725780632445eee51461056d578063248a9ca31461056857806327156a68146105635780632a5bf6d21461055e5780632a7e7849146105595780632ab414fc146105545780632e1a7d4d1461054f5780632f17682b146104be5780632f2ff15d1461054a57806332128b031461054557806334176a6d1461054057806336568abe1461053b5780633f4ba83a146105365780634df9d6ba146105315780634ef501ac1461052c57806353f35770146105275780635c975abb146105225780636061ffc31461051d578063618295df14610518578063640bc491146105135780636817031b1461050e578063715018a614610509578063745400c91461050457806375417da6146104ff578063768bab45146104fa5780637bc7780b146104f55780638429d51f146104f05780638456cb59146104eb578063883c6b24146104e657806389035730146104e1578063893a5372146104dc5780638ad7cacc146104d75780638aee8127146104d25780638d7081e4146104cd5780638da5cb5b146104c85780638def3ec2146104c35780638f7e8498146104be57806391d14854146104b95780639632b92a146104b457806398c2b108146104af57806398d721e0146104aa5780639daa54b41461042d578063a013f9c6146104a5578063a217fddf146104a0578063a42dce801461049b578063a51e896314610496578063a90d728f14610491578063a9bf805c1461048c578063aaf6379914610487578063b21cfc7114610482578063b6b55f251461047d578063b82e16e314610478578063b88a802f14610473578063ba7466941461046e578063c415b95c14610469578063c4f8911c14610464578063c6d6916c1461045f578063c89109131461045a578063c939ad6114610455578063cac89c5c14610450578063cd3293de1461044b578063d017e97814610446578063d17e988314610441578063d547741f1461043c578063de597d5b14610437578063e5711e8b14610432578063e65896c91461042d578063ec915ee614610428578063ef16b0e014610423578063ef5bac251461041e578063f2fde38b14610419578063f36c8f5c14610414578063fbf4a6121461040f578063fbfa77cf1461040a5763fe64cc0b1461040557600080fd5b6137b9565b613790565b61376d565b613744565b6136ca565b613606565b613536565b6134dc565b6127f8565b61344b565b61338a565b613348565b613321565b613305565b61328d565b61323c565b61319a565b61315a565b613074565b612fa5565b612f7c565b612e7f565b612e4d565b612da4565b612cfa565b612c0e565b612b98565b612b6f565b612a83565b6129f3565b612980565b612964565b61291b565b612785565b6126ca565b61260f565b6125cb565b6115cb565b612510565b6124e7565b6124cb565b61246c565b612330565b612286565b6121fc565b6121d3565b612179565b612131565b612113565b612017565b611f57565b611f33565b611ee4565b611c80565b611c57565b611b3b565b611b04565b611ae1565b611a87565b6119fe565b6119a1565b611937565b6118ec565b61185c565b61164e565b61160c565b6114e7565b610f89565b610ebc565b610e5d565b610e36565b610e07565b610d23565b610c73565b610c5a565b610c3c565b610bb7565b610ae9565b610aa7565b610963565b61085a565b61083d565b61077d565b61075c565b61073e565b61071a565b61066b565b610623565b346106135760203660031901126106135760043563ffffffff60e01b811680910361061357602090637965db0b60e01b8114908115610602575b506040519015158152f35b6301ffc9a760e01b149050386105f7565b600080fd5b600091031261061357565b34610613576000366003190112610613576020604051600080516020615f708339815191528152f35b6001600160a01b031690565b6001600160a01b03909116815260200190565b34610613576000366003190112610613576017546040516001600160a01b039091168152602090f35b6001600160a01b0381160361061357565b9181601f84011215610613578235916001600160401b038311610613576020838186019501011161061357565b6060600319820112610613576004356106ea81610694565b916024356106f781610694565b91604435906001600160401b03821161061357610716916004016106a5565b9091565b3461061357602061073661072d366106d2565b92919091614bc7565b604051908152f35b346106135760003660031901126106135760206040516203f4808152f35b3461061357600036600319011261061357602060055460801c604051908152f35b3461061357600036600319011261061357610796614ee2565b506108396107a2610928565b600754815260085460208201526009546040820152600a546060820152600b546080820152600c5460a0820152600d5460c0820152600e5460e08201526040519182918291909160e080610100830194805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c08501520151910152565b0390f35b34610613576000366003190112610613576020604051611f408152f35b346106135760203660031901126106135760043561087781610694565b61087f613904565b601680546001600160a01b0319166001600160a01b0392909216919091179055005b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116108ca57604052565b6108a1565b60c081019081106001600160401b038211176108ca57604052565b606081019081106001600160401b038211176108ca57604052565b601f909101601f19168101906001600160401b038211908210176108ca57604052565b6040519061010082016001600160401b038111838210176108ca57604052565b6001600160401b0381116108ca57601f01601f191660200190565b346106135760803660031901126106135761097f600435610694565b61098a602435610694565b6064356001600160401b0381116106135736602382011215610613578060040135906109b582610948565b916109c36040519384610905565b8083523660248284010111610613576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b6001600160a01b03166000908152602080526040902090565b6001600160a01b0316600090815260146020526040902090565b6001600160a01b0316600090815260156020526040902090565b6001600160a01b0316600090815260106020526040902090565b6001600160a01b0316600090815260226020526040902090565b6001600160a01b03166000908152600f6020526040902090565b9060018060a01b0316600052602052604060002090565b3461061357602036600319011261061357600435610ac481610694565b60018060a01b03166000526023602052602060ff604060002054166040519015158152f35b3461061357602036600319011261061357610b02613bcd565b60405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb257600091610b84575b50610b7257610b6660043561490c565b610b706001603055565b005b604051632652747360e21b8152600490fd5b610ba5915060203d8111610bab575b610b9d8183610905565b810190613a6b565b38610b56565b503d610b93565b613a82565b3461061357602036600319011261061357600435610bd481610694565b610bdc613904565b6001600160a01b03908116908115610c2a57603380546001600160a01b031981168417909155167f748f1f5793b18b83e17ec58dd942771a149a2da21e05fe50ced8c278143c6d71600080a3005b6040516303988b8160e61b8152600490fd5b34610613576000366003190112610613576020601a54604051908152f35b3461061357600036600319011261061357610b7061582c565b3461061357602036600319011261061357600435610c9081610694565b610c98613904565b6001600160a01b03811660008181526020805260408120549092919060ff16610d115782526020805260408220805460ff191660011790557fa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd90610d0b90610cff8161396e565b60405191829182610658565b0390a180f35b60405163dc37823360e01b8152600490fd5b346106135760803660031901126106135760048035610d4181610694565b6024356001600160401b03811161061357610d5f90369084016106a5565b6044359160643593610d7085610694565b610d78613bcd565b610d80613baf565b8315610df6576001600160a01b03818116600090815260208052604090205460ff1615610de55760ff6024541615610dd457851615610dc357610b6695506145cd565b6040516303988b8160e61b81528690fd5b6040516312cefcd560e31b81528790fd5b604051630867d69960e11b81528790fd5b60405163162908e360e11b81528690fd5b346106135760203660031901126106135760043560005260326020526020600160406000200154604051908152f35b34610613576020366003190112610613576020610736600435610e5881610694565b614ba9565b34610613576020366003190112610613576020610736600435610e7f81610694565b614af3565b90604060031983011261061357600435610e9d81610694565b91602435906001600160401b03821161061357610716916004016106a5565b3461061357610eca36610e84565b90610ed3613bcd565b610edb613baf565b6001600160a01b03838116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb257600091610f59575b50610b7257610b6692613e08565b610f71915060203d8111610bab57610b9d8183610905565b38610f4b565b604051630867d69960e11b8152600490fd5b3461061357604080600319360112610613576004908135600d8110156106135760243592610fb682613930565b600a8214908180156114d4575b80156114c3575b80156114b0575b801561149d575b801561148a575b8015611478575b8015611465575b8015611452575b610ffd84613930565b600684148091811561143d575b8115611428575b8115611413575b156113a45750600080516020615f70833981519152600052603260205261107061106c611065337f4be98a500fedc87dbf83b0f2e386ce313ece8458dab0590898ef9a4135d19214610a90565b5460ff1690565b1590565b611395575b60009261108185613930565b156110e45750905083156110d657602b5484116110c857506110c3600080516020615f1083398151915293602c54936110b982602c55565b5193849384613950565b0390a1005b8251635bf62a1160e01b8152fd5b8251635b9ad34160e11b8152fd5b6110ed84613930565b600984036111245750905083156110d657506110c3600080516020615f1083398151915293602b549361111f82602b55565b6110b9565b61112d84613930565b83611155575050506110c3600080516020615f10833981519152936025549361111f82602555565b61115e84613930565b60018403611189575050506110c3600080516020615f10833981519152936026549361111f82602655565b61119284613930565b600284036111e95750905062015180841080156111dd575b6111cf57506110c3600080516020615f10833981519152936027549361111f82602755565b825163d7c43e0f60e01b8152fd5b5062093a8084116111aa565b6111f284613930565b6003840361121d575050506110c3600080516020615f1083398151915293602a549361111f82602a55565b61122984959395613930565b83820361127857506001851161126a57506024805461ff0019166001861460081b61ff0016179055600080516020615f10833981519152936110c3916110b9565b905163af979eb560e01b8152fd5b61128184613930565b600584036112c057506001851161126a5750836110c39161111f6001600080516020615f10833981519152971460ff8019602454169115151617602455565b600080516020615f1083398151915295929491506112dd84613930565b156112f457506110c3906028549361111f82602855565b6112fd83613930565b6007830361131757506110c390600e549361111f82600e55565b61132083613930565b6008830361133a57506110c3906029549361111f82602955565b61134383613930565b600b830361135d57506110c390602d549361111f82602d55565b9261136783613930565b600c831461137a575b906110c3916110b9565b92506110c390602e549361138d82602e55565b909150611370565b508351634ca8886760e01b8152fd5b1561140457600080516020615ed083398151915260005260326020526113f061106c611065337f08ae08a1778cb01871246af592e3e907ec9ba7bc1cc0b308a58e75fd2ee1dfba610a90565b1561107557508351634ca8886760e01b8152fd5b508351630309cb8760e51b8152fd5b905061141e85613930565b600c851490611018565b905061143385613930565b6008851490611011565b905061144885613930565b600785149061100a565b5061145c83613930565b600b8314610ff4565b5061146f83613930565b60058314610fed565b5061148283613930565b808314610fe6565b5061149483613930565b60038314610fdf565b506114a783613930565b60028314610fd8565b506114ba83613930565b60018314610fd1565b506114cd83613930565b8215610fca565b506114de83613930565b60098314610fc3565b3461061357602036600319011261061357600435611503613bcd565b61150b613baf565b80156115b95760ff60245460081c166115a7576115569061152b3361526e565b6017546001600160a01b03163303611598575b61154661582c565b61154f81615237565b3390615d3a565b50506115606153ea565b60405190815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490602090a2610b706001603055565b6115a28133613d4e565b61153e565b6040516370a7336d60e11b8152600490fd5b60405163162908e360e11b8152600490fd5b34610613576020366003190112610613576004356115e881610694565b60018060a01b031660005260208052602060ff604060002054166040519015158152f35b3461061357604036600319011261061357610b7060243560043561162f82610694565b8060005260326020526116496001604060002001546137d5565b613816565b346106135761165c36610e84565b611667929192613bcd565b61166f613baf565b60018060a01b038216600093818552602080805260409460ff86882054161561183c5761169a614f40565b506116b2826116ab87863386614f72565b0151151590565b61182b57906116d0858489979695946116c961582c565b3390614ca2565b80611739575b5050813b1561173557836116ff95518096819582946312ede2c560e21b84523360048501613de6565b03925af18015610bb25761171c575b506117196001603055565b80f35b8061172961172f926108b7565b80610618565b3861170e565b8380fd5b865163d57dfa1560e01b8152949550929391929080838061175f89883360048501613de6565b0381885afa928315610bb257889361180c575b508651633de6b58d60e21b8152928184806117928a893360048501613de6565b0381895afa908115610bb2576117b9946117b4938b936117dd575b50506139f9565b614c58565b602654116117cc579084929138806116d6565b83516302c9375f60e21b8152600490fd5b6117fd929350803d10611805575b6117f58183610905565b810190613bf0565b9038806117ad565b503d6117eb565b816118249294503d8511611805576117f58183610905565b9138611772565b85516367c11db560e01b8152600490fd5b8551630867d69960e11b8152600490fd5b90600052602052604060002090565b346106135760403660031901126106135760043561187981610694565b6001600160a01b03166000908152600f60209081526040808320602435845282529182902080546001820154600283015460038401546004850154600590950154875194855260ff93841615159685019690965295830152606082019490945292161515608083015260a082015260c090f35b346106135760403660031901126106135760243561190981610694565b336001600160a01b0382160361192557610b7090600435613891565b60405163334bd91960e11b8152600490fd5b3461061357600036600319011261061357611950613904565b60315460ff81161561198f5760ff19166031557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346106135760203660031901126106135760206107366004356119c381610694565b6149ae565b634e487b7160e01b600052603260045260246000fd5b6021548110156119f957602160005260206000200190600090565b6119c8565b3461061357602036600319011261061357600435602154811015610613576021600052600080516020615f5083398151915201546040516001600160a01b039091168152602090f35b90606060031983011261061357600435611a6081610694565b91602435906001600160401b03821161061357611a7f916004016106a5565b909160443590565b3461061357611a9536611a47565b90611aa1939293613bcd565b611aa9613baf565b81156115b9576001600160a01b038316600090815260208052604090205460ff1615610f7757611ada9333936145cd565b6001603055005b3461061357600036600319011261061357602060ff603154166040519015158152f35b3461061357600036600319011261061357606060018060a01b03601154166012546013549060405192835260208301526040820152f35b3461061357602036600319011261061357600435611b5881610694565b611b60613904565b611b6f61106c611065836109f5565b610f7757611b89611b7f826109f5565b805460ff19169055565b6001600160a01b03908082169060005b60215480821015611c3a578385611bc7611bb2856119de565b905460039190911b1c6001600160a01b031690565b1614611bdc5750611bd7906139d6565b611b99565b600080516020615ef083398151915294506110c3935090611c13611c0d611bb2611c08611c32956139ea565b6119de565b916119de565b90919082549060031b9160018060a01b03809116831b921b1916179055565b610cff613a06565b5050600080516020615ef083398151915292506110c39150610cff565b34610613576000366003190112610613576033546040516001600160a01b039091168152602090f35b346106135760208060031936011261061357600435611c9e81610694565b611ca6613904565b601f611cba611cb5825461064c565b61064c565b6001600160a01b039283169390838116808614159081611eda575b50611dc6575b50600481611d14611cb5611cf2611cb5875461064c565b601f80546001600160a01b0319166001600160a01b038b16179055955461064c565b6040516338d52e0f60e01b815292839182905afa918215610bb257600092611d99575b505082611d48611cb560015461064c565b9116141580611d90575b611d7e57167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea39600080a3005b604051631b3b488360e11b8152600490fd5b50821515611d52565b611db89250803d10611dbf575b611db08183610905565b81019061422f565b3880611d37565b503d611da6565b81604051809263ce96cb7760e01b82528180611de53060048301610658565b03915afa60009181611ebb575b50611ead57506001611e026152f1565b806308c379a014611e8c57634e487b7114611e54575b611e23575b38611cdb565b611e2b614a50565b50611e3c611cb5611cb5845461064c565b600080516020615f30833981519152600080a2611e1d565b611e5c61537d565b5015611e1857506000611e75611cb5611cb5855461064c565b600080516020615f308339815191528280a2611e18565b50611e9561530f565b15611e1857506000611e75611cb5611cb5855461064c565b611eb6906153b3565b611e1d565b611ed3919250833d8511611805576117f58183610905565b9038611df2565b9050151538611cd5565b3461061357600080600319360112611f3057611efe613904565b602f80546001600160a01b0319811690915581906001600160a01b0316600080516020615f908339815191528280a380f35b80fd5b3461061357602036600319011261061357611f4c613baf565b610b70600435613c7b565b346106135760208060031936011261061357600490813591611f7883610694565b6000918293602154925b838610611f9457604051858152602090f35b90919293611faa611cb5611cb5611bb2896119de565b84604051809263572bf25760e01b82528180611fc889898301610658565b03915afa8015610bb257611fee92611fe892600092611ff8575b50613a8e565b956139d6565b9493929190611f82565b612010919250873d8911611805576117f58183610905565b9038611fe2565b346106135760403660031901126106135760043561203481610694565b61203c613904565b61204461582c565b6001600160a01b038116156120b85760008091612067611cb5611cb5845461064c565b90813b156120b45782916120959160405194858094819363768bab4560e01b83526024359060048401613e8e565b03925af18015610bb2576120a7575080f35b80611729611719926108b7565b5050fd5b60405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b6064820152608490fd5b34610613576000366003190112610613576020600954604051908152f35b346106135760003660031901126106135760c0601954601a54601b54601c54601d5491601e5493604051958652602086015260408501526060840152608083015260a0820152f35b3461061357600036600319011261061357612192613904565b61219a613baf565b600160ff1960315416176031557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610613576000366003190112610613576005546040516001600160801b039091168152602090f35b3461061357600036600319011261061357610180602454602554602654602754602854602954602a5490602b5492602c5494602d5496602e549860ff6040519b81811615158d5260081c16151560208c015260408b015260608a0152608089015260a088015260c087015260e0860152610100850152610120840152610140830152610160820152f35b34610613576000366003190112610613576034546040516001600160a01b039091168152602090f35b61232e909291926101208101938051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c083015261231960e082015160e084019060018060a01b03169052565b610100908101516001600160a01b0316910152565b565b34610613576004612340366106d2565b91909261234b614fea565b5060018060a01b038116908160005260209283805260409460ff8660002054161561245c57916060612400926123ec879695612385614fea565b9a61238e614f40565b5061239b82828689614f72565b936123b48d876123ad8d890151151590565b1515910152565b8c60808d87015191015284518d526123d58d60c06123ad6080890151151590565b8c8a6123e38585858c614d4a565b91015286614bc7565b888a0152015160a088015260e08701614f31565b835163f8eef10f60e01b815295869182905afa8015610bb257610839946124359260009261243f575b50506101008401614f31565b51918291826122af565b6124559250803d10611dbf57611db08183610905565b3880612429565b8551630867d69960e11b81528890fd5b346106135760203660031901126106135760043561248981610694565b612491613904565b601154906001600160a01b03908183166124b9576001600160a01b0319909216911617601155005b60405163b6de9a7160e01b8152600490fd5b346106135760206107366124de366106d2565b929190916144bb565b3461061357600036600319011261061357602f546040516001600160a01b039091168152602090f35b346106135761251e36611a47565b91612527613bcd565b61252f613baf565b6001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb2576000916125ad575b50610b7257610b669361426f565b6125c5915060203d8111610bab57610b9d8183610905565b3861259f565b3461061357604036600319011261061357602060ff6126036024356125ef81610694565b600435600052603284526040600020610a90565b54166040519015158152f35b346106135761261d36610e84565b90612626613bcd565b61262e613baf565b6001600160a01b03838116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb2576000916126ac575b50610b7257610b6692614aba565b6126c4915060203d8111610bab57610b9d8183610905565b3861269e565b34610613576126d8366106d2565b916126e1613bcd565b6126e9613baf565b6001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb257600091612767575b50610b7257610b6693614a80565b61277f915060203d8111610bab57610b9d8183610905565b38612759565b34610613576020366003190112610613576004356127a281610694565b6127aa613904565b6001600160a01b03908116908115610c2a57601780546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b34610613576020366003190112610613576004803561281681610694565b6000908190602154905b81831061283257602084604051908152f35b909192612847611cb5611cb5611bb2876119de565b92600060405180956371e078ab60e01b82528180612867888c8301610658565b03915afa938415610bb2576000946128e7575b506000915b84518310156128ce576128c26128c8916128bc6128b76128b26128a189610a76565b6128ab898c614e7e565b519061184d565b614e92565b614de2565b90613a8e565b926139d6565b9161287f565b95929350936128dd91506139d6565b9193929093612820565b61290391943d8091833e6128fb8183610905565b810190614e03565b923861287a565b908152602081019190915260400190565b346106135760203660031901126106135760043561293881610694565b60018060a01b03166000526022602052604060002060018154910154906108396040519283928361290a565b3461061357600036600319011261061357602060405160008152f35b346106135760203660031901126106135760043561299d81610694565b6129a5613904565b6001600160a01b03908116908115610c2a57601880546001600160a01b031981168417909155167f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f38600080a3005b3461061357600080600319360112611f305760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb2578291612a65575b50610b7257611719613ea9565b612a7d915060203d8111610bab57610b9d8183610905565b38612a58565b34610613576000366003190112610613576018546001600160a01b039081163303612b5e57601f541615612b2a57610839612ac2611cb560015461064c565b612aee601a548092612ad342601b55565b612add6000601a55565b612ae860185461064c565b90615040565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee590602090a16040519081529081906020820190565b60405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b6044820152606490fd5b6040516282b42960e81b8152600490fd5b34610613576000366003190112610613576016546040516001600160a01b039091168152602090f35b3461061357612bca6020612bab366106d2565b60405163d57dfa1560e01b815295869493859384939160048501613de6565b03916001600160a01b03165afa8015610bb257602091600091612bf1575b50604051908152f35b612c089150823d8111611805576117f58183610905565b38612be8565b3461061357612c1c366106d2565b6001600160a01b03938416600081815260208080526040808320549097919692959493929060ff1615612ce957612c51614f40565b5082865286805260ff888720541615612ce957168452600f8552858420865163a646a19360e01b81529493909286928692909183918291612c959160048401613f41565b03915afa938415610bb257612cb79486948491612ccc575b5083525220614e92565b6108396060820151915192519283928361290a565b612ce39150823d8411611805576117f58183610905565b38612cad565b8751630867d69960e11b8152600490fd5b3461061357602036600319011261061357600435612d16613bcd565b612d1e613baf565b80156115b95760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb257600091612d86575b50610b7257610b6690613a9b565b612d9e915060203d8111610bab57610b9d8183610905565b38612d78565b3461061357600080600319360112611f3057604051809160215490818352602080930180926021835284832090835b818110612e305750505084612de9910385610905565b60405193838594850191818652518092526040850193925b828110612e1057505050500390f35b83516001600160a01b031685528695509381019392810192600101612e01565b82546001600160a01b031684529286019260019283019201612dd3565b3461061357600036600319011261061357612e66613bcd565b612e6f3361526e565b6001603055602060405160018152f35b3461061357612e8d366106d2565b9291612e97614f40565b5060018060a01b038093169360009480865260209485805260409360ff858920541615612f6b5791612eec93918793168852600f835284882095855180958194829363a646a19360e01b845260048401613f41565b03915afa908115610bb2578560a094612f1593859360c09991612f4e575b508252865220614e92565b908051938251855280830151151590850152808201519084015260608101516060840152608081015115156080840152015160a0820152f35b612f659150883d8a11611805576117f58183610905565b38612f0a565b8451630867d69960e11b8152600490fd5b34610613576000366003190112610613576018546040516001600160a01b039091168152602090f35b3461061357602036600319011261061357601654600435906001600160a01b03163303612b5e5760018110613062576009549081613020575b7fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e9161300982600955565b6130116156fa565b6110c36040519283928361290a565b6130298261566c565b828211156130535761303b83836139f9565b1115612fde57604051631a8b543360e21b8152600490fd5b61305d82846139f9565b61303b565b60405163824c180760e01b8152600490fd5b346106135760203660031901126106135760043561309181610694565b6000546001600160a01b03163303613115576130ac81614ba9565b806130c2575b506130bf60125491610a0e565b55005b6130e56130f3916130df6012546130d886610a0e565b54906139f9565b9061497b565b670de0b6b3a7640000900490565b80156130b25761310d61310583610a28565b918254613a8e565b9055386130b2565b60405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e20757064617465207265776172647300006044820152606490fd5b346106135760203660031901126106135760043561317781610694565b60018060a01b031660005260106020526020600160406000200154604051908152f35b34610613576131a8366106d2565b90916131b2613bcd565b6017546001600160a01b03929083163303612b5e5760009483811686526020805260ff60408720541615610f77576132329461322087959461321287966033541695604051948593602085019763c939ad6160e01b895260248601614a27565b03601f198101835282610905565b51915af461322c614a50565b9061539d565b6117196001603055565b34610613576000366003190112610613576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160801b031690565b346106135760003660031901126106135761010060018060a01b0380600054169080600154169060025416600354600454906005549264ffffffffff6006541694604051968752602087015260408601526060850152608084015260018060801b03811660a084015260801c60c083015260e0820152f35b34610613576020610736613318366106d2565b92919091614d4a565b3461061357602036600319011261061357602061073660043561334381610694565b614b4b565b3461061357604036600319011261061357610b7060243560043561336b82610694565b8060005260326020526133856001604060002001546137d5565b613891565b346106135761339836611a47565b916133a1613bcd565b6133a9613baf565b82156115b9576001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb25760009161342d575b50610b7257610b6693613ff5565b613445915060203d8111610bab57610b9d8183610905565b3861341f565b346106135760603660031901126106135760043561346881610694565b6024359061347582610694565b61347d613904565b6000546001600160a01b03918216911681146134a057610b709160443591615040565b60405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b6044820152606490fd5b3461061357600036600319011261061357610100600754600854600954600a54600b54600c5491600d5493600e5495604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152f35b346106135760803660031901126106135760043561355381610694565b6024359061356082610694565b604435906001600160401b038211610613576020926135866107369336906004016106a5565b916064359361454f565b61232e9092919260e08061010083019560018060a01b038082511685528060208301511660208601526040820151166040850152606081015160608501526080810151608085015260018060801b038060a08301511660a086015260c08201511660c0850152015191019064ffffffffff169052565b346106135760003660031901126106135761361f614ee2565b5061083961362b610928565b61363f61363960005461064c565b82614f31565b61365661364d60015461064c565b60208301614f31565b61366d61366460025461064c565b60408301614f31565b600354606082015260045460808201526005546001600160801b03811660a083015261369d9060801c60c0830152565b6136be6136b060065464ffffffffff1690565b64ffffffffff1660e0830152565b60405191829182613590565b34610613576020366003190112610613576004356136e781610694565b6136ef613904565b6001600160a01b0390811690811561372b57602f80546001600160a01b03198116841790915516600080516020615f90833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b34610613576000366003190112610613576020604051600080516020615ed08339815191528152f35b34610613576000366003190112610613576020604051670de0b6b3a76400008152f35b3461061357600036600319011261061357601f546040516001600160a01b039091168152602090f35b346106135760206107366137cc366106d2565b92919091614ca2565b80600052603260205260ff6137ee336040600020610a90565b5416156137f85750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b600090808252603260205260ff6138308460408520610a90565b541661388b57808252603260205261384b8360408420610a90565b805460ff1916600117905533926001600160a01b0316917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50905090565b600090808252603260205260ff6138ab8460408520610a90565b54161561388b5780825260326020526138c78360408420610a90565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b602f546001600160a01b0316330361391857565b60405163118cdaa760e01b8152336004820152602490fd5b600d111561393a57565b634e487b7160e01b600052602160045260246000fd5b60608101949392600d83101561393a57604092825260208201520152565b602154600160401b8110156108ca5760018101806021558110156119f9576021600052600080516020615f508339815191520180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b600052601160045260246000fd5b60001981146139e55760010190565b6139c0565b6000198101919082116139e557565b919082039182116139e557565b6021548015613a485760001981810191808310156119f957602160008190529101600080516020615f508339815191520180546001600160a01b031916905555565b634e487b7160e01b600052603160045260246000fd5b5190811515820361061357565b9081602091031261061357613a7f90613a5e565b90565b6040513d6000823e3d90fd5b919082018092116139e557565b613aa43361526e565b613aac61582c565b6018546001600160a01b0390613ac19061064c565b16158015613b99575b15613b7157600080516020615eb0833981519152613b3f613aed600080946139f9565b92613af784613bff565b613b013385615c21565b906001613b0d33610a42565b0154613b5357846001613b1f33610a42565b01555b613b2a6153ea565b80613b44575b5060405191829133958361290a565b0390a2565b613b4d90615500565b38613b30565b6001613b5e33610a42565b01613b6a868254613a8e565b9055613b22565b600080516020615eb0833981519152613b3f613aed613b92602954856156a2565b80946139f9565b50613ba8611cb560175461064c565b3314613aca565b60ff60315416613bbb57565b60405163d93c066560e01b8152600490fd5b600260305414613bde576002603055565b604051633ee5aeb560e01b8152600490fd5b90816020910312610613575190565b6000546040516318160ddd60e01b81529190602090839060049082906001600160a01b03165afa918215610bb257600092613c5b575b5081018091116139e557602b5410613c4957565b6040516354db2d5d60e11b8152600490fd5b613c7491925060203d8111611805576117f58183610905565b9038613c35565b60245460081c60ff166115a757602d5415613d3c57613c9933610a5c565b8115613cfa57613b3f600182847f2816dbba0837d8d68f7bcead98695dd98db2cc1cb4066694ead56a12e795c4889455613ce7613cdb613cdb602d5442613a8e565b6001600160401b031690565b918291015560405191829133958361290a565b5050613d14613d0833610a5c565b60016000918281550155565b337f8b775bb80a5d4addc5ea2601b2378ae89a1bb9010227157ac02aa71498e799c4600080a2565b60405163410dc88360e11b8152600490fd5b90602d5415613dc157613d6082610a5c565b60018101548015613daf574210613d9d575403613d8b576001613d84600092610a5c565b8281550155565b604051635a4fecf360e11b8152600490fd5b60405163621e25c360e01b8152600490fd5b604051637b7e3ed560e11b8152600490fd5b5050565b908060209392818452848401376000828201840152601f01601f1916010190565b6001600160a01b039091168152604060208201819052613a7f93910191613dc5565b909291600091338352602360205260ff60408420541615613e7c57613e2b61582c565b6001600160a01b0316803b15613e7857613e5e93948360405180968195829463cf2c52cb60e01b84523360048501613de6565b03925af18015610bb257613e6f5750565b61232e906108b7565b8280fd5b6040516361803dfb60e11b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b33600052602360205260ff60406000205416613f2f57336000526023602052613edd6040600020600160ff19825416179055565b602e5480613f20575b507fd5acd12fd21128fb0a61c90d812321cb1423b1948052a3e93786c482bbef6608613f1b602e546040519182913383613e8e565b0390a1565b613f2990615500565b38613ee6565b60405163992c89a960e01b8152600490fd5b916020613a7f938181520191613dc5565b9081606091031261061357613f6681613a5e565b916040602083015192015190565b919082519283825260005b848110613fa0575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201613f7f565b6001600160a01b0391821681529116602082015260408101919091526001600160801b03909116606082015260a060808201819052613a7f92910190613f74565b919061400033610a76565b6040805163a646a19360e01b815290949160208280614023888860048401613f41565b03816001600160a01b0387165afa908115610bb25761404a9260009261420f575b5061184d565b92614059600185015460ff1690565b6141fe57918183614073886140e598979685606097615117565b61407b61582c565b61408488615237565b6140c5614098611cb5611cb560025461064c565b926140b76140a860055460801c90565b93895196879360208501613de6565b03601f198101855284610905565b6000865180988195829463292aab8160e11b84528c333360048701613fb4565b03925af18015610bb25760009384916141c9575b5061410e61410960055460801c90565b613281565b6003830155614124611cb5611cb560005461064c565b91823b1561061357600084518094635c921eb960e01b825281838161414d8c3360048401613e8e565b03925af18015610bb2577fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a36750956141959461418e926141b6575b508254613a8e565b9055600455565b61419e83615787565b6141a66153ea565b5191825233918060208101613b3f565b806117296141c3926108b7565b38614186565b90506141ed91935060603d81116141f7575b6141e58183610905565b810190613f52565b93915092386140f9565b503d6141db565b8451630bff073160e31b8152600490fd5b61422891925060203d8111611805576117f58183610905565b9038614044565b908160209103126106135751613a7f81610694565b9493929160409261426a9260018060a01b03168752606060208801526060870191613dc5565b930152565b9190928361427c33610a76565b9360018060a01b0393848216604094855163a646a19360e01b81526020988982806142ac8860049b8c8401613f41565b0381875afa908115610bb2576142c9926000926144a3575061184d565b906142d6848b33886144bb565b946142e482868d338561454f565b906142f6611cb5611cb560015461064c565b6143358c61430560185461064c565b8c51636eb1769f60e11b815233818e019081526001600160a01b0390921660208301529283918291604090910190565b0381855afa8015610bb25784918e600092614486575b505010614476578b89614372928c5180809581946370a0823160e01b835233908301610658565b03915afa8015610bb2578391600091614459575b5010614449576143c2836143ae6143cc948f8f9998978b6143a992600598613ff5565b61543d565b848a01805460ff1916600117905588613a8e565b9201918254613a8e565b9055855163f8eef10f60e01b815294859182905afa928315610bb2577f2386b33461472749e636e4d07c6e2b5e114398809469e25100c5ef910a663f6496600094614426575b5050613b3f92935194859416963385614244565b613b3f9450908161444292903d10611dbf57611db08183610905565b9238614412565b8851631e9acf1760e31b81528890fd5b61447091508d803d10611805576117f58183610905565b38614386565b89516339e067d560e21b81528990fd5b61449c9250803d10611805576117f58183610905565b388e61434b565b6142289192508b3d8d11611805576117f58183610905565b919290926144c7614f40565b5060018060a01b038093169360009285845260209586805260ff60408620541615610f775761451a958793168552600f8352604085209360405180978194829363a646a19360e01b845260048401613f41565b03915afa938415610bb25761453c946040948491612ccc575083525220614e92565b60a0815191015181039081116139e55790565b9061455b9392916144bb565b9081018091116139e557602854613a7f916156a2565b9190826080910312610613578151916020810151916060604083015192015190565b6001600160a01b03909116815260208101919091526001600160801b039091166040820152608060608201819052613a7f92910190613f74565b909194939280156115b9576001600160a01b03848116949092908515610c2a576145f561582c565b61462261460182610a76565b60208a6040978851808096819463a646a19360e01b83528d60048401613f41565b039188165afa908115610bb2576146409260009261420f575061184d565b9261464f600185015460ff1690565b8080614845575b614834578061481b575b61480a57918160809361467a8b8960009b9c9d9686614d4a565b908181118a1461480057509788915b6146ca61469d611cb5611cb560025461064c565b946146bc6146ad60055460801c90565b978b519c8d9360208501613de6565b03601f1981018b528a610905565b6146e98851998a9687958694638a94b05f60e01b865260048601614593565b03925af1928315610bb2576147776005917f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac4684956000809281926147c7575b506147699061473a614109875460801c90565b60038801556147648a614751611cb560015461064c565b61475c60005461064c565b90339061485c565b600455565b806147b4575b5083546139f9565b918281550190808254116147ac575b156147a2575b50614796836157d6565b519182523391602090a3565b600090553861478c565b808255614786565b6147bf908554613a8e565b84553861476f565b905061476992506147ef915060803d81116147f9575b6147e78183610905565b810190614571565b9093909250614727565b503d6147dd565b9050978891614689565b8451634b3c322760e11b8152600490fd5b5061482d600285015460275490613a8e565b4211614660565b855163224aae4f60e21b8152600490fd5b5061485761106c600487015460ff1690565b614656565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176108ca5761232e926040525b906000602091828151910182855af115613a82576000513d61490357506001600160a01b0381163b155b6148e15750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156148da565b6011546001600160a01b031680156149695781156115b95781614932913090339061485c565b61493b8161507a565b6040519081527fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d91360203392a2565b604051632506892760e01b8152600490fd5b818102929181159184041417156139e557565b8115614998570490565b634e487b7160e01b600052601260045260246000fd5b6011546001600160a01b0390811615614a20576149ca82614ba9565b908115614a1857601254908316600052601460205260406000205481039081116139e557614a04670de0b6b3a764000091614a0b9361497b565b0491610a28565b5481018091116139e55790565b505050600090565b5050600090565b6001600160a01b03918216815291166020820152606060408201819052613a7f93910191613dc5565b3d15614a7b573d90614a6182610948565b91614a6f6040519384610905565b82523d6000602084013e565b606090565b9261232e93600093613220859461321260018060a01b0360335416956040519485936020850197631318562160e31b895260248601614a27565b600091829161232e9461322060018060a01b0360335416936132126040519384926020840196634b195c9560e11b885260248501613de6565b600054604051630481930d60e21b81526001600160a01b0392831660048201529160209183916024918391165afa908115610bb257600091614b33575090565b613a7f915060203d8111611805576117f58183610905565b6017546001600160a01b039081168015614a1857600092839260405190602082019263c084b10b60e01b845216602482015260248152614b8a816108ea565b51915afa50613a7f614b9a614a50565b60208082518301019101613bf0565b614bbb614bb582614af3565b91614b4b565b81018091116139e55790565b6001600160a01b0381166000818152602080526040902054909491939060ff1615610f77576020604051809663d57dfa1560e01b82528180614c0e87878a60048501613de6565b03915afa928315610bb257613a7f95600094614c36575b50614c309394614d4a565b90614c58565b614c309450614c529060203d8111611805576117f58183610905565b93614c25565b60018210614c9057602554614c6c916156a2565b90670de0b6b3a7640000918281029281840414901517156139e557613a7f9161498e565b50676765c793fa10079d601b1b919050565b909193929360018060a01b038092169160009280845260209182805260409560ff878720541615614d3957614cd5614f40565b5082865283805260ff878720541615614d395791614d179798918493168652600f835286862094875180998194829363a646a19360e01b845260048401613f41565b03915afa8015610bb257614d35958491612ccc575083525220614e92565b5190565b8651630867d69960e11b8152600490fd5b9193929360018060a01b038093169060009180835260209485805260409460ff86862054161561183c57614d7c614f40565b5082855286805260ff86862054161561183c579186979891614dbf9793168552600f835285852093865180988194829363a646a19360e01b845260048401613f41565b03915afa948515610bb257613a7f956128b7958491612ccc575083525220614e92565b805190606060055460801c91015181039081116139e557614bbb90826156c0565b9060209081838203126106135782516001600160401b0393848211610613570181601f820112156106135780519384116108ca578360051b9060405194614e4c85840187610905565b85528380860192820101928311610613578301905b828210614e6f575050505090565b81518152908301908301614e61565b80518210156119f95760209160051b010190565b90604051614e9f816108cf565b60a0600582948054845260ff60018201541615156020850152600281015460408501526003810154606085015260ff600482015416151560808501520154910152565b6040519061010082016001600160401b038111838210176108ca576040528160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b6001600160a01b039091169052565b60405190614f4d826108cf565b8160a06000918281528260208201528260408201528260608201528260808201520152565b9192909260018060a01b038093169360009285845260209586805260ff60408620541615610f7757614fc8958793168552600f8352604085209360405180978194829363a646a19360e01b845260048401613f41565b03915afa938415610bb257613a7f946040948491612ccc575083525220614e92565b6040519061012082016001600160401b038111838210176108ca57604052816101006000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201520152565b61507561232e939261506760405194859263a9059cbb60e01b602085015260248401613e8e565b03601f198101845283610905565b6148b0565b6011546001600160a01b031615614969576003548015613dc157811580156150a157505050565b670de0b6b3a76400008084029384041417156139e5576150c09161498e565b6012549081018091116139e55760125542601355565b156150dd57565b60405162461bcd60e51b8152602060048201526012602482015271189bdc9c9bddc818d85c081c995858da195960721b6044820152606490fd5b92909161512b611cb5611cb560025461064c565b9060405180926318160ddd60e01b825281600460209586935afa8015610bb257846151619161516b9360009161521a5750613a8e565b602c5410156150d6565b60405163d57dfa1560e01b815282818061518a85893360048501613de6565b03816001600160a01b038a165afa928315610bb2576000936151fb575b505081156151e9576151d0936151c36151cb93602554906156a2565b953390614ca2565b613a8e565b116151d757565b604051630369fbd160e51b8152600490fd5b604051638dc8d9b360e01b8152600490fd5b615212929350803d10611805576117f58183610905565b9038806151a7565b6152319150863d8811611805576117f58183610905565b38611fe2565b60008061232e9260018060a01b036034541690604051602081019163489493f160e11b8352602482015260248152613220816108ea565b6011546001600160a01b039190821615613dc15761528b816149ae565b908161529657505050565b816152e87fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea693838660209516968760005260158652600060408120556012546152de83610a0e565b5560115416615040565b604051908152a2565b60009060033d116152fe57565b905060046000803e60005160e01c90565b600060443d10613a7f57604051600319913d83016004833e81516001600160401b03918282113d60248401111761536c57818401948551938411615374573d8501016020848701011161536c5750613a7f92910160200190610905565b949350505050565b50949350505050565b6000809160233d1161538b57565b9150506020600460003e600051600191565b156153a55750565b805190811561061357602001fd5b60008061232e9260018060a01b036034541690604051602081019163076d081560e01b8352602482015260248152613220816108ea565b60345460408051633fa5758d60e11b60208201908152600482529290918201906001600160a01b03166001600160401b038211838310176108ca5761232e93600093849360405251915af461322c614a50565b6018546001600160a01b03906154529061064c565b168015610c2a5781156115b9576154d59160209161547160015461064c565b604051636033e31560e01b81526001600160a01b03909116600482015233602482015260448101929092527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f160648301529092839190829060009082906084820190565b03925af18015610bb2576154e65750565b6154fd9060203d8111610bab57610b9d8183610905565b50565b6018546001600160a01b03906155159061064c565b1615610c2a576155368161552d611cb560015461064c565b3090339061485c565b80615548611cb5611cb560015461064c565b61555360185461064c565b604051809263095ea7b360e01b8252816000816155776020998a9760048401613e8e565b03925af1908115610bb25760009161564f575b501561563d5781615615916155a6611cb5611cb560185461064c565b6155b160015461064c565b604051636033e31560e01b81526001600160a01b03909116600482015230602482015260448101929092527f42fd249bdce4c4255579b56a79389d6d679ba17c7b7c848ee5c0a2ffcf354cf160648301529092839190829060009082906084820190565b03925af18015610bb257615627575050565b816154fd92903d10610bab57610b9d8183610905565b6040516340b27c2160e11b8152600490fd5b6156669150833d8511610bab57610b9d8183610905565b3861558a565b7e83126e978d4fdf3b645a1cac083126e978d4fdf3b645a1cac083126e978d458111610613576113886101f46127109202010490565b81611388190481111582151715610613576127109102611388010490565b8115676765c793fa10079d601a1b19839004821115171561061357676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b615745600454615708615e72565b50615711615e2b565b5061571e81600354615b9a565b61573881600954600a54600b54600c5491600d5493615ae7565b80600855600e5491615abd565b60075561575061582c565b7f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd960075460085490613f1b6040519283928361290a565b8061579c575b50615745600454615708615e72565b6003548181106157c4576157b56141096157bb936157f9565b906139f9565b6003553861578d565b60405163bb55fd2760e01b8152600490fd5b806157ea5750615745600454615708615e72565b6157bb906128bc614109600354925b6001600160801b039081811161580d571690565b604490604051906306dfcc6560e41b8252608060048301526024820152fd5b61585261584c61584260065464ffffffffff1690565b64ffffffffff1690565b426139f9565b600181106154fd57615868614109600554613281565b6001811061594857816158a96158876158c2936158e79560075461595a565b600580546001600160801b0319166001600160801b0392909216919091179055565b600854906158bc61410960055460801c90565b9161599e565b600580546001600160801b031660809290921b6001600160801b031916919091179055565b6006805464ffffffffff19164264ffffffffff16179055600554604080516001600160801b038316815260809290921c60208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd8204919081908101613f1b565b604051630a1cf3ed60e21b8152600490fd5b9161596b61597092613a7f94615975565b6156c0565b6157f9565b6301e13380916159849161497b565b04676765c793fa10079d601b1b9081018091116139e55790565b916159af61597092613a7f946159b5565b906156c0565b60018210614c9057744f3a68dbc8f03f243baf513267aa9a3ee524f8e028811161061357613a7f916301e1338062f099c06159fe93676765c793fa10079d601b1b0201046156c0565b615a28565b8160011c90676765c793fa10079d601b1b908183190481118415176106135702010490565b8015615aad57676765c793fa10079d601c1b81800204906b09b18ab5df7180b6b800000082820204676765c793fa10079d601d1b818302046b1027e72f1f1281308800000081840204906b1363156bbee3016d700000008285020492676765c793fa10079d601b1b956b169e43a85eb381aa5800000085870204950101010101010190565b50676765c793fa10079d601b1b90565b909192600111614a1857615adb91615ad4916156c0565b91826156c0565b81039081116139e55790565b91949290948186841191821592615b8f575b8215615b84575b8215615b79575b5050615b6757838311615b30575091615b2b6128bc926159af86613a7f97966139f9565b615a03565b9350918082039182116139e557676765c793fa10079d601b1b9081039081116139e557615b2b6128bc926159af85613a7f976139f9565b60405163abc83fed60e01b8152600490fd5b101590508138615b07565b878111159250615b00565b818510159250615af9565b60018110614c90578181018091116139e5576001600160801b0391615bc29161597091615a03565b1690565b919082608091031261061357615bdb82613a5e565b916020810151916060604083015192015190565b6001600160a01b0391821681529116602082015260408101919091526001600160801b03909116606082015260800190565b600181106115b957600091615c3461582c565b615c5082615c46611cb560015461064c565b61475c865461064c565b6080615c8f615c65611cb5611cb5875461064c565b615c70600554613281565b60405196878094819363b3f1c93d60e01b835289893060048601615bef565b03925af1928315610bb257600093615cdb575b5082600080516020615eb083398151915291615cbd846157d6565b615cd560405192839260018060a01b0316958361290a565b0390a290565b600080516020615eb0833981519152919350615d0d9060803d8111615d18575b615d058183610905565b810190615bc6565b505090509290615ca2565b503d615cfb565b90816060910312610613578051916040602083015192015190565b91600183106115b9576060615d8e93615d5161582c565b615d62611cb5611cb560005461064c565b615d6d600554613281565b916000604051809881958294636b81068560e11b84528a8060048601615bef565b03925af1918215610bb2576000938493615df3575b50615dad83615787565b6040516001600160a01b03909116907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689080615dea87878361290a565b0390a281929190565b909250615e1891935060603d8111615e24575b615e108183610905565b810190615d1f565b93919050929138615da3565b503d615e06565b64ffffffffff6006541642034281116139e55760018110615e6257613a7f9061596b6007549160018060801b036005541692615975565b506005546001600160801b031690565b64ffffffffff6006541642034281116139e55760018110615ea857615e9c613a7f916008546159b5565b60055460801c906156c0565b506004549056fe90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1571840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1df980d21d8c7bb34800e668dbe003299093bac8e693614151d3c57f73f98a93d063386e75a280368ce68f5e39db7d7a3f09737ca4d289d9345a5f4968ff76955c4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb1053a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b570ba279271fb7bbf76a6f3df3cc57bf80647fcafdea60ec3383d90f459de74e7c08be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220a4c79e496b929859813f285292141f0777525deaf07047a598c9d91d6af9030064736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
3485
|
+
"deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146105bd57806302768de4146105b8578063048c661d146105b3578063086c33e1146105ae57806309bf1e73146105a95780630ab30d8a146105a45780630c34b9141461059f5780630c42dcaf1461059a5780630c679a7b14610595578063150b7a0214610590578063152f15841461058b57806316c621e0146105865780631a7fd200146105815780631d4bf4a01461057c5780631d8557d71461057757806322f2caf1146105725780632445eee51461056d578063248a9ca31461056857806327156a68146105635780632a5bf6d21461055e5780632a7e7849146105595780632ab414fc146105545780632e1a7d4d1461054f5780632f17682b146104be5780632f2ff15d1461054a57806332128b031461054557806334176a6d1461054057806336568abe1461053b5780633f4ba83a146105365780634df9d6ba146105315780634ef501ac1461052c57806353f35770146105275780635c975abb146105225780636061ffc31461051d578063618295df14610518578063640bc491146105135780636817031b1461050e578063715018a614610509578063745400c91461050457806375417da6146104ff578063768bab45146104fa5780637bc7780b146104f55780638429d51f146104f05780638456cb59146104eb578063883c6b24146104e657806389035730146104e1578063893a5372146104dc5780638ad7cacc146104d75780638aee8127146104d25780638d7081e4146104cd5780638da5cb5b146104c85780638def3ec2146104c35780638f7e8498146104be57806391d14854146104b95780639632b92a146104b457806398c2b108146104af57806398d721e0146104aa5780639daa54b41461042d578063a013f9c6146104a5578063a217fddf146104a0578063a42dce801461049b578063a51e896314610496578063a90d728f14610491578063a9bf805c1461048c578063aaf6379914610487578063b21cfc7114610482578063b6b55f251461047d578063b82e16e314610478578063b88a802f14610473578063ba7466941461046e578063c415b95c14610469578063c4f8911c14610464578063c6d6916c1461045f578063c89109131461045a578063c939ad6114610455578063cac89c5c14610450578063cd3293de1461044b578063d017e97814610446578063d17e988314610441578063d547741f1461043c578063de597d5b14610437578063e5711e8b14610432578063e65896c91461042d578063ec915ee614610428578063ef16b0e014610423578063ef5bac251461041e578063f2fde38b14610419578063f36c8f5c14610414578063fbf4a6121461040f578063fbfa77cf1461040a5763fe64cc0b1461040557600080fd5b6137b9565b613790565b61376d565b613744565b6136ca565b613606565b613536565b6134dc565b6127f8565b61344b565b61338a565b613348565b613321565b613305565b61328d565b61323c565b61319a565b61315a565b613074565b612fa5565b612f7c565b612e7f565b612e4d565b612da4565b612cfa565b612c0e565b612b98565b612b6f565b612a83565b6129f3565b612980565b612964565b61291b565b612785565b6126ca565b61260f565b6125cb565b6115cb565b612510565b6124e7565b6124cb565b61246c565b612330565b612286565b6121fc565b6121d3565b612179565b612131565b612113565b612017565b611f57565b611f33565b611ee4565b611c80565b611c57565b611b3b565b611b04565b611ae1565b611a87565b6119fe565b6119a1565b611937565b6118ec565b61185c565b61164e565b61160c565b6114e7565b610f89565b610ebc565b610e5d565b610e36565b610e07565b610d23565b610c73565b610c5a565b610c3c565b610bb7565b610ae9565b610aa7565b610963565b61085a565b61083d565b61077d565b61075c565b61073e565b61071a565b61066b565b610623565b346106135760203660031901126106135760043563ffffffff60e01b811680910361061357602090637965db0b60e01b8114908115610602575b506040519015158152f35b6301ffc9a760e01b149050386105f7565b600080fd5b600091031261061357565b34610613576000366003190112610613576020604051600080516020615f708339815191528152f35b6001600160a01b031690565b6001600160a01b03909116815260200190565b34610613576000366003190112610613576017546040516001600160a01b039091168152602090f35b6001600160a01b0381160361061357565b9181601f84011215610613578235916001600160401b038311610613576020838186019501011161061357565b6060600319820112610613576004356106ea81610694565b916024356106f781610694565b91604435906001600160401b03821161061357610716916004016106a5565b9091565b3461061357602061073661072d366106d2565b92919091614bc7565b604051908152f35b346106135760003660031901126106135760206040516203f4808152f35b3461061357600036600319011261061357602060055460801c604051908152f35b3461061357600036600319011261061357610796614ee2565b506108396107a2610928565b600754815260085460208201526009546040820152600a546060820152600b546080820152600c5460a0820152600d5460c0820152600e5460e08201526040519182918291909160e080610100830194805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c08501520151910152565b0390f35b34610613576000366003190112610613576020604051611f408152f35b346106135760203660031901126106135760043561087781610694565b61087f613904565b601680546001600160a01b0319166001600160a01b0392909216919091179055005b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116108ca57604052565b6108a1565b60c081019081106001600160401b038211176108ca57604052565b606081019081106001600160401b038211176108ca57604052565b601f909101601f19168101906001600160401b038211908210176108ca57604052565b6040519061010082016001600160401b038111838210176108ca57604052565b6001600160401b0381116108ca57601f01601f191660200190565b346106135760803660031901126106135761097f600435610694565b61098a602435610694565b6064356001600160401b0381116106135736602382011215610613578060040135906109b582610948565b916109c36040519384610905565b8083523660248284010111610613576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b6001600160a01b03166000908152602080526040902090565b6001600160a01b0316600090815260146020526040902090565b6001600160a01b0316600090815260156020526040902090565b6001600160a01b0316600090815260106020526040902090565b6001600160a01b0316600090815260226020526040902090565b6001600160a01b03166000908152600f6020526040902090565b9060018060a01b0316600052602052604060002090565b3461061357602036600319011261061357600435610ac481610694565b60018060a01b03166000526023602052602060ff604060002054166040519015158152f35b3461061357602036600319011261061357610b02613bcd565b60405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb257600091610b84575b50610b7257610b6660043561490c565b610b706001603055565b005b604051632652747360e21b8152600490fd5b610ba5915060203d8111610bab575b610b9d8183610905565b810190613a6b565b38610b56565b503d610b93565b613a82565b3461061357602036600319011261061357600435610bd481610694565b610bdc613904565b6001600160a01b03908116908115610c2a57603380546001600160a01b031981168417909155167f748f1f5793b18b83e17ec58dd942771a149a2da21e05fe50ced8c278143c6d71600080a3005b6040516303988b8160e61b8152600490fd5b34610613576000366003190112610613576020601a54604051908152f35b3461061357600036600319011261061357610b7061582c565b3461061357602036600319011261061357600435610c9081610694565b610c98613904565b6001600160a01b03811660008181526020805260408120549092919060ff16610d115782526020805260408220805460ff191660011790557fa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd90610d0b90610cff8161396e565b60405191829182610658565b0390a180f35b60405163dc37823360e01b8152600490fd5b346106135760803660031901126106135760048035610d4181610694565b6024356001600160401b03811161061357610d5f90369084016106a5565b6044359160643593610d7085610694565b610d78613bcd565b610d80613baf565b8315610df6576001600160a01b03818116600090815260208052604090205460ff1615610de55760ff6024541615610dd457851615610dc357610b6695506145cd565b6040516303988b8160e61b81528690fd5b6040516312cefcd560e31b81528790fd5b604051630867d69960e11b81528790fd5b60405163162908e360e11b81528690fd5b346106135760203660031901126106135760043560005260326020526020600160406000200154604051908152f35b34610613576020366003190112610613576020610736600435610e5881610694565b614ba9565b34610613576020366003190112610613576020610736600435610e7f81610694565b614af3565b90604060031983011261061357600435610e9d81610694565b91602435906001600160401b03821161061357610716916004016106a5565b3461061357610eca36610e84565b90610ed3613bcd565b610edb613baf565b6001600160a01b03838116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb257600091610f59575b50610b7257610b6692613e08565b610f71915060203d8111610bab57610b9d8183610905565b38610f4b565b604051630867d69960e11b8152600490fd5b3461061357604080600319360112610613576004908135600d8110156106135760243592610fb682613930565b600a8214908180156114d4575b80156114c3575b80156114b0575b801561149d575b801561148a575b8015611478575b8015611465575b8015611452575b610ffd84613930565b600684148091811561143d575b8115611428575b8115611413575b156113a45750600080516020615f70833981519152600052603260205261107061106c611065337f4be98a500fedc87dbf83b0f2e386ce313ece8458dab0590898ef9a4135d19214610a90565b5460ff1690565b1590565b611395575b60009261108185613930565b156110e45750905083156110d657602b5484116110c857506110c3600080516020615f1083398151915293602c54936110b982602c55565b5193849384613950565b0390a1005b8251635bf62a1160e01b8152fd5b8251635b9ad34160e11b8152fd5b6110ed84613930565b600984036111245750905083156110d657506110c3600080516020615f1083398151915293602b549361111f82602b55565b6110b9565b61112d84613930565b83611155575050506110c3600080516020615f10833981519152936025549361111f82602555565b61115e84613930565b60018403611189575050506110c3600080516020615f10833981519152936026549361111f82602655565b61119284613930565b600284036111e95750905062015180841080156111dd575b6111cf57506110c3600080516020615f10833981519152936027549361111f82602755565b825163d7c43e0f60e01b8152fd5b5062093a8084116111aa565b6111f284613930565b6003840361121d575050506110c3600080516020615f1083398151915293602a549361111f82602a55565b61122984959395613930565b83820361127857506001851161126a57506024805461ff0019166001861460081b61ff0016179055600080516020615f10833981519152936110c3916110b9565b905163af979eb560e01b8152fd5b61128184613930565b600584036112c057506001851161126a5750836110c39161111f6001600080516020615f10833981519152971460ff8019602454169115151617602455565b600080516020615f1083398151915295929491506112dd84613930565b156112f457506110c3906028549361111f82602855565b6112fd83613930565b6007830361131757506110c390600e549361111f82600e55565b61132083613930565b6008830361133a57506110c3906029549361111f82602955565b61134383613930565b600b830361135d57506110c390602d549361111f82602d55565b9261136783613930565b600c831461137a575b906110c3916110b9565b92506110c390602e549361138d82602e55565b909150611370565b508351634ca8886760e01b8152fd5b1561140457600080516020615ed083398151915260005260326020526113f061106c611065337f08ae08a1778cb01871246af592e3e907ec9ba7bc1cc0b308a58e75fd2ee1dfba610a90565b1561107557508351634ca8886760e01b8152fd5b508351630309cb8760e51b8152fd5b905061141e85613930565b600c851490611018565b905061143385613930565b6008851490611011565b905061144885613930565b600785149061100a565b5061145c83613930565b600b8314610ff4565b5061146f83613930565b60058314610fed565b5061148283613930565b808314610fe6565b5061149483613930565b60038314610fdf565b506114a783613930565b60028314610fd8565b506114ba83613930565b60018314610fd1565b506114cd83613930565b8215610fca565b506114de83613930565b60098314610fc3565b3461061357602036600319011261061357600435611503613bcd565b61150b613baf565b80156115b95760ff60245460081c166115a7576115569061152b3361526e565b6017546001600160a01b03163303611598575b61154661582c565b61154f81615237565b3390615d3a565b50506115606153ea565b60405190815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490602090a2610b706001603055565b6115a28133613d4e565b61153e565b6040516370a7336d60e11b8152600490fd5b60405163162908e360e11b8152600490fd5b34610613576020366003190112610613576004356115e881610694565b60018060a01b031660005260208052602060ff604060002054166040519015158152f35b3461061357604036600319011261061357610b7060243560043561162f82610694565b8060005260326020526116496001604060002001546137d5565b613816565b346106135761165c36610e84565b611667929192613bcd565b61166f613baf565b60018060a01b038216600093818552602080805260409460ff86882054161561183c5761169a614f40565b506116b2826116ab87863386614f72565b0151151590565b61182b57906116d0858489979695946116c961582c565b3390614ca2565b80611739575b5050813b1561173557836116ff95518096819582946312ede2c560e21b84523360048501613de6565b03925af18015610bb25761171c575b506117196001603055565b80f35b8061172961172f926108b7565b80610618565b3861170e565b8380fd5b865163d57dfa1560e01b8152949550929391929080838061175f89883360048501613de6565b0381885afa928315610bb257889361180c575b508651633de6b58d60e21b8152928184806117928a893360048501613de6565b0381895afa908115610bb2576117b9946117b4938b936117dd575b50506139f9565b614c58565b602654116117cc579084929138806116d6565b83516302c9375f60e21b8152600490fd5b6117fd929350803d10611805575b6117f58183610905565b810190613bf0565b9038806117ad565b503d6117eb565b816118249294503d8511611805576117f58183610905565b9138611772565b85516367c11db560e01b8152600490fd5b8551630867d69960e11b8152600490fd5b90600052602052604060002090565b346106135760403660031901126106135760043561187981610694565b6001600160a01b03166000908152600f60209081526040808320602435845282529182902080546001820154600283015460038401546004850154600590950154875194855260ff93841615159685019690965295830152606082019490945292161515608083015260a082015260c090f35b346106135760403660031901126106135760243561190981610694565b336001600160a01b0382160361192557610b7090600435613891565b60405163334bd91960e11b8152600490fd5b3461061357600036600319011261061357611950613904565b60315460ff81161561198f5760ff19166031557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346106135760203660031901126106135760206107366004356119c381610694565b6149ae565b634e487b7160e01b600052603260045260246000fd5b6021548110156119f957602160005260206000200190600090565b6119c8565b3461061357602036600319011261061357600435602154811015610613576021600052600080516020615f5083398151915201546040516001600160a01b039091168152602090f35b90606060031983011261061357600435611a6081610694565b91602435906001600160401b03821161061357611a7f916004016106a5565b909160443590565b3461061357611a9536611a47565b90611aa1939293613bcd565b611aa9613baf565b81156115b9576001600160a01b038316600090815260208052604090205460ff1615610f7757611ada9333936145cd565b6001603055005b3461061357600036600319011261061357602060ff603154166040519015158152f35b3461061357600036600319011261061357606060018060a01b03601154166012546013549060405192835260208301526040820152f35b3461061357602036600319011261061357600435611b5881610694565b611b60613904565b611b6f61106c611065836109f5565b610f7757611b89611b7f826109f5565b805460ff19169055565b6001600160a01b03908082169060005b60215480821015611c3a578385611bc7611bb2856119de565b905460039190911b1c6001600160a01b031690565b1614611bdc5750611bd7906139d6565b611b99565b600080516020615ef083398151915294506110c3935090611c13611c0d611bb2611c08611c32956139ea565b6119de565b916119de565b90919082549060031b9160018060a01b03809116831b921b1916179055565b610cff613a06565b5050600080516020615ef083398151915292506110c39150610cff565b34610613576000366003190112610613576033546040516001600160a01b039091168152602090f35b346106135760208060031936011261061357600435611c9e81610694565b611ca6613904565b601f611cba611cb5825461064c565b61064c565b6001600160a01b039283169390838116808614159081611eda575b50611dc6575b50600481611d14611cb5611cf2611cb5875461064c565b601f80546001600160a01b0319166001600160a01b038b16179055955461064c565b6040516338d52e0f60e01b815292839182905afa918215610bb257600092611d99575b505082611d48611cb560015461064c565b9116141580611d90575b611d7e57167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea39600080a3005b604051631b3b488360e11b8152600490fd5b50821515611d52565b611db89250803d10611dbf575b611db08183610905565b81019061422f565b3880611d37565b503d611da6565b81604051809263ce96cb7760e01b82528180611de53060048301610658565b03915afa60009181611ebb575b50611ead57506001611e026152f1565b806308c379a014611e8c57634e487b7114611e54575b611e23575b38611cdb565b611e2b614a50565b50611e3c611cb5611cb5845461064c565b600080516020615f30833981519152600080a2611e1d565b611e5c61537d565b5015611e1857506000611e75611cb5611cb5855461064c565b600080516020615f308339815191528280a2611e18565b50611e9561530f565b15611e1857506000611e75611cb5611cb5855461064c565b611eb6906153b3565b611e1d565b611ed3919250833d8511611805576117f58183610905565b9038611df2565b9050151538611cd5565b3461061357600080600319360112611f3057611efe613904565b602f80546001600160a01b0319811690915581906001600160a01b0316600080516020615f908339815191528280a380f35b80fd5b3461061357602036600319011261061357611f4c613baf565b610b70600435613c7b565b346106135760208060031936011261061357600490813591611f7883610694565b6000918293602154925b838610611f9457604051858152602090f35b90919293611faa611cb5611cb5611bb2896119de565b84604051809263572bf25760e01b82528180611fc889898301610658565b03915afa8015610bb257611fee92611fe892600092611ff8575b50613a8e565b956139d6565b9493929190611f82565b612010919250873d8911611805576117f58183610905565b9038611fe2565b346106135760403660031901126106135760043561203481610694565b61203c613904565b61204461582c565b6001600160a01b038116156120b85760008091612067611cb5611cb5845461064c565b90813b156120b45782916120959160405194858094819363768bab4560e01b83526024359060048401613e8e565b03925af18015610bb2576120a7575080f35b80611729611719926108b7565b5050fd5b60405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b6064820152608490fd5b34610613576000366003190112610613576020600954604051908152f35b346106135760003660031901126106135760c0601954601a54601b54601c54601d5491601e5493604051958652602086015260408501526060840152608083015260a0820152f35b3461061357600036600319011261061357612192613904565b61219a613baf565b600160ff1960315416176031557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610613576000366003190112610613576005546040516001600160801b039091168152602090f35b3461061357600036600319011261061357610180602454602554602654602754602854602954602a5490602b5492602c5494602d5496602e549860ff6040519b81811615158d5260081c16151560208c015260408b015260608a0152608089015260a088015260c087015260e0860152610100850152610120840152610140830152610160820152f35b34610613576000366003190112610613576034546040516001600160a01b039091168152602090f35b61232e909291926101208101938051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c083015261231960e082015160e084019060018060a01b03169052565b610100908101516001600160a01b0316910152565b565b34610613576004612340366106d2565b91909261234b614fea565b5060018060a01b038116908160005260209283805260409460ff8660002054161561245c57916060612400926123ec879695612385614fea565b9a61238e614f40565b5061239b82828689614f72565b936123b48d876123ad8d890151151590565b1515910152565b8c60808d87015191015284518d526123d58d60c06123ad6080890151151590565b8c8a6123e38585858c614d4a565b91015286614bc7565b888a0152015160a088015260e08701614f31565b835163f8eef10f60e01b815295869182905afa8015610bb257610839946124359260009261243f575b50506101008401614f31565b51918291826122af565b6124559250803d10611dbf57611db08183610905565b3880612429565b8551630867d69960e11b81528890fd5b346106135760203660031901126106135760043561248981610694565b612491613904565b601154906001600160a01b03908183166124b9576001600160a01b0319909216911617601155005b60405163b6de9a7160e01b8152600490fd5b346106135760206107366124de366106d2565b929190916144bb565b3461061357600036600319011261061357602f546040516001600160a01b039091168152602090f35b346106135761251e36611a47565b91612527613bcd565b61252f613baf565b6001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb2576000916125ad575b50610b7257610b669361426f565b6125c5915060203d8111610bab57610b9d8183610905565b3861259f565b3461061357604036600319011261061357602060ff6126036024356125ef81610694565b600435600052603284526040600020610a90565b54166040519015158152f35b346106135761261d36610e84565b90612626613bcd565b61262e613baf565b6001600160a01b03838116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb2576000916126ac575b50610b7257610b6692614aba565b6126c4915060203d8111610bab57610b9d8183610905565b3861269e565b34610613576126d8366106d2565b916126e1613bcd565b6126e9613baf565b6001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb257600091612767575b50610b7257610b6693614a80565b61277f915060203d8111610bab57610b9d8183610905565b38612759565b34610613576020366003190112610613576004356127a281610694565b6127aa613904565b6001600160a01b03908116908115610c2a57601780546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b34610613576020366003190112610613576004803561281681610694565b6000908190602154905b81831061283257602084604051908152f35b909192612847611cb5611cb5611bb2876119de565b92600060405180956371e078ab60e01b82528180612867888c8301610658565b03915afa938415610bb2576000946128e7575b506000915b84518310156128ce576128c26128c8916128bc6128b76128b26128a189610a76565b6128ab898c614e7e565b519061184d565b614e92565b614de2565b90613a8e565b926139d6565b9161287f565b95929350936128dd91506139d6565b9193929093612820565b61290391943d8091833e6128fb8183610905565b810190614e03565b923861287a565b908152602081019190915260400190565b346106135760203660031901126106135760043561293881610694565b60018060a01b03166000526022602052604060002060018154910154906108396040519283928361290a565b3461061357600036600319011261061357602060405160008152f35b346106135760203660031901126106135760043561299d81610694565b6129a5613904565b6001600160a01b03908116908115610c2a57601880546001600160a01b031981168417909155167f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f38600080a3005b3461061357600080600319360112611f305760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb2578291612a65575b50610b7257611719613ea9565b612a7d915060203d8111610bab57610b9d8183610905565b38612a58565b34610613576000366003190112610613576018546001600160a01b039081163303612b5e57601f541615612b2a57610839612ac2611cb560015461064c565b612aee601a548092612ad342601b55565b612add6000601a55565b612ae860185461064c565b90615040565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee590602090a16040519081529081906020820190565b60405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b6044820152606490fd5b6040516282b42960e81b8152600490fd5b34610613576000366003190112610613576016546040516001600160a01b039091168152602090f35b3461061357612bca6020612bab366106d2565b60405163d57dfa1560e01b815295869493859384939160048501613de6565b03916001600160a01b03165afa8015610bb257602091600091612bf1575b50604051908152f35b612c089150823d8111611805576117f58183610905565b38612be8565b3461061357612c1c366106d2565b6001600160a01b03938416600081815260208080526040808320549097919692959493929060ff1615612ce957612c51614f40565b5082865286805260ff888720541615612ce957168452600f8552858420865163a646a19360e01b81529493909286928692909183918291612c959160048401613f41565b03915afa938415610bb257612cb79486948491612ccc575b5083525220614e92565b6108396060820151915192519283928361290a565b612ce39150823d8411611805576117f58183610905565b38612cad565b8751630867d69960e11b8152600490fd5b3461061357602036600319011261061357600435612d16613bcd565b612d1e613baf565b80156115b95760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb257600091612d86575b50610b7257610b6690613a9b565b612d9e915060203d8111610bab57610b9d8183610905565b38612d78565b3461061357600080600319360112611f3057604051809160215490818352602080930180926021835284832090835b818110612e305750505084612de9910385610905565b60405193838594850191818652518092526040850193925b828110612e1057505050500390f35b83516001600160a01b031685528695509381019392810192600101612e01565b82546001600160a01b031684529286019260019283019201612dd3565b3461061357600036600319011261061357612e66613bcd565b612e6f3361526e565b6001603055602060405160018152f35b3461061357612e8d366106d2565b9291612e97614f40565b5060018060a01b038093169360009480865260209485805260409360ff858920541615612f6b5791612eec93918793168852600f835284882095855180958194829363a646a19360e01b845260048401613f41565b03915afa908115610bb2578560a094612f1593859360c09991612f4e575b508252865220614e92565b908051938251855280830151151590850152808201519084015260608101516060840152608081015115156080840152015160a0820152f35b612f659150883d8a11611805576117f58183610905565b38612f0a565b8451630867d69960e11b8152600490fd5b34610613576000366003190112610613576018546040516001600160a01b039091168152602090f35b3461061357602036600319011261061357601654600435906001600160a01b03163303612b5e5760018110613062576009549081613020575b7fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e9161300982600955565b6130116156fa565b6110c36040519283928361290a565b6130298261566c565b828211156130535761303b83836139f9565b1115612fde57604051631a8b543360e21b8152600490fd5b61305d82846139f9565b61303b565b60405163824c180760e01b8152600490fd5b346106135760203660031901126106135760043561309181610694565b6000546001600160a01b03163303613115576130ac81614ba9565b806130c2575b506130bf60125491610a0e565b55005b6130e56130f3916130df6012546130d886610a0e565b54906139f9565b9061497b565b670de0b6b3a7640000900490565b80156130b25761310d61310583610a28565b918254613a8e565b9055386130b2565b60405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e20757064617465207265776172647300006044820152606490fd5b346106135760203660031901126106135760043561317781610694565b60018060a01b031660005260106020526020600160406000200154604051908152f35b34610613576131a8366106d2565b90916131b2613bcd565b6017546001600160a01b03929083163303612b5e5760009483811686526020805260ff60408720541615610f77576132329461322087959461321287966033541695604051948593602085019763c939ad6160e01b895260248601614a27565b03601f198101835282610905565b51915af461322c614a50565b9061539d565b6117196001603055565b34610613576000366003190112610613576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160801b031690565b346106135760003660031901126106135761010060018060a01b0380600054169080600154169060025416600354600454906005549264ffffffffff6006541694604051968752602087015260408601526060850152608084015260018060801b03811660a084015260801c60c083015260e0820152f35b34610613576020610736613318366106d2565b92919091614d4a565b3461061357602036600319011261061357602061073660043561334381610694565b614b4b565b3461061357604036600319011261061357610b7060243560043561336b82610694565b8060005260326020526133856001604060002001546137d5565b613891565b346106135761339836611a47565b916133a1613bcd565b6133a9613baf565b82156115b9576001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb25760009161342d575b50610b7257610b6693613ff5565b613445915060203d8111610bab57610b9d8183610905565b3861341f565b346106135760603660031901126106135760043561346881610694565b6024359061347582610694565b61347d613904565b6000546001600160a01b03918216911681146134a057610b709160443591615040565b60405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b6044820152606490fd5b3461061357600036600319011261061357610100600754600854600954600a54600b54600c5491600d5493600e5495604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152f35b346106135760803660031901126106135760043561355381610694565b6024359061356082610694565b604435906001600160401b038211610613576020926135866107369336906004016106a5565b916064359361454f565b61232e9092919260e08061010083019560018060a01b038082511685528060208301511660208601526040820151166040850152606081015160608501526080810151608085015260018060801b038060a08301511660a086015260c08201511660c0850152015191019064ffffffffff169052565b346106135760003660031901126106135761361f614ee2565b5061083961362b610928565b61363f61363960005461064c565b82614f31565b61365661364d60015461064c565b60208301614f31565b61366d61366460025461064c565b60408301614f31565b600354606082015260045460808201526005546001600160801b03811660a083015261369d9060801c60c0830152565b6136be6136b060065464ffffffffff1690565b64ffffffffff1660e0830152565b60405191829182613590565b34610613576020366003190112610613576004356136e781610694565b6136ef613904565b6001600160a01b0390811690811561372b57602f80546001600160a01b03198116841790915516600080516020615f90833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b34610613576000366003190112610613576020604051600080516020615ed08339815191528152f35b34610613576000366003190112610613576020604051670de0b6b3a76400008152f35b3461061357600036600319011261061357601f546040516001600160a01b039091168152602090f35b346106135760206107366137cc366106d2565b92919091614ca2565b80600052603260205260ff6137ee336040600020610a90565b5416156137f85750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b600090808252603260205260ff6138308460408520610a90565b541661388b57808252603260205261384b8360408420610a90565b805460ff1916600117905533926001600160a01b0316917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50905090565b600090808252603260205260ff6138ab8460408520610a90565b54161561388b5780825260326020526138c78360408420610a90565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b602f546001600160a01b0316330361391857565b60405163118cdaa760e01b8152336004820152602490fd5b600d111561393a57565b634e487b7160e01b600052602160045260246000fd5b60608101949392600d83101561393a57604092825260208201520152565b602154600160401b8110156108ca5760018101806021558110156119f9576021600052600080516020615f508339815191520180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b600052601160045260246000fd5b60001981146139e55760010190565b6139c0565b6000198101919082116139e557565b919082039182116139e557565b6021548015613a485760001981810191808310156119f957602160008190529101600080516020615f508339815191520180546001600160a01b031916905555565b634e487b7160e01b600052603160045260246000fd5b5190811515820361061357565b9081602091031261061357613a7f90613a5e565b90565b6040513d6000823e3d90fd5b919082018092116139e557565b613aa43361526e565b613aac61582c565b6018546001600160a01b0390613ac19061064c565b16158015613b99575b15613b7157600080516020615eb0833981519152613b3f613aed600080946139f9565b92613af784613bff565b613b013385615c21565b906001613b0d33610a42565b0154613b5357846001613b1f33610a42565b01555b613b2a6153ea565b80613b44575b5060405191829133958361290a565b0390a2565b613b4d90615500565b38613b30565b6001613b5e33610a42565b01613b6a868254613a8e565b9055613b22565b600080516020615eb0833981519152613b3f613aed613b92602954856156a2565b80946139f9565b50613ba8611cb560175461064c565b3314613aca565b60ff60315416613bbb57565b60405163d93c066560e01b8152600490fd5b600260305414613bde576002603055565b604051633ee5aeb560e01b8152600490fd5b90816020910312610613575190565b6000546040516318160ddd60e01b81529190602090839060049082906001600160a01b03165afa918215610bb257600092613c5b575b5081018091116139e557602b5410613c4957565b6040516354db2d5d60e11b8152600490fd5b613c7491925060203d8111611805576117f58183610905565b9038613c35565b60245460081c60ff166115a757602d5415613d3c57613c9933610a5c565b8115613cfa57613b3f600182847f2816dbba0837d8d68f7bcead98695dd98db2cc1cb4066694ead56a12e795c4889455613ce7613cdb613cdb602d5442613a8e565b6001600160401b031690565b918291015560405191829133958361290a565b5050613d14613d0833610a5c565b60016000918281550155565b337f8b775bb80a5d4addc5ea2601b2378ae89a1bb9010227157ac02aa71498e799c4600080a2565b60405163410dc88360e11b8152600490fd5b90602d5415613dc157613d6082610a5c565b60018101548015613daf574210613d9d575403613d8b576001613d84600092610a5c565b8281550155565b604051635a4fecf360e11b8152600490fd5b60405163621e25c360e01b8152600490fd5b604051637b7e3ed560e11b8152600490fd5b5050565b908060209392818452848401376000828201840152601f01601f1916010190565b6001600160a01b039091168152604060208201819052613a7f93910191613dc5565b909291600091338352602360205260ff60408420541615613e7c57613e2b61582c565b6001600160a01b0316803b15613e7857613e5e93948360405180968195829463cf2c52cb60e01b84523360048501613de6565b03925af18015610bb257613e6f5750565b61232e906108b7565b8280fd5b6040516361803dfb60e11b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b33600052602360205260ff60406000205416613f2f57336000526023602052613edd6040600020600160ff19825416179055565b602e5480613f20575b507fd5acd12fd21128fb0a61c90d812321cb1423b1948052a3e93786c482bbef6608613f1b602e546040519182913383613e8e565b0390a1565b613f2990615500565b38613ee6565b60405163992c89a960e01b8152600490fd5b916020613a7f938181520191613dc5565b9081606091031261061357613f6681613a5e565b916040602083015192015190565b919082519283825260005b848110613fa0575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201613f7f565b6001600160a01b0391821681529116602082015260408101919091526001600160801b03909116606082015260a060808201819052613a7f92910190613f74565b919061400033610a76565b6040805163a646a19360e01b815290949160208280614023888860048401613f41565b03816001600160a01b0387165afa908115610bb25761404a9260009261420f575b5061184d565b92614059600185015460ff1690565b6141fe57918183614073886140e598979685606097615117565b61407b61582c565b61408488615237565b6140c5614098611cb5611cb560025461064c565b926140b76140a860055460801c90565b93895196879360208501613de6565b03601f198101855284610905565b6000865180988195829463292aab8160e11b84528c333360048701613fb4565b03925af18015610bb25760009384916141c9575b5061410e61410960055460801c90565b613281565b6003830155614124611cb5611cb560005461064c565b91823b1561061357600084518094635c921eb960e01b825281838161414d8c3360048401613e8e565b03925af18015610bb2577fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a36750956141959461418e926141b6575b508254613a8e565b9055600455565b61419e83615787565b6141a66153ea565b5191825233918060208101613b3f565b806117296141c3926108b7565b38614186565b90506141ed91935060603d81116141f7575b6141e58183610905565b810190613f52565b93915092386140f9565b503d6141db565b8451630bff073160e31b8152600490fd5b61422891925060203d8111611805576117f58183610905565b9038614044565b908160209103126106135751613a7f81610694565b9493929160409261426a9260018060a01b03168752606060208801526060870191613dc5565b930152565b9190928361427c33610a76565b9360018060a01b0393848216604094855163a646a19360e01b81526020988982806142ac8860049b8c8401613f41565b0381875afa908115610bb2576142c9926000926144a3575061184d565b906142d6848b33886144bb565b946142e482868d338561454f565b906142f6611cb5611cb560015461064c565b6143358c61430560185461064c565b8c51636eb1769f60e11b815233818e019081526001600160a01b0390921660208301529283918291604090910190565b0381855afa8015610bb25784918e600092614486575b505010614476578b89614372928c5180809581946370a0823160e01b835233908301610658565b03915afa8015610bb2578391600091614459575b5010614449576143c2836143ae6143cc948f8f9998978b6143a992600598613ff5565b61543d565b848a01805460ff1916600117905588613a8e565b9201918254613a8e565b9055855163f8eef10f60e01b815294859182905afa928315610bb2577f2386b33461472749e636e4d07c6e2b5e114398809469e25100c5ef910a663f6496600094614426575b5050613b3f92935194859416963385614244565b613b3f9450908161444292903d10611dbf57611db08183610905565b9238614412565b8851631e9acf1760e31b81528890fd5b61447091508d803d10611805576117f58183610905565b38614386565b89516339e067d560e21b81528990fd5b61449c9250803d10611805576117f58183610905565b388e61434b565b6142289192508b3d8d11611805576117f58183610905565b919290926144c7614f40565b5060018060a01b038093169360009285845260209586805260ff60408620541615610f775761451a958793168552600f8352604085209360405180978194829363a646a19360e01b845260048401613f41565b03915afa938415610bb25761453c946040948491612ccc575083525220614e92565b60a0815191015181039081116139e55790565b9061455b9392916144bb565b9081018091116139e557602854613a7f916156a2565b9190826080910312610613578151916020810151916060604083015192015190565b6001600160a01b03909116815260208101919091526001600160801b039091166040820152608060608201819052613a7f92910190613f74565b909194939280156115b9576001600160a01b03848116949092908515610c2a576145f561582c565b61462261460182610a76565b60208a6040978851808096819463a646a19360e01b83528d60048401613f41565b039188165afa908115610bb2576146409260009261420f575061184d565b9261464f600185015460ff1690565b8080614845575b614834578061481b575b61480a57918160809361467a8b8960009b9c9d9686614d4a565b908181118a1461480057509788915b6146ca61469d611cb5611cb560025461064c565b946146bc6146ad60055460801c90565b978b519c8d9360208501613de6565b03601f1981018b528a610905565b6146e98851998a9687958694638a94b05f60e01b865260048601614593565b03925af1928315610bb2576147776005917f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac4684956000809281926147c7575b506147699061473a614109875460801c90565b60038801556147648a614751611cb560015461064c565b61475c60005461064c565b90339061485c565b600455565b806147b4575b5083546139f9565b918281550190808254116147ac575b156147a2575b50614796836157d6565b519182523391602090a3565b600090553861478c565b808255614786565b6147bf908554613a8e565b84553861476f565b905061476992506147ef915060803d81116147f9575b6147e78183610905565b810190614571565b9093909250614727565b503d6147dd565b9050978891614689565b8451634b3c322760e11b8152600490fd5b5061482d600285015460275490613a8e565b4211614660565b855163224aae4f60e21b8152600490fd5b5061485761106c600487015460ff1690565b614656565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176108ca5761232e926040525b906000602091828151910182855af115613a82576000513d61490357506001600160a01b0381163b155b6148e15750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156148da565b6011546001600160a01b031680156149695781156115b95781614932913090339061485c565b61493b8161507a565b6040519081527fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d91360203392a2565b604051632506892760e01b8152600490fd5b818102929181159184041417156139e557565b8115614998570490565b634e487b7160e01b600052601260045260246000fd5b6011546001600160a01b0390811615614a20576149ca82614ba9565b908115614a1857601254908316600052601460205260406000205481039081116139e557614a04670de0b6b3a764000091614a0b9361497b565b0491610a28565b5481018091116139e55790565b505050600090565b5050600090565b6001600160a01b03918216815291166020820152606060408201819052613a7f93910191613dc5565b3d15614a7b573d90614a6182610948565b91614a6f6040519384610905565b82523d6000602084013e565b606090565b9261232e93600093613220859461321260018060a01b0360335416956040519485936020850197631318562160e31b895260248601614a27565b600091829161232e9461322060018060a01b0360335416936132126040519384926020840196634b195c9560e11b885260248501613de6565b600054604051630481930d60e21b81526001600160a01b0392831660048201529160209183916024918391165afa908115610bb257600091614b33575090565b613a7f915060203d8111611805576117f58183610905565b6017546001600160a01b039081168015614a1857600092839260405190602082019263c084b10b60e01b845216602482015260248152614b8a816108ea565b51915afa50613a7f614b9a614a50565b60208082518301019101613bf0565b614bbb614bb582614af3565b91614b4b565b81018091116139e55790565b6001600160a01b0381166000818152602080526040902054909491939060ff1615610f77576020604051809663d57dfa1560e01b82528180614c0e87878a60048501613de6565b03915afa928315610bb257613a7f95600094614c36575b50614c309394614d4a565b90614c58565b614c309450614c529060203d8111611805576117f58183610905565b93614c25565b60018210614c9057602554614c6c916156a2565b90670de0b6b3a7640000918281029281840414901517156139e557613a7f9161498e565b50676765c793fa10079d601b1b919050565b909193929360018060a01b038092169160009280845260209182805260409560ff878720541615614d3957614cd5614f40565b5082865283805260ff878720541615614d395791614d179798918493168652600f835286862094875180998194829363a646a19360e01b845260048401613f41565b03915afa8015610bb257614d35958491612ccc575083525220614e92565b5190565b8651630867d69960e11b8152600490fd5b9193929360018060a01b038093169060009180835260209485805260409460ff86862054161561183c57614d7c614f40565b5082855286805260ff86862054161561183c579186979891614dbf9793168552600f835285852093865180988194829363a646a19360e01b845260048401613f41565b03915afa948515610bb257613a7f956128b7958491612ccc575083525220614e92565b805190606060055460801c91015181039081116139e557614bbb90826156c0565b9060209081838203126106135782516001600160401b0393848211610613570181601f820112156106135780519384116108ca578360051b9060405194614e4c85840187610905565b85528380860192820101928311610613578301905b828210614e6f575050505090565b81518152908301908301614e61565b80518210156119f95760209160051b010190565b90604051614e9f816108cf565b60a0600582948054845260ff60018201541615156020850152600281015460408501526003810154606085015260ff600482015416151560808501520154910152565b6040519061010082016001600160401b038111838210176108ca576040528160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b6001600160a01b039091169052565b60405190614f4d826108cf565b8160a06000918281528260208201528260408201528260608201528260808201520152565b9192909260018060a01b038093169360009285845260209586805260ff60408620541615610f7757614fc8958793168552600f8352604085209360405180978194829363a646a19360e01b845260048401613f41565b03915afa938415610bb257613a7f946040948491612ccc575083525220614e92565b6040519061012082016001600160401b038111838210176108ca57604052816101006000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201520152565b61507561232e939261506760405194859263a9059cbb60e01b602085015260248401613e8e565b03601f198101845283610905565b6148b0565b6011546001600160a01b031615614969576003548015613dc157811580156150a157505050565b670de0b6b3a76400008084029384041417156139e5576150c09161498e565b6012549081018091116139e55760125542601355565b156150dd57565b60405162461bcd60e51b8152602060048201526012602482015271189bdc9c9bddc818d85c081c995858da195960721b6044820152606490fd5b92909161512b611cb5611cb560025461064c565b9060405180926318160ddd60e01b825281600460209586935afa8015610bb257846151619161516b9360009161521a5750613a8e565b602c5410156150d6565b60405163d57dfa1560e01b815282818061518a85893360048501613de6565b03816001600160a01b038a165afa928315610bb2576000936151fb575b505081156151e9576151d0936151c36151cb93602554906156a2565b953390614ca2565b613a8e565b116151d757565b604051630369fbd160e51b8152600490fd5b604051638dc8d9b360e01b8152600490fd5b615212929350803d10611805576117f58183610905565b9038806151a7565b6152319150863d8811611805576117f58183610905565b38611fe2565b60008061232e9260018060a01b036034541690604051602081019163489493f160e11b8352602482015260248152613220816108ea565b6011546001600160a01b039190821615613dc15761528b816149ae565b908161529657505050565b816152e87fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea693838660209516968760005260158652600060408120556012546152de83610a0e565b5560115416615040565b604051908152a2565b60009060033d116152fe57565b905060046000803e60005160e01c90565b600060443d10613a7f57604051600319913d83016004833e81516001600160401b03918282113d60248401111761536c57818401948551938411615374573d8501016020848701011161536c5750613a7f92910160200190610905565b949350505050565b50949350505050565b6000809160233d1161538b57565b9150506020600460003e600051600191565b156153a55750565b805190811561061357602001fd5b60008061232e9260018060a01b036034541690604051602081019163076d081560e01b8352602482015260248152613220816108ea565b60345460408051633fa5758d60e11b60208201908152600482529290918201906001600160a01b03166001600160401b038211838310176108ca5761232e93600093849360405251915af461322c614a50565b6018546001600160a01b03906154529061064c565b168015610c2a5781156115b9576154d59160209161547160015461064c565b604051636033e31560e01b81526001600160a01b03909116600482015233602482015260448101929092527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f160648301529092839190829060009082906084820190565b03925af18015610bb2576154e65750565b6154fd9060203d8111610bab57610b9d8183610905565b50565b6018546001600160a01b03906155159061064c565b1615610c2a576155368161552d611cb560015461064c565b3090339061485c565b80615548611cb5611cb560015461064c565b61555360185461064c565b604051809263095ea7b360e01b8252816000816155776020998a9760048401613e8e565b03925af1908115610bb25760009161564f575b501561563d5781615615916155a6611cb5611cb560185461064c565b6155b160015461064c565b604051636033e31560e01b81526001600160a01b03909116600482015230602482015260448101929092527f42fd249bdce4c4255579b56a79389d6d679ba17c7b7c848ee5c0a2ffcf354cf160648301529092839190829060009082906084820190565b03925af18015610bb257615627575050565b816154fd92903d10610bab57610b9d8183610905565b6040516340b27c2160e11b8152600490fd5b6156669150833d8511610bab57610b9d8183610905565b3861558a565b7e83126e978d4fdf3b645a1cac083126e978d4fdf3b645a1cac083126e978d458111610613576113886101f46127109202010490565b81611388190481111582151715610613576127109102611388010490565b8115676765c793fa10079d601a1b19839004821115171561061357676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b615745600454615708615e72565b50615711615e2b565b5061571e81600354615b9a565b61573881600954600a54600b54600c5491600d5493615ae7565b80600855600e5491615abd565b60075561575061582c565b7f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd960075460085490613f1b6040519283928361290a565b8061579c575b50615745600454615708615e72565b6003548181106157c4576157b56141096157bb936157f9565b906139f9565b6003553861578d565b60405163bb55fd2760e01b8152600490fd5b806157ea5750615745600454615708615e72565b6157bb906128bc614109600354925b6001600160801b039081811161580d571690565b604490604051906306dfcc6560e41b8252608060048301526024820152fd5b61585261584c61584260065464ffffffffff1690565b64ffffffffff1690565b426139f9565b600181106154fd57615868614109600554613281565b6001811061594857816158a96158876158c2936158e79560075461595a565b600580546001600160801b0319166001600160801b0392909216919091179055565b600854906158bc61410960055460801c90565b9161599e565b600580546001600160801b031660809290921b6001600160801b031916919091179055565b6006805464ffffffffff19164264ffffffffff16179055600554604080516001600160801b038316815260809290921c60208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd8204919081908101613f1b565b604051630a1cf3ed60e21b8152600490fd5b9161596b61597092613a7f94615975565b6156c0565b6157f9565b6301e13380916159849161497b565b04676765c793fa10079d601b1b9081018091116139e55790565b916159af61597092613a7f946159b5565b906156c0565b60018210614c9057744f3a68dbc8f03f243baf513267aa9a3ee524f8e028811161061357613a7f916301e1338062f099c06159fe93676765c793fa10079d601b1b0201046156c0565b615a28565b8160011c90676765c793fa10079d601b1b908183190481118415176106135702010490565b8015615aad57676765c793fa10079d601c1b81800204906b09b18ab5df7180b6b800000082820204676765c793fa10079d601d1b818302046b1027e72f1f1281308800000081840204906b1363156bbee3016d700000008285020492676765c793fa10079d601b1b956b169e43a85eb381aa5800000085870204950101010101010190565b50676765c793fa10079d601b1b90565b909192600111614a1857615adb91615ad4916156c0565b91826156c0565b81039081116139e55790565b91949290948186841191821592615b8f575b8215615b84575b8215615b79575b5050615b6757838311615b30575091615b2b6128bc926159af86613a7f97966139f9565b615a03565b9350918082039182116139e557676765c793fa10079d601b1b9081039081116139e557615b2b6128bc926159af85613a7f976139f9565b60405163abc83fed60e01b8152600490fd5b101590508138615b07565b878111159250615b00565b818510159250615af9565b60018110614c90578181018091116139e5576001600160801b0391615bc29161597091615a03565b1690565b919082608091031261061357615bdb82613a5e565b916020810151916060604083015192015190565b6001600160a01b0391821681529116602082015260408101919091526001600160801b03909116606082015260800190565b600181106115b957600091615c3461582c565b615c5082615c46611cb560015461064c565b61475c865461064c565b6080615c8f615c65611cb5611cb5875461064c565b615c70600554613281565b60405196878094819363b3f1c93d60e01b835289893060048601615bef565b03925af1928315610bb257600093615cdb575b5082600080516020615eb083398151915291615cbd846157d6565b615cd560405192839260018060a01b0316958361290a565b0390a290565b600080516020615eb0833981519152919350615d0d9060803d8111615d18575b615d058183610905565b810190615bc6565b505090509290615ca2565b503d615cfb565b90816060910312610613578051916040602083015192015190565b91600183106115b9576060615d8e93615d5161582c565b615d62611cb5611cb560005461064c565b615d6d600554613281565b916000604051809881958294636b81068560e11b84528a8060048601615bef565b03925af1918215610bb2576000938493615df3575b50615dad83615787565b6040516001600160a01b03909116907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689080615dea87878361290a565b0390a281929190565b909250615e1891935060603d8111615e24575b615e108183610905565b810190615d1f565b93919050929138615da3565b503d615e06565b64ffffffffff6006541642034281116139e55760018110615e6257613a7f9061596b6007549160018060801b036005541692615975565b506005546001600160801b031690565b64ffffffffff6006541642034281116139e55760018110615ea857615e9c613a7f916008546159b5565b60055460801c906156c0565b506004549056fe90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1571840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1df980d21d8c7bb34800e668dbe003299093bac8e693614151d3c57f73f98a93d063386e75a280368ce68f5e39db7d7a3f09737ca4d289d9345a5f4968ff76955c4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb1053a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b570ba279271fb7bbf76a6f3df3cc57bf80647fcafdea60ec3383d90f459de74e7c08be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220a4c79e496b929859813f285292141f0777525deaf07047a598c9d91d6af9030064736f6c63430008140033",
|
|
2822
3486
|
"linkReferences": {},
|
|
2823
3487
|
"deployedLinkReferences": {}
|
|
2824
3488
|
}
|