@pendle/core-v2 0.16.2-testnet → 0.16.3-testnet
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/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json +13 -0
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +4 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +695 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +4 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +531 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +4 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +10 -0
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +15 -2
- package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +89 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +15 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +15 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +13 -0
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +208 -2
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.json +30 -83
- package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +91 -17
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +50 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +20 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +20 -0
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +181 -17
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +173 -0
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +86 -0
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.json +34 -0
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.json +45 -0
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +15 -2
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +67 -0
- package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -36
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +237 -61
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +120 -41
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +79 -24
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +49 -24
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +49 -24
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +15 -2
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +14 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +191 -2
- package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +35 -0
- package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +1 -1
- package/contracts/core/BulkSeller/BulkSeller.sol +250 -0
- package/contracts/core/BulkSeller/BulkSellerFactory.sol +89 -0
- package/contracts/core/BulkSeller/BulkSellerMathCore.sol +143 -0
- package/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol +2 -4
- package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +107 -0
- package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +19 -4
- package/contracts/core/libraries/Errors.sol +17 -0
- package/contracts/interfaces/Curve/ICrvPool.sol +9 -27
- package/contracts/interfaces/IPActionAddRemoveLiq.sol +3 -5
- package/contracts/interfaces/IPActionMintRedeem.sol +2 -0
- package/contracts/interfaces/IPBulkSeller.sol +28 -0
- package/contracts/interfaces/IPBulkSellerFactory.sol +12 -0
- package/contracts/interfaces/IPBulkSellerSYCallback.sol +10 -0
- package/contracts/interfaces/IStETH.sol +6 -0
- package/contracts/offchain-helpers/BulkSellerOffchain.sol +43 -0
- package/contracts/offchain-helpers/MarketMathStatic.sol +0 -144
- package/contracts/offchain-helpers/RouterStatic.sol +167 -51
- package/contracts/router/ActionAddRemoveLiq.sol +60 -44
- package/contracts/router/ActionMintRedeem.sol +19 -15
- package/contracts/router/ActionSwapPT.sol +3 -3
- package/contracts/router/ActionSwapYT.sol +11 -4
- package/contracts/router/base/ActionBaseMintRedeem.sol +73 -74
- package/contracts/router/kyberswap/AggregationRouterHelper.sol +17 -1
- package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +10 -0
- package/contracts/router/kyberswap/KyberSwapHelper.sol +17 -8
- package/deployments/43113-core.json +3 -2
- package/deployments/43113-markets/benqi-market-QI-AVAX-FEB-2ND.json +9 -0
- package/deployments/80001-core.json +3 -2
- package/package.json +3 -2
- package/typechain-types/AccessControl.ts +360 -0
- package/typechain-types/ActionAddRemoveLiq.ts +83 -52
- package/typechain-types/ActionBaseMintRedeem.ts +27 -8
- package/typechain-types/ActionMintRedeem.ts +68 -17
- package/typechain-types/ActionSwapPT.ts +53 -12
- package/typechain-types/ActionSwapYT.ts +53 -12
- package/typechain-types/AggregationRouterHelper.ts +287 -3
- package/typechain-types/BaseSplitCodeFactoryContract.ts +9 -0
- package/typechain-types/BeaconProxy.ts +97 -0
- package/typechain-types/BoringOwnableUpgradeable.ts +9 -0
- package/typechain-types/BulkSeller.ts +776 -0
- package/typechain-types/BulkSellerFactory.ts +707 -0
- package/typechain-types/BulkSellerOffchain.ts +117 -0
- package/typechain-types/Curve3CrvPoolHelper.ts +236 -0
- package/typechain-types/CurveFraxUsdcPoolHelper.ts +158 -0
- package/typechain-types/CurveUsdd3CrvPoolHelper.ts +184 -0
- package/typechain-types/ERC165.ts +102 -0
- package/typechain-types/IAccessControl.ts +305 -0
- package/typechain-types/IAggregationRouterHelper.ts +108 -0
- package/typechain-types/ICrvPool.ts +66 -164
- package/typechain-types/IERC165.ts +102 -0
- package/typechain-types/IPActionAddRemoveLiq.ts +56 -44
- package/typechain-types/IPActionMintRedeem.ts +41 -9
- package/typechain-types/IPActionSwapPT.ts +26 -4
- package/typechain-types/IPActionSwapYT.ts +26 -4
- package/typechain-types/IPAllAction.ts +77 -55
- package/typechain-types/IPBulkSeller.ts +290 -0
- package/typechain-types/IPBulkSellerCallback.ts +115 -0
- package/typechain-types/IPBulkSellerFactory.ts +147 -0
- package/typechain-types/IStETH.ts +56 -0
- package/typechain-types/ITriCrvPool.ts +345 -0
- package/typechain-types/Initializable.ts +68 -0
- package/typechain-types/KyberSwapHelper.ts +8 -8
- package/typechain-types/MarketMathStatic.ts +0 -50
- package/typechain-types/PendleCurveFraxUsdcSY.ts +1228 -0
- package/typechain-types/PendleCurveUsdd3CrvSY.ts +1299 -0
- package/typechain-types/PendleFeeDistributor.ts +9 -0
- package/typechain-types/PendleFeeDistributorFactory.ts +9 -0
- package/typechain-types/PendleGaugeControllerBaseUpg.ts +9 -0
- package/typechain-types/PendleGaugeControllerMainchainUpg.ts +9 -0
- package/typechain-types/PendleGaugeControllerSidechainUpg.ts +9 -0
- package/typechain-types/PendleMarketFactory.ts +9 -0
- package/typechain-types/PendleMsgReceiveEndpointUpg.ts +9 -0
- package/typechain-types/PendleMsgSendEndpointUpg.ts +9 -0
- package/typechain-types/PendleMsgSenderAppUpg.ts +9 -0
- package/typechain-types/PendlePrincipalToken.ts +9 -0
- package/typechain-types/PendleRouter.ts +9 -0
- package/typechain-types/PendleVotingControllerUpg.ts +9 -0
- package/typechain-types/PendleYieldContractFactory.ts +9 -0
- package/typechain-types/ReentrancyGuardUpgradeable.ts +68 -0
- package/typechain-types/RouterStatic.ts +203 -22
- package/typechain-types/VotingEscrowPendleMainchain.ts +9 -0
- package/typechain-types/VotingEscrowPendleSidechain.ts +9 -0
- package/typechain-types/factories/AccessControl__factory.ts +227 -0
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +131 -59
- package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +14 -1
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeem__factory.ts +90 -42
- package/typechain-types/factories/ActionMisc__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPT__factory.ts +60 -42
- package/typechain-types/factories/ActionSwapYT__factory.ts +60 -42
- package/typechain-types/factories/AggregationRouterHelper__factory.ts +190 -1
- package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +14 -1
- package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +1 -1
- package/typechain-types/factories/BeaconProxy__factory.ts +141 -0
- package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
- package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +13 -0
- package/typechain-types/factories/BulkSellerFactory__factory.ts +584 -0
- package/typechain-types/factories/BulkSellerOffchain__factory.ts +120 -0
- package/typechain-types/factories/BulkSeller__factory.ts +745 -0
- package/typechain-types/factories/Curve3CrvPoolHelper__factory.ts +220 -0
- package/typechain-types/factories/CurveFraxUsdcPoolHelper__factory.ts +146 -0
- package/typechain-types/factories/CurveUsdd3CrvPoolHelper__factory.ts +172 -0
- package/typechain-types/factories/ERC165__factory.ts +39 -0
- package/typechain-types/factories/ERC20__factory.ts +1 -1
- package/typechain-types/factories/Errors__factory.ts +207 -1
- package/typechain-types/factories/IAccessControl__factory.ts +198 -0
- package/typechain-types/factories/IAggregationRouterHelper__factory.ts +54 -0
- package/typechain-types/factories/ICrvPool__factory.ts +30 -83
- package/typechain-types/factories/IERC165__factory.ts +42 -0
- package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +91 -17
- package/typechain-types/factories/IPActionMintRedeem__factory.ts +50 -0
- package/typechain-types/factories/IPActionSwapPT__factory.ts +20 -0
- package/typechain-types/factories/IPActionSwapYT__factory.ts +20 -0
- package/typechain-types/factories/IPAllAction__factory.ts +181 -17
- package/typechain-types/factories/IPBulkSellerCallback__factory.ts +53 -0
- package/typechain-types/factories/IPBulkSellerFactory__factory.ts +101 -0
- package/typechain-types/factories/IPBulkSeller__factory.ts +185 -0
- package/typechain-types/factories/IStETH__factory.ts +45 -0
- package/typechain-types/factories/ITriCrvPool__factory.ts +225 -0
- package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +1 -1
- package/typechain-types/factories/Initializable__factory.ts +36 -0
- package/typechain-types/factories/KyberSwapHelper__factory.ts +1 -1
- package/typechain-types/factories/MarketMathStatic__factory.ts +1 -35
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1068 -0
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1168 -0
- package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +14 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +14 -1
- package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +14 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +14 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +14 -1
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +14 -1
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +14 -1
- package/typechain-types/factories/PendleMsgSenderAppUpg__factory.ts +13 -0
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +14 -1
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__factory.ts +14 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +14 -1
- package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +14 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
- package/typechain-types/factories/RouterStatic__factory.ts +182 -2
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +14 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +14 -1
- package/typechain-types/hardhat.d.ts +139 -13
- package/typechain-types/index.ts +30 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.json +0 -1018
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +0 -76
- package/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol +0 -167
- package/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol +0 -83
|
@@ -13,7 +13,12 @@ const _abi = [
|
|
|
13
13
|
inputs: [
|
|
14
14
|
{
|
|
15
15
|
internalType: "address",
|
|
16
|
-
name: "
|
|
16
|
+
name: "_kyberScalingLib",
|
|
17
|
+
type: "address",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
internalType: "address",
|
|
21
|
+
name: "_bulkSellerDirectory",
|
|
17
22
|
type: "address",
|
|
18
23
|
},
|
|
19
24
|
],
|
|
@@ -184,6 +189,11 @@ const _abi = [
|
|
|
184
189
|
name: "RouterInsufficientTokenOut",
|
|
185
190
|
type: "error",
|
|
186
191
|
},
|
|
192
|
+
{
|
|
193
|
+
inputs: [],
|
|
194
|
+
name: "RouterKyberSwapDataZero",
|
|
195
|
+
type: "error",
|
|
196
|
+
},
|
|
187
197
|
{
|
|
188
198
|
inputs: [
|
|
189
199
|
{
|
|
@@ -273,7 +283,7 @@ const _abi = [
|
|
|
273
283
|
{
|
|
274
284
|
indexed: false,
|
|
275
285
|
internalType: "uint256",
|
|
276
|
-
name: "
|
|
286
|
+
name: "netTokenUsed",
|
|
277
287
|
type: "uint256",
|
|
278
288
|
},
|
|
279
289
|
{
|
|
@@ -680,14 +690,41 @@ const _abi = [
|
|
|
680
690
|
type: "address",
|
|
681
691
|
},
|
|
682
692
|
{
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
693
|
+
components: [
|
|
694
|
+
{
|
|
695
|
+
internalType: "address",
|
|
696
|
+
name: "tokenIn",
|
|
697
|
+
type: "address",
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
internalType: "uint256",
|
|
701
|
+
name: "netTokenIn",
|
|
702
|
+
type: "uint256",
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
internalType: "address",
|
|
706
|
+
name: "tokenMintSy",
|
|
707
|
+
type: "address",
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
internalType: "address",
|
|
711
|
+
name: "kyberRouter",
|
|
712
|
+
type: "address",
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
internalType: "bytes",
|
|
716
|
+
name: "kybercall",
|
|
717
|
+
type: "bytes",
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
internalType: "bool",
|
|
721
|
+
name: "useBulk",
|
|
722
|
+
type: "bool",
|
|
723
|
+
},
|
|
724
|
+
],
|
|
725
|
+
internalType: "struct TokenInput",
|
|
726
|
+
name: "input",
|
|
727
|
+
type: "tuple",
|
|
691
728
|
},
|
|
692
729
|
{
|
|
693
730
|
internalType: "uint256",
|
|
@@ -929,11 +966,21 @@ const _abi = [
|
|
|
929
966
|
name: "tokenMintSy",
|
|
930
967
|
type: "address",
|
|
931
968
|
},
|
|
969
|
+
{
|
|
970
|
+
internalType: "address",
|
|
971
|
+
name: "kyberRouter",
|
|
972
|
+
type: "address",
|
|
973
|
+
},
|
|
932
974
|
{
|
|
933
975
|
internalType: "bytes",
|
|
934
976
|
name: "kybercall",
|
|
935
977
|
type: "bytes",
|
|
936
978
|
},
|
|
979
|
+
{
|
|
980
|
+
internalType: "bool",
|
|
981
|
+
name: "useBulk",
|
|
982
|
+
type: "bool",
|
|
983
|
+
},
|
|
937
984
|
],
|
|
938
985
|
internalType: "struct TokenInput",
|
|
939
986
|
name: "input",
|
|
@@ -958,7 +1005,20 @@ const _abi = [
|
|
|
958
1005
|
},
|
|
959
1006
|
{
|
|
960
1007
|
inputs: [],
|
|
961
|
-
name: "
|
|
1008
|
+
name: "bulkFactory",
|
|
1009
|
+
outputs: [
|
|
1010
|
+
{
|
|
1011
|
+
internalType: "contract IPBulkSellerFactory",
|
|
1012
|
+
name: "",
|
|
1013
|
+
type: "address",
|
|
1014
|
+
},
|
|
1015
|
+
],
|
|
1016
|
+
stateMutability: "view",
|
|
1017
|
+
type: "function",
|
|
1018
|
+
},
|
|
1019
|
+
{
|
|
1020
|
+
inputs: [],
|
|
1021
|
+
name: "kyberScalingLib",
|
|
962
1022
|
outputs: [
|
|
963
1023
|
{
|
|
964
1024
|
internalType: "address",
|
|
@@ -1031,14 +1091,41 @@ const _abi = [
|
|
|
1031
1091
|
type: "uint256",
|
|
1032
1092
|
},
|
|
1033
1093
|
{
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1094
|
+
components: [
|
|
1095
|
+
{
|
|
1096
|
+
internalType: "address",
|
|
1097
|
+
name: "tokenOut",
|
|
1098
|
+
type: "address",
|
|
1099
|
+
},
|
|
1100
|
+
{
|
|
1101
|
+
internalType: "uint256",
|
|
1102
|
+
name: "minTokenOut",
|
|
1103
|
+
type: "uint256",
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
internalType: "address",
|
|
1107
|
+
name: "tokenRedeemSy",
|
|
1108
|
+
type: "address",
|
|
1109
|
+
},
|
|
1110
|
+
{
|
|
1111
|
+
internalType: "address",
|
|
1112
|
+
name: "kyberRouter",
|
|
1113
|
+
type: "address",
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
internalType: "bytes",
|
|
1117
|
+
name: "kybercall",
|
|
1118
|
+
type: "bytes",
|
|
1119
|
+
},
|
|
1120
|
+
{
|
|
1121
|
+
internalType: "bool",
|
|
1122
|
+
name: "useBulk",
|
|
1123
|
+
type: "bool",
|
|
1124
|
+
},
|
|
1125
|
+
],
|
|
1126
|
+
internalType: "struct TokenOutput",
|
|
1127
|
+
name: "output",
|
|
1128
|
+
type: "tuple",
|
|
1042
1129
|
},
|
|
1043
1130
|
{
|
|
1044
1131
|
internalType: "uint256",
|
|
@@ -1206,11 +1293,21 @@ const _abi = [
|
|
|
1206
1293
|
name: "tokenRedeemSy",
|
|
1207
1294
|
type: "address",
|
|
1208
1295
|
},
|
|
1296
|
+
{
|
|
1297
|
+
internalType: "address",
|
|
1298
|
+
name: "kyberRouter",
|
|
1299
|
+
type: "address",
|
|
1300
|
+
},
|
|
1209
1301
|
{
|
|
1210
1302
|
internalType: "bytes",
|
|
1211
1303
|
name: "kybercall",
|
|
1212
1304
|
type: "bytes",
|
|
1213
1305
|
},
|
|
1306
|
+
{
|
|
1307
|
+
internalType: "bool",
|
|
1308
|
+
name: "useBulk",
|
|
1309
|
+
type: "bool",
|
|
1310
|
+
},
|
|
1214
1311
|
],
|
|
1215
1312
|
internalType: "struct TokenOutput",
|
|
1216
1313
|
name: "output",
|
|
@@ -1236,68 +1333,47 @@ const _abi = [
|
|
|
1236
1333
|
];
|
|
1237
1334
|
|
|
1238
1335
|
const _bytecode =
|
|
1239
|
-
"0x60a06040523480156200001157600080fd5b5060405162004c2738038062004c27833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051614b86620000a16000396000818160da01528181612e940152612f610152614b866000f3fe60806040526004361061008c5760003560e01c8063178d29d3146100915780631ef6f327146100c85780633af1f32914610109578063409c7a8914610129578063694ab559146101495780637307a7a51461016957806397ee279e1461018b578063b7d75b8b146101ab578063f17b8c4a146101cb578063f3a411b8146101de578063febde725146101fe575b600080fd5b34801561009d57600080fd5b506100b16100ac3660046141bd565b61021e565b6040516100bf929190614203565b60405180910390f35b3480156100d457600080fd5b506100fc7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100bf9190614211565b34801561011557600080fd5b506100b1610124366004614237565b6102aa565b34801561013557600080fd5b506100b1610144366004614237565b610564565b34801561015557600080fd5b506100b1610164366004614237565b610662565b61017c610177366004614294565b610934565b6040516100bf939291906142f9565b34801561019757600080fd5b5061017c6101a636600461430f565b610d1d565b3480156101b757600080fd5b506100b16101c636600461430f565b610f45565b6100b16101d9366004614372565b611081565b3480156101ea57600080fd5b506100b16101f93660046143f1565b611188565b34801561020a57600080fd5b506100b1610219366004614456565b61138a565b6000806102366001600160a01b03861633878761149f565b610242868686866114fd565b8092508193505050856001600160a01b0316856001600160a01b0316336001600160a01b03167fd31f02c44717b409d13b92ec9d2eaf1427fb4e63f85f4777f1458fb8d93877618786604051610299929190614203565b60405180910390a494509492505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031291906144c1565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037c9190614558565b905060006103b0610395846001600160a01b03166115b8565b8a426103a6368c90038c018c6145da565b8693929190611624565b509091506103cb90506001600160a01b038516338c8c61149f565b60408051600080825260208201928390526329910b1160e01b9092526001600160a01b038c16906329910b1190610409908e90869060248101614699565b60408051808303816000875af1158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b91906146c0565b965090506001600160a01b038b1663156e29f68d8361046a868f6146fa565b6040518463ffffffff1660e01b81526004016104889392919061470d565b6060604051808303816000875af11580156104a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cb919061472e565b5090975050888710156104fe578689604051636a1dbf1b60e01b81526004016104f5929190614203565b60405180910390fd5b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fc87b85efc5055ef177e0092af0d4e624fff4b1d57db748857f65e4b7e4a28a368d8b60405161054d929190614203565b60405180910390a450505050509550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156105a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cc91906144c1565b9193509091506105e990506001600160a01b038316338a8a61149f565b6105f78989838a8a8a611830565b8094508195505050886001600160a01b0316886001600160a01b0316336001600160a01b03167fb51950711c9b21dc7888d41f68a19540231ffb5f0d19d8f75cbccaf90ffa7fa58a8860405161064e929190614203565b60405180910390a450509550959350505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c991906144c1565b92506106e39150506001600160a01b03881633898961149f565b6000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610724573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107489190614558565b9050600080610757838a611a0a565b91509150600061078d610772866001600160a01b03166115b8565b8442610783368d90038d018d6145da565b8893929190611a45565b5090508861079b828461475c565b10156107c7576107ab818361475c565b89604051634e6ffe4760e11b81526004016104f5929190614203565b8a6001600160a01b031663f6b911bc8c8e8d6040518463ffffffff1660e01b81526004016107f79392919061476f565b60408051808303816000875af1158015610815573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083991906146c0565b60408051600081526020810191829052635b709f1760e01b9091529093506001600160a01b038d169150635b709f179061087a908f90859060248101614699565b60408051808303816000875af1158015610898573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bc91906146c0565b96508990506108cb828461475c565b10156108d9576108d9614793565b6108e3818361475c565b96508b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fac97b87f5422fa3beec99bff8f336310d8ebc7d33d909b7d534cd7c72f61e8718d8b60405161054d929190614203565b6000806000806000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561097a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099e91906144c1565b50915091506000826001600160a01b031663b8f82b268b8b6040518363ffffffff1660e01b81526004016109d39291906147a9565b602060405180830381865afa1580156109f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1491906147c2565b90506000808c6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c9190614558565b9050610a8a81848c42611b48565b919a5090975092505050818114610ab8578181604051636f5068bb60e11b81526004016104f5929190614203565b87871015610add578688604051636a1dbf1b60e01b81526004016104f5929190614203565b610af26001600160a01b038416338e8861149f565b8995506001600160a01b038b16610b9e57610b0e8b338c611bb3565b836001600160a01b03166320e8c565878e8e8a866040518663ffffffff1660e01b8152600401610b4194939291906147db565b60206040518083038185885af1158015610b5f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b8491906147c2565b50610b998b33610b94898e6146fa565b611c1f565b610c2a565b610ba98b3388611bb3565b610bb38b85611ce3565b6040516320e8c56560e01b81526001600160a01b038516906320e8c56590610be5908f908f908b9087906004016147db565b6020604051808303816000875af1158015610c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2891906147c2565b505b8b6001600160a01b031663156e29f68e83886040518463ffffffff1660e01b8152600401610c5a9392919061470d565b6060604051808303816000875af1158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d919061472e565b509097505087871015610cb257610cb2614793565b604080516001600160a01b038d81168252602082018d905291810187905260608101899052818f16918e169033907f7f646a534401967ac0913451efea28d9e170ffc164efa98e3957cde363c0245f9060800160405180910390a45050505096509650969350505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8791906144c1565b50915091506000896001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610dcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df19190614558565b9050610dff818a8a42611b48565b919850965094505086861015610e2c578587604051636a1dbf1b60e01b81526004016104f5929190614203565b610e416001600160a01b038416338c8861149f565b610e566001600160a01b038316338c8761149f565b604051630ab714fb60e11b81526001600160a01b038b169063156e29f690610e86908e908990899060040161470d565b6060604051808303816000875af1158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec9919061472e565b509096505086861015610ede57610ede614793565b8a6001600160a01b03168a6001600160a01b0316336001600160a01b03167f9334566f6358cd68e33d423fb1c9119c6837e3a2a7a8affaaa5020ed06aec06988888b604051610f2f939291906142f9565b60405180910390a4505050955095509592505050565b600080610f5d6001600160a01b03871633888861149f565b604051633dae446f60e21b81526001600160a01b0387169063f6b911bc90610f8d908a9081908a9060040161476f565b60408051808303816000875af1158015610fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcf91906146c0565b909250905083821015610ff95781846040516305221cf360e11b81526004016104f5929190614203565b8281101561101e578083604051634e6ffe4760e11b81526004016104f5929190614203565b866001600160a01b0316866001600160a01b0316336001600160a01b03167fd9f35a37b64d95edfd8f26adf130ce45f3e9ddf3c7ab8c1fb7224727a339a98e88858760405161106f939291906142f9565b60405180910390a49550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e991906144c1565b925050915060006110fd8984600189611d9b565b905061110d8a8a84848c8c611830565b909550935061111f6020870187614804565b6001600160a01b0316896001600160a01b0316336001600160a01b03167ff83776e5b667a2b471f92ddfd482749c61b5328b832d375097638c2c08818f3b8d8a602001358a6040516111739392919061470d565b60405180910390a45050509550959350505050565b6000806000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef91906144c1565b5090915061120a90506001600160a01b038916338a8a61149f565b604051633dae446f60e21b81526000906001600160a01b038a169063f6b911bc9061123d9085908e908d9060040161476f565b60408051808303816000875af115801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f91906146c0565b60405163769f8e5d60e01b81529094509091506001600160a01b0383169063769f8e5d906112ba908d9085908c908c90600190600401614821565b6020604051808303816000875af11580156112d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fd91906147c2565b935084831015611324578285604051634e6ffe4760e11b81526004016104f5929190614203565b60408051898152602081018590526001600160a01b03898116828401526060820187905291518c8316928c169133917f0eed48ee59ddaf7384d334727280158b7a75d5e84baa5614200f0506f08bb4fb9181900360800190a45050965096945050505050565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156113cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f191906144c1565b5090915061140c90506001600160a01b03871633888861149f565b600061141b82888860016114fd565b9350905061142d888383886000611f39565b935061143c6020860186614804565b6001600160a01b0316876001600160a01b0316336001600160a01b03167f3fff08e8137afe866dce7ced13ddc12d684db61b80b0ac5cb9e54961c9dd8a218b8a8960405161148c9392919061470d565b60405180910390a4505094509492505050565b6114f7846323b872dd60e01b8585856040516024016114c09392919061476f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612129565b50505050565b600080846001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115629190614855565b15611579576115728686866121fb565b915061158a565b61158486868661235f565b90925090505b828210156115af5781836040516305221cf360e11b81526004016104f5929190614203565b94509492505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156115fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161e91906147c2565b92915050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036116755760405162461bcd60e51b81526004016104f590614877565b60208101516060820151825160009261168d92612479565b905060006116b68760006116b186604001516116ac8760200151612573565b61258a565b6125a2565b90506116ca8160200151846040015161258a565b602082015260005b816060015181101561180b576000806116f584868860000151600001518661266d565b9150915081611709576020840152506117fb565b6000806117208860000151888a60200151866126d5565b9150915060008060008561173b8c6000015160000151612717565b611745919061475c565b90506000868c6040015161175991906146fa565b9050600085876117708f6000015160200151612717565b61177a91906146fa565b61178491906146fa565b9050611790838861489f565b945061179c818361489f565b93505050506117b082828a6080015161272a565b156117ca5750929a50909850965061182595505050505050565b8082116117e3576117dc85600161475c565b88526117f4565b6117ee6001866146fa565b60208901525b5050505050505b611804816148b6565b90506116d2565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611874573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118989190614558565b905060006118cc6118b1896001600160a01b03166115b8565b88426118c2368a90038a018a6145da565b8693929190612773565b50506040805160008082526020820192839052635b709f1760e01b909252919250906001600160a01b038b1690635b709f1790611910908d90869060248101614699565b60408051808303816000875af115801561192e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195291906146c0565b945090506001600160a01b038a1663156e29f68c611970848c6146fa565b856040518463ffffffff1660e01b815260040161198f9392919061470d565b6060604051808303816000875af11580156119ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d2919061472e565b5090955050868510156119fc578487604051636a1dbf1b60e01b81526004016104f5929190614203565b505050965096945050505050565b600080600080611a2286611a1d87612938565b61294e565b91509150611a2f82612717565b9350611a3a81612717565b925050509250929050565b604080516080810182528681526020810186905290810184905260608101839052600090819081611a77898988612479565b90506000611a98866000611a9385876000015160000151612a19565b612ab6565b905060005b816060015181101561180b576000611ab58383612ae8565b9050600080611ace876000015187896020015186612b54565b9150915086604001518211611b195782855260408701516080860151600091611af991859190612b75565b90508015611b135750919750909550611b3e945050505050565b50611b2a565b611b246001846146fa565b60208601525b50505080611b37906148b6565b9050611a9d565b9550959350505050565b600080600080600080600080611b708c611b618d612938565b611b6a8d612938565b8c612ba3565b9350935093509350611b8184612717565b9750611b8c83612717565b9650611b9782612717565b9550611ba281612717565b945050505050945094509450949050565b6001600160a01b038316611c0457803414611bff5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016104f5565b505050565b8015611bff57611bff6001600160a01b03841683308461149f565b80600003611c2c57505050565b6001600160a01b038316611ccf576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c87576040519150601f19603f3d011682016040523d82523d6000602084013e611c8c565b606091505b50509050806114f75760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016104f5565b611bff6001600160a01b0384168383612d5b565b6001600160a01b038216611cf5575050565b611d0760026001600160601b036148e5565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015611d60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8491906147c2565b1015611d9757611d978282600019612d7a565b5050565b6000611db8611dad6020840184614804565b338460200135611bb3565b611dc86060830160408401614804565b6001600160a01b0316611dde6020840184614804565b6001600160a01b031614611e4857611e48611dfc6020840184614804565b6020840135611e0e606086018661490b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612e8e92505050565b611e61611e5b6060840160408501614804565b85611ce3565b6000611e7b611e766060850160408601614804565b612f88565b9050600080611e906060860160408701614804565b6001600160a01b031614611ea5576000611ea7565b815b90506001600160a01b0386166320e8c5658289611eca6060890160408a01614804565b868a6040518663ffffffff1660e01b8152600401611eeb94939291906147db565b60206040518083038185885af1158015611f09573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f2e91906147c2565b979650505050505050565b60008115611f5657611f566001600160a01b03861633878761149f565b611f636020840184614804565b6001600160a01b0316611f7c6060850160408601614804565b6001600160a01b03160361201c576001600160a01b03851663769f8e5d8786611fab6060880160408901614804565b876020013560016040518663ffffffff1660e01b8152600401611fd2959493929190614821565b6020604051808303816000875af1158015611ff1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201591906147c2565b9050612120565b60006001600160a01b03861663769f8e5d308761203f6060890160408a01614804565b6001806040518663ffffffff1660e01b8152600401612062959493929190614821565b6020604051808303816000875af1158015612081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a591906147c2565b90506120c86120ba6060860160408701614804565b82611e0e606088018861490b565b6120d8611e766020860186614804565b915083602001358210156121075781846020013560405163c5b5576d60e01b81526004016104f5929190614203565b61211e6121176020860186614804565b8884611c1f565b505b95945050505050565b600061217e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166130129092919063ffffffff16565b805190915015611bff578080602001905181019061219c9190614855565b611bff5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104f5565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561223c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226091906144c1565b925050506000846001600160a01b031663f6b911bc8784876040518463ffffffff1660e01b81526004016122969392919061476f565b60408051808303816000875af11580156122b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d891906146c0565b5060405163bcb7ea5d60e01b81529091506001600160a01b0383169063bcb7ea5d90612308908990600401614211565b6020604051808303816000875af1158015612327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061234b91906147c2565b612355908261475c565b9695505050505050565b600080600080856001600160a01b031663f6b911bc8888886040518463ffffffff1660e01b81526004016123959392919061476f565b60408051808303816000875af11580156123b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d791906146c0565b60408051600080825260208201928390526329910b1160e01b909252929450909250906001600160a01b038816906329910b119061241c908b90869060248101614699565b60408051808303816000875af115801561243a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245e91906146c0565b9450905061246c818461475c565b9450505050935093915050565b6124a46040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106124c85760405163b2094b5960e01b815260040160405180910390fd5b6000828560c001516124da91906146fa565b90506124e68582613021565b825260208501516124f890859061307d565b60208301528451158061250d57506020820151155b15612534578451602083015160405163b1c4aefb60e01b81526104f5929190600401614203565b612552856000015186610100015184602001518560000151856130b4565b604083015260a08501516125669082613135565b6060830152509392505050565b6000600161258083612717565b61161e91906146fa565b6000818310612599578161259b565b825b9392505050565b6125db6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b83516125e79084613169565b815260208401516125f8908361258a565b60208201819052815111806126185750670de0b6b3a76400008460800151115b1561264557835160208501516080860151604051632cc06bc160e21b81526104f5939291906004016142f9565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b600080600061267c8785612ae8565b90508660a001518111612694576001925090506115af565b60006126a987876126a485612938565b613178565b905060008112156126c057506000925090506115af565b5060a096909601869052506001959350505050565b6000806000806126f287876126e98861326a565b8b929190613281565b915091506126ff82612717565b935061270a81612717565b9250505094509492505050565b60008082121561272657600080fd5b5090565b6000836127488461274385670de0b6b3a76400006146fa565b6133c7565b1115801561276b57506127678361274384670de0b6b3a764000061475c565b8411155b949350505050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036127c45760405162461bcd60e51b81526004016104f590614877565b6020810151606082015182516000926127dc92612479565b905060006127f8876000611a9385876000015160000151612a19565b905060005b816060015181101561180b5760006128158383612ae8565b905060008061282e876000015187896020015186612b54565b915091508660400151821115612857576128496001846146fa565b602086015250612928915050565b6000806000848a6040015161286c91906146fa565b90506000866128828c6000015160000151612717565b61288c91906146fa565b90506000858761289f8d60200151612717565b6128a9919061475c565b6128b391906146fa565b90506128bf818961489f565b93506128cb828461489f565b94505050506128df8183896080015161272a565b156128f857509299509097509550611825945050505050565b8181116129115761290a85600161475c565b8752612922565b61291c6001866146fa565b60208801525b50505050505b612931816148b6565b90506127fd565b60006001600160ff1b0382111561272657600080fd5b60008082600003612972576040516325daaec360e01b815260040160405180910390fd5b604084015160208501516129869085614958565b6129909190614988565b60408501518551919350906129a59085614958565b6129af9190614988565b90508115806129bc575080155b156129da57604051631997ea8d60e31b815260040160405180910390fd5b60408401516129e990846133e7565b604085015283516129fa90826133e7565b84526020840151612a0b90836133e7565b602090940193909352929050565b600080612a46612a41856000015186604001518760600151612a3b91906149b6565b9061342e565b613451565b90506000612a66612a5f670de0b6b3a7640000846149dd565b8390613866565b90506000612a84866020015186612a7d91906149dd565b839061342e565b90506000612a9282876149b6565b90506103e8612aa082612717565b612aac906103e761489f565b611f2e9190614a05565b6125db6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b600081158015612afb5750604083015115155b15612b0b5750604082015161161e565b6020830151835111612b3b5760208301518351600291612b2a9161475c565b612b349190614a05565b905061161e565b604051637d388ed960e11b815260040160405180910390fd5b600080600080612b6887876126e988612938565b915091506126ff8261388c565b600082841115801561276b5750612b988361274384670de0b6b3a76400006146fa565b909310159392505050565b6000808080861580612bb3575085155b15612bd1576040516325daaec360e01b815260040160405180910390fd5b60c08801518510612bf55760405163b2094b5960e01b815260040160405180910390fd5b8760400151600003612c42576103e8612c26612c21612c1c612c178a8c614958565b612717565b61389e565b612938565b612c3091906149b6565b92506103e89350869150859050612ce5565b8751604089015160009190612c579089614958565b612c619190614988565b9050600089602001518a604001518a612c7a9190614958565b612c849190614988565b905080821215612cba578194508792508960400151858b60200151612ca99190614958565b612cb39190614988565b9350612ce2565b8094508893508960400151858b60000151612cd59190614958565b612cdf9190614988565b92505b50505b60008313612d0657604051631997ea8d60e31b815260040160405180910390fd5b8188602001818151612d1891906149dd565b905250875181908990612d2c9083906149dd565b905250612d3984846149dd565b88604001818151612d4a91906149dd565b905250929791965094509092509050565b611bff8363a9059cbb60e01b84846040516024016114c09291906147a9565b600080846001600160a01b031663095ea7b360e01b8585604051602401612da29291906147a9565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612de09190614a19565b6000604051808303816000865af19150503d8060008114612e1d576040519150601f19603f3d011682016040523d82523d6000602084013e612e22565b606091505b5091509150818015612e4c575080511580612e4c575080806020019051810190612e4c9190614855565b612e875760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016104f5565b5050505050565b612eb8837f0000000000000000000000000000000000000000000000000000000000000000611ce3565b60405163726d379760e11b815260009073__$802f57dc5d2627d21bbb7805eff3c348c4$__9063e4da6f2e90612ef49085908790600401614a35565b600060405180830381865af4158015612f11573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f399190810190614a57565b9050612e87816001600160a01b03861615612f55576000612f57565b845b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061390e565b60006001600160a01b0382161561300b576040516370a0823160e01b81526001600160a01b038316906370a0823190612fc5903090600401614211565b602060405180830381865afa158015612fe2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300691906147c2565b61161e565b4792915050565b606061276b8484600085613930565b600061302c82612938565b61303e612c216201518061016d61489f565b846080015161304d9190614958565b6130579190614988565b90506000811361161e57604051630e520c3b60e11b8152600481018290526024016104f5565b6000806000831261308f576001613093565b6000195b90506130aa612c21856130a58661388c565b613a56565b61276b9082614958565b6000806130c18684613135565b9050670de0b6b3a76400008112156130ef5760405163329e322960e21b8152600481018290526024016104f5565b60006131056130fe878a6149dd565b8990613866565b9050600061311282613a75565b905061311e8187613866565b61312890846149b6565b9998505050505050505050565b6000806131476201518061016d61489f565b613151848661489f565b61315b9190614a05565b905061276b612a4182612938565b6000818311612599578161259b565b60008082856020015161318b91906149b6565b9050600061319985856149dd565b90506000821380156131ab5750600081135b6131ec5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b60448201526064016104f5565b600061321a6131fb8484614958565b602089015161320a90896149dd565b6132149088614958565b90613866565b9050600061323061322b8486613866565b613ac4565b885190915060009061324b90670de0b6b3a764000090613866565b905061325b81612a3b84866149b6565b896040015161312891906149b6565b600061327582612938565b61161e90600019614958565b60008060006132a3876000015187602001518860000151896040015188613b50565b905060006132b96132b48684613866565b613c01565b606088015190915060008613156133285760006132d68483613866565b9050670de0b6b3a76400008112156133045760405163329e322960e21b8152600481018290526024016104f5565b61332061331983670de0b6b3a76400006149b6565b849061342e565b915050613355565b6133528161333e81670de0b6b3a76400006149b6565b6133489085614958565b6132b49190614988565b90505b600060646133668b60e00151612938565b6133709084614958565b61337a9190614988565b9050600061338883856149b6565b9050600081126133a15761339c8982613c0f565b6133ab565b6133ab8982613c3c565b96506133b78983613c0f565b9550505050505094509492505050565b6000806133d4838561489f565b670de0b6b3a76400009004949350505050565b6000818312156134245760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016104f5565b61259b82846149b6565b60008061343b8385614958565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015613476575068070c1cc73b00c800008213155b6134b55760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016104f5565b60008212156134ed576134ca82600003613451565b6a0c097ce7bc90715b34b9f160241b816134e6576134e66148cf565b0592915050565b60006806f05b59d3b2000000831261352b57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b613561565b6803782dace9d9000000831261355d57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380613561565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126135b15768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126135ed576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261362757682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412613661576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261369a57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126136d35768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841261370c576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126137455768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b60008061387b670de0b6b3a764000085614958565b9050828181613448576134486148cf565b60008082136127265761300682614af8565b600060038211156138ff57508060006138b8600283614a05565b6138c390600161475c565b90505b818110156138f9579050806002816138de8186614a05565b6138e8919061475c565b6138f29190614a05565b90506138c6565b50919050565b8115613909575060015b919050565b606061276b848484604051806060016040528060298152602001614b28602991395b6060824710156139915760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104f5565b6001600160a01b0385163b6139e85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104f5565b600080866001600160a01b03168587604051613a049190614a19565b60006040518083038185875af1925050503d8060008114613a41576040519150601f19603f3d011682016040523d82523d6000602084013e613a46565b606091505b5091509150611f2e828286613c69565b6000670de0b6b3a7640000613a6b848461489f565b61259b9190614a05565b6000670de0b6b3a76400008203613a9f5760405163a9c8b14d60e01b815260040160405180910390fd5b6000613abd613ab684670de0b6b3a76400006149b6565b8490613866565b905061259b815b6000808213613b055760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016104f5565b670c7d713b49da000082138015613b235750670f43fc2c04ee000082125b15613b4757670de0b6b3a7640000613b3a83613ca2565b816134e6576134e66148cf565b61161e82613dc1565b600080613b5d87846133e7565b90506000613b6e612a5f888a6149dd565b9050670d529ae9e8600000811315613ba55780670d529ae9e8600000604051637e34684f60e11b81526004016104f5929190614203565b6000613bb082613a75565b905085613bbd8289613866565b613bc791906149dd565b9350670de0b6b3a7640000841215613bf55760405163329e322960e21b8152600481018590526024016104f5565b50505095945050505050565b600061161e82600019614958565b60008060008312613c21576001613c25565b6000195b90506130aa612c2185613c378661388c565b614164565b60008060008312613c4e576001613c52565b6000195b90506130aa612c2185613c648661388c565b614179565b60608315613c7857508161259b565b825115613c885782518084602001fd5b8160405162461bcd60e51b81526004016104f59190614b14565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613ce357613ce36148cf565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613e0257613df9826a0c097ce7bc90715b34b9f160241b81613df357613df36148cf565b05613dc1565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613e4d5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613e84576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613ecc576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613f07576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613f3e57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613f7557690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613faa5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312613fd557680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261400a576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f1775788937937831261403f576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312614073576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126140a7576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d6310000080860302816140d0576140d06148cf565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b600082613a6b670de0b6b3a76400008461489f565b600082600181614191670de0b6b3a76400008661489f565b61419b919061475c565b613a6b91906146fa565b6001600160a01b03811681146141ba57600080fd5b50565b600080600080608085870312156141d357600080fd5b84356141de816141a5565b935060208501356141ee816141a5565b93969395505050506040820135916060013590565b918252602082015260400190565b6001600160a01b0391909116815260200190565b600060a082840312156138f957600080fd5b6000806000806000610120868803121561425057600080fd5b853561425b816141a5565b9450602086013561426b816141a5565b935060408601359250606086013591506142888760808801614225565b90509295509295909350565b60008060008060008060c087890312156142ad57600080fd5b86356142b8816141a5565b955060208701356142c8816141a5565b945060408701356142d8816141a5565b959894975094956060810135955060808101359460a0909101359350915050565b9283526020830191909152604082015260600190565b600080600080600060a0868803121561432757600080fd5b8535614332816141a5565b94506020860135614342816141a5565b94979496505050506040830135926060810135926080909101359150565b6000608082840312156138f957600080fd5b6000806000806000610120868803121561438b57600080fd5b8535614396816141a5565b945060208601356143a6816141a5565b9350604086013592506143bc8760608801614225565b91506101008601356001600160401b038111156143d857600080fd5b6143e488828901614360565b9150509295509295909350565b60008060008060008060c0878903121561440a57600080fd5b8635614415816141a5565b95506020870135614425816141a5565b945060408701359350606087013561443c816141a5565b9598949750929560808101359460a0909101359350915050565b6000806000806080858703121561446c57600080fd5b8435614477816141a5565b93506020850135614487816141a5565b92506040850135915060608501356001600160401b038111156144a957600080fd5b6144b587828801614360565b91505092959194509250565b6000806000606084860312156144d657600080fd5b83516144e1816141a5565b60208501519093506144f2816141a5565b6040850151909250614503816141a5565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156145475761454761450e565b60405290565b8051613909816141a5565b6000610120828403121561456b57600080fd5b614573614524565b8251815260208301516020820152604083015160408201526145976060840161454d565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060a082840312156145ec57600080fd5b60405160a081016001600160401b038111828210171561460e5761460e61450e565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b8381101561466457818101518382015260200161464c565b50506000910152565b60008151808452614685816020860160208601614649565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000612120606083018461466d565b600080604083850312156146d357600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b8181038181111561161e5761161e6146e4565b6001600160a01b039390931683526020830191909152604082015260600190565b60008060006060848603121561474357600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561161e5761161e6146e4565b6001600160a01b039384168152919092166020820152604081019190915260600190565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b03929092168252602082015260400190565b6000602082840312156147d457600080fd5b5051919050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561481657600080fd5b813561259b816141a5565b6001600160a01b03958616815260208101949094529190931660408301526060820192909252901515608082015260a00190565b60006020828403121561486757600080fd5b8151801515811461259b57600080fd5b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b808202811582820484141761161e5761161e6146e4565b6000600182016148c8576148c86146e4565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60006001600160601b03838116806148ff576148ff6148cf565b92169190910492915050565b6000808335601e1984360301811261492257600080fd5b8301803591506001600160401b0382111561493c57600080fd5b60200191503681900382131561495157600080fd5b9250929050565b80820260008212600160ff1b84141615614974576149746146e4565b818105831482151761161e5761161e6146e4565b600082614997576149976148cf565b600160ff1b8214600019841416156149b1576149b16146e4565b500590565b81810360008312801583831316838312821617156149d6576149d66146e4565b5092915050565b80820182811260008312801582168215821617156149fd576149fd6146e4565b505092915050565b600082614a1457614a146148cf565b500490565b60008251614a2b818460208701614649565b9190910192915050565b604081526000614a48604083018561466d565b90508260208301529392505050565b600060208284031215614a6957600080fd5b81516001600160401b0380821115614a8057600080fd5b818401915084601f830112614a9457600080fd5b815181811115614aa657614aa661450e565b604051601f8201601f19908116603f01168101908382118183101715614ace57614ace61450e565b81604052828152876020848701011115614ae757600080fd5b611f2e836020830160208801614649565b6000600160ff1b8201614b0d57614b0d6146e4565b5060000390565b60208152600061259b602083018461466d56fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220f86f04f898fd71bb7df9fc631e6e6eaa8b4875e98a44fed67c36d6d10f3f9b4664736f6c63430008110033";
|
|
1336
|
+
"0x60c06040523480156200001157600080fd5b5060405162004f0038038062004f00833981016040819052620000349162000069565b6001600160a01b039182166080521660a052620000a1565b80516001600160a01b03811681146200006457600080fd5b919050565b600080604083850312156200007d57600080fd5b62000088836200004c565b915062000098602084016200004c565b90509250929050565b60805160a051614e1e620000e26000396000818160e50152818161179f01528181611d6d0152611e6501526000818161023b01526127720152614e1e6000f3fe6080604052600436106100975760003560e01c8063178d29d31461009c5780631bd76e40146100d35780633af1f329146101145780633f51e5af14610134578063409c7a8914610156578063694ab5591461017657806387f933de146101965780638a11cc66146101b657806397ee279e146101d6578063a92dfe73146101f6578063b7d75b8b14610209578063f953080014610229575b600080fd5b3480156100a857600080fd5b506100bc6100b73660046142ef565b61025d565b6040516100ca929190614335565b60405180910390f35b3480156100df57600080fd5b506101077f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ca9190614343565b34801561012057600080fd5b506100bc61012f366004614369565b6102e9565b6101476101423660046143d8565b6105a3565b6040516100ca9392919061444b565b34801561016257600080fd5b506100bc610171366004614369565b610809565b34801561018257600080fd5b506100bc610191366004614369565b610907565b3480156101a257600080fd5b506100bc6101b1366004614461565b610bcf565b3480156101c257600080fd5b506100bc6101d13660046144d4565b610d81565b3480156101e257600080fd5b506101476101f136600461453f565b610ea3565b6100bc610204366004614590565b6110cb565b34801561021557600080fd5b506100bc61022436600461453f565b6111d2565b34801561023557600080fd5b506101077f000000000000000000000000000000000000000000000000000000000000000081565b6000806102756001600160a01b03861633878761130e565b6102818686868661136c565b8092508193505050856001600160a01b0316856001600160a01b0316336001600160a01b03167fd31f02c44717b409d13b92ec9d2eaf1427fb4e63f85f4777f1458fb8d938776187866040516102d8929190614335565b60405180910390a494509492505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561032d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610351919061460f565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103bb91906146d6565b905060006103ef6103d4846001600160a01b0316611427565b8a426103e5368c90038c018c614758565b8693929190611493565b5090915061040a90506001600160a01b038516338c8c61130e565b60408051600080825260208201928390526329910b1160e01b9092526001600160a01b038c16906329910b1190610448908e90869060248101614817565b60408051808303816000875af1158015610466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048a9190614847565b965090506001600160a01b038b1663156e29f68d836104a9868f614881565b6040518463ffffffff1660e01b81526004016104c793929190614894565b6060604051808303816000875af11580156104e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050a91906148b5565b50909750508887101561053d578689604051636a1dbf1b60e01b8152600401610534929190614335565b60405180910390fd5b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fc87b85efc5055ef177e0092af0d4e624fff4b1d57db748857f65e4b7e4a28a368d8b60405161058c929190614335565b60405180910390a450505050509550959350505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156105e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060d919061460f565b509150915060006106218a8460018c61169f565b90506000808b6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610665573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068991906146d6565b905061069781848c426119bd565b919a509097509250508282146106c4578282604051636f5068bb60e11b8152600401610534929190614335565b888810156106e9578789604051636a1dbf1b60e01b8152600401610534929190614335565b5060208a013595506107066001600160a01b038416338d8861130e565b604051630ab714fb60e11b81526001600160a01b038c169063156e29f690610736908f9085908a90600401614894565b6060604051808303816000875af1158015610755573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077991906148b5565b50909750508787101561078e5761078e6148e3565b6001600160a01b03808d16908c16337f7f646a534401967ac0913451efea28d9e170ffc164efa98e3957cde363c0245f6107cb60208f018f6148f9565b604080516001600160a01b039092168252602082018c905281018a9052606081018c905260800160405180910390a450505050955095509592505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561084d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610871919061460f565b91935090915061088e90506001600160a01b038316338a8a61130e565b61089c8989838a8a8a611a28565b8094508195505050886001600160a01b0316886001600160a01b0316336001600160a01b03167fb51950711c9b21dc7888d41f68a19540231ffb5f0d19d8f75cbccaf90ffa7fa58a886040516108f3929190614335565b60405180910390a450509550959350505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561094a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096e919061460f565b925050506000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d791906146d6565b90506000806109e6838a611c02565b915091506000610a1c610a01866001600160a01b0316611427565b8442610a12368d90038d018d614758565b8893929190611c3d565b50905088610a2a8284614916565b1015610a5657610a3a8183614916565b89604051634e6ffe4760e11b8152600401610534929190614335565b610a6b6001600160a01b038c16338d8d61130e565b8a6001600160a01b031663f6b911bc8c8e8d6040518463ffffffff1660e01b8152600401610a9b93929190614929565b60408051808303816000875af1158015610ab9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610add9190614847565b60408051600081526020810191829052635b709f1760e01b9091529093506001600160a01b038d169150635b709f1790610b1e908f90859060248101614817565b60408051808303816000875af1158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190614847565b9650610b6e90508183614916565b965088871015610b8057610b806148e3565b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fac97b87f5422fa3beec99bff8f336310d8ebc7d33d909b7d534cd7c72f61e8718d8b60405161058c929190614335565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c36919061460f565b50909150610c5190506001600160a01b03881633898961130e565b60006001600160a01b03881663f6b911bc610c7484610c6f8a6149e3565b611d40565b8b8a6040518463ffffffff1660e01b8152600401610c9493929190614929565b60408051808303816000875af1158015610cb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd69190614847565b9350905084831015610cff578285604051634e6ffe4760e11b8152600401610534929190614335565b610d15898383610d0e8a6149e3565b6000611deb565b93506001600160a01b03808a16908916337f0eed48ee59ddaf7384d334727280158b7a75d5e84baa5614200f0506f08bb4fb8a87610d5660208d018d6148f9565b6040805193845260208401929092526001600160a01b031690820152606081018990526080016108f3565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de8919061460f565b50909150610e0390506001600160a01b03871633888861130e565b6000610e1e610e1583610c6f886149e3565b8888600161136c565b93509050610e31888383610d0e896149e3565b9350610e4060208601866148f9565b6001600160a01b0316876001600160a01b0316336001600160a01b03167f3fff08e8137afe866dce7ced13ddc12d684db61b80b0ac5cb9e54961c9dd8a218b8a89604051610e9093929190614894565b60405180910390a4505094509492505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d919061460f565b50915091506000896001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610f53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7791906146d6565b9050610f85818a8a426119bd565b919850965094505086861015610fb2578587604051636a1dbf1b60e01b8152600401610534929190614335565b610fc76001600160a01b038416338c8861130e565b610fdc6001600160a01b038316338c8761130e565b604051630ab714fb60e11b81526001600160a01b038b169063156e29f69061100c908e9089908990600401614894565b6060604051808303816000875af115801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f91906148b5565b509096505086861015611064576110646148e3565b8a6001600160a01b03168a6001600160a01b0316336001600160a01b03167f9334566f6358cd68e33d423fb1c9119c6837e3a2a7a8affaaa5020ed06aec06988888b6040516110b59392919061444b565b60405180910390a4505050955095509592505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561110f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611133919061460f565b92505091506000611147898460018961169f565b90506111578a8a84848c8c611a28565b909550935061116960208701876148f9565b6001600160a01b0316896001600160a01b0316336001600160a01b03167ff83776e5b667a2b471f92ddfd482749c61b5328b832d375097638c2c08818f3b8d8a602001358a6040516111bd93929190614894565b60405180910390a45050509550959350505050565b6000806111ea6001600160a01b03871633888861130e565b604051633dae446f60e21b81526001600160a01b0387169063f6b911bc9061121a908a9081908a90600401614929565b60408051808303816000875af1158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190614847565b9092509050838210156112865781846040516305221cf360e11b8152600401610534929190614335565b828110156112ab578083604051634e6ffe4760e11b8152600401610534929190614335565b866001600160a01b0316866001600160a01b0316336001600160a01b03167fd9f35a37b64d95edfd8f26adf130ce45f3e9ddf3c7ab8c1fb7224727a339a98e8885876040516112fc9392919061444b565b60405180910390a49550959350505050565b611366846323b872dd60e01b85858560405160240161132f93929190614929565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612067565b50505050565b600080846001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d19190614aa0565b156113e8576113e186868661213e565b91506113f9565b6113f38686866122a2565b90925090505b8282101561141e5781836040516305221cf360e11b8152600401610534929190614335565b94509492505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611469573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148d9190614abd565b92915050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036114e45760405162461bcd60e51b815260040161053490614ad6565b6020810151606082015182516000926114fc926123bc565b90506000611525876000611520866040015161151b87602001516124b6565b6124cd565b6124e3565b9050611539816020015184604001516124cd565b602082015260005b816060015181101561167a576000806115648486886000015160000151866125ae565b91509150816115785760208401525061166a565b60008061158f8860000151888a6020015186612616565b915091506000806000856115aa8c6000015160000151612658565b6115b49190614916565b90506000868c604001516115c89190614881565b9050600085876115df8f6000015160200151612658565b6115e99190614881565b6115f39190614881565b90506115ff8388614afe565b945061160b8183614afe565b935050505061161f82828a6080015161266b565b156116395750929a50909850965061169495505050505050565b8082116116525761164b856001614916565b8852611663565b61165d600186614881565b60208901525b5050505050505b61167381614b15565b9050611541565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b60006116bc6116b160208401846148f9565b3384602001356126b4565b60006116ce60608401604085016148f9565b6001600160a01b03166116e460208501856148f9565b6001600160a01b031614801591506117625761176261170660208501856148f9565b602085013561171b60808701606088016148f9565b6117286080880188614b2e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061271b92505050565b600061177c61177760608601604087016148f9565b612825565b905061178e60c0850160a08601614b7b565b156118ca5760006001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663d81e84236117d460608801604089016148f9565b896040518363ffffffff1660e01b81526004016117f2929190614b98565b602060405180830381865afa15801561180f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118339190614bb2565b905061184f61184860608701604088016148f9565b82846128af565b604051630b27670760e41b81526001600160a01b0382169063b27670709061187f908b9086908b90600401614894565b6020604051808303816000875af115801561189e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c29190614abd565b9350506119b3565b6000806118dd60608701604088016148f9565b6001600160a01b0316146118f25760006118f4565b815b905061190f61190960608701604088016148f9565b88612973565b6001600160a01b0387166320e8c565828a61193060608a0160408b016148f9565b6040516001600160e01b031960e086901b1681526001600160a01b0392831660048201529116602482015260448101869052606481018a905260840160206040518083038185885af115801561198a573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119af9190614abd565b9350505b5050949350505050565b6000806000806000806000806119e58c6119d68d612a26565b6119df8d612a26565b8c612a3c565b93509350935093506119f684612658565b9750611a0183612658565b9650611a0c82612658565b9550611a1781612658565b945050505050945094509450949050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9091906146d6565b90506000611ac4611aa9896001600160a01b0316611427565b8842611aba368a90038a018a614758565b8693929190612bf4565b50506040805160008082526020820192839052635b709f1760e01b909252919250906001600160a01b038b1690635b709f1790611b08908d90869060248101614817565b60408051808303816000875af1158015611b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4a9190614847565b945090506001600160a01b038a1663156e29f68c611b68848c614881565b856040518463ffffffff1660e01b8152600401611b8793929190614894565b6060604051808303816000875af1158015611ba6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bca91906148b5565b509095505086851015611bf4578487604051636a1dbf1b60e01b8152600401610534929190614335565b505050965096945050505050565b600080600080611c1a86611c1587612a26565b612db9565b91509150611c2782612658565b9350611c3281612658565b925050509250929050565b604080516080810182528681526020810186905290810184905260608101839052600090819081611c6f8989886123bc565b90506000611c90866000611c8b85876000015160000151612e84565b612f2c565b905060005b816060015181101561167a576000611cad8383612f5e565b9050600080611cc6876000015187896020015186612fca565b9150915086604001518211611d115782855260408701516080860151600091611cf191859190612feb565b90508015611d0b5750919750909550611d36945050505050565b50611d22565b611d1c600184614881565b60208601525b50505080611d2f90614b15565b9050611c95565b9550959350505050565b60008160a00151611d515782611de4565b604080830151905163d81e842360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d81e842391611da391908790600401614b98565b602060405180830381865afa158015611dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de49190614bb2565b9392505050565b60008115611e1357611e1333611e018786611d40565b6001600160a01b03881691908761130e565b825160408401516001600160a01b0390811691161415600081611e365787611e38565b305b905060008560a0015115611f5a57604080870151905163d81e842360e01b81526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d81e842391611e9a918d90600401614b98565b602060405180830381865afa158015611eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611edb9190614bb2565b60405163bd5688d560e01b81529091506001600160a01b0382169063bd5688d590611f0f9086908c90600090600401614894565b6020604051808303816000875af1158015611f2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f529190614abd565b915050611fec565b604086810151905163769f8e5d60e01b81526001600160a01b038481166004830152602482018a9052918216604482015260006064820152600160848201529089169063769f8e5d9060a4016020604051808303816000875af1158015611fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe99190614abd565b90505b821561202b5761200a8660400151828860600151896080015161271b565b855161201590612825565b935061202686600001518a866128af565b61202f565b8093505b856020015184101561205b57602086015160405163c5b5576d60e01b8152610534918691600401614335565b50505095945050505050565b60006120bc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166130199092919063ffffffff16565b80519091501561213957808060200190518101906120da9190614aa0565b6121395760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610534565b505050565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561217f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a3919061460f565b925050506000846001600160a01b031663f6b911bc8784876040518463ffffffff1660e01b81526004016121d993929190614929565b60408051808303816000875af11580156121f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061221b9190614847565b5060405163bcb7ea5d60e01b81529091506001600160a01b0383169063bcb7ea5d9061224b908990600401614343565b6020604051808303816000875af115801561226a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228e9190614abd565b6122989082614916565b9695505050505050565b600080600080856001600160a01b031663f6b911bc8888886040518463ffffffff1660e01b81526004016122d893929190614929565b60408051808303816000875af11580156122f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231a9190614847565b60408051600080825260208201928390526329910b1160e01b909252929450909250906001600160a01b038816906329910b119061235f908b90869060248101614817565b60408051808303816000875af115801561237d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a19190614847565b945090506123af8184614916565b9450505050935093915050565b6123e76040518060800160405280600081526020016000815260200160008152602001600081525090565b60c0840151821061240b5760405163b2094b5960e01b815260040160405180910390fd5b6000828560c0015161241d9190614881565b90506124298582613028565b8252602085015161243b908590613084565b60208301528451158061245057506020820151155b15612477578451602083015160405163b1c4aefb60e01b8152610534929190600401614335565b612495856000015186610100015184602001518560000151856130bb565b604083015260a08501516124a9908261313c565b6060830152509392505050565b600060016124c383612658565b61148d9190614881565b60008183106124dc5781611de4565b5090919050565b61251c6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b83516125289084613170565b8152602084015161253990836124cd565b60208201819052815111806125595750670de0b6b3a76400008460800151115b1561258657835160208501516080860151604051632cc06bc160e21b81526105349392919060040161444b565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b60008060006125bd8785612f5e565b90508660a0015181116125d55760019250905061141e565b60006125ea87876125e585612a26565b61317f565b90506000811215612601575060009250905061141e565b5060a096909601869052506001959350505050565b600080600080612633878761262a88613271565b8b929190613288565b9150915061264082612658565b935061264b81612658565b9250505094509492505050565b60008082121561266757600080fd5b5090565b6000836126898461268485670de0b6b3a7640000614881565b6133ce565b111580156126ac57506126a88361268484670de0b6b3a7640000614916565b8411155b949350505050565b6001600160a01b038316612700578034146121395760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610534565b8015612139576121396001600160a01b03841683308461130e565b6001600160a01b038216158061273057508051155b1561274e57604051631e59c84360e01b815260040160405180910390fd5b6127588483612973565b60405163726d379760e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e4da6f2e906127a99085908890600401614bcf565b600060405180830381865afa1580156127c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127ee9190810190614bf1565b905061281d816001600160a01b0387161561280a57600061280c565b855b6001600160a01b03861691906133ee565b505050505050565b60006001600160a01b038216156128a8576040516370a0823160e01b81526001600160a01b038316906370a0823190612862903090600401614343565b602060405180830381865afa15801561287f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a39190614abd565b61148d565b4792915050565b806000036128bc57505050565b6001600160a01b03831661295f576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612917576040519150601f19603f3d011682016040523d82523d6000602084013e61291c565b606091505b50509050806113665760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610534565b6121396001600160a01b0384168383613414565b6001600160a01b038216612985575050565b61299760026001600160601b03614c74565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b81526004016129ce929190614b98565b602060405180830381865afa1580156129eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a0f9190614abd565b1015612a2257612a228282600019613433565b5050565b60006001600160ff1b0382111561266757600080fd5b6000808080861580612a4c575085155b15612a6a576040516325daaec360e01b815260040160405180910390fd5b60c08801518510612a8e5760405163b2094b5960e01b815260040160405180910390fd5b8760400151600003612adb576103e8612abf612aba612ab5612ab08a8c614c9a565b612658565b613547565b612a26565b612ac99190614cca565b92506103e89350869150859050612b7e565b8751604089015160009190612af09089614c9a565b612afa9190614cf1565b9050600089602001518a604001518a612b139190614c9a565b612b1d9190614cf1565b905080821215612b53578194508792508960400151858b60200151612b429190614c9a565b612b4c9190614cf1565b9350612b7b565b8094508893508960400151858b60000151612b6e9190614c9a565b612b789190614cf1565b92505b50505b60008313612b9f57604051631997ea8d60e31b815260040160405180910390fd5b8188602001818151612bb19190614d1f565b905250875181908990612bc5908390614d1f565b905250612bd28484614d1f565b88604001818151612be39190614d1f565b905250929791965094509092509050565b60008060008060405180608001604052808a8152602001898152602001888152602001878152509050806000015160400151600003612c455760405162461bcd60e51b815260040161053490614ad6565b602081015160608201518251600092612c5d926123bc565b90506000612c79876000611c8b85876000015160000151612e84565b905060005b816060015181101561167a576000612c968383612f5e565b9050600080612caf876000015187896020015186612fca565b915091508660400151821115612cd857612cca600184614881565b602086015250612da9915050565b6000806000848a60400151612ced9190614881565b9050600086612d038c6000015160000151612658565b612d0d9190614881565b905060008587612d208d60200151612658565b612d2a9190614916565b612d349190614881565b9050612d408189614afe565b9350612d4c8284614afe565b9450505050612d608183896080015161266b565b15612d7957509299509097509550611694945050505050565b818111612d9257612d8b856001614916565b8752612da3565b612d9d600186614881565b60208801525b50505050505b612db281614b15565b9050612c7e565b60008082600003612ddd576040516325daaec360e01b815260040160405180910390fd5b60408401516020850151612df19085614c9a565b612dfb9190614cf1565b6040850151855191935090612e109085614c9a565b612e1a9190614cf1565b9050811580612e27575080155b15612e4557604051631997ea8d60e31b815260040160405180910390fd5b6040840151612e5490846135b7565b60408501528351612e6590826135b7565b84526020840151612e7690836135b7565b602090940193909352929050565b600080612eb1612eac856000015186604001518760600151612ea69190614cca565b906135fe565b613621565b90506000612ed1612eca670de0b6b3a764000084614d1f565b8390613a36565b90506000612eef866020015186612ee89190614d1f565b83906135fe565b90506000612efd8287614cca565b90506103e8612f0b82612658565b612f17906103e7614afe565b612f219190614d47565b979650505050505050565b61251c6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b600081158015612f715750604083015115155b15612f815750604082015161148d565b6020830151835111612fb15760208301518351600291612fa091614916565b612faa9190614d47565b905061148d565b604051637d388ed960e11b815260040160405180910390fd5b600080600080612fde878761262a88612a26565b9150915061264082613a5c565b60008284111580156126ac575061300e8361268484670de0b6b3a7640000614881565b909310159392505050565b60606126ac8484600085613a6e565b600061303382612a26565b613045612aba6201518061016d614afe565b84608001516130549190614c9a565b61305e9190614cf1565b90506000811361148d57604051630e520c3b60e11b815260048101829052602401610534565b6000806000831261309657600161309a565b6000195b90506130b1612aba856130ac86613a5c565b613b94565b6126ac9082614c9a565b6000806130c8868461313c565b9050670de0b6b3a76400008112156130f65760405163329e322960e21b815260048101829052602401610534565b600061310c613105878a614d1f565b8990613a36565b9050600061311982613bb3565b90506131258187613a36565b61312f9084614cca565b9998505050505050505050565b60008061314e6201518061016d614afe565b6131588486614afe565b6131629190614d47565b90506126ac612eac82612a26565b60008183116124dc5781611de4565b6000808285602001516131929190614cca565b905060006131a08585614d1f565b90506000821380156131b25750600081135b6131f35760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610534565b60006132216132028484614c9a565b60208901516132119089614d1f565b61321b9088614c9a565b90613a36565b905060006132376132328486613a36565b613c02565b885190915060009061325290670de0b6b3a764000090613a36565b905061326281612ea68486614cca565b896040015161312f9190614cca565b600061327c82612a26565b61148d90600019614c9a565b60008060006132aa876000015187602001518860000151896040015188613c8e565b905060006132c06132bb8684613a36565b613d33565b6060880151909150600086131561332f5760006132dd8483613a36565b9050670de0b6b3a764000081121561330b5760405163329e322960e21b815260048101829052602401610534565b61332761332083670de0b6b3a7640000614cca565b84906135fe565b91505061335c565b6133598161334581670de0b6b3a7640000614cca565b61334f9085614c9a565b6132bb9190614cf1565b90505b6000606461336d8b60e00151612a26565b6133779084614c9a565b6133819190614cf1565b9050600061338f8385614cca565b9050600081126133a8576133a38982613d41565b6133b2565b6133b28982613d6e565b96506133be8983613d41565b9550505050505094509492505050565b6000806133db8385614afe565b670de0b6b3a76400009004949350505050565b60606126ac848484604051806060016040528060298152602001614dc060299139613a6e565b6121398363a9059cbb60e01b848460405160240161132f929190614d5b565b600080846001600160a01b031663095ea7b360e01b858560405160240161345b929190614d5b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516134999190614d74565b6000604051808303816000865af19150503d80600081146134d6576040519150601f19603f3d011682016040523d82523d6000602084013e6134db565b606091505b50915091508180156135055750805115806135055750808060200190518101906135059190614aa0565b6135405760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b6044820152606401610534565b5050505050565b600060038211156135a85750806000613561600283614d47565b61356c906001614916565b90505b818110156135a2579050806002816135878186614d47565b6135919190614916565b61359b9190614d47565b905061356f565b50919050565b81156135b2575060015b919050565b6000818312156135f45760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610534565b611de48284614cca565b60008061360b8385614c9a565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015613646575068070c1cc73b00c800008213155b6136855760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610534565b60008212156136bd5761369a82600003613621565b6a0c097ce7bc90715b34b9f160241b816136b6576136b6614c5e565b0592915050565b60006806f05b59d3b200000083126136fb57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b613731565b6803782dace9d9000000831261372d57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380613731565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126137815768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126137bd576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126137f757682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412613831576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261386a57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126138a35768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126138dc576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126139155768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080613a4b670de0b6b3a764000085614c9a565b905082818161361857613618614c5e565b6000808213612667576128a382614d90565b606082471015613acf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610534565b6001600160a01b0385163b613b265760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610534565b600080866001600160a01b03168587604051613b429190614d74565b60006040518083038185875af1925050503d8060008114613b7f576040519150601f19603f3d011682016040523d82523d6000602084013e613b84565b606091505b5091509150612f21828286613d9b565b6000670de0b6b3a7640000613ba98484614afe565b611de49190614d47565b6000670de0b6b3a76400008203613bdd5760405163a9c8b14d60e01b815260040160405180910390fd5b6000613bfb613bf484670de0b6b3a7640000614cca565b8490613a36565b9050611de4815b6000808213613c435760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610534565b670c7d713b49da000082138015613c615750670f43fc2c04ee000082125b15613c8557670de0b6b3a7640000613c7883613dd4565b816136b6576136b6614c5e565b61148d82613ef3565b600080613c9b87846135b7565b90506000613cac612eca888a614d1f565b9050670d529ae9e8600000811315613ce35780670d529ae9e8600000604051637e34684f60e11b8152600401610534929190614335565b6000613cee82613bb3565b905085613cfb8289613a36565b613d059190614d1f565b9350670de0b6b3a764000084121561205b5760405163329e322960e21b815260048101859052602401610534565b600061148d82600019614c9a565b60008060008312613d53576001613d57565b6000195b90506130b1612aba85613d6986613a5c565b614296565b60008060008312613d80576001613d84565b6000195b90506130b1612aba85613d9686613a5c565b6142ab565b60608315613daa575081611de4565b825115613dba5782518084602001fd5b8160405162461bcd60e51b81526004016105349190614dac565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613e1557613e15614c5e565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613f3457613f2b826a0c097ce7bc90715b34b9f160241b81613f2557613f25614c5e565b05613ef3565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613f7f5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613fb6576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613ffe576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312614039576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261407057693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126140a757690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126140dc5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261410757680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261413c576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312614171576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126141a5576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126141d9576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161420257614202614c5e565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b600082613ba9670de0b6b3a764000084614afe565b6000826001816142c3670de0b6b3a764000086614afe565b6142cd9190614916565b613ba99190614881565b6001600160a01b03811681146142ec57600080fd5b50565b6000806000806080858703121561430557600080fd5b8435614310816142d7565b93506020850135614320816142d7565b93969395505050506040820135916060013590565b918252602082015260400190565b6001600160a01b0391909116815260200190565b600060a082840312156135a257600080fd5b6000806000806000610120868803121561438257600080fd5b853561438d816142d7565b9450602086013561439d816142d7565b935060408601359250606086013591506143ba8760808801614357565b90509295509295909350565b600060c082840312156135a257600080fd5b600080600080600060a086880312156143f057600080fd5b85356143fb816142d7565b9450602086013561440b816142d7565b935060408601356001600160401b0381111561442657600080fd5b614432888289016143c6565b9598949750949560608101359550608001359392505050565b9283526020830191909152604082015260600190565b600080600080600060a0868803121561447957600080fd5b8535614484816142d7565b94506020860135614494816142d7565b93506040860135925060608601356001600160401b038111156144b657600080fd5b6144c2888289016143c6565b95989497509295608001359392505050565b600080600080608085870312156144ea57600080fd5b84356144f5816142d7565b93506020850135614505816142d7565b92506040850135915060608501356001600160401b0381111561452757600080fd5b614533878288016143c6565b91505092959194509250565b600080600080600060a0868803121561455757600080fd5b8535614562816142d7565b94506020860135614572816142d7565b94979496505050506040830135926060810135926080909101359150565b600080600080600061012086880312156145a957600080fd5b85356145b4816142d7565b945060208601356145c4816142d7565b9350604086013592506145da8760608801614357565b91506101008601356001600160401b038111156145f657600080fd5b614602888289016143c6565b9150509295509295909350565b60008060006060848603121561462457600080fd5b835161462f816142d7565b6020850151909350614640816142d7565b6040850151909250614651816142d7565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156146955761469561465c565b60405290565b604051601f8201601f191681016001600160401b03811182821017156146c3576146c361465c565b604052919050565b80516135b2816142d7565b600061012082840312156146e957600080fd5b6146f1614672565b825181526020830151602082015260408301516040820152614715606084016146cb565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060a0828403121561476a57600080fd5b60405160a081016001600160401b038111828210171561478c5761478c61465c565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b838110156147e25781810151838201526020016147ca565b50506000910152565b600081518084526148038160208601602086016147c7565b601f01601f19169290920160200192915050565b60018060a01b038416815282602082015260606040820152600061483e60608301846147eb565b95945050505050565b6000806040838503121561485a57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b8181038181111561148d5761148d61486b565b6001600160a01b039390931683526020830191909152604082015260600190565b6000806000606084860312156148ca57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561490b57600080fd5b8135611de4816142d7565b8082018082111561148d5761148d61486b565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160401b038211156149665761496661465c565b50601f01601f191660200190565b600082601f83011261498557600080fd5b81356149986149938261494d565b61469b565b8181528460208386010111156149ad57600080fd5b816020850160208301376000918101602001919091529392505050565b80151581146142ec57600080fd5b80356135b2816149ca565b600060c082360312156149f557600080fd5b60405160c081016001600160401b038082118383101715614a1857614a1861465c565b8160405284359150614a29826142d7565b8183526020850135602084015260408501359150614a46826142d7565b81604084015260608501359150614a5c826142d7565b8160608401526080850135915080821115614a7657600080fd5b50614a8336828601614974565b608083015250614a9560a084016149d8565b60a082015292915050565b600060208284031215614ab257600080fd5b8151611de4816149ca565b600060208284031215614acf57600080fd5b5051919050565b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b808202811582820484141761148d5761148d61486b565b600060018201614b2757614b2761486b565b5060010190565b6000808335601e19843603018112614b4557600080fd5b8301803591506001600160401b03821115614b5f57600080fd5b602001915036819003821315614b7457600080fd5b9250929050565b600060208284031215614b8d57600080fd5b8135611de4816149ca565b6001600160a01b0392831681529116602082015260400190565b600060208284031215614bc457600080fd5b8151611de4816142d7565b604081526000614be260408301856147eb565b90508260208301529392505050565b600060208284031215614c0357600080fd5b81516001600160401b03811115614c1957600080fd5b8201601f81018413614c2a57600080fd5b8051614c386149938261494d565b818152856020838501011115614c4d57600080fd5b61483e8260208301602086016147c7565b634e487b7160e01b600052601260045260246000fd5b60006001600160601b0383811680614c8e57614c8e614c5e565b92169190910492915050565b80820260008212600160ff1b84141615614cb657614cb661486b565b818105831482151761148d5761148d61486b565b8181036000831280158383131683831282161715614cea57614cea61486b565b5092915050565b600082614d0057614d00614c5e565b600160ff1b821460001984141615614d1a57614d1a61486b565b500590565b8082018281126000831280158216821582161715614d3f57614d3f61486b565b505092915050565b600082614d5657614d56614c5e565b500490565b6001600160a01b03929092168252602082015260400190565b60008251614d868184602087016147c7565b9190910192915050565b6000600160ff1b8201614da557614da561486b565b5060000390565b602081526000611de460208301846147eb56fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220e74be854f3b5d148f6acab8c3dc1e50ab235be2d1b01a9250338e864da96908a64736f6c63430008110033";
|
|
1240
1337
|
|
|
1241
1338
|
type ActionAddRemoveLiqConstructorParams =
|
|
1242
|
-
| [
|
|
1339
|
+
| [signer?: Signer]
|
|
1243
1340
|
| ConstructorParameters<typeof ContractFactory>;
|
|
1244
1341
|
|
|
1245
1342
|
const isSuperArgs = (
|
|
1246
1343
|
xs: ActionAddRemoveLiqConstructorParams
|
|
1247
|
-
): xs is ConstructorParameters<typeof ContractFactory> =>
|
|
1248
|
-
return (
|
|
1249
|
-
typeof xs[0] === "string" ||
|
|
1250
|
-
(Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) ||
|
|
1251
|
-
"_isInterface" in xs[0]
|
|
1252
|
-
);
|
|
1253
|
-
};
|
|
1344
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
1254
1345
|
|
|
1255
1346
|
export class ActionAddRemoveLiq__factory extends ContractFactory {
|
|
1256
1347
|
constructor(...args: ActionAddRemoveLiqConstructorParams) {
|
|
1257
1348
|
if (isSuperArgs(args)) {
|
|
1258
1349
|
super(...args);
|
|
1259
1350
|
} else {
|
|
1260
|
-
|
|
1261
|
-
super(
|
|
1262
|
-
_abi,
|
|
1263
|
-
ActionAddRemoveLiq__factory.linkBytecode(linkLibraryAddresses),
|
|
1264
|
-
signer
|
|
1265
|
-
);
|
|
1351
|
+
super(_abi, _bytecode, args[0]);
|
|
1266
1352
|
}
|
|
1267
1353
|
this.contractName = "ActionAddRemoveLiq";
|
|
1268
1354
|
}
|
|
1269
1355
|
|
|
1270
|
-
static linkBytecode(
|
|
1271
|
-
linkLibraryAddresses: ActionAddRemoveLiqLibraryAddresses
|
|
1272
|
-
): string {
|
|
1273
|
-
let linkedBytecode = _bytecode;
|
|
1274
|
-
|
|
1275
|
-
linkedBytecode = linkedBytecode.replace(
|
|
1276
|
-
new RegExp("__\\$802f57dc5d2627d21bbb7805eff3c348c4\\$__", "g"),
|
|
1277
|
-
linkLibraryAddresses[
|
|
1278
|
-
"contracts/router/kyberswap/AggregationRouterHelper.sol:AggregationRouterHelper"
|
|
1279
|
-
]
|
|
1280
|
-
.replace(/^0x/, "")
|
|
1281
|
-
.toLowerCase()
|
|
1282
|
-
);
|
|
1283
|
-
|
|
1284
|
-
return linkedBytecode;
|
|
1285
|
-
}
|
|
1286
|
-
|
|
1287
1356
|
deploy(
|
|
1288
|
-
|
|
1357
|
+
_kyberScalingLib: string,
|
|
1358
|
+
_bulkSellerDirectory: string,
|
|
1289
1359
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1290
1360
|
): Promise<ActionAddRemoveLiq> {
|
|
1291
1361
|
return super.deploy(
|
|
1292
|
-
|
|
1362
|
+
_kyberScalingLib,
|
|
1363
|
+
_bulkSellerDirectory,
|
|
1293
1364
|
overrides || {}
|
|
1294
1365
|
) as Promise<ActionAddRemoveLiq>;
|
|
1295
1366
|
}
|
|
1296
1367
|
getDeployTransaction(
|
|
1297
|
-
|
|
1368
|
+
_kyberScalingLib: string,
|
|
1369
|
+
_bulkSellerDirectory: string,
|
|
1298
1370
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1299
1371
|
): TransactionRequest {
|
|
1300
|
-
return super.getDeployTransaction(
|
|
1372
|
+
return super.getDeployTransaction(
|
|
1373
|
+
_kyberScalingLib,
|
|
1374
|
+
_bulkSellerDirectory,
|
|
1375
|
+
overrides || {}
|
|
1376
|
+
);
|
|
1301
1377
|
}
|
|
1302
1378
|
attach(address: string): ActionAddRemoveLiq {
|
|
1303
1379
|
return super.attach(address) as ActionAddRemoveLiq;
|
|
@@ -1319,7 +1395,3 @@ export class ActionAddRemoveLiq__factory extends ContractFactory {
|
|
|
1319
1395
|
return new Contract(address, _abi, signerOrProvider) as ActionAddRemoveLiq;
|
|
1320
1396
|
}
|
|
1321
1397
|
}
|
|
1322
|
-
|
|
1323
|
-
export interface ActionAddRemoveLiqLibraryAddresses {
|
|
1324
|
-
["contracts/router/kyberswap/AggregationRouterHelper.sol:AggregationRouterHelper"]: string;
|
|
1325
|
-
}
|
|
@@ -12,7 +12,20 @@ import type {
|
|
|
12
12
|
const _abi = [
|
|
13
13
|
{
|
|
14
14
|
inputs: [],
|
|
15
|
-
name: "
|
|
15
|
+
name: "bulkFactory",
|
|
16
|
+
outputs: [
|
|
17
|
+
{
|
|
18
|
+
internalType: "contract IPBulkSellerFactory",
|
|
19
|
+
name: "",
|
|
20
|
+
type: "address",
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
stateMutability: "view",
|
|
24
|
+
type: "function",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
inputs: [],
|
|
28
|
+
name: "kyberScalingLib",
|
|
16
29
|
outputs: [
|
|
17
30
|
{
|
|
18
31
|
internalType: "address",
|
|
@@ -166,7 +166,7 @@ const _abi = [
|
|
|
166
166
|
];
|
|
167
167
|
|
|
168
168
|
const _bytecode =
|
|
169
|
-
"0x60a060405234801561001057600080fd5b5060405161165f38038061165f83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516115cf610090600039600081816040015260a601526115cf6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f919061106d565b60405180910390f35b61008b610086366004611081565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db90849060040161106d565b602060405180830381865afa1580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c9190611100565b610144578060405163083c2ed160e11b815260040161013b919061106d565b60405180910390fd5b6000339050600061018a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061026092505050565b905060018160048111156101a0576101a0611122565b036101b7576101b2828888888861027c565b610257565b60008160048111156101cb576101cb611122565b036101dd576101b28288888888610402565b60028160048111156101f1576101f1611122565b03610203576101b2828888888861062b565b600381600481111561021757610217611122565b03610229576101b282888888886108f8565b600481600481111561023d5761023d611122565b0361024f576101b28288888888610ab7565b610257611138565b50505050505050565b6000818060200190518101906102769190611162565b92915050565b6000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e09190611195565b9250505060008061032685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b91509150600061033588610c76565b90506000846001600160a01b031663db74aa158b866040518363ffffffff1660e01b81526004016103679291906111e2565b6020604051808303816000875af1158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa91906111fc565b9050818110156103d157808260405163c217d4a960e01b815260040161013b929190611215565b828110156103f657808360405163a59b8c3160e01b815260040161013b929190611215565b50505050505050505050565b604080516060810182526000808252602082018190529181019190915261045e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c9192505050565b6040808501919091526001600160a01b03918216602085015291811683528151630b2339af60e21b8152915160009283928a1691632c8ce6bc916004808201926060929091908290030181865afa1580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e19190611195565b925050915060006104fa826001600160a01b0316610cb8565b9050600061050789610c76565b905060006105158383610d1e565b905060006105228a610d31565b905060006105308383610d40565b9050876040015181111561055f5780886040015160405163039d13e760e61b815260040161013b929190611215565b801561057d57875161057d906001600160a01b038916908884610d57565b6000866001600160a01b031663db74aa158f8b602001516040518363ffffffff1660e01b81526004016105b19291906111e2565b6020604051808303816000875af11580156105d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f491906111fc565b90508481101561061b57808560405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050505050565b60008061066d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b915091506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d59190611195565b9250505060006106ed826001600160a01b0316610cb8565b905060006107026106fd89610dc8565b610d31565b60408051600280825260608201835292935060009290916020830190803683375050604080516002808252606082018352939450600093909250906020830190803683370190505090508b6107578585610dd6565b8360008151811061076a5761076a611239565b602002602001018360008151811061078457610784611239565b6020026020010182815250826001600160a01b03166001600160a01b0316815250505086816000815181106107bb576107bb611239565b60200260200101516107cc8d610d31565b6107d69190611265565b836001815181106107e9576107e9611239565b602002602001018360018151811061080357610803611239565b60209081029190910101919091526001600160a01b03918216905260405163b0d8898160e01b815260009187169063b0d88981906108479086908690600401611278565b6000604051808303816000875af1158015610866573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088e91908101906112fc565b905086816001815181106108a4576108a4611239565b602002602001015110156108e957806001815181106108c5576108c5611239565b6020026020010151876040516305221cf360e11b815260040161013b929190611215565b50505050505050505050505050565b600080600061093c85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b925092509250600080896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610983573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a79190611195565b925092505060006109b789610c76565b90506109cd6001600160a01b0384168387610e04565b60405163bcb7ea5d60e01b81526000906001600160a01b0384169063bcb7ea5d906109fc908f9060040161106d565b6020604051808303816000875af1158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f91906111fc565b905081811015610a6657808260405163042b0dcf60e31b815260040161013b929190611215565b600086610a728d610d31565b610a7c9190611265565b905085811015610aa3578086604051634e6ffe4760e11b815260040161013b929190611215565b6108e96001600160a01b0386168983610e04565b6000806000610afb85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b9250925092506000610b0c88610c76565b90506000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190611195565b925050506000816001600160a01b031663db74aa158c886040518363ffffffff1660e01b8152600401610ba69291906111e2565b6020604051808303816000875af1158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be991906111fc565b905083811015610c1057808460405163a59b8c3160e01b815260040161013b929190611215565b82610c1b82876113b9565b1015610c4757610c2b81866113b9565b8360405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050565b60008082806020019051810190610c6b91906113cc565b909590945092505050565b6000808213610c8d57610c888261140c565b610276565b5090565b600080600083806020019051810190610caa9190611428565b919790965090945092505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027691906111fc565b6000610d2a8383610e39565b9392505050565b600080821215610c8d57600080fd5b600081831015610d51576000610d2a565b50900390565b6040516001600160a01b0380851660248301528316604482015260648101829052610dc29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610e6f565b50505050565b600061027682600019611478565b600082610de38184610f41565b949350505050565b600080600083806020019051810190610caa91906114a8565b6040516001600160a01b038316602482015260448101829052610e3490849063a9059cbb60e01b90606401610d8b565b505050565b600082600181610e51670de0b6b3a7640000866114ed565b610e5b91906113b9565b610e659190611265565b610d2a9190611504565b6000610ec4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f599092919063ffffffff16565b805190915015610e345780806020019051810190610ee29190611100565b610e345760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161013b565b6000670de0b6b3a7640000600181610e5186866114ed565b6060610de38484600085856001600160a01b0385163b610fbb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161013b565b600080866001600160a01b03168587604051610fd7919061154a565b60006040518083038185875af1925050503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b5091509150611029828286611034565b979650505050505050565b60608315611043575081610d2a565b8251156110535782518084602001fd5b8160405162461bcd60e51b815260040161013b9190611566565b6001600160a01b0391909116815260200190565b6000806000806060858703121561109757600080fd5b843593506020850135925060408501356001600160401b03808211156110bc57600080fd5b818701915087601f8301126110d057600080fd5b8135818111156110df57600080fd5b8860208285010111156110f157600080fd5b95989497505060200194505050565b60006020828403121561111257600080fd5b81518015158114610d2a57600080fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b80516005811061115d57600080fd5b919050565b60006020828403121561117457600080fd5b610d2a8261114e565b6001600160a01b038116811461119257600080fd5b50565b6000806000606084860312156111aa57600080fd5b83516111b58161117d565b60208501519093506111c68161117d565b60408501519092506111d78161117d565b809150509250925092565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561120e57600080fd5b5051919050565b918252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156102765761027661124f565b604080825283519082018190526000906020906060840190828701845b828110156112ba5781516001600160a01b031684529284019290840190600101611295565b5050508381038285015284518082528583019183019060005b818110156112ef578351835292840192918401916001016112d3565b5090979650505050505050565b6000602080838503121561130f57600080fd5b82516001600160401b038082111561132657600080fd5b818501915085601f83011261133a57600080fd5b81518181111561134c5761134c611223565b8060051b604051601f19603f8301168101818110858211171561137157611371611223565b60405291825284820192508381018501918883111561138f57600080fd5b938501935b828510156113ad57845184529385019392850192611394565b98975050505050505050565b808201808211156102765761027661124f565b6000806000606084860312156113e157600080fd5b6113ea8461114e565b925060208401516113fa8161117d565b80925050604084015190509250925092565b6000600160ff1b82016114215761142161124f565b5060000390565b6000806000806080858703121561143e57600080fd5b6114478561114e565b935060208501516114578161117d565b60408601519093506114688161117d565b6060959095015193969295505050565b80820260008212600160ff1b841416156114945761149461124f565b81810583148215176102765761027661124f565b600080600080608085870312156114be57600080fd5b6114c78561114e565b935060208501516114d78161117d565b6040860151606090960151949790965092505050565b80820281158282048414176102765761027661124f565b60008261152157634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015611541578181015183820152602001611529565b50506000910152565b6000825161155c818460208701611526565b9190910192915050565b6020815260008251806020840152611585816040850160208701611526565b601f01601f1916919091016040019291505056fea2646970667358221220dd250524a916e26bf48492ea19653580694f7e71a6bcb734e1195ffc92438a3664736f6c63430008110033";
|
|
169
|
+
"0x60a060405234801561001057600080fd5b5060405161165f38038061165f83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516115cf610090600039600081816040015260a601526115cf6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f919061106d565b60405180910390f35b61008b610086366004611081565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db90849060040161106d565b602060405180830381865afa1580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c9190611100565b610144578060405163083c2ed160e11b815260040161013b919061106d565b60405180910390fd5b6000339050600061018a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061026092505050565b905060018160048111156101a0576101a0611122565b036101b7576101b2828888888861027c565b610257565b60008160048111156101cb576101cb611122565b036101dd576101b28288888888610402565b60028160048111156101f1576101f1611122565b03610203576101b2828888888861062b565b600381600481111561021757610217611122565b03610229576101b282888888886108f8565b600481600481111561023d5761023d611122565b0361024f576101b28288888888610ab7565b610257611138565b50505050505050565b6000818060200190518101906102769190611162565b92915050565b6000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e09190611195565b9250505060008061032685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b91509150600061033588610c76565b90506000846001600160a01b031663db74aa158b866040518363ffffffff1660e01b81526004016103679291906111e2565b6020604051808303816000875af1158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa91906111fc565b9050818110156103d157808260405163c217d4a960e01b815260040161013b929190611215565b828110156103f657808360405163a59b8c3160e01b815260040161013b929190611215565b50505050505050505050565b604080516060810182526000808252602082018190529181019190915261045e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c9192505050565b6040808501919091526001600160a01b03918216602085015291811683528151630b2339af60e21b8152915160009283928a1691632c8ce6bc916004808201926060929091908290030181865afa1580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e19190611195565b925050915060006104fa826001600160a01b0316610cb8565b9050600061050789610c76565b905060006105158383610d1e565b905060006105228a610d31565b905060006105308383610d40565b9050876040015181111561055f5780886040015160405163039d13e760e61b815260040161013b929190611215565b801561057d57875161057d906001600160a01b038916908884610d57565b6000866001600160a01b031663db74aa158f8b602001516040518363ffffffff1660e01b81526004016105b19291906111e2565b6020604051808303816000875af11580156105d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f491906111fc565b90508481101561061b57808560405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050505050565b60008061066d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b915091506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d59190611195565b9250505060006106ed826001600160a01b0316610cb8565b905060006107026106fd89610dc8565b610d31565b60408051600280825260608201835292935060009290916020830190803683375050604080516002808252606082018352939450600093909250906020830190803683370190505090508b6107578585610dd6565b8360008151811061076a5761076a611239565b602002602001018360008151811061078457610784611239565b6020026020010182815250826001600160a01b03166001600160a01b0316815250505086816000815181106107bb576107bb611239565b60200260200101516107cc8d610d31565b6107d69190611265565b836001815181106107e9576107e9611239565b602002602001018360018151811061080357610803611239565b60209081029190910101919091526001600160a01b03918216905260405163b0d8898160e01b815260009187169063b0d88981906108479086908690600401611278565b6000604051808303816000875af1158015610866573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088e91908101906112fc565b905086816001815181106108a4576108a4611239565b602002602001015110156108e957806001815181106108c5576108c5611239565b6020026020010151876040516305221cf360e11b815260040161013b929190611215565b50505050505050505050505050565b600080600061093c85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b925092509250600080896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610983573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a79190611195565b925092505060006109b789610c76565b90506109cd6001600160a01b0384168387610e04565b60405163bcb7ea5d60e01b81526000906001600160a01b0384169063bcb7ea5d906109fc908f9060040161106d565b6020604051808303816000875af1158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f91906111fc565b905081811015610a6657808260405163042b0dcf60e31b815260040161013b929190611215565b600086610a728d610d31565b610a7c9190611265565b905085811015610aa3578086604051634e6ffe4760e11b815260040161013b929190611215565b6108e96001600160a01b0386168983610e04565b6000806000610afb85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b9250925092506000610b0c88610c76565b90506000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190611195565b925050506000816001600160a01b031663db74aa158c886040518363ffffffff1660e01b8152600401610ba69291906111e2565b6020604051808303816000875af1158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be991906111fc565b905083811015610c1057808460405163a59b8c3160e01b815260040161013b929190611215565b82610c1b82876113b9565b1015610c4757610c2b81866113b9565b8360405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050565b60008082806020019051810190610c6b91906113cc565b909590945092505050565b6000808213610c8d57610c888261140c565b610276565b5090565b600080600083806020019051810190610caa9190611428565b919790965090945092505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027691906111fc565b6000610d2a8383610e39565b9392505050565b600080821215610c8d57600080fd5b600081831015610d51576000610d2a565b50900390565b6040516001600160a01b0380851660248301528316604482015260648101829052610dc29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610e6f565b50505050565b600061027682600019611478565b600082610de38184610f41565b949350505050565b600080600083806020019051810190610caa91906114a8565b6040516001600160a01b038316602482015260448101829052610e3490849063a9059cbb60e01b90606401610d8b565b505050565b600082600181610e51670de0b6b3a7640000866114ed565b610e5b91906113b9565b610e659190611265565b610d2a9190611504565b6000610ec4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f599092919063ffffffff16565b805190915015610e345780806020019051810190610ee29190611100565b610e345760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161013b565b6000670de0b6b3a7640000600181610e5186866114ed565b6060610de38484600085856001600160a01b0385163b610fbb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161013b565b600080866001600160a01b03168587604051610fd7919061154a565b60006040518083038185875af1925050503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b5091509150611029828286611034565b979650505050505050565b60608315611043575081610d2a565b8251156110535782518084602001fd5b8160405162461bcd60e51b815260040161013b9190611566565b6001600160a01b0391909116815260200190565b6000806000806060858703121561109757600080fd5b843593506020850135925060408501356001600160401b03808211156110bc57600080fd5b818701915087601f8301126110d057600080fd5b8135818111156110df57600080fd5b8860208285010111156110f157600080fd5b95989497505060200194505050565b60006020828403121561111257600080fd5b81518015158114610d2a57600080fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b80516005811061115d57600080fd5b919050565b60006020828403121561117457600080fd5b610d2a8261114e565b6001600160a01b038116811461119257600080fd5b50565b6000806000606084860312156111aa57600080fd5b83516111b58161117d565b60208501519093506111c68161117d565b60408501519092506111d78161117d565b809150509250925092565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561120e57600080fd5b5051919050565b918252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156102765761027661124f565b604080825283519082018190526000906020906060840190828701845b828110156112ba5781516001600160a01b031684529284019290840190600101611295565b5050508381038285015284518082528583019183019060005b818110156112ef578351835292840192918401916001016112d3565b5090979650505050505050565b6000602080838503121561130f57600080fd5b82516001600160401b038082111561132657600080fd5b818501915085601f83011261133a57600080fd5b81518181111561134c5761134c611223565b8060051b604051601f19603f8301168101818110858211171561137157611371611223565b60405291825284820192508381018501918883111561138f57600080fd5b938501935b828510156113ad57845184529385019392850192611394565b98975050505050505050565b808201808211156102765761027661124f565b6000806000606084860312156113e157600080fd5b6113ea8461114e565b925060208401516113fa8161117d565b80925050604084015190509250925092565b6000600160ff1b82016114215761142161124f565b5060000390565b6000806000806080858703121561143e57600080fd5b6114478561114e565b935060208501516114578161117d565b60408601519093506114688161117d565b6060959095015193969295505050565b80820260008212600160ff1b841416156114945761149461124f565b81810583148215176102765761027661124f565b600080600080608085870312156114be57600080fd5b6114c78561114e565b935060208501516114d78161117d565b6040860151606090960151949790965092505050565b80820281158282048414176102765761027661124f565b60008261152157634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015611541578181015183820152602001611529565b50506000910152565b6000825161155c818460208701611526565b9190910192915050565b6020815260008251806020840152611585816040850160208701611526565b601f01601f1916919091016040019291505056fea2646970667358221220e5db714393c79093847df9381f10ec8d4a723ae1aa7620e7ae20d743a1b0f83564736f6c63430008110033";
|
|
170
170
|
|
|
171
171
|
type ActionCallbackConstructorParams =
|
|
172
172
|
| [signer?: Signer]
|