@pendle/core-v2 6.7.0 → 6.8.0

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 (680) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.json +2 -2
  32. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  36. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.json +2 -2
  39. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.json +5 -5
  41. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  45. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  47. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  50. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  52. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  54. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  56. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  58. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  60. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  62. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.json +2 -2
  64. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +2 -2
  67. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  69. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.json +2 -2
  71. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  73. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  76. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  78. package/build/artifacts/contracts/cross-chain/FixedPricePTAMMV2.sol/FixedPricePTAMMV2.dbg.json +1 -1
  79. package/build/artifacts/contracts/cross-chain/FixedPricePTAMMV2.sol/FixedPricePTAMMV2.json +2 -2
  80. package/build/artifacts/contracts/cross-chain/OFTPTSwapper.sol/OFTPTSwapper.dbg.json +4 -0
  81. package/build/artifacts/contracts/cross-chain/OFTPTSwapper.sol/OFTPTSwapper.json +99 -0
  82. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.dbg.json +1 -1
  83. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.json +2 -2
  84. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.dbg.json +1 -1
  85. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.json +2 -2
  86. package/build/artifacts/contracts/cross-chain/factory/PendleBridgePTFactory.sol/PendleBridgePTFactory.dbg.json +1 -1
  87. package/build/artifacts/contracts/cross-chain/factory/PendleBridgePTFactory.sol/PendleBridgePTFactory.json +2 -2
  88. package/build/artifacts/contracts/cross-chain/funder/BridgeFunder.sol/BridgeFunder.dbg.json +1 -1
  89. package/build/artifacts/contracts/cross-chain/funder/BridgeFunder.sol/BridgeFunder.json +2 -2
  90. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol/OFTAdapterAltImpl.dbg.json +1 -1
  91. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol/OFTAdapterAltImpl.json +2 -2
  92. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  93. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.json +2 -2
  94. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFT.sol/PendleOFT.dbg.json +1 -1
  95. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFT.sol/PendleOFT.json +2 -2
  96. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFTAlt.sol/PendleOFTAlt.dbg.json +1 -1
  97. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFTAlt.sol/PendleOFTAlt.json +2 -2
  98. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  99. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.json +2 -2
  100. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalTokenAlt.sol/PendleBridgedPrincipalTokenAlt.dbg.json +1 -1
  101. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalTokenAlt.sol/PendleBridgedPrincipalTokenAlt.json +2 -2
  102. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +1 -1
  103. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +2 -2
  104. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +1 -1
  105. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  106. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  107. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarket.dbg.json +4 -0
  113. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarket.json +578 -0
  114. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarketEvents.dbg.json +4 -0
  115. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarketEvents.json +160 -0
  116. package/build/artifacts/contracts/interfaces/IMoneyMarketView.sol/IMoneyMarketView.dbg.json +4 -0
  117. package/build/artifacts/contracts/interfaces/IMoneyMarketView.sol/IMoneyMarketView.json +238 -0
  118. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPBridgeDataVerifier.sol/IPBridgeDataVerifier.dbg.json +4 -0
  140. package/build/artifacts/contracts/interfaces/IPBridgeDataVerifier.sol/IPBridgeDataVerifier.json +81 -0
  141. package/build/artifacts/contracts/interfaces/IPBridgeFunder.sol/IPBridgeFunder.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPBridgePTFactory.sol/IPBridgePTFactory.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMMV2.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMMV2.sol/IPFixedPricePTAMMV2.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPLoopPositionBox.sol/IPLoopPositionBox.dbg.json +4 -0
  169. package/build/artifacts/contracts/interfaces/IPLoopPositionBox.sol/IPLoopPositionBox.json +170 -0
  170. package/build/artifacts/contracts/interfaces/IPLoopPositionBoxFactory.sol/IPLoopPositionBoxFactory.dbg.json +4 -0
  171. package/build/artifacts/contracts/interfaces/IPLoopPositionBoxFactory.sol/IPLoopPositionBoxFactory.json +377 -0
  172. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IPOFTPTSwapper.sol/IPOFTPTSwapper.dbg.json +4 -0
  181. package/build/artifacts/contracts/interfaces/{IPSwapHelper.sol/IPSwapHelper.json → IPOFTPTSwapper.sol/IPOFTPTSwapper.json} +2 -2
  182. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.dbg.json +4 -0
  185. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.json +2476 -0
  186. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooperEIP712Types.dbg.json +4 -0
  187. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooperEIP712Types.json +10 -0
  188. package/build/artifacts/contracts/interfaces/IPPTLooperView.sol/IPPTLooperView.dbg.json +4 -0
  189. package/build/artifacts/contracts/interfaces/IPPTLooperView.sol/IPPTLooperView.json +209 -0
  190. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IPPostPtLoopStateChecker.sol/IPPostPtLoopStateChecker.dbg.json +4 -0
  195. package/build/artifacts/contracts/interfaces/IPPostPtLoopStateChecker.sol/IPPostPtLoopStateChecker.json +29 -0
  196. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPStaticQuoter.sol/IPStaticQuoter.dbg.json +4 -0
  202. package/build/artifacts/contracts/interfaces/IPStaticQuoter.sol/IPStaticQuoter.json +55 -0
  203. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  214. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  215. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  216. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  217. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  218. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  219. package/build/artifacts/contracts/limit/helpers/MintSyHelper.sol/MintSyHelper.dbg.json +1 -1
  220. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  221. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +2 -2
  222. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  223. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  224. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  225. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  227. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  228. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  229. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  230. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/ILegacyMarket.dbg.json +1 -1
  231. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  232. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  233. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  234. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.json +2 -2
  235. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  236. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  237. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  238. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  239. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  240. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  241. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  242. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  243. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  244. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  246. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  247. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  248. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
  249. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.json +2 -2
  250. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  251. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  252. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  253. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +2 -2
  254. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  255. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.json +2 -2
  256. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  257. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  258. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  259. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  260. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +1 -1
  261. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +2 -2
  262. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  263. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.json +2 -2
  264. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  265. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  266. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  267. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  268. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  269. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.json +2 -2
  270. package/build/artifacts/contracts/offchain-helpers/PendleProxyAdmin.sol/PendleProxyAdmin.dbg.json +1 -1
  271. package/build/artifacts/contracts/offchain-helpers/PendleProxyAdmin.sol/PendleProxyAdmin.json +2 -2
  272. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  273. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
  274. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  275. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  276. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  277. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  278. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.json +2 -2
  279. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  280. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  281. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  282. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +2 -2
  283. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  284. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  285. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  286. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  287. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  288. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.json +2 -2
  289. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  290. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -2
  291. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  292. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  293. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  294. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  295. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  296. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  297. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  298. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  299. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  300. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  301. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  302. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  303. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  304. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  305. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  306. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  307. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  308. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  309. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  310. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  311. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  312. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +2 -2
  313. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  314. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +2 -2
  315. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  316. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +2 -2
  317. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  318. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  319. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  320. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  321. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  322. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  323. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  324. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  325. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  326. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  327. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  328. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  329. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  330. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  331. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  332. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  333. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  334. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  335. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  336. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.json +2 -2
  337. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  338. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  339. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  340. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.json +2 -2
  341. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  342. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.json +2 -2
  343. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  344. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  345. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.json +2 -2
  346. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  347. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.json +2 -2
  348. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  349. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  350. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  351. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  352. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.json +2 -2
  353. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  354. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  355. package/build/artifacts/contracts/pt-looping/BridgeDataVerifier.sol/BridgeDataVerifier.dbg.json +4 -0
  356. package/build/artifacts/contracts/pt-looping/BridgeDataVerifier.sol/BridgeDataVerifier.json +405 -0
  357. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.dbg.json +4 -0
  358. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.json +2626 -0
  359. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.dbg.json +4 -0
  360. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.json +10 -0
  361. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.dbg.json +4 -0
  362. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.json +2660 -0
  363. package/build/artifacts/contracts/pt-looping/PendlePTLooperView.sol/PendlePTLooperView.dbg.json +4 -0
  364. package/build/artifacts/contracts/pt-looping/PendlePTLooperView.sol/PendlePTLooperView.json +334 -0
  365. package/build/artifacts/contracts/pt-looping/PostPtLoopStateChecker.sol/PostPtLoopStateChecker.dbg.json +4 -0
  366. package/build/artifacts/contracts/pt-looping/PostPtLoopStateChecker.sol/PostPtLoopStateChecker.json +79 -0
  367. package/build/artifacts/contracts/pt-looping/StaticStableQuoter.sol/StaticStableQuoter.dbg.json +4 -0
  368. package/build/artifacts/contracts/pt-looping/StaticStableQuoter.sol/StaticStableQuoter.json +233 -0
  369. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBox.sol/LoopPositionBox.dbg.json +4 -0
  370. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBox.sol/LoopPositionBox.json +198 -0
  371. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBoxFactory.sol/LoopPositionBoxFactory.dbg.json +4 -0
  372. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBoxFactory.sol/LoopPositionBoxFactory.json +555 -0
  373. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarket.sol/BaseMoneyMarket.dbg.json +4 -0
  374. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarket.sol/BaseMoneyMarket.json +604 -0
  375. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarketView.sol/BaseMoneyMarketView.dbg.json +4 -0
  376. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarketView.sol/BaseMoneyMarketView.json +264 -0
  377. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMMPayloadLib.sol/AaveMMPayloadLib.dbg.json +4 -0
  378. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMMPayloadLib.sol/AaveMMPayloadLib.json +10 -0
  379. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.dbg.json +4 -0
  380. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.json +659 -0
  381. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.dbg.json +4 -0
  382. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.json +355 -0
  383. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/AaveDataTypes.sol/AaveDataTypes.dbg.json +4 -0
  384. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/AaveDataTypes.sol/AaveDataTypes.json +10 -0
  385. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAToken.sol/IAToken.dbg.json +4 -0
  386. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAToken.sol/IAToken.json +246 -0
  387. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveOracle.sol/IAaveOracle.dbg.json +4 -0
  388. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveOracle.sol/IAaveOracle.json +120 -0
  389. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +4 -0
  390. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveRewardsController.sol/IAaveRewardsController.json +724 -0
  391. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPool.sol/IPool.dbg.json +4 -0
  392. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPool.sol/IPool.json +1600 -0
  393. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolAddressesProvider.sol/IPoolAddressesProvider.dbg.json +4 -0
  394. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolAddressesProvider.sol/IPoolAddressesProvider.json +507 -0
  395. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolDataProviderV3.sol/IPoolDataProviderV3.dbg.json +4 -0
  396. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolDataProviderV3.sol/IPoolDataProviderV3.json +577 -0
  397. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPriceOracleGetter.sol/IPriceOracleGetter.dbg.json +4 -0
  398. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPriceOracleGetter.sol/IPriceOracleGetter.json +56 -0
  399. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.dbg.json +4 -0
  400. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.json +633 -0
  401. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.dbg.json +4 -0
  402. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.json +298 -0
  403. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IIrm.dbg.json +4 -0
  404. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IIrm.json +234 -0
  405. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IMorpho.dbg.json +4 -0
  406. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IMorpho.json +1033 -0
  407. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorphoOracle.sol/IMorphoOracle.dbg.json +4 -0
  408. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorphoOracle.sol/IMorphoOracle.json +24 -0
  409. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/MathLib.sol/MathLib.dbg.json +4 -0
  410. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/MathLib.sol/MathLib.json +10 -0
  411. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/SharesMathLib.sol/SharesMathLib.dbg.json +4 -0
  412. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/SharesMathLib.sol/SharesMathLib.json +10 -0
  413. package/build/artifacts/contracts/pt-looping/vendor/bungee/IBungeeInbox.sol/IBungeeSORInbox.dbg.json +4 -0
  414. package/build/artifacts/contracts/pt-looping/vendor/bungee/IBungeeInbox.sol/IBungeeSORInbox.json +143 -0
  415. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  416. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  417. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  418. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  419. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  420. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  421. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  422. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  423. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  424. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  425. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  426. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  427. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  428. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  429. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  430. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  431. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  432. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  433. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  434. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  435. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  436. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  437. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  438. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  439. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  440. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  441. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  442. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  443. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  444. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  445. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  446. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  447. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  448. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  449. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  450. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  451. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  452. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  453. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  454. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  455. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.json +2 -2
  456. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  457. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  458. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  459. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  460. package/contracts/cross-chain/{PendleSwapHelper.sol → OFTPTSwapper.sol} +4 -3
  461. package/contracts/interfaces/IMoneyMarket.sol +60 -0
  462. package/contracts/interfaces/IMoneyMarketView.sol +42 -0
  463. package/contracts/interfaces/IPBridgeDataVerifier.sol +23 -0
  464. package/contracts/interfaces/IPLoopPositionBox.sol +38 -0
  465. package/contracts/interfaces/IPLoopPositionBoxFactory.sol +37 -0
  466. package/contracts/interfaces/{IPSwapHelper.sol → IPOFTPTSwapper.sol} +1 -1
  467. package/contracts/interfaces/IPPTLooper.sol +301 -0
  468. package/contracts/interfaces/IPPTLooperView.sol +35 -0
  469. package/contracts/interfaces/IPPostPtLoopStateChecker.sol +8 -0
  470. package/contracts/interfaces/IPStaticQuoter.sol +13 -0
  471. package/contracts/pt-looping/BridgeDataVerifier.sol +158 -0
  472. package/contracts/pt-looping/PTLooperBase.sol +236 -0
  473. package/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol +210 -0
  474. package/contracts/pt-looping/PendlePTLooper.sol +318 -0
  475. package/contracts/pt-looping/PendlePTLooperView.sol +42 -0
  476. package/contracts/pt-looping/PostPtLoopStateChecker.sol +79 -0
  477. package/contracts/pt-looping/StaticStableQuoter.sol +46 -0
  478. package/contracts/pt-looping/loop-position-box/LoopPositionBox.sol +85 -0
  479. package/contracts/pt-looping/loop-position-box/LoopPositionBoxFactory.sol +123 -0
  480. package/contracts/pt-looping/money-market/BaseMoneyMarket.sol +129 -0
  481. package/contracts/pt-looping/money-market/BaseMoneyMarketView.sol +123 -0
  482. package/contracts/pt-looping/money-market/implementations/aave/AaveMMPayloadLib.sol +16 -0
  483. package/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol +123 -0
  484. package/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol +200 -0
  485. package/contracts/pt-looping/money-market/implementations/aave/dependencies/AaveDataTypes.sol +259 -0
  486. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IAToken.sol +8 -0
  487. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveOracle.sol +33 -0
  488. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveRewardsController.sol +68 -0
  489. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPool.sol +664 -0
  490. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolAddressesProvider.sol +227 -0
  491. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolDataProviderV3.sol +228 -0
  492. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPriceOracleGetter.sol +32 -0
  493. package/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol +123 -0
  494. package/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol +66 -0
  495. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol +300 -0
  496. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorphoOracle.sol +14 -0
  497. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/MathLib.sol +35 -0
  498. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/SharesMathLib.sol +42 -0
  499. package/contracts/pt-looping/vendor/bungee/IBungeeInbox.sol +36 -0
  500. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +4 -1
  501. package/deployments/1-core.json +4 -1
  502. package/deployments/130-core.json +2 -1
  503. package/deployments/143-core.json +2 -1
  504. package/deployments/42161-core.json +2 -1
  505. package/deployments/4217-core.json +5 -1
  506. package/deployments/43114-core.json +2 -1
  507. package/deployments/56-core.json +2 -1
  508. package/deployments/57073-core.json +2 -1
  509. package/deployments/747474-core.json +2 -1
  510. package/deployments/8453-core.json +2 -1
  511. package/deployments/9745-core.json +2 -1
  512. package/deployments/999-core.json +2 -1
  513. package/package.json +2 -1
  514. package/typechain-types/AaveMoneyMarket.ts +147 -290
  515. package/typechain-types/AaveMoneyMarketView.ts +0 -13
  516. package/typechain-types/BaseMoneyMarket.ts +147 -271
  517. package/typechain-types/BridgeDataVerifier.ts +564 -0
  518. package/typechain-types/IBungeeSORInbox.ts +192 -0
  519. package/typechain-types/IMoneyMarket.ts +124 -282
  520. package/typechain-types/IMoneyMarketEvents.ts +31 -56
  521. package/typechain-types/IPBridgeDataVerifier.ts +148 -0
  522. package/typechain-types/IPLoopPositionBox.ts +0 -13
  523. package/typechain-types/IPLoopPositionBoxFactory.ts +5 -39
  524. package/typechain-types/IPOFTPTSwapper.ts +161 -0
  525. package/typechain-types/IPPTLooper.ts +658 -695
  526. package/typechain-types/IPPTLooperView.ts +56 -251
  527. package/typechain-types/IPPostPtLoopStateChecker.ts +106 -0
  528. package/typechain-types/IPStaticQuoter.ts +132 -0
  529. package/typechain-types/IPool.ts +8 -8
  530. package/typechain-types/IPoolDataProviderV3.ts +76 -8
  531. package/typechain-types/LoopPositionBox.ts +25 -38
  532. package/typechain-types/LoopPositionBoxFactory.ts +17 -51
  533. package/typechain-types/MorphoBlueMoneyMarket.ts +141 -286
  534. package/typechain-types/MorphoBlueMoneyMarketView.ts +0 -21
  535. package/typechain-types/OFTPTSwapper.ts +161 -0
  536. package/typechain-types/PTLooperBase.ts +671 -708
  537. package/typechain-types/PendlePTLooper.ts +671 -708
  538. package/typechain-types/PendlePTLooperView.ts +71 -266
  539. package/typechain-types/PostPtLoopStateChecker.ts +151 -0
  540. package/typechain-types/StaticStableQuoter.ts +395 -0
  541. package/typechain-types/factories/AaveMoneyMarketView__factory.ts +1 -23
  542. package/typechain-types/factories/AaveMoneyMarket__factory.ts +265 -267
  543. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  544. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  545. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  546. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  547. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  548. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  549. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  550. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  551. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  552. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  553. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  554. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  555. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  556. package/typechain-types/factories/AddressCast__factory.ts +1 -1
  557. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  558. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  559. package/typechain-types/factories/BaseMoneyMarket__factory.ts +264 -244
  560. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  561. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  562. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  563. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  564. package/typechain-types/factories/BridgeDataVerifier__factory.ts +463 -0
  565. package/typechain-types/factories/BridgeFunder__factory.ts +1 -1
  566. package/typechain-types/factories/DVNOptions__factory.ts +1 -1
  567. package/typechain-types/factories/DepositBoxFactory__factory.ts +1 -1
  568. package/typechain-types/factories/DepositBox__factory.ts +1 -1
  569. package/typechain-types/factories/ERC1967Proxy__factory.ts +1 -1
  570. package/typechain-types/factories/ERC20Upgradeable__factory.ts +1 -1
  571. package/typechain-types/factories/ERC20__factory.ts +1 -1
  572. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  573. package/typechain-types/factories/Errors__factory.ts +1 -1
  574. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +1 -1
  575. package/typechain-types/factories/ExecutorOptions__factory.ts +1 -1
  576. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  577. package/typechain-types/factories/FixedPricePTAMMV2__factory.ts +1 -1
  578. package/typechain-types/factories/IBungeeSORInbox__factory.ts +158 -0
  579. package/typechain-types/factories/IMoneyMarketEvents__factory.ts +11 -61
  580. package/typechain-types/factories/IMoneyMarket__factory.ts +250 -256
  581. package/typechain-types/factories/IPBridgeDataVerifier__factory.ts +100 -0
  582. package/typechain-types/factories/IPLoopPositionBoxFactory__factory.ts +8 -32
  583. package/typechain-types/factories/IPLoopPositionBox__factory.ts +0 -13
  584. package/typechain-types/factories/IPOFTPTSwapper__factory.ts +114 -0
  585. package/typechain-types/factories/IPPTLooperView__factory.ts +94 -201
  586. package/typechain-types/factories/IPPTLooper__factory.ts +1030 -1043
  587. package/typechain-types/factories/IPPostPtLoopStateChecker__factory.ts +48 -0
  588. package/typechain-types/factories/IPStaticQuoter__factory.ts +70 -0
  589. package/typechain-types/factories/IPoolDataProviderV3__factory.ts +39 -1
  590. package/typechain-types/factories/IPool__factory.ts +2 -2
  591. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  592. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  593. package/typechain-types/factories/LoopPositionBoxFactory__factory.ts +26 -50
  594. package/typechain-types/factories/LoopPositionBox__factory.ts +11 -35
  595. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  596. package/typechain-types/factories/MorphoBlueMoneyMarketView__factory.ts +1 -14
  597. package/typechain-types/factories/MorphoBlueMoneyMarket__factory.ts +257 -250
  598. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  599. package/typechain-types/factories/NonceManager__factory.ts +1 -1
  600. package/typechain-types/factories/OFTAdapterAltImpl__factory.ts +1 -1
  601. package/typechain-types/factories/OFTAdapterImpl__factory.ts +1 -1
  602. package/typechain-types/factories/OFTAdapter__factory.ts +0 -11
  603. package/typechain-types/factories/OFTPTSwapper__factory.ts +149 -0
  604. package/typechain-types/factories/OptionsBuilder__factory.ts +1 -1
  605. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  606. package/typechain-types/factories/PTLooperBase__factory.ts +1122 -1135
  607. package/typechain-types/factories/PendleAPIFeeDepositor__factory.ts +1 -1
  608. package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
  609. package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
  610. package/typechain-types/factories/PendleBridgePTFactory__factory.ts +1 -1
  611. package/typechain-types/factories/PendleBridgedPrincipalTokenAlt__factory.ts +1 -1
  612. package/typechain-types/factories/PendleBridgedPrincipalToken__factory.ts +1 -1
  613. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  614. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  615. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  616. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  617. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +1 -1
  618. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +1 -1
  619. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  620. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +1 -1
  621. package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +1 -1
  622. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  623. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  624. package/typechain-types/factories/PendleFeeSetter__factory.ts +1 -1
  625. package/typechain-types/factories/PendleGaugeControllerUpg__factory.ts +1 -1
  626. package/typechain-types/factories/PendleGovernanceProxy__factory.ts +1 -1
  627. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  628. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  629. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  630. package/typechain-types/factories/PendleLinearDiscountOracleWrapper__factory.ts +1 -1
  631. package/typechain-types/factories/PendleLpLinearDiscountOracleFactory__factory.ts +1 -1
  632. package/typechain-types/factories/PendleLpLinearDiscountOracle__factory.ts +1 -1
  633. package/typechain-types/factories/PendleMarketFactoryV7Upg__factory.ts +1 -1
  634. package/typechain-types/factories/PendleMarketV7__factory.ts +1 -1
  635. package/typechain-types/factories/PendleMerkleDepositor__factory.ts +1 -1
  636. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  637. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  638. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  639. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  640. package/typechain-types/factories/PendleMulticallOwnerV1__factory.ts +1 -1
  641. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  642. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  643. package/typechain-types/factories/PendleOFTAlt__factory.ts +1 -1
  644. package/typechain-types/factories/PendleOFT__factory.ts +1 -1
  645. package/typechain-types/factories/PendleOffchainStorage__factory.ts +1 -1
  646. package/typechain-types/factories/PendlePTLooperView__factory.ts +100 -207
  647. package/typechain-types/factories/PendlePTLooper__factory.ts +1132 -1136
  648. package/typechain-types/factories/PendlePTOFTAdapterFactory__factory.ts +1 -1
  649. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  650. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  651. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  652. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  653. package/typechain-types/factories/PendleProxyAdmin__factory.ts +1 -1
  654. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  655. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  656. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  657. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  658. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  659. package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +1 -1
  660. package/typechain-types/factories/PendleSwapHelper__factory.ts +1 -1
  661. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  662. package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +1 -1
  663. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  664. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  665. package/typechain-types/factories/PostPtLoopStateChecker__factory.ts +141 -0
  666. package/typechain-types/factories/ProxyAdmin__factory.ts +1 -1
  667. package/typechain-types/factories/Reflector__factory.ts +1 -1
  668. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
  669. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  670. package/typechain-types/factories/StakedPendle__factory.ts +1 -1
  671. package/typechain-types/factories/StaticStableQuoter__factory.ts +286 -0
  672. package/typechain-types/factories/SupplyCapReader__factory.ts +1 -1
  673. package/typechain-types/factories/TransparentUpgradeableProxy__factory.ts +1 -1
  674. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  675. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  676. package/typechain-types/hardhat.d.ts +360 -0
  677. package/typechain-types/index.ts +80 -0
  678. package/build/artifacts/contracts/cross-chain/PendleSwapHelper.sol/PendleSwapHelper.dbg.json +0 -4
  679. package/build/artifacts/contracts/cross-chain/PendleSwapHelper.sol/PendleSwapHelper.json +0 -99
  680. package/build/artifacts/contracts/interfaces/IPSwapHelper.sol/IPSwapHelper.dbg.json +0 -4
@@ -0,0 +1,2660 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendlePTLooper",
4
+ "sourceName": "contracts/pt-looping/PendlePTLooper.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "treasury",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "positionBoxFactory",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "postStateChecker",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [],
30
+ "name": "EIP712DomainChanged",
31
+ "type": "event"
32
+ },
33
+ {
34
+ "anonymous": false,
35
+ "inputs": [
36
+ {
37
+ "indexed": false,
38
+ "internalType": "uint8",
39
+ "name": "version",
40
+ "type": "uint8"
41
+ }
42
+ ],
43
+ "name": "Initialized",
44
+ "type": "event"
45
+ },
46
+ {
47
+ "anonymous": false,
48
+ "inputs": [
49
+ {
50
+ "indexed": true,
51
+ "internalType": "contract IPLoopPositionBox",
52
+ "name": "box",
53
+ "type": "address"
54
+ },
55
+ {
56
+ "indexed": false,
57
+ "internalType": "uint256",
58
+ "name": "ptLent",
59
+ "type": "uint256"
60
+ },
61
+ {
62
+ "indexed": false,
63
+ "internalType": "uint256",
64
+ "name": "debtBorrowed",
65
+ "type": "uint256"
66
+ }
67
+ ],
68
+ "name": "MoneyMarketLentThenBorrowed",
69
+ "type": "event"
70
+ },
71
+ {
72
+ "anonymous": false,
73
+ "inputs": [
74
+ {
75
+ "indexed": true,
76
+ "internalType": "contract IPLoopPositionBox",
77
+ "name": "box",
78
+ "type": "address"
79
+ },
80
+ {
81
+ "indexed": false,
82
+ "internalType": "uint256",
83
+ "name": "debtRepaid",
84
+ "type": "uint256"
85
+ },
86
+ {
87
+ "indexed": false,
88
+ "internalType": "uint256",
89
+ "name": "ptWithdrawn",
90
+ "type": "uint256"
91
+ }
92
+ ],
93
+ "name": "MoneyMarketRepaidThenWithdrawn",
94
+ "type": "event"
95
+ },
96
+ {
97
+ "anonymous": false,
98
+ "inputs": [
99
+ {
100
+ "indexed": true,
101
+ "internalType": "address",
102
+ "name": "previousOwner",
103
+ "type": "address"
104
+ },
105
+ {
106
+ "indexed": true,
107
+ "internalType": "address",
108
+ "name": "newOwner",
109
+ "type": "address"
110
+ }
111
+ ],
112
+ "name": "OwnershipTransferred",
113
+ "type": "event"
114
+ },
115
+ {
116
+ "anonymous": false,
117
+ "inputs": [
118
+ {
119
+ "indexed": true,
120
+ "internalType": "address",
121
+ "name": "owner",
122
+ "type": "address"
123
+ },
124
+ {
125
+ "indexed": true,
126
+ "internalType": "bytes32",
127
+ "name": "boxId",
128
+ "type": "bytes32"
129
+ },
130
+ {
131
+ "indexed": false,
132
+ "internalType": "bytes32",
133
+ "name": "requestHash",
134
+ "type": "bytes32"
135
+ },
136
+ {
137
+ "indexed": false,
138
+ "internalType": "uint256",
139
+ "name": "nonce",
140
+ "type": "uint256"
141
+ },
142
+ {
143
+ "indexed": false,
144
+ "internalType": "uint256",
145
+ "name": "preDebtBalance",
146
+ "type": "uint256"
147
+ },
148
+ {
149
+ "indexed": false,
150
+ "internalType": "uint256",
151
+ "name": "netPtToSwap",
152
+ "type": "uint256"
153
+ },
154
+ {
155
+ "indexed": false,
156
+ "internalType": "uint256",
157
+ "name": "postDebtBalance",
158
+ "type": "uint256"
159
+ }
160
+ ],
161
+ "name": "PositionDecreased",
162
+ "type": "event"
163
+ },
164
+ {
165
+ "anonymous": false,
166
+ "inputs": [
167
+ {
168
+ "indexed": true,
169
+ "internalType": "address",
170
+ "name": "owner",
171
+ "type": "address"
172
+ },
173
+ {
174
+ "indexed": true,
175
+ "internalType": "bytes32",
176
+ "name": "boxId",
177
+ "type": "bytes32"
178
+ },
179
+ {
180
+ "indexed": false,
181
+ "internalType": "bytes32",
182
+ "name": "requestHash",
183
+ "type": "bytes32"
184
+ },
185
+ {
186
+ "indexed": false,
187
+ "internalType": "uint256",
188
+ "name": "nonce",
189
+ "type": "uint256"
190
+ },
191
+ {
192
+ "indexed": false,
193
+ "internalType": "uint256",
194
+ "name": "preInBalance",
195
+ "type": "uint256"
196
+ },
197
+ {
198
+ "indexed": false,
199
+ "internalType": "uint256",
200
+ "name": "netPtToMM",
201
+ "type": "uint256"
202
+ },
203
+ {
204
+ "indexed": false,
205
+ "internalType": "uint256",
206
+ "name": "postDebtBalance",
207
+ "type": "uint256"
208
+ }
209
+ ],
210
+ "name": "PositionIncreased",
211
+ "type": "event"
212
+ },
213
+ {
214
+ "anonymous": false,
215
+ "inputs": [
216
+ {
217
+ "indexed": true,
218
+ "internalType": "address",
219
+ "name": "owner",
220
+ "type": "address"
221
+ },
222
+ {
223
+ "indexed": true,
224
+ "internalType": "bytes32",
225
+ "name": "boxId",
226
+ "type": "bytes32"
227
+ },
228
+ {
229
+ "indexed": false,
230
+ "internalType": "bytes32",
231
+ "name": "requestHash",
232
+ "type": "bytes32"
233
+ },
234
+ {
235
+ "indexed": false,
236
+ "internalType": "uint256",
237
+ "name": "nonce",
238
+ "type": "uint256"
239
+ },
240
+ {
241
+ "indexed": false,
242
+ "internalType": "address[]",
243
+ "name": "rewardTokens",
244
+ "type": "address[]"
245
+ },
246
+ {
247
+ "indexed": false,
248
+ "internalType": "uint256[]",
249
+ "name": "claimedAmounts",
250
+ "type": "uint256[]"
251
+ }
252
+ ],
253
+ "name": "RewardsClaimed",
254
+ "type": "event"
255
+ },
256
+ {
257
+ "anonymous": false,
258
+ "inputs": [
259
+ {
260
+ "indexed": true,
261
+ "internalType": "address",
262
+ "name": "owner",
263
+ "type": "address"
264
+ },
265
+ {
266
+ "indexed": true,
267
+ "internalType": "bytes32",
268
+ "name": "boxId",
269
+ "type": "bytes32"
270
+ },
271
+ {
272
+ "indexed": false,
273
+ "internalType": "bytes32",
274
+ "name": "requestHash",
275
+ "type": "bytes32"
276
+ },
277
+ {
278
+ "indexed": false,
279
+ "internalType": "uint32",
280
+ "name": "sessionNonce",
281
+ "type": "uint32"
282
+ }
283
+ ],
284
+ "name": "SessionInitiated",
285
+ "type": "event"
286
+ },
287
+ {
288
+ "anonymous": false,
289
+ "inputs": [
290
+ {
291
+ "indexed": true,
292
+ "internalType": "address",
293
+ "name": "owner",
294
+ "type": "address"
295
+ },
296
+ {
297
+ "indexed": true,
298
+ "internalType": "bytes32",
299
+ "name": "boxId",
300
+ "type": "bytes32"
301
+ },
302
+ {
303
+ "indexed": false,
304
+ "internalType": "bytes32",
305
+ "name": "requestHash",
306
+ "type": "bytes32"
307
+ },
308
+ {
309
+ "indexed": false,
310
+ "internalType": "uint32",
311
+ "name": "sessionNonce",
312
+ "type": "uint32"
313
+ }
314
+ ],
315
+ "name": "SessionTerminated",
316
+ "type": "event"
317
+ },
318
+ {
319
+ "anonymous": false,
320
+ "inputs": [
321
+ {
322
+ "indexed": false,
323
+ "internalType": "address",
324
+ "name": "executor",
325
+ "type": "address"
326
+ }
327
+ ],
328
+ "name": "SetExecutor",
329
+ "type": "event"
330
+ },
331
+ {
332
+ "anonymous": false,
333
+ "inputs": [
334
+ {
335
+ "indexed": false,
336
+ "internalType": "address",
337
+ "name": "proposer",
338
+ "type": "address"
339
+ }
340
+ ],
341
+ "name": "SetProposer",
342
+ "type": "event"
343
+ },
344
+ {
345
+ "anonymous": false,
346
+ "inputs": [
347
+ {
348
+ "indexed": true,
349
+ "internalType": "contract IPLoopPositionBox",
350
+ "name": "box",
351
+ "type": "address"
352
+ },
353
+ {
354
+ "indexed": true,
355
+ "internalType": "address",
356
+ "name": "token",
357
+ "type": "address"
358
+ },
359
+ {
360
+ "indexed": false,
361
+ "internalType": "uint256",
362
+ "name": "amount",
363
+ "type": "uint256"
364
+ }
365
+ ],
366
+ "name": "TokenBridged",
367
+ "type": "event"
368
+ },
369
+ {
370
+ "anonymous": false,
371
+ "inputs": [
372
+ {
373
+ "indexed": true,
374
+ "internalType": "contract IPLoopPositionBox",
375
+ "name": "box",
376
+ "type": "address"
377
+ },
378
+ {
379
+ "indexed": true,
380
+ "internalType": "address",
381
+ "name": "tokenIn",
382
+ "type": "address"
383
+ },
384
+ {
385
+ "indexed": false,
386
+ "internalType": "uint256",
387
+ "name": "netIn",
388
+ "type": "uint256"
389
+ },
390
+ {
391
+ "indexed": true,
392
+ "internalType": "address",
393
+ "name": "tokenOut",
394
+ "type": "address"
395
+ },
396
+ {
397
+ "indexed": false,
398
+ "internalType": "uint256",
399
+ "name": "netSwappedOut",
400
+ "type": "uint256"
401
+ }
402
+ ],
403
+ "name": "TokenSwapped",
404
+ "type": "event"
405
+ },
406
+ {
407
+ "anonymous": false,
408
+ "inputs": [
409
+ {
410
+ "indexed": true,
411
+ "internalType": "address",
412
+ "name": "owner",
413
+ "type": "address"
414
+ },
415
+ {
416
+ "indexed": true,
417
+ "internalType": "bytes32",
418
+ "name": "boxId",
419
+ "type": "bytes32"
420
+ },
421
+ {
422
+ "indexed": false,
423
+ "internalType": "bytes32",
424
+ "name": "requestHash",
425
+ "type": "bytes32"
426
+ },
427
+ {
428
+ "indexed": false,
429
+ "internalType": "uint256",
430
+ "name": "nonce",
431
+ "type": "uint256"
432
+ },
433
+ {
434
+ "indexed": false,
435
+ "internalType": "address",
436
+ "name": "tokenOut",
437
+ "type": "address"
438
+ },
439
+ {
440
+ "indexed": false,
441
+ "internalType": "uint256",
442
+ "name": "netOut",
443
+ "type": "uint256"
444
+ }
445
+ ],
446
+ "name": "Withdrawn",
447
+ "type": "event"
448
+ },
449
+ {
450
+ "inputs": [],
451
+ "name": "POSITION_BOX_FACTORY",
452
+ "outputs": [
453
+ {
454
+ "internalType": "contract IPLoopPositionBoxFactory",
455
+ "name": "",
456
+ "type": "address"
457
+ }
458
+ ],
459
+ "stateMutability": "view",
460
+ "type": "function"
461
+ },
462
+ {
463
+ "inputs": [],
464
+ "name": "POST_LOOP_STATE_CHECKER",
465
+ "outputs": [
466
+ {
467
+ "internalType": "contract IPPostPtLoopStateChecker",
468
+ "name": "",
469
+ "type": "address"
470
+ }
471
+ ],
472
+ "stateMutability": "view",
473
+ "type": "function"
474
+ },
475
+ {
476
+ "inputs": [],
477
+ "name": "TREASURY",
478
+ "outputs": [
479
+ {
480
+ "internalType": "address",
481
+ "name": "",
482
+ "type": "address"
483
+ }
484
+ ],
485
+ "stateMutability": "view",
486
+ "type": "function"
487
+ },
488
+ {
489
+ "inputs": [
490
+ {
491
+ "components": [
492
+ {
493
+ "components": [
494
+ {
495
+ "internalType": "address",
496
+ "name": "owner",
497
+ "type": "address"
498
+ },
499
+ {
500
+ "internalType": "bytes32",
501
+ "name": "boxId",
502
+ "type": "bytes32"
503
+ },
504
+ {
505
+ "internalType": "uint256",
506
+ "name": "expiry",
507
+ "type": "uint256"
508
+ },
509
+ {
510
+ "internalType": "uint256",
511
+ "name": "nonce",
512
+ "type": "uint256"
513
+ }
514
+ ],
515
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
516
+ "name": "permit",
517
+ "type": "tuple"
518
+ }
519
+ ],
520
+ "internalType": "struct IPPTLooperEIP712Types.ClaimMMRewardsMessage",
521
+ "name": "ms",
522
+ "type": "tuple"
523
+ },
524
+ {
525
+ "internalType": "bytes",
526
+ "name": "proposerSig",
527
+ "type": "bytes"
528
+ },
529
+ {
530
+ "components": [
531
+ {
532
+ "components": [
533
+ {
534
+ "internalType": "bytes32",
535
+ "name": "boxId",
536
+ "type": "bytes32"
537
+ },
538
+ {
539
+ "internalType": "uint256",
540
+ "name": "expiry",
541
+ "type": "uint256"
542
+ },
543
+ {
544
+ "internalType": "uint32",
545
+ "name": "sessionNonce",
546
+ "type": "uint32"
547
+ },
548
+ {
549
+ "internalType": "uint32",
550
+ "name": "permitNonceCap",
551
+ "type": "uint32"
552
+ },
553
+ {
554
+ "internalType": "uint256",
555
+ "name": "swapBridgeSlippage",
556
+ "type": "uint256"
557
+ },
558
+ {
559
+ "internalType": "bytes",
560
+ "name": "offchainMetadata",
561
+ "type": "bytes"
562
+ }
563
+ ],
564
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
565
+ "name": "header",
566
+ "type": "tuple"
567
+ },
568
+ {
569
+ "internalType": "address",
570
+ "name": "extRewardController",
571
+ "type": "address"
572
+ },
573
+ {
574
+ "internalType": "bytes",
575
+ "name": "data",
576
+ "type": "bytes"
577
+ },
578
+ {
579
+ "internalType": "address[]",
580
+ "name": "rewardTokens",
581
+ "type": "address[]"
582
+ }
583
+ ],
584
+ "internalType": "struct IPPTLooperEIP712Types.ClaimMMRewardsRequest",
585
+ "name": "req",
586
+ "type": "tuple"
587
+ },
588
+ {
589
+ "internalType": "bytes",
590
+ "name": "ownerSigIfFirstCall",
591
+ "type": "bytes"
592
+ }
593
+ ],
594
+ "name": "claimMMRewards",
595
+ "outputs": [],
596
+ "stateMutability": "nonpayable",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [],
601
+ "name": "claimOwnership",
602
+ "outputs": [],
603
+ "stateMutability": "nonpayable",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [
608
+ {
609
+ "components": [
610
+ {
611
+ "components": [
612
+ {
613
+ "internalType": "address",
614
+ "name": "owner",
615
+ "type": "address"
616
+ },
617
+ {
618
+ "internalType": "bytes32",
619
+ "name": "boxId",
620
+ "type": "bytes32"
621
+ },
622
+ {
623
+ "internalType": "uint256",
624
+ "name": "expiry",
625
+ "type": "uint256"
626
+ },
627
+ {
628
+ "internalType": "uint256",
629
+ "name": "nonce",
630
+ "type": "uint256"
631
+ }
632
+ ],
633
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
634
+ "name": "permit",
635
+ "type": "tuple"
636
+ },
637
+ {
638
+ "components": [
639
+ {
640
+ "internalType": "address",
641
+ "name": "extRouter",
642
+ "type": "address"
643
+ },
644
+ {
645
+ "internalType": "address",
646
+ "name": "approve",
647
+ "type": "address"
648
+ },
649
+ {
650
+ "internalType": "bytes",
651
+ "name": "callData",
652
+ "type": "bytes"
653
+ }
654
+ ],
655
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
656
+ "name": "swap",
657
+ "type": "tuple"
658
+ },
659
+ {
660
+ "components": [
661
+ {
662
+ "components": [
663
+ {
664
+ "internalType": "address",
665
+ "name": "extRouter",
666
+ "type": "address"
667
+ },
668
+ {
669
+ "internalType": "address",
670
+ "name": "approve",
671
+ "type": "address"
672
+ },
673
+ {
674
+ "internalType": "bytes",
675
+ "name": "callData",
676
+ "type": "bytes"
677
+ }
678
+ ],
679
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
680
+ "name": "call",
681
+ "type": "tuple"
682
+ },
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "maxAmount",
686
+ "type": "uint256"
687
+ },
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "nativeFee",
691
+ "type": "uint256"
692
+ }
693
+ ],
694
+ "internalType": "struct IPPTLooperEIP712Types.BridgeData",
695
+ "name": "bridge",
696
+ "type": "tuple"
697
+ },
698
+ {
699
+ "internalType": "uint256",
700
+ "name": "amountPtWithdrawn",
701
+ "type": "uint256"
702
+ },
703
+ {
704
+ "internalType": "bytes",
705
+ "name": "postStateCheckData",
706
+ "type": "bytes"
707
+ }
708
+ ],
709
+ "internalType": "struct IPPTLooperEIP712Types.DecreasePositionMessage",
710
+ "name": "ms",
711
+ "type": "tuple"
712
+ },
713
+ {
714
+ "internalType": "bytes",
715
+ "name": "proposerSig",
716
+ "type": "bytes"
717
+ },
718
+ {
719
+ "components": [
720
+ {
721
+ "components": [
722
+ {
723
+ "internalType": "bytes32",
724
+ "name": "boxId",
725
+ "type": "bytes32"
726
+ },
727
+ {
728
+ "internalType": "uint256",
729
+ "name": "expiry",
730
+ "type": "uint256"
731
+ },
732
+ {
733
+ "internalType": "uint32",
734
+ "name": "sessionNonce",
735
+ "type": "uint32"
736
+ },
737
+ {
738
+ "internalType": "uint32",
739
+ "name": "permitNonceCap",
740
+ "type": "uint32"
741
+ },
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "swapBridgeSlippage",
745
+ "type": "uint256"
746
+ },
747
+ {
748
+ "internalType": "bytes",
749
+ "name": "offchainMetadata",
750
+ "type": "bytes"
751
+ }
752
+ ],
753
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
754
+ "name": "header",
755
+ "type": "tuple"
756
+ },
757
+ {
758
+ "internalType": "uint256",
759
+ "name": "minPtToDebtSwapRate",
760
+ "type": "uint256"
761
+ },
762
+ {
763
+ "internalType": "uint256",
764
+ "name": "postWithdrawMaxLTV",
765
+ "type": "uint256"
766
+ }
767
+ ],
768
+ "internalType": "struct IPPTLooperEIP712Types.DecreasePositionRequest",
769
+ "name": "req",
770
+ "type": "tuple"
771
+ },
772
+ {
773
+ "internalType": "bytes",
774
+ "name": "ownerSigIfFirstCall",
775
+ "type": "bytes"
776
+ }
777
+ ],
778
+ "name": "decreaseLoopPosition",
779
+ "outputs": [],
780
+ "stateMutability": "payable",
781
+ "type": "function"
782
+ },
783
+ {
784
+ "inputs": [],
785
+ "name": "eip712Domain",
786
+ "outputs": [
787
+ {
788
+ "internalType": "bytes1",
789
+ "name": "fields",
790
+ "type": "bytes1"
791
+ },
792
+ {
793
+ "internalType": "string",
794
+ "name": "name",
795
+ "type": "string"
796
+ },
797
+ {
798
+ "internalType": "string",
799
+ "name": "version",
800
+ "type": "string"
801
+ },
802
+ {
803
+ "internalType": "uint256",
804
+ "name": "chainId",
805
+ "type": "uint256"
806
+ },
807
+ {
808
+ "internalType": "address",
809
+ "name": "verifyingContract",
810
+ "type": "address"
811
+ },
812
+ {
813
+ "internalType": "bytes32",
814
+ "name": "salt",
815
+ "type": "bytes32"
816
+ },
817
+ {
818
+ "internalType": "uint256[]",
819
+ "name": "extensions",
820
+ "type": "uint256[]"
821
+ }
822
+ ],
823
+ "stateMutability": "view",
824
+ "type": "function"
825
+ },
826
+ {
827
+ "inputs": [],
828
+ "name": "executor",
829
+ "outputs": [
830
+ {
831
+ "internalType": "address",
832
+ "name": "",
833
+ "type": "address"
834
+ }
835
+ ],
836
+ "stateMutability": "view",
837
+ "type": "function"
838
+ },
839
+ {
840
+ "inputs": [
841
+ {
842
+ "components": [
843
+ {
844
+ "components": [
845
+ {
846
+ "internalType": "bytes32",
847
+ "name": "boxId",
848
+ "type": "bytes32"
849
+ },
850
+ {
851
+ "internalType": "uint256",
852
+ "name": "expiry",
853
+ "type": "uint256"
854
+ },
855
+ {
856
+ "internalType": "uint32",
857
+ "name": "sessionNonce",
858
+ "type": "uint32"
859
+ },
860
+ {
861
+ "internalType": "uint32",
862
+ "name": "permitNonceCap",
863
+ "type": "uint32"
864
+ },
865
+ {
866
+ "internalType": "uint256",
867
+ "name": "swapBridgeSlippage",
868
+ "type": "uint256"
869
+ },
870
+ {
871
+ "internalType": "bytes",
872
+ "name": "offchainMetadata",
873
+ "type": "bytes"
874
+ }
875
+ ],
876
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
877
+ "name": "header",
878
+ "type": "tuple"
879
+ },
880
+ {
881
+ "internalType": "address",
882
+ "name": "initTokenIn",
883
+ "type": "address"
884
+ },
885
+ {
886
+ "internalType": "uint256",
887
+ "name": "initMinToPtSwapRate",
888
+ "type": "uint256"
889
+ },
890
+ {
891
+ "internalType": "uint256",
892
+ "name": "minDebtToPtSwapRate",
893
+ "type": "uint256"
894
+ },
895
+ {
896
+ "internalType": "uint256",
897
+ "name": "postBorrowMaxLTV",
898
+ "type": "uint256"
899
+ },
900
+ {
901
+ "internalType": "bool",
902
+ "name": "isZeroPriceImpact",
903
+ "type": "bool"
904
+ },
905
+ {
906
+ "internalType": "uint256",
907
+ "name": "maxFeeRate",
908
+ "type": "uint256"
909
+ }
910
+ ],
911
+ "internalType": "struct IPPTLooperEIP712Types.IncreasePositionRequest",
912
+ "name": "req",
913
+ "type": "tuple"
914
+ }
915
+ ],
916
+ "name": "hashRaw",
917
+ "outputs": [
918
+ {
919
+ "internalType": "bytes32",
920
+ "name": "",
921
+ "type": "bytes32"
922
+ }
923
+ ],
924
+ "stateMutability": "pure",
925
+ "type": "function"
926
+ },
927
+ {
928
+ "inputs": [
929
+ {
930
+ "components": [
931
+ {
932
+ "internalType": "bytes32",
933
+ "name": "boxId",
934
+ "type": "bytes32"
935
+ },
936
+ {
937
+ "internalType": "uint256",
938
+ "name": "expiry",
939
+ "type": "uint256"
940
+ },
941
+ {
942
+ "internalType": "uint32",
943
+ "name": "sessionNonce",
944
+ "type": "uint32"
945
+ },
946
+ {
947
+ "internalType": "uint32",
948
+ "name": "permitNonceCap",
949
+ "type": "uint32"
950
+ },
951
+ {
952
+ "internalType": "uint256",
953
+ "name": "swapBridgeSlippage",
954
+ "type": "uint256"
955
+ },
956
+ {
957
+ "internalType": "bytes",
958
+ "name": "offchainMetadata",
959
+ "type": "bytes"
960
+ }
961
+ ],
962
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
963
+ "name": "header",
964
+ "type": "tuple"
965
+ }
966
+ ],
967
+ "name": "hashRaw",
968
+ "outputs": [
969
+ {
970
+ "internalType": "bytes32",
971
+ "name": "",
972
+ "type": "bytes32"
973
+ }
974
+ ],
975
+ "stateMutability": "pure",
976
+ "type": "function"
977
+ },
978
+ {
979
+ "inputs": [
980
+ {
981
+ "components": [
982
+ {
983
+ "components": [
984
+ {
985
+ "internalType": "address",
986
+ "name": "owner",
987
+ "type": "address"
988
+ },
989
+ {
990
+ "internalType": "bytes32",
991
+ "name": "boxId",
992
+ "type": "bytes32"
993
+ },
994
+ {
995
+ "internalType": "uint256",
996
+ "name": "expiry",
997
+ "type": "uint256"
998
+ },
999
+ {
1000
+ "internalType": "uint256",
1001
+ "name": "nonce",
1002
+ "type": "uint256"
1003
+ }
1004
+ ],
1005
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
1006
+ "name": "permit",
1007
+ "type": "tuple"
1008
+ }
1009
+ ],
1010
+ "internalType": "struct IPPTLooperEIP712Types.ClaimMMRewardsMessage",
1011
+ "name": "ms",
1012
+ "type": "tuple"
1013
+ }
1014
+ ],
1015
+ "name": "hashRaw",
1016
+ "outputs": [
1017
+ {
1018
+ "internalType": "bytes32",
1019
+ "name": "",
1020
+ "type": "bytes32"
1021
+ }
1022
+ ],
1023
+ "stateMutability": "pure",
1024
+ "type": "function"
1025
+ },
1026
+ {
1027
+ "inputs": [
1028
+ {
1029
+ "components": [
1030
+ {
1031
+ "components": [
1032
+ {
1033
+ "internalType": "address",
1034
+ "name": "extRouter",
1035
+ "type": "address"
1036
+ },
1037
+ {
1038
+ "internalType": "address",
1039
+ "name": "approve",
1040
+ "type": "address"
1041
+ },
1042
+ {
1043
+ "internalType": "bytes",
1044
+ "name": "callData",
1045
+ "type": "bytes"
1046
+ }
1047
+ ],
1048
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
1049
+ "name": "call",
1050
+ "type": "tuple"
1051
+ },
1052
+ {
1053
+ "internalType": "uint256",
1054
+ "name": "maxAmount",
1055
+ "type": "uint256"
1056
+ },
1057
+ {
1058
+ "internalType": "uint256",
1059
+ "name": "nativeFee",
1060
+ "type": "uint256"
1061
+ }
1062
+ ],
1063
+ "internalType": "struct IPPTLooperEIP712Types.BridgeData",
1064
+ "name": "bridge",
1065
+ "type": "tuple"
1066
+ }
1067
+ ],
1068
+ "name": "hashRaw",
1069
+ "outputs": [
1070
+ {
1071
+ "internalType": "bytes32",
1072
+ "name": "",
1073
+ "type": "bytes32"
1074
+ }
1075
+ ],
1076
+ "stateMutability": "pure",
1077
+ "type": "function"
1078
+ },
1079
+ {
1080
+ "inputs": [
1081
+ {
1082
+ "components": [
1083
+ {
1084
+ "internalType": "address",
1085
+ "name": "owner",
1086
+ "type": "address"
1087
+ },
1088
+ {
1089
+ "internalType": "bytes32",
1090
+ "name": "boxId",
1091
+ "type": "bytes32"
1092
+ },
1093
+ {
1094
+ "internalType": "uint256",
1095
+ "name": "expiry",
1096
+ "type": "uint256"
1097
+ },
1098
+ {
1099
+ "internalType": "uint256",
1100
+ "name": "nonce",
1101
+ "type": "uint256"
1102
+ }
1103
+ ],
1104
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
1105
+ "name": "permit",
1106
+ "type": "tuple"
1107
+ }
1108
+ ],
1109
+ "name": "hashRaw",
1110
+ "outputs": [
1111
+ {
1112
+ "internalType": "bytes32",
1113
+ "name": "",
1114
+ "type": "bytes32"
1115
+ }
1116
+ ],
1117
+ "stateMutability": "pure",
1118
+ "type": "function"
1119
+ },
1120
+ {
1121
+ "inputs": [
1122
+ {
1123
+ "components": [
1124
+ {
1125
+ "components": [
1126
+ {
1127
+ "internalType": "bytes32",
1128
+ "name": "boxId",
1129
+ "type": "bytes32"
1130
+ },
1131
+ {
1132
+ "internalType": "uint256",
1133
+ "name": "expiry",
1134
+ "type": "uint256"
1135
+ },
1136
+ {
1137
+ "internalType": "uint32",
1138
+ "name": "sessionNonce",
1139
+ "type": "uint32"
1140
+ },
1141
+ {
1142
+ "internalType": "uint32",
1143
+ "name": "permitNonceCap",
1144
+ "type": "uint32"
1145
+ },
1146
+ {
1147
+ "internalType": "uint256",
1148
+ "name": "swapBridgeSlippage",
1149
+ "type": "uint256"
1150
+ },
1151
+ {
1152
+ "internalType": "bytes",
1153
+ "name": "offchainMetadata",
1154
+ "type": "bytes"
1155
+ }
1156
+ ],
1157
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
1158
+ "name": "header",
1159
+ "type": "tuple"
1160
+ },
1161
+ {
1162
+ "internalType": "address",
1163
+ "name": "extRewardController",
1164
+ "type": "address"
1165
+ },
1166
+ {
1167
+ "internalType": "bytes",
1168
+ "name": "data",
1169
+ "type": "bytes"
1170
+ },
1171
+ {
1172
+ "internalType": "address[]",
1173
+ "name": "rewardTokens",
1174
+ "type": "address[]"
1175
+ }
1176
+ ],
1177
+ "internalType": "struct IPPTLooperEIP712Types.ClaimMMRewardsRequest",
1178
+ "name": "req",
1179
+ "type": "tuple"
1180
+ }
1181
+ ],
1182
+ "name": "hashRaw",
1183
+ "outputs": [
1184
+ {
1185
+ "internalType": "bytes32",
1186
+ "name": "",
1187
+ "type": "bytes32"
1188
+ }
1189
+ ],
1190
+ "stateMutability": "pure",
1191
+ "type": "function"
1192
+ },
1193
+ {
1194
+ "inputs": [
1195
+ {
1196
+ "components": [
1197
+ {
1198
+ "components": [
1199
+ {
1200
+ "internalType": "bytes32",
1201
+ "name": "boxId",
1202
+ "type": "bytes32"
1203
+ },
1204
+ {
1205
+ "internalType": "uint256",
1206
+ "name": "expiry",
1207
+ "type": "uint256"
1208
+ },
1209
+ {
1210
+ "internalType": "uint32",
1211
+ "name": "sessionNonce",
1212
+ "type": "uint32"
1213
+ },
1214
+ {
1215
+ "internalType": "uint32",
1216
+ "name": "permitNonceCap",
1217
+ "type": "uint32"
1218
+ },
1219
+ {
1220
+ "internalType": "uint256",
1221
+ "name": "swapBridgeSlippage",
1222
+ "type": "uint256"
1223
+ },
1224
+ {
1225
+ "internalType": "bytes",
1226
+ "name": "offchainMetadata",
1227
+ "type": "bytes"
1228
+ }
1229
+ ],
1230
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
1231
+ "name": "header",
1232
+ "type": "tuple"
1233
+ },
1234
+ {
1235
+ "internalType": "uint256",
1236
+ "name": "minPtToDebtSwapRate",
1237
+ "type": "uint256"
1238
+ },
1239
+ {
1240
+ "internalType": "uint256",
1241
+ "name": "postWithdrawMaxLTV",
1242
+ "type": "uint256"
1243
+ }
1244
+ ],
1245
+ "internalType": "struct IPPTLooperEIP712Types.DecreasePositionRequest",
1246
+ "name": "req",
1247
+ "type": "tuple"
1248
+ }
1249
+ ],
1250
+ "name": "hashRaw",
1251
+ "outputs": [
1252
+ {
1253
+ "internalType": "bytes32",
1254
+ "name": "",
1255
+ "type": "bytes32"
1256
+ }
1257
+ ],
1258
+ "stateMutability": "pure",
1259
+ "type": "function"
1260
+ },
1261
+ {
1262
+ "inputs": [
1263
+ {
1264
+ "components": [
1265
+ {
1266
+ "components": [
1267
+ {
1268
+ "internalType": "bytes32",
1269
+ "name": "boxId",
1270
+ "type": "bytes32"
1271
+ },
1272
+ {
1273
+ "internalType": "uint256",
1274
+ "name": "expiry",
1275
+ "type": "uint256"
1276
+ },
1277
+ {
1278
+ "internalType": "uint32",
1279
+ "name": "sessionNonce",
1280
+ "type": "uint32"
1281
+ },
1282
+ {
1283
+ "internalType": "uint32",
1284
+ "name": "permitNonceCap",
1285
+ "type": "uint32"
1286
+ },
1287
+ {
1288
+ "internalType": "uint256",
1289
+ "name": "swapBridgeSlippage",
1290
+ "type": "uint256"
1291
+ },
1292
+ {
1293
+ "internalType": "bytes",
1294
+ "name": "offchainMetadata",
1295
+ "type": "bytes"
1296
+ }
1297
+ ],
1298
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
1299
+ "name": "header",
1300
+ "type": "tuple"
1301
+ },
1302
+ {
1303
+ "internalType": "bool",
1304
+ "name": "receiveOnSpoke",
1305
+ "type": "bool"
1306
+ },
1307
+ {
1308
+ "internalType": "address",
1309
+ "name": "hubTokenOut",
1310
+ "type": "address"
1311
+ },
1312
+ {
1313
+ "internalType": "address",
1314
+ "name": "dstTokenOut",
1315
+ "type": "address"
1316
+ },
1317
+ {
1318
+ "internalType": "uint256",
1319
+ "name": "minTokenWithdrawn",
1320
+ "type": "uint256"
1321
+ }
1322
+ ],
1323
+ "internalType": "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllRequest",
1324
+ "name": "req",
1325
+ "type": "tuple"
1326
+ }
1327
+ ],
1328
+ "name": "hashRaw",
1329
+ "outputs": [
1330
+ {
1331
+ "internalType": "bytes32",
1332
+ "name": "",
1333
+ "type": "bytes32"
1334
+ }
1335
+ ],
1336
+ "stateMutability": "pure",
1337
+ "type": "function"
1338
+ },
1339
+ {
1340
+ "inputs": [
1341
+ {
1342
+ "components": [
1343
+ {
1344
+ "internalType": "address",
1345
+ "name": "extRouter",
1346
+ "type": "address"
1347
+ },
1348
+ {
1349
+ "internalType": "address",
1350
+ "name": "approve",
1351
+ "type": "address"
1352
+ },
1353
+ {
1354
+ "internalType": "bytes",
1355
+ "name": "callData",
1356
+ "type": "bytes"
1357
+ }
1358
+ ],
1359
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
1360
+ "name": "call",
1361
+ "type": "tuple"
1362
+ }
1363
+ ],
1364
+ "name": "hashRaw",
1365
+ "outputs": [
1366
+ {
1367
+ "internalType": "bytes32",
1368
+ "name": "",
1369
+ "type": "bytes32"
1370
+ }
1371
+ ],
1372
+ "stateMutability": "pure",
1373
+ "type": "function"
1374
+ },
1375
+ {
1376
+ "inputs": [
1377
+ {
1378
+ "components": [
1379
+ {
1380
+ "components": [
1381
+ {
1382
+ "internalType": "bytes32",
1383
+ "name": "boxId",
1384
+ "type": "bytes32"
1385
+ },
1386
+ {
1387
+ "internalType": "uint256",
1388
+ "name": "expiry",
1389
+ "type": "uint256"
1390
+ },
1391
+ {
1392
+ "internalType": "uint32",
1393
+ "name": "sessionNonce",
1394
+ "type": "uint32"
1395
+ },
1396
+ {
1397
+ "internalType": "uint32",
1398
+ "name": "permitNonceCap",
1399
+ "type": "uint32"
1400
+ },
1401
+ {
1402
+ "internalType": "uint256",
1403
+ "name": "swapBridgeSlippage",
1404
+ "type": "uint256"
1405
+ },
1406
+ {
1407
+ "internalType": "bytes",
1408
+ "name": "offchainMetadata",
1409
+ "type": "bytes"
1410
+ }
1411
+ ],
1412
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
1413
+ "name": "header",
1414
+ "type": "tuple"
1415
+ },
1416
+ {
1417
+ "internalType": "uint256",
1418
+ "name": "minPtToDebtSwapRate",
1419
+ "type": "uint256"
1420
+ },
1421
+ {
1422
+ "internalType": "uint256",
1423
+ "name": "postWithdrawMaxLTV",
1424
+ "type": "uint256"
1425
+ }
1426
+ ],
1427
+ "internalType": "struct IPPTLooperEIP712Types.DecreasePositionRequest",
1428
+ "name": "req",
1429
+ "type": "tuple"
1430
+ }
1431
+ ],
1432
+ "name": "hashTyped",
1433
+ "outputs": [
1434
+ {
1435
+ "internalType": "bytes32",
1436
+ "name": "",
1437
+ "type": "bytes32"
1438
+ }
1439
+ ],
1440
+ "stateMutability": "view",
1441
+ "type": "function"
1442
+ },
1443
+ {
1444
+ "inputs": [
1445
+ {
1446
+ "components": [
1447
+ {
1448
+ "components": [
1449
+ {
1450
+ "internalType": "address",
1451
+ "name": "owner",
1452
+ "type": "address"
1453
+ },
1454
+ {
1455
+ "internalType": "bytes32",
1456
+ "name": "boxId",
1457
+ "type": "bytes32"
1458
+ },
1459
+ {
1460
+ "internalType": "uint256",
1461
+ "name": "expiry",
1462
+ "type": "uint256"
1463
+ },
1464
+ {
1465
+ "internalType": "uint256",
1466
+ "name": "nonce",
1467
+ "type": "uint256"
1468
+ }
1469
+ ],
1470
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
1471
+ "name": "permit",
1472
+ "type": "tuple"
1473
+ },
1474
+ {
1475
+ "components": [
1476
+ {
1477
+ "internalType": "address",
1478
+ "name": "extRouter",
1479
+ "type": "address"
1480
+ },
1481
+ {
1482
+ "internalType": "address",
1483
+ "name": "approve",
1484
+ "type": "address"
1485
+ },
1486
+ {
1487
+ "internalType": "bytes",
1488
+ "name": "callData",
1489
+ "type": "bytes"
1490
+ }
1491
+ ],
1492
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
1493
+ "name": "swap",
1494
+ "type": "tuple"
1495
+ },
1496
+ {
1497
+ "components": [
1498
+ {
1499
+ "components": [
1500
+ {
1501
+ "internalType": "address",
1502
+ "name": "extRouter",
1503
+ "type": "address"
1504
+ },
1505
+ {
1506
+ "internalType": "address",
1507
+ "name": "approve",
1508
+ "type": "address"
1509
+ },
1510
+ {
1511
+ "internalType": "bytes",
1512
+ "name": "callData",
1513
+ "type": "bytes"
1514
+ }
1515
+ ],
1516
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
1517
+ "name": "call",
1518
+ "type": "tuple"
1519
+ },
1520
+ {
1521
+ "internalType": "uint256",
1522
+ "name": "maxAmount",
1523
+ "type": "uint256"
1524
+ },
1525
+ {
1526
+ "internalType": "uint256",
1527
+ "name": "nativeFee",
1528
+ "type": "uint256"
1529
+ }
1530
+ ],
1531
+ "internalType": "struct IPPTLooperEIP712Types.BridgeData",
1532
+ "name": "bridge",
1533
+ "type": "tuple"
1534
+ },
1535
+ {
1536
+ "internalType": "uint256",
1537
+ "name": "amountPtWithdrawn",
1538
+ "type": "uint256"
1539
+ },
1540
+ {
1541
+ "internalType": "bytes",
1542
+ "name": "postStateCheckData",
1543
+ "type": "bytes"
1544
+ }
1545
+ ],
1546
+ "internalType": "struct IPPTLooperEIP712Types.DecreasePositionMessage",
1547
+ "name": "ms",
1548
+ "type": "tuple"
1549
+ }
1550
+ ],
1551
+ "name": "hashTyped",
1552
+ "outputs": [
1553
+ {
1554
+ "internalType": "bytes32",
1555
+ "name": "",
1556
+ "type": "bytes32"
1557
+ }
1558
+ ],
1559
+ "stateMutability": "view",
1560
+ "type": "function"
1561
+ },
1562
+ {
1563
+ "inputs": [
1564
+ {
1565
+ "components": [
1566
+ {
1567
+ "components": [
1568
+ {
1569
+ "internalType": "address",
1570
+ "name": "owner",
1571
+ "type": "address"
1572
+ },
1573
+ {
1574
+ "internalType": "bytes32",
1575
+ "name": "boxId",
1576
+ "type": "bytes32"
1577
+ },
1578
+ {
1579
+ "internalType": "uint256",
1580
+ "name": "expiry",
1581
+ "type": "uint256"
1582
+ },
1583
+ {
1584
+ "internalType": "uint256",
1585
+ "name": "nonce",
1586
+ "type": "uint256"
1587
+ }
1588
+ ],
1589
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
1590
+ "name": "permit",
1591
+ "type": "tuple"
1592
+ },
1593
+ {
1594
+ "components": [
1595
+ {
1596
+ "internalType": "address",
1597
+ "name": "extRouter",
1598
+ "type": "address"
1599
+ },
1600
+ {
1601
+ "internalType": "address",
1602
+ "name": "approve",
1603
+ "type": "address"
1604
+ },
1605
+ {
1606
+ "internalType": "bytes",
1607
+ "name": "callData",
1608
+ "type": "bytes"
1609
+ }
1610
+ ],
1611
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
1612
+ "name": "swap",
1613
+ "type": "tuple"
1614
+ },
1615
+ {
1616
+ "internalType": "uint256",
1617
+ "name": "fee",
1618
+ "type": "uint256"
1619
+ },
1620
+ {
1621
+ "components": [
1622
+ {
1623
+ "components": [
1624
+ {
1625
+ "internalType": "address",
1626
+ "name": "extRouter",
1627
+ "type": "address"
1628
+ },
1629
+ {
1630
+ "internalType": "address",
1631
+ "name": "approve",
1632
+ "type": "address"
1633
+ },
1634
+ {
1635
+ "internalType": "bytes",
1636
+ "name": "callData",
1637
+ "type": "bytes"
1638
+ }
1639
+ ],
1640
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
1641
+ "name": "call",
1642
+ "type": "tuple"
1643
+ },
1644
+ {
1645
+ "internalType": "uint256",
1646
+ "name": "maxAmount",
1647
+ "type": "uint256"
1648
+ },
1649
+ {
1650
+ "internalType": "uint256",
1651
+ "name": "nativeFee",
1652
+ "type": "uint256"
1653
+ }
1654
+ ],
1655
+ "internalType": "struct IPPTLooperEIP712Types.BridgeData",
1656
+ "name": "bridge",
1657
+ "type": "tuple"
1658
+ },
1659
+ {
1660
+ "internalType": "uint256",
1661
+ "name": "amountDebtBorrowed",
1662
+ "type": "uint256"
1663
+ },
1664
+ {
1665
+ "internalType": "bytes",
1666
+ "name": "postStateCheckData",
1667
+ "type": "bytes"
1668
+ }
1669
+ ],
1670
+ "internalType": "struct IPPTLooperEIP712Types.IncreasePositionMessage",
1671
+ "name": "ms",
1672
+ "type": "tuple"
1673
+ }
1674
+ ],
1675
+ "name": "hashTyped",
1676
+ "outputs": [
1677
+ {
1678
+ "internalType": "bytes32",
1679
+ "name": "",
1680
+ "type": "bytes32"
1681
+ }
1682
+ ],
1683
+ "stateMutability": "view",
1684
+ "type": "function"
1685
+ },
1686
+ {
1687
+ "inputs": [
1688
+ {
1689
+ "components": [
1690
+ {
1691
+ "components": [
1692
+ {
1693
+ "internalType": "bytes32",
1694
+ "name": "boxId",
1695
+ "type": "bytes32"
1696
+ },
1697
+ {
1698
+ "internalType": "uint256",
1699
+ "name": "expiry",
1700
+ "type": "uint256"
1701
+ },
1702
+ {
1703
+ "internalType": "uint32",
1704
+ "name": "sessionNonce",
1705
+ "type": "uint32"
1706
+ },
1707
+ {
1708
+ "internalType": "uint32",
1709
+ "name": "permitNonceCap",
1710
+ "type": "uint32"
1711
+ },
1712
+ {
1713
+ "internalType": "uint256",
1714
+ "name": "swapBridgeSlippage",
1715
+ "type": "uint256"
1716
+ },
1717
+ {
1718
+ "internalType": "bytes",
1719
+ "name": "offchainMetadata",
1720
+ "type": "bytes"
1721
+ }
1722
+ ],
1723
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
1724
+ "name": "header",
1725
+ "type": "tuple"
1726
+ },
1727
+ {
1728
+ "internalType": "bool",
1729
+ "name": "receiveOnSpoke",
1730
+ "type": "bool"
1731
+ },
1732
+ {
1733
+ "internalType": "address",
1734
+ "name": "hubTokenOut",
1735
+ "type": "address"
1736
+ },
1737
+ {
1738
+ "internalType": "address",
1739
+ "name": "dstTokenOut",
1740
+ "type": "address"
1741
+ },
1742
+ {
1743
+ "internalType": "uint256",
1744
+ "name": "minTokenWithdrawn",
1745
+ "type": "uint256"
1746
+ }
1747
+ ],
1748
+ "internalType": "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllRequest",
1749
+ "name": "req",
1750
+ "type": "tuple"
1751
+ }
1752
+ ],
1753
+ "name": "hashTyped",
1754
+ "outputs": [
1755
+ {
1756
+ "internalType": "bytes32",
1757
+ "name": "",
1758
+ "type": "bytes32"
1759
+ }
1760
+ ],
1761
+ "stateMutability": "view",
1762
+ "type": "function"
1763
+ },
1764
+ {
1765
+ "inputs": [
1766
+ {
1767
+ "components": [
1768
+ {
1769
+ "components": [
1770
+ {
1771
+ "internalType": "bytes32",
1772
+ "name": "boxId",
1773
+ "type": "bytes32"
1774
+ },
1775
+ {
1776
+ "internalType": "uint256",
1777
+ "name": "expiry",
1778
+ "type": "uint256"
1779
+ },
1780
+ {
1781
+ "internalType": "uint32",
1782
+ "name": "sessionNonce",
1783
+ "type": "uint32"
1784
+ },
1785
+ {
1786
+ "internalType": "uint32",
1787
+ "name": "permitNonceCap",
1788
+ "type": "uint32"
1789
+ },
1790
+ {
1791
+ "internalType": "uint256",
1792
+ "name": "swapBridgeSlippage",
1793
+ "type": "uint256"
1794
+ },
1795
+ {
1796
+ "internalType": "bytes",
1797
+ "name": "offchainMetadata",
1798
+ "type": "bytes"
1799
+ }
1800
+ ],
1801
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
1802
+ "name": "header",
1803
+ "type": "tuple"
1804
+ },
1805
+ {
1806
+ "internalType": "address",
1807
+ "name": "extRewardController",
1808
+ "type": "address"
1809
+ },
1810
+ {
1811
+ "internalType": "bytes",
1812
+ "name": "data",
1813
+ "type": "bytes"
1814
+ },
1815
+ {
1816
+ "internalType": "address[]",
1817
+ "name": "rewardTokens",
1818
+ "type": "address[]"
1819
+ }
1820
+ ],
1821
+ "internalType": "struct IPPTLooperEIP712Types.ClaimMMRewardsRequest",
1822
+ "name": "req",
1823
+ "type": "tuple"
1824
+ }
1825
+ ],
1826
+ "name": "hashTyped",
1827
+ "outputs": [
1828
+ {
1829
+ "internalType": "bytes32",
1830
+ "name": "",
1831
+ "type": "bytes32"
1832
+ }
1833
+ ],
1834
+ "stateMutability": "view",
1835
+ "type": "function"
1836
+ },
1837
+ {
1838
+ "inputs": [
1839
+ {
1840
+ "components": [
1841
+ {
1842
+ "components": [
1843
+ {
1844
+ "internalType": "bytes32",
1845
+ "name": "boxId",
1846
+ "type": "bytes32"
1847
+ },
1848
+ {
1849
+ "internalType": "uint256",
1850
+ "name": "expiry",
1851
+ "type": "uint256"
1852
+ },
1853
+ {
1854
+ "internalType": "uint32",
1855
+ "name": "sessionNonce",
1856
+ "type": "uint32"
1857
+ },
1858
+ {
1859
+ "internalType": "uint32",
1860
+ "name": "permitNonceCap",
1861
+ "type": "uint32"
1862
+ },
1863
+ {
1864
+ "internalType": "uint256",
1865
+ "name": "swapBridgeSlippage",
1866
+ "type": "uint256"
1867
+ },
1868
+ {
1869
+ "internalType": "bytes",
1870
+ "name": "offchainMetadata",
1871
+ "type": "bytes"
1872
+ }
1873
+ ],
1874
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
1875
+ "name": "header",
1876
+ "type": "tuple"
1877
+ },
1878
+ {
1879
+ "internalType": "address",
1880
+ "name": "initTokenIn",
1881
+ "type": "address"
1882
+ },
1883
+ {
1884
+ "internalType": "uint256",
1885
+ "name": "initMinToPtSwapRate",
1886
+ "type": "uint256"
1887
+ },
1888
+ {
1889
+ "internalType": "uint256",
1890
+ "name": "minDebtToPtSwapRate",
1891
+ "type": "uint256"
1892
+ },
1893
+ {
1894
+ "internalType": "uint256",
1895
+ "name": "postBorrowMaxLTV",
1896
+ "type": "uint256"
1897
+ },
1898
+ {
1899
+ "internalType": "bool",
1900
+ "name": "isZeroPriceImpact",
1901
+ "type": "bool"
1902
+ },
1903
+ {
1904
+ "internalType": "uint256",
1905
+ "name": "maxFeeRate",
1906
+ "type": "uint256"
1907
+ }
1908
+ ],
1909
+ "internalType": "struct IPPTLooperEIP712Types.IncreasePositionRequest",
1910
+ "name": "req",
1911
+ "type": "tuple"
1912
+ }
1913
+ ],
1914
+ "name": "hashTyped",
1915
+ "outputs": [
1916
+ {
1917
+ "internalType": "bytes32",
1918
+ "name": "",
1919
+ "type": "bytes32"
1920
+ }
1921
+ ],
1922
+ "stateMutability": "view",
1923
+ "type": "function"
1924
+ },
1925
+ {
1926
+ "inputs": [
1927
+ {
1928
+ "components": [
1929
+ {
1930
+ "components": [
1931
+ {
1932
+ "internalType": "address",
1933
+ "name": "owner",
1934
+ "type": "address"
1935
+ },
1936
+ {
1937
+ "internalType": "bytes32",
1938
+ "name": "boxId",
1939
+ "type": "bytes32"
1940
+ },
1941
+ {
1942
+ "internalType": "uint256",
1943
+ "name": "expiry",
1944
+ "type": "uint256"
1945
+ },
1946
+ {
1947
+ "internalType": "uint256",
1948
+ "name": "nonce",
1949
+ "type": "uint256"
1950
+ }
1951
+ ],
1952
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
1953
+ "name": "permit",
1954
+ "type": "tuple"
1955
+ },
1956
+ {
1957
+ "components": [
1958
+ {
1959
+ "internalType": "address",
1960
+ "name": "extRouter",
1961
+ "type": "address"
1962
+ },
1963
+ {
1964
+ "internalType": "address",
1965
+ "name": "approve",
1966
+ "type": "address"
1967
+ },
1968
+ {
1969
+ "internalType": "bytes",
1970
+ "name": "callData",
1971
+ "type": "bytes"
1972
+ }
1973
+ ],
1974
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
1975
+ "name": "swap",
1976
+ "type": "tuple"
1977
+ },
1978
+ {
1979
+ "components": [
1980
+ {
1981
+ "components": [
1982
+ {
1983
+ "internalType": "address",
1984
+ "name": "extRouter",
1985
+ "type": "address"
1986
+ },
1987
+ {
1988
+ "internalType": "address",
1989
+ "name": "approve",
1990
+ "type": "address"
1991
+ },
1992
+ {
1993
+ "internalType": "bytes",
1994
+ "name": "callData",
1995
+ "type": "bytes"
1996
+ }
1997
+ ],
1998
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
1999
+ "name": "call",
2000
+ "type": "tuple"
2001
+ },
2002
+ {
2003
+ "internalType": "uint256",
2004
+ "name": "maxAmount",
2005
+ "type": "uint256"
2006
+ },
2007
+ {
2008
+ "internalType": "uint256",
2009
+ "name": "nativeFee",
2010
+ "type": "uint256"
2011
+ }
2012
+ ],
2013
+ "internalType": "struct IPPTLooperEIP712Types.BridgeData",
2014
+ "name": "bridge",
2015
+ "type": "tuple"
2016
+ },
2017
+ {
2018
+ "internalType": "bytes",
2019
+ "name": "postStateCheckData",
2020
+ "type": "bytes"
2021
+ }
2022
+ ],
2023
+ "internalType": "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllMessage",
2024
+ "name": "ms",
2025
+ "type": "tuple"
2026
+ }
2027
+ ],
2028
+ "name": "hashTyped",
2029
+ "outputs": [
2030
+ {
2031
+ "internalType": "bytes32",
2032
+ "name": "",
2033
+ "type": "bytes32"
2034
+ }
2035
+ ],
2036
+ "stateMutability": "view",
2037
+ "type": "function"
2038
+ },
2039
+ {
2040
+ "inputs": [
2041
+ {
2042
+ "components": [
2043
+ {
2044
+ "components": [
2045
+ {
2046
+ "internalType": "address",
2047
+ "name": "owner",
2048
+ "type": "address"
2049
+ },
2050
+ {
2051
+ "internalType": "bytes32",
2052
+ "name": "boxId",
2053
+ "type": "bytes32"
2054
+ },
2055
+ {
2056
+ "internalType": "uint256",
2057
+ "name": "expiry",
2058
+ "type": "uint256"
2059
+ },
2060
+ {
2061
+ "internalType": "uint256",
2062
+ "name": "nonce",
2063
+ "type": "uint256"
2064
+ }
2065
+ ],
2066
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
2067
+ "name": "permit",
2068
+ "type": "tuple"
2069
+ }
2070
+ ],
2071
+ "internalType": "struct IPPTLooperEIP712Types.ClaimMMRewardsMessage",
2072
+ "name": "ms",
2073
+ "type": "tuple"
2074
+ }
2075
+ ],
2076
+ "name": "hashTyped",
2077
+ "outputs": [
2078
+ {
2079
+ "internalType": "bytes32",
2080
+ "name": "",
2081
+ "type": "bytes32"
2082
+ }
2083
+ ],
2084
+ "stateMutability": "view",
2085
+ "type": "function"
2086
+ },
2087
+ {
2088
+ "inputs": [
2089
+ {
2090
+ "components": [
2091
+ {
2092
+ "components": [
2093
+ {
2094
+ "internalType": "address",
2095
+ "name": "owner",
2096
+ "type": "address"
2097
+ },
2098
+ {
2099
+ "internalType": "bytes32",
2100
+ "name": "boxId",
2101
+ "type": "bytes32"
2102
+ },
2103
+ {
2104
+ "internalType": "uint256",
2105
+ "name": "expiry",
2106
+ "type": "uint256"
2107
+ },
2108
+ {
2109
+ "internalType": "uint256",
2110
+ "name": "nonce",
2111
+ "type": "uint256"
2112
+ }
2113
+ ],
2114
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
2115
+ "name": "permit",
2116
+ "type": "tuple"
2117
+ },
2118
+ {
2119
+ "components": [
2120
+ {
2121
+ "internalType": "address",
2122
+ "name": "extRouter",
2123
+ "type": "address"
2124
+ },
2125
+ {
2126
+ "internalType": "address",
2127
+ "name": "approve",
2128
+ "type": "address"
2129
+ },
2130
+ {
2131
+ "internalType": "bytes",
2132
+ "name": "callData",
2133
+ "type": "bytes"
2134
+ }
2135
+ ],
2136
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
2137
+ "name": "swap",
2138
+ "type": "tuple"
2139
+ },
2140
+ {
2141
+ "internalType": "uint256",
2142
+ "name": "fee",
2143
+ "type": "uint256"
2144
+ },
2145
+ {
2146
+ "components": [
2147
+ {
2148
+ "components": [
2149
+ {
2150
+ "internalType": "address",
2151
+ "name": "extRouter",
2152
+ "type": "address"
2153
+ },
2154
+ {
2155
+ "internalType": "address",
2156
+ "name": "approve",
2157
+ "type": "address"
2158
+ },
2159
+ {
2160
+ "internalType": "bytes",
2161
+ "name": "callData",
2162
+ "type": "bytes"
2163
+ }
2164
+ ],
2165
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
2166
+ "name": "call",
2167
+ "type": "tuple"
2168
+ },
2169
+ {
2170
+ "internalType": "uint256",
2171
+ "name": "maxAmount",
2172
+ "type": "uint256"
2173
+ },
2174
+ {
2175
+ "internalType": "uint256",
2176
+ "name": "nativeFee",
2177
+ "type": "uint256"
2178
+ }
2179
+ ],
2180
+ "internalType": "struct IPPTLooperEIP712Types.BridgeData",
2181
+ "name": "bridge",
2182
+ "type": "tuple"
2183
+ },
2184
+ {
2185
+ "internalType": "uint256",
2186
+ "name": "amountDebtBorrowed",
2187
+ "type": "uint256"
2188
+ },
2189
+ {
2190
+ "internalType": "bytes",
2191
+ "name": "postStateCheckData",
2192
+ "type": "bytes"
2193
+ }
2194
+ ],
2195
+ "internalType": "struct IPPTLooperEIP712Types.IncreasePositionMessage",
2196
+ "name": "ms",
2197
+ "type": "tuple"
2198
+ },
2199
+ {
2200
+ "internalType": "bytes",
2201
+ "name": "proposerSig",
2202
+ "type": "bytes"
2203
+ },
2204
+ {
2205
+ "components": [
2206
+ {
2207
+ "components": [
2208
+ {
2209
+ "internalType": "bytes32",
2210
+ "name": "boxId",
2211
+ "type": "bytes32"
2212
+ },
2213
+ {
2214
+ "internalType": "uint256",
2215
+ "name": "expiry",
2216
+ "type": "uint256"
2217
+ },
2218
+ {
2219
+ "internalType": "uint32",
2220
+ "name": "sessionNonce",
2221
+ "type": "uint32"
2222
+ },
2223
+ {
2224
+ "internalType": "uint32",
2225
+ "name": "permitNonceCap",
2226
+ "type": "uint32"
2227
+ },
2228
+ {
2229
+ "internalType": "uint256",
2230
+ "name": "swapBridgeSlippage",
2231
+ "type": "uint256"
2232
+ },
2233
+ {
2234
+ "internalType": "bytes",
2235
+ "name": "offchainMetadata",
2236
+ "type": "bytes"
2237
+ }
2238
+ ],
2239
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
2240
+ "name": "header",
2241
+ "type": "tuple"
2242
+ },
2243
+ {
2244
+ "internalType": "address",
2245
+ "name": "initTokenIn",
2246
+ "type": "address"
2247
+ },
2248
+ {
2249
+ "internalType": "uint256",
2250
+ "name": "initMinToPtSwapRate",
2251
+ "type": "uint256"
2252
+ },
2253
+ {
2254
+ "internalType": "uint256",
2255
+ "name": "minDebtToPtSwapRate",
2256
+ "type": "uint256"
2257
+ },
2258
+ {
2259
+ "internalType": "uint256",
2260
+ "name": "postBorrowMaxLTV",
2261
+ "type": "uint256"
2262
+ },
2263
+ {
2264
+ "internalType": "bool",
2265
+ "name": "isZeroPriceImpact",
2266
+ "type": "bool"
2267
+ },
2268
+ {
2269
+ "internalType": "uint256",
2270
+ "name": "maxFeeRate",
2271
+ "type": "uint256"
2272
+ }
2273
+ ],
2274
+ "internalType": "struct IPPTLooperEIP712Types.IncreasePositionRequest",
2275
+ "name": "req",
2276
+ "type": "tuple"
2277
+ },
2278
+ {
2279
+ "internalType": "bytes",
2280
+ "name": "ownerSigIfFirstCall",
2281
+ "type": "bytes"
2282
+ }
2283
+ ],
2284
+ "name": "increaseLoopPosition",
2285
+ "outputs": [],
2286
+ "stateMutability": "payable",
2287
+ "type": "function"
2288
+ },
2289
+ {
2290
+ "inputs": [
2291
+ {
2292
+ "internalType": "address",
2293
+ "name": "_owner",
2294
+ "type": "address"
2295
+ }
2296
+ ],
2297
+ "name": "initialize",
2298
+ "outputs": [],
2299
+ "stateMutability": "nonpayable",
2300
+ "type": "function"
2301
+ },
2302
+ {
2303
+ "inputs": [],
2304
+ "name": "owner",
2305
+ "outputs": [
2306
+ {
2307
+ "internalType": "address",
2308
+ "name": "",
2309
+ "type": "address"
2310
+ }
2311
+ ],
2312
+ "stateMutability": "view",
2313
+ "type": "function"
2314
+ },
2315
+ {
2316
+ "inputs": [],
2317
+ "name": "pendingOwner",
2318
+ "outputs": [
2319
+ {
2320
+ "internalType": "address",
2321
+ "name": "",
2322
+ "type": "address"
2323
+ }
2324
+ ],
2325
+ "stateMutability": "view",
2326
+ "type": "function"
2327
+ },
2328
+ {
2329
+ "inputs": [],
2330
+ "name": "proposer",
2331
+ "outputs": [
2332
+ {
2333
+ "internalType": "address",
2334
+ "name": "",
2335
+ "type": "address"
2336
+ }
2337
+ ],
2338
+ "stateMutability": "view",
2339
+ "type": "function"
2340
+ },
2341
+ {
2342
+ "inputs": [
2343
+ {
2344
+ "internalType": "address",
2345
+ "name": "owner",
2346
+ "type": "address"
2347
+ },
2348
+ {
2349
+ "internalType": "bytes32",
2350
+ "name": "requestHash",
2351
+ "type": "bytes32"
2352
+ }
2353
+ ],
2354
+ "name": "proposerNonce",
2355
+ "outputs": [
2356
+ {
2357
+ "internalType": "uint256",
2358
+ "name": "nonce",
2359
+ "type": "uint256"
2360
+ }
2361
+ ],
2362
+ "stateMutability": "view",
2363
+ "type": "function"
2364
+ },
2365
+ {
2366
+ "inputs": [
2367
+ {
2368
+ "internalType": "address",
2369
+ "name": "executor_",
2370
+ "type": "address"
2371
+ }
2372
+ ],
2373
+ "name": "setExecutor",
2374
+ "outputs": [],
2375
+ "stateMutability": "nonpayable",
2376
+ "type": "function"
2377
+ },
2378
+ {
2379
+ "inputs": [
2380
+ {
2381
+ "internalType": "address",
2382
+ "name": "proposer_",
2383
+ "type": "address"
2384
+ }
2385
+ ],
2386
+ "name": "setProposer",
2387
+ "outputs": [],
2388
+ "stateMutability": "nonpayable",
2389
+ "type": "function"
2390
+ },
2391
+ {
2392
+ "inputs": [
2393
+ {
2394
+ "components": [
2395
+ {
2396
+ "components": [
2397
+ {
2398
+ "internalType": "address",
2399
+ "name": "owner",
2400
+ "type": "address"
2401
+ },
2402
+ {
2403
+ "internalType": "bytes32",
2404
+ "name": "boxId",
2405
+ "type": "bytes32"
2406
+ },
2407
+ {
2408
+ "internalType": "uint256",
2409
+ "name": "expiry",
2410
+ "type": "uint256"
2411
+ },
2412
+ {
2413
+ "internalType": "uint256",
2414
+ "name": "nonce",
2415
+ "type": "uint256"
2416
+ }
2417
+ ],
2418
+ "internalType": "struct IPPTLooperEIP712Types.BoxPermit",
2419
+ "name": "permit",
2420
+ "type": "tuple"
2421
+ },
2422
+ {
2423
+ "components": [
2424
+ {
2425
+ "internalType": "address",
2426
+ "name": "extRouter",
2427
+ "type": "address"
2428
+ },
2429
+ {
2430
+ "internalType": "address",
2431
+ "name": "approve",
2432
+ "type": "address"
2433
+ },
2434
+ {
2435
+ "internalType": "bytes",
2436
+ "name": "callData",
2437
+ "type": "bytes"
2438
+ }
2439
+ ],
2440
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
2441
+ "name": "swap",
2442
+ "type": "tuple"
2443
+ },
2444
+ {
2445
+ "components": [
2446
+ {
2447
+ "components": [
2448
+ {
2449
+ "internalType": "address",
2450
+ "name": "extRouter",
2451
+ "type": "address"
2452
+ },
2453
+ {
2454
+ "internalType": "address",
2455
+ "name": "approve",
2456
+ "type": "address"
2457
+ },
2458
+ {
2459
+ "internalType": "bytes",
2460
+ "name": "callData",
2461
+ "type": "bytes"
2462
+ }
2463
+ ],
2464
+ "internalType": "struct IPPTLooperEIP712Types.BoxApprovedCall",
2465
+ "name": "call",
2466
+ "type": "tuple"
2467
+ },
2468
+ {
2469
+ "internalType": "uint256",
2470
+ "name": "maxAmount",
2471
+ "type": "uint256"
2472
+ },
2473
+ {
2474
+ "internalType": "uint256",
2475
+ "name": "nativeFee",
2476
+ "type": "uint256"
2477
+ }
2478
+ ],
2479
+ "internalType": "struct IPPTLooperEIP712Types.BridgeData",
2480
+ "name": "bridge",
2481
+ "type": "tuple"
2482
+ },
2483
+ {
2484
+ "internalType": "bytes",
2485
+ "name": "postStateCheckData",
2486
+ "type": "bytes"
2487
+ }
2488
+ ],
2489
+ "internalType": "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllMessage",
2490
+ "name": "ms",
2491
+ "type": "tuple"
2492
+ },
2493
+ {
2494
+ "internalType": "bytes",
2495
+ "name": "proposerSig",
2496
+ "type": "bytes"
2497
+ },
2498
+ {
2499
+ "components": [
2500
+ {
2501
+ "components": [
2502
+ {
2503
+ "internalType": "bytes32",
2504
+ "name": "boxId",
2505
+ "type": "bytes32"
2506
+ },
2507
+ {
2508
+ "internalType": "uint256",
2509
+ "name": "expiry",
2510
+ "type": "uint256"
2511
+ },
2512
+ {
2513
+ "internalType": "uint32",
2514
+ "name": "sessionNonce",
2515
+ "type": "uint32"
2516
+ },
2517
+ {
2518
+ "internalType": "uint32",
2519
+ "name": "permitNonceCap",
2520
+ "type": "uint32"
2521
+ },
2522
+ {
2523
+ "internalType": "uint256",
2524
+ "name": "swapBridgeSlippage",
2525
+ "type": "uint256"
2526
+ },
2527
+ {
2528
+ "internalType": "bytes",
2529
+ "name": "offchainMetadata",
2530
+ "type": "bytes"
2531
+ }
2532
+ ],
2533
+ "internalType": "struct IPPTLooperEIP712Types.RequestHeader",
2534
+ "name": "header",
2535
+ "type": "tuple"
2536
+ },
2537
+ {
2538
+ "internalType": "bool",
2539
+ "name": "receiveOnSpoke",
2540
+ "type": "bool"
2541
+ },
2542
+ {
2543
+ "internalType": "address",
2544
+ "name": "hubTokenOut",
2545
+ "type": "address"
2546
+ },
2547
+ {
2548
+ "internalType": "address",
2549
+ "name": "dstTokenOut",
2550
+ "type": "address"
2551
+ },
2552
+ {
2553
+ "internalType": "uint256",
2554
+ "name": "minTokenWithdrawn",
2555
+ "type": "uint256"
2556
+ }
2557
+ ],
2558
+ "internalType": "struct IPPTLooperEIP712Types.SwapBridgeWithdrawAllRequest",
2559
+ "name": "req",
2560
+ "type": "tuple"
2561
+ },
2562
+ {
2563
+ "internalType": "bytes",
2564
+ "name": "ownerSigIfFirstCall",
2565
+ "type": "bytes"
2566
+ }
2567
+ ],
2568
+ "name": "swapBridgeWithdrawAll",
2569
+ "outputs": [],
2570
+ "stateMutability": "payable",
2571
+ "type": "function"
2572
+ },
2573
+ {
2574
+ "inputs": [
2575
+ {
2576
+ "internalType": "address",
2577
+ "name": "owner",
2578
+ "type": "address"
2579
+ },
2580
+ {
2581
+ "internalType": "bytes32",
2582
+ "name": "boxId",
2583
+ "type": "bytes32"
2584
+ },
2585
+ {
2586
+ "internalType": "bytes32",
2587
+ "name": "requestHash",
2588
+ "type": "bytes32"
2589
+ }
2590
+ ],
2591
+ "name": "terminateSession",
2592
+ "outputs": [],
2593
+ "stateMutability": "nonpayable",
2594
+ "type": "function"
2595
+ },
2596
+ {
2597
+ "inputs": [
2598
+ {
2599
+ "internalType": "address",
2600
+ "name": "newOwner",
2601
+ "type": "address"
2602
+ },
2603
+ {
2604
+ "internalType": "bool",
2605
+ "name": "direct",
2606
+ "type": "bool"
2607
+ },
2608
+ {
2609
+ "internalType": "bool",
2610
+ "name": "renounce",
2611
+ "type": "bool"
2612
+ }
2613
+ ],
2614
+ "name": "transferOwnership",
2615
+ "outputs": [],
2616
+ "stateMutability": "nonpayable",
2617
+ "type": "function"
2618
+ },
2619
+ {
2620
+ "inputs": [
2621
+ {
2622
+ "internalType": "address",
2623
+ "name": "owner",
2624
+ "type": "address"
2625
+ },
2626
+ {
2627
+ "internalType": "bytes32",
2628
+ "name": "boxId",
2629
+ "type": "bytes32"
2630
+ }
2631
+ ],
2632
+ "name": "userRequest",
2633
+ "outputs": [
2634
+ {
2635
+ "components": [
2636
+ {
2637
+ "internalType": "bytes32",
2638
+ "name": "requestHash",
2639
+ "type": "bytes32"
2640
+ },
2641
+ {
2642
+ "internalType": "uint32",
2643
+ "name": "sessionNonce",
2644
+ "type": "uint32"
2645
+ }
2646
+ ],
2647
+ "internalType": "struct IPPTLooper.UserRequestInfo",
2648
+ "name": "",
2649
+ "type": "tuple"
2650
+ }
2651
+ ],
2652
+ "stateMutability": "view",
2653
+ "type": "function"
2654
+ }
2655
+ ],
2656
+ "bytecode": "0x60e03461018157601f61593238819003918201601f19168301916001600160401b03831184841017610185578084926060946040528339810103126101815761004781610199565b90610060604061005960208401610199565b9201610199565b6080929092526001600160a01b031660a05260015460a881901c60ff1661012c5760ff808260a01c16036100e9575b506001600160a01b031660c05260405161578490816101ae823960805181818161189a0152612981015260a0518181816106d90152614dbf015260c05181818161074801528181610bac0152818161196501526122950152f35b60ff60a01b191660ff60a01b1760015560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a15f61008f565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101815756fe60806040526004361015610011575f80fd5b5f5f3560e01c8063078dfbe714612f265780630ffa185914612ecf5780631c3c0ea814612e1e5780631c860d5f14612dca5780631c9cd00f14612aaf5780631f64e9ce14612a565780631fb4a228146129a55780632d2c5565146129375780632f8912ef146128fa5780634e71e0c8146127e1578063536ad93e14612788578063579f5e561461272c57806363efbf0e146126d05780636967c4851461265057806377aa686f146125f957806384b0196e146124b95780638b8c7d0e146124625780638da5cb5b146124125780638eeef723146123b6578063a6b41ec414611fe3578063a8e4fb9014611f91578063b7bfe9f2146116e0578063bfe88d8e14611683578063c124221314611629578063c34c08e5146115d7578063c4d66de814610edb578063c685f6471461076c578063c6f45db3146106fd578063ca6f50fd1461068e578063d6d67da014610634578063db03a2f0146105da578063e23dd1fc1461058f578063e30c39781461053d578063f1ec230f14610494578063f6fa7e5014610427578063fb2bc633146103c55763ff0639e1146101b1575f80fd5b346103c25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576101e86130fe565b6024359073ffffffffffffffffffffffffffffffffffffffff604435918160665416331480156103b7575b61021c906139c2565b16908184526069602052604084208385526020526040842090815480156103595781036102fb57600182019182549263ffffffff841663ffffffff81146102ce5760010163ffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000094909416841790558590556040805191825260208201929092527fc3f9a82d23af118c46becbef55ed995396b7cc74a156acc86c37edd9620f1e0e91819081015b0390a380f35b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50544c6f6f7065723a207265717565737448617368206d69736d6174636800006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206e6f206f70656e2073657373696f6e000000000000006044820152fd5b503381831614610213565b80fd5b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f61041a36600486016135fc565b614b1f565b604051908152f35b50346103c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257604060209173ffffffffffffffffffffffffffffffffffffffff6104796130fe565b16815260688352818120602435825283522054604051908152f35b50346103c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576040809173ffffffffffffffffffffffffffffffffffffffff6104e56130fe565b82602085516104f38161314f565b8281520152168152606960205281812060243582526020522063ffffffff825161051c8161314f565b60208260018554958685520154169101908152835192835251166020820152f35b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b50346103c25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602061041f6105d56105d03661349f565b613dc6565b613b05565b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f61062f36600486016137da565b61400c565b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f6106893660048601613373565b613aa0565b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c25760043567ffffffffffffffff8111610ed7576107b7903690600401613693565b60243567ffffffffffffffff8111610ed3576107d79036906004016132b1565b9060443567ffffffffffffffff8111610cc2576107f8903690600401613373565b9060643567ffffffffffffffff8111610ecf5761081c61086c9136906004016132b1565b61083f73ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b610847613c48565b506108546105d585613aa0565b8095845186516108666105d588613e6e565b91614ba9565b9184938594604085019087825163ffffffff60208201511646145f14610e9a575050506108cc73ffffffffffffffffffffffffffffffffffffffff86511673ffffffffffffffffffffffffffffffffffffffff60a084510151169061533a565b94876060860151816108dd84613cc1565b60208501604073ffffffffffffffffffffffffffffffffffffffff82511660a48d835196879384927f3a2e717b00000000000000000000000000000000000000000000000000000000845261096d600485018a73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1908115610e8f57859485948693610e69575b5060409060a473ffffffffffffffffffffffffffffffffffffffff84511691835198899384927fd30cd708000000000000000000000000000000000000000000000000000000008452610a14600485018b73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1948515610e5e578695610e08575b50610ab7608473ffffffffffffffffffffffffffffffffffffffff60209351169460405195869384927f9025036a000000000000000000000000000000000000000000000000000000008452600484019073ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b5afa918215610dfd578d92610da3575b507f3bb7491f8a60de4663d7a867b8a455c3d949a312bccb388b2d8aad2a8943f26c9360409392610afc92858c01519261559b565b73ffffffffffffffffffffffffffffffffffffffff8551169382519182526020820152a2610b5d73ffffffffffffffffffffffffffffffffffffffff82511673ffffffffffffffffffffffffffffffffffffffff608085510151169061533a565b91610b77815163ffffffff60208183511692015116141590565b610d4557889296945b815163ffffffff8151164614610cc6575b50505073ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169151166080860151823b15610cc257610c17928492836040518096819582947fe2b2408500000000000000000000000000000000000000000000000000000000845260048401613a70565b03925af18015610cb757610c9e575b50506102c87f80fb3628401036a6958f114182756e4ab87375e320ad0c90c57e2025a18b851193519573ffffffffffffffffffffffffffffffffffffffff875116956060602089015198015194604051958695869192608093969594919660a084019784526020840152604083015260608201520152565b81610ca891613225565b610cb357855f610c26565b8580fd5b6040513d84823e3d90fd5b8380fd5b839950610d1f92945073ffffffffffffffffffffffffffffffffffffffff610d369451169189602073ffffffffffffffffffffffffffffffffffffffff606081604087015116950151169201519260208b01519461471a565b50915163ffffffff60208183511692015116141590565b610d45578690955f8080610b91565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a206272696467696e67206e6f7420737570706f727465646044820152fd5b909291506020813d602011610df5575b81610dc060209383613225565b81010312610df1575190917f3bb7491f8a60de4663d7a867b8a455c3d949a312bccb388b2d8aad2a8943f26c610ac7565b5f80fd5b3d9150610db3565b6040513d8f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff965060209195506084610e4a610ab79260403d604011610e57575b610e428183613225565b8101906153e9565b9890989793505050610a29565b503d610e38565b6040513d88823e3d90fd5b6040809650610e859294503d8711610e5757610e428183613225565b9490949290610986565b6040513d87823e3d90fd5b610ec99073ffffffffffffffffffffffffffffffffffffffff6040818b96999b9795975116920151169061533a565b96610b80565b8480fd5b8280fd5b5080fd5b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257610f136130fe565b60015460ff8160a81c1615908180926115c7575b80156115ad575b156115295781740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8316176001556114e6575b506040918251610f868482613225565b601081527f50656e646c65205054204c6f6f706572000000000000000000000000000000006020820152835190610fbd8583613225565b600182527f3100000000000000000000000000000000000000000000000000000000000000602083015261100160ff60015460a81c16610ffc81614a94565b614a94565b80519067ffffffffffffffff82116114b95781906110206004546140b0565b601f811161140e575b50602090601f8311600114611351578892611346575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176004555b80519067ffffffffffffffff82116113195761108f6005546140b0565b601f8111611278575b50602090601f83116001146111a35773ffffffffffffffffffffffffffffffffffffffff939291879183611198575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176005555b846002558460035561111360ff60015460a81c16614a94565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000845416178355611143575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498917fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff600154166001555160018152a180f35b015190505f806110c7565b600587527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db091907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08416885b818110611260575091600193918573ffffffffffffffffffffffffffffffffffffffff97969410611229575b505050811b016005556110fa565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f808061121b565b929360206001819287860151815501950193016111ef565b60058752601f830160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00190602084106112f1575b601f0160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001905b8181106112e65750611098565b8781556001016112d9565b7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db091506112af565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b015190505f8061103f565b600489527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016895b8181106113f657509084600195949392106113bf575b505050811b01600455611072565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f80806113b1565b9293602060018192878601518155019501930161139b565b90915060048852601f830160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b019060208410611491575b90601f8493920160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01905b8181106114835750611029565b898155849350600101611476565b7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9150611448565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b7fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167501010000000000000000000000000000000000000000176001555f610f76565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b158015610f2e5750600160ff8260a01c1614610f2e565b50600160ff8260a01c1610610f27565b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602073ffffffffffffffffffffffffffffffffffffffff60665416604051908152f35b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f61167e366004860161350f565b61426b565b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f6105d56116db36600487016138ca565b614a12565b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c25760043567ffffffffffffffff8111610ed75761172b903690600401613731565b60243567ffffffffffffffff8111610ed35761174b9036906004016132b1565b9060443567ffffffffffffffff8111610cc25761176c9036906004016133c4565b9060643567ffffffffffffffff8111610ecf576117906117da9136906004016132b1565b6117b373ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b6117bb613c48565b506117c86105d585613ba2565b8095845186516108666105d588613efb565b9184938594604085019087825163ffffffff81511646145f14611f5c57505050606084510151155f14611f355773ffffffffffffffffffffffffffffffffffffffff6020840151169460408401515b61184a8773ffffffffffffffffffffffffffffffffffffffff84511661533a565b9660408701918251670de0b6b3a764000061186c8d60c08b015190508c614464565b0410611ed7576118c6611908936118bf73ffffffffffffffffffffffffffffffffffffffff875116858351917f00000000000000000000000000000000000000000000000000000000000000009061495e565b518a61442a565b9173ffffffffffffffffffffffffffffffffffffffff8551169273ffffffffffffffffffffffffffffffffffffffff604088510151169160208b01519461471a565b60a0869492940151611dfa575b5061192f815163ffffffff60208183511692015116141590565b610d4557889296945b63ffffffff602083510151164614611a6c575b505073ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001691511660a0860151823b15610cc2576119d0928492836040518096819582947fe2b2408500000000000000000000000000000000000000000000000000000000845260048401613a70565b03925af18015610cb757611a57575b50506102c87fdc32c763f038ea930cdd65ad1f0e1be8e661976d42f515d4e6609e1ec732a48493519573ffffffffffffffffffffffffffffffffffffffff875116956060602089015198015194604051958695869192608093969594919660a084019784526020840152604083015260608201520152565b81611a6191613225565b610cb357855f6119df565b9092809298506080870151611a808a613cc1565b60208b0191604073ffffffffffffffffffffffffffffffffffffffff84511660a48d835197889384927fec094985000000000000000000000000000000000000000000000000000000008452611b11600485018a73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1928315610e5e57869182958395611dd4575b5060409060a473ffffffffffffffffffffffffffffffffffffffff84511691835195869384927f0a44c195000000000000000000000000000000000000000000000000000000008452611bb8600485018b73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1918215611dc9578792611d83575b50611c5b608473ffffffffffffffffffffffffffffffffffffffff60209351169460405195869384927f9025036a000000000000000000000000000000000000000000000000000000008452600484019073ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b5afa918215610dfd578d92611d29575b5091611ca1916040949360807f1cd8b310a16905d32c82ed98563dc0c505a1413aff40568b4f1b303d82015ec59701519261559b565b73ffffffffffffffffffffffffffffffffffffffff8a51169382519182526020820152a2611d1b611d0573ffffffffffffffffffffffffffffffffffffffff88511673ffffffffffffffffffffffffffffffffffffffff60a085510151169061533a565b915163ffffffff60208183511692015116141590565b610d45578690955f8061194b565b915092916020823d602011611d7b575b81611d4660209383613225565b81010312610df157905191929091907f1cd8b310a16905d32c82ed98563dc0c505a1413aff40568b4f1b303d82015ec5611c6b565b3d9150611d39565b73ffffffffffffffffffffffffffffffffffffffff975060209192506084611dbc611c5b9260403d604011610e5757610e428183613225565b9990999493505050611bcd565b6040513d89823e3d90fd5b6040809750611df09296503d8811610e5757610e428183613225565b9590959490611b2a565b60049073ffffffffffffffffffffffffffffffffffffffff84511673ffffffffffffffffffffffffffffffffffffffff89515116602073ffffffffffffffffffffffffffffffffffffffff60408751015116604051958680927f781c18db0000000000000000000000000000000000000000000000000000000082525afa918215610dfd578d92611e96575b611e90945061495e565b5f611915565b91506020843d602011611ecf575b81611eb160209383613225565b81010312611ecb57611ec5611e90946149f1565b91611e86565b8c80fd5b3d9150611ea4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a206665652065786365656473206d6178466565526174656044820152fd5b73ffffffffffffffffffffffffffffffffffffffff60608251015116946060840151611829565b611f8b9073ffffffffffffffffffffffffffffffffffffffff6080818b96999b9795975116920151169061533a565b96611938565b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602073ffffffffffffffffffffffffffffffffffffffff60675416604051908152f35b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761202e9036906004016138ca565b60243567ffffffffffffffff8111610df15761204e9036906004016132b1565b9060443567ffffffffffffffff8111610df15761206f9036906004016137da565b9160643567ffffffffffffffff8111610df1576120936120dd9136906004016132b1565b6120b673ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b6120be613c48565b506120cb6105d58661400c565b8093855187516108666105d589614a12565b92604084019182519163ffffffff83511646145f1461238f5761214d61211d73ffffffffffffffffffffffffffffffffffffffff60408401511694614373565b8473ffffffffffffffffffffffffffffffffffffffff89511691612141818461533a565b9060208a015193614477565b50936080820151851061233157602063ffffffff92015115155f14612329575160200151165b63ffffffff1646146121dd5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a206272696467696e67206e6f7420737570706f727465646044820152fd5b60807fb5b9244c6ced1f40da658794a27cce7a0fb4184569b3916665b60044d25bb0b49161223d858573ffffffffffffffffffffffffffffffffffffffff8a511673ffffffffffffffffffffffffffffffffffffffff8a5151169061495e565b85519473ffffffffffffffffffffffffffffffffffffffff80875116956060602089015198015160405194855260208501521660408301526060820152a3606073ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016935116910151823b15610df1576122fe925f92836040518096819582947fe2b2408500000000000000000000000000000000000000000000000000000000845260048401613a70565b03925af1801561231e57612310575080f35b61231c91505f90613225565b005b6040513d5f823e3d90fd5b515116612173565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20696e73756666696369656e7420746f6b656e206f75746044820152fd5b61214d61211d73ffffffffffffffffffffffffffffffffffffffff60608401511694614373565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d561240d60209336906004016133c4565b613ba2565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d561167e602093369060040161350f565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760025415806125ef575b156125915761255f612501614101565b61258d61250c6141d6565b61256d6040519161251e602084613225565b5f83525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e0870190613854565b908582036040870152613854565b904660608501523060808501525f60a085015283820360c0850152613897565b0390f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b50600354156124f1565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d561062f60209336906004016137da565b34610df15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760405161268b816131d0565b60043573ffffffffffffffffffffffffffffffffffffffff81168103610df1578161041f91602093526024358382015260443560408201526064356060820152613f93565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d56127276020933690600401613731565b613efb565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d56127836020933690600401613693565b613e6e565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6127dc6020923690600401613655565b613e0f565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760015473ffffffffffffffffffffffffffffffffffffffff81169081330361289c577fffffffffffffffffffffffff000000000000000000000000000000000000000091825f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f5516600155005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b34610df15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157602061041f6105d03661349f565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df1577f6aaea081d3338771247ce1c8b55c8111e92e8523a8abfaf46030701203f8c0fe602073ffffffffffffffffffffffffffffffffffffffff612a146130fe565b612a22825f5416331461395d565b16807fffffffffffffffffffffffff00000000000000000000000000000000000000006067541617606755604051908152a1005b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f612aaa60209236906004016132f7565b613d3a565b34610df15760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157612ae73661349f565b60843567ffffffffffffffff8111610df157612b079036906004016132b1565b60a43567ffffffffffffffff8111610df157612b2790369060040161350f565b9160c43567ffffffffffffffff8111610df157612b4b612b959136906004016132b1565b612b6e73ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b612b76613c48565b50612b836105d58661426b565b8094845187516108666105d588613dc6565b5f612bba73ffffffffffffffffffffffffffffffffffffffff60208401511692613cc1565b9173ffffffffffffffffffffffffffffffffffffffff60208701511690612c5c83606060408a0151990195612ca28751612c726040519c8d98899788967fb3fd98f0000000000000000000000000000000000000000000000000000000008852600488019073ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b608486015260e060a486015260e4850190613854565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8483030160c4850152613a27565b03925af191821561231e575f92612d35575b907f177630a995e6de5fd180955f5890a54535531d17e334c5a76882a00a289b4dc8915193612d3073ffffffffffffffffffffffffffffffffffffffff86511694612d2260606020890151980151945160405195869586526020860152608060408601526080850190613a27565b908382036060850152613897565b0390a3005b91503d805f863e612d468186613225565b840193602081860312610df15780519067ffffffffffffffff8211610df1570184601f82011215610df157805194612d7d866134f7565b91612d8b6040519384613225565b86835260208084019760051b820101918211610df157602001955b818710612dba575093945084935091612cb4565b8651815260209687019601612da6565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f61240d60209236906004016133c4565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df1577f34d4f6a542f13533b1eaa27e7ae8691368028d05b7075ad7a6c34df851a67a43602073ffffffffffffffffffffffffffffffffffffffff612e8d6130fe565b612e9b825f5416331461395d565b16807fffffffffffffffffffffffff00000000000000000000000000000000000000006066541617606655604051908152a1005b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d56106896020933690600401613373565b34610df15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157612f5d6130fe565b602435908115158203610df157604435918215158303610df157612f9973ffffffffffffffffffffffffffffffffffffffff5f5416331461395d565b156130b95773ffffffffffffffffffffffffffffffffffffffff16908115908115916130b1575b5015613053577fffffffffffffffffffffffff00000000000000000000000000000000000000005f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f55600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905082612fc0565b73ffffffffffffffffffffffffffffffffffffffff9150167fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001555f80f35b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610df157565b359073ffffffffffffffffffffffffffffffffffffffff82168203610df157565b35908115158203610df157565b6040810190811067ffffffffffffffff82111761316b57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60c0810190811067ffffffffffffffff82111761316b57604052565b6060810190811067ffffffffffffffff82111761316b57604052565b6080810190811067ffffffffffffffff82111761316b57604052565b60a0810190811067ffffffffffffffff82111761316b57604052565b610100810190811067ffffffffffffffff82111761316b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761316b57604052565b359063ffffffff82168203610df157565b67ffffffffffffffff811161316b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215610df1578035906132c882613277565b926132d66040519485613225565b82845260208383010111610df157815f926020809301838601378301015290565b919060c083820312610df1576040519061331082613198565b8193803583526020810135602084015261332c60408201613266565b604084015261333d60608201613266565b60608401526080810135608084015260a08101359167ffffffffffffffff8311610df15760a09261336e92016132b1565b910152565b919091606081840312610df1576040519061338d826131b4565b819381359167ffffffffffffffff8311610df1576133b160409392849383016132f7565b8452602081013560208501520135910152565b91909160e081840312610df1576040519060e0820182811067ffffffffffffffff82111761316b57604052819381359167ffffffffffffffff8311610df15761341360c09392849383016132f7565b845261342160208201613121565b602085015260408101356040850152606081013560608501526080810135608085015261345060a08201613142565b60a08501520135910152565b9190826080910312610df157604051613474816131d0565b606080829461348281613121565b845260208101356020850152604081013560408501520135910152565b9060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112610df1576040516020810181811067ffffffffffffffff82111761316b576040526134f38193600461345c565b9052565b67ffffffffffffffff811161316b5760051b60200190565b9190608083820312610df157604051613527816131d0565b8093803567ffffffffffffffff8111610df157836135469183016132f7565b825261355460208201613121565b6020830152604081013567ffffffffffffffff8111610df157836135799183016132b1565b604083015260608101359067ffffffffffffffff8211610df157019180601f84011215610df15782356135ab816134f7565b936135b96040519586613225565b81855260208086019260051b820101928311610df157602001905b8282106135e45750505060600152565b602080916135f184613121565b8152019101906135d4565b9190606083820312610df15760405190613615826131b4565b819361362081613121565b835261362e60208201613121565b602084015260408101359167ffffffffffffffff8311610df15760409261336e92016132b1565b919091606081840312610df1576040519061366f826131b4565b819381359167ffffffffffffffff8311610df1576133b160409392849383016135fc565b919061010083820312610df157604051906136ad826131ec565b81936136b9828261345c565b8352608081013567ffffffffffffffff8111610df157826136db9183016135fc565b602084015260a081013567ffffffffffffffff8111610df15782613700918301613655565b604084015260c0810135606084015260e08101359167ffffffffffffffff8311610df15760809261336e92016132b1565b919061012083820312610df1576040519061374b82613198565b8193613757828261345c565b8352608081013567ffffffffffffffff8111610df157826137799183016135fc565b602084015260a0810135604084015260c081013567ffffffffffffffff8111610df157826137a8918301613655565b606084015260e081013560808401526101008101359167ffffffffffffffff8311610df15760a09261336e92016132b1565b91909160a081840312610df157604051906137f4826131ec565b819381359167ffffffffffffffff8311610df15761381860809392849383016132f7565b845261382660208201613142565b602085015261383760408201613121565b604085015261384860608201613121565b60608501520135910152565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b8181106138b45750505090565b82518452602093840193909201916001016138a7565b919060e083820312610df157604051906138e3826131d0565b81936138ef828261345c565b8352608081013567ffffffffffffffff8111610df157826139119183016135fc565b602084015260a081013567ffffffffffffffff8111610df15782613936918301613655565b604084015260c08101359167ffffffffffffffff8311610df15760609261336e92016132b1565b1561396457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b156139c957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f50544c6f6f7065723a20756e617574686f72697a6564000000000000000000006044820152fd5b90602080835192838152019201905f5b818110613a445750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101613a37565b60409073ffffffffffffffffffffffffffffffffffffffff613a9d94931681528160208201520190613854565b90565b613aaa8151613d3a565b90604060208201519101516040519160208301937ff2fd81fd04f9cee0ece251f806445c3b1d5103fcd06f31002a34371094102b59855260408401526060830152608082015260808152613aff60a082613225565b51902090565b604290613b10615620565b613b1861566b565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152613b6960c082613225565b51902090604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b613bac8151613d3a565b9073ffffffffffffffffffffffffffffffffffffffff60208201511690604081015190606081015160808201519060c060a08401511515930151936040519560208701977f3dbdcfb2686d43e144206a30f06f896545dd0bf378284ab15ce7d25ca65ed9cc895260408801526060870152608086015260a085015260c084015260e08301526101008201526101008152613aff61012082613225565b60405190613c55826131b4565b815f81525f60208201526040805191613c6d83613208565b5f83525f60208401525f828401525f60608401525f60808401525f60a08401525f60c08401525f60e08401520152565b60405190613caa826131d0565b5f6060838281528260208201528260408201520152565b613cc9613c9d565b50604073ffffffffffffffffffffffffffffffffffffffff825116910151613cef613c9d565b5060e08101519073ffffffffffffffffffffffffffffffffffffffff60a081608084015116920151169160405193613d26856131d0565b845260208401526040830152606082015290565b80519060208101519063ffffffff6040820151169063ffffffff60608201511660a0608083015192015160208151910120926040519460208601967f4b5c157e13c9c70173fbe4c990f516a87f1bcb79deeb7706156cfd0a4bb4ee84885260408701526060860152608085015260a084015260c083015260e082015260e08152613aff61010082613225565b613dd09051613f93565b60405160208101917feb325b74167005941f5d4aacf4aa3fd86a6d4dcb7695d06bcc66de38ad87d3c28352604082015260408152613aff606082613225565b613e198151614b1f565b90604060208201519101516040519160208301937f2e509eca09b391e74bb50ce10f43a13d6dfd1390e626fcfc40c60b1d7369a4b0855260408401526060830152608082015260808152613aff60a082613225565b613e788151613f93565b90613e866020820151614b1f565b90613e946040820151613e0f565b906080606082015191015160208151910120916040519360208501957fa2638841c0c7fcfce10275ef9bc3e8b2711ac24f07818116b6942c54a9805f12875260408601526060850152608084015260a083015260c082015260c08152613aff60e082613225565b613f058151613f93565b90613f136020820151614b1f565b90604081015190613f276060820151613e0f565b60a0608083015192015160208151910120926040519460208601967f40d59af1d5bbd55280d0f7131b112cf40ffd6775f6ca26b477734c4dca0cf64e885260408701526060860152608085015260a084015260c083015260e082015260e08152613aff61010082613225565b73ffffffffffffffffffffffffffffffffffffffff8151169060208101519060606040820151910151906040519260208401947f822aa76455d3f0b945088018ee29f25999f8e1b1cbe462cd90f78d0c038148ec865260408501526060840152608083015260a082015260a08152613aff60c082613225565b6140168151613d3a565b90602081015115159073ffffffffffffffffffffffffffffffffffffffff60408201511690608073ffffffffffffffffffffffffffffffffffffffff606083015116910151916040519360208501957f8ac3df3c6aafa50fff9c9cdb9de52954f7d1bcb8a41375bb202fca85c4f86cab875260408601526060850152608084015260a083015260c082015260c08152613aff60e082613225565b90600182811c921680156140f7575b60208310146140ca57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916140bf565b604051905f8260045491614114836140b0565b8083529260018116908115614199575060011461413a575b61413892500383613225565b565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061417d5750509060206141389282010161412c565b6020919350806001915483858901015201910190918492614165565b602092506141389491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010161412c565b604051905f82600554916141e9836140b0565b8083529260018116908115614199575060011461420c5761413892500383613225565b5060055f90815290917f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b81831061424f5750509060206141389282010161412c565b6020919350806001915483858901015201910190918492614237565b6142758151613d3a565b9073ffffffffffffffffffffffffffffffffffffffff6020820151169060606040820151602081519101209101516040516020810181819360208151939101925f5b8181106143445750506142f19250037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613225565b519020906040519260208401947fc43b1ddd31b47c3575e0cfab0ba34c9546a4f739fce4f13625dc9ae5cc44df62865260408501526060840152608083015260a082015260a08152613aff60c082613225565b845173ffffffffffffffffffffffffffffffffffffffff168352602094850194869450909201916001016142b7565b63ffffffff815116461461440d5763ffffffff60208201511646146143f05760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f50544c6f6f7065723a20756e737570706f7274656420636861696e69640000006044820152fd5b60a0015173ffffffffffffffffffffffffffffffffffffffff1690565b6060015173ffffffffffffffffffffffffffffffffffffffff1690565b9190820391821161443757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181029291811591840414171561443757565b909193949273ffffffffffffffffffffffffffffffffffffffff80821693169183831461470f5773ffffffffffffffffffffffffffffffffffffffff16906144bf818361533a565b9673ffffffffffffffffffffffffffffffffffffffff81511680156147045773ffffffffffffffffffffffffffffffffffffffff826145945f938360408160208f99015116940151918160405195614516876131ec565b8c875260208701998a52604087019081526060870192835260808701948552604051998a9889987f28dc8307000000000000000000000000000000000000000000000000000000008a52604060048b01525116604489015251606488015251166084860152511660a48401525160a060c484015260e4830190613854565b866024830152038183875af1801561231e57614682575b506145b96145c0918361533a565b968761442a565b94670de0b6b3a76400008602868104670de0b6b3a76400001487151715614437575f9082156001171561443757106146245760407fb4f5edbb087700c3f3246c0f164b5277ac48e3720a148d371f9dfed3258662f2918151908152876020820152a4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20737761702062656c6f77206d696e53776170526174656044820152fd5b903d805f843e6146928184613225565b820191602081840312610df15780519067ffffffffffffffff8211610df157019082601f83011215610df1578151926146ca84613277565b906146d86040519283613225565b84825260208585010111610df1575f6020856145c096826145b997018386015e830101525091506145ab565b505f96505050505050565b505050509150905f90565b9495939473ffffffffffffffffffffffffffffffffffffffff80851694921692908385146149535773ffffffffffffffffffffffffffffffffffffffff1691614763818461533a565b9773ffffffffffffffffffffffffffffffffffffffff81511680156149475773ffffffffffffffffffffffffffffffffffffffff5f9161483660408360208701511695015183604051936147b6856131ec565b8b85528160208601988b8a52604087019081526060870192835260808701948552604051998a9889987f28dc8307000000000000000000000000000000000000000000000000000000008a52604060048b01525116604489015251606488015251166084860152511660a48401525160a060c484015260e4830190613854565b876024830152038183885af1801561231e576148c5575b5061485b614862918461533a565b978861442a565b95670de0b6b3a7640000870290878204670de0b6b3a764000014881517156144375761488e9083614464565b116146245760407fb4f5edbb087700c3f3246c0f164b5277ac48e3720a148d371f9dfed3258662f2918151908152876020820152a4565b903d805f843e6148d58184613225565b820191602081840312610df15780519067ffffffffffffffff8211610df157019082601f83011215610df15781519261490d84613277565b9061491b6040519283613225565b84825260208585010111610df1575f602085614862968261485b97018386015e8301015250915061484d565b505f9750505050505050565b5095505f9450505050565b9192909173ffffffffffffffffffffffffffffffffffffffff16803b15610df1575f928360649273ffffffffffffffffffffffffffffffffffffffff948560405198899788967fc3b35a7e00000000000000000000000000000000000000000000000000000000885216600487015216602485015260448401525af1801561231e576149e75750565b5f61413891613225565b519073ffffffffffffffffffffffffffffffffffffffff82168203610df157565b614a1c8151613f93565b90614a2a6020820151614b1f565b906060614a3a6040830151613e0f565b91015160208151910120906040519260208401947f6cd5da344d135a773661e166411b132de126661c92b5d13b7b83c71ff0110f1f865260408501526060840152608083015260a082015260a08152613aff60c082613225565b15614a9b57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff81511690604073ffffffffffffffffffffffffffffffffffffffff602083015116910151602081519101206040519160208301937fd3355b017a4df5ab14bfe30be8fc74cf288d6cbdd53b7fb9a45cb406e14cb425855260408401526060830152608082015260808152613aff60a082613225565b9190939294614bb6613c48565b5073ffffffffffffffffffffffffffffffffffffffff8351165f52606960205260405f2094602084019586515f5260205260405f209060208101514210156152dc5785825480155f1461526757505080518751036151e35763ffffffff6040820151169263ffffffff60018401541680940361518557614c4e908773ffffffffffffffffffffffffffffffffffffffff8851166153ff565b156151015790859055835186516040805188815263ffffffff95861660208201526060949373ffffffffffffffffffffffffffffffffffffffff16917e3d5fea7147843a952736a57f88f9e5565759fb750f34a8e58cbc215034c64c91a35b01511690614cb9613c48565b9542604085015111156150a357614ce89173ffffffffffffffffffffffffffffffffffffffff606754166153ff565b1561504557606082019081511015614fc15773ffffffffffffffffffffffffffffffffffffffff8251165f52606860205260405f20835f5260205260405f2054815103614f635751600181018091116144375773ffffffffffffffffffffffffffffffffffffffff92838351165f52606860205260405f20905f5260205260405f205551169051604051917fa92572fb00000000000000000000000000000000000000000000000000000000835260048301526024820152610140816044815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1801561231e575f905f925f91614e1b575b50604084015273ffffffffffffffffffffffffffffffffffffffff918216602084015216815290565b92505050806101403d8111614f5c575b614e358183613225565b8101036101408112610df157815173ffffffffffffffffffffffffffffffffffffffff81168103610df15760208301519173ffffffffffffffffffffffffffffffffffffffff83168303610df1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0610100910112610df15773ffffffffffffffffffffffffffffffffffffffff92839161012060405192614ed684613208565b614ee26040820161558a565b8452614ef06060820161558a565b6020850152614f01608082016149f1565b6040850152614f1260a082016149f1565b6060850152614f2360c082016149f1565b6080850152614f3460e082016149f1565b60a0850152614f4661010082016149f1565b60c0850152015160e08301529290915092614df2565b503d614e2b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20696e76616c69642070726f706f736572206e6f6e63656044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f50544c6f6f7065723a207065726d69744e6f6e6365436170206578636565646560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f50544c6f6f7065723a20696e76616c6964207369676e617475726500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206d6573736167652065787069726564000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f50544c6f6f7065723a20696e76616c6964206f776e6572207369676e6174757260448201527f65000000000000000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f50544c6f6f7065723a20696e76616c69642073657373696f6e206e6f6e6365006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f50544c6f6f7065723a207265712f7065726d697420626f784964206d69736d6160448201527f74636800000000000000000000000000000000000000000000000000000000006064820152fd5b91935091500361527e57606063ffffffff91614cad565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f50544c6f6f7065723a20726571756573742068617368206d69736d61746368006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a20726571756573742065787069726564000000000000006044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff168061535b57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa90811561231e575f916153ba575090565b90506020813d6020116153e1575b816153d560209383613225565b81010312610df1575190565b3d91506153c8565b9190826040910312610df1576020825192015190565b9061540a8382615691565b600581959295101561555d5715938461553a575b50831561542c575b50505090565b5f93509061547d6154a985949360405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190613854565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613225565b51915afa3d15615533573d6154bd81613277565b906154cb6040519283613225565b81523d5f602083013e5b81615525575b816154ea575b505f8080615426565b9050602081805181010312610df157602001517f1626ba7e00000000000000000000000000000000000000000000000000000000145f6154e1565b9050602081511015906154db565b60606154d5565b73ffffffffffffffffffffffffffffffffffffffff84811691161493505f61541e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b519063ffffffff82168203610df157565b92670de0b6b3a76400006155b481946155ba9496614464565b04614464565b04106155c257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206d61784c5456206578636565646564000000000000006044820152fd5b615628614101565b8051908115615638576020012090565b505060025480156156465790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b6156736141d6565b8051908115615683576020012090565b505060035480156156465790565b9060418151145f146156bd576156b991602082015190606060408401519301515f1a906156c6565b9091565b50505f90600290565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615743576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa1561231e575f5173ffffffffffffffffffffffffffffffffffffffff81161561573b57905f90565b505f90600190565b505050505f9060039056fea26469706673582212207ccb1e2387148f2ddad31a7a0d4c80376a0668e89b585e43a8a0e6505167b13364736f6c634300081e0033",
2657
+ "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f5f3560e01c8063078dfbe714612f265780630ffa185914612ecf5780631c3c0ea814612e1e5780631c860d5f14612dca5780631c9cd00f14612aaf5780631f64e9ce14612a565780631fb4a228146129a55780632d2c5565146129375780632f8912ef146128fa5780634e71e0c8146127e1578063536ad93e14612788578063579f5e561461272c57806363efbf0e146126d05780636967c4851461265057806377aa686f146125f957806384b0196e146124b95780638b8c7d0e146124625780638da5cb5b146124125780638eeef723146123b6578063a6b41ec414611fe3578063a8e4fb9014611f91578063b7bfe9f2146116e0578063bfe88d8e14611683578063c124221314611629578063c34c08e5146115d7578063c4d66de814610edb578063c685f6471461076c578063c6f45db3146106fd578063ca6f50fd1461068e578063d6d67da014610634578063db03a2f0146105da578063e23dd1fc1461058f578063e30c39781461053d578063f1ec230f14610494578063f6fa7e5014610427578063fb2bc633146103c55763ff0639e1146101b1575f80fd5b346103c25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576101e86130fe565b6024359073ffffffffffffffffffffffffffffffffffffffff604435918160665416331480156103b7575b61021c906139c2565b16908184526069602052604084208385526020526040842090815480156103595781036102fb57600182019182549263ffffffff841663ffffffff81146102ce5760010163ffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000094909416841790558590556040805191825260208201929092527fc3f9a82d23af118c46becbef55ed995396b7cc74a156acc86c37edd9620f1e0e91819081015b0390a380f35b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50544c6f6f7065723a207265717565737448617368206d69736d6174636800006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206e6f206f70656e2073657373696f6e000000000000006044820152fd5b503381831614610213565b80fd5b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f61041a36600486016135fc565b614b1f565b604051908152f35b50346103c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257604060209173ffffffffffffffffffffffffffffffffffffffff6104796130fe565b16815260688352818120602435825283522054604051908152f35b50346103c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576040809173ffffffffffffffffffffffffffffffffffffffff6104e56130fe565b82602085516104f38161314f565b8281520152168152606960205281812060243582526020522063ffffffff825161051c8161314f565b60208260018554958685520154169101908152835192835251166020820152f35b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b50346103c25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602061041f6105d56105d03661349f565b613dc6565b613b05565b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f61062f36600486016137da565b61400c565b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f6106893660048601613373565b613aa0565b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c25760043567ffffffffffffffff8111610ed7576107b7903690600401613693565b60243567ffffffffffffffff8111610ed3576107d79036906004016132b1565b9060443567ffffffffffffffff8111610cc2576107f8903690600401613373565b9060643567ffffffffffffffff8111610ecf5761081c61086c9136906004016132b1565b61083f73ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b610847613c48565b506108546105d585613aa0565b8095845186516108666105d588613e6e565b91614ba9565b9184938594604085019087825163ffffffff60208201511646145f14610e9a575050506108cc73ffffffffffffffffffffffffffffffffffffffff86511673ffffffffffffffffffffffffffffffffffffffff60a084510151169061533a565b94876060860151816108dd84613cc1565b60208501604073ffffffffffffffffffffffffffffffffffffffff82511660a48d835196879384927f3a2e717b00000000000000000000000000000000000000000000000000000000845261096d600485018a73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1908115610e8f57859485948693610e69575b5060409060a473ffffffffffffffffffffffffffffffffffffffff84511691835198899384927fd30cd708000000000000000000000000000000000000000000000000000000008452610a14600485018b73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1948515610e5e578695610e08575b50610ab7608473ffffffffffffffffffffffffffffffffffffffff60209351169460405195869384927f9025036a000000000000000000000000000000000000000000000000000000008452600484019073ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b5afa918215610dfd578d92610da3575b507f3bb7491f8a60de4663d7a867b8a455c3d949a312bccb388b2d8aad2a8943f26c9360409392610afc92858c01519261559b565b73ffffffffffffffffffffffffffffffffffffffff8551169382519182526020820152a2610b5d73ffffffffffffffffffffffffffffffffffffffff82511673ffffffffffffffffffffffffffffffffffffffff608085510151169061533a565b91610b77815163ffffffff60208183511692015116141590565b610d4557889296945b815163ffffffff8151164614610cc6575b50505073ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169151166080860151823b15610cc257610c17928492836040518096819582947fe2b2408500000000000000000000000000000000000000000000000000000000845260048401613a70565b03925af18015610cb757610c9e575b50506102c87f80fb3628401036a6958f114182756e4ab87375e320ad0c90c57e2025a18b851193519573ffffffffffffffffffffffffffffffffffffffff875116956060602089015198015194604051958695869192608093969594919660a084019784526020840152604083015260608201520152565b81610ca891613225565b610cb357855f610c26565b8580fd5b6040513d84823e3d90fd5b8380fd5b839950610d1f92945073ffffffffffffffffffffffffffffffffffffffff610d369451169189602073ffffffffffffffffffffffffffffffffffffffff606081604087015116950151169201519260208b01519461471a565b50915163ffffffff60208183511692015116141590565b610d45578690955f8080610b91565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a206272696467696e67206e6f7420737570706f727465646044820152fd5b909291506020813d602011610df5575b81610dc060209383613225565b81010312610df1575190917f3bb7491f8a60de4663d7a867b8a455c3d949a312bccb388b2d8aad2a8943f26c610ac7565b5f80fd5b3d9150610db3565b6040513d8f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff965060209195506084610e4a610ab79260403d604011610e57575b610e428183613225565b8101906153e9565b9890989793505050610a29565b503d610e38565b6040513d88823e3d90fd5b6040809650610e859294503d8711610e5757610e428183613225565b9490949290610986565b6040513d87823e3d90fd5b610ec99073ffffffffffffffffffffffffffffffffffffffff6040818b96999b9795975116920151169061533a565b96610b80565b8480fd5b8280fd5b5080fd5b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257610f136130fe565b60015460ff8160a81c1615908180926115c7575b80156115ad575b156115295781740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8316176001556114e6575b506040918251610f868482613225565b601081527f50656e646c65205054204c6f6f706572000000000000000000000000000000006020820152835190610fbd8583613225565b600182527f3100000000000000000000000000000000000000000000000000000000000000602083015261100160ff60015460a81c16610ffc81614a94565b614a94565b80519067ffffffffffffffff82116114b95781906110206004546140b0565b601f811161140e575b50602090601f8311600114611351578892611346575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176004555b80519067ffffffffffffffff82116113195761108f6005546140b0565b601f8111611278575b50602090601f83116001146111a35773ffffffffffffffffffffffffffffffffffffffff939291879183611198575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176005555b846002558460035561111360ff60015460a81c16614a94565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000845416178355611143575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498917fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff600154166001555160018152a180f35b015190505f806110c7565b600587527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db091907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08416885b818110611260575091600193918573ffffffffffffffffffffffffffffffffffffffff97969410611229575b505050811b016005556110fa565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f808061121b565b929360206001819287860151815501950193016111ef565b60058752601f830160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00190602084106112f1575b601f0160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001905b8181106112e65750611098565b8781556001016112d9565b7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db091506112af565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b015190505f8061103f565b600489527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016895b8181106113f657509084600195949392106113bf575b505050811b01600455611072565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690555f80806113b1565b9293602060018192878601518155019501930161139b565b90915060048852601f830160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b019060208410611491575b90601f8493920160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01905b8181106114835750611029565b898155849350600101611476565b7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9150611448565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b7fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167501010000000000000000000000000000000000000000176001555f610f76565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b158015610f2e5750600160ff8260a01c1614610f2e565b50600160ff8260a01c1610610f27565b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602073ffffffffffffffffffffffffffffffffffffffff60665416604051908152f35b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f61167e366004860161350f565b61426b565b50346103c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c2576004359067ffffffffffffffff82116103c257602061041f6105d56116db36600487016138ca565b614a12565b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c25760043567ffffffffffffffff8111610ed75761172b903690600401613731565b60243567ffffffffffffffff8111610ed35761174b9036906004016132b1565b9060443567ffffffffffffffff8111610cc25761176c9036906004016133c4565b9060643567ffffffffffffffff8111610ecf576117906117da9136906004016132b1565b6117b373ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b6117bb613c48565b506117c86105d585613ba2565b8095845186516108666105d588613efb565b9184938594604085019087825163ffffffff81511646145f14611f5c57505050606084510151155f14611f355773ffffffffffffffffffffffffffffffffffffffff6020840151169460408401515b61184a8773ffffffffffffffffffffffffffffffffffffffff84511661533a565b9660408701918251670de0b6b3a764000061186c8d60c08b015190508c614464565b0410611ed7576118c6611908936118bf73ffffffffffffffffffffffffffffffffffffffff875116858351917f00000000000000000000000000000000000000000000000000000000000000009061495e565b518a61442a565b9173ffffffffffffffffffffffffffffffffffffffff8551169273ffffffffffffffffffffffffffffffffffffffff604088510151169160208b01519461471a565b60a0869492940151611dfa575b5061192f815163ffffffff60208183511692015116141590565b610d4557889296945b63ffffffff602083510151164614611a6c575b505073ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001691511660a0860151823b15610cc2576119d0928492836040518096819582947fe2b2408500000000000000000000000000000000000000000000000000000000845260048401613a70565b03925af18015610cb757611a57575b50506102c87fdc32c763f038ea930cdd65ad1f0e1be8e661976d42f515d4e6609e1ec732a48493519573ffffffffffffffffffffffffffffffffffffffff875116956060602089015198015194604051958695869192608093969594919660a084019784526020840152604083015260608201520152565b81611a6191613225565b610cb357855f6119df565b9092809298506080870151611a808a613cc1565b60208b0191604073ffffffffffffffffffffffffffffffffffffffff84511660a48d835197889384927fec094985000000000000000000000000000000000000000000000000000000008452611b11600485018a73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1928315610e5e57869182958395611dd4575b5060409060a473ffffffffffffffffffffffffffffffffffffffff84511691835195869384927f0a44c195000000000000000000000000000000000000000000000000000000008452611bb8600485018b73ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b60848401525af1918215611dc9578792611d83575b50611c5b608473ffffffffffffffffffffffffffffffffffffffff60209351169460405195869384927f9025036a000000000000000000000000000000000000000000000000000000008452600484019073ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b5afa918215610dfd578d92611d29575b5091611ca1916040949360807f1cd8b310a16905d32c82ed98563dc0c505a1413aff40568b4f1b303d82015ec59701519261559b565b73ffffffffffffffffffffffffffffffffffffffff8a51169382519182526020820152a2611d1b611d0573ffffffffffffffffffffffffffffffffffffffff88511673ffffffffffffffffffffffffffffffffffffffff60a085510151169061533a565b915163ffffffff60208183511692015116141590565b610d45578690955f8061194b565b915092916020823d602011611d7b575b81611d4660209383613225565b81010312610df157905191929091907f1cd8b310a16905d32c82ed98563dc0c505a1413aff40568b4f1b303d82015ec5611c6b565b3d9150611d39565b73ffffffffffffffffffffffffffffffffffffffff975060209192506084611dbc611c5b9260403d604011610e5757610e428183613225565b9990999493505050611bcd565b6040513d89823e3d90fd5b6040809750611df09296503d8811610e5757610e428183613225565b9590959490611b2a565b60049073ffffffffffffffffffffffffffffffffffffffff84511673ffffffffffffffffffffffffffffffffffffffff89515116602073ffffffffffffffffffffffffffffffffffffffff60408751015116604051958680927f781c18db0000000000000000000000000000000000000000000000000000000082525afa918215610dfd578d92611e96575b611e90945061495e565b5f611915565b91506020843d602011611ecf575b81611eb160209383613225565b81010312611ecb57611ec5611e90946149f1565b91611e86565b8c80fd5b3d9150611ea4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a206665652065786365656473206d6178466565526174656044820152fd5b73ffffffffffffffffffffffffffffffffffffffff60608251015116946060840151611829565b611f8b9073ffffffffffffffffffffffffffffffffffffffff6080818b96999b9795975116920151169061533a565b96611938565b50346103c257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103c257602073ffffffffffffffffffffffffffffffffffffffff60675416604051908152f35b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761202e9036906004016138ca565b60243567ffffffffffffffff8111610df15761204e9036906004016132b1565b9060443567ffffffffffffffff8111610df15761206f9036906004016137da565b9160643567ffffffffffffffff8111610df1576120936120dd9136906004016132b1565b6120b673ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b6120be613c48565b506120cb6105d58661400c565b8093855187516108666105d589614a12565b92604084019182519163ffffffff83511646145f1461238f5761214d61211d73ffffffffffffffffffffffffffffffffffffffff60408401511694614373565b8473ffffffffffffffffffffffffffffffffffffffff89511691612141818461533a565b9060208a015193614477565b50936080820151851061233157602063ffffffff92015115155f14612329575160200151165b63ffffffff1646146121dd5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a206272696467696e67206e6f7420737570706f727465646044820152fd5b60807fb5b9244c6ced1f40da658794a27cce7a0fb4184569b3916665b60044d25bb0b49161223d858573ffffffffffffffffffffffffffffffffffffffff8a511673ffffffffffffffffffffffffffffffffffffffff8a5151169061495e565b85519473ffffffffffffffffffffffffffffffffffffffff80875116956060602089015198015160405194855260208501521660408301526060820152a3606073ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016935116910151823b15610df1576122fe925f92836040518096819582947fe2b2408500000000000000000000000000000000000000000000000000000000845260048401613a70565b03925af1801561231e57612310575080f35b61231c91505f90613225565b005b6040513d5f823e3d90fd5b515116612173565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20696e73756666696369656e7420746f6b656e206f75746044820152fd5b61214d61211d73ffffffffffffffffffffffffffffffffffffffff60608401511694614373565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d561240d60209336906004016133c4565b613ba2565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d561167e602093369060040161350f565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760025415806125ef575b156125915761255f612501614101565b61258d61250c6141d6565b61256d6040519161251e602084613225565b5f83525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e0870190613854565b908582036040870152613854565b904660608501523060808501525f60a085015283820360c0850152613897565b0390f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b50600354156124f1565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d561062f60209336906004016137da565b34610df15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760405161268b816131d0565b60043573ffffffffffffffffffffffffffffffffffffffff81168103610df1578161041f91602093526024358382015260443560408201526064356060820152613f93565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d56127276020933690600401613731565b613efb565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d56127836020933690600401613693565b613e6e565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6127dc6020923690600401613655565b613e0f565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760015473ffffffffffffffffffffffffffffffffffffffff81169081330361289c577fffffffffffffffffffffffff000000000000000000000000000000000000000091825f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f5516600155005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b34610df15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157602061041f6105d03661349f565b34610df1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df1577f6aaea081d3338771247ce1c8b55c8111e92e8523a8abfaf46030701203f8c0fe602073ffffffffffffffffffffffffffffffffffffffff612a146130fe565b612a22825f5416331461395d565b16807fffffffffffffffffffffffff00000000000000000000000000000000000000006067541617606755604051908152a1005b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f612aaa60209236906004016132f7565b613d3a565b34610df15760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157612ae73661349f565b60843567ffffffffffffffff8111610df157612b079036906004016132b1565b60a43567ffffffffffffffff8111610df157612b2790369060040161350f565b9160c43567ffffffffffffffff8111610df157612b4b612b959136906004016132b1565b612b6e73ffffffffffffffffffffffffffffffffffffffff6066541633146139c2565b612b76613c48565b50612b836105d58661426b565b8094845187516108666105d588613dc6565b5f612bba73ffffffffffffffffffffffffffffffffffffffff60208401511692613cc1565b9173ffffffffffffffffffffffffffffffffffffffff60208701511690612c5c83606060408a0151990195612ca28751612c726040519c8d98899788967fb3fd98f0000000000000000000000000000000000000000000000000000000008852600488019073ffffffffffffffffffffffffffffffffffffffff6060809282815116855260208101516020860152826040820151166040860152015116910152565b608486015260e060a486015260e4850190613854565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8483030160c4850152613a27565b03925af191821561231e575f92612d35575b907f177630a995e6de5fd180955f5890a54535531d17e334c5a76882a00a289b4dc8915193612d3073ffffffffffffffffffffffffffffffffffffffff86511694612d2260606020890151980151945160405195869586526020860152608060408601526080850190613a27565b908382036060850152613897565b0390a3005b91503d805f863e612d468186613225565b840193602081860312610df15780519067ffffffffffffffff8211610df1570184601f82011215610df157805194612d7d866134f7565b91612d8b6040519384613225565b86835260208084019760051b820101918211610df157602001955b818710612dba575093945084935091612cb4565b8651815260209687019601612da6565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f61240d60209236906004016133c4565b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df1577f34d4f6a542f13533b1eaa27e7ae8691368028d05b7075ad7a6c34df851a67a43602073ffffffffffffffffffffffffffffffffffffffff612e8d6130fe565b612e9b825f5416331461395d565b16807fffffffffffffffffffffffff00000000000000000000000000000000000000006066541617606655604051908152a1005b34610df15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df15760043567ffffffffffffffff8111610df15761041f6105d56106896020933690600401613373565b34610df15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610df157612f5d6130fe565b602435908115158203610df157604435918215158303610df157612f9973ffffffffffffffffffffffffffffffffffffffff5f5416331461395d565b156130b95773ffffffffffffffffffffffffffffffffffffffff16908115908115916130b1575b5015613053577fffffffffffffffffffffffff00000000000000000000000000000000000000005f548273ffffffffffffffffffffffffffffffffffffffff82167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a316175f55600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905082612fc0565b73ffffffffffffffffffffffffffffffffffffffff9150167fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001555f80f35b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610df157565b359073ffffffffffffffffffffffffffffffffffffffff82168203610df157565b35908115158203610df157565b6040810190811067ffffffffffffffff82111761316b57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60c0810190811067ffffffffffffffff82111761316b57604052565b6060810190811067ffffffffffffffff82111761316b57604052565b6080810190811067ffffffffffffffff82111761316b57604052565b60a0810190811067ffffffffffffffff82111761316b57604052565b610100810190811067ffffffffffffffff82111761316b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761316b57604052565b359063ffffffff82168203610df157565b67ffffffffffffffff811161316b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215610df1578035906132c882613277565b926132d66040519485613225565b82845260208383010111610df157815f926020809301838601378301015290565b919060c083820312610df1576040519061331082613198565b8193803583526020810135602084015261332c60408201613266565b604084015261333d60608201613266565b60608401526080810135608084015260a08101359167ffffffffffffffff8311610df15760a09261336e92016132b1565b910152565b919091606081840312610df1576040519061338d826131b4565b819381359167ffffffffffffffff8311610df1576133b160409392849383016132f7565b8452602081013560208501520135910152565b91909160e081840312610df1576040519060e0820182811067ffffffffffffffff82111761316b57604052819381359167ffffffffffffffff8311610df15761341360c09392849383016132f7565b845261342160208201613121565b602085015260408101356040850152606081013560608501526080810135608085015261345060a08201613142565b60a08501520135910152565b9190826080910312610df157604051613474816131d0565b606080829461348281613121565b845260208101356020850152604081013560408501520135910152565b9060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112610df1576040516020810181811067ffffffffffffffff82111761316b576040526134f38193600461345c565b9052565b67ffffffffffffffff811161316b5760051b60200190565b9190608083820312610df157604051613527816131d0565b8093803567ffffffffffffffff8111610df157836135469183016132f7565b825261355460208201613121565b6020830152604081013567ffffffffffffffff8111610df157836135799183016132b1565b604083015260608101359067ffffffffffffffff8211610df157019180601f84011215610df15782356135ab816134f7565b936135b96040519586613225565b81855260208086019260051b820101928311610df157602001905b8282106135e45750505060600152565b602080916135f184613121565b8152019101906135d4565b9190606083820312610df15760405190613615826131b4565b819361362081613121565b835261362e60208201613121565b602084015260408101359167ffffffffffffffff8311610df15760409261336e92016132b1565b919091606081840312610df1576040519061366f826131b4565b819381359167ffffffffffffffff8311610df1576133b160409392849383016135fc565b919061010083820312610df157604051906136ad826131ec565b81936136b9828261345c565b8352608081013567ffffffffffffffff8111610df157826136db9183016135fc565b602084015260a081013567ffffffffffffffff8111610df15782613700918301613655565b604084015260c0810135606084015260e08101359167ffffffffffffffff8311610df15760809261336e92016132b1565b919061012083820312610df1576040519061374b82613198565b8193613757828261345c565b8352608081013567ffffffffffffffff8111610df157826137799183016135fc565b602084015260a0810135604084015260c081013567ffffffffffffffff8111610df157826137a8918301613655565b606084015260e081013560808401526101008101359167ffffffffffffffff8311610df15760a09261336e92016132b1565b91909160a081840312610df157604051906137f4826131ec565b819381359167ffffffffffffffff8311610df15761381860809392849383016132f7565b845261382660208201613142565b602085015261383760408201613121565b604085015261384860608201613121565b60608501520135910152565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b8181106138b45750505090565b82518452602093840193909201916001016138a7565b919060e083820312610df157604051906138e3826131d0565b81936138ef828261345c565b8352608081013567ffffffffffffffff8111610df157826139119183016135fc565b602084015260a081013567ffffffffffffffff8111610df15782613936918301613655565b604084015260c08101359167ffffffffffffffff8311610df15760609261336e92016132b1565b1561396457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b156139c957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f50544c6f6f7065723a20756e617574686f72697a6564000000000000000000006044820152fd5b90602080835192838152019201905f5b818110613a445750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101613a37565b60409073ffffffffffffffffffffffffffffffffffffffff613a9d94931681528160208201520190613854565b90565b613aaa8151613d3a565b90604060208201519101516040519160208301937ff2fd81fd04f9cee0ece251f806445c3b1d5103fcd06f31002a34371094102b59855260408401526060830152608082015260808152613aff60a082613225565b51902090565b604290613b10615620565b613b1861566b565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152613b6960c082613225565b51902090604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b613bac8151613d3a565b9073ffffffffffffffffffffffffffffffffffffffff60208201511690604081015190606081015160808201519060c060a08401511515930151936040519560208701977f3dbdcfb2686d43e144206a30f06f896545dd0bf378284ab15ce7d25ca65ed9cc895260408801526060870152608086015260a085015260c084015260e08301526101008201526101008152613aff61012082613225565b60405190613c55826131b4565b815f81525f60208201526040805191613c6d83613208565b5f83525f60208401525f828401525f60608401525f60808401525f60a08401525f60c08401525f60e08401520152565b60405190613caa826131d0565b5f6060838281528260208201528260408201520152565b613cc9613c9d565b50604073ffffffffffffffffffffffffffffffffffffffff825116910151613cef613c9d565b5060e08101519073ffffffffffffffffffffffffffffffffffffffff60a081608084015116920151169160405193613d26856131d0565b845260208401526040830152606082015290565b80519060208101519063ffffffff6040820151169063ffffffff60608201511660a0608083015192015160208151910120926040519460208601967f4b5c157e13c9c70173fbe4c990f516a87f1bcb79deeb7706156cfd0a4bb4ee84885260408701526060860152608085015260a084015260c083015260e082015260e08152613aff61010082613225565b613dd09051613f93565b60405160208101917feb325b74167005941f5d4aacf4aa3fd86a6d4dcb7695d06bcc66de38ad87d3c28352604082015260408152613aff606082613225565b613e198151614b1f565b90604060208201519101516040519160208301937f2e509eca09b391e74bb50ce10f43a13d6dfd1390e626fcfc40c60b1d7369a4b0855260408401526060830152608082015260808152613aff60a082613225565b613e788151613f93565b90613e866020820151614b1f565b90613e946040820151613e0f565b906080606082015191015160208151910120916040519360208501957fa2638841c0c7fcfce10275ef9bc3e8b2711ac24f07818116b6942c54a9805f12875260408601526060850152608084015260a083015260c082015260c08152613aff60e082613225565b613f058151613f93565b90613f136020820151614b1f565b90604081015190613f276060820151613e0f565b60a0608083015192015160208151910120926040519460208601967f40d59af1d5bbd55280d0f7131b112cf40ffd6775f6ca26b477734c4dca0cf64e885260408701526060860152608085015260a084015260c083015260e082015260e08152613aff61010082613225565b73ffffffffffffffffffffffffffffffffffffffff8151169060208101519060606040820151910151906040519260208401947f822aa76455d3f0b945088018ee29f25999f8e1b1cbe462cd90f78d0c038148ec865260408501526060840152608083015260a082015260a08152613aff60c082613225565b6140168151613d3a565b90602081015115159073ffffffffffffffffffffffffffffffffffffffff60408201511690608073ffffffffffffffffffffffffffffffffffffffff606083015116910151916040519360208501957f8ac3df3c6aafa50fff9c9cdb9de52954f7d1bcb8a41375bb202fca85c4f86cab875260408601526060850152608084015260a083015260c082015260c08152613aff60e082613225565b90600182811c921680156140f7575b60208310146140ca57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916140bf565b604051905f8260045491614114836140b0565b8083529260018116908115614199575060011461413a575b61413892500383613225565b565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061417d5750509060206141389282010161412c565b6020919350806001915483858901015201910190918492614165565b602092506141389491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010161412c565b604051905f82600554916141e9836140b0565b8083529260018116908115614199575060011461420c5761413892500383613225565b5060055f90815290917f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b81831061424f5750509060206141389282010161412c565b6020919350806001915483858901015201910190918492614237565b6142758151613d3a565b9073ffffffffffffffffffffffffffffffffffffffff6020820151169060606040820151602081519101209101516040516020810181819360208151939101925f5b8181106143445750506142f19250037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613225565b519020906040519260208401947fc43b1ddd31b47c3575e0cfab0ba34c9546a4f739fce4f13625dc9ae5cc44df62865260408501526060840152608083015260a082015260a08152613aff60c082613225565b845173ffffffffffffffffffffffffffffffffffffffff168352602094850194869450909201916001016142b7565b63ffffffff815116461461440d5763ffffffff60208201511646146143f05760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f50544c6f6f7065723a20756e737570706f7274656420636861696e69640000006044820152fd5b60a0015173ffffffffffffffffffffffffffffffffffffffff1690565b6060015173ffffffffffffffffffffffffffffffffffffffff1690565b9190820391821161443757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181029291811591840414171561443757565b909193949273ffffffffffffffffffffffffffffffffffffffff80821693169183831461470f5773ffffffffffffffffffffffffffffffffffffffff16906144bf818361533a565b9673ffffffffffffffffffffffffffffffffffffffff81511680156147045773ffffffffffffffffffffffffffffffffffffffff826145945f938360408160208f99015116940151918160405195614516876131ec565b8c875260208701998a52604087019081526060870192835260808701948552604051998a9889987f28dc8307000000000000000000000000000000000000000000000000000000008a52604060048b01525116604489015251606488015251166084860152511660a48401525160a060c484015260e4830190613854565b866024830152038183875af1801561231e57614682575b506145b96145c0918361533a565b968761442a565b94670de0b6b3a76400008602868104670de0b6b3a76400001487151715614437575f9082156001171561443757106146245760407fb4f5edbb087700c3f3246c0f164b5277ac48e3720a148d371f9dfed3258662f2918151908152876020820152a4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20737761702062656c6f77206d696e53776170526174656044820152fd5b903d805f843e6146928184613225565b820191602081840312610df15780519067ffffffffffffffff8211610df157019082601f83011215610df1578151926146ca84613277565b906146d86040519283613225565b84825260208585010111610df1575f6020856145c096826145b997018386015e830101525091506145ab565b505f96505050505050565b505050509150905f90565b9495939473ffffffffffffffffffffffffffffffffffffffff80851694921692908385146149535773ffffffffffffffffffffffffffffffffffffffff1691614763818461533a565b9773ffffffffffffffffffffffffffffffffffffffff81511680156149475773ffffffffffffffffffffffffffffffffffffffff5f9161483660408360208701511695015183604051936147b6856131ec565b8b85528160208601988b8a52604087019081526060870192835260808701948552604051998a9889987f28dc8307000000000000000000000000000000000000000000000000000000008a52604060048b01525116604489015251606488015251166084860152511660a48401525160a060c484015260e4830190613854565b876024830152038183885af1801561231e576148c5575b5061485b614862918461533a565b978861442a565b95670de0b6b3a7640000870290878204670de0b6b3a764000014881517156144375761488e9083614464565b116146245760407fb4f5edbb087700c3f3246c0f164b5277ac48e3720a148d371f9dfed3258662f2918151908152876020820152a4565b903d805f843e6148d58184613225565b820191602081840312610df15780519067ffffffffffffffff8211610df157019082601f83011215610df15781519261490d84613277565b9061491b6040519283613225565b84825260208585010111610df1575f602085614862968261485b97018386015e8301015250915061484d565b505f9750505050505050565b5095505f9450505050565b9192909173ffffffffffffffffffffffffffffffffffffffff16803b15610df1575f928360649273ffffffffffffffffffffffffffffffffffffffff948560405198899788967fc3b35a7e00000000000000000000000000000000000000000000000000000000885216600487015216602485015260448401525af1801561231e576149e75750565b5f61413891613225565b519073ffffffffffffffffffffffffffffffffffffffff82168203610df157565b614a1c8151613f93565b90614a2a6020820151614b1f565b906060614a3a6040830151613e0f565b91015160208151910120906040519260208401947f6cd5da344d135a773661e166411b132de126661c92b5d13b7b83c71ff0110f1f865260408501526060840152608083015260a082015260a08152613aff60c082613225565b15614a9b57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff81511690604073ffffffffffffffffffffffffffffffffffffffff602083015116910151602081519101206040519160208301937fd3355b017a4df5ab14bfe30be8fc74cf288d6cbdd53b7fb9a45cb406e14cb425855260408401526060830152608082015260808152613aff60a082613225565b9190939294614bb6613c48565b5073ffffffffffffffffffffffffffffffffffffffff8351165f52606960205260405f2094602084019586515f5260205260405f209060208101514210156152dc5785825480155f1461526757505080518751036151e35763ffffffff6040820151169263ffffffff60018401541680940361518557614c4e908773ffffffffffffffffffffffffffffffffffffffff8851166153ff565b156151015790859055835186516040805188815263ffffffff95861660208201526060949373ffffffffffffffffffffffffffffffffffffffff16917e3d5fea7147843a952736a57f88f9e5565759fb750f34a8e58cbc215034c64c91a35b01511690614cb9613c48565b9542604085015111156150a357614ce89173ffffffffffffffffffffffffffffffffffffffff606754166153ff565b1561504557606082019081511015614fc15773ffffffffffffffffffffffffffffffffffffffff8251165f52606860205260405f20835f5260205260405f2054815103614f635751600181018091116144375773ffffffffffffffffffffffffffffffffffffffff92838351165f52606860205260405f20905f5260205260405f205551169051604051917fa92572fb00000000000000000000000000000000000000000000000000000000835260048301526024820152610140816044815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1801561231e575f905f925f91614e1b575b50604084015273ffffffffffffffffffffffffffffffffffffffff918216602084015216815290565b92505050806101403d8111614f5c575b614e358183613225565b8101036101408112610df157815173ffffffffffffffffffffffffffffffffffffffff81168103610df15760208301519173ffffffffffffffffffffffffffffffffffffffff83168303610df1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0610100910112610df15773ffffffffffffffffffffffffffffffffffffffff92839161012060405192614ed684613208565b614ee26040820161558a565b8452614ef06060820161558a565b6020850152614f01608082016149f1565b6040850152614f1260a082016149f1565b6060850152614f2360c082016149f1565b6080850152614f3460e082016149f1565b60a0850152614f4661010082016149f1565b60c0850152015160e08301529290915092614df2565b503d614e2b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f50544c6f6f7065723a20696e76616c69642070726f706f736572206e6f6e63656044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f50544c6f6f7065723a207065726d69744e6f6e6365436170206578636565646560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f50544c6f6f7065723a20696e76616c6964207369676e617475726500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206d6573736167652065787069726564000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f50544c6f6f7065723a20696e76616c6964206f776e6572207369676e6174757260448201527f65000000000000000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f50544c6f6f7065723a20696e76616c69642073657373696f6e206e6f6e6365006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f50544c6f6f7065723a207265712f7065726d697420626f784964206d69736d6160448201527f74636800000000000000000000000000000000000000000000000000000000006064820152fd5b91935091500361527e57606063ffffffff91614cad565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f50544c6f6f7065723a20726571756573742068617368206d69736d61746368006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a20726571756573742065787069726564000000000000006044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff168061535b57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa90811561231e575f916153ba575090565b90506020813d6020116153e1575b816153d560209383613225565b81010312610df1575190565b3d91506153c8565b9190826040910312610df1576020825192015190565b9061540a8382615691565b600581959295101561555d5715938461553a575b50831561542c575b50505090565b5f93509061547d6154a985949360405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190613854565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613225565b51915afa3d15615533573d6154bd81613277565b906154cb6040519283613225565b81523d5f602083013e5b81615525575b816154ea575b505f8080615426565b9050602081805181010312610df157602001517f1626ba7e00000000000000000000000000000000000000000000000000000000145f6154e1565b9050602081511015906154db565b60606154d5565b73ffffffffffffffffffffffffffffffffffffffff84811691161493505f61541e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b519063ffffffff82168203610df157565b92670de0b6b3a76400006155b481946155ba9496614464565b04614464565b04106155c257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f50544c6f6f7065723a206d61784c5456206578636565646564000000000000006044820152fd5b615628614101565b8051908115615638576020012090565b505060025480156156465790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b6156736141d6565b8051908115615683576020012090565b505060035480156156465790565b9060418151145f146156bd576156b991602082015190606060408401519301515f1a906156c6565b9091565b50505f90600290565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615743576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa1561231e575f5173ffffffffffffffffffffffffffffffffffffffff81161561573b57905f90565b505f90600190565b505050505f9060039056fea26469706673582212207ccb1e2387148f2ddad31a7a0d4c80376a0668e89b585e43a8a0e6505167b13364736f6c634300081e0033",
2658
+ "linkReferences": {},
2659
+ "deployedLinkReferences": {}
2660
+ }