@pendle/core-v2 6.4.1 → 6.4.2-swaphubtest2

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 (371) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.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/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +2 -2
  29. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  37. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  39. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  52. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  53. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +2 -2
  54. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.dbg.json +4 -0
  55. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.json +170 -0
  56. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.dbg.json +4 -0
  57. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.json +124 -0
  58. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  59. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  60. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  61. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +4 -0
  62. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +981 -0
  63. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +4 -0
  64. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.json +952 -0
  65. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  66. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  67. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  68. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPActionCrossChain.sol/IPActionCrossChain.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +4 -0
  103. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.json +789 -0
  104. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +4 -0
  105. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.json +124 -0
  106. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.dbg.json +4 -0
  107. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.json +108 -0
  108. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  154. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  155. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  156. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  157. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  158. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  159. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  160. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  161. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  162. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  163. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  164. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  165. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  166. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  167. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  168. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  169. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  170. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  171. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  172. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  173. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  174. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  175. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  176. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  177. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  178. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  179. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.json +2 -2
  181. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  182. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  186. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  188. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  190. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  192. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  198. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  199. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  200. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  202. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  204. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  205. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  206. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  207. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  208. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  209. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  210. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  211. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  212. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  213. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  214. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  215. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  216. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  217. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  218. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  219. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  220. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  221. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  222. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  223. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  224. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  225. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  226. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  227. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  228. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  229. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  230. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  231. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  232. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  233. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  234. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  235. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  236. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  237. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  238. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  239. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  240. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  241. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  242. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  243. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  244. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  245. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.dbg.json +1 -1
  246. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.json +2 -2
  247. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  248. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  249. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  250. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  251. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  252. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  253. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  254. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  255. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  256. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  257. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  258. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  259. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  260. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  261. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  262. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  263. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  264. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  265. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  266. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  267. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  268. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  269. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  270. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  271. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  273. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  275. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  277. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  279. package/contracts/core/libraries/TokenHelper.sol +5 -1
  280. package/contracts/cross-chain/deposit-box/DepositBox.sol +66 -0
  281. package/contracts/cross-chain/deposit-box/DepositBoxFactory.sol +44 -0
  282. package/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol +90 -0
  283. package/contracts/cross-chain/swap-hub/SwapHubBase.sol +197 -0
  284. package/contracts/interfaces/IPCrossChainSwapHub.sol +116 -0
  285. package/contracts/interfaces/IPDepositBox.sol +22 -0
  286. package/contracts/interfaces/IPDepositBoxFactory.sol +19 -0
  287. package/deployments/130-core.json +2 -1
  288. package/deployments/9745-core.json +3 -2
  289. package/deployments/999-core.json +5 -5
  290. package/package.json +2 -2
  291. package/typechain-types/DepositBox.ts +260 -0
  292. package/typechain-types/DepositBoxFactory.ts +226 -0
  293. package/typechain-types/IPCrossChainSwapHub.ts +691 -0
  294. package/typechain-types/IPDepositBox.ts +213 -0
  295. package/typechain-types/IPDepositBoxFactory.ts +226 -0
  296. package/typechain-types/PendleCrossChainSwapHub.ts +946 -0
  297. package/typechain-types/SwapHubBase.ts +921 -0
  298. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  299. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  300. package/typechain-types/factories/ActionCrossChain__factory.ts +1 -1
  301. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  302. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  303. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  304. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  305. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  306. package/typechain-types/factories/DepositBoxFactory__factory.ts +189 -0
  307. package/typechain-types/factories/DepositBox__factory.ts +222 -0
  308. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  309. package/typechain-types/factories/FixedPricePTAMM__factory.ts +1 -1
  310. package/typechain-types/factories/IPCrossChainSwapHub__factory.ts +804 -0
  311. package/typechain-types/factories/IPDepositBoxFactory__factory.ts +123 -0
  312. package/typechain-types/factories/IPDepositBox__factory.ts +136 -0
  313. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  314. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  315. package/typechain-types/factories/PendleAPIFeeDepositor__factory.ts +1 -1
  316. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  317. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +1050 -0
  318. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  319. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  320. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  321. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  322. package/typechain-types/factories/PendleMarketV6__factory.ts +1 -1
  323. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  324. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  325. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  326. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  327. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  328. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  329. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  330. package/typechain-types/factories/Reflector__factory.ts +1 -1
  331. package/typechain-types/factories/SwapHubBase__factory.ts +964 -0
  332. package/typechain-types/hardhat.d.ts +72 -36
  333. package/typechain-types/index.ts +14 -8
  334. package/typechain-types/ActionDelegateBase.ts +0 -57
  335. package/typechain-types/BasePendleBridgedPrincipalToken.ts +0 -1689
  336. package/typechain-types/EIP712.ts +0 -135
  337. package/typechain-types/ERC20Permit.ts +0 -586
  338. package/typechain-types/IERC5267.ts +0 -135
  339. package/typechain-types/IPMarketFactoryV3.ts +0 -321
  340. package/typechain-types/IPMarketV3.ts +0 -1068
  341. package/typechain-types/LimitBackendHelper.ts +0 -287
  342. package/typechain-types/OverfillMathLib.ts +0 -81
  343. package/typechain-types/PendleBridgedPrincipalToken_18Decimals.ts +0 -1689
  344. package/typechain-types/PendleBridgedPrincipalToken_6Decimals.ts +0 -1689
  345. package/typechain-types/PendleBridgedPrincipalToken_8Decimals.ts +0 -1689
  346. package/typechain-types/PendleERC20Permit.ts +0 -508
  347. package/typechain-types/PendleERC20PermitUpg.ts +0 -517
  348. package/typechain-types/PendleERC20Upg.ts +0 -348
  349. package/typechain-types/PendleMarketFactoryV3.ts +0 -719
  350. package/typechain-types/PendleMarketV3.ts +0 -1195
  351. package/typechain-types/PendleYieldContractFactory.ts +0 -801
  352. package/typechain-types/ShortStrings.ts +0 -57
  353. package/typechain-types/factories/ActionDelegateBase__factory.ts +0 -80
  354. package/typechain-types/factories/BasePendleBridgedPrincipalToken__factory.ts +0 -1548
  355. package/typechain-types/factories/EIP712__factory.ts +0 -85
  356. package/typechain-types/factories/ERC20Permit__factory.ts +0 -433
  357. package/typechain-types/factories/IERC5267__factory.ts +0 -72
  358. package/typechain-types/factories/IPMarketFactoryV3__factory.ts +0 -217
  359. package/typechain-types/factories/IPMarketV3__factory.ts +0 -845
  360. package/typechain-types/factories/LimitBackendHelper__factory.ts +0 -232
  361. package/typechain-types/factories/OverfillMathLib__factory.ts +0 -77
  362. package/typechain-types/factories/PendleBridgedPrincipalToken_18Decimals__factory.ts +0 -1652
  363. package/typechain-types/factories/PendleBridgedPrincipalToken_6Decimals__factory.ts +0 -1650
  364. package/typechain-types/factories/PendleBridgedPrincipalToken_8Decimals__factory.ts +0 -1650
  365. package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +0 -389
  366. package/typechain-types/factories/PendleERC20Permit__factory.ts +0 -470
  367. package/typechain-types/factories/PendleERC20Upg__factory.ts +0 -261
  368. package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +0 -714
  369. package/typechain-types/factories/PendleMarketV3__factory.ts +0 -1211
  370. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +0 -674
  371. package/typechain-types/factories/ShortStrings__factory.ts +0 -77
@@ -0,0 +1,981 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleCrossChainSwapHub",
4
+ "sourceName": "contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "treasury_",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "depositBoxFactory_",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "InsufficientTokenReceived",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "InvalidNonce",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "InvalidReceiver",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "InvalidSignature",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "MessageExpired",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "anonymous": false,
49
+ "inputs": [
50
+ {
51
+ "indexed": false,
52
+ "internalType": "uint256",
53
+ "name": "requestId",
54
+ "type": "uint256"
55
+ },
56
+ {
57
+ "indexed": false,
58
+ "internalType": "uint256",
59
+ "name": "nonce",
60
+ "type": "uint256"
61
+ },
62
+ {
63
+ "indexed": false,
64
+ "internalType": "address",
65
+ "name": "owner",
66
+ "type": "address"
67
+ },
68
+ {
69
+ "indexed": false,
70
+ "internalType": "uint32",
71
+ "name": "boxId",
72
+ "type": "uint32"
73
+ },
74
+ {
75
+ "indexed": false,
76
+ "internalType": "address",
77
+ "name": "bridgeExtRouter",
78
+ "type": "address"
79
+ },
80
+ {
81
+ "indexed": false,
82
+ "internalType": "address",
83
+ "name": "token",
84
+ "type": "address"
85
+ },
86
+ {
87
+ "indexed": false,
88
+ "internalType": "uint256",
89
+ "name": "amountBridge",
90
+ "type": "uint256"
91
+ },
92
+ {
93
+ "indexed": false,
94
+ "internalType": "uint256",
95
+ "name": "amountFee",
96
+ "type": "uint256"
97
+ }
98
+ ],
99
+ "name": "BridgeToken",
100
+ "type": "event"
101
+ },
102
+ {
103
+ "anonymous": false,
104
+ "inputs": [],
105
+ "name": "EIP712DomainChanged",
106
+ "type": "event"
107
+ },
108
+ {
109
+ "anonymous": false,
110
+ "inputs": [
111
+ {
112
+ "indexed": false,
113
+ "internalType": "uint8",
114
+ "name": "version",
115
+ "type": "uint8"
116
+ }
117
+ ],
118
+ "name": "Initialized",
119
+ "type": "event"
120
+ },
121
+ {
122
+ "anonymous": false,
123
+ "inputs": [
124
+ {
125
+ "indexed": true,
126
+ "internalType": "address",
127
+ "name": "previousOwner",
128
+ "type": "address"
129
+ },
130
+ {
131
+ "indexed": true,
132
+ "internalType": "address",
133
+ "name": "newOwner",
134
+ "type": "address"
135
+ }
136
+ ],
137
+ "name": "OwnershipTransferred",
138
+ "type": "event"
139
+ },
140
+ {
141
+ "anonymous": false,
142
+ "inputs": [
143
+ {
144
+ "indexed": true,
145
+ "internalType": "address",
146
+ "name": "executor",
147
+ "type": "address"
148
+ },
149
+ {
150
+ "indexed": false,
151
+ "internalType": "bool",
152
+ "name": "isExecutor",
153
+ "type": "bool"
154
+ }
155
+ ],
156
+ "name": "SetExecutor",
157
+ "type": "event"
158
+ },
159
+ {
160
+ "anonymous": false,
161
+ "inputs": [
162
+ {
163
+ "indexed": true,
164
+ "internalType": "address",
165
+ "name": "proposer",
166
+ "type": "address"
167
+ },
168
+ {
169
+ "indexed": false,
170
+ "internalType": "bool",
171
+ "name": "isProposer",
172
+ "type": "bool"
173
+ }
174
+ ],
175
+ "name": "SetProposer",
176
+ "type": "event"
177
+ },
178
+ {
179
+ "anonymous": false,
180
+ "inputs": [
181
+ {
182
+ "indexed": false,
183
+ "internalType": "uint256",
184
+ "name": "requestId",
185
+ "type": "uint256"
186
+ },
187
+ {
188
+ "indexed": false,
189
+ "internalType": "uint256",
190
+ "name": "nonce",
191
+ "type": "uint256"
192
+ },
193
+ {
194
+ "indexed": false,
195
+ "internalType": "address",
196
+ "name": "owner",
197
+ "type": "address"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "uint32",
202
+ "name": "boxId",
203
+ "type": "uint32"
204
+ },
205
+ {
206
+ "indexed": false,
207
+ "internalType": "address",
208
+ "name": "tokenSpent",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "indexed": false,
213
+ "internalType": "uint256",
214
+ "name": "amountSpent",
215
+ "type": "uint256"
216
+ },
217
+ {
218
+ "indexed": false,
219
+ "internalType": "address",
220
+ "name": "tokenReceived",
221
+ "type": "address"
222
+ },
223
+ {
224
+ "indexed": false,
225
+ "internalType": "uint256",
226
+ "name": "netTokenReceived",
227
+ "type": "uint256"
228
+ }
229
+ ],
230
+ "name": "SwapToken",
231
+ "type": "event"
232
+ },
233
+ {
234
+ "anonymous": false,
235
+ "inputs": [
236
+ {
237
+ "indexed": false,
238
+ "internalType": "uint256",
239
+ "name": "requestId",
240
+ "type": "uint256"
241
+ },
242
+ {
243
+ "indexed": false,
244
+ "internalType": "uint256",
245
+ "name": "nonce",
246
+ "type": "uint256"
247
+ },
248
+ {
249
+ "indexed": false,
250
+ "internalType": "address",
251
+ "name": "owner",
252
+ "type": "address"
253
+ },
254
+ {
255
+ "indexed": false,
256
+ "internalType": "uint32",
257
+ "name": "boxId",
258
+ "type": "uint32"
259
+ },
260
+ {
261
+ "indexed": false,
262
+ "internalType": "address",
263
+ "name": "token",
264
+ "type": "address"
265
+ },
266
+ {
267
+ "indexed": false,
268
+ "internalType": "uint256",
269
+ "name": "amountWithdraw",
270
+ "type": "uint256"
271
+ },
272
+ {
273
+ "indexed": false,
274
+ "internalType": "uint256",
275
+ "name": "amountFee",
276
+ "type": "uint256"
277
+ }
278
+ ],
279
+ "name": "WithdrawToken",
280
+ "type": "event"
281
+ },
282
+ {
283
+ "inputs": [],
284
+ "name": "DEPOSIT_BOX_FACTORY",
285
+ "outputs": [
286
+ {
287
+ "internalType": "contract IPDepositBoxFactory",
288
+ "name": "",
289
+ "type": "address"
290
+ }
291
+ ],
292
+ "stateMutability": "view",
293
+ "type": "function"
294
+ },
295
+ {
296
+ "inputs": [],
297
+ "name": "TREASURY",
298
+ "outputs": [
299
+ {
300
+ "internalType": "address",
301
+ "name": "",
302
+ "type": "address"
303
+ }
304
+ ],
305
+ "stateMutability": "view",
306
+ "type": "function"
307
+ },
308
+ {
309
+ "inputs": [
310
+ {
311
+ "components": [
312
+ {
313
+ "internalType": "address",
314
+ "name": "proposer",
315
+ "type": "address"
316
+ },
317
+ {
318
+ "internalType": "uint256",
319
+ "name": "expiry",
320
+ "type": "uint256"
321
+ },
322
+ {
323
+ "internalType": "uint256",
324
+ "name": "requestId",
325
+ "type": "uint256"
326
+ },
327
+ {
328
+ "internalType": "uint256",
329
+ "name": "nonce",
330
+ "type": "uint256"
331
+ },
332
+ {
333
+ "internalType": "address",
334
+ "name": "owner",
335
+ "type": "address"
336
+ },
337
+ {
338
+ "internalType": "uint32",
339
+ "name": "boxId",
340
+ "type": "uint32"
341
+ },
342
+ {
343
+ "internalType": "address",
344
+ "name": "token",
345
+ "type": "address"
346
+ },
347
+ {
348
+ "internalType": "uint256",
349
+ "name": "amountBridge",
350
+ "type": "uint256"
351
+ },
352
+ {
353
+ "internalType": "uint256",
354
+ "name": "amountFee",
355
+ "type": "uint256"
356
+ },
357
+ {
358
+ "internalType": "address",
359
+ "name": "bridgeExtRouter",
360
+ "type": "address"
361
+ },
362
+ {
363
+ "internalType": "address",
364
+ "name": "bridgeApprove",
365
+ "type": "address"
366
+ },
367
+ {
368
+ "internalType": "bytes",
369
+ "name": "bridgeCalldata",
370
+ "type": "bytes"
371
+ }
372
+ ],
373
+ "internalType": "struct IPCrossChainSwapHub.BridgeTokenMessage",
374
+ "name": "ms",
375
+ "type": "tuple"
376
+ },
377
+ {
378
+ "internalType": "bytes",
379
+ "name": "sig",
380
+ "type": "bytes"
381
+ }
382
+ ],
383
+ "name": "bridgeToken",
384
+ "outputs": [],
385
+ "stateMutability": "payable",
386
+ "type": "function"
387
+ },
388
+ {
389
+ "inputs": [],
390
+ "name": "claimOwnership",
391
+ "outputs": [],
392
+ "stateMutability": "nonpayable",
393
+ "type": "function"
394
+ },
395
+ {
396
+ "inputs": [],
397
+ "name": "eip712Domain",
398
+ "outputs": [
399
+ {
400
+ "internalType": "bytes1",
401
+ "name": "fields",
402
+ "type": "bytes1"
403
+ },
404
+ {
405
+ "internalType": "string",
406
+ "name": "name",
407
+ "type": "string"
408
+ },
409
+ {
410
+ "internalType": "string",
411
+ "name": "version",
412
+ "type": "string"
413
+ },
414
+ {
415
+ "internalType": "uint256",
416
+ "name": "chainId",
417
+ "type": "uint256"
418
+ },
419
+ {
420
+ "internalType": "address",
421
+ "name": "verifyingContract",
422
+ "type": "address"
423
+ },
424
+ {
425
+ "internalType": "bytes32",
426
+ "name": "salt",
427
+ "type": "bytes32"
428
+ },
429
+ {
430
+ "internalType": "uint256[]",
431
+ "name": "extensions",
432
+ "type": "uint256[]"
433
+ }
434
+ ],
435
+ "stateMutability": "view",
436
+ "type": "function"
437
+ },
438
+ {
439
+ "inputs": [
440
+ {
441
+ "components": [
442
+ {
443
+ "internalType": "address",
444
+ "name": "proposer",
445
+ "type": "address"
446
+ },
447
+ {
448
+ "internalType": "uint256",
449
+ "name": "expiry",
450
+ "type": "uint256"
451
+ },
452
+ {
453
+ "internalType": "uint256",
454
+ "name": "requestId",
455
+ "type": "uint256"
456
+ },
457
+ {
458
+ "internalType": "uint256",
459
+ "name": "nonce",
460
+ "type": "uint256"
461
+ },
462
+ {
463
+ "internalType": "address",
464
+ "name": "owner",
465
+ "type": "address"
466
+ },
467
+ {
468
+ "internalType": "uint32",
469
+ "name": "boxId",
470
+ "type": "uint32"
471
+ },
472
+ {
473
+ "internalType": "address",
474
+ "name": "token",
475
+ "type": "address"
476
+ },
477
+ {
478
+ "internalType": "uint256",
479
+ "name": "amountBridge",
480
+ "type": "uint256"
481
+ },
482
+ {
483
+ "internalType": "uint256",
484
+ "name": "amountFee",
485
+ "type": "uint256"
486
+ },
487
+ {
488
+ "internalType": "address",
489
+ "name": "bridgeExtRouter",
490
+ "type": "address"
491
+ },
492
+ {
493
+ "internalType": "address",
494
+ "name": "bridgeApprove",
495
+ "type": "address"
496
+ },
497
+ {
498
+ "internalType": "bytes",
499
+ "name": "bridgeCalldata",
500
+ "type": "bytes"
501
+ }
502
+ ],
503
+ "internalType": "struct IPCrossChainSwapHub.BridgeTokenMessage",
504
+ "name": "ms",
505
+ "type": "tuple"
506
+ }
507
+ ],
508
+ "name": "hashTypedData",
509
+ "outputs": [
510
+ {
511
+ "internalType": "bytes32",
512
+ "name": "",
513
+ "type": "bytes32"
514
+ }
515
+ ],
516
+ "stateMutability": "view",
517
+ "type": "function"
518
+ },
519
+ {
520
+ "inputs": [
521
+ {
522
+ "components": [
523
+ {
524
+ "internalType": "address",
525
+ "name": "proposer",
526
+ "type": "address"
527
+ },
528
+ {
529
+ "internalType": "uint256",
530
+ "name": "expiry",
531
+ "type": "uint256"
532
+ },
533
+ {
534
+ "internalType": "uint256",
535
+ "name": "requestId",
536
+ "type": "uint256"
537
+ },
538
+ {
539
+ "internalType": "uint256",
540
+ "name": "nonce",
541
+ "type": "uint256"
542
+ },
543
+ {
544
+ "internalType": "address",
545
+ "name": "owner",
546
+ "type": "address"
547
+ },
548
+ {
549
+ "internalType": "uint32",
550
+ "name": "boxId",
551
+ "type": "uint32"
552
+ },
553
+ {
554
+ "internalType": "address",
555
+ "name": "tokenSpent",
556
+ "type": "address"
557
+ },
558
+ {
559
+ "internalType": "uint256",
560
+ "name": "amountSpent",
561
+ "type": "uint256"
562
+ },
563
+ {
564
+ "internalType": "address",
565
+ "name": "tokenReceived",
566
+ "type": "address"
567
+ },
568
+ {
569
+ "internalType": "uint256",
570
+ "name": "minReceived",
571
+ "type": "uint256"
572
+ },
573
+ {
574
+ "internalType": "address",
575
+ "name": "swapExtRouter",
576
+ "type": "address"
577
+ },
578
+ {
579
+ "internalType": "address",
580
+ "name": "swapApprove",
581
+ "type": "address"
582
+ },
583
+ {
584
+ "internalType": "bytes",
585
+ "name": "swapCalldata",
586
+ "type": "bytes"
587
+ }
588
+ ],
589
+ "internalType": "struct IPCrossChainSwapHub.SwapTokenMessage",
590
+ "name": "ms",
591
+ "type": "tuple"
592
+ }
593
+ ],
594
+ "name": "hashTypedData",
595
+ "outputs": [
596
+ {
597
+ "internalType": "bytes32",
598
+ "name": "",
599
+ "type": "bytes32"
600
+ }
601
+ ],
602
+ "stateMutability": "view",
603
+ "type": "function"
604
+ },
605
+ {
606
+ "inputs": [
607
+ {
608
+ "components": [
609
+ {
610
+ "internalType": "address",
611
+ "name": "proposer",
612
+ "type": "address"
613
+ },
614
+ {
615
+ "internalType": "uint256",
616
+ "name": "expiry",
617
+ "type": "uint256"
618
+ },
619
+ {
620
+ "internalType": "uint256",
621
+ "name": "requestId",
622
+ "type": "uint256"
623
+ },
624
+ {
625
+ "internalType": "uint256",
626
+ "name": "nonce",
627
+ "type": "uint256"
628
+ },
629
+ {
630
+ "internalType": "address",
631
+ "name": "owner",
632
+ "type": "address"
633
+ },
634
+ {
635
+ "internalType": "uint32",
636
+ "name": "boxId",
637
+ "type": "uint32"
638
+ },
639
+ {
640
+ "internalType": "address",
641
+ "name": "token",
642
+ "type": "address"
643
+ },
644
+ {
645
+ "internalType": "uint256",
646
+ "name": "amountWithdraw",
647
+ "type": "uint256"
648
+ },
649
+ {
650
+ "internalType": "uint256",
651
+ "name": "amountFee",
652
+ "type": "uint256"
653
+ }
654
+ ],
655
+ "internalType": "struct IPCrossChainSwapHub.WithdrawTokenMessage",
656
+ "name": "ms",
657
+ "type": "tuple"
658
+ }
659
+ ],
660
+ "name": "hashTypedData",
661
+ "outputs": [
662
+ {
663
+ "internalType": "bytes32",
664
+ "name": "",
665
+ "type": "bytes32"
666
+ }
667
+ ],
668
+ "stateMutability": "view",
669
+ "type": "function"
670
+ },
671
+ {
672
+ "inputs": [
673
+ {
674
+ "internalType": "address",
675
+ "name": "_owner",
676
+ "type": "address"
677
+ }
678
+ ],
679
+ "name": "initialize",
680
+ "outputs": [],
681
+ "stateMutability": "nonpayable",
682
+ "type": "function"
683
+ },
684
+ {
685
+ "inputs": [
686
+ {
687
+ "internalType": "address",
688
+ "name": "executor",
689
+ "type": "address"
690
+ }
691
+ ],
692
+ "name": "isExecutor",
693
+ "outputs": [
694
+ {
695
+ "internalType": "bool",
696
+ "name": "",
697
+ "type": "bool"
698
+ }
699
+ ],
700
+ "stateMutability": "view",
701
+ "type": "function"
702
+ },
703
+ {
704
+ "inputs": [
705
+ {
706
+ "internalType": "address",
707
+ "name": "proposer",
708
+ "type": "address"
709
+ }
710
+ ],
711
+ "name": "isProposer",
712
+ "outputs": [
713
+ {
714
+ "internalType": "bool",
715
+ "name": "",
716
+ "type": "bool"
717
+ }
718
+ ],
719
+ "stateMutability": "view",
720
+ "type": "function"
721
+ },
722
+ {
723
+ "inputs": [],
724
+ "name": "owner",
725
+ "outputs": [
726
+ {
727
+ "internalType": "address",
728
+ "name": "",
729
+ "type": "address"
730
+ }
731
+ ],
732
+ "stateMutability": "view",
733
+ "type": "function"
734
+ },
735
+ {
736
+ "inputs": [],
737
+ "name": "pendingOwner",
738
+ "outputs": [
739
+ {
740
+ "internalType": "address",
741
+ "name": "",
742
+ "type": "address"
743
+ }
744
+ ],
745
+ "stateMutability": "view",
746
+ "type": "function"
747
+ },
748
+ {
749
+ "inputs": [
750
+ {
751
+ "internalType": "uint256",
752
+ "name": "requestId",
753
+ "type": "uint256"
754
+ }
755
+ ],
756
+ "name": "requestNonce",
757
+ "outputs": [
758
+ {
759
+ "internalType": "uint256",
760
+ "name": "nonce",
761
+ "type": "uint256"
762
+ }
763
+ ],
764
+ "stateMutability": "view",
765
+ "type": "function"
766
+ },
767
+ {
768
+ "inputs": [
769
+ {
770
+ "internalType": "address",
771
+ "name": "executor",
772
+ "type": "address"
773
+ },
774
+ {
775
+ "internalType": "bool",
776
+ "name": "isExecutor_",
777
+ "type": "bool"
778
+ }
779
+ ],
780
+ "name": "setExecutor",
781
+ "outputs": [],
782
+ "stateMutability": "nonpayable",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [
787
+ {
788
+ "internalType": "address",
789
+ "name": "proposer",
790
+ "type": "address"
791
+ },
792
+ {
793
+ "internalType": "bool",
794
+ "name": "isProposer_",
795
+ "type": "bool"
796
+ }
797
+ ],
798
+ "name": "setProposer",
799
+ "outputs": [],
800
+ "stateMutability": "nonpayable",
801
+ "type": "function"
802
+ },
803
+ {
804
+ "inputs": [
805
+ {
806
+ "components": [
807
+ {
808
+ "internalType": "address",
809
+ "name": "proposer",
810
+ "type": "address"
811
+ },
812
+ {
813
+ "internalType": "uint256",
814
+ "name": "expiry",
815
+ "type": "uint256"
816
+ },
817
+ {
818
+ "internalType": "uint256",
819
+ "name": "requestId",
820
+ "type": "uint256"
821
+ },
822
+ {
823
+ "internalType": "uint256",
824
+ "name": "nonce",
825
+ "type": "uint256"
826
+ },
827
+ {
828
+ "internalType": "address",
829
+ "name": "owner",
830
+ "type": "address"
831
+ },
832
+ {
833
+ "internalType": "uint32",
834
+ "name": "boxId",
835
+ "type": "uint32"
836
+ },
837
+ {
838
+ "internalType": "address",
839
+ "name": "tokenSpent",
840
+ "type": "address"
841
+ },
842
+ {
843
+ "internalType": "uint256",
844
+ "name": "amountSpent",
845
+ "type": "uint256"
846
+ },
847
+ {
848
+ "internalType": "address",
849
+ "name": "tokenReceived",
850
+ "type": "address"
851
+ },
852
+ {
853
+ "internalType": "uint256",
854
+ "name": "minReceived",
855
+ "type": "uint256"
856
+ },
857
+ {
858
+ "internalType": "address",
859
+ "name": "swapExtRouter",
860
+ "type": "address"
861
+ },
862
+ {
863
+ "internalType": "address",
864
+ "name": "swapApprove",
865
+ "type": "address"
866
+ },
867
+ {
868
+ "internalType": "bytes",
869
+ "name": "swapCalldata",
870
+ "type": "bytes"
871
+ }
872
+ ],
873
+ "internalType": "struct IPCrossChainSwapHub.SwapTokenMessage",
874
+ "name": "ms",
875
+ "type": "tuple"
876
+ },
877
+ {
878
+ "internalType": "bytes",
879
+ "name": "sig",
880
+ "type": "bytes"
881
+ }
882
+ ],
883
+ "name": "swapToken",
884
+ "outputs": [],
885
+ "stateMutability": "nonpayable",
886
+ "type": "function"
887
+ },
888
+ {
889
+ "inputs": [
890
+ {
891
+ "internalType": "address",
892
+ "name": "newOwner",
893
+ "type": "address"
894
+ },
895
+ {
896
+ "internalType": "bool",
897
+ "name": "direct",
898
+ "type": "bool"
899
+ },
900
+ {
901
+ "internalType": "bool",
902
+ "name": "renounce",
903
+ "type": "bool"
904
+ }
905
+ ],
906
+ "name": "transferOwnership",
907
+ "outputs": [],
908
+ "stateMutability": "nonpayable",
909
+ "type": "function"
910
+ },
911
+ {
912
+ "inputs": [
913
+ {
914
+ "components": [
915
+ {
916
+ "internalType": "address",
917
+ "name": "proposer",
918
+ "type": "address"
919
+ },
920
+ {
921
+ "internalType": "uint256",
922
+ "name": "expiry",
923
+ "type": "uint256"
924
+ },
925
+ {
926
+ "internalType": "uint256",
927
+ "name": "requestId",
928
+ "type": "uint256"
929
+ },
930
+ {
931
+ "internalType": "uint256",
932
+ "name": "nonce",
933
+ "type": "uint256"
934
+ },
935
+ {
936
+ "internalType": "address",
937
+ "name": "owner",
938
+ "type": "address"
939
+ },
940
+ {
941
+ "internalType": "uint32",
942
+ "name": "boxId",
943
+ "type": "uint32"
944
+ },
945
+ {
946
+ "internalType": "address",
947
+ "name": "token",
948
+ "type": "address"
949
+ },
950
+ {
951
+ "internalType": "uint256",
952
+ "name": "amountWithdraw",
953
+ "type": "uint256"
954
+ },
955
+ {
956
+ "internalType": "uint256",
957
+ "name": "amountFee",
958
+ "type": "uint256"
959
+ }
960
+ ],
961
+ "internalType": "struct IPCrossChainSwapHub.WithdrawTokenMessage",
962
+ "name": "ms",
963
+ "type": "tuple"
964
+ },
965
+ {
966
+ "internalType": "bytes",
967
+ "name": "sig",
968
+ "type": "bytes"
969
+ }
970
+ ],
971
+ "name": "withdrawToken",
972
+ "outputs": [],
973
+ "stateMutability": "nonpayable",
974
+ "type": "function"
975
+ }
976
+ ],
977
+ "bytecode": "0x60c03461015657601f612fcd38819003918201601f19168301916001600160401b0383118484101761015a57808492604094855283398101031261015657610052602061004b8361016e565b920161016e565b6080919091526001600160a01b031660a05260015460a881901c60ff166101015760ff808260a01c16036100be575b604051612e4a908161018382396080518181816115ad0152612833015260a05181818161028301528181610f46015281816111fe01526118440152f35b60ff60a01b191660ff60a01b1760015560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a15f610081565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101565756fe60806040526004361015610011575f80fd5b5f5f3560e01c8063078dfbe714611a4a578063086e0096146116fc578063132c1974146116a35780631e1bff3f146115d15780632d2c5565146115635780634e71e0c81461144a57806374ec29a0146113e25780637ae51ae61461138957806384b0196e1461122257806387be6d9a146111b45780638da5cb5b146111645780639f891baf14610e0b578063b2b6b37d14610dc3578063c4d66de8146106c7578063debfda301461065f578063e30c39781461060d578063e9ed9b6414610539578063ed9c1a63146101395763f54a8c74146100eb575f80fd5b34610136576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602061012e61012936611fdc565b612485565b604051908152f35b80fd5b50346101365760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760043567ffffffffffffffff811161053557610189903690600401611e7b565b60243567ffffffffffffffff8111610531576101a9903690600401611d46565b9033835260666020526101c260ff604085205416612139565b73ffffffffffffffffffffffffffffffffffffffff81511690610203602082015193604083019384519560608501968751916101fd87612317565b9361256f565b60808101805160a0830180516040517f7f6bc3fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015263ffffffff16602483015291929091602083806044810103818a73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19283156105265787936104f5575b5060c0820190815173ffffffffffffffffffffffffffffffffffffffff169560e0840193845197610100820196875173ffffffffffffffffffffffffffffffffffffffff169961014084015173ffffffffffffffffffffffffffffffffffffffff1661016085015173ffffffffffffffffffffffffffffffffffffffff16610180860151926040519561034587611c71565b8652602086015260408501526060840152608083015273ffffffffffffffffffffffffffffffffffffffff169861037c818b612c6c565b998c806040518080967f28dc83070000000000000000000000000000000000000000000000000000000082528560048301916103b7926128ee565b038183865af19384156104e8576103d4946104c5575b5050612c6c565b978803978811610498576101200151871061047057917f01048b12598166af2e42f9614999fed68bf7d81bd79f54e5e981280e9953d59e9795939173ffffffffffffffffffffffffffffffffffffffff8063ffffffff816101009b9997519a51985116935116935116935194511694604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152a180f35b6004897f4af147aa000000000000000000000000000000000000000000000000000000008152fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6104e0913d8091833e6104d88183611cba565b81019061288f565b508c5f6103cd565b50604051903d90823e3d90fd5b61051891935060203d60201161051f575b6105108183611cba565b81019061219e565b915f6102b3565b503d610506565b6040513d89823e3d90fd5b8280fd5b5080fd5b50346101365760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657610571611c1e565b7f4e02a7f757fbbef2d2fe055376819eccc93dfb1656c8be3b82ff406ccd2ab953602073ffffffffffffffffffffffffffffffffffffffff6105b1611c62565b936105c08287541633146120d4565b16928385526067825261060181604087209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6040519015158152a280f35b503461013657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b50346101365760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760ff604060209273ffffffffffffffffffffffffffffffffffffffff6106b3611c1e565b168152606684522054166040519015158152f35b50346101365760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610136576106ff611c1e565b60015460ff8160a81c161590818092610db3575b8015610d99575b15610d155781740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff831617600155610cd2575b5060409182516107728482611cba565b601b81527f50656e646c652043726f737320436861696e205377617020487562000000000060208201528351906107a98583611cba565b600182527f310000000000000000000000000000000000000000000000000000000000000060208301526107ed60ff60015460a81c166107e881612bac565b612bac565b80519067ffffffffffffffff8211610ca557819061080c6004546129f3565b601f8111610bfa575b50602090601f8311600114610b3d578892610b32575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176004555b80519067ffffffffffffffff8211610b055761087b6005546129f3565b601f8111610a64575b50602090601f831160011461098f5773ffffffffffffffffffffffffffffffffffffffff939291879183610984575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176005555b84600255846003556108ff60ff60015460a81c16612bac565b167fffffffffffffffffffffffff000000000000000000000000000000000000000084541617835561092f575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498917fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff600154166001555160018152a180f35b015190505f806108b3565b600587527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db091907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08416885b818110610a4c575091600193918573ffffffffffffffffffffffffffffffffffffffff97969410610a15575b505050811b016005556108e6565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f8080610a07565b929360206001819287860151815501950193016109db565b60058752601f830160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0019060208410610add575b601f0160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001905b818110610ad25750610884565b878155600101610ac5565b7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db09150610a9b565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b015190505f8061082b565b600489527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016895b818110610be25750908460019594939210610bab575b505050811b0160045561085e565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f8080610b9d565b92936020600181928786015181550195019301610b87565b90915060048852601f830160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b019060208410610c7d575b90601f8493920160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01905b818110610c6f5750610815565b898155849350600101610c62565b7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9150610c34565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b7fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167501010000000000000000000000000000000000000000176001555f610762565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b15801561071a5750600160ff8260a01c161461071a565b50600160ff8260a01c1610610713565b50346101365760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760406020916004358152606883522054604051908152f35b503461113f576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57610e4536611fdc565b6101243567ffffffffffffffff811161113f57610e66903690600401611d46565b90335f526066602052610e7f60ff60405f205416612139565b610f2c73ffffffffffffffffffffffffffffffffffffffff82511691610ebd602082015194604083019485519660608501978851916101fd87612485565b60808101805160a0830180516040517f7f6bc3fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015263ffffffff16602483015291949093909190602090859081906044820190565b03815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1938415611134575f94611143575b5060c083019173ffffffffffffffffffffffffffffffffffffffff8084511695610fa8610100870197885190836127d8565b169373ffffffffffffffffffffffffffffffffffffffff87511660e073ffffffffffffffffffffffffffffffffffffffff865116920195865190803b1561113f576040517fc3b35a7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff938416600482015293909216602484015260448301525f908290606490829084905af18015611134576110d1575b509160e095939173ffffffffffffffffffffffffffffffffffffffff63ffffffff817f1f6c824b9ce67637dafcf1fe46e610a3f2d5325dfb923e49ea3724fcc3d6bba49a98965198519751169251169251169251935194604051968752602087015260408601526060850152608084015260a083015260c0820152a180f35b7f1f6c824b9ce67637dafcf1fe46e610a3f2d5325dfb923e49ea3724fcc3d6bba4979593919850916111075f60e0989694611cba565b73ffffffffffffffffffffffffffffffffffffffff63ffffffff815f9b9496989a50505050919395611052565b6040513d5f823e3d90fd5b5f80fd5b61115d91945060203d60201161051f576105108183611cba565b925f610f76565b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57600254158061137f575b15611321576112c561126a612a44565b611272612b17565b60206112d3604051926112858385611cba565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e0870190611f99565b908582036040870152611f99565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061130a57505050500390f35b8351855286955093810193928101926001016112fb565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b506003541561125a565b3461113f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5760043567ffffffffffffffff811161113f5761012e6113dd6020923690600401611e7b565b612317565b3461113f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5773ffffffffffffffffffffffffffffffffffffffff61142e611c1e565b165f526067602052602060ff60405f2054166040519015158152f35b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5760015473ffffffffffffffffffffffffffffffffffffffff811690813303611505577fffffffffffffffffffffffff000000000000000000000000000000000000000091825f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f5516600155005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461113f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57611608611c1e565b7f827c394aebf0fcbf2d4f5c0107a0031a3860ec0d5e06756e03aacccfb8d2836e602073ffffffffffffffffffffffffffffffffffffffff611648611c62565b93611657825f541633146120d4565b1692835f52606682526116988160405f209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6040519015158152a2005b3461113f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5760043567ffffffffffffffff811161113f5761012e6116f76020923690600401611d8c565b6121ca565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5760043567ffffffffffffffff811161113f57611746903690600401611d8c565b60243567ffffffffffffffff811161113f5761176961182a913690600401611d46565b335f52606660205261178160ff60405f205416612139565b73ffffffffffffffffffffffffffffffffffffffff835116926117bc602082015192604083019586519460608501958651916101fd876121ca565b60808101805160a0830180516040517f7f6bc3fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015263ffffffff166024830152909491929091602090869081906044820190565b03815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190811561113457611964955f92611a29575b5060c081019073ffffffffffffffffffffffffffffffffffffffff825116936118a9610100830195865190866127d8565b5f73ffffffffffffffffffffffffffffffffffffffff84511660e0840195865173ffffffffffffffffffffffffffffffffffffffff610140870151169561012081019661016073ffffffffffffffffffffffffffffffffffffffff895116920151926040519561191887611c71565b8652602086015260408501526060840152608083015260405180809c81947f28dc83070000000000000000000000000000000000000000000000000000000083523390600484016128ee565b039173ffffffffffffffffffffffffffffffffffffffff3491165af180156111345773ffffffffffffffffffffffffffffffffffffffff63ffffffff817facef3ed1c7a2a0c24a2358eefc33a76aa5476e79088c3c6c124af959eda5a9a39c6101009c8295611a0f575b50519a519951169351169351169351169351945195604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152a1005b611a22903d805f833e6104d88183611cba565b508e6119ce565b611a4391925060203d60201161051f576105108183611cba565b9087611878565b3461113f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57611a81611c1e565b611a89611c62565b9060443591821515830361113f57611ab973ffffffffffffffffffffffffffffffffffffffff5f541633146120d4565b15611bd95773ffffffffffffffffffffffffffffffffffffffff1690811590811591611bd1575b5015611b73577fffffffffffffffffffffffff00000000000000000000000000000000000000005f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f55600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905082611ae0565b73ffffffffffffffffffffffffffffffffffffffff9150167fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001555f80f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361113f57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361113f57565b60243590811515820361113f57565b60a0810190811067ffffffffffffffff821117611c8d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611c8d57604052565b359063ffffffff8216820361113f57565b67ffffffffffffffff8111611c8d57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561113f57803590611d5d82611d0c565b92611d6b6040519485611cba565b8284526020838301011161113f57815f926020809301838601378301015290565b91906101808382031261113f5760405190610180820182811067ffffffffffffffff821117611c8d576040528193611dc381611c41565b8352602081013560208401526040810135604084015260608101356060840152611def60808201611c41565b6080840152611e0060a08201611cfb565b60a0840152611e1160c08201611c41565b60c084015260e081013560e0840152610100810135610100840152611e396101208201611c41565b610120840152611e4c6101408201611c41565b6101408401526101608101359167ffffffffffffffff831161113f5761016092611e769201611d46565b910152565b91906101a08382031261113f57604051906101a0820182811067ffffffffffffffff821117611c8d576040528193611eb281611c41565b8352602081013560208401526040810135604084015260608101356060840152611ede60808201611c41565b6080840152611eef60a08201611cfb565b60a0840152611f0060c08201611c41565b60c084015260e081013560e0840152611f1c6101008201611c41565b610100840152610120810135610120840152611f3b6101408201611c41565b610140840152611f4e6101608201611c41565b6101608401526101808101359167ffffffffffffffff831161113f5761018092611e769201611d46565b5f5b838110611f895750505f910152565b8181015183820152602001611f7a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611fd581518092818752878088019101611f78565b0116010190565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61012091011261113f5760405190610120820182811067ffffffffffffffff821117611c8d576040528160043573ffffffffffffffffffffffffffffffffffffffff8116810361113f57815260243560208201526044356040820152606435606082015260843573ffffffffffffffffffffffffffffffffffffffff8116810361113f57608082015260a43563ffffffff8116810361113f5760a082015260c43573ffffffffffffffffffffffffffffffffffffffff8116810361113f5760c082015260e43560e082015261010061010435910152565b156120db57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1561214057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f537761704875623a2063616c6c6572206973206e6f74206578656375746f72006044820152fd5b9081602091031261113f575173ffffffffffffffffffffffffffffffffffffffff8116810361113f5790565b7f68f80ebccefcdd4dc467fe0093f5f7f118d5fb49412caea0de8bc4b31efd68406123149173ffffffffffffffffffffffffffffffffffffffff815116906020810151906040810151606082015173ffffffffffffffffffffffffffffffffffffffff60808401511663ffffffff60a08501511673ffffffffffffffffffffffffffffffffffffffff60c0860151169060e0860151926101008701519473ffffffffffffffffffffffffffffffffffffffff610120890151169661016073ffffffffffffffffffffffffffffffffffffffff6101408b01511699015160208151910120996040519b60208d019d8e5260408d015260608c015260808b015260a08a015260c089015260e08801526101008701526101208601526101408501526101608401526101808301526101a08201526101a0815261230c6101c082611cba565b519020612956565b90565b805173ffffffffffffffffffffffffffffffffffffffff166020820151916040810151906060810151608082015173ffffffffffffffffffffffffffffffffffffffff1660a083015163ffffffff1660c084015173ffffffffffffffffffffffffffffffffffffffff1660e08501519061010086015173ffffffffffffffffffffffffffffffffffffffff16926101208701519461014088015173ffffffffffffffffffffffffffffffffffffffff169661016089015173ffffffffffffffffffffffffffffffffffffffff1698610180015180519060200120996040519c8d9c60208e019e8f7f69a40aff578848e87ad6529c0be24c9a2581aa2e645bdacd2b5604d13d6893e490526040015260608d015260808c015260a08b015260c08a015260e08901526101008801526101208701526101408601526101608501526101808401526101a08301526101c08201526101c081526124796101e082611cba565b51902061231490612956565b6123149073ffffffffffffffffffffffffffffffffffffffff81511690602081015190604081015190606081015173ffffffffffffffffffffffffffffffffffffffff60808301511663ffffffff60a0840151169073ffffffffffffffffffffffffffffffffffffffff60c0850151169261010060e0860151950151956040519760208901997f0e5de6f195e160fe39e9f37b2b8754fccecf63edd9cd2e9d1a09832a8fba53f88b5260408a01526060890152608088015260a087015260c086015260e0850152610100840152610120830152610140820152610140815261230c61016082611cba565b909294919361257e8382612c37565b60058195929510156127ab57159384612788575b50831561267a575b505050156126525742101561262a57805f52606860205260405f2054600181018091116125fd5782036125d5575f52606860205260405f2055565b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7ff753ba40000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f8baa579f000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f9350906126cb6126f785949360405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190611f99565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611cba565b51915afa3d15612781573d61270b81611d0c565b906127196040519283611cba565b81523d5f602083013e5b81612773575b81612738575b505f808061259a565b905060208180518101031261113f57602001517f1626ba7e00000000000000000000000000000000000000000000000000000000145f61272f565b905060208151101590612729565b6060612723565b73ffffffffffffffffffffffffffffffffffffffff84811691161493505f612592565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff1691823b1561113f576040517fc3b35a7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015290921660248301526044820152905f9082908183816064810103925af18015611134576128835750565b5f61288d91611cba565b565b60208183031261113f5780519067ffffffffffffffff821161113f570181601f8201121561113f5780516128c281611d0c565b926128d06040519485611cba565b8184526020828401011161113f576123149160208085019101611f78565b9073ffffffffffffffffffffffffffffffffffffffff61294f60806020939695966040865283815116604087015284810151606087015283604082015116828701528360608201511660a0870152015160a060c086015260e0850190611f99565b9416910152565b604290612961612da3565b612969612dee565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526129ba60c082611cba565b51902090604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b90600182811c92168015612a3a575b6020831014612a0d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691612a02565b604051905f8260045491612a57836129f3565b8083529260018116908115612ada5750600114612a7b575b61288d92500383611cba565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310612abe57505090602061288d92820101612a6f565b6020919350806001915483858901015201910190918492612aa6565b6020925061288d9491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b820101612a6f565b604051905f8260055491612b2a836129f3565b8083529260018116908115612ada5750600114612b4d5761288d92500383611cba565b5060055f90815290917f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b818310612b9057505090602061288d92820101612a6f565b6020919350806001915483858901015201910190918492612b78565b15612bb357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b9060418151145f14612c6357612c5f91602082015190606060408401519301515f1a90612d1b565b9091565b50505f90600290565b9073ffffffffffffffffffffffffffffffffffffffff1680612c8d57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611134575f91612cec575090565b90506020813d602011612d13575b81612d0760209383611cba565b8101031261113f575190565b3d9150612cfa565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612d98576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15611134575f5173ffffffffffffffffffffffffffffffffffffffff811615612d9057905f90565b505f90600190565b505050505f90600390565b612dab612a44565b8051908115612dbb576020012090565b50506002548015612dc95790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612df6612b17565b8051908115612e06576020012090565b50506003548015612dc9579056fea2646970667358221220910cfbdba7cea7d37a6ca4f1943d12ff0abf55b40dad0943187b500173708c1664736f6c634300081e0033",
978
+ "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f5f3560e01c8063078dfbe714611a4a578063086e0096146116fc578063132c1974146116a35780631e1bff3f146115d15780632d2c5565146115635780634e71e0c81461144a57806374ec29a0146113e25780637ae51ae61461138957806384b0196e1461122257806387be6d9a146111b45780638da5cb5b146111645780639f891baf14610e0b578063b2b6b37d14610dc3578063c4d66de8146106c7578063debfda301461065f578063e30c39781461060d578063e9ed9b6414610539578063ed9c1a63146101395763f54a8c74146100eb575f80fd5b34610136576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602061012e61012936611fdc565b612485565b604051908152f35b80fd5b50346101365760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760043567ffffffffffffffff811161053557610189903690600401611e7b565b60243567ffffffffffffffff8111610531576101a9903690600401611d46565b9033835260666020526101c260ff604085205416612139565b73ffffffffffffffffffffffffffffffffffffffff81511690610203602082015193604083019384519560608501968751916101fd87612317565b9361256f565b60808101805160a0830180516040517f7f6bc3fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015263ffffffff16602483015291929091602083806044810103818a73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19283156105265787936104f5575b5060c0820190815173ffffffffffffffffffffffffffffffffffffffff169560e0840193845197610100820196875173ffffffffffffffffffffffffffffffffffffffff169961014084015173ffffffffffffffffffffffffffffffffffffffff1661016085015173ffffffffffffffffffffffffffffffffffffffff16610180860151926040519561034587611c71565b8652602086015260408501526060840152608083015273ffffffffffffffffffffffffffffffffffffffff169861037c818b612c6c565b998c806040518080967f28dc83070000000000000000000000000000000000000000000000000000000082528560048301916103b7926128ee565b038183865af19384156104e8576103d4946104c5575b5050612c6c565b978803978811610498576101200151871061047057917f01048b12598166af2e42f9614999fed68bf7d81bd79f54e5e981280e9953d59e9795939173ffffffffffffffffffffffffffffffffffffffff8063ffffffff816101009b9997519a51985116935116935116935194511694604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152a180f35b6004897f4af147aa000000000000000000000000000000000000000000000000000000008152fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6104e0913d8091833e6104d88183611cba565b81019061288f565b508c5f6103cd565b50604051903d90823e3d90fd5b61051891935060203d60201161051f575b6105108183611cba565b81019061219e565b915f6102b3565b503d610506565b6040513d89823e3d90fd5b8280fd5b5080fd5b50346101365760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657610571611c1e565b7f4e02a7f757fbbef2d2fe055376819eccc93dfb1656c8be3b82ff406ccd2ab953602073ffffffffffffffffffffffffffffffffffffffff6105b1611c62565b936105c08287541633146120d4565b16928385526067825261060181604087209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6040519015158152a280f35b503461013657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b50346101365760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760ff604060209273ffffffffffffffffffffffffffffffffffffffff6106b3611c1e565b168152606684522054166040519015158152f35b50346101365760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610136576106ff611c1e565b60015460ff8160a81c161590818092610db3575b8015610d99575b15610d155781740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff831617600155610cd2575b5060409182516107728482611cba565b601b81527f50656e646c652043726f737320436861696e205377617020487562000000000060208201528351906107a98583611cba565b600182527f310000000000000000000000000000000000000000000000000000000000000060208301526107ed60ff60015460a81c166107e881612bac565b612bac565b80519067ffffffffffffffff8211610ca557819061080c6004546129f3565b601f8111610bfa575b50602090601f8311600114610b3d578892610b32575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176004555b80519067ffffffffffffffff8211610b055761087b6005546129f3565b601f8111610a64575b50602090601f831160011461098f5773ffffffffffffffffffffffffffffffffffffffff939291879183610984575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176005555b84600255846003556108ff60ff60015460a81c16612bac565b167fffffffffffffffffffffffff000000000000000000000000000000000000000084541617835561092f575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498917fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff600154166001555160018152a180f35b015190505f806108b3565b600587527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db091907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08416885b818110610a4c575091600193918573ffffffffffffffffffffffffffffffffffffffff97969410610a15575b505050811b016005556108e6565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f8080610a07565b929360206001819287860151815501950193016109db565b60058752601f830160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0019060208410610add575b601f0160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001905b818110610ad25750610884565b878155600101610ac5565b7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db09150610a9b565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b015190505f8061082b565b600489527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016895b818110610be25750908460019594939210610bab575b505050811b0160045561085e565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f8080610b9d565b92936020600181928786015181550195019301610b87565b90915060048852601f830160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b019060208410610c7d575b90601f8493920160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01905b818110610c6f5750610815565b898155849350600101610c62565b7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9150610c34565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b7fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167501010000000000000000000000000000000000000000176001555f610762565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b15801561071a5750600160ff8260a01c161461071a565b50600160ff8260a01c1610610713565b50346101365760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760406020916004358152606883522054604051908152f35b503461113f576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57610e4536611fdc565b6101243567ffffffffffffffff811161113f57610e66903690600401611d46565b90335f526066602052610e7f60ff60405f205416612139565b610f2c73ffffffffffffffffffffffffffffffffffffffff82511691610ebd602082015194604083019485519660608501978851916101fd87612485565b60808101805160a0830180516040517f7f6bc3fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015263ffffffff16602483015291949093909190602090859081906044820190565b03815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1938415611134575f94611143575b5060c083019173ffffffffffffffffffffffffffffffffffffffff8084511695610fa8610100870197885190836127d8565b169373ffffffffffffffffffffffffffffffffffffffff87511660e073ffffffffffffffffffffffffffffffffffffffff865116920195865190803b1561113f576040517fc3b35a7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff938416600482015293909216602484015260448301525f908290606490829084905af18015611134576110d1575b509160e095939173ffffffffffffffffffffffffffffffffffffffff63ffffffff817f1f6c824b9ce67637dafcf1fe46e610a3f2d5325dfb923e49ea3724fcc3d6bba49a98965198519751169251169251169251935194604051968752602087015260408601526060850152608084015260a083015260c0820152a180f35b7f1f6c824b9ce67637dafcf1fe46e610a3f2d5325dfb923e49ea3724fcc3d6bba4979593919850916111075f60e0989694611cba565b73ffffffffffffffffffffffffffffffffffffffff63ffffffff815f9b9496989a50505050919395611052565b6040513d5f823e3d90fd5b5f80fd5b61115d91945060203d60201161051f576105108183611cba565b925f610f76565b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57600254158061137f575b15611321576112c561126a612a44565b611272612b17565b60206112d3604051926112858385611cba565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e0870190611f99565b908582036040870152611f99565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061130a57505050500390f35b8351855286955093810193928101926001016112fb565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b506003541561125a565b3461113f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5760043567ffffffffffffffff811161113f5761012e6113dd6020923690600401611e7b565b612317565b3461113f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5773ffffffffffffffffffffffffffffffffffffffff61142e611c1e565b165f526067602052602060ff60405f2054166040519015158152f35b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5760015473ffffffffffffffffffffffffffffffffffffffff811690813303611505577fffffffffffffffffffffffff000000000000000000000000000000000000000091825f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f5516600155005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b3461113f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461113f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57611608611c1e565b7f827c394aebf0fcbf2d4f5c0107a0031a3860ec0d5e06756e03aacccfb8d2836e602073ffffffffffffffffffffffffffffffffffffffff611648611c62565b93611657825f541633146120d4565b1692835f52606682526116988160405f209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6040519015158152a2005b3461113f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5760043567ffffffffffffffff811161113f5761012e6116f76020923690600401611d8c565b6121ca565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f5760043567ffffffffffffffff811161113f57611746903690600401611d8c565b60243567ffffffffffffffff811161113f5761176961182a913690600401611d46565b335f52606660205261178160ff60405f205416612139565b73ffffffffffffffffffffffffffffffffffffffff835116926117bc602082015192604083019586519460608501958651916101fd876121ca565b60808101805160a0830180516040517f7f6bc3fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015263ffffffff166024830152909491929091602090869081906044820190565b03815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190811561113457611964955f92611a29575b5060c081019073ffffffffffffffffffffffffffffffffffffffff825116936118a9610100830195865190866127d8565b5f73ffffffffffffffffffffffffffffffffffffffff84511660e0840195865173ffffffffffffffffffffffffffffffffffffffff610140870151169561012081019661016073ffffffffffffffffffffffffffffffffffffffff895116920151926040519561191887611c71565b8652602086015260408501526060840152608083015260405180809c81947f28dc83070000000000000000000000000000000000000000000000000000000083523390600484016128ee565b039173ffffffffffffffffffffffffffffffffffffffff3491165af180156111345773ffffffffffffffffffffffffffffffffffffffff63ffffffff817facef3ed1c7a2a0c24a2358eefc33a76aa5476e79088c3c6c124af959eda5a9a39c6101009c8295611a0f575b50519a519951169351169351169351169351945195604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152a1005b611a22903d805f833e6104d88183611cba565b508e6119ce565b611a4391925060203d60201161051f576105108183611cba565b9087611878565b3461113f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261113f57611a81611c1e565b611a89611c62565b9060443591821515830361113f57611ab973ffffffffffffffffffffffffffffffffffffffff5f541633146120d4565b15611bd95773ffffffffffffffffffffffffffffffffffffffff1690811590811591611bd1575b5015611b73577fffffffffffffffffffffffff00000000000000000000000000000000000000005f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f55600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905082611ae0565b73ffffffffffffffffffffffffffffffffffffffff9150167fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001555f80f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361113f57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361113f57565b60243590811515820361113f57565b60a0810190811067ffffffffffffffff821117611c8d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611c8d57604052565b359063ffffffff8216820361113f57565b67ffffffffffffffff8111611c8d57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561113f57803590611d5d82611d0c565b92611d6b6040519485611cba565b8284526020838301011161113f57815f926020809301838601378301015290565b91906101808382031261113f5760405190610180820182811067ffffffffffffffff821117611c8d576040528193611dc381611c41565b8352602081013560208401526040810135604084015260608101356060840152611def60808201611c41565b6080840152611e0060a08201611cfb565b60a0840152611e1160c08201611c41565b60c084015260e081013560e0840152610100810135610100840152611e396101208201611c41565b610120840152611e4c6101408201611c41565b6101408401526101608101359167ffffffffffffffff831161113f5761016092611e769201611d46565b910152565b91906101a08382031261113f57604051906101a0820182811067ffffffffffffffff821117611c8d576040528193611eb281611c41565b8352602081013560208401526040810135604084015260608101356060840152611ede60808201611c41565b6080840152611eef60a08201611cfb565b60a0840152611f0060c08201611c41565b60c084015260e081013560e0840152611f1c6101008201611c41565b610100840152610120810135610120840152611f3b6101408201611c41565b610140840152611f4e6101608201611c41565b6101608401526101808101359167ffffffffffffffff831161113f5761018092611e769201611d46565b5f5b838110611f895750505f910152565b8181015183820152602001611f7a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611fd581518092818752878088019101611f78565b0116010190565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61012091011261113f5760405190610120820182811067ffffffffffffffff821117611c8d576040528160043573ffffffffffffffffffffffffffffffffffffffff8116810361113f57815260243560208201526044356040820152606435606082015260843573ffffffffffffffffffffffffffffffffffffffff8116810361113f57608082015260a43563ffffffff8116810361113f5760a082015260c43573ffffffffffffffffffffffffffffffffffffffff8116810361113f5760c082015260e43560e082015261010061010435910152565b156120db57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1561214057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f537761704875623a2063616c6c6572206973206e6f74206578656375746f72006044820152fd5b9081602091031261113f575173ffffffffffffffffffffffffffffffffffffffff8116810361113f5790565b7f68f80ebccefcdd4dc467fe0093f5f7f118d5fb49412caea0de8bc4b31efd68406123149173ffffffffffffffffffffffffffffffffffffffff815116906020810151906040810151606082015173ffffffffffffffffffffffffffffffffffffffff60808401511663ffffffff60a08501511673ffffffffffffffffffffffffffffffffffffffff60c0860151169060e0860151926101008701519473ffffffffffffffffffffffffffffffffffffffff610120890151169661016073ffffffffffffffffffffffffffffffffffffffff6101408b01511699015160208151910120996040519b60208d019d8e5260408d015260608c015260808b015260a08a015260c089015260e08801526101008701526101208601526101408501526101608401526101808301526101a08201526101a0815261230c6101c082611cba565b519020612956565b90565b805173ffffffffffffffffffffffffffffffffffffffff166020820151916040810151906060810151608082015173ffffffffffffffffffffffffffffffffffffffff1660a083015163ffffffff1660c084015173ffffffffffffffffffffffffffffffffffffffff1660e08501519061010086015173ffffffffffffffffffffffffffffffffffffffff16926101208701519461014088015173ffffffffffffffffffffffffffffffffffffffff169661016089015173ffffffffffffffffffffffffffffffffffffffff1698610180015180519060200120996040519c8d9c60208e019e8f7f69a40aff578848e87ad6529c0be24c9a2581aa2e645bdacd2b5604d13d6893e490526040015260608d015260808c015260a08b015260c08a015260e08901526101008801526101208701526101408601526101608501526101808401526101a08301526101c08201526101c081526124796101e082611cba565b51902061231490612956565b6123149073ffffffffffffffffffffffffffffffffffffffff81511690602081015190604081015190606081015173ffffffffffffffffffffffffffffffffffffffff60808301511663ffffffff60a0840151169073ffffffffffffffffffffffffffffffffffffffff60c0850151169261010060e0860151950151956040519760208901997f0e5de6f195e160fe39e9f37b2b8754fccecf63edd9cd2e9d1a09832a8fba53f88b5260408a01526060890152608088015260a087015260c086015260e0850152610100840152610120830152610140820152610140815261230c61016082611cba565b909294919361257e8382612c37565b60058195929510156127ab57159384612788575b50831561267a575b505050156126525742101561262a57805f52606860205260405f2054600181018091116125fd5782036125d5575f52606860205260405f2055565b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7ff753ba40000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f8baa579f000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f9350906126cb6126f785949360405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190611f99565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611cba565b51915afa3d15612781573d61270b81611d0c565b906127196040519283611cba565b81523d5f602083013e5b81612773575b81612738575b505f808061259a565b905060208180518101031261113f57602001517f1626ba7e00000000000000000000000000000000000000000000000000000000145f61272f565b905060208151101590612729565b6060612723565b73ffffffffffffffffffffffffffffffffffffffff84811691161493505f612592565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff1691823b1561113f576040517fc3b35a7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015290921660248301526044820152905f9082908183816064810103925af18015611134576128835750565b5f61288d91611cba565b565b60208183031261113f5780519067ffffffffffffffff821161113f570181601f8201121561113f5780516128c281611d0c565b926128d06040519485611cba565b8184526020828401011161113f576123149160208085019101611f78565b9073ffffffffffffffffffffffffffffffffffffffff61294f60806020939695966040865283815116604087015284810151606087015283604082015116828701528360608201511660a0870152015160a060c086015260e0850190611f99565b9416910152565b604290612961612da3565b612969612dee565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526129ba60c082611cba565b51902090604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b90600182811c92168015612a3a575b6020831014612a0d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691612a02565b604051905f8260045491612a57836129f3565b8083529260018116908115612ada5750600114612a7b575b61288d92500383611cba565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310612abe57505090602061288d92820101612a6f565b6020919350806001915483858901015201910190918492612aa6565b6020925061288d9491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b820101612a6f565b604051905f8260055491612b2a836129f3565b8083529260018116908115612ada5750600114612b4d5761288d92500383611cba565b5060055f90815290917f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b818310612b9057505090602061288d92820101612a6f565b6020919350806001915483858901015201910190918492612b78565b15612bb357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b9060418151145f14612c6357612c5f91602082015190606060408401519301515f1a90612d1b565b9091565b50505f90600290565b9073ffffffffffffffffffffffffffffffffffffffff1680612c8d57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611134575f91612cec575090565b90506020813d602011612d13575b81612d0760209383611cba565b8101031261113f575190565b3d9150612cfa565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612d98576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15611134575f5173ffffffffffffffffffffffffffffffffffffffff811615612d9057905f90565b505f90600190565b505050505f90600390565b612dab612a44565b8051908115612dbb576020012090565b50506002548015612dc95790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612df6612b17565b8051908115612e06576020012090565b50506003548015612dc9579056fea2646970667358221220910cfbdba7cea7d37a6ca4f1943d12ff0abf55b40dad0943187b500173708c1664736f6c634300081e0033",
979
+ "linkReferences": {},
980
+ "deployedLinkReferences": {}
981
+ }