@pendle/core-v2 2.10.0-mainnet → 2.10.1-mainnet

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.
Files changed (250) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +4 -0
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +492 -0
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  28. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  30. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  38. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  43. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  47. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  87. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  90. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  92. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  94. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  97. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  99. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  101. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +7 -2
  103. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
  105. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +4 -0
  115. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.json +169 -0
  116. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  121. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  122. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  123. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  124. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  125. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  126. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  127. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  128. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  129. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  130. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  131. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  132. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  133. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  134. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  135. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  136. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  137. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  138. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  139. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  140. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  141. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  142. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  143. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  144. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  145. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  146. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  147. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  148. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.json +2 -2
  149. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  150. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  151. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  152. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  153. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  154. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  155. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  156. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  157. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  158. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  159. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  160. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  161. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  162. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  163. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  164. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  165. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  166. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  167. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  168. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +1 -1
  169. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +2 -2
  170. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +1 -1
  171. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +2 -2
  172. package/package.json +1 -1
  173. package/typechain-types/IPFeeDistributorV2.ts +287 -0
  174. package/typechain-types/PendleFeeDistributorV2.ts +722 -0
  175. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  176. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  177. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  178. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  179. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  180. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  181. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  182. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  183. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  184. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  185. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  186. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  187. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  188. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  189. package/typechain-types/factories/Errors__factory.ts +6 -1
  190. package/typechain-types/factories/IPFeeDistributorV2__factory.ts +184 -0
  191. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  192. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  193. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  194. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  195. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  196. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  197. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  198. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +549 -0
  199. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  200. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  201. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  202. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  203. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  204. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  205. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  206. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  207. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  208. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  209. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  210. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  211. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  212. package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +1 -1
  213. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  214. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  215. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  216. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  217. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  218. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  219. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  220. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +1 -1
  221. package/typechain-types/factories/PendleSwapEthereum__factory.ts +1 -1
  222. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  223. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  224. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  225. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  226. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  227. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  228. package/typechain-types/factories/SAPE__factory.ts +1 -1
  229. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  230. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  231. package/typechain-types/hardhat.d.ts +18 -0
  232. package/typechain-types/index.ts +4 -0
  233. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
  234. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -592
  235. package/build/artifacts/contracts/core/StandardizedYield/implementations/Chronos/BaseContracts/PendleChronosNFTManager.sol/PendleChronosNFTManager.dbg.json +0 -4
  236. package/build/artifacts/contracts/core/StandardizedYield/implementations/Chronos/BaseContracts/PendleChronosNFTManager.sol/PendleChronosNFTManager.json +0 -142
  237. package/build/artifacts/contracts/core/StandardizedYield/implementations/Chronos/BaseContracts/PendleChronosVolatilePairBase.sol/PendleChronosVolatilePairBase.dbg.json +0 -4
  238. package/build/artifacts/contracts/core/StandardizedYield/implementations/Chronos/BaseContracts/PendleChronosVolatilePairBase.sol/PendleChronosVolatilePairBase.json +0 -76
  239. package/build/artifacts/contracts/core/StandardizedYield/implementations/Chronos/PendleChronosChrEthSY.sol/PendleChronosChrEthSY.dbg.json +0 -4
  240. package/build/artifacts/contracts/core/StandardizedYield/implementations/Chronos/PendleChronosChrEthSY.sol/PendleChronosChrEthSY.json +0 -1238
  241. package/build/artifacts/contracts/interfaces/Chronos/IChronosFactory.sol/IChronosFactory.dbg.json +0 -4
  242. package/build/artifacts/contracts/interfaces/Chronos/IChronosFactory.sol/IChronosFactory.json +0 -152
  243. package/build/artifacts/contracts/interfaces/Chronos/IChronosPair.sol/IChronosPair.dbg.json +0 -4
  244. package/build/artifacts/contracts/interfaces/Chronos/IChronosPair.sol/IChronosPair.json +0 -461
  245. package/build/artifacts/contracts/interfaces/Chronos/IChronosRouter.sol/IChronosRouter.dbg.json +0 -4
  246. package/build/artifacts/contracts/interfaces/Chronos/IChronosRouter.sol/IChronosRouter.json +0 -195
  247. package/build/artifacts/contracts/interfaces/Chronos/IMaGauge.sol/IMaGauge.dbg.json +0 -4
  248. package/build/artifacts/contracts/interfaces/Chronos/IMaGauge.sol/IMaGauge.json +0 -728
  249. package/build/artifacts/contracts/interfaces/Chronos/IMaLPNFT.sol/IMaLPNFT.dbg.json +0 -4
  250. package/build/artifacts/contracts/interfaces/Chronos/IMaLPNFT.sol/IMaLPNFT.json +0 -690
@@ -1,1238 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "PendleChronosChrEthSY",
4
- "sourceName": "contracts/core/StandardizedYield/implementations/Chronos/PendleChronosChrEthSY.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "string",
10
- "name": "_name",
11
- "type": "string"
12
- },
13
- {
14
- "internalType": "string",
15
- "name": "_symbol",
16
- "type": "string"
17
- },
18
- {
19
- "internalType": "address",
20
- "name": "_pair",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "address",
25
- "name": "_factory",
26
- "type": "address"
27
- },
28
- {
29
- "internalType": "address",
30
- "name": "_router",
31
- "type": "address"
32
- },
33
- {
34
- "internalType": "address",
35
- "name": "_maGauge",
36
- "type": "address"
37
- }
38
- ],
39
- "stateMutability": "nonpayable",
40
- "type": "constructor"
41
- },
42
- {
43
- "inputs": [
44
- {
45
- "internalType": "uint256",
46
- "name": "actualSharesOut",
47
- "type": "uint256"
48
- },
49
- {
50
- "internalType": "uint256",
51
- "name": "requiredSharesOut",
52
- "type": "uint256"
53
- }
54
- ],
55
- "name": "SYInsufficientSharesOut",
56
- "type": "error"
57
- },
58
- {
59
- "inputs": [
60
- {
61
- "internalType": "uint256",
62
- "name": "actualTokenOut",
63
- "type": "uint256"
64
- },
65
- {
66
- "internalType": "uint256",
67
- "name": "requiredTokenOut",
68
- "type": "uint256"
69
- }
70
- ],
71
- "name": "SYInsufficientTokenOut",
72
- "type": "error"
73
- },
74
- {
75
- "inputs": [
76
- {
77
- "internalType": "address",
78
- "name": "token",
79
- "type": "address"
80
- }
81
- ],
82
- "name": "SYInvalidTokenIn",
83
- "type": "error"
84
- },
85
- {
86
- "inputs": [
87
- {
88
- "internalType": "address",
89
- "name": "token",
90
- "type": "address"
91
- }
92
- ],
93
- "name": "SYInvalidTokenOut",
94
- "type": "error"
95
- },
96
- {
97
- "inputs": [],
98
- "name": "SYZeroDeposit",
99
- "type": "error"
100
- },
101
- {
102
- "inputs": [],
103
- "name": "SYZeroRedeem",
104
- "type": "error"
105
- },
106
- {
107
- "anonymous": false,
108
- "inputs": [
109
- {
110
- "indexed": true,
111
- "internalType": "address",
112
- "name": "owner",
113
- "type": "address"
114
- },
115
- {
116
- "indexed": true,
117
- "internalType": "address",
118
- "name": "spender",
119
- "type": "address"
120
- },
121
- {
122
- "indexed": false,
123
- "internalType": "uint256",
124
- "name": "value",
125
- "type": "uint256"
126
- }
127
- ],
128
- "name": "Approval",
129
- "type": "event"
130
- },
131
- {
132
- "anonymous": false,
133
- "inputs": [
134
- {
135
- "indexed": true,
136
- "internalType": "address",
137
- "name": "user",
138
- "type": "address"
139
- },
140
- {
141
- "indexed": false,
142
- "internalType": "address[]",
143
- "name": "rewardTokens",
144
- "type": "address[]"
145
- },
146
- {
147
- "indexed": false,
148
- "internalType": "uint256[]",
149
- "name": "rewardAmounts",
150
- "type": "uint256[]"
151
- }
152
- ],
153
- "name": "ClaimRewards",
154
- "type": "event"
155
- },
156
- {
157
- "anonymous": false,
158
- "inputs": [
159
- {
160
- "indexed": true,
161
- "internalType": "address",
162
- "name": "caller",
163
- "type": "address"
164
- },
165
- {
166
- "indexed": true,
167
- "internalType": "address",
168
- "name": "receiver",
169
- "type": "address"
170
- },
171
- {
172
- "indexed": true,
173
- "internalType": "address",
174
- "name": "tokenIn",
175
- "type": "address"
176
- },
177
- {
178
- "indexed": false,
179
- "internalType": "uint256",
180
- "name": "amountDeposited",
181
- "type": "uint256"
182
- },
183
- {
184
- "indexed": false,
185
- "internalType": "uint256",
186
- "name": "amountSyOut",
187
- "type": "uint256"
188
- }
189
- ],
190
- "name": "Deposit",
191
- "type": "event"
192
- },
193
- {
194
- "anonymous": false,
195
- "inputs": [
196
- {
197
- "indexed": false,
198
- "internalType": "uint8",
199
- "name": "version",
200
- "type": "uint8"
201
- }
202
- ],
203
- "name": "Initialized",
204
- "type": "event"
205
- },
206
- {
207
- "anonymous": false,
208
- "inputs": [
209
- {
210
- "indexed": true,
211
- "internalType": "address",
212
- "name": "previousOwner",
213
- "type": "address"
214
- },
215
- {
216
- "indexed": true,
217
- "internalType": "address",
218
- "name": "newOwner",
219
- "type": "address"
220
- }
221
- ],
222
- "name": "OwnershipTransferred",
223
- "type": "event"
224
- },
225
- {
226
- "anonymous": false,
227
- "inputs": [
228
- {
229
- "indexed": false,
230
- "internalType": "address",
231
- "name": "account",
232
- "type": "address"
233
- }
234
- ],
235
- "name": "Paused",
236
- "type": "event"
237
- },
238
- {
239
- "anonymous": false,
240
- "inputs": [
241
- {
242
- "indexed": true,
243
- "internalType": "address",
244
- "name": "caller",
245
- "type": "address"
246
- },
247
- {
248
- "indexed": true,
249
- "internalType": "address",
250
- "name": "receiver",
251
- "type": "address"
252
- },
253
- {
254
- "indexed": true,
255
- "internalType": "address",
256
- "name": "tokenOut",
257
- "type": "address"
258
- },
259
- {
260
- "indexed": false,
261
- "internalType": "uint256",
262
- "name": "amountSyToRedeem",
263
- "type": "uint256"
264
- },
265
- {
266
- "indexed": false,
267
- "internalType": "uint256",
268
- "name": "amountTokenOut",
269
- "type": "uint256"
270
- }
271
- ],
272
- "name": "Redeem",
273
- "type": "event"
274
- },
275
- {
276
- "anonymous": false,
277
- "inputs": [
278
- {
279
- "indexed": true,
280
- "internalType": "address",
281
- "name": "from",
282
- "type": "address"
283
- },
284
- {
285
- "indexed": true,
286
- "internalType": "address",
287
- "name": "to",
288
- "type": "address"
289
- },
290
- {
291
- "indexed": false,
292
- "internalType": "uint256",
293
- "name": "value",
294
- "type": "uint256"
295
- }
296
- ],
297
- "name": "Transfer",
298
- "type": "event"
299
- },
300
- {
301
- "anonymous": false,
302
- "inputs": [
303
- {
304
- "indexed": false,
305
- "internalType": "address",
306
- "name": "account",
307
- "type": "address"
308
- }
309
- ],
310
- "name": "Unpaused",
311
- "type": "event"
312
- },
313
- {
314
- "inputs": [],
315
- "name": "CHR",
316
- "outputs": [
317
- {
318
- "internalType": "address",
319
- "name": "",
320
- "type": "address"
321
- }
322
- ],
323
- "stateMutability": "view",
324
- "type": "function"
325
- },
326
- {
327
- "inputs": [],
328
- "name": "DOMAIN_SEPARATOR",
329
- "outputs": [
330
- {
331
- "internalType": "bytes32",
332
- "name": "",
333
- "type": "bytes32"
334
- }
335
- ],
336
- "stateMutability": "view",
337
- "type": "function"
338
- },
339
- {
340
- "inputs": [],
341
- "name": "INF",
342
- "outputs": [
343
- {
344
- "internalType": "uint256",
345
- "name": "",
346
- "type": "uint256"
347
- }
348
- ],
349
- "stateMutability": "view",
350
- "type": "function"
351
- },
352
- {
353
- "inputs": [],
354
- "name": "NO_NFT",
355
- "outputs": [
356
- {
357
- "internalType": "uint256",
358
- "name": "",
359
- "type": "uint256"
360
- }
361
- ],
362
- "stateMutability": "view",
363
- "type": "function"
364
- },
365
- {
366
- "inputs": [],
367
- "name": "N_MATURITY",
368
- "outputs": [
369
- {
370
- "internalType": "uint256",
371
- "name": "",
372
- "type": "uint256"
373
- }
374
- ],
375
- "stateMutability": "view",
376
- "type": "function"
377
- },
378
- {
379
- "inputs": [],
380
- "name": "WEEK",
381
- "outputs": [
382
- {
383
- "internalType": "uint256",
384
- "name": "",
385
- "type": "uint256"
386
- }
387
- ],
388
- "stateMutability": "view",
389
- "type": "function"
390
- },
391
- {
392
- "inputs": [
393
- {
394
- "internalType": "address",
395
- "name": "user",
396
- "type": "address"
397
- }
398
- ],
399
- "name": "accruedRewards",
400
- "outputs": [
401
- {
402
- "internalType": "uint256[]",
403
- "name": "rewardAmounts",
404
- "type": "uint256[]"
405
- }
406
- ],
407
- "stateMutability": "view",
408
- "type": "function"
409
- },
410
- {
411
- "inputs": [
412
- {
413
- "internalType": "address",
414
- "name": "owner",
415
- "type": "address"
416
- },
417
- {
418
- "internalType": "address",
419
- "name": "spender",
420
- "type": "address"
421
- }
422
- ],
423
- "name": "allowance",
424
- "outputs": [
425
- {
426
- "internalType": "uint256",
427
- "name": "",
428
- "type": "uint256"
429
- }
430
- ],
431
- "stateMutability": "view",
432
- "type": "function"
433
- },
434
- {
435
- "inputs": [
436
- {
437
- "internalType": "address",
438
- "name": "spender",
439
- "type": "address"
440
- },
441
- {
442
- "internalType": "uint256",
443
- "name": "amount",
444
- "type": "uint256"
445
- }
446
- ],
447
- "name": "approve",
448
- "outputs": [
449
- {
450
- "internalType": "bool",
451
- "name": "",
452
- "type": "bool"
453
- }
454
- ],
455
- "stateMutability": "nonpayable",
456
- "type": "function"
457
- },
458
- {
459
- "inputs": [],
460
- "name": "assetInfo",
461
- "outputs": [
462
- {
463
- "internalType": "enum IStandardizedYield.AssetType",
464
- "name": "assetType",
465
- "type": "uint8"
466
- },
467
- {
468
- "internalType": "address",
469
- "name": "assetAddress",
470
- "type": "address"
471
- },
472
- {
473
- "internalType": "uint8",
474
- "name": "assetDecimals",
475
- "type": "uint8"
476
- }
477
- ],
478
- "stateMutability": "view",
479
- "type": "function"
480
- },
481
- {
482
- "inputs": [
483
- {
484
- "internalType": "address",
485
- "name": "account",
486
- "type": "address"
487
- }
488
- ],
489
- "name": "balanceOf",
490
- "outputs": [
491
- {
492
- "internalType": "uint256",
493
- "name": "",
494
- "type": "uint256"
495
- }
496
- ],
497
- "stateMutability": "view",
498
- "type": "function"
499
- },
500
- {
501
- "inputs": [],
502
- "name": "claimOwnership",
503
- "outputs": [],
504
- "stateMutability": "nonpayable",
505
- "type": "function"
506
- },
507
- {
508
- "inputs": [
509
- {
510
- "internalType": "address",
511
- "name": "user",
512
- "type": "address"
513
- }
514
- ],
515
- "name": "claimRewards",
516
- "outputs": [
517
- {
518
- "internalType": "uint256[]",
519
- "name": "rewardAmounts",
520
- "type": "uint256[]"
521
- }
522
- ],
523
- "stateMutability": "nonpayable",
524
- "type": "function"
525
- },
526
- {
527
- "inputs": [],
528
- "name": "decimals",
529
- "outputs": [
530
- {
531
- "internalType": "uint8",
532
- "name": "",
533
- "type": "uint8"
534
- }
535
- ],
536
- "stateMutability": "view",
537
- "type": "function"
538
- },
539
- {
540
- "inputs": [
541
- {
542
- "internalType": "address",
543
- "name": "receiver",
544
- "type": "address"
545
- },
546
- {
547
- "internalType": "address",
548
- "name": "tokenIn",
549
- "type": "address"
550
- },
551
- {
552
- "internalType": "uint256",
553
- "name": "amountTokenToDeposit",
554
- "type": "uint256"
555
- },
556
- {
557
- "internalType": "uint256",
558
- "name": "minSharesOut",
559
- "type": "uint256"
560
- }
561
- ],
562
- "name": "deposit",
563
- "outputs": [
564
- {
565
- "internalType": "uint256",
566
- "name": "amountSharesOut",
567
- "type": "uint256"
568
- }
569
- ],
570
- "stateMutability": "payable",
571
- "type": "function"
572
- },
573
- {
574
- "inputs": [],
575
- "name": "exchangeRate",
576
- "outputs": [
577
- {
578
- "internalType": "uint256",
579
- "name": "",
580
- "type": "uint256"
581
- }
582
- ],
583
- "stateMutability": "view",
584
- "type": "function"
585
- },
586
- {
587
- "inputs": [],
588
- "name": "factory",
589
- "outputs": [
590
- {
591
- "internalType": "address",
592
- "name": "",
593
- "type": "address"
594
- }
595
- ],
596
- "stateMutability": "view",
597
- "type": "function"
598
- },
599
- {
600
- "inputs": [],
601
- "name": "getRewardTokens",
602
- "outputs": [
603
- {
604
- "internalType": "address[]",
605
- "name": "rewardTokens",
606
- "type": "address[]"
607
- }
608
- ],
609
- "stateMutability": "view",
610
- "type": "function"
611
- },
612
- {
613
- "inputs": [],
614
- "name": "getTokensIn",
615
- "outputs": [
616
- {
617
- "internalType": "address[]",
618
- "name": "res",
619
- "type": "address[]"
620
- }
621
- ],
622
- "stateMutability": "view",
623
- "type": "function"
624
- },
625
- {
626
- "inputs": [],
627
- "name": "getTokensOut",
628
- "outputs": [
629
- {
630
- "internalType": "address[]",
631
- "name": "res",
632
- "type": "address[]"
633
- }
634
- ],
635
- "stateMutability": "view",
636
- "type": "function"
637
- },
638
- {
639
- "inputs": [
640
- {
641
- "internalType": "address",
642
- "name": "token",
643
- "type": "address"
644
- }
645
- ],
646
- "name": "isValidTokenIn",
647
- "outputs": [
648
- {
649
- "internalType": "bool",
650
- "name": "",
651
- "type": "bool"
652
- }
653
- ],
654
- "stateMutability": "view",
655
- "type": "function"
656
- },
657
- {
658
- "inputs": [
659
- {
660
- "internalType": "address",
661
- "name": "token",
662
- "type": "address"
663
- }
664
- ],
665
- "name": "isValidTokenOut",
666
- "outputs": [
667
- {
668
- "internalType": "bool",
669
- "name": "",
670
- "type": "bool"
671
- }
672
- ],
673
- "stateMutability": "view",
674
- "type": "function"
675
- },
676
- {
677
- "inputs": [],
678
- "name": "lastRewardBlock",
679
- "outputs": [
680
- {
681
- "internalType": "uint256",
682
- "name": "",
683
- "type": "uint256"
684
- }
685
- ],
686
- "stateMutability": "view",
687
- "type": "function"
688
- },
689
- {
690
- "inputs": [],
691
- "name": "maGauge",
692
- "outputs": [
693
- {
694
- "internalType": "address",
695
- "name": "",
696
- "type": "address"
697
- }
698
- ],
699
- "stateMutability": "view",
700
- "type": "function"
701
- },
702
- {
703
- "inputs": [],
704
- "name": "maNft",
705
- "outputs": [
706
- {
707
- "internalType": "address",
708
- "name": "",
709
- "type": "address"
710
- }
711
- ],
712
- "stateMutability": "view",
713
- "type": "function"
714
- },
715
- {
716
- "inputs": [],
717
- "name": "name",
718
- "outputs": [
719
- {
720
- "internalType": "string",
721
- "name": "",
722
- "type": "string"
723
- }
724
- ],
725
- "stateMutability": "view",
726
- "type": "function"
727
- },
728
- {
729
- "inputs": [
730
- {
731
- "internalType": "uint256",
732
- "name": "",
733
- "type": "uint256"
734
- }
735
- ],
736
- "name": "nfts",
737
- "outputs": [
738
- {
739
- "internalType": "uint256",
740
- "name": "",
741
- "type": "uint256"
742
- }
743
- ],
744
- "stateMutability": "view",
745
- "type": "function"
746
- },
747
- {
748
- "inputs": [
749
- {
750
- "internalType": "address",
751
- "name": "owner",
752
- "type": "address"
753
- }
754
- ],
755
- "name": "nonces",
756
- "outputs": [
757
- {
758
- "internalType": "uint256",
759
- "name": "",
760
- "type": "uint256"
761
- }
762
- ],
763
- "stateMutability": "view",
764
- "type": "function"
765
- },
766
- {
767
- "inputs": [
768
- {
769
- "internalType": "address",
770
- "name": "",
771
- "type": "address"
772
- },
773
- {
774
- "internalType": "address",
775
- "name": "",
776
- "type": "address"
777
- },
778
- {
779
- "internalType": "uint256",
780
- "name": "tokenId",
781
- "type": "uint256"
782
- },
783
- {
784
- "internalType": "bytes",
785
- "name": "",
786
- "type": "bytes"
787
- }
788
- ],
789
- "name": "onERC721Received",
790
- "outputs": [
791
- {
792
- "internalType": "bytes4",
793
- "name": "",
794
- "type": "bytes4"
795
- }
796
- ],
797
- "stateMutability": "nonpayable",
798
- "type": "function"
799
- },
800
- {
801
- "inputs": [],
802
- "name": "owner",
803
- "outputs": [
804
- {
805
- "internalType": "address",
806
- "name": "",
807
- "type": "address"
808
- }
809
- ],
810
- "stateMutability": "view",
811
- "type": "function"
812
- },
813
- {
814
- "inputs": [],
815
- "name": "pair",
816
- "outputs": [
817
- {
818
- "internalType": "address",
819
- "name": "",
820
- "type": "address"
821
- }
822
- ],
823
- "stateMutability": "view",
824
- "type": "function"
825
- },
826
- {
827
- "inputs": [],
828
- "name": "pause",
829
- "outputs": [],
830
- "stateMutability": "nonpayable",
831
- "type": "function"
832
- },
833
- {
834
- "inputs": [],
835
- "name": "paused",
836
- "outputs": [
837
- {
838
- "internalType": "bool",
839
- "name": "",
840
- "type": "bool"
841
- }
842
- ],
843
- "stateMutability": "view",
844
- "type": "function"
845
- },
846
- {
847
- "inputs": [],
848
- "name": "pendingOwner",
849
- "outputs": [
850
- {
851
- "internalType": "address",
852
- "name": "",
853
- "type": "address"
854
- }
855
- ],
856
- "stateMutability": "view",
857
- "type": "function"
858
- },
859
- {
860
- "inputs": [
861
- {
862
- "internalType": "address",
863
- "name": "owner",
864
- "type": "address"
865
- },
866
- {
867
- "internalType": "address",
868
- "name": "spender",
869
- "type": "address"
870
- },
871
- {
872
- "internalType": "uint256",
873
- "name": "value",
874
- "type": "uint256"
875
- },
876
- {
877
- "internalType": "uint256",
878
- "name": "deadline",
879
- "type": "uint256"
880
- },
881
- {
882
- "internalType": "uint8",
883
- "name": "v",
884
- "type": "uint8"
885
- },
886
- {
887
- "internalType": "bytes32",
888
- "name": "r",
889
- "type": "bytes32"
890
- },
891
- {
892
- "internalType": "bytes32",
893
- "name": "s",
894
- "type": "bytes32"
895
- }
896
- ],
897
- "name": "permit",
898
- "outputs": [],
899
- "stateMutability": "nonpayable",
900
- "type": "function"
901
- },
902
- {
903
- "inputs": [
904
- {
905
- "internalType": "address",
906
- "name": "tokenIn",
907
- "type": "address"
908
- },
909
- {
910
- "internalType": "uint256",
911
- "name": "amountTokenToDeposit",
912
- "type": "uint256"
913
- }
914
- ],
915
- "name": "previewDeposit",
916
- "outputs": [
917
- {
918
- "internalType": "uint256",
919
- "name": "amountSharesOut",
920
- "type": "uint256"
921
- }
922
- ],
923
- "stateMutability": "view",
924
- "type": "function"
925
- },
926
- {
927
- "inputs": [
928
- {
929
- "internalType": "address",
930
- "name": "tokenOut",
931
- "type": "address"
932
- },
933
- {
934
- "internalType": "uint256",
935
- "name": "amountSharesToRedeem",
936
- "type": "uint256"
937
- }
938
- ],
939
- "name": "previewRedeem",
940
- "outputs": [
941
- {
942
- "internalType": "uint256",
943
- "name": "amountTokenOut",
944
- "type": "uint256"
945
- }
946
- ],
947
- "stateMutability": "view",
948
- "type": "function"
949
- },
950
- {
951
- "inputs": [
952
- {
953
- "internalType": "address",
954
- "name": "receiver",
955
- "type": "address"
956
- },
957
- {
958
- "internalType": "uint256",
959
- "name": "amountSharesToRedeem",
960
- "type": "uint256"
961
- },
962
- {
963
- "internalType": "address",
964
- "name": "tokenOut",
965
- "type": "address"
966
- },
967
- {
968
- "internalType": "uint256",
969
- "name": "minTokenOut",
970
- "type": "uint256"
971
- },
972
- {
973
- "internalType": "bool",
974
- "name": "burnFromInternalBalance",
975
- "type": "bool"
976
- }
977
- ],
978
- "name": "redeem",
979
- "outputs": [
980
- {
981
- "internalType": "uint256",
982
- "name": "amountTokenOut",
983
- "type": "uint256"
984
- }
985
- ],
986
- "stateMutability": "nonpayable",
987
- "type": "function"
988
- },
989
- {
990
- "inputs": [],
991
- "name": "rewardIndexesCurrent",
992
- "outputs": [
993
- {
994
- "internalType": "uint256[]",
995
- "name": "indexes",
996
- "type": "uint256[]"
997
- }
998
- ],
999
- "stateMutability": "nonpayable",
1000
- "type": "function"
1001
- },
1002
- {
1003
- "inputs": [],
1004
- "name": "rewardIndexesStored",
1005
- "outputs": [
1006
- {
1007
- "internalType": "uint256[]",
1008
- "name": "indexes",
1009
- "type": "uint256[]"
1010
- }
1011
- ],
1012
- "stateMutability": "view",
1013
- "type": "function"
1014
- },
1015
- {
1016
- "inputs": [
1017
- {
1018
- "internalType": "address",
1019
- "name": "",
1020
- "type": "address"
1021
- }
1022
- ],
1023
- "name": "rewardState",
1024
- "outputs": [
1025
- {
1026
- "internalType": "uint128",
1027
- "name": "index",
1028
- "type": "uint128"
1029
- },
1030
- {
1031
- "internalType": "uint128",
1032
- "name": "lastBalance",
1033
- "type": "uint128"
1034
- }
1035
- ],
1036
- "stateMutability": "view",
1037
- "type": "function"
1038
- },
1039
- {
1040
- "inputs": [],
1041
- "name": "router",
1042
- "outputs": [
1043
- {
1044
- "internalType": "address",
1045
- "name": "",
1046
- "type": "address"
1047
- }
1048
- ],
1049
- "stateMutability": "view",
1050
- "type": "function"
1051
- },
1052
- {
1053
- "inputs": [],
1054
- "name": "symbol",
1055
- "outputs": [
1056
- {
1057
- "internalType": "string",
1058
- "name": "",
1059
- "type": "string"
1060
- }
1061
- ],
1062
- "stateMutability": "view",
1063
- "type": "function"
1064
- },
1065
- {
1066
- "inputs": [],
1067
- "name": "token0",
1068
- "outputs": [
1069
- {
1070
- "internalType": "address",
1071
- "name": "",
1072
- "type": "address"
1073
- }
1074
- ],
1075
- "stateMutability": "view",
1076
- "type": "function"
1077
- },
1078
- {
1079
- "inputs": [],
1080
- "name": "token1",
1081
- "outputs": [
1082
- {
1083
- "internalType": "address",
1084
- "name": "",
1085
- "type": "address"
1086
- }
1087
- ],
1088
- "stateMutability": "view",
1089
- "type": "function"
1090
- },
1091
- {
1092
- "inputs": [],
1093
- "name": "totalSupply",
1094
- "outputs": [
1095
- {
1096
- "internalType": "uint256",
1097
- "name": "",
1098
- "type": "uint256"
1099
- }
1100
- ],
1101
- "stateMutability": "view",
1102
- "type": "function"
1103
- },
1104
- {
1105
- "inputs": [
1106
- {
1107
- "internalType": "address",
1108
- "name": "to",
1109
- "type": "address"
1110
- },
1111
- {
1112
- "internalType": "uint256",
1113
- "name": "amount",
1114
- "type": "uint256"
1115
- }
1116
- ],
1117
- "name": "transfer",
1118
- "outputs": [
1119
- {
1120
- "internalType": "bool",
1121
- "name": "",
1122
- "type": "bool"
1123
- }
1124
- ],
1125
- "stateMutability": "nonpayable",
1126
- "type": "function"
1127
- },
1128
- {
1129
- "inputs": [
1130
- {
1131
- "internalType": "address",
1132
- "name": "from",
1133
- "type": "address"
1134
- },
1135
- {
1136
- "internalType": "address",
1137
- "name": "to",
1138
- "type": "address"
1139
- },
1140
- {
1141
- "internalType": "uint256",
1142
- "name": "amount",
1143
- "type": "uint256"
1144
- }
1145
- ],
1146
- "name": "transferFrom",
1147
- "outputs": [
1148
- {
1149
- "internalType": "bool",
1150
- "name": "",
1151
- "type": "bool"
1152
- }
1153
- ],
1154
- "stateMutability": "nonpayable",
1155
- "type": "function"
1156
- },
1157
- {
1158
- "inputs": [
1159
- {
1160
- "internalType": "address",
1161
- "name": "newOwner",
1162
- "type": "address"
1163
- },
1164
- {
1165
- "internalType": "bool",
1166
- "name": "direct",
1167
- "type": "bool"
1168
- },
1169
- {
1170
- "internalType": "bool",
1171
- "name": "renounce",
1172
- "type": "bool"
1173
- }
1174
- ],
1175
- "name": "transferOwnership",
1176
- "outputs": [],
1177
- "stateMutability": "nonpayable",
1178
- "type": "function"
1179
- },
1180
- {
1181
- "inputs": [],
1182
- "name": "unpause",
1183
- "outputs": [],
1184
- "stateMutability": "nonpayable",
1185
- "type": "function"
1186
- },
1187
- {
1188
- "inputs": [
1189
- {
1190
- "internalType": "address",
1191
- "name": "",
1192
- "type": "address"
1193
- },
1194
- {
1195
- "internalType": "address",
1196
- "name": "",
1197
- "type": "address"
1198
- }
1199
- ],
1200
- "name": "userReward",
1201
- "outputs": [
1202
- {
1203
- "internalType": "uint128",
1204
- "name": "index",
1205
- "type": "uint128"
1206
- },
1207
- {
1208
- "internalType": "uint128",
1209
- "name": "accrued",
1210
- "type": "uint128"
1211
- }
1212
- ],
1213
- "stateMutability": "view",
1214
- "type": "function"
1215
- },
1216
- {
1217
- "inputs": [],
1218
- "name": "yieldToken",
1219
- "outputs": [
1220
- {
1221
- "internalType": "address",
1222
- "name": "",
1223
- "type": "address"
1224
- }
1225
- ],
1226
- "stateMutability": "view",
1227
- "type": "function"
1228
- },
1229
- {
1230
- "stateMutability": "payable",
1231
- "type": "receive"
1232
- }
1233
- ],
1234
- "bytecode": "0x6102606040523480156200001257600080fd5b506040516200623c3803806200623c8339810160408190526200003591620008b5565b858585828282898989898d8787876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a7919062000968565b6040805180820190915260018152603160f81b602082015283908184846003620000d2848262000a23565b506004620000e1838262000a23565b5060ff166080525050600280546001600160f81b0316600160f81b17905581516020808401919091208251918301919091206101008290526101208190524660c0527f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620001948184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b60a0523060e05261014052505050506001600160a01b038516610160819052604080516330bd46cf60e11b8152905191945063617a8d9e935060048082019350602092918290030181865afa158015620001f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000218919062000aef565b6001600160a01b0316610180526200022f62000512565b6200024481610160516200055660201b60201c565b50506001600160a01b038084166101e0819052838216610200529082166102205260408051630dfe168160e01b81529051630dfe1681916004808201926020929091908290030181865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c7919062000aef565b6001600160a01b03166101a0816001600160a01b0316815250506101e0516001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000323573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000349919062000aef565b6001600160a01b03166101c0526101a051610220516200036a919062000556565b620003826101c051610220516200055660201b60201c565b6200039a6101e051610220516200055660201b60201c565b50506042805460ff1916905550601154600160a81b900460ff1615808015620003d057506011546001600160a01b90910460ff16105b80620004075750620003ed306200062560201b6200197d1760201c565b158015620004075750601154600160a01b900460ff166001145b620004705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6011805460ff60a01b1916600160a01b17905580156200049e576011805460ff60a81b1916600160a81b1790555b6001600160a01b03821661024052620004b662000634565b8015620004ff576011805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050505050505062000bdc565b60005b60068110156200054d576000196006826006811062000538576200053862000b0d565b0155620005458162000b23565b905062000515565b50600019600d55565b6001600160a01b03821662000569575050565b6200057d60026001600160601b0362000b4b565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015620005d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005fd919062000b80565b101562000621576200061282826000620006b7565b620006218282600019620006b7565b5050565b6001600160a01b03163b151590565b601154600160a81b900460ff16620006a35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000467565b601080546001600160a01b03191633179055565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b179052915160009283929087169162000715919062000b9a565b6000604051808303816000865af19150503d806000811462000754576040519150601f19603f3d011682016040523d82523d6000602084013e62000759565b606091505b5091509150818015620007875750805115806200078757508080602001905181019062000787919062000bb8565b620007c45760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640162000467565b5050505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620007fe578181015183820152602001620007e4565b50506000910152565b600082601f8301126200081957600080fd5b81516001600160401b0380821115620008365762000836620007cb565b604051601f8301601f19908116603f01168101908282118183101715620008615762000861620007cb565b816040528381528660208588010111156200087b57600080fd5b6200088e846020830160208901620007e1565b9695505050505050565b80516001600160a01b0381168114620008b057600080fd5b919050565b60008060008060008060c08789031215620008cf57600080fd5b86516001600160401b0380821115620008e757600080fd5b620008f58a838b0162000807565b975060208901519150808211156200090c57600080fd5b506200091b89828a0162000807565b9550506200092c6040880162000898565b93506200093c6060880162000898565b92506200094c6080880162000898565b91506200095c60a0880162000898565b90509295509295509295565b6000602082840312156200097b57600080fd5b815160ff811681146200098d57600080fd5b9392505050565b600181811c90821680620009a957607f821691505b602082108103620009ca57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000a1e57600081815260208120601f850160051c81016020861015620009f95750805b601f850160051c820191505b8181101562000a1a5782815560010162000a05565b5050505b505050565b81516001600160401b0381111562000a3f5762000a3f620007cb565b62000a578162000a50845462000994565b84620009d0565b602080601f83116001811462000a8f576000841562000a765750858301515b600019600386901b1c1916600185901b17855562000a1a565b600085815260208120601f198616915b8281101562000ac05788860151825594840194600190910190840162000a9f565b508582101562000adf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562000b0257600080fd5b6200098d8262000898565b634e487b7160e01b600052603260045260246000fd5b60006001820162000b4457634e487b7160e01b600052601160045260246000fd5b5060010190565b60006001600160601b038381168062000b7457634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60006020828403121562000b9357600080fd5b5051919050565b6000825162000bae818460208701620007e1565b9190910192915050565b60006020828403121562000bcb57600080fd5b815180151581146200098d57600080fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161543a62000e0260003960006105e60152600081816109380152818161386d01528181613c840152613e3b01526000818161077a0152818161368d0152613fd30152600081816106f001528181610acd01528181610f9c0152818161102501528181611396015281816114370152818161145801528181611b670152818161230d015281816123a4015281816123f701528181612f70015281816135e601528181613f350152818161420b015281816142bb015261432401526000818161081701528181610a790152818161135a01528181612ca5015281816130b8015281816137940152818161381201528181613c2f01528181613d5e015261428e01526000818161034501528181610a250152818161131f01528181612c6901528181612ce201528181612e2c0152818161307c0152818161310e015281816136fc01528181613753015281816137ea01528181613c0701528181613cff01528181613d380152818161416a01526141de015260006107e301526000818161049a01528181612ae60152818161394c01528181613a1701528181613abc01528181613b82015281816146a3015281816147ae01526148ce01526000611fff0152600061204e0152600061202901526000611f8201526000611fac01526000611fd601526000610454015261543a6000f3fe6080604052600436106102535760003560e01c806303da28a41461025f57806305cc075b1461028757806306fdde031461029d578063071bc3c9146102bf578063078dfbe7146102e1578063095ea7b3146103035780630dfe168114610333578063128fced114610374578063150b7a02146103a157806318160ddd146103da57806320e8c565146103ef578063213cae63146102bf57806323b872dd14610402578063265aa62114610422578063313ce5671461044257806333d891fd146104885780633644e515146104bc5780633ba0b9a9146104d15780633f4ba83a146104e65780634e71e0c8146104fb5780635c975abb146105105780635cbadbe41461052857806370a0823114610594578063769f8e5d146105b457806376d5de85146105d4578063773fe9c714610608578063784367d6146106305780637ecebe00146106505780638456cb59146106705780638da5cb5b1461068557806395d89b41146106a55780639d2a679f14610287578063a40bee50146106ba578063a8aa1b31146106de578063a9059cbb14610712578063a9f8d18114610732578063b8f82b2614610748578063c45a015514610768578063c4f59f9b1461079c578063cbe52ae3146107b1578063cf2d3f99146107d1578063d21220a714610805578063d505accf14610839578063da88ecb414610859578063dd62ed3e1461086e578063e30c39781461088e578063ea64a820146108ae578063ef5cfb8c146108ef578063f4359ce51461090f578063f887ea4014610926578063f8b2f9911461095a578063fa5a4f061461063057600080fd5b3661025a57005b600080fd5b34801561026b57600080fd5b50610274600681565b6040519081526020015b60405180910390f35b34801561029357600080fd5b5061027460001981565b3480156102a957600080fd5b506102b261096f565b60405161027e9190614b18565b3480156102cb57600080fd5b506102d4610a01565b60405161027e9190614b8f565b3480156102ed57600080fd5b506103016102fc366004614bc7565b610b22565b005b34801561030f57600080fd5b5061032361031e366004614c10565b610c28565b604051901515815260200161027e565b34801561033f57600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b60405161027e9190614c3a565b34801561038057600080fd5b5061039461038f366004614c4e565b610c42565b60405161027e9190614c99565b3480156103ad57600080fd5b506103c16103bc366004614cac565b610d4e565b6040516001600160e01b0319909116815260200161027e565b3480156103e657600080fd5b50610274610d99565b6102746103fd366004614d46565b610da8565b34801561040e57600080fd5b5061032361041d366004614d88565b610ef1565b34801561042e57600080fd5b5061027461043d366004614dc4565b610f6f565b34801561044e57600080fd5b506104767f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161027e565b34801561049457600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c857600080fd5b50610274610f86565b3480156104dd57600080fd5b50610274610f95565b3480156104f257600080fd5b506103016110cb565b34801561050757600080fd5b506103016110ff565b34801561051c57600080fd5b5060425460ff16610323565b34801561053457600080fd5b50610574610543366004614ddd565b60436020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b0393841681529290911660208301520161027e565b3480156105a057600080fd5b506102746105af366004614c4e565b6111ab565b3480156105c057600080fd5b506102746105cf366004614e10565b6111c6565b3480156105e057600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561061457600080fd5b506103677315b2fb8f08e4ac1ce019eadae02ee92aedf0685181565b34801561063c57600080fd5b5061032361064b366004614c4e565b61131b565b34801561065c57600080fd5b5061027461066b366004614c4e565b6113cf565b34801561067c57600080fd5b506103016113ed565b34801561069157600080fd5b50601054610367906001600160a01b031681565b3480156106b157600080fd5b506102b261141f565b3480156106c657600080fd5b506106cf61142e565b60405161027e93929190614e81565b3480156106ea57600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561071e57600080fd5b5061032361072d366004614c10565b6114e3565b34801561073e57600080fd5b5061027460445481565b34801561075457600080fd5b50610274610763366004614c10565b611555565b34801561077457600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b3480156107a857600080fd5b506102d4611590565b3480156107bd57600080fd5b506102746107cc366004614c10565b61159a565b3480156107dd57600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561081157600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561084557600080fd5b50610301610854366004614ed2565b6115ce565b34801561086557600080fd5b50610394611750565b34801561087a57600080fd5b50610274610889366004614ddd565b611821565b34801561089a57600080fd5b50601154610367906001600160a01b031681565b3480156108ba57600080fd5b506105746108c9366004614c4e565b6045602052600090815260409020546001600160801b0380821691600160801b90041682565b3480156108fb57600080fd5b5061039461090a366004614c4e565b61184c565b34801561091b57600080fd5b5061027462093a8081565b34801561093257600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561096657600080fd5b5061039461190b565b60606003805461097e90614f3f565b80601f01602080910402602001604051908101604052809291908181526020018280546109aa90614f3f565b80156109f75780601f106109cc576101008083540402835291602001916109f7565b820191906000526020600020905b8154815290600101906020018083116109da57829003601f168201915b5050505050905090565b604080516003808252608082019092526060916020820183803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610a5757610a57614f89565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610aab57610aab614f89565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600281518110610aff57610aff614f89565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6010546001600160a01b03163314610b555760405162461bcd60e51b8152600401610b4c90614f9f565b60405180910390fd5b8115610c07576001600160a01b038316151580610b6f5750805b610bb35760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610b4c565b6010546040516001600160a01b038086169216906000805160206153c583398151915290600090a3601080546001600160a01b0385166001600160a01b031991821617909155601180549091169055505050565b601180546001600160a01b0319166001600160a01b0385161790555b505050565b600033610c3681858561198c565b60019150505b92915050565b60606000610c4e611ab1565b905080516001600160401b03811115610c6957610c69614f73565b604051908082528060200260200182016040528015610c92578160200160208202803683370190505b50915060005b8151811015610d475760436000838381518110610cb757610cb7614f89565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000856001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110610d3457610d34614f89565b6020908102919091010152600101610c98565b5050919050565b6000600019600d5414610d8757600d80548591600e91906000610d7083614fea565b9190505560028110610d8457610d84614f89565b01555b50630a85bd0160e11b95945050505050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff1601610dd95760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b179055610df78461131b565b610e1657836040516315d57ce360e31b8152600401610b4c9190614c3a565b82600003610e3757604051630a907f2f60e41b815260040160405180910390fd5b610e42843385611afb565b610e4c8484611b62565b905081811015610e73578082604051635e38f95d60e11b8152600401610b4c92919061503a565b610e7d8582611bc2565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610ecc92919061503a565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610f225760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b17905533610f43858285611cd9565b610f4e858585611d53565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b60068160068110610f7f57600080fd5b0154905081565b6000610f90611f75565b905090565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101c9190615048565b509150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a59190615076565b90506110c3816110bd6110b8858761508f565b61209c565b9061210c565b935050505090565b6010546001600160a01b031633146110f55760405162461bcd60e51b8152600401610b4c90614f9f565b6110fd61213b565b565b6011546001600160a01b031633811461115a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610b4c565b6010546040516001600160a01b038084169216906000805160206153c583398151915290600090a3601080546001600160a01b039092166001600160a01b0319928316179055601180549091169055565b6001600160a01b031660009081526020819052604090205490565b600254600090600119600160f81b90910460ff16016111f75760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b1790556112158461131b565b61123457836040516388a5056160e01b8152600401610b4c9190614c3a565b846000036112555760405163c3d83b0760e01b815260040160405180910390fd5b811561126a576112653086612187565b611274565b6112743386612187565b61127f868587612300565b9050828110156112a65780836040516305ff726560e51b8152600401610b4c92919061503a565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c88856040516112f592919061503a565b60405180910390a4600280546001600160f81b0316600160f81b17905595945050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061138e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610c3c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b038116600090815260056020526040812054610c3c565b6010546001600160a01b031633146114175760405162461bcd60e51b8152600401610b4c90614f9f565b6110fd612363565b60606004805461097e90614f3f565b600080600060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d891906150a6565b925092509250909192565b600254600090600119600160f81b90910460ff16016115145760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b17905533611535818585611d53565b6001915050600280546001600160f81b0316600160f81b17905592915050565b60006115608361131b565b61157f57826040516315d57ce360e31b8152600401610b4c9190614c3a565b61158983836123a0565b9392505050565b6060610f90611ab1565b60006115a58361131b565b6115c457826040516388a5056160e01b8152600401610b4c9190614c3a565b61158983836123f3565b8342111561161e5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610b4c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861166b8c6001600160a01b0316600090815260056020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006116c68261243f565b905060006116d68287878761248d565b9050896001600160a01b0316816001600160a01b0316146117395760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610b4c565b6117448a8a8a61198c565b50505050505050505050565b6060600061175c611ab1565b905080516001600160401b0381111561177757611777614f73565b6040519080825280602002602001820160405280156117a0578160200160208202803683370190505b50915060005b815181101561181c57604560008383815181106117c5576117c5614f89565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b039091169084908390811061180957611809614f89565b60209081029190910101526001016117a6565b505090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff160161187d5760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b17905561189b826124b5565b6118a582836124c3565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f6118da611ab1565b836040516118e99291906150c3565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254606090600119600160f81b90910460ff160161193c5760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b17905561195961276b565b5050611963611750565b9050600280546001600160f81b0316600160f81b17905590565b6001600160a01b03163b151590565b6001600160a01b0383166119ee5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b4c565b6001600160a01b038216611a4f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b4c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b604080516001808252818301909252606091602080830190803683370190505090507315b2fb8f08e4ac1ce019eadae02ee92aedf0685181600081518110610aff57610aff614f89565b6001600160a01b038316611b4757803414610c235760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610b4c565b8015610c2357610c236001600160a01b038416833084612a06565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603611ba5575081611bb2565b611baf8484612a71565b90505b611bbb81612a97565b5092915050565b6001600160a01b038216611c185760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610b4c565b611c2460008383612b54565b611c2d81612b66565b60028054600090611c489084906001600160f81b03166150e8565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b031681526020019081526020016000206000828254611ca09190615108565b90915550506040518181526001600160a01b038316906000906000805160206153e58339815191529060200160405180910390a35b5050565b6000611ce58484611821565b90506000198114611d4d5781811015611d405760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610b4c565b611d4d848484840361198c565b50505050565b6001600160a01b038316611db75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b4c565b6001600160a01b038216611e195760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b4c565b816001600160a01b0316836001600160a01b031603611e745760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b6044820152606401610b4c565b611e7f838383612b54565b6001600160a01b03831660009081526020819052604090205481811015611ef75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b4c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611f2e908490615108565b92505081905550826001600160a01b0316846001600160a01b03166000805160206153e583398151915284604051611f6891815260200190565b60405180910390a3611d4d565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611fce57507f000000000000000000000000000000000000000000000000000000000000000046145b15611ff857507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600060038211156120fd57508060006120b6600283615131565b6120c1906001615108565b90505b818110156120f7579050806002816120dc8186615131565b6120e69190615108565b6120f09190615131565b90506120c4565b50919050565b8115612107575060015b919050565b600080612121670de0b6b3a76400008561508f565b90508281816121325761213261511b565b04949350505050565b612143612b80565b6042805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161217d9190614c3a565b60405180910390a1565b6001600160a01b0382166121e75760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b4c565b6121f382600083612b54565b6001600160a01b038216600090815260208190526040902054818110156122675760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b4c565b6001600160a01b0383166000908152602081905260409020828203905561228d82612b66565b600280546000906122a89084906001600160f81b0316615153565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206153e583398151915284604051611aa491815260200190565b600061230b82612bc9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361234b575080612358565b6123558383612c55565b90505b611589838583612d11565b61236b612dd5565b6042805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586121703390565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036123e2575080610c3c565b6123ec8383612e1b565b9050610c3c565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603612435575080610c3c565b6123ec8383612f5f565b6000610c3c61244c611f75565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061249e87878787613146565b915091506124ab81613229565b5095945050505050565b6124c08160006133da565b50565b606060006124cf611ab1565b905080516001600160401b038111156124ea576124ea614f73565b604051908082528060200260200182016040528015612513578160200160208202803683370190505b50915060005b8151811015612763576043600083838151811061253857612538614f89565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b03168382815181106125b5576125b5614f89565b6020026020010181815250508281815181106125d3576125d3614f89565b6020026020010151600014612751576000604360008484815181106125fa576125fa614f89565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b0316021790555061268e83828151811061268157612681614f89565b602002602001015161345a565b604560008484815181106126a4576126a4614f89565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b03166126f09190615173565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061275182828151811061272957612729614f89565b60200260200101518585848151811061274457612744614f89565b6020026020010151612d11565b8061275b81614fea565b915050612519565b505092915050565b606080612776611ab1565b915081516001600160401b0381111561279157612791614f73565b6040519080825280602002602001820160405280156127ba578160200160208202803683370190505b50905081516000036127ca579091565b436044541461297e574360445560006127e1613470565b90506127eb61347a565b60005b835181101561297b57600084828151811061280b5761280b614f89565b6020908102919091018101516001600160a01b0381166000908152604590925260408220548751919350600160801b90046001600160801b0316906128699088908690811061285c5761285c614f89565b6020026020010151613482565b6128739190615193565b6001600160a01b0383166000908152604560205260408120549192506001600160801b03909116908190036128a6575060015b84156128c3576128b6828661210c565b6128c09082615108565b90505b6128cc8161345a565b6001600160a01b038416600090815260456020526040902080546001600160801b0319166001600160801b039290921691909117905561290b8261345a565b6001600160a01b03841660009081526045602052604090208054601090612943908490600160801b90046001600160801b03166151a6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050508061297490614fea565b90506127ee565b50505b60005b8251811015612a0157604560008483815181106129a0576129a0614f89565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b03909116908390839081106129e4576129e4614f89565b6020908102919091010152806129f981614fea565b915050612981565b509091565b6040516001600160a01b0380851660248301528316604482015260648101829052611d4d9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261350c565b6000806000612a8085856135de565b91509150612a8e82826137d3565b95945050505050565b60008111612aa757612aa76151c6565b612aaf6138dd565b6006546000612abd836139fe565b90506000198203612acf576006555050565b60405163a4ce79e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4ce79e190612b1d908490869060040161503a565b600060405180830381600087803b158015612b3757600080fd5b505af1158015612b4b573d6000803e3d6000fd5b50505050505050565b612b5c612dd5565b610c2383836133da565b60006001600160f81b03821115612b7c57600080fd5b5090565b60425460ff166110fd5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610b4c565b60008111612bd957612bd96151c6565b612be16138dd565b60005b6006811015611cd557600080612c0e60068460068110612c0657612c06614f89565b015485613a8c565b915091508060068460068110612c2657612c26614f89565b0155612c328285615193565b935083600003612c425750505050565b505080612c4e90614fea565b9050612be4565b6000806000612c6384613bf0565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603612cdd57612cca7f000000000000000000000000000000000000000000000000000000000000000082613cfa565b612cd49083615108565b92505050610c3c565b612d077f000000000000000000000000000000000000000000000000000000000000000083613cfa565b612cd49082615108565b80600003612d1e57505050565b6001600160a01b038316612dc1576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612d79576040519150601f19603f3d011682016040523d82523d6000602084013e612d7e565b606091505b5050905080611d4d5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610b4c565b610c236001600160a01b0384168383613edf565b60425460ff16156110fd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b4c565b600080612e26613f0f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316149050600081612e8057612e7b858460200151856040015161404e565b612e93565b612e93858460000151856040015161404e565b90506000612ea5828560400151614140565b90506000612ebd828987600001518860200151614163565b90506000808515612f095783612ed16141c4565b612edb9190615108565b875282612ee6614274565b612ef09190615193565b6020880152612eff858a615193565b9150829050612f46565b82612f126141c4565b612f1c9190615193565b875283612f27614274565b612f319190615108565b6020880152829150612f43858a615193565b90505b612f518783836142e3565b9a9950505050505050505050565b600080612f6a613f0f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ff09190615076565b9050612ffa6141c4565b8252613004614274565b60208301528151600090829061301b90879061508f565b6130259190615131565b905060008286856020015161303a919061508f565b6130449190615131565b905081846000018181516130589190615193565b90525060208401805182919061306f908390615193565b9052506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908816036130fb576130e66130b6828660400151614140565b7f000000000000000000000000000000000000000000000000000000000000000086600001518760200151614163565b6130f09083615108565b945050505050610c3c565b61313c61310c838660400151614140565b7f000000000000000000000000000000000000000000000000000000000000000086600001518760200151614163565b6130f09082615108565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156131735750600090506003613220565b8460ff16601b1415801561318b57508460ff16601c14155b1561319c5750600090506004613220565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156131f0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661321957600060019250925050613220565b9150600090505b94509492505050565b600081600481111561323d5761323d614e6b565b036132455750565b600181600481111561325957613259614e6b565b036132a15760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610b4c565b60028160048111156132b5576132b5614e6b565b036133025760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610b4c565b600381600481111561331657613316614e6b565b0361336e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610b4c565b600481600481111561338257613382614e6b565b036124c05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610b4c565b6000806133e561276b565b9150915081516000036133f85750505050565b6001600160a01b0384161580159061341957506001600160a01b0384163014155b15613429576134298483836143df565b6001600160a01b0383161580159061344a57506001600160a01b0383163014155b15611d4d57611d4d8383836143df565b60006001600160801b03821115612b7c57600080fd5b6000610f90610d99565b6110fd61465f565b60006001600160a01b03821615613505576040516370a0823160e01b81526001600160a01b038316906370a08231906134bf903090600401614c3a565b602060405180830381865afa1580156134dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135009190615076565b610c3c565b4792915050565b6000613561826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166147199092919063ffffffff16565b805190915015610c23578080602001905181019061357f91906151dc565b610c235760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b4c565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136669190615048565b50604051632895a2f560e11b81526000600482018190529294509092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063512b45ea90602401602060405180830381865afa1580156136d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f89190615076565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b03160361378057600061374087858461404e565b905061374c8188615193565b95506137787f000000000000000000000000000000000000000000000000000000000000000082613cfa565b9450506137c9565b600061378d87848461404e565b90506137b97f000000000000000000000000000000000000000000000000000000000000000082613cfa565b95506137c58188615193565b9450505b5050509250929050565b604051635a47ddc360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152600060448301819052606483018590526084830184905260a4830181905260c483018190523060e484015242610104840152917f000000000000000000000000000000000000000000000000000000000000000090911690635a47ddc390610124016060604051808303816000875af11580156138b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a8e9190615048565b60006138ec62093a8042615131565b9050600c5481036138fa5750565b600061390860026006615193565b90505b60006006826006811061392057613920614f89565b01549050600019810361393357506139ee565b60405163327d177d60e01b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063327d177d90602401602060405180830381865afa15801561399b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139bf9190615076565b90508281146139eb576139d28382614730565b600019600684600681106139e8576139e8614f89565b01555b50505b6139f7816151f9565b905061390b565b60405163b6b55f2560e01b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024016020604051808303816000875af1158015613a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190615076565b6000806000198403613aa357506000905080613be9565b6040516377e9934960e11b8152600481018590526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063efd3269290602401602060405180830381865afa158015613b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b2f9190615076565b9050613b3b8185614836565b9250600082851015613b6457613b5b8686613b568186615193565b61484c565b93509050613b6c565b506000199150845b604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015613bce57600080fd5b505af1158015613be2573d6000803e3d6000fd5b5050505050505b9250929050565b60405163037b79b160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152600060448301819052606483018490526084830181905260a483018190523060c48401524260e48401529182917f00000000000000000000000000000000000000000000000000000000000000001690630dede6c4906101040160408051808303816000875af1158015613ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cf19190615210565b91509150915091565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614613d5c577f0000000000000000000000000000000000000000000000000000000000000000613d7e565b7f00000000000000000000000000000000000000000000000000000000000000005b60408051600180825281830190925291925060009190816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181613d995790505090506040518060600160405280866001600160a01b03168152602001836001600160a01b031681526020016000151581525081600081518110613e0b57613e0b614f89565b60200260200101819052506000613e2183613482565b604051631e82ecdb60e31b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f41766d890613e79908890600090879030904290600401615234565b6000604051808303816000875af1158015613e98573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613ec091908101906152c9565b5080613ecb84613482565b613ed59190615193565b9695505050505050565b6040516001600160a01b038316602482015260448101829052610c2390849063a9059cbb60e01b90606401612a3a565b613f3360405180606001604052806000815260200160008152602001600081525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fb59190615048565b5060208301528152604051632895a2f560e11b8152600060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063512b45ea90602401602060405180830381865afa158015614022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140469190615076565b604082015290565b600080838561407385614064612710600161508f565b61406e9190615193565b614950565b614080612710600461508f565b61408a919061508f565b614094919061508f565b61409e919061508f565b6140c485856140b0612710600261508f565b6140ba9190615193565b61406e919061508f565b6140ce9190615108565b90506000836140e0612710600261508f565b6140ea9190615193565b6140f4908661508f565b9050600061410985614064612710600161508f565b61411490600261508f565b905080826141218561209c565b61412b9190615193565b6141359190615131565b979650505050505050565b600061271061414f8382615193565b614159908561508f565b6115899190615131565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b0316146141a85783856141ab565b84845b90925090506141ba8783615108565b61412b828961508f565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190614233907f000000000000000000000000000000000000000000000000000000000000000090600401614c3a565b602060405180830381865afa158015614250573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f909190615076565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190614233907f000000000000000000000000000000000000000000000000000000000000000090600401614c3a565b6000806142f9848660000151876020015161495c565b905082811161430a57809250614320565b61431d838660200151876000015161495c565b93505b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a49190615076565b8651909150613ed5906143b7838861508f565b6143c19190615131565b60208801516143d0848861508f565b6143da9190615131565b614836565b6001600160a01b0383161580159061440057506001600160a01b0383163014155b61440c5761440c6151c6565b600061441784614973565b905060005b835181101561465857600084828151811061443957614439614f89565b60200260200101519050600084838151811061445757614457614f89565b6020908102919091018101516001600160a01b038085166000908152604384526040808220928c168252919093528220549092506001600160801b0316908190036144f3576144a58261345a565b6001600160a01b039384166000908152604360209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b0390941693909317909255506146489050565b81810361450257505050614648565b600061450e8284615193565b9050600061451c878361497e565b6001600160a01b038681166000908152604360209081526040808320938f1683529290529081205491925090614563908390600160801b90046001600160801b0316615108565b905060405180604001604052806145798761345a565b6001600160801b031681526020016145908361345a565b6001600160801b031681525060436000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b61465181614fea565b905061441c565b5050505050565b60005b60068110156124c05760006006826006811061468057614680614f89565b01549050600019811461470857604051631c4b774b60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631c4b774b90602401600060405180830381600087803b1580156146ef57600080fd5b505af1158015614703573d6000803e3d6000fd5b505050505b5061471281614fea565b9050614662565b6060614728848460008561499c565b949350505050565b60006006836006811061474557614745614f89565b01549050600019830361475a5761475a6151c6565b60006006836006811061476f5761476f614f89565b01549050600019810361479757816006846006811061479057614790614f89565b0155614818565b60405163a4ce79e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4ce79e1906147e5908590859060040161503a565b600060405180830381600087803b1580156147ff57600080fd5b505af1158015614813573d6000803e3d6000fd5b505050505b6000196006856006811061482e5761482e614f89565b015550505050565b60008183106148455781611589565b5090919050565b604080516002808252606082018352600092839283929091602083019080368337019050509050848160008151811061488757614887614f89565b60200260200101818152505083816001815181106148a7576148a7614f89565b60209081029190910101526000600d556040516349b8978f60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906393712f1e906149059084908a90600401615386565b600060405180830381600087803b15801561491f57600080fd5b505af1158015614933573d6000803e3d6000fd5b5050600019600d555050600e54600f549097909650945050505050565b6000610c3c828061508f565b600082614969838661508f565b6147289190615131565b6000610c3c826111ab565b60008061498b838561508f565b9050670de0b6b3a764000081612132565b6060824710156149fd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610b4c565b614a068561197d565b614a525760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b4c565b600080866001600160a01b03168587604051614a6e91906153a8565b60006040518083038185875af1925050503d8060008114614aab576040519150601f19603f3d011682016040523d82523d6000602084013e614ab0565b606091505b509150915061413582828660608315614aca575081611589565b825115614ada5782518084602001fd5b8160405162461bcd60e51b8152600401610b4c9190614b18565b60005b83811015614b0f578181015183820152602001614af7565b50506000910152565b6020815260008251806020840152614b37816040850160208701614af4565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b83811015614b845781516001600160a01b031687529582019590820190600101614b5f565b509495945050505050565b6020815260006115896020830184614b4b565b80356001600160a01b038116811461210757600080fd5b80151581146124c057600080fd5b600080600060608486031215614bdc57600080fd5b614be584614ba2565b92506020840135614bf581614bb9565b91506040840135614c0581614bb9565b809150509250925092565b60008060408385031215614c2357600080fd5b614c2c83614ba2565b946020939093013593505050565b6001600160a01b0391909116815260200190565b600060208284031215614c6057600080fd5b61158982614ba2565b600081518084526020808501945080840160005b83811015614b8457815187529582019590820190600101614c7d565b6020815260006115896020830184614c69565b600080600080600060808688031215614cc457600080fd5b614ccd86614ba2565b9450614cdb60208701614ba2565b93506040860135925060608601356001600160401b0380821115614cfe57600080fd5b818801915088601f830112614d1257600080fd5b813581811115614d2157600080fd5b896020828501011115614d3357600080fd5b9699959850939650602001949392505050565b60008060008060808587031215614d5c57600080fd5b614d6585614ba2565b9350614d7360208601614ba2565b93969395505050506040820135916060013590565b600080600060608486031215614d9d57600080fd5b614da684614ba2565b9250614db460208501614ba2565b9150604084013590509250925092565b600060208284031215614dd657600080fd5b5035919050565b60008060408385031215614df057600080fd5b614df983614ba2565b9150614e0760208401614ba2565b90509250929050565b600080600080600060a08688031215614e2857600080fd5b614e3186614ba2565b945060208601359350614e4660408701614ba2565b9250606086013591506080860135614e5d81614bb9565b809150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6060810160028510614ea357634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60ff811681146124c057600080fd5b600080600080600080600060e0888a031215614eed57600080fd5b614ef688614ba2565b9650614f0460208901614ba2565b955060408801359450606088013593506080880135614f2281614ec3565b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680614f5357607f821691505b6020821081036120f757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060018201614ffc57614ffc614fd4565b5060010190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b60008060006060848603121561505d57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561508857600080fd5b5051919050565b8082028115828204841417610c3c57610c3c614fd4565b6000602082840312156150b857600080fd5b815161158981614ec3565b6040815260006150d66040830185614b4b565b8281036020840152612a8e8185614c69565b6001600160f81b03818116838216019080821115611bbb57611bbb614fd4565b80820180821115610c3c57610c3c614fd4565b634e487b7160e01b600052601260045260246000fd5b60008261514e57634e487b7160e01b600052601260045260246000fd5b500490565b6001600160f81b03828116828216039080821115611bbb57611bbb614fd4565b6001600160801b03828116828216039080821115611bbb57611bbb614fd4565b81810381811115610c3c57610c3c614fd4565b6001600160801b03818116838216019080821115611bbb57611bbb614fd4565b634e487b7160e01b600052600160045260246000fd5b6000602082840312156151ee57600080fd5b815161158981614bb9565b60008161520857615208614fd4565b506000190190565b6000806040838503121561522357600080fd5b505080516020909101519092909150565b600060a0820187835260208781850152604060a08186015282885180855260c087019150838a01945060005b8181101561529d57855180516001600160a01b03908116855286820151168685015284015115158484015294840194606090920191600101615260565b50506001600160a01b038816606087015293506152b992505050565b8260808301529695505050505050565b600060208083850312156152dc57600080fd5b82516001600160401b03808211156152f357600080fd5b818501915085601f83011261530757600080fd5b81518181111561531957615319614f73565b8060051b604051601f19603f8301168101818110858211171561533e5761533e614f73565b60405291825284820192508381018501918883111561535c57600080fd5b938501935b8285101561537a57845184529385019392850192615361565b98975050505050505050565b6040815260006153996040830185614c69565b90508260208301529392505050565b600082516153ba818460208701614af4565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205bc1afdc61d58968f3c512010efe8fb5c2d550e8b7c7af815d600f72d6c11ebe64736f6c63430008110033",
1235
- "deployedBytecode": "0x6080604052600436106102535760003560e01c806303da28a41461025f57806305cc075b1461028757806306fdde031461029d578063071bc3c9146102bf578063078dfbe7146102e1578063095ea7b3146103035780630dfe168114610333578063128fced114610374578063150b7a02146103a157806318160ddd146103da57806320e8c565146103ef578063213cae63146102bf57806323b872dd14610402578063265aa62114610422578063313ce5671461044257806333d891fd146104885780633644e515146104bc5780633ba0b9a9146104d15780633f4ba83a146104e65780634e71e0c8146104fb5780635c975abb146105105780635cbadbe41461052857806370a0823114610594578063769f8e5d146105b457806376d5de85146105d4578063773fe9c714610608578063784367d6146106305780637ecebe00146106505780638456cb59146106705780638da5cb5b1461068557806395d89b41146106a55780639d2a679f14610287578063a40bee50146106ba578063a8aa1b31146106de578063a9059cbb14610712578063a9f8d18114610732578063b8f82b2614610748578063c45a015514610768578063c4f59f9b1461079c578063cbe52ae3146107b1578063cf2d3f99146107d1578063d21220a714610805578063d505accf14610839578063da88ecb414610859578063dd62ed3e1461086e578063e30c39781461088e578063ea64a820146108ae578063ef5cfb8c146108ef578063f4359ce51461090f578063f887ea4014610926578063f8b2f9911461095a578063fa5a4f061461063057600080fd5b3661025a57005b600080fd5b34801561026b57600080fd5b50610274600681565b6040519081526020015b60405180910390f35b34801561029357600080fd5b5061027460001981565b3480156102a957600080fd5b506102b261096f565b60405161027e9190614b18565b3480156102cb57600080fd5b506102d4610a01565b60405161027e9190614b8f565b3480156102ed57600080fd5b506103016102fc366004614bc7565b610b22565b005b34801561030f57600080fd5b5061032361031e366004614c10565b610c28565b604051901515815260200161027e565b34801561033f57600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b60405161027e9190614c3a565b34801561038057600080fd5b5061039461038f366004614c4e565b610c42565b60405161027e9190614c99565b3480156103ad57600080fd5b506103c16103bc366004614cac565b610d4e565b6040516001600160e01b0319909116815260200161027e565b3480156103e657600080fd5b50610274610d99565b6102746103fd366004614d46565b610da8565b34801561040e57600080fd5b5061032361041d366004614d88565b610ef1565b34801561042e57600080fd5b5061027461043d366004614dc4565b610f6f565b34801561044e57600080fd5b506104767f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161027e565b34801561049457600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c857600080fd5b50610274610f86565b3480156104dd57600080fd5b50610274610f95565b3480156104f257600080fd5b506103016110cb565b34801561050757600080fd5b506103016110ff565b34801561051c57600080fd5b5060425460ff16610323565b34801561053457600080fd5b50610574610543366004614ddd565b60436020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b0393841681529290911660208301520161027e565b3480156105a057600080fd5b506102746105af366004614c4e565b6111ab565b3480156105c057600080fd5b506102746105cf366004614e10565b6111c6565b3480156105e057600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561061457600080fd5b506103677315b2fb8f08e4ac1ce019eadae02ee92aedf0685181565b34801561063c57600080fd5b5061032361064b366004614c4e565b61131b565b34801561065c57600080fd5b5061027461066b366004614c4e565b6113cf565b34801561067c57600080fd5b506103016113ed565b34801561069157600080fd5b50601054610367906001600160a01b031681565b3480156106b157600080fd5b506102b261141f565b3480156106c657600080fd5b506106cf61142e565b60405161027e93929190614e81565b3480156106ea57600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561071e57600080fd5b5061032361072d366004614c10565b6114e3565b34801561073e57600080fd5b5061027460445481565b34801561075457600080fd5b50610274610763366004614c10565b611555565b34801561077457600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b3480156107a857600080fd5b506102d4611590565b3480156107bd57600080fd5b506102746107cc366004614c10565b61159a565b3480156107dd57600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561081157600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561084557600080fd5b50610301610854366004614ed2565b6115ce565b34801561086557600080fd5b50610394611750565b34801561087a57600080fd5b50610274610889366004614ddd565b611821565b34801561089a57600080fd5b50601154610367906001600160a01b031681565b3480156108ba57600080fd5b506105746108c9366004614c4e565b6045602052600090815260409020546001600160801b0380821691600160801b90041682565b3480156108fb57600080fd5b5061039461090a366004614c4e565b61184c565b34801561091b57600080fd5b5061027462093a8081565b34801561093257600080fd5b506103677f000000000000000000000000000000000000000000000000000000000000000081565b34801561096657600080fd5b5061039461190b565b60606003805461097e90614f3f565b80601f01602080910402602001604051908101604052809291908181526020018280546109aa90614f3f565b80156109f75780601f106109cc576101008083540402835291602001916109f7565b820191906000526020600020905b8154815290600101906020018083116109da57829003601f168201915b5050505050905090565b604080516003808252608082019092526060916020820183803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610a5757610a57614f89565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610aab57610aab614f89565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600281518110610aff57610aff614f89565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6010546001600160a01b03163314610b555760405162461bcd60e51b8152600401610b4c90614f9f565b60405180910390fd5b8115610c07576001600160a01b038316151580610b6f5750805b610bb35760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610b4c565b6010546040516001600160a01b038086169216906000805160206153c583398151915290600090a3601080546001600160a01b0385166001600160a01b031991821617909155601180549091169055505050565b601180546001600160a01b0319166001600160a01b0385161790555b505050565b600033610c3681858561198c565b60019150505b92915050565b60606000610c4e611ab1565b905080516001600160401b03811115610c6957610c69614f73565b604051908082528060200260200182016040528015610c92578160200160208202803683370190505b50915060005b8151811015610d475760436000838381518110610cb757610cb7614f89565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000856001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110610d3457610d34614f89565b6020908102919091010152600101610c98565b5050919050565b6000600019600d5414610d8757600d80548591600e91906000610d7083614fea565b9190505560028110610d8457610d84614f89565b01555b50630a85bd0160e11b95945050505050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff1601610dd95760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b179055610df78461131b565b610e1657836040516315d57ce360e31b8152600401610b4c9190614c3a565b82600003610e3757604051630a907f2f60e41b815260040160405180910390fd5b610e42843385611afb565b610e4c8484611b62565b905081811015610e73578082604051635e38f95d60e11b8152600401610b4c92919061503a565b610e7d8582611bc2565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610ecc92919061503a565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610f225760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b17905533610f43858285611cd9565b610f4e858585611d53565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b60068160068110610f7f57600080fd5b0154905081565b6000610f90611f75565b905090565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101c9190615048565b509150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a59190615076565b90506110c3816110bd6110b8858761508f565b61209c565b9061210c565b935050505090565b6010546001600160a01b031633146110f55760405162461bcd60e51b8152600401610b4c90614f9f565b6110fd61213b565b565b6011546001600160a01b031633811461115a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610b4c565b6010546040516001600160a01b038084169216906000805160206153c583398151915290600090a3601080546001600160a01b039092166001600160a01b0319928316179055601180549091169055565b6001600160a01b031660009081526020819052604090205490565b600254600090600119600160f81b90910460ff16016111f75760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b1790556112158461131b565b61123457836040516388a5056160e01b8152600401610b4c9190614c3a565b846000036112555760405163c3d83b0760e01b815260040160405180910390fd5b811561126a576112653086612187565b611274565b6112743386612187565b61127f868587612300565b9050828110156112a65780836040516305ff726560e51b8152600401610b4c92919061503a565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c88856040516112f592919061503a565b60405180910390a4600280546001600160f81b0316600160f81b17905595945050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061138e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610c3c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b038116600090815260056020526040812054610c3c565b6010546001600160a01b031633146114175760405162461bcd60e51b8152600401610b4c90614f9f565b6110fd612363565b60606004805461097e90614f3f565b600080600060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d891906150a6565b925092509250909192565b600254600090600119600160f81b90910460ff16016115145760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b17905533611535818585611d53565b6001915050600280546001600160f81b0316600160f81b17905592915050565b60006115608361131b565b61157f57826040516315d57ce360e31b8152600401610b4c9190614c3a565b61158983836123a0565b9392505050565b6060610f90611ab1565b60006115a58361131b565b6115c457826040516388a5056160e01b8152600401610b4c9190614c3a565b61158983836123f3565b8342111561161e5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610b4c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861166b8c6001600160a01b0316600090815260056020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006116c68261243f565b905060006116d68287878761248d565b9050896001600160a01b0316816001600160a01b0316146117395760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610b4c565b6117448a8a8a61198c565b50505050505050505050565b6060600061175c611ab1565b905080516001600160401b0381111561177757611777614f73565b6040519080825280602002602001820160405280156117a0578160200160208202803683370190505b50915060005b815181101561181c57604560008383815181106117c5576117c5614f89565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b039091169084908390811061180957611809614f89565b60209081029190910101526001016117a6565b505090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff160161187d5760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b17905561189b826124b5565b6118a582836124c3565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f6118da611ab1565b836040516118e99291906150c3565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254606090600119600160f81b90910460ff160161193c5760405162461bcd60e51b8152600401610b4c90615003565b600280546001600160f81b0316600160f91b17905561195961276b565b5050611963611750565b9050600280546001600160f81b0316600160f81b17905590565b6001600160a01b03163b151590565b6001600160a01b0383166119ee5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b4c565b6001600160a01b038216611a4f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b4c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b604080516001808252818301909252606091602080830190803683370190505090507315b2fb8f08e4ac1ce019eadae02ee92aedf0685181600081518110610aff57610aff614f89565b6001600160a01b038316611b4757803414610c235760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610b4c565b8015610c2357610c236001600160a01b038416833084612a06565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603611ba5575081611bb2565b611baf8484612a71565b90505b611bbb81612a97565b5092915050565b6001600160a01b038216611c185760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610b4c565b611c2460008383612b54565b611c2d81612b66565b60028054600090611c489084906001600160f81b03166150e8565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b031681526020019081526020016000206000828254611ca09190615108565b90915550506040518181526001600160a01b038316906000906000805160206153e58339815191529060200160405180910390a35b5050565b6000611ce58484611821565b90506000198114611d4d5781811015611d405760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610b4c565b611d4d848484840361198c565b50505050565b6001600160a01b038316611db75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b4c565b6001600160a01b038216611e195760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b4c565b816001600160a01b0316836001600160a01b031603611e745760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b6044820152606401610b4c565b611e7f838383612b54565b6001600160a01b03831660009081526020819052604090205481811015611ef75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b4c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611f2e908490615108565b92505081905550826001600160a01b0316846001600160a01b03166000805160206153e583398151915284604051611f6891815260200190565b60405180910390a3611d4d565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611fce57507f000000000000000000000000000000000000000000000000000000000000000046145b15611ff857507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600060038211156120fd57508060006120b6600283615131565b6120c1906001615108565b90505b818110156120f7579050806002816120dc8186615131565b6120e69190615108565b6120f09190615131565b90506120c4565b50919050565b8115612107575060015b919050565b600080612121670de0b6b3a76400008561508f565b90508281816121325761213261511b565b04949350505050565b612143612b80565b6042805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161217d9190614c3a565b60405180910390a1565b6001600160a01b0382166121e75760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b4c565b6121f382600083612b54565b6001600160a01b038216600090815260208190526040902054818110156122675760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b4c565b6001600160a01b0383166000908152602081905260409020828203905561228d82612b66565b600280546000906122a89084906001600160f81b0316615153565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206153e583398151915284604051611aa491815260200190565b600061230b82612bc9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361234b575080612358565b6123558383612c55565b90505b611589838583612d11565b61236b612dd5565b6042805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586121703390565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036123e2575080610c3c565b6123ec8383612e1b565b9050610c3c565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603612435575080610c3c565b6123ec8383612f5f565b6000610c3c61244c611f75565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061249e87878787613146565b915091506124ab81613229565b5095945050505050565b6124c08160006133da565b50565b606060006124cf611ab1565b905080516001600160401b038111156124ea576124ea614f73565b604051908082528060200260200182016040528015612513578160200160208202803683370190505b50915060005b8151811015612763576043600083838151811061253857612538614f89565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b03168382815181106125b5576125b5614f89565b6020026020010181815250508281815181106125d3576125d3614f89565b6020026020010151600014612751576000604360008484815181106125fa576125fa614f89565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b0316021790555061268e83828151811061268157612681614f89565b602002602001015161345a565b604560008484815181106126a4576126a4614f89565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b03166126f09190615173565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061275182828151811061272957612729614f89565b60200260200101518585848151811061274457612744614f89565b6020026020010151612d11565b8061275b81614fea565b915050612519565b505092915050565b606080612776611ab1565b915081516001600160401b0381111561279157612791614f73565b6040519080825280602002602001820160405280156127ba578160200160208202803683370190505b50905081516000036127ca579091565b436044541461297e574360445560006127e1613470565b90506127eb61347a565b60005b835181101561297b57600084828151811061280b5761280b614f89565b6020908102919091018101516001600160a01b0381166000908152604590925260408220548751919350600160801b90046001600160801b0316906128699088908690811061285c5761285c614f89565b6020026020010151613482565b6128739190615193565b6001600160a01b0383166000908152604560205260408120549192506001600160801b03909116908190036128a6575060015b84156128c3576128b6828661210c565b6128c09082615108565b90505b6128cc8161345a565b6001600160a01b038416600090815260456020526040902080546001600160801b0319166001600160801b039290921691909117905561290b8261345a565b6001600160a01b03841660009081526045602052604090208054601090612943908490600160801b90046001600160801b03166151a6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050508061297490614fea565b90506127ee565b50505b60005b8251811015612a0157604560008483815181106129a0576129a0614f89565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b03909116908390839081106129e4576129e4614f89565b6020908102919091010152806129f981614fea565b915050612981565b509091565b6040516001600160a01b0380851660248301528316604482015260648101829052611d4d9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261350c565b6000806000612a8085856135de565b91509150612a8e82826137d3565b95945050505050565b60008111612aa757612aa76151c6565b612aaf6138dd565b6006546000612abd836139fe565b90506000198203612acf576006555050565b60405163a4ce79e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4ce79e190612b1d908490869060040161503a565b600060405180830381600087803b158015612b3757600080fd5b505af1158015612b4b573d6000803e3d6000fd5b50505050505050565b612b5c612dd5565b610c2383836133da565b60006001600160f81b03821115612b7c57600080fd5b5090565b60425460ff166110fd5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610b4c565b60008111612bd957612bd96151c6565b612be16138dd565b60005b6006811015611cd557600080612c0e60068460068110612c0657612c06614f89565b015485613a8c565b915091508060068460068110612c2657612c26614f89565b0155612c328285615193565b935083600003612c425750505050565b505080612c4e90614fea565b9050612be4565b6000806000612c6384613bf0565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603612cdd57612cca7f000000000000000000000000000000000000000000000000000000000000000082613cfa565b612cd49083615108565b92505050610c3c565b612d077f000000000000000000000000000000000000000000000000000000000000000083613cfa565b612cd49082615108565b80600003612d1e57505050565b6001600160a01b038316612dc1576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612d79576040519150601f19603f3d011682016040523d82523d6000602084013e612d7e565b606091505b5050905080611d4d5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610b4c565b610c236001600160a01b0384168383613edf565b60425460ff16156110fd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b4c565b600080612e26613f0f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316149050600081612e8057612e7b858460200151856040015161404e565b612e93565b612e93858460000151856040015161404e565b90506000612ea5828560400151614140565b90506000612ebd828987600001518860200151614163565b90506000808515612f095783612ed16141c4565b612edb9190615108565b875282612ee6614274565b612ef09190615193565b6020880152612eff858a615193565b9150829050612f46565b82612f126141c4565b612f1c9190615193565b875283612f27614274565b612f319190615108565b6020880152829150612f43858a615193565b90505b612f518783836142e3565b9a9950505050505050505050565b600080612f6a613f0f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ff09190615076565b9050612ffa6141c4565b8252613004614274565b60208301528151600090829061301b90879061508f565b6130259190615131565b905060008286856020015161303a919061508f565b6130449190615131565b905081846000018181516130589190615193565b90525060208401805182919061306f908390615193565b9052506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908816036130fb576130e66130b6828660400151614140565b7f000000000000000000000000000000000000000000000000000000000000000086600001518760200151614163565b6130f09083615108565b945050505050610c3c565b61313c61310c838660400151614140565b7f000000000000000000000000000000000000000000000000000000000000000086600001518760200151614163565b6130f09082615108565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156131735750600090506003613220565b8460ff16601b1415801561318b57508460ff16601c14155b1561319c5750600090506004613220565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156131f0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661321957600060019250925050613220565b9150600090505b94509492505050565b600081600481111561323d5761323d614e6b565b036132455750565b600181600481111561325957613259614e6b565b036132a15760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610b4c565b60028160048111156132b5576132b5614e6b565b036133025760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610b4c565b600381600481111561331657613316614e6b565b0361336e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610b4c565b600481600481111561338257613382614e6b565b036124c05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610b4c565b6000806133e561276b565b9150915081516000036133f85750505050565b6001600160a01b0384161580159061341957506001600160a01b0384163014155b15613429576134298483836143df565b6001600160a01b0383161580159061344a57506001600160a01b0383163014155b15611d4d57611d4d8383836143df565b60006001600160801b03821115612b7c57600080fd5b6000610f90610d99565b6110fd61465f565b60006001600160a01b03821615613505576040516370a0823160e01b81526001600160a01b038316906370a08231906134bf903090600401614c3a565b602060405180830381865afa1580156134dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135009190615076565b610c3c565b4792915050565b6000613561826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166147199092919063ffffffff16565b805190915015610c23578080602001905181019061357f91906151dc565b610c235760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b4c565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136669190615048565b50604051632895a2f560e11b81526000600482018190529294509092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063512b45ea90602401602060405180830381865afa1580156136d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f89190615076565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b03160361378057600061374087858461404e565b905061374c8188615193565b95506137787f000000000000000000000000000000000000000000000000000000000000000082613cfa565b9450506137c9565b600061378d87848461404e565b90506137b97f000000000000000000000000000000000000000000000000000000000000000082613cfa565b95506137c58188615193565b9450505b5050509250929050565b604051635a47ddc360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152600060448301819052606483018590526084830184905260a4830181905260c483018190523060e484015242610104840152917f000000000000000000000000000000000000000000000000000000000000000090911690635a47ddc390610124016060604051808303816000875af11580156138b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a8e9190615048565b60006138ec62093a8042615131565b9050600c5481036138fa5750565b600061390860026006615193565b90505b60006006826006811061392057613920614f89565b01549050600019810361393357506139ee565b60405163327d177d60e01b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063327d177d90602401602060405180830381865afa15801561399b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139bf9190615076565b90508281146139eb576139d28382614730565b600019600684600681106139e8576139e8614f89565b01555b50505b6139f7816151f9565b905061390b565b60405163b6b55f2560e01b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024016020604051808303816000875af1158015613a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190615076565b6000806000198403613aa357506000905080613be9565b6040516377e9934960e11b8152600481018590526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063efd3269290602401602060405180830381865afa158015613b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b2f9190615076565b9050613b3b8185614836565b9250600082851015613b6457613b5b8686613b568186615193565b61484c565b93509050613b6c565b506000199150845b604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015613bce57600080fd5b505af1158015613be2573d6000803e3d6000fd5b5050505050505b9250929050565b60405163037b79b160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152600060448301819052606483018490526084830181905260a483018190523060c48401524260e48401529182917f00000000000000000000000000000000000000000000000000000000000000001690630dede6c4906101040160408051808303816000875af1158015613ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cf19190615210565b91509150915091565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614613d5c577f0000000000000000000000000000000000000000000000000000000000000000613d7e565b7f00000000000000000000000000000000000000000000000000000000000000005b60408051600180825281830190925291925060009190816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181613d995790505090506040518060600160405280866001600160a01b03168152602001836001600160a01b031681526020016000151581525081600081518110613e0b57613e0b614f89565b60200260200101819052506000613e2183613482565b604051631e82ecdb60e31b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f41766d890613e79908890600090879030904290600401615234565b6000604051808303816000875af1158015613e98573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613ec091908101906152c9565b5080613ecb84613482565b613ed59190615193565b9695505050505050565b6040516001600160a01b038316602482015260448101829052610c2390849063a9059cbb60e01b90606401612a3a565b613f3360405180606001604052806000815260200160008152602001600081525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fb59190615048565b5060208301528152604051632895a2f560e11b8152600060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063512b45ea90602401602060405180830381865afa158015614022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140469190615076565b604082015290565b600080838561407385614064612710600161508f565b61406e9190615193565b614950565b614080612710600461508f565b61408a919061508f565b614094919061508f565b61409e919061508f565b6140c485856140b0612710600261508f565b6140ba9190615193565b61406e919061508f565b6140ce9190615108565b90506000836140e0612710600261508f565b6140ea9190615193565b6140f4908661508f565b9050600061410985614064612710600161508f565b61411490600261508f565b905080826141218561209c565b61412b9190615193565b6141359190615131565b979650505050505050565b600061271061414f8382615193565b614159908561508f565b6115899190615131565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b0316146141a85783856141ab565b84845b90925090506141ba8783615108565b61412b828961508f565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190614233907f000000000000000000000000000000000000000000000000000000000000000090600401614c3a565b602060405180830381865afa158015614250573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f909190615076565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190614233907f000000000000000000000000000000000000000000000000000000000000000090600401614c3a565b6000806142f9848660000151876020015161495c565b905082811161430a57809250614320565b61431d838660200151876000015161495c565b93505b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a49190615076565b8651909150613ed5906143b7838861508f565b6143c19190615131565b60208801516143d0848861508f565b6143da9190615131565b614836565b6001600160a01b0383161580159061440057506001600160a01b0383163014155b61440c5761440c6151c6565b600061441784614973565b905060005b835181101561465857600084828151811061443957614439614f89565b60200260200101519050600084838151811061445757614457614f89565b6020908102919091018101516001600160a01b038085166000908152604384526040808220928c168252919093528220549092506001600160801b0316908190036144f3576144a58261345a565b6001600160a01b039384166000908152604360209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b0390941693909317909255506146489050565b81810361450257505050614648565b600061450e8284615193565b9050600061451c878361497e565b6001600160a01b038681166000908152604360209081526040808320938f1683529290529081205491925090614563908390600160801b90046001600160801b0316615108565b905060405180604001604052806145798761345a565b6001600160801b031681526020016145908361345a565b6001600160801b031681525060436000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b61465181614fea565b905061441c565b5050505050565b60005b60068110156124c05760006006826006811061468057614680614f89565b01549050600019811461470857604051631c4b774b60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631c4b774b90602401600060405180830381600087803b1580156146ef57600080fd5b505af1158015614703573d6000803e3d6000fd5b505050505b5061471281614fea565b9050614662565b6060614728848460008561499c565b949350505050565b60006006836006811061474557614745614f89565b01549050600019830361475a5761475a6151c6565b60006006836006811061476f5761476f614f89565b01549050600019810361479757816006846006811061479057614790614f89565b0155614818565b60405163a4ce79e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4ce79e1906147e5908590859060040161503a565b600060405180830381600087803b1580156147ff57600080fd5b505af1158015614813573d6000803e3d6000fd5b505050505b6000196006856006811061482e5761482e614f89565b015550505050565b60008183106148455781611589565b5090919050565b604080516002808252606082018352600092839283929091602083019080368337019050509050848160008151811061488757614887614f89565b60200260200101818152505083816001815181106148a7576148a7614f89565b60209081029190910101526000600d556040516349b8978f60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906393712f1e906149059084908a90600401615386565b600060405180830381600087803b15801561491f57600080fd5b505af1158015614933573d6000803e3d6000fd5b5050600019600d555050600e54600f549097909650945050505050565b6000610c3c828061508f565b600082614969838661508f565b6147289190615131565b6000610c3c826111ab565b60008061498b838561508f565b9050670de0b6b3a764000081612132565b6060824710156149fd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610b4c565b614a068561197d565b614a525760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b4c565b600080866001600160a01b03168587604051614a6e91906153a8565b60006040518083038185875af1925050503d8060008114614aab576040519150601f19603f3d011682016040523d82523d6000602084013e614ab0565b606091505b509150915061413582828660608315614aca575081611589565b825115614ada5782518084602001fd5b8160405162461bcd60e51b8152600401610b4c9190614b18565b60005b83811015614b0f578181015183820152602001614af7565b50506000910152565b6020815260008251806020840152614b37816040850160208701614af4565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b83811015614b845781516001600160a01b031687529582019590820190600101614b5f565b509495945050505050565b6020815260006115896020830184614b4b565b80356001600160a01b038116811461210757600080fd5b80151581146124c057600080fd5b600080600060608486031215614bdc57600080fd5b614be584614ba2565b92506020840135614bf581614bb9565b91506040840135614c0581614bb9565b809150509250925092565b60008060408385031215614c2357600080fd5b614c2c83614ba2565b946020939093013593505050565b6001600160a01b0391909116815260200190565b600060208284031215614c6057600080fd5b61158982614ba2565b600081518084526020808501945080840160005b83811015614b8457815187529582019590820190600101614c7d565b6020815260006115896020830184614c69565b600080600080600060808688031215614cc457600080fd5b614ccd86614ba2565b9450614cdb60208701614ba2565b93506040860135925060608601356001600160401b0380821115614cfe57600080fd5b818801915088601f830112614d1257600080fd5b813581811115614d2157600080fd5b896020828501011115614d3357600080fd5b9699959850939650602001949392505050565b60008060008060808587031215614d5c57600080fd5b614d6585614ba2565b9350614d7360208601614ba2565b93969395505050506040820135916060013590565b600080600060608486031215614d9d57600080fd5b614da684614ba2565b9250614db460208501614ba2565b9150604084013590509250925092565b600060208284031215614dd657600080fd5b5035919050565b60008060408385031215614df057600080fd5b614df983614ba2565b9150614e0760208401614ba2565b90509250929050565b600080600080600060a08688031215614e2857600080fd5b614e3186614ba2565b945060208601359350614e4660408701614ba2565b9250606086013591506080860135614e5d81614bb9565b809150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6060810160028510614ea357634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60ff811681146124c057600080fd5b600080600080600080600060e0888a031215614eed57600080fd5b614ef688614ba2565b9650614f0460208901614ba2565b955060408801359450606088013593506080880135614f2281614ec3565b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680614f5357607f821691505b6020821081036120f757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060018201614ffc57614ffc614fd4565b5060010190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b60008060006060848603121561505d57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561508857600080fd5b5051919050565b8082028115828204841417610c3c57610c3c614fd4565b6000602082840312156150b857600080fd5b815161158981614ec3565b6040815260006150d66040830185614b4b565b8281036020840152612a8e8185614c69565b6001600160f81b03818116838216019080821115611bbb57611bbb614fd4565b80820180821115610c3c57610c3c614fd4565b634e487b7160e01b600052601260045260246000fd5b60008261514e57634e487b7160e01b600052601260045260246000fd5b500490565b6001600160f81b03828116828216039080821115611bbb57611bbb614fd4565b6001600160801b03828116828216039080821115611bbb57611bbb614fd4565b81810381811115610c3c57610c3c614fd4565b6001600160801b03818116838216019080821115611bbb57611bbb614fd4565b634e487b7160e01b600052600160045260246000fd5b6000602082840312156151ee57600080fd5b815161158981614bb9565b60008161520857615208614fd4565b506000190190565b6000806040838503121561522357600080fd5b505080516020909101519092909150565b600060a0820187835260208781850152604060a08186015282885180855260c087019150838a01945060005b8181101561529d57855180516001600160a01b03908116855286820151168685015284015115158484015294840194606090920191600101615260565b50506001600160a01b038816606087015293506152b992505050565b8260808301529695505050505050565b600060208083850312156152dc57600080fd5b82516001600160401b03808211156152f357600080fd5b818501915085601f83011261530757600080fd5b81518181111561531957615319614f73565b8060051b604051601f19603f8301168101818110858211171561533e5761533e614f73565b60405291825284820192508381018501918883111561535c57600080fd5b938501935b8285101561537a57845184529385019392850192615361565b98975050505050505050565b6040815260006153996040830185614c69565b90508260208301529392505050565b600082516153ba818460208701614af4565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205bc1afdc61d58968f3c512010efe8fb5c2d550e8b7c7af815d600f72d6c11ebe64736f6c63430008110033",
1236
- "linkReferences": {},
1237
- "deployedLinkReferences": {}
1238
- }