@pendle/core-v2 2.19.1-tradingbot → 2.20.0-tradingbot

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 (503) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  28. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  32. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  34. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  38. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +4 -0
  81. package/build/artifacts/contracts/core/TradingBot/{base → DecisionHelper}/BotDecisionHelperBase.sol/BotDecisionHelperBase.json +93 -66
  82. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  83. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1411 -0
  84. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  85. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +2332 -0
  86. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  87. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +1641 -0
  88. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.json +2 -2
  90. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.dbg.json +4 -0
  91. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.json +154 -0
  92. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.json +2 -2
  94. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.json +2 -2
  96. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.dbg.json +4 -0
  97. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.json +262 -0
  98. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +91 -64
  215. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.json +110 -83
  217. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +7 -171
  219. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.json +91 -64
  221. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.json +7 -171
  223. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +7 -171
  225. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  227. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  228. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  229. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  230. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  231. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  232. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  233. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  234. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  235. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  236. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  237. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  238. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  239. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  240. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  241. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  242. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  243. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  244. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  246. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  247. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  248. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  249. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  250. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  251. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  252. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  253. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  254. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  255. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  256. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  257. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  258. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  259. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  260. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  261. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  262. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  263. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  264. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  265. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  266. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  267. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  268. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  269. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  270. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  271. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  273. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  275. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  277. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  279. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  280. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  281. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  282. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  283. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  284. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  285. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  286. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  287. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  288. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  289. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  290. package/contracts/core/StandardizedYield/PYIndex.sol +14 -0
  291. package/contracts/core/TradingBot/{base → DecisionHelper}/BotDecisionHelperBase.sol +60 -35
  292. package/contracts/core/TradingBot/{LongYield → DecisionHelper}/LongYieldDecisionHelper.sol +116 -41
  293. package/contracts/core/TradingBot/{LongYield/LongYieldTradingBot.sol → LongYieldTradingBot.sol} +41 -10
  294. package/contracts/core/TradingBot/TradingBotBase.sol +254 -0
  295. package/contracts/core/TradingBot/libraries/LongYieldActionLib.sol +279 -0
  296. package/contracts/core/TradingBot/libraries/SpecSegmentLib.sol +1 -1
  297. package/contracts/core/TradingBot/libraries/TvlLib.sol +57 -0
  298. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +37 -19
  299. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +6 -16
  300. package/contracts/oracles/PendleLpOracleLib.sol +1 -1
  301. package/deployments/core.ts +29 -0
  302. package/deployments/index.ts +4 -0
  303. package/deployments/markets/ape-june-29-2023.ts +3 -0
  304. package/deployments/markets/balancer-reth-dec-28-2023.ts +3 -0
  305. package/deployments/markets/balancer-wsteth-jun-27-2024.ts +3 -0
  306. package/deployments/markets/curve-fraxusdc-march-30-2023.ts +3 -0
  307. package/deployments/markets/index.ts +17 -0
  308. package/deployments/markets/looks-march-30-2023.ts +3 -0
  309. package/deployments/markets/steth-june-29-2023.ts +3 -0
  310. package/deployments/markets/steth-march-30-2023.ts +3 -0
  311. package/deployments/markets/types.ts +9 -0
  312. package/deployments/misc.ts +23 -0
  313. package/package.json +1 -1
  314. package/typechain-types/{PendleCamelotV1SY.ts → AuraEthxBbAWethSY.ts} +170 -599
  315. package/typechain-types/AuraSwEthBbAWethSYV2.ts +1532 -0
  316. package/typechain-types/AuraWethVethSY.ts +1598 -0
  317. package/typechain-types/AutomateReady.ts +102 -0
  318. package/typechain-types/AutomationBase.ts +57 -0
  319. package/typechain-types/AutomationCompatible.ts +140 -0
  320. package/typechain-types/AutomationCompatibleInterface.ts +141 -0
  321. package/typechain-types/BotActionCallbackLib.ts +57 -0
  322. package/typechain-types/BotDecisionHelperBase.ts +93 -69
  323. package/typechain-types/ChainlinkRelayerAutomation.ts +305 -0
  324. package/typechain-types/ChainlinkRelayerGelato.ts +311 -0
  325. package/typechain-types/{CamelotV1Preview.ts → ComposableStablePreviewProxy.ts} +5 -84
  326. package/typechain-types/ComposableStablePreviewV4.ts +217 -0
  327. package/typechain-types/ComposableStablePreviewV5.ts +217 -0
  328. package/typechain-types/IAutomate.ts +203 -0
  329. package/typechain-types/IBotDecisionHelper.ts +93 -69
  330. package/typechain-types/IFluxErc20.ts +298 -0
  331. package/typechain-types/{IExecutorHelper2.ts → IFluxInterestRateModel.ts} +35 -37
  332. package/typechain-types/ILongYieldDecisionHelper.ts +112 -86
  333. package/typechain-types/ILongYieldTradingBot.ts +28 -224
  334. package/typechain-types/IOpsProxyFactory.ts +93 -0
  335. package/typechain-types/IPComposableStablePreview.ts +217 -0
  336. package/typechain-types/IPExternalRewardDistributor.ts +38 -32
  337. package/typechain-types/{ICamelotSY.ts → IPOracleForSy.ts} +13 -26
  338. package/typechain-types/IShortYieldDecisionHelper.ts +93 -69
  339. package/typechain-types/IShortYieldTradingBot.ts +28 -224
  340. package/typechain-types/ITaskTreasuryUpgradable.ts +160 -0
  341. package/typechain-types/ITradingBotBase.ts +28 -224
  342. package/typechain-types/IVersion.ts +81 -0
  343. package/typechain-types/LegacyNFTHelper.ts +87 -0
  344. package/typechain-types/LongYieldActionLib.ts +57 -0
  345. package/typechain-types/LongYieldDecisionHelper.ts +139 -77
  346. package/typechain-types/LongYieldTradingBot.ts +1210 -154
  347. package/typechain-types/PendleAuraBalancerStableLPSYV3.ts +1599 -0
  348. package/typechain-types/PendleAuraWethVethSY.ts +1511 -0
  349. package/typechain-types/PendleBridgedLSDSY.ts +1222 -0
  350. package/typechain-types/PendleChainlinkReceiver.ts +239 -0
  351. package/typechain-types/PendleChainlinkRelayer.ts +158 -0
  352. package/typechain-types/PendleERC20PermitUpgradable.ts +452 -0
  353. package/typechain-types/PendleERC20Upgradable.ts +348 -0
  354. package/typechain-types/{PendleBinanceEth.ts → PendleERC4626SY.ts} +18 -31
  355. package/typechain-types/PendleExternalRewardDistributor.ts +136 -86
  356. package/typechain-types/PendleFluxLendingSY.ts +1232 -0
  357. package/typechain-types/PendleMantleStakedEthSY.ts +1222 -0
  358. package/typechain-types/PendleMarketFactoryV2.ts +26 -24
  359. package/typechain-types/PendleOracleForSyProxy.ts +275 -0
  360. package/typechain-types/SDKErrorsDirectory.ts +57 -0
  361. package/typechain-types/SYBaseUpgradable.ts +1132 -0
  362. package/typechain-types/SYBaseWithRewardsUpgradable.ts +1225 -0
  363. package/typechain-types/StarNFTV1.ts +880 -0
  364. package/typechain-types/{PendleSwETH.ts → SwETHSY.ts} +5 -5
  365. package/typechain-types/TradingBotBase.ts +1132 -151
  366. package/typechain-types/TvlLib.ts +215 -0
  367. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  368. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  369. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  370. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  371. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  372. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  373. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  374. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  375. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  376. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  377. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1240 -0
  378. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1244 -0
  379. package/typechain-types/factories/AuraWethVethSY__factory.ts +1270 -0
  380. package/typechain-types/factories/{ICamelotSY__factory.ts → AutomateReady__factory.ts} +9 -9
  381. package/typechain-types/factories/AutomationBase__factory.ts +69 -0
  382. package/typechain-types/factories/AutomationCompatibleInterface__factory.ts +67 -0
  383. package/typechain-types/factories/AutomationCompatible__factory.ts +72 -0
  384. package/typechain-types/factories/BotActionCallbackLib__factory.ts +84 -0
  385. package/typechain-types/factories/BotDecisionHelperBase__factory.ts +91 -64
  386. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +238 -0
  387. package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +263 -0
  388. package/typechain-types/factories/ComposableStablePreviewProxy__factory.ts +288 -0
  389. package/typechain-types/factories/ComposableStablePreviewV4__factory.ts +190 -0
  390. package/typechain-types/factories/ComposableStablePreviewV5__factory.ts +190 -0
  391. package/typechain-types/factories/IAutomate__factory.ts +126 -0
  392. package/typechain-types/factories/IBotDecisionHelper__factory.ts +90 -63
  393. package/typechain-types/factories/{CamelotV1LpHelper__factory.ts → IFluxErc20__factory.ts} +66 -31
  394. package/typechain-types/factories/{IExecutorHelper2__factory.ts → IFluxInterestRateModel__factory.ts} +19 -15
  395. package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +109 -82
  396. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +7 -171
  397. package/typechain-types/factories/IOpsProxyFactory__factory.ts +50 -0
  398. package/typechain-types/factories/IPComposableStablePreview__factory.ts +152 -0
  399. package/typechain-types/factories/IPExternalRewardDistributor__factory.ts +32 -32
  400. package/typechain-types/factories/IPOracleForSy__factory.ts +36 -0
  401. package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +90 -63
  402. package/typechain-types/factories/IShortYieldTradingBot__factory.ts +7 -171
  403. package/typechain-types/factories/ITaskTreasuryUpgradable__factory.ts +76 -0
  404. package/typechain-types/factories/ITradingBotBase__factory.ts +7 -171
  405. package/typechain-types/factories/IVersion__factory.ts +36 -0
  406. package/typechain-types/factories/LegacyNFTHelper__factory.ts +83 -0
  407. package/typechain-types/factories/LongYieldActionLib__factory.ts +207 -0
  408. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +265 -69
  409. package/typechain-types/factories/LongYieldTradingBot__factory.ts +967 -271
  410. package/typechain-types/factories/MarketExtLib__factory.ts +1 -1
  411. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  412. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  413. package/typechain-types/factories/PendleAuraBalancerStableLPSYV3__factory.ts +1212 -0
  414. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1231 -0
  415. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  416. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1064 -0
  417. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +216 -0
  418. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +180 -0
  419. package/typechain-types/factories/PendleERC20PermitUpgradable__factory.ts +401 -0
  420. package/typechain-types/factories/PendleERC20Upgradable__factory.ts +326 -0
  421. package/typechain-types/factories/PendleERC4626SY__factory.ts +1030 -0
  422. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +91 -68
  423. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1038 -0
  424. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  425. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  426. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  427. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1068 -0
  428. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +15 -15
  429. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  430. package/typechain-types/factories/PendleMarketV2__factory.ts +10 -1
  431. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  432. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +211 -0
  433. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  434. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  435. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  436. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  437. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  438. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  439. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  440. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  441. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1596 -0
  442. package/typechain-types/factories/SYBaseUpgradable__factory.ts +889 -0
  443. package/typechain-types/factories/SYBaseWithRewardsUpgradable__factory.ts +959 -0
  444. package/typechain-types/factories/StarNFTV1__factory.ts +584 -0
  445. package/typechain-types/factories/{PendleSwETH__factory.ts → SwETHSY__factory.ts} +19 -19
  446. package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
  447. package/typechain-types/factories/TradingBotBase__factory.ts +1020 -144
  448. package/typechain-types/factories/TvlLib__factory.ts +309 -0
  449. package/typechain-types/hardhat.d.ts +56 -56
  450. package/typechain-types/index.ts +14 -16
  451. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldActionHelper.sol/LongYieldActionHelper.dbg.json +0 -4
  452. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldActionHelper.sol/LongYieldActionHelper.json +0 -815
  453. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +0 -4
  454. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +0 -1215
  455. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +0 -4
  456. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.json +0 -1564
  457. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldActionHelper.sol/ShortYieldActionHelper.dbg.json +0 -4
  458. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldActionHelper.sol/ShortYieldActionHelper.json +0 -765
  459. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.dbg.json +0 -4
  460. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.json +0 -1215
  461. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.dbg.json +0 -4
  462. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.json +0 -1368
  463. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.dbg.json +0 -4
  464. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.json +0 -815
  465. package/build/artifacts/contracts/core/TradingBot/base/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +0 -4
  466. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.dbg.json +0 -4
  467. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.json +0 -765
  468. package/contracts/core/TradingBot/LongYield/LongYieldActionHelper.sol +0 -101
  469. package/contracts/core/TradingBot/ShortYield/ShortYieldActionHelper.sol +0 -54
  470. package/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol +0 -198
  471. package/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol +0 -101
  472. package/contracts/core/TradingBot/base/BotActionCallback.sol +0 -112
  473. package/contracts/core/TradingBot/base/TradingBotBase.sol +0 -184
  474. package/typechain-types/BotActionCallback.ts +0 -900
  475. package/typechain-types/BotActionHelper.ts +0 -950
  476. package/typechain-types/BotDecisionHelper.ts +0 -561
  477. package/typechain-types/BotDecisionLib.ts +0 -335
  478. package/typechain-types/CamelotV1LpHelper.ts +0 -203
  479. package/typechain-types/IExecutorHelper1.ts +0 -643
  480. package/typechain-types/IExecutorHelperEthereum1.ts +0 -643
  481. package/typechain-types/LongYieldActionHelper.ts +0 -900
  482. package/typechain-types/PendleSwapArbitrum.ts +0 -126
  483. package/typechain-types/PendleSwapEthereum.ts +0 -126
  484. package/typechain-types/ShortYieldActionHelper.ts +0 -856
  485. package/typechain-types/ShortYieldDecisionHelper.ts +0 -601
  486. package/typechain-types/ShortYieldTradingBot.ts +0 -1212
  487. package/typechain-types/TradingBotOffchain.ts +0 -568
  488. package/typechain-types/factories/BotActionCallback__factory.ts +0 -830
  489. package/typechain-types/factories/BotActionHelper__factory.ts +0 -947
  490. package/typechain-types/factories/BotDecisionHelper__factory.ts +0 -1192
  491. package/typechain-types/factories/BotDecisionLib__factory.ts +0 -642
  492. package/typechain-types/factories/CamelotV1Preview__factory.ts +0 -309
  493. package/typechain-types/factories/IExecutorHelper1__factory.ts +0 -403
  494. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +0 -407
  495. package/typechain-types/factories/LongYieldActionHelper__factory.ts +0 -834
  496. package/typechain-types/factories/PendleBinanceEth__factory.ts +0 -1052
  497. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +0 -1595
  498. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +0 -129
  499. package/typechain-types/factories/PendleSwapEthereum__factory.ts +0 -129
  500. package/typechain-types/factories/ShortYieldActionHelper__factory.ts +0 -784
  501. package/typechain-types/factories/ShortYieldDecisionHelper__factory.ts +0 -1272
  502. package/typechain-types/factories/ShortYieldTradingBot__factory.ts +0 -1445
  503. package/typechain-types/factories/TradingBotOffchain__factory.ts +0 -1133
@@ -125,6 +125,16 @@ const _abi = [
125
125
  name: "MarketRateScalarBelowZero",
126
126
  type: "error",
127
127
  },
128
+ {
129
+ inputs: [],
130
+ name: "MarketZeroAmountsInput",
131
+ type: "error",
132
+ },
133
+ {
134
+ inputs: [],
135
+ name: "MarketZeroAmountsOutput",
136
+ type: "error",
137
+ },
128
138
  {
129
139
  inputs: [],
130
140
  name: "MarketZeroLnImpliedRate",
@@ -244,7 +254,7 @@ const _abi = [
244
254
  type: "tuple",
245
255
  },
246
256
  {
247
- internalType: "enum ActionType",
257
+ internalType: "enum TradeActionType",
248
258
  name: "action",
249
259
  type: "uint8",
250
260
  },
@@ -254,7 +264,7 @@ const _abi = [
254
264
  type: "uint256",
255
265
  },
256
266
  ],
257
- name: "_calcAmountOutAndIntParams",
267
+ name: "_calcTradeActionAmountOutAndIntParams",
258
268
  outputs: [
259
269
  {
260
270
  internalType: "uint256",
@@ -272,6 +282,14 @@ const _abi = [
272
282
  },
273
283
  {
274
284
  inputs: [
285
+ {
286
+ internalType: "address",
287
+ name: "botAddress",
288
+ type: "address",
289
+ },
290
+ ],
291
+ name: "getBotPosition",
292
+ outputs: [
275
293
  {
276
294
  components: [
277
295
  {
@@ -394,7 +412,7 @@ const _abi = [
394
412
  },
395
413
  {
396
414
  internalType: "uint256",
397
- name: "maxSyRatio",
415
+ name: "bufferSyRatio",
398
416
  type: "uint256",
399
417
  },
400
418
  {
@@ -417,9 +435,6 @@ const _abi = [
417
435
  name: "strategyData",
418
436
  type: "tuple",
419
437
  },
420
- ],
421
- name: "botExtStats",
422
- outputs: [
423
438
  {
424
439
  internalType: "uint256",
425
440
  name: "tvlInSy",
@@ -441,58 +456,7 @@ const _abi = [
441
456
  type: "uint256",
442
457
  },
443
458
  ],
444
- stateMutability: "pure",
445
- type: "function",
446
- },
447
- {
448
- inputs: [
449
- {
450
- internalType: "address",
451
- name: "botAddress",
452
- type: "address",
453
- },
454
- ],
455
- name: "getActionDetails",
456
- outputs: [
457
- {
458
- components: [
459
- {
460
- internalType: "enum ActionType",
461
- name: "action",
462
- type: "uint8",
463
- },
464
- {
465
- internalType: "int256",
466
- name: "currentBin",
467
- type: "int256",
468
- },
469
- {
470
- internalType: "uint256",
471
- name: "targetIy",
472
- type: "uint256",
473
- },
474
- {
475
- internalType: "uint256",
476
- name: "guessBotParams",
477
- type: "uint256",
478
- },
479
- {
480
- internalType: "uint256",
481
- name: "guessIntParams",
482
- type: "uint256",
483
- },
484
- {
485
- internalType: "uint256",
486
- name: "amountOut",
487
- type: "uint256",
488
- },
489
- ],
490
- internalType: "struct IBotDecisionHelper.ActionToTakeResult",
491
- name: "res",
492
- type: "tuple",
493
- },
494
- ],
495
- stateMutability: "nonpayable",
459
+ stateMutability: "view",
496
460
  type: "function",
497
461
  },
498
462
  {
@@ -619,7 +583,7 @@ const _abi = [
619
583
  },
620
584
  {
621
585
  internalType: "uint256",
622
- name: "maxSyRatio",
586
+ name: "bufferSyRatio",
623
587
  type: "uint256",
624
588
  },
625
589
  {
@@ -662,15 +626,88 @@ const _abi = [
662
626
  type: "address",
663
627
  },
664
628
  ],
665
- name: "getFloatingSyAmount",
629
+ name: "getRebalanceAction",
666
630
  outputs: [
667
631
  {
668
- internalType: "uint256",
669
- name: "floatingSyAmount",
670
- type: "uint256",
632
+ components: [
633
+ {
634
+ internalType: "enum RebalanceType",
635
+ name: "rebalanceType",
636
+ type: "uint8",
637
+ },
638
+ {
639
+ internalType: "uint256",
640
+ name: "amountIn",
641
+ type: "uint256",
642
+ },
643
+ {
644
+ internalType: "uint256",
645
+ name: "amountOut",
646
+ type: "uint256",
647
+ },
648
+ {
649
+ internalType: "uint256",
650
+ name: "amountOut2",
651
+ type: "uint256",
652
+ },
653
+ ],
654
+ internalType: "struct IBotDecisionHelper.RebalanceOutput",
655
+ name: "output",
656
+ type: "tuple",
671
657
  },
672
658
  ],
673
- stateMutability: "nonpayable",
659
+ stateMutability: "view",
660
+ type: "function",
661
+ },
662
+ {
663
+ inputs: [
664
+ {
665
+ internalType: "address",
666
+ name: "botAddress",
667
+ type: "address",
668
+ },
669
+ ],
670
+ name: "getTradeAction",
671
+ outputs: [
672
+ {
673
+ components: [
674
+ {
675
+ internalType: "enum TradeActionType",
676
+ name: "action",
677
+ type: "uint8",
678
+ },
679
+ {
680
+ internalType: "int256",
681
+ name: "currentBin",
682
+ type: "int256",
683
+ },
684
+ {
685
+ internalType: "uint256",
686
+ name: "targetIy",
687
+ type: "uint256",
688
+ },
689
+ {
690
+ internalType: "uint256",
691
+ name: "guessBotParams",
692
+ type: "uint256",
693
+ },
694
+ {
695
+ internalType: "uint256",
696
+ name: "guessIntParams",
697
+ type: "uint256",
698
+ },
699
+ {
700
+ internalType: "uint256",
701
+ name: "amountOut",
702
+ type: "uint256",
703
+ },
704
+ ],
705
+ internalType: "struct IBotDecisionHelper.TradeResult",
706
+ name: "res",
707
+ type: "tuple",
708
+ },
709
+ ],
710
+ stateMutability: "view",
674
711
  type: "function",
675
712
  },
676
713
  {
@@ -797,7 +834,7 @@ const _abi = [
797
834
  },
798
835
  {
799
836
  internalType: "uint256",
800
- name: "maxSyRatio",
837
+ name: "bufferSyRatio",
801
838
  type: "uint256",
802
839
  },
803
840
  {
@@ -821,7 +858,7 @@ const _abi = [
821
858
  type: "tuple",
822
859
  },
823
860
  {
824
- internalType: "enum ActionType",
861
+ internalType: "enum TradeActionType",
825
862
  name: "action",
826
863
  type: "uint8",
827
864
  },
@@ -1099,7 +1136,7 @@ const _abi = [
1099
1136
  },
1100
1137
  {
1101
1138
  internalType: "uint256",
1102
- name: "maxSyRatio",
1139
+ name: "bufferSyRatio",
1103
1140
  type: "uint256",
1104
1141
  },
1105
1142
  {
@@ -1123,7 +1160,7 @@ const _abi = [
1123
1160
  type: "tuple",
1124
1161
  },
1125
1162
  {
1126
- internalType: "enum ActionType",
1163
+ internalType: "enum TradeActionType",
1127
1164
  name: "action",
1128
1165
  type: "uint8",
1129
1166
  },
@@ -1213,10 +1250,169 @@ const _abi = [
1213
1250
  stateMutability: "pure",
1214
1251
  type: "function",
1215
1252
  },
1253
+ {
1254
+ inputs: [
1255
+ {
1256
+ components: [
1257
+ {
1258
+ components: [
1259
+ {
1260
+ internalType: "uint256",
1261
+ name: "lpBalance",
1262
+ type: "uint256",
1263
+ },
1264
+ {
1265
+ internalType: "uint256",
1266
+ name: "ytBalance",
1267
+ type: "uint256",
1268
+ },
1269
+ {
1270
+ internalType: "uint256",
1271
+ name: "ptBalance",
1272
+ type: "uint256",
1273
+ },
1274
+ {
1275
+ internalType: "uint256",
1276
+ name: "syBalance",
1277
+ type: "uint256",
1278
+ },
1279
+ {
1280
+ internalType: "uint256",
1281
+ name: "buyBins",
1282
+ type: "uint256",
1283
+ },
1284
+ ],
1285
+ internalType: "struct BotState",
1286
+ name: "botState",
1287
+ type: "tuple",
1288
+ },
1289
+ {
1290
+ components: [
1291
+ {
1292
+ components: [
1293
+ {
1294
+ internalType: "int256",
1295
+ name: "totalPt",
1296
+ type: "int256",
1297
+ },
1298
+ {
1299
+ internalType: "int256",
1300
+ name: "totalSy",
1301
+ type: "int256",
1302
+ },
1303
+ {
1304
+ internalType: "int256",
1305
+ name: "totalLp",
1306
+ type: "int256",
1307
+ },
1308
+ {
1309
+ internalType: "address",
1310
+ name: "treasury",
1311
+ type: "address",
1312
+ },
1313
+ {
1314
+ internalType: "int256",
1315
+ name: "scalarRoot",
1316
+ type: "int256",
1317
+ },
1318
+ {
1319
+ internalType: "uint256",
1320
+ name: "expiry",
1321
+ type: "uint256",
1322
+ },
1323
+ {
1324
+ internalType: "uint256",
1325
+ name: "lnFeeRateRoot",
1326
+ type: "uint256",
1327
+ },
1328
+ {
1329
+ internalType: "uint256",
1330
+ name: "reserveFeePercent",
1331
+ type: "uint256",
1332
+ },
1333
+ {
1334
+ internalType: "uint256",
1335
+ name: "lastLnImpliedRate",
1336
+ type: "uint256",
1337
+ },
1338
+ ],
1339
+ internalType: "struct MarketState",
1340
+ name: "state",
1341
+ type: "tuple",
1342
+ },
1343
+ {
1344
+ internalType: "PYIndex",
1345
+ name: "index",
1346
+ type: "uint256",
1347
+ },
1348
+ {
1349
+ internalType: "uint256",
1350
+ name: "blockTime",
1351
+ type: "uint256",
1352
+ },
1353
+ ],
1354
+ internalType: "struct MarketExtState",
1355
+ name: "marketExt",
1356
+ type: "tuple",
1357
+ },
1358
+ {
1359
+ components: [
1360
+ {
1361
+ internalType: "uint256",
1362
+ name: "buyYtIy",
1363
+ type: "uint256",
1364
+ },
1365
+ {
1366
+ internalType: "uint256",
1367
+ name: "sellYtIy",
1368
+ type: "uint256",
1369
+ },
1370
+ {
1371
+ internalType: "uint256",
1372
+ name: "targetSyRatio",
1373
+ type: "uint256",
1374
+ },
1375
+ {
1376
+ internalType: "uint256",
1377
+ name: "bufferSyRatio",
1378
+ type: "uint256",
1379
+ },
1380
+ {
1381
+ internalType: "uint256",
1382
+ name: "targetYtPtRatio",
1383
+ type: "uint256",
1384
+ },
1385
+ {
1386
+ internalType: "uint256",
1387
+ name: "numOfBins",
1388
+ type: "uint256",
1389
+ },
1390
+ ],
1391
+ internalType: "struct TradingSpecs",
1392
+ name: "specs",
1393
+ type: "tuple",
1394
+ },
1395
+ ],
1396
+ internalType: "struct StrategyData",
1397
+ name: "strategyData",
1398
+ type: "tuple",
1399
+ },
1400
+ ],
1401
+ name: "searchMaxYtToAddLiq",
1402
+ outputs: [
1403
+ {
1404
+ internalType: "uint256",
1405
+ name: "maxYtToAddLiq",
1406
+ type: "uint256",
1407
+ },
1408
+ ],
1409
+ stateMutability: "view",
1410
+ type: "function",
1411
+ },
1216
1412
  ];
1217
1413
 
1218
1414
  const _bytecode =
1219
- "0x608060405234801561001057600080fd5b50613769806100206000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c806303270af414610088578063194d91fc146100ae578063394dd045146100c15780638e727446146100f45780639d2a679f14610114578063a76541e51461011d578063ac4c7e8414610130578063cf0933611461013d578063cf209b601461015e575b600080fd5b61009b610096366004613216565b610242565b6040519081526020015b60405180910390f35b61009b6100bc366004613285565b61043e565b6100d46100cf3660046132a2565b61050a565b6040805194855260208501939093529183015260608201526080016100a5565b610107610102366004613285565b610531565b6040516100a591906132d5565b61009b60001981565b61009b61012b3660046132a2565b610711565b61009b655af3107a400081565b61015061014b366004613336565b610738565b6040516100a5929190613376565b61017161016c366004613384565b610799565b6040516100a593929190600061022082019050841515825283516020830152602084015160408301526040840151606083015260608401516080830152608084015160a08301528251805160c0840152602081015160e08401526040810151610100818186015260018060a01b03606084015116610120860152608083015161014086015260a083015161016086015260c083015161018086015260e08301516101a0860152808301516101c086015250505060208301516101e08301526040830151610200830152949350505050565b6000806040518060600160405280898152602001886004811115610268576102686132bf565b81526020018790526040850151909150156102b657600161029482866040015188886080015188610826565b60028111156102a5576102a56132bf565b036102b65750506040820151610434565b60006102cb89600001518a602001518a610943565b905080856020015111156102e157602085018190525b60208501518551111561032c57876004811115610300576103006132bf565b8551602087015160405163f25ccea360e01b8152610323939291906004016133d7565b60405180910390fd5b50600261034482866020015188886080015188610826565b6002811115610355576103556132bf565b146103665750506020820151610434565b60005b846060015181101561041a57600060028660000151876020015161038d9190613403565b610397919061342c565b86516103a39190613440565b905060006103b884838a8a608001518a610826565b905060018160028111156103ce576103ce6132bf565b036103de57509250610434915050565b60008160028111156103f2576103f26132bf565b036103ff57818752610407565b602087018290525b50508061041390613453565b9050610369565b5060405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b600080826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af1158015610482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a691906134cf565b90506000806104bd83600001518460200151610979565b5092505091508260400151606001518110156104de57506000949350505050565b60408084015101516104f1908390610a02565b8351606001516105019190613403565b95945050505050565b60008060008061052285600001518660200151610979565b93509350935093509193509193565b61056b6040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af11580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d291906134cf565b905060006105e38260200151610a25565b90506105f88260000151836040015183610a72565b6020840181905260000361061157505060008152919050565b610628826000015183604001518560200151610a87565b604084015260208301516000199060009081131561067f5760028552835180516020870151608090920151604087015160a00151610667939190610adb565b91508160000361067a5750505050919050565b6106c6565b60018552600061068e85610b7b565b90506106b0818760200151876000015160800151886040015160a00151610adb565b9150816000036106c4575050505050919050565b505b6106e68486600001518760400151846106de87610c95565b610096610cd1565b60608601819052602085015186516106fd92610738565b608087015260a08601525092949350505050565b60006107328260000151836040015161072d8560200151610a25565b610a72565b92915050565b600080600284600481111561074f5761074f6132bf565b0361077a5761077083610760610cd1565b61076988610d11565b9190610d4f565b9092509050610791565b61078d8361078787610d11565b90610dec565b5091505b935093915050565b60006107a3612ecf565b6107ab612efe565b86516107b690610ef0565b91506107c58760200151610d11565b905060018660048111156107db576107db6132bf565b036107f2576107eb828287610f3a565b925061081c565b6002866004811115610806576108066132bf565b03610817576107eb82828787610f98565b600092505b9450945094915050565b60008060008061084089600001518a602001518a88610799565b925092509250826108575760029350505050610501565b600061086282610a25565b905060018a60200151600481111561087c5761087c6132bf565b036108fc576020808401518b51519091015160009161089a91613403565b9050888111156108b257600295505050505050610501565b6108c1828c604001518a610fef565b156108d457600195505050505050610501565b8a604001518210156108ee57600295505050505050610501565b600095505050505050610501565b61090b818b6040015189611022565b1561091d576001945050505050610501565b8960400151811115610936576002945050505050610501565b6000945050505050610501565b60006001826004811115610959576109596132bf565b0361096e5761096783611050565b9050610972565b5082515b9392505050565b60008080806109888686611076565b935061099385610a25565b60608701519093506109a59085611164565b915060006109c087600001516109ba88610d11565b9061118a565b91505060008760400151826109d59190613440565b905080156109f15760208801516109ec9082611164565b6109f5565b6000195b9250505092959194509250565b600080610a0f8385613608565b9050670de0b6b3a7640000815b04949350505050565b6000670de0b6b3a7640000610a68610a598460400151856000015160a00151610a4e9190613403565b6301e1338090611164565b610a6285611241565b9061128e565b6107329190613403565b6000610a7f838584611437565b949350505050565b600081600003610a9957610a9961361f565b6000610aa5858461144c565b90506000831215610acd57610ac5610abe826001613440565b8590611493565b915050610972565b610ac5610abe600183613403565b600083600003610aed57610aed61361f565b6000808512610b115783610b02846002613608565b610b0c9190613403565b610b13565b835b9050600081670de0b6b3a7640000610b2a88611502565b610b349190613608565b610b3e919061342c565b90506000670de0b6b3a7640000610b5983610a628184613440565b610b639190613403565b9050610b6f8882610a02565b98975050505050505050565b600080610b9083600001518460200151610979565b9350505050826040015160800151811015610bae5750600092915050565b6000610bc1846000015160200151610c95565b90506000610bcd610cd1565b90505b8151610bdd906001613440565b82602001511115610c8c576000600283600001518460200151610c009190613403565b610c0a919061342c565b8351610c169190613440565b90506000806000610c2a8960018688610799565b92509250925082610c4f57610c40600185613403565b602087015250610bd092505050565b610c598282610979565b60408d015160800151909a508a109250610c7891505057838652610c83565b610c40600185613403565b50505050610bd0565b50519392505050565b610c9d612ecf565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610cd9612ecf565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b610d19612efe565b6040518060600160405280610d31846000015161151d565b81526020018360200151815260200183604001518152509050919050565b600080600080610d5f878761118a565b915091506000610d7c83896020015161159a90919063ffffffff16565b90506000610d8a8284613440565b90506000610db08a60200151838c60400151610da58c610ef0565b8e51939291906115a6565b5060208c015160408d01518d51929950929350610dce9289906116c7565b5050508083610ddd9190613440565b96505050505050935093915050565b6000806000610e1485602001518587604001518860000151611718909392919063ffffffff16565b505060208601519091506000610e2a8284613608565b610e3c670de0b6b3a764000088613608565b610e469190613403565b875151909150600090610e5890611741565b83610e6a8a6000015160200151611741565b610e749190613608565b610e7e919061342c565b610e9090670de0b6b3a7640000613440565b90506000610e9e828461342c565b9050610eaa8189613403565b95506000610ec5878b6020015161175090919063ffffffff16565b90506000610ed38783613403565b9050610ee08b828561175c565b9850505050505050509250929050565b610ef8612ecf565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b60008080610f488585610dec565b915091508560200151811115610f6357600092505050610972565b8086602001818151610f759190613403565b905250855182908790610f89908390613440565b90525060019695505050505050565b8351600090831115610fac57506000610a7f565b6000610fc384610fbb85610ef0565b879190610d4f565b5090508386600001818151610fd89190613403565b905250602086018051829190610f89908390613440565b6000828410158015610a7f57506110178361101284670de0b6b3a7640000613440565b610a02565b909311159392505050565b6000828411158015610a7f57506110458361101284670de0b6b3a7640000613403565b909310159392505050565b6020810151604082015182516000926107329261106e929190611932565b835151611a2c565b60008061108283610d11565b905060008061109e86600001518461118a90919063ffffffff16565b9150915060008287606001516110b49190613440565b905060008760400151836110c89190613440565b905087602001518111611116576110df8582611acb565b6110e99083613440565b91506111058189602001516110fe9190613403565b8690611add565b61110f9083613440565b9150611159565b6020880151611126908690611acb565b6111309083613440565b915061114c8860200151826111459190613403565b8690611b38565b6111569083613440565b91505b509695505050505050565b600080611179670de0b6b3a764000085613608565b9050828181610a1c57610a1c613416565b600080600061119884611b5c565b855160408101516020909101519192506000916111b59084613635565b6111bf9190613665565b8651604081015190519192506000916111d89085613635565b6111e29190613665565b8751604001519091506111f59084611b72565b8751604001528651516112089082611b72565b87515286516020015161121b9083611b72565b87516020015261122a82611741565b61123382611741565b945094505050509250929050565b602081015160408201518251600092839261125d929190611932565b905060006112838460000151600001518360200151846000015185604001516000611bb9565b9050610a7f81611741565b6000816000036112a75750670de0b6b3a7640000610732565b826000036112b757506000610732565b600160ff1b83106112fc5760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b6044820152606401610323565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106113565760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610323565b826000670c7d713b49da0000831380156113775750670f43fc2c04ee000083125b156113ae57600061138784611c6a565b9050670de0b6b3a764000080820784020583670de0b6b3a7640000830502019150506113bc565b816113b884611d89565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff1981128015906113ea575068070c1cc73b00c800008113155b61142e5760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610323565b6104348161212c565b6000610a7f836114478685612541565b6125ad565b60008160000361145e5761145e61361f565b60018212611474578161147081613693565b9250505b6109726114848460800151611b5c565b61148e90846136ab565b611741565b600081158015906114b3575060a08301516114af906002613608565b8214155b6114bf576114bf61361f565b60006114ca846125e4565b90506114d760028261342c565b6114e2600185613403565b6114ec9083613608565b85516114f89190613440565b610a7f9190613440565b600080821361151957611514826136d3565b610732565b5090565b611525612f25565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b60006109728383612612565b60008080806115b6898988611932565b905084604001516000036115f85784516115d09088612631565b855260208501516115ea906115e58b84612647565b6126cb565b60208601526115f8856126da565b60005b85606001518110156116a25760006116138783612728565b90506000806116248d868e8661278d565b50909250905060006116368d8461159a565b905060006116448286613403565b90508c811161167b5761165c818e8d60800151611022565b15611673575097509195509093506116bc92505050565b848b5261168c565b611686600186613403565b60208c01525b50505050508061169b90613453565b90506115fb565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000806000806116e48a8a6116de8b6127be565b8a6127d5565b9250925092506116f383611741565b95506116fe82611741565b945061170981611741565b93505050509450945094915050565b60008060008060008061172f8a8a6116de8b611b5c565b9250925092506116f361148e84612868565b60008082121561151957600080fd5b60006109728383612876565b825160a001516040840151600091116117b65760405162461bcd60e51b815260206004820152601c60248201527b13585c9ad95d115e1d131a588e88195e1c1a5c9959081b585c9ad95d60221b6044820152606401610323565b8351604001516000126118025760405162461bcd60e51b815260206004820152601460248201527304d61726b65744578744c69623a204c50203c20360641b6044820152606401610323565b600061180d84611b5c565b9050600061181a84611b5c565b90506000806000808960000151600001518a60000151604001518661183f9190613635565b6118499190613665565b8a5160208101516040909101519192506000916118669089613635565b6118709190613665565b9050808212156118ab578a516040810151602090910151929550869450859261189a908490613635565b6118a49190613665565b92506118d4565b8a516040810151905191955087935085916118c7908390613635565b6118d19190613665565b93505b828b600001516020018181516118ea91906136ab565b9052508a5180518591906118ff9083906136ab565b9052508a5160400180518691906119179083906136ab565b90525061192385611741565b9b9a5050505050505050505050565b61195d6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106119815760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516119939190613403565b905061199f858261288b565b825260208501516119b19085906128ec565b6020830152845115806119c657506020820151155b156119ed578451602083015160405163b1c4aefb60e01b8152610323929190600401613376565b611a0b85600001518661010001518460200151856000015185612923565b604083015260c0850151611a1f90826129a4565b6060830152509392505050565b600080611a59611a54856000015186604001518760600151611a4e91906136ef565b906129d8565b61212c565b90506000611a79611a72670de0b6b3a7640000846136ab565b83906129fb565b90506000611a97866020015186611a9091906136ab565b83906129d8565b90506000611aa582876136ef565b90506103e8611ab6826103e7613608565b611ac0919061342c565b979650505050505050565b60208201516000906109729083611750565b6020820151604083015183516000928392611afb9291908690611718565b505090506000611b18828660200151612a2190919063ffffffff16565b90506000611b268286613403565b60208701519091506104349082611750565b602082015160408301518351600092611b529285906116c7565b5090949350505050565b60006001600160ff1b0382111561151957600080fd5b600081831215611baf5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610323565b61097282846136ef565b600080611bc68784611b72565b90506000611bd7611a72888a6136ab565b9050670d529ae9e8600000811315611c0e5780670d529ae9e8600000604051637e34684f60e11b8152600401610323929190613376565b6000611c1982612a2e565b905085611c2682896129fb565b611c3091906136ab565b9350670de0b6b3a7640000841215611c5e5760405163329e322960e21b815260048101859052602401610323565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281611cab57611cab613416565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215611dca57611dc1826a0c097ce7bc90715b34b9f160241b81611dbb57611dbb613416565b05611d89565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312611e155772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312611e4c576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611e94576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611ecf576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312611f0657693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312611f3d57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312611f725768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312611f9d57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611fd2576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612007576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261203b576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261206f576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161209857612098613416565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015612151575068070c1cc73b00c800008213155b6121905760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610323565b60008212156121c8576121a58260000361212c565b6a0c097ce7bc90715b34b9f160241b816121c1576121c1613416565b0592915050565b60006806f05b59d3b2000000831261220657506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61223c565b6803782dace9d9000000831261223857506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061223c565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261228c5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126122c8576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261230257682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261233c576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261237557680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126123ae5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126123e7576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126124205768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b815160009082101561255557506000610732565b82602001518211156125835760a0830151612571906002613608565b61257c906001613440565b9050610732565b61258c836125e4565b83516125989084613403565b6125a2919061342c565b610972906001613440565b6000806125bd8460800151611b5c565b6125c684611b5c565b6125d091906136ef565b905060018112610972578061050181613716565b60008160a0015160026125f79190613608565b825160208401516126089190613403565b610732919061342c565b6000670de0b6b3a76400006126278484613608565b610972919061342c565b60008183116126405781610972565b5090919050565b600080600090506000600184602001516126619190613403565b90505b8082146126c357600060026126798385613440565b612684906001613440565b61268e919061342c565b905060006126a186886000015184612a81565b12156126b9576126b2600182613403565b91506126bd565b8092505b50612664565b509392505050565b60008183106126405781610972565b6020810151815111806126f85750670de0b6b3a76400008160800151115b1561272557805160208201516080830151604051632cc06bc160e21b8152610323939291906004016133d7565b50565b60008115801561273b5750604083015115155b1561274b57506040820151610732565b6020830151835111612774576020830151835160029161276a91613440565b61257c919061342c565b604051637d388ed960e11b815260040160405180910390fd5b600080808080806127ab89896127a28a6136d3565b8d929190612b73565b919c909b50909950975050505050505050565b60006127c982611b5c565b61073290600019613635565b60008060006127e88760a0015185101590565b156128065760405163b2094b5960e01b815260040160405180910390fd5b8651851261282c578651604051632185509b60e21b815261032391908790600401613376565b6000612839888887611932565b905061284788828989612b73565b9195509350915061285d8882898988878b612cc7565b509450945094915050565b600061073282600019613635565b600082612627670de0b6b3a764000084613608565b600061289682611b5c565b6128ad6128a86201518061016d613608565b611b5c565b84608001516128bc9190613635565b6128c69190613665565b90506000811361073257604051630e520c3b60e11b815260048101829052602401610323565b600080600083126128fe576001612902565b6000195b90506129196128a88561291486611502565b612612565b610a7f9082613635565b60008061293086846129a4565b9050670de0b6b3a764000081121561295e5760405163329e322960e21b815260048101829052602401610323565b600061297461296d878a6136ab565b89906129fb565b9050600061298182612a2e565b905061298d81876129fb565b61299790846136ef565b9998505050505050505050565b6000806129b66201518061016d613608565b6129c08486613608565b6129ca919061342c565b9050610a7f611a5482611b5c565b6000806129e58385613635565b9050670de0b6b3a7640000815b05949350505050565b600080612a10670de0b6b3a764000085613635565b90508281816129f2576129f2613416565b600082610a7f8184612d59565b6000670de0b6b3a76400008203612a585760405163a9c8b14d60e01b815260040160405180910390fd5b6000612a76612a6f84670de0b6b3a76400006136ef565b84906129fb565b905061097281612d85565b600080828560200151612a9491906136ef565b90506000612aa285856136ab565b9050600082138015612ab45750600081135b612af55760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610323565b6000612b23612b048484613635565b6020890151612b1390896136ab565b612b1d9088613635565b906129fb565b90506000612b39612b3484866129fb565b612d85565b8851909150600090612b5490670de0b6b3a7640000906129fb565b9050612b6481611a4e84866136ef565b896040015161299791906136ef565b600080600080612b968860000151886020015189600001518a6040015189611bb9565b90506000612bac612ba787846129fb565b612868565b60608901519091506000871315612c1b576000612bc984836129fb565b9050670de0b6b3a7640000811215612bf75760405163329e322960e21b815260048101829052602401610323565b612c13612c0c83670de0b6b3a76400006136ef565b84906129d8565b915050612c48565b612c4581612c3181670de0b6b3a76400006136ef565b612c3b9085613635565b612ba79190613665565b90505b60006064612c598c60e00151611b5c565b612c639084613635565b612c6d9190613665565b90506000612c7b83856136ef565b905060008112612c9457612c8f8a82612e16565b612c9e565b612c9e8a82612e43565b9750612caa8a84612e16565b9650612cb68a83612e16565b955050505050509450945094915050565b6000818860a00151612cd99190613403565b8851909150612ce89086611b72565b8852612d02612cf784866136ab565b60208a015190611b72565b602089018190528851612d2791612d1a9089906128ec565b895160408b015185612e70565b6101008901819052600003612d4f57604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b6000670de0b6b3a7640000600181612d718686613608565b612d7b9190613440565b6126279190613403565b6000808213612dc65760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610323565b670c7d713b49da000082138015612de45750670f43fc2c04ee000082125b15612e0857670de0b6b3a7640000612dfb83611c6a565b816121c1576121c1613416565b61073282611d89565b919050565b60008060008312612e28576001612e2c565b6000195b90506129196128a885612e3e86611502565b612876565b60008060008312612e55576001612e59565b6000195b90506129196128a885612e6b86611502565b612eb7565b600080612e81878787876000611bb9565b90506000612e9161148e83612d85565b905083612ea36201518061016d613608565b612ead9083613608565b610b6f919061342c565b600082600181612d71670de0b6b3a764000086613608565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280612f11612f25565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b0381118282101715612faa57634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b0381118282101715612faa57634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612faa57634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715612faa57634e487b7160e01b600052604160045260246000fd5b600060a0828403121561305357600080fd5b61305b612f7a565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b038116811461272557600080fd5b8035612e118161308f565b60008183036101608112156130c357600080fd5b6130cb612fb0565b9150610120808212156130dd57600080fd5b6130e5612fe0565b915083358252602084013560208301526040840135604083015261310b606085016130a4565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c081121561317757600080fd5b61317f612fb0565b915061318b8484613041565b825261319a8460a085016130af565b602083015260c06101ff19820112156131b257600080fd5b506131bb613011565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b803560058110612e1157600080fd5b600080600080600080610460878903121561323057600080fd5b61323a8888613163565b95506132496102c08801613207565b94506102e087013593506103008701359250613269886103208901613041565b9150613279886103c08901613041565b90509295509295509295565b60006020828403121561329757600080fd5b81356109728161308f565b60006102c082840312156132b557600080fd5b6109728383613163565b634e487b7160e01b600052602160045260246000fd5b815160c0820190600581106132fa57634e487b7160e01b600052602160045260246000fd5b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60008060006101a0848603121561334c57600080fd5b61335685856130af565b92506133656101608501613207565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a0858703121561339b57600080fd5b6133a58686613163565b93506133b46102c08601613207565b92506102e085013591506133cc866103008701613041565b905092959194509250565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610732576107326133ed565b634e487b7160e01b600052601260045260246000fd5b60008261343b5761343b613416565b500490565b80820180821115610732576107326133ed565b600060018201613465576134656133ed565b5060010190565b8051612e118161308f565b600060c0828403121561348957600080fd5b613491613011565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c08112156134e357600080fd5b6134eb612fb0565b60a08212156134f957600080fd5b613501612f7a565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f19820191506101608083121561354857600080fd5b613550612fb0565b6101208085121561356057600080fd5b613568612fe0565b945060a0870151855260c0870151602086015260e0870151604086015261010061359381890161346c565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e0860151604082015280602084015250506135fb856102008601613477565b6040820152949350505050565b8082028115828204841417610732576107326133ed565b634e487b7160e01b600052600160045260246000fd5b80820260008212600160ff1b84141615613651576136516133ed565b8181058314821517610732576107326133ed565b60008261367457613674613416565b600160ff1b82146000198414161561368e5761368e6133ed565b500590565b60006001600160ff1b018201613465576134656133ed565b80820182811260008312801582168215821617156136cb576136cb6133ed565b505092915050565b6000600160ff1b82016136e8576136e86133ed565b5060000390565b818103600083128015838313168383128216171561370f5761370f6133ed565b5092915050565b6000600160ff1b820161372b5761372b6133ed565b50600019019056fea2646970667358221220f3d00c7027a54201a704541ea30dce72d7b2f8829db6b603ab08701f6803dfbd64736f6c63430008110033";
1415
+ "0x608060405234801561001057600080fd5b50613d42806100206000396000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c806303270af41461009357806306e8bac9146100b95780630c3fad99146100dd5780631cca5369146100fd5780632313dd6e14610110578063916ec547146101305780639d2a679f14610151578063a76541e51461015a578063ac4c7e841461016d578063cf209b601461017a575b600080fd5b6100a66100a1366004613661565b61019c565b6040519081526020015b60405180910390f35b6100cc6100c73660046136d0565b6103a8565b6040516100b0959493929190613798565b6100f06100eb3660046136d0565b61043e565b6040516100b0919061383c565b6100a661010b36600461388f565b610626565b61012361011e3660046136d0565b610762565b6040516100b091906138ac565b61014361013e3660046138eb565b610902565b6040516100b092919061392b565b6100a660001981565b6100a661016836600461388f565b610963565b6100a6655af3107a400081565b61018d610188366004613939565b61098a565b6040516100b09392919061398c565b60008060405180606001604052808981526020018860028111156101c2576101c2613826565b81526020018790526040850151909150156102105760016101ee82866040015188886080015188610a17565b60028111156101ff576101ff613826565b03610210575050604082015161039e565b600061022589600001518a602001518a610b39565b9050808560200151111561023b57602085018190525b6020850151855111156102865787600281111561025a5761025a613826565b8551602087015160405163f25ccea360e01b815261027d939291906004016139b0565b60405180910390fd5b50600261029e82866020015188886080015188610a17565b60028111156102af576102af613826565b146102c0575050602082015161039e565b60005b84606001518110156103745760006002866000015187602001516102e791906139dc565b6102f19190613a05565b86516102fd9190613a19565b9050600061031284838a8a608001518a610a17565b9050600181600281111561032857610328613826565b036103385750925061039e915050565b600081600281111561034c5761034c613826565b0361035957818752610361565b602087018290525b50508061036d90613a2c565b90506102c3565b50835115610385575050815161039e565b60405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b6103b06132b7565b600080600080856001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190613aa8565b945061042d85600001518660200151610b6f565b979992985090969095509350915050565b6104786040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190613aa8565b905060006104ee8260200151610c0f565b90506105038260000151836040015183610c5c565b6020840181905260000361051c57505060008152919050565b610533826000015183604001518560200151610c71565b604084015260208301516000199060009081131561058f5760028552835180516020870151608090920151604087015160a00151610572939190610cc5565b91508160000361058a57505060008352509092915050565b6105db565b60018552600061059e85610626565b90506105c0818760200151876000015160800151886040015160a00151610cc5565b9150816000036105d95750506000845250919392505050565b505b6105fb8486600001518760400151846105f387610d65565b6100a1610da1565b606086018190526020850151865161061292610902565b608087015260a08601525092949350505050565b60008061063b83600001518460200151610b6f565b93505050508260400151608001518110156106595750600092915050565b6000610677610672856000015186602001516001610b39565b610d65565b90506000610683610da1565b90505b8151610693906001613a19565b8260200151111561075a5760006002836000015184602001516106b691906139dc565b6106c09190613a05565b83516106cc9190613a19565b905060008060006106e0896001868861098a565b92509250925082610705576106f66001856139dc565b60208701525061068692505050565b61070f8282610b6f565b60408d015160800151909a508a109250610746915050578386526020808301518a519091015161073f91906139dc565b9750610751565b6106f66001856139dc565b50505050610686565b505050919050565b61078e604080516080810190915280600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156107cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f39190613aa8565b905060008061080a83600001518460200151610b6f565b509250509150600061083f846040015160600151670de0b6b3a764000061083191906139dc565b604080870151015190610de1565b90506000610870856040015160600151670de0b6b3a76400006108629190613a19565b604080880151015190610de1565b9050808311156108ae57600186818152505061089a85602001518585886040015160400151610e04565b6060890152604088015260208701526108f8565b818310156108f8576108c08585610e38565b6040890181905260208901829052888360038111156108e1576108e1613826565b60038111156108f2576108f2613826565b90525050505b5050505050919050565b600080600284600281111561091957610919613826565b036109445761093a8361092a610da1565b61093388610f8f565b9190610fcd565b909250905061095b565b6109578361095187610f8f565b9061106a565b5091505b935093915050565b60006109848260000151836040015161097f8560200151610c0f565b610c5c565b92915050565b600061099461331a565b61099c613349565b86516109a79061116e565b91506109b68760200151610f8f565b905060018660028111156109cc576109cc613826565b036109e3576109dc8282876111b8565b9250610a0d565b60028660028111156109f7576109f7613826565b03610a08576109dc82828787611216565b600092505b9450945094915050565b600080600080610a3189600001518a602001518a8861098a565b92509250925082610a485760029350505050610b30565b6000610a5382610c0f565b905060018a602001516002811115610a6d57610a6d613826565b03610aed576020808401518b515190910151600091610a8b916139dc565b905088811115610aa357600295505050505050610b30565b610ab2828c604001518a61126d565b15610ac557600195505050505050610b30565b8a60400151821015610adf57600295505050505050610b30565b600095505050505050610b30565b610afc818b60400151896112a0565b15610b0e576001945050505050610b30565b8960400151811115610b27576002945050505050610b30565b60009450505050505b95945050505050565b60006001826002811115610b4f57610b4f613826565b03610b6457610b5d836112ce565b9050610b68565b5082515b9392505050565b6000808080610b7e86866112f4565b9350610b8985610c0f565b6060870151909350610b9b90856113e2565b91506000610bb68760000151610bb088610f8f565b90611408565b9150506000876040015182610bcb9190613a19565b90508015610be9576020880151610be290826113e2565b9250610c04565b8760200151600003610bfe5760009250610c04565b60001992505b505092959194509250565b6000670de0b6b3a7640000610c52610c438460400151856000015160a00151610c3891906139dc565b6301e13380906113e2565b610c4c856114bf565b9061150c565b61098491906139dc565b6000610c698385846116b5565b949350505050565b600081600003610c8357610c83613be1565b6000610c8f85846116ca565b90506000831215610cb757610caf610ca8826001613a19565b8590611711565b915050610b68565b610caf610ca86001836139dc565b600083600003610cd757610cd7613be1565b6000808512610cfb5783610cec846002613bf7565b610cf691906139dc565b610cfd565b835b9050600081670de0b6b3a7640000610d148861178b565b610d1e9190613bf7565b610d289190613a05565b90506000670de0b6b3a7640000610d4383610c4c8184613a19565b610d4d91906139dc565b9050610d598882610de1565b98975050505050505050565b610d6d61331a565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610da961331a565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b600080610dee8385613bf7565b9050670de0b6b3a7640000815b04949350505050565b60008080610e1c610e1585876139dc565b8790610de1565b9250610e2887846117a6565b9398909750929550919350505050565b600080600080856000015160600151610e6287604001516040015187610de190919063ffffffff16565b610e6c91906139dc565b86515190915015610f2c57600080610ea2610e8e896000015160000151611832565b610e9b8a60200151610f8f565b5190611848565b915091506000610ec2896000015160200151610ebd84611914565b611923565b90506000610ee1828b602001516020015161193990919063ffffffff16565b610eea85611914565b610ef49190613a19565b905060029750610f048186611923565b8a51519096508190610f17908890613bf7565b610f219190613a05565b965050505050610f87565b6000610f4d876000015160200151610f478960200151610f8f565b90611945565b875160200151600396509091508190610f669084613bf7565b610f709190613a05565b9350610f8384610f478960200151610f8f565b9250505b509250925092565b610f97613349565b6040518060600160405280610faf84600001516119a0565b81526020018360200151815260200183604001518152509050919050565b600080600080610fdd8787611408565b915091506000610ffa838960200151611a1d90919063ffffffff16565b905060006110088284613a19565b9050600061102e8a60200151838c604001516110238c61116e565b8e5193929190611a29565b5060208c015160408d01518d5192995092935061104c928990611b45565b505050808361105b9190613a19565b96505050505050935093915050565b600080600061109285602001518587604001518860000151611b96909392919063ffffffff16565b5050602086015190915060006110a88284613bf7565b6110ba670de0b6b3a764000088613bf7565b6110c491906139dc565b8751519091506000906110d690611914565b836110e88a6000015160200151611914565b6110f29190613bf7565b6110fc9190613a05565b61110e90670de0b6b3a7640000613a19565b9050600061111c8284613a05565b905061112881896139dc565b95506000611143878b60200151611bbf90919063ffffffff16565b9050600061115187836139dc565b905061115e8b8285611bcb565b9850505050505050509250929050565b61117661331a565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b600080806111c6858561106a565b9150915085602001518111156111e157600092505050610b68565b80866020018181516111f391906139dc565b905250855182908790611207908390613a19565b90525060019695505050505050565b835160009083111561122a57506000610c69565b6000611241846112398561116e565b879190610fcd565b509050838660000181815161125691906139dc565b905250602086018051829190611207908390613a19565b6000828410158015610c6957506112958361129084670de0b6b3a7640000613a19565b610de1565b909311159392505050565b6000828411158015610c6957506112c38361129084670de0b6b3a76400006139dc565b909310159392505050565b602081015160408201518251600092610984926112ec929190611da1565b835151611e9b565b60008061130083610f8f565b905060008061131c86600001518461140890919063ffffffff16565b9150915060008287606001516113329190613a19565b905060008760400151836113469190613a19565b9050876020015181116113945761135d8582611f3a565b6113679083613a19565b915061138381896020015161137c91906139dc565b8690611945565b61138d9083613a19565b91506113d7565b60208801516113a4908690611f3a565b6113ae9083613a19565b91506113ca8860200151826113c391906139dc565b8690611f4c565b6113d49083613a19565b91505b509695505050505050565b6000806113f7670de0b6b3a764000085613bf7565b9050828181610dfb57610dfb6139ef565b600080600061141684611832565b855160408101516020909101519192506000916114339084613c0e565b61143d9190613c3e565b8651604081015190519192506000916114569085613c0e565b6114609190613c3e565b8751604001519091506114739084611f70565b8751604001528651516114869082611f70565b8751528651602001516114999083611f70565b8751602001526114a882611914565b6114b182611914565b945094505050509250929050565b60208101516040820151825160009283926114db929190611da1565b905060006115018460000151600001518360200151846000015185604001516000611fb7565b9050610c6981611914565b6000816000036115255750670de0b6b3a7640000610984565b8260000361153557506000610984565b600160ff1b831061157a5760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b604482015260640161027d565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106115d45760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b604482015260640161027d565b826000670c7d713b49da0000831380156115f55750670f43fc2c04ee000083125b1561162c57600061160584612068565b9050670de0b6b3a764000080820784020583670de0b6b3a76400008305020191505061163a565b8161163684612187565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611668575068070c1cc73b00c800008113155b6116ac5760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b604482015260640161027d565b61039e8161252a565b6000610c69836116c5868561293f565b6129ab565b6000816000036116dc576116dc613be1565b600182126116f257816116ee81613c6c565b9250505b610b686117028460800151611832565b61170c9084613c84565b611914565b6000811580159061173c575060a083015161172d906002613bf7565b611738906001613a19565b8214155b61174857611748613be1565b6000611753846129e2565b9050611760600282613a05565b61176b6001856139dc565b6117759083613bf7565b85516117819190613a19565b610c699190613a19565b60008082136117a25761179d82613cac565b610984565b5090565b60008060006117ca6117bf866000015160200151611914565b602087015190611a1d565b8551516117d690611914565b6117e09190613a19565b8551516117ec90611914565b6117f69086613bf7565b6118009190613a05565b60208601519091506118129082611a1d565b91506118288561182283876139dc565b84611bcb565b9250509250929050565b60006001600160ff1b038211156117a257600080fd5b6000808260000361186c576040516325daaec360e01b815260040160405180910390fd5b604084015160208501516118809085613c0e565b61188a9190613c3e565b604085015185519193509061189f9085613c0e565b6118a99190613c3e565b9050811580156118b7575080155b156118d557604051631997ea8d60e31b815260040160405180910390fd5b60408401516118e49084611f70565b604085015283516118f59082611f70565b845260208401516119069083611f70565b602090940193909352929050565b6000808212156117a257600080fd5b60008183106119325781610b68565b5090919050565b6000610b688383612a10565b60208201516040830151835160009283926119639291908690611b96565b505090506000611980828660200151612a4690919063ffffffff16565b9050600061198e82866139dc565b602087015190915061039e9082611bbf565b6119a8613370565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b6000610b688383612a53565b6000808080611a39898988611da1565b90508460400151600003611a76578451611a539088612a68565b85526020850151611a6890610ebd8b84612a77565b6020860152611a7685612afb565b60005b8560600151811015611b20576000611a918783612b49565b9050600080611aa28d868e86612bae565b5090925090506000611ab48d84611a1d565b90506000611ac282866139dc565b90508c8111611af957611ada818e8d608001516112a0565b15611af157509750919550909350611b3a92505050565b848b52611b0a565b611b046001866139dc565b60208c01525b505050505080611b1990613a2c565b9050611a79565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b600080600080600080611b628a8a611b5c8b612bdf565b8a612bf6565b925092509250611b7183611914565b9550611b7c82611914565b9450611b8781611914565b93505050509450945094915050565b600080600080600080611bad8a8a611b5c8b611832565b925092509250611b7161170c84612c89565b6000610b688383612c97565b825160a00151604084015160009111611c255760405162461bcd60e51b815260206004820152601c60248201527b13585c9ad95d115e1d131a588e88195e1c1a5c9959081b585c9ad95d60221b604482015260640161027d565b835160400151600012611c715760405162461bcd60e51b815260206004820152601460248201527304d61726b65744578744c69623a204c50203c20360641b604482015260640161027d565b6000611c7c84611832565b90506000611c8984611832565b90506000806000808960000151600001518a600001516040015186611cae9190613c0e565b611cb89190613c3e565b8a516020810151604090910151919250600091611cd59089613c0e565b611cdf9190613c3e565b905080821215611d1a578a5160408101516020909101519295508694508592611d09908490613c0e565b611d139190613c3e565b9250611d43565b8a51604081015190519195508793508591611d36908390613c0e565b611d409190613c3e565b93505b828b60000151602001818151611d599190613c84565b9052508a518051859190611d6e908390613c84565b9052508a516040018051869190611d86908390613c84565b905250611d9285611914565b9b9a5050505050505050505050565b611dcc6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210611df05760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151611e0291906139dc565b9050611e0e8582612cac565b82526020850151611e20908590612d0d565b602083015284511580611e3557506020820151155b15611e5c578451602083015160405163b1c4aefb60e01b815261027d92919060040161392b565b611e7a85600001518661010001518460200151856000015185612d44565b604083015260c0850151611e8e9082612dc5565b6060830152509392505050565b600080611ec8611ec3856000015186604001518760600151611ebd9190613cc8565b90612df9565b61252a565b90506000611ee8611ee1670de0b6b3a764000084613c84565b8390612e1c565b90506000611f06866020015186611eff9190613c84565b8390612df9565b90506000611f148287613cc8565b90506103e8611f25826103e7613bf7565b611f2f9190613a05565b979650505050505050565b6020820151600090610b689083611bbf565b602082015160408301518351600092611f66928590611b45565b5090949350505050565b600081831215611fad5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161027d565b610b688284613cc8565b600080611fc48784611f70565b90506000611fd5611ee1888a613c84565b9050670d529ae9e860000081131561200c5780670d529ae9e8600000604051637e34684f60e11b815260040161027d92919061392b565b600061201782612e42565b9050856120248289612e1c565b61202e9190613c84565b9350670de0b6b3a764000084121561205c5760405163329e322960e21b81526004810185905260240161027d565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff19850102816120a9576120a96139ef565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156121c8576121bf826a0c097ce7bc90715b34b9f160241b816121b9576121b96139ef565b05612187565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126122135772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b831261224a576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612292576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126122cd576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261230457693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261233b57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126123705768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261239b57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126123d0576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612405576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612439576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261246d576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612496576124966139ef565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff19821215801561254f575068070c1cc73b00c800008213155b61258e5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161027d565b60008212156125c6576125a38260000361252a565b6a0c097ce7bc90715b34b9f160241b816125bf576125bf6139ef565b0592915050565b60006806f05b59d3b2000000831261260457506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61263a565b6803782dace9d9000000831261263657506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061263a565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261268a5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126126c6576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261270057682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261273a576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261277357680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126127ac5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126127e5576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261281e5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b815160009082101561295357506000610984565b82602001518211156129815760a083015161296f906002613bf7565b61297a906001613a19565b9050610984565b61298a836129e2565b835161299690846139dc565b6129a09190613a05565b610b68906001613a19565b6000806129bb8460800151611832565b6129c484611832565b6129ce9190613cc8565b905060018112610b685780610b3081613cef565b60008160a0015160026129f59190613bf7565b82516020840151612a0691906139dc565b6109849190613a05565b600082600181612a28670de0b6b3a764000086613bf7565b612a329190613a19565b612a3c91906139dc565b610b689190613a05565b600082610c698184612e95565b6000670de0b6b3a7640000612a3c8484613bf7565b60008183116119325781610b68565b60008060009050600060018460200151612a9191906139dc565b90505b808214612af35760006002612aa98385613a19565b612ab4906001613a19565b612abe9190613a05565b90506000612ad186886000015184612ead565b1215612ae957612ae26001826139dc565b9150612aed565b8092505b50612a94565b509392505050565b602081015181511180612b195750670de0b6b3a76400008160800151115b15612b4657805160208201516080830151604051632cc06bc160e21b815261027d939291906004016139b0565b50565b600081158015612b5c5750604083015115155b15612b6c57506040820151610984565b6020830151835111612b955760208301518351600291612b8b91613a19565b61297a9190613a05565b604051637d388ed960e11b815260040160405180910390fd5b60008080808080612bcc8989612bc38a613cac565b8d929190612f9f565b919c909b50909950975050505050505050565b6000612bea82611832565b61098490600019613c0e565b6000806000612c098760a0015185101590565b15612c275760405163b2094b5960e01b815260040160405180910390fd5b86518512612c4d578651604051632185509b60e21b815261027d9190879060040161392b565b6000612c5a888887611da1565b9050612c6888828989612f9f565b91955093509150612c7e8882898988878b6130f3565b509450945094915050565b600061098482600019613c0e565b600082612a3c670de0b6b3a764000084613bf7565b6000612cb782611832565b612cce612cc96201518061016d613bf7565b611832565b8460800151612cdd9190613c0e565b612ce79190613c3e565b90506000811361098457604051630e520c3b60e11b81526004810182905260240161027d565b60008060008312612d1f576001612d23565b6000195b9050612d3a612cc985612d358661178b565b612a53565b610c699082613c0e565b600080612d518684612dc5565b9050670de0b6b3a7640000811215612d7f5760405163329e322960e21b81526004810182905260240161027d565b6000612d95612d8e878a613c84565b8990612e1c565b90506000612da282612e42565b9050612dae8187612e1c565b612db89084613cc8565b9998505050505050505050565b600080612dd76201518061016d613bf7565b612de18486613bf7565b612deb9190613a05565b9050610c69611ec382611832565b600080612e068385613c0e565b9050670de0b6b3a7640000815b05949350505050565b600080612e31670de0b6b3a764000085613c0e565b9050828181612e1357612e136139ef565b6000670de0b6b3a76400008203612e6c5760405163a9c8b14d60e01b815260040160405180910390fd5b6000612e8a612e8384670de0b6b3a7640000613cc8565b8490612e1c565b9050610b6881613185565b6000670de0b6b3a7640000600181612a288686613bf7565b600080828560200151612ec09190613cc8565b90506000612ece8585613c84565b9050600082138015612ee05750600081135b612f215760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b604482015260640161027d565b6000612f4f612f308484613c0e565b6020890151612f3f9089613c84565b612f499088613c0e565b90612e1c565b90506000612f65612f608486612e1c565b613185565b8851909150600090612f8090670de0b6b3a764000090612e1c565b9050612f9081611ebd8486613cc8565b8960400151612db89190613cc8565b600080600080612fc28860000151886020015189600001518a6040015189611fb7565b90506000612fd8612fd38784612e1c565b612c89565b60608901519091506000871315613047576000612ff58483612e1c565b9050670de0b6b3a76400008112156130235760405163329e322960e21b81526004810182905260240161027d565b61303f61303883670de0b6b3a7640000613cc8565b8490612df9565b915050613074565b6130718161305d81670de0b6b3a7640000613cc8565b6130679085613c0e565b612fd39190613c3e565b90505b600060646130858c60e00151611832565b61308f9084613c0e565b6130999190613c3e565b905060006130a78385613cc8565b9050600081126130c0576130bb8a82613216565b6130ca565b6130ca8a82613243565b97506130d68a84613216565b96506130e28a83613216565b955050505050509450945094915050565b6000818860a0015161310591906139dc565b88519091506131149086611f70565b885261312e6131238486613c84565b60208a015190611f70565b60208901819052885161315391613146908990612d0d565b895160408b015185613270565b610100890181905260000361317b57604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b60008082136131c65760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161027d565b670c7d713b49da0000821380156131e45750670f43fc2c04ee000082125b1561320857670de0b6b3a76400006131fb83612068565b816125bf576125bf6139ef565b61098482612187565b919050565b6000806000831261322857600161322c565b6000195b9050612d3a612cc98561323e8661178b565b612c97565b60008060008312613255576001613259565b6000195b9050612d3a612cc98561326b8661178b565b612a10565b600080613281878787876000611fb7565b9050600061329161170c83613185565b9050836132a36201518061016d613bf7565b6132ad9083613bf7565b610d599190613a05565b60405180606001604052806132ca61331a565b81526020016132d7613349565b81526020016133156040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b905290565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528061335c613370565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b600060a0828403121561349e57600080fd5b6134a66133c5565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b0381168114612b4657600080fd5b8035613211816134da565b600081830361016081121561350e57600080fd5b6135166133fb565b91506101208082121561352857600080fd5b61353061342b565b9150833582526020840135602083015260408401356040830152613556606085016134ef565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c08112156135c257600080fd5b6135ca6133fb565b91506135d6848461348c565b82526135e58460a085016134fa565b602083015260c06101ff19820112156135fd57600080fd5b5061360661345c565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b80356003811061321157600080fd5b600080600080600080610460878903121561367b57600080fd5b61368588886135ae565b95506136946102c08801613652565b94506102e0870135935061030087013592506136b488610320890161348c565b91506136c4886103c0890161348c565b90509295509295509295565b6000602082840312156136e257600080fd5b8135610b68816134da565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b805180518352602081015160208401526040810151604084015260018060a01b0360608201511660608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e084015261010080820151818501525050602081015161012083015260408101516101408301525050565b6000610340820190506137ac8288516136ed565b60208701516137be60a084018261371d565b5060409687015180516102008401526020810151610220840152968701516102408301526060870151610260830152608087015161028083015260a0909601516102a08201526102c08101949094526102e08401929092526103008301526103209091015290565b634e487b7160e01b600052602160045260246000fd5b815160c08201906003811061385357613853613826565b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60006102c082840312156138a257600080fd5b610b6883836135ae565b81516080820190600481106138c3576138c3613826565b8083525060208301516020830152604083015160408301526060830151606083015292915050565b60008060006101a0848603121561390157600080fd5b61390b85856134fa565b925061391a6101608501613652565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a0858703121561395057600080fd5b61395a86866135ae565b93506139696102c08601613652565b92506102e0850135915061398186610300870161348c565b905092959194509250565b831515815261022081016139a360208301856136ed565b610c6960c083018461371d565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610984576109846139c6565b634e487b7160e01b600052601260045260246000fd5b600082613a1457613a146139ef565b500490565b80820180821115610984576109846139c6565b600060018201613a3e57613a3e6139c6565b5060010190565b8051613211816134da565b600060c08284031215613a6257600080fd5b613a6a61345c565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c0811215613abc57600080fd5b613ac46133fb565b60a0821215613ad257600080fd5b613ada6133c5565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f198201915061016080831215613b2157600080fd5b613b296133fb565b61012080851215613b3957600080fd5b613b4161342b565b945060a0870151855260c0870151602086015260e08701516040860152610100613b6c818901613a45565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e086015160408201528060208401525050613bd4856102008601613a50565b6040820152949350505050565b634e487b7160e01b600052600160045260246000fd5b8082028115828204841417610984576109846139c6565b80820260008212600160ff1b84141615613c2a57613c2a6139c6565b8181058314821517610984576109846139c6565b600082613c4d57613c4d6139ef565b600160ff1b821460001984141615613c6757613c676139c6565b500590565b60006001600160ff1b018201613a3e57613a3e6139c6565b8082018281126000831280158216821582161715613ca457613ca46139c6565b505092915050565b6000600160ff1b8201613cc157613cc16139c6565b5060000390565b8181036000831280158383131683831282161715613ce857613ce86139c6565b5092915050565b6000600160ff1b8201613d0457613d046139c6565b50600019019056fea26469706673582212204f9d0464dff463e9b6c1f1748fd2a2a23ddbc63c4457f23e7635607080f5be0964736f6c63430008110033";
1220
1416
 
1221
1417
  type LongYieldDecisionHelperConstructorParams =
1222
1418
  | [signer?: Signer]