@gearbox-protocol/sdk 0.0.108 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1209) hide show
  1. package/README.md +1 -0
  2. package/lib/apy/convexAPY.d.ts +9 -5
  3. package/lib/apy/convexAPY.js +35 -75
  4. package/lib/apy/curveAPY.d.ts +4 -0
  5. package/lib/apy/curveAPY.js +94 -0
  6. package/lib/apy/index.d.ts +6 -0
  7. package/lib/apy/index.js +20 -0
  8. package/lib/apy/lidoAPY.d.ts +1 -1
  9. package/lib/apy/lidoAPY.js +10 -10
  10. package/lib/apy/yearnAPY.d.ts +4 -0
  11. package/lib/apy/yearnAPY.js +90 -0
  12. package/lib/contracts/adapters.js +1 -1
  13. package/lib/contracts/contracts.d.ts +5 -5
  14. package/lib/contracts/contracts.js +66 -71
  15. package/lib/contracts/contractsRegister.js +3 -2
  16. package/lib/contracts/protocols.js +6 -6
  17. package/lib/core/constants.d.ts +3 -2
  18. package/lib/core/constants.js +6 -5
  19. package/lib/core/creditAccount.d.ts +4 -3
  20. package/lib/core/creditAccount.js +19 -12
  21. package/lib/core/creditManager.d.ts +3 -1
  22. package/lib/core/creditManager.js +28 -12
  23. package/lib/core/creditSession.d.ts +1 -1
  24. package/lib/core/creditSession.js +1 -1
  25. package/lib/core/errors.d.ts +1 -1
  26. package/lib/core/eventOrTx.d.ts +2 -2
  27. package/lib/core/eventOrTx.js +1 -1
  28. package/lib/core/events.d.ts +1 -1
  29. package/lib/core/events.js +32 -31
  30. package/lib/core/history.d.ts +2 -2
  31. package/lib/core/pool.js +5 -5
  32. package/lib/core/strategy.d.ts +5 -3
  33. package/lib/core/strategy.js +6 -4
  34. package/lib/core/tokenDistributor.js +1 -1
  35. package/lib/core/transactions.js +22 -22
  36. package/lib/index.d.ts +30 -30
  37. package/lib/index.js +38 -37
  38. package/lib/oracles/oracles.d.ts +5 -6
  39. package/lib/oracles/priceFeeds.d.ts +1 -1
  40. package/lib/oracles/priceFeeds.js +292 -194
  41. package/lib/pathfinder/contracts.js +4 -4
  42. package/lib/pathfinder/curveLP.d.ts +2 -2
  43. package/lib/pathfinder/curveLP.js +4 -4
  44. package/lib/pathfinder/path.d.ts +3 -3
  45. package/lib/pathfinder/path.js +7 -7
  46. package/lib/pathfinder/tradeTypes.d.ts +2 -2
  47. package/lib/pathfinder/yVault.d.ts +3 -3
  48. package/lib/pathfinder/yVault.js +5 -5
  49. package/lib/strategies/convex.js +13 -13
  50. package/lib/strategies/creditFacade.js +6 -6
  51. package/lib/strategies/curve.js +17 -19
  52. package/lib/strategies/lido.d.ts +1 -1
  53. package/lib/strategies/lido.js +3 -3
  54. package/lib/strategies/uniswapV2.js +3 -3
  55. package/lib/strategies/uniswapV3.js +6 -6
  56. package/lib/strategies/yearn.js +11 -7
  57. package/lib/tokens/connectors.js +1 -1
  58. package/lib/tokens/convex.d.ts +5 -2
  59. package/lib/tokens/convex.js +92 -66
  60. package/lib/tokens/curveLP.d.ts +2 -1
  61. package/lib/tokens/curveLP.js +41 -37
  62. package/lib/tokens/gear.d.ts +1 -1
  63. package/lib/tokens/gear.js +6 -6
  64. package/lib/tokens/normal.d.ts +1 -0
  65. package/lib/tokens/normal.js +181 -177
  66. package/lib/tokens/token.d.ts +10 -5
  67. package/lib/tokens/token.js +74 -65
  68. package/lib/tokens/tokenData.d.ts +1 -1
  69. package/lib/tokens/tokenData.js +6 -7
  70. package/lib/tokens/yearn.d.ts +2 -1
  71. package/lib/tokens/yearn.js +30 -26
  72. package/lib/utils/extracter.d.ts +11 -0
  73. package/lib/utils/extracter.js +19 -0
  74. package/lib/utils/formatter.js +19 -12
  75. package/lib/utils/mappers.d.ts +3 -3
  76. package/lib/utils/mappers.js +1 -1
  77. package/lib/utils/multicall.js +2 -2
  78. package/lib/utils/network.js +3 -3
  79. package/lib/utils/price.d.ts +8 -0
  80. package/lib/utils/price.js +26 -0
  81. package/lib/utils/repeater.js +6 -6
  82. package/package.json +30 -23
  83. package/.eslintignore +0 -5
  84. package/.eslintrc.js +0 -52
  85. package/.husky/pre-push +0 -4
  86. package/.idea/gearbox-sdk.iml +0 -12
  87. package/.idea/modules.xml +0 -8
  88. package/.idea/vcs.xml +0 -6
  89. package/.prettierrc +0 -10
  90. package/lib/core/price.d.ts +0 -2
  91. package/lib/core/price.js +0 -14
  92. package/lib/types/@chainlink/contracts/src/v0.6/index.d.ts +0 -2
  93. package/lib/types/@chainlink/contracts/src/v0.6/index.js +0 -2
  94. package/lib/types/@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.d.ts +0 -146
  95. package/lib/types/@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.js +0 -2
  96. package/lib/types/@chainlink/contracts/src/v0.6/interfaces/index.d.ts +0 -1
  97. package/lib/types/@chainlink/contracts/src/v0.6/interfaces/index.js +0 -2
  98. package/lib/types/contracts/integrations/lido/IstETH.d.ts +0 -154
  99. package/lib/types/contracts/integrations/lido/IstETH.js +0 -2
  100. package/lib/types/contracts/interfaces/ICreditFacade.sol/ICreditFacadeBalanceChecker.d.ts +0 -50
  101. package/lib/types/contracts/interfaces/ICreditFacade.sol/ICreditFacadeBalanceChecker.js +0 -2
  102. package/lib/types/contracts/pathfinder/Balances.sol/BalanceOps.d.ts +0 -27
  103. package/lib/types/contracts/pathfinder/Balances.sol/BalanceOps.js +0 -2
  104. package/lib/types/contracts/pathfinder/Balances.sol/index.d.ts +0 -1
  105. package/lib/types/contracts/pathfinder/Balances.sol/index.js +0 -2
  106. package/lib/types/contracts/pathfinder/NormalTokenPathFinder.sol/PathFinder.d.ts +0 -269
  107. package/lib/types/contracts/pathfinder/NormalTokenPathFinder.sol/PathFinder.js +0 -2
  108. package/lib/types/contracts/pathfinder/NormalTokenPathFinder.sol/index.d.ts +0 -1
  109. package/lib/types/contracts/pathfinder/NormalTokenPathFinder.sol/index.js +0 -2
  110. package/lib/types/contracts/test/mocks/integrations/ConvexTokenRewardContractMock.sol/VirtualBalanceWrapper.d.ts +0 -58
  111. package/lib/types/contracts/test/mocks/integrations/ConvexTokenRewardContractMock.sol/VirtualBalanceWrapper.js +0 -2
  112. package/lib/types/contracts/test/pathfinder/UniswapV2PathFinder.t.sol/UniswapV2PathFinderAdapterTest.d.ts +0 -528
  113. package/lib/types/contracts/test/pathfinder/UniswapV2PathFinder.t.sol/UniswapV2PathFinderAdapterTest.js +0 -2
  114. package/lib/types/contracts/test/pathfinder/UniswapV3PathFinder.t.sol/UniswapV3PathFinderAdapterTest.d.ts +0 -528
  115. package/lib/types/contracts/test/pathfinder/UniswapV3PathFinder.t.sol/UniswapV3PathFinderAdapterTest.js +0 -2
  116. package/lib/types/factories/@chainlink/contracts/src/v0.6/index.d.ts +0 -1
  117. package/lib/types/factories/@chainlink/contracts/src/v0.6/index.js +0 -30
  118. package/lib/types/factories/@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface__factory.d.ts +0 -22
  119. package/lib/types/factories/@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface__factory.js +0 -133
  120. package/lib/types/factories/@chainlink/contracts/src/v0.6/interfaces/index.d.ts +0 -1
  121. package/lib/types/factories/@chainlink/contracts/src/v0.6/interfaces/index.js +0 -8
  122. package/lib/types/factories/contracts/integrations/lido/IstETH__factory.d.ts +0 -35
  123. package/lib/types/factories/contracts/integrations/lido/IstETH__factory.js +0 -224
  124. package/lib/types/factories/contracts/interfaces/ICreditFacade.sol/ICreditFacadeBalanceChecker__factory.d.ts +0 -18
  125. package/lib/types/factories/contracts/interfaces/ICreditFacade.sol/ICreditFacadeBalanceChecker__factory.js +0 -40
  126. package/lib/types/factories/contracts/pathfinder/Balances.sol/BalanceOps__factory.d.ts +0 -28
  127. package/lib/types/factories/contracts/pathfinder/Balances.sol/BalanceOps__factory.js +0 -76
  128. package/lib/types/factories/contracts/pathfinder/Balances.sol/index.d.ts +0 -1
  129. package/lib/types/factories/contracts/pathfinder/Balances.sol/index.js +0 -8
  130. package/lib/types/factories/contracts/pathfinder/NormalTokenPathFinder.sol/PathFinder__factory.d.ts +0 -144
  131. package/lib/types/factories/contracts/pathfinder/NormalTokenPathFinder.sol/PathFinder__factory.js +0 -522
  132. package/lib/types/factories/contracts/pathfinder/NormalTokenPathFinder.sol/index.d.ts +0 -1
  133. package/lib/types/factories/contracts/pathfinder/NormalTokenPathFinder.sol/index.js +0 -8
  134. package/lib/types/factories/contracts/test/mocks/integrations/ConvexTokenRewardContractMock.sol/VirtualBalanceWrapper__factory.d.ts +0 -34
  135. package/lib/types/factories/contracts/test/mocks/integrations/ConvexTokenRewardContractMock.sol/VirtualBalanceWrapper__factory.js +0 -110
  136. package/lib/types/factories/contracts/test/pathfinder/UniswapV2PathFinder.t.sol/UniswapV2PathFinderAdapterTest__factory.d.ts +0 -65
  137. package/lib/types/factories/contracts/test/pathfinder/UniswapV2PathFinder.t.sol/UniswapV2PathFinderAdapterTest__factory.js +0 -775
  138. package/lib/types/factories/contracts/test/pathfinder/UniswapV3PathFinder.t.sol/UniswapV3PathFinderAdapterTest__factory.d.ts +0 -65
  139. package/lib/types/factories/contracts/test/pathfinder/UniswapV3PathFinder.t.sol/UniswapV3PathFinderAdapterTest__factory.js +0 -775
  140. package/lib/types/hardhat.d.ts +0 -2715
  141. package/src/abi/adapters/YearnV2.sol/YearnAdapter.dbg.json +0 -4
  142. package/src/abi/adapters/YearnV2.sol/YearnAdapter.json +0 -455
  143. package/src/abi/core/ACL.sol/ACL.dbg.json +0 -4
  144. package/src/abi/core/ACL.sol/ACL.json +0 -262
  145. package/src/abi/core/ACLTrait.sol/ACLTrait.dbg.json +0 -4
  146. package/src/abi/core/ACLTrait.sol/ACLTrait.json +0 -64
  147. package/src/abi/core/AccountMining.sol/AccountMining.dbg.json +0 -4
  148. package/src/abi/core/AccountMining.sol/AccountMining.json +0 -150
  149. package/src/abi/core/AddressProvider.sol/AddressProvider.dbg.json +0 -4
  150. package/src/abi/core/AddressProvider.sol/AddressProvider.json +0 -496
  151. package/src/abi/core/ContractsRegister.sol/ContractsRegister.dbg.json +0 -4
  152. package/src/abi/core/ContractsRegister.sol/ContractsRegister.json +0 -255
  153. package/src/abi/credit/LeverageActions.sol/LeveragedActions.dbg.json +0 -4
  154. package/src/abi/credit/LeverageActions.sol/LeveragedActions.json +0 -514
  155. package/src/abi/deployer/AdaptersDeployer.sol/AdaptersDeployer.dbg.json +0 -4
  156. package/src/abi/deployer/AdaptersDeployer.sol/AdaptersDeployer.json +0 -160
  157. package/src/abi/deployer/GenesisDeployer.sol/GenesisDeployer.dbg.json +0 -4
  158. package/src/abi/deployer/GenesisDeployer.sol/GenesisDeployer.json +0 -189
  159. package/src/abi/deployer/PoolDeployer.sol/PoolDeployer.dbg.json +0 -4
  160. package/src/abi/deployer/PoolDeployer.sol/PoolDeployer.json +0 -215
  161. package/src/abi/fuzzing/FuzzHarness.sol/FuzzHarness.dbg.json +0 -4
  162. package/src/abi/fuzzing/FuzzHarness.sol/FuzzHarness.json +0 -50
  163. package/src/abi/integrations/yearn/IYVault.sol/IYVault.dbg.json +0 -4
  164. package/src/abi/integrations/yearn/IYVault.sol/IYVault.json +0 -400
  165. package/src/abi/interfaces/IGearToken.sol/IGearToken.dbg.json +0 -4
  166. package/src/abi/interfaces/IGearToken.sol/IGearToken.json +0 -331
  167. package/src/abi/interfaces/IMerkleDistributor.sol/IMerkleDistributor.dbg.json +0 -4
  168. package/src/abi/interfaces/IMerkleDistributor.sol/IMerkleDistributor.json +0 -98
  169. package/src/abi/mocks/core/ACLTraitTest.sol/ACLTraitTest.dbg.json +0 -4
  170. package/src/abi/mocks/core/ACLTraitTest.sol/ACLTraitTest.json +0 -96
  171. package/src/abi/mocks/credit/ExecutorMock.sol/ExecutorMock.dbg.json +0 -4
  172. package/src/abi/mocks/credit/ExecutorMock.sol/ExecutorMock.json +0 -61
  173. package/src/abi/mocks/integrations/CurveMock.sol/CurveMock.dbg.json +0 -4
  174. package/src/abi/mocks/integrations/CurveMock.sol/CurveMock.json +0 -168
  175. package/src/abi/mocks/integrations/YearnMock.sol/YearnMock.dbg.json +0 -4
  176. package/src/abi/mocks/integrations/YearnMock.sol/YearnMock.json +0 -556
  177. package/src/abi/mocks/oracles/ChainlinkPriceFeedMock.sol/ChainlinkPriceFeedMock.dbg.json +0 -4
  178. package/src/abi/mocks/oracles/ChainlinkPriceFeedMock.sol/ChainlinkPriceFeedMock.json +0 -151
  179. package/src/abi/mocks/pool/CreditManagerMockForPoolTest.sol/CreditManagerMockForPoolTest.dbg.json +0 -4
  180. package/src/abi/mocks/pool/CreditManagerMockForPoolTest.sol/CreditManagerMockForPoolTest.json +0 -89
  181. package/src/abi/mocks/tokens/ERC20Blocking.sol/ERC20BlockingMock.dbg.json +0 -4
  182. package/src/abi/mocks/tokens/ERC20Blocking.sol/ERC20BlockingMock.json +0 -387
  183. package/src/abi/mocks/tokens/ERC20Fee.sol/TokenFeeMock.dbg.json +0 -4
  184. package/src/abi/mocks/tokens/ERC20Fee.sol/TokenFeeMock.json +0 -385
  185. package/src/abi/oracles/YearnPriceFeed.sol/YearnPriceFeed.dbg.json +0 -4
  186. package/src/abi/oracles/YearnPriceFeed.sol/YearnPriceFeed.json +0 -321
  187. package/src/abi/support/PathFinder.sol/PathFinder.dbg.json +0 -4
  188. package/src/abi/support/PathFinder.sol/PathFinder.json +0 -189
  189. package/src/abi/tokens/GearNFT.sol/GearBeta.dbg.json +0 -4
  190. package/src/abi/tokens/GearNFT.sol/GearBeta.json +0 -485
  191. package/src/abi/tokens/TokenDistributor.sol/TokenDistributor.dbg.json +0 -4
  192. package/src/abi/tokens/TokenDistributor.sol/TokenDistributor.json +0 -439
  193. package/src/abi/tokens/Vesting.sol/StepVesting.dbg.json +0 -4
  194. package/src/abi/tokens/Vesting.sol/StepVesting.json +0 -254
  195. package/src/apy/convexAPY.ts +0 -250
  196. package/src/apy/lidoAPY.ts +0 -89
  197. package/src/config.ts +0 -2
  198. package/src/contracts/adapters.ts +0 -18
  199. package/src/contracts/contracts.ts +0 -438
  200. package/src/contracts/contractsRegister.ts +0 -67
  201. package/src/contracts/protocols.ts +0 -40
  202. package/src/core/constants.ts +0 -51
  203. package/src/core/creditAccount.ts +0 -152
  204. package/src/core/creditManager.ts +0 -282
  205. package/src/core/creditOperation.ts +0 -9
  206. package/src/core/creditSession.ts +0 -87
  207. package/src/core/errors.ts +0 -70
  208. package/src/core/eventOrTx.ts +0 -97
  209. package/src/core/events.ts +0 -1259
  210. package/src/core/history.ts +0 -55
  211. package/src/core/multicall.ts +0 -6
  212. package/src/core/operations.ts +0 -41
  213. package/src/core/pool.ts +0 -81
  214. package/src/core/price.ts +0 -13
  215. package/src/core/strategy.ts +0 -134
  216. package/src/core/tokenDistributor.ts +0 -14
  217. package/src/core/transactions.ts +0 -492
  218. package/src/index.ts +0 -64
  219. package/src/oracles/oracles.ts +0 -48
  220. package/src/oracles/priceFeeds.ts +0 -546
  221. package/src/pathfinder/contracts.ts +0 -19
  222. package/src/pathfinder/convexLP.ts +0 -37
  223. package/src/pathfinder/curveLP.ts +0 -75
  224. package/src/pathfinder/path.ts +0 -174
  225. package/src/pathfinder/priority.ts +0 -14
  226. package/src/pathfinder/trade.ts +0 -90
  227. package/src/pathfinder/tradeTypes.ts +0 -105
  228. package/src/pathfinder/yVault.ts +0 -90
  229. package/src/payload/creditAccount.ts +0 -7
  230. package/src/payload/creditManager.ts +0 -24
  231. package/src/payload/creditSession.ts +0 -24
  232. package/src/payload/graphPayload.ts +0 -10
  233. package/src/payload/pool.ts +0 -3
  234. package/src/payload/token.ts +0 -5
  235. package/src/strategies/convex.ts +0 -408
  236. package/src/strategies/creditFacade.ts +0 -119
  237. package/src/strategies/curve.ts +0 -470
  238. package/src/strategies/lido.ts +0 -84
  239. package/src/strategies/uniswapV2.ts +0 -109
  240. package/src/strategies/uniswapV3.ts +0 -127
  241. package/src/strategies/yearn.ts +0 -208
  242. package/src/tokens/connectors.ts +0 -8
  243. package/src/tokens/convex.ts +0 -335
  244. package/src/tokens/curveLP.ts +0 -188
  245. package/src/tokens/gear.ts +0 -58
  246. package/src/tokens/normal.ts +0 -809
  247. package/src/tokens/token.ts +0 -238
  248. package/src/tokens/tokenData.ts +0 -87
  249. package/src/tokens/tokenType.ts +0 -12
  250. package/src/tokens/yearn.ts +0 -143
  251. package/src/types/@chainlink/contracts/index.ts +0 -5
  252. package/src/types/@chainlink/contracts/src/index.ts +0 -5
  253. package/src/types/@chainlink/contracts/src/v0.8/index.ts +0 -5
  254. package/src/types/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.ts +0 -228
  255. package/src/types/@chainlink/contracts/src/v0.8/interfaces/index.ts +0 -4
  256. package/src/types/@chainlink/index.ts +0 -5
  257. package/src/types/@openzeppelin/contracts/access/Ownable.ts +0 -175
  258. package/src/types/@openzeppelin/contracts/access/index.ts +0 -4
  259. package/src/types/@openzeppelin/contracts/index.ts +0 -11
  260. package/src/types/@openzeppelin/contracts/security/Pausable.ts +0 -111
  261. package/src/types/@openzeppelin/contracts/security/index.ts +0 -4
  262. package/src/types/@openzeppelin/contracts/token/ERC20/ERC20.ts +0 -444
  263. package/src/types/@openzeppelin/contracts/token/ERC20/IERC20.ts +0 -322
  264. package/src/types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +0 -364
  265. package/src/types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +0 -4
  266. package/src/types/@openzeppelin/contracts/token/ERC20/index.ts +0 -7
  267. package/src/types/@openzeppelin/contracts/token/ERC721/ERC721.ts +0 -578
  268. package/src/types/@openzeppelin/contracts/token/ERC721/IERC721.ts +0 -527
  269. package/src/types/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts +0 -120
  270. package/src/types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +0 -581
  271. package/src/types/@openzeppelin/contracts/token/ERC721/extensions/index.ts +0 -4
  272. package/src/types/@openzeppelin/contracts/token/ERC721/index.ts +0 -8
  273. package/src/types/@openzeppelin/contracts/token/index.ts +0 -7
  274. package/src/types/@openzeppelin/contracts/utils/index.ts +0 -5
  275. package/src/types/@openzeppelin/contracts/utils/introspection/ERC165.ts +0 -102
  276. package/src/types/@openzeppelin/contracts/utils/introspection/IERC165.ts +0 -102
  277. package/src/types/@openzeppelin/contracts/utils/introspection/index.ts +0 -5
  278. package/src/types/@openzeppelin/index.ts +0 -5
  279. package/src/types/common.ts +0 -44
  280. package/src/types/contracts/adapters/AbstractAdapter.ts +0 -174
  281. package/src/types/contracts/adapters/UniversalAdapter.ts +0 -258
  282. package/src/types/contracts/adapters/convex/ConvexV1_BaseRewardPool.sol/ConvexV1BaseRewardPoolAdapter.ts +0 -1079
  283. package/src/types/contracts/adapters/convex/ConvexV1_BaseRewardPool.sol/index.ts +0 -4
  284. package/src/types/contracts/adapters/convex/ConvexV1_Booster.sol/ConvexV1BoosterAdapter.ts +0 -676
  285. package/src/types/contracts/adapters/convex/ConvexV1_Booster.sol/index.ts +0 -4
  286. package/src/types/contracts/adapters/convex/ConvexV1_ClaimZap.sol/ConvexV1ClaimZapAdapter.ts +0 -290
  287. package/src/types/contracts/adapters/convex/ConvexV1_ClaimZap.sol/index.ts +0 -4
  288. package/src/types/contracts/adapters/convex/ConvexV1_StakedPositionToken.sol/ConvexStakedPositionToken.ts +0 -393
  289. package/src/types/contracts/adapters/convex/ConvexV1_StakedPositionToken.sol/index.ts +0 -4
  290. package/src/types/contracts/adapters/convex/index.ts +0 -11
  291. package/src/types/contracts/adapters/curve/CurveV1_2.sol/CurveV1Adapter2Assets.ts +0 -1679
  292. package/src/types/contracts/adapters/curve/CurveV1_2.sol/index.ts +0 -4
  293. package/src/types/contracts/adapters/curve/CurveV1_3.sol/CurveV1Adapter3Assets.ts +0 -1685
  294. package/src/types/contracts/adapters/curve/CurveV1_3.sol/index.ts +0 -4
  295. package/src/types/contracts/adapters/curve/CurveV1_4.sol/CurveV1Adapter4Assets.ts +0 -1694
  296. package/src/types/contracts/adapters/curve/CurveV1_4.sol/index.ts +0 -4
  297. package/src/types/contracts/adapters/curve/CurveV1_Base.sol/CurveV1AdapterBase.ts +0 -1394
  298. package/src/types/contracts/adapters/curve/CurveV1_Base.sol/index.ts +0 -4
  299. package/src/types/contracts/adapters/curve/CurveV1_DepositZap.sol/CurveV1AdapterDeposit.ts +0 -1394
  300. package/src/types/contracts/adapters/curve/CurveV1_DepositZap.sol/index.ts +0 -4
  301. package/src/types/contracts/adapters/curve/CurveV1_stETH.sol/CurveV1AdapterStETH.ts +0 -1679
  302. package/src/types/contracts/adapters/curve/CurveV1_stETH.sol/index.ts +0 -4
  303. package/src/types/contracts/adapters/curve/CurveV1_stETHGateway.sol/CurveV1StETHPoolGateway.ts +0 -1232
  304. package/src/types/contracts/adapters/curve/CurveV1_stETHGateway.sol/index.ts +0 -4
  305. package/src/types/contracts/adapters/curve/index.ts +0 -17
  306. package/src/types/contracts/adapters/index.ts +0 -15
  307. package/src/types/contracts/adapters/lido/LidoV1.sol/LidoV1Adapter.ts +0 -689
  308. package/src/types/contracts/adapters/lido/LidoV1.sol/index.ts +0 -4
  309. package/src/types/contracts/adapters/lido/LidoV1_WETHGateway.sol/LidoV1Gateway.ts +0 -400
  310. package/src/types/contracts/adapters/lido/LidoV1_WETHGateway.sol/index.ts +0 -4
  311. package/src/types/contracts/adapters/lido/index.ts +0 -7
  312. package/src/types/contracts/adapters/uniswap/UniswapV2.sol/UniswapV2Adapter.ts +0 -1575
  313. package/src/types/contracts/adapters/uniswap/UniswapV2.sol/index.ts +0 -4
  314. package/src/types/contracts/adapters/uniswap/UniswapV3.sol/UniswapV3Adapter.ts +0 -532
  315. package/src/types/contracts/adapters/uniswap/UniswapV3.sol/index.ts +0 -4
  316. package/src/types/contracts/adapters/uniswap/index.ts +0 -7
  317. package/src/types/contracts/adapters/yearn/YearnV2.sol/YearnV2Adapter.ts +0 -744
  318. package/src/types/contracts/adapters/yearn/YearnV2.sol/index.ts +0 -4
  319. package/src/types/contracts/adapters/yearn/index.ts +0 -5
  320. package/src/types/contracts/core/ACL.ts +0 -564
  321. package/src/types/contracts/core/ACLTrait.ts +0 -170
  322. package/src/types/contracts/core/AccountFactory.ts +0 -680
  323. package/src/types/contracts/core/AddressProvider.ts +0 -706
  324. package/src/types/contracts/core/ContractsRegister.ts +0 -456
  325. package/src/types/contracts/core/DataCompressor.ts +0 -625
  326. package/src/types/contracts/core/WETHGateway.ts +0 -263
  327. package/src/types/contracts/core/index.ts +0 -10
  328. package/src/types/contracts/credit/CreditAccount.ts +0 -406
  329. package/src/types/contracts/credit/CreditConfigurator.ts +0 -1297
  330. package/src/types/contracts/credit/CreditFacade.ts +0 -1654
  331. package/src/types/contracts/credit/CreditManager.ts +0 -1834
  332. package/src/types/contracts/credit/index.ts +0 -7
  333. package/src/types/contracts/factories/CreditManagerFactory.ts +0 -539
  334. package/src/types/contracts/factories/GenesisFactory.ts +0 -274
  335. package/src/types/contracts/factories/PoolFactory.ts +0 -350
  336. package/src/types/contracts/factories/index.ts +0 -6
  337. package/src/types/contracts/index.ts +0 -29
  338. package/src/types/contracts/integrations/convex/IBaseRewardPool.ts +0 -856
  339. package/src/types/contracts/integrations/convex/IBooster.ts +0 -407
  340. package/src/types/contracts/integrations/convex/IClaimZap.ts +0 -183
  341. package/src/types/contracts/integrations/convex/IConvexToken.ts +0 -407
  342. package/src/types/contracts/integrations/convex/IRewards.sol/IBasicRewards.ts +0 -225
  343. package/src/types/contracts/integrations/convex/IRewards.sol/IRewards.ts +0 -395
  344. package/src/types/contracts/integrations/convex/IRewards.sol/index.ts +0 -5
  345. package/src/types/contracts/integrations/convex/Interfaces.sol/ICrvDeposit.ts +0 -128
  346. package/src/types/contracts/integrations/convex/Interfaces.sol/ICurveGauge.ts +0 -242
  347. package/src/types/contracts/integrations/convex/Interfaces.sol/ICurveVoteEscrow.ts +0 -227
  348. package/src/types/contracts/integrations/convex/Interfaces.sol/IDeposit.ts +0 -371
  349. package/src/types/contracts/integrations/convex/Interfaces.sol/IFeeDistro.ts +0 -104
  350. package/src/types/contracts/integrations/convex/Interfaces.sol/IMinter.ts +0 -95
  351. package/src/types/contracts/integrations/convex/Interfaces.sol/IPools.ts +0 -290
  352. package/src/types/contracts/integrations/convex/Interfaces.sol/IRegistry.ts +0 -189
  353. package/src/types/contracts/integrations/convex/Interfaces.sol/IRewardFactory.ts +0 -310
  354. package/src/types/contracts/integrations/convex/Interfaces.sol/IRewards.ts +0 -395
  355. package/src/types/contracts/integrations/convex/Interfaces.sol/IStaker.ts +0 -652
  356. package/src/types/contracts/integrations/convex/Interfaces.sol/IStash.ts +0 -209
  357. package/src/types/contracts/integrations/convex/Interfaces.sol/IStashFactory.ts +0 -120
  358. package/src/types/contracts/integrations/convex/Interfaces.sol/ITokenFactory.ts +0 -104
  359. package/src/types/contracts/integrations/convex/Interfaces.sol/ITokenMinter.ts +0 -143
  360. package/src/types/contracts/integrations/convex/Interfaces.sol/IVestedEscrow.ts +0 -107
  361. package/src/types/contracts/integrations/convex/Interfaces.sol/IVoting.ts +0 -220
  362. package/src/types/contracts/integrations/convex/Interfaces.sol/IWalletChecker.ts +0 -84
  363. package/src/types/contracts/integrations/convex/Interfaces.sol/index.ts +0 -21
  364. package/src/types/contracts/integrations/convex/index.ts +0 -11
  365. package/src/types/contracts/integrations/curve/ICRVToken.ts +0 -422
  366. package/src/types/contracts/integrations/curve/ICurvePool.ts +0 -894
  367. package/src/types/contracts/integrations/curve/ICurvePoolStETH.ts +0 -772
  368. package/src/types/contracts/integrations/curve/ICurvePool_2.sol/ICurvePool2Assets.ts +0 -1179
  369. package/src/types/contracts/integrations/curve/ICurvePool_2.sol/index.ts +0 -4
  370. package/src/types/contracts/integrations/curve/ICurvePool_3.sol/ICurvePool3Assets.ts +0 -1185
  371. package/src/types/contracts/integrations/curve/ICurvePool_3.sol/index.ts +0 -4
  372. package/src/types/contracts/integrations/curve/ICurvePool_4.sol/ICurvePool4Assets.ts +0 -1194
  373. package/src/types/contracts/integrations/curve/ICurvePool_4.sol/index.ts +0 -4
  374. package/src/types/contracts/integrations/curve/ICurveRegistry.ts +0 -148
  375. package/src/types/contracts/integrations/curve/index.ts +0 -13
  376. package/src/types/contracts/integrations/index.ts +0 -13
  377. package/src/types/contracts/integrations/lido/ILidoOracle.ts +0 -115
  378. package/src/types/contracts/integrations/lido/IstETH.sol/IstETH.ts +0 -534
  379. package/src/types/contracts/integrations/lido/IstETH.sol/IstETHGetters.ts +0 -507
  380. package/src/types/contracts/integrations/lido/IstETH.sol/index.ts +0 -5
  381. package/src/types/contracts/integrations/lido/index.ts +0 -6
  382. package/src/types/contracts/integrations/uniswap/IQuoter.ts +0 -263
  383. package/src/types/contracts/integrations/uniswap/IUniswapV2Router01.ts +0 -1128
  384. package/src/types/contracts/integrations/uniswap/IUniswapV2Router02.ts +0 -1446
  385. package/src/types/contracts/integrations/uniswap/IUniswapV3.sol/ISwapRouter.ts +0 -318
  386. package/src/types/contracts/integrations/uniswap/IUniswapV3.sol/index.ts +0 -4
  387. package/src/types/contracts/integrations/uniswap/IUniswapV3SwapCallback.ts +0 -117
  388. package/src/types/contracts/integrations/uniswap/index.ts +0 -9
  389. package/src/types/contracts/integrations/yearn/IYVault.ts +0 -640
  390. package/src/types/contracts/integrations/yearn/index.ts +0 -4
  391. package/src/types/contracts/interfaces/IACL.sol/IACL.ts +0 -261
  392. package/src/types/contracts/interfaces/IACL.sol/IACLEvents.ts +0 -135
  393. package/src/types/contracts/interfaces/IACL.sol/index.ts +0 -5
  394. package/src/types/contracts/interfaces/IAccountFactory.sol/IAccountFactory.ts +0 -396
  395. package/src/types/contracts/interfaces/IAccountFactory.sol/IAccountFactoryEvents.ts +0 -158
  396. package/src/types/contracts/interfaces/IAccountFactory.sol/IAccountFactoryGetters.ts +0 -198
  397. package/src/types/contracts/interfaces/IAccountFactory.sol/index.ts +0 -6
  398. package/src/types/contracts/interfaces/IAddressProvider.sol/IAddressProvider.ts +0 -290
  399. package/src/types/contracts/interfaces/IAddressProvider.sol/IAddressProviderEvents.ts +0 -79
  400. package/src/types/contracts/interfaces/IAddressProvider.sol/index.ts +0 -5
  401. package/src/types/contracts/interfaces/IContractsRegister.sol/IContractsRegister.ts +0 -305
  402. package/src/types/contracts/interfaces/IContractsRegister.sol/IContractsRegisterEvents.ts +0 -89
  403. package/src/types/contracts/interfaces/IContractsRegister.sol/index.ts +0 -5
  404. package/src/types/contracts/interfaces/ICreditAccount.sol/ICrediAccountExceptions.ts +0 -55
  405. package/src/types/contracts/interfaces/ICreditAccount.sol/ICreditAccount.ts +0 -406
  406. package/src/types/contracts/interfaces/ICreditAccount.sol/index.ts +0 -5
  407. package/src/types/contracts/interfaces/ICreditConfigurator.sol/ICreditConfigurator.ts +0 -666
  408. package/src/types/contracts/interfaces/ICreditConfigurator.sol/ICreditConfiguratorEvents.ts +0 -384
  409. package/src/types/contracts/interfaces/ICreditConfigurator.sol/ICreditConfiguratorExceptions.ts +0 -56
  410. package/src/types/contracts/interfaces/ICreditConfigurator.sol/index.ts +0 -6
  411. package/src/types/contracts/interfaces/ICreditFacade.sol/ICreditFacade.ts +0 -1236
  412. package/src/types/contracts/interfaces/ICreditFacade.sol/ICreditFacadeEvents.ts +0 -358
  413. package/src/types/contracts/interfaces/ICreditFacade.sol/ICreditFacadeExceptions.ts +0 -55
  414. package/src/types/contracts/interfaces/ICreditFacade.sol/ICreditFacadeExtended.ts +0 -143
  415. package/src/types/contracts/interfaces/ICreditFacade.sol/index.ts +0 -7
  416. package/src/types/contracts/interfaces/ICreditManagerV2.sol/ICreditManagerV2.ts +0 -1534
  417. package/src/types/contracts/interfaces/ICreditManagerV2.sol/ICreditManagerV2Events.ts +0 -98
  418. package/src/types/contracts/interfaces/ICreditManagerV2.sol/ICreditManagerV2Exceptions.ts +0 -55
  419. package/src/types/contracts/interfaces/ICreditManagerV2.sol/index.ts +0 -6
  420. package/src/types/contracts/interfaces/IDataCompressor.sol/IDataCompressor.ts +0 -516
  421. package/src/types/contracts/interfaces/IDataCompressor.sol/IDataCompressorExceptions.ts +0 -55
  422. package/src/types/contracts/interfaces/IDataCompressor.sol/index.ts +0 -5
  423. package/src/types/contracts/interfaces/IDegenNFT.sol/IDegenNFT.ts +0 -209
  424. package/src/types/contracts/interfaces/IDegenNFT.sol/IDegenNFTExceptions.ts +0 -55
  425. package/src/types/contracts/interfaces/IDegenNFT.sol/index.ts +0 -5
  426. package/src/types/contracts/interfaces/IGearToken.ts +0 -560
  427. package/src/types/contracts/interfaces/IInterestRateModel.ts +0 -123
  428. package/src/types/contracts/interfaces/ILPPriceFeed.sol/ILPPriceFeed.ts +0 -379
  429. package/src/types/contracts/interfaces/ILPPriceFeed.sol/ILPPriceFeedEvents.ts +0 -80
  430. package/src/types/contracts/interfaces/ILPPriceFeed.sol/ILPPriceFeedExceptions.ts +0 -55
  431. package/src/types/contracts/interfaces/ILPPriceFeed.sol/index.ts +0 -6
  432. package/src/types/contracts/interfaces/IMerkleDistributor.ts +0 -200
  433. package/src/types/contracts/interfaces/IPhantomERC20.ts +0 -381
  434. package/src/types/contracts/interfaces/IPoolService.sol/IPoolService.ts +0 -901
  435. package/src/types/contracts/interfaces/IPoolService.sol/IPoolServiceEvents.ts +0 -277
  436. package/src/types/contracts/interfaces/IPoolService.sol/index.ts +0 -5
  437. package/src/types/contracts/interfaces/IPriceFeedAddress.ts +0 -177
  438. package/src/types/contracts/interfaces/IPriceFeedType.ts +0 -108
  439. package/src/types/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2.ts +0 -387
  440. package/src/types/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2Events.ts +0 -79
  441. package/src/types/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2Exceptions.ts +0 -55
  442. package/src/types/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2Ext.ts +0 -429
  443. package/src/types/contracts/interfaces/IPriceOracle.sol/index.ts +0 -7
  444. package/src/types/contracts/interfaces/IVersion.ts +0 -81
  445. package/src/types/contracts/interfaces/IWETHGateway.ts +0 -201
  446. package/src/types/contracts/interfaces/V1/ICreditFilter.ts +0 -1288
  447. package/src/types/contracts/interfaces/V1/ICreditManager.ts +0 -1194
  448. package/src/types/contracts/interfaces/V1/IPriceOracle.sol/IPriceOracleV2.ts +0 -220
  449. package/src/types/contracts/interfaces/V1/IPriceOracle.sol/index.ts +0 -4
  450. package/src/types/contracts/interfaces/V1/index.ts +0 -7
  451. package/src/types/contracts/interfaces/adapters/IAdapter.sol/IAdapter.ts +0 -174
  452. package/src/types/contracts/interfaces/adapters/IAdapter.sol/IAdapterExceptions.ts +0 -55
  453. package/src/types/contracts/interfaces/adapters/IAdapter.sol/index.ts +0 -5
  454. package/src/types/contracts/interfaces/adapters/IUniversalAdapter.sol/IUniversalAdapter.ts +0 -258
  455. package/src/types/contracts/interfaces/adapters/IUniversalAdapter.sol/IUniversalAdapterExceptions.ts +0 -55
  456. package/src/types/contracts/interfaces/adapters/IUniversalAdapter.sol/index.ts +0 -5
  457. package/src/types/contracts/interfaces/adapters/convex/IConvexV1BaseRewardPoolAdapter.sol/IConvexV1BaseRewardPoolAdapter.ts +0 -1088
  458. package/src/types/contracts/interfaces/adapters/convex/IConvexV1BaseRewardPoolAdapter.sol/IConvexV1BaseRewardPoolAdapterErrors.ts +0 -56
  459. package/src/types/contracts/interfaces/adapters/convex/IConvexV1BaseRewardPoolAdapter.sol/index.ts +0 -5
  460. package/src/types/contracts/interfaces/adapters/convex/IConvexV1BoosterAdapter.ts +0 -553
  461. package/src/types/contracts/interfaces/adapters/convex/index.ts +0 -6
  462. package/src/types/contracts/interfaces/adapters/curve/ICurveV1Adapter.sol/ICurveV1Adapter.ts +0 -1397
  463. package/src/types/contracts/interfaces/adapters/curve/ICurveV1Adapter.sol/ICurveV1AdapterExceptions.ts +0 -55
  464. package/src/types/contracts/interfaces/adapters/curve/ICurveV1Adapter.sol/index.ts +0 -5
  465. package/src/types/contracts/interfaces/adapters/curve/index.ts +0 -5
  466. package/src/types/contracts/interfaces/adapters/index.ts +0 -15
  467. package/src/types/contracts/interfaces/adapters/lido/ILidoV1Adapter.sol/ILidoV1Adapter.ts +0 -486
  468. package/src/types/contracts/interfaces/adapters/lido/ILidoV1Adapter.sol/ILidoV1AdapterEvents.ts +0 -69
  469. package/src/types/contracts/interfaces/adapters/lido/ILidoV1Adapter.sol/ILidoV1AdapterExceptions.ts +0 -55
  470. package/src/types/contracts/interfaces/adapters/lido/ILidoV1Adapter.sol/index.ts +0 -6
  471. package/src/types/contracts/interfaces/adapters/lido/index.ts +0 -5
  472. package/src/types/contracts/interfaces/adapters/uniswap/IUniswapV2Adapter.ts +0 -1595
  473. package/src/types/contracts/interfaces/adapters/uniswap/IUniswapV3Adapter.sol/IUniswapV3Adapter.ts +0 -532
  474. package/src/types/contracts/interfaces/adapters/uniswap/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions.ts +0 -55
  475. package/src/types/contracts/interfaces/adapters/uniswap/IUniswapV3Adapter.sol/index.ts +0 -5
  476. package/src/types/contracts/interfaces/adapters/uniswap/index.ts +0 -6
  477. package/src/types/contracts/interfaces/external/IWETH.ts +0 -159
  478. package/src/types/contracts/interfaces/external/index.ts +0 -4
  479. package/src/types/contracts/interfaces/index.ts +0 -43
  480. package/src/types/contracts/libraries/Errors.ts +0 -894
  481. package/src/types/contracts/libraries/index.ts +0 -4
  482. package/src/types/contracts/oracles/LPPriceFeed.ts +0 -451
  483. package/src/types/contracts/oracles/PriceFeedChecker.ts +0 -55
  484. package/src/types/contracts/oracles/PriceOracle.ts +0 -535
  485. package/src/types/contracts/oracles/ZeroPriceFeed.ts +0 -244
  486. package/src/types/contracts/oracles/curve/AbstractCurveLPPriceFeed.ts +0 -485
  487. package/src/types/contracts/oracles/curve/CurveLP2PriceFeed.ts +0 -519
  488. package/src/types/contracts/oracles/curve/CurveLP3PriceFeed.ts +0 -536
  489. package/src/types/contracts/oracles/curve/CurveLP4PriceFeed.ts +0 -553
  490. package/src/types/contracts/oracles/curve/index.ts +0 -7
  491. package/src/types/contracts/oracles/index.ts +0 -11
  492. package/src/types/contracts/oracles/yearn/YearnPriceFeed.ts +0 -499
  493. package/src/types/contracts/oracles/yearn/index.ts +0 -4
  494. package/src/types/contracts/pathfinder/ConvexPathFinder.ts +0 -211
  495. package/src/types/contracts/pathfinder/CurveLPPathFinder.ts +0 -335
  496. package/src/types/contracts/pathfinder/CurvePathFinder.ts +0 -514
  497. package/src/types/contracts/pathfinder/ISwapper.ts +0 -208
  498. package/src/types/contracts/pathfinder/NormalTokenPathFinder.ts +0 -526
  499. package/src/types/contracts/pathfinder/SwapPathFinder.ts +0 -424
  500. package/src/types/contracts/pathfinder/UniswapV2PathFinder.ts +0 -422
  501. package/src/types/contracts/pathfinder/UniswapV3PathFinder.ts +0 -559
  502. package/src/types/contracts/pathfinder/YearnPathFinder.ts +0 -200
  503. package/src/types/contracts/pathfinder/data/Balances.sol/BalanceOps.ts +0 -55
  504. package/src/types/contracts/pathfinder/data/Balances.sol/index.ts +0 -4
  505. package/src/types/contracts/pathfinder/data/index.ts +0 -5
  506. package/src/types/contracts/pathfinder/index.ts +0 -14
  507. package/src/types/contracts/pool/LinearInterestRateModel.ts +0 -276
  508. package/src/types/contracts/pool/PoolService.ts +0 -1314
  509. package/src/types/contracts/pool/index.ts +0 -5
  510. package/src/types/contracts/support/ContractUpgrader.ts +0 -284
  511. package/src/types/contracts/support/MerkleDistributor.ts +0 -200
  512. package/src/types/contracts/support/MultiCall.sol/Multicall2.ts +0 -451
  513. package/src/types/contracts/support/MultiCall.sol/index.ts +0 -4
  514. package/src/types/contracts/support/PauseMulticall.ts +0 -286
  515. package/src/types/contracts/support/index.ts +0 -8
  516. package/src/types/contracts/test/Playground.t.sol/PlaygroundTest.ts +0 -425
  517. package/src/types/contracts/test/Playground.t.sol/index.ts +0 -4
  518. package/src/types/contracts/test/adapters/AbstractAdapter.t.sol/AbstractAdapterTest.ts +0 -1196
  519. package/src/types/contracts/test/adapters/AbstractAdapter.t.sol/index.ts +0 -4
  520. package/src/types/contracts/test/adapters/AdapterTestHelper.ts +0 -814
  521. package/src/types/contracts/test/adapters/ConvexAdapterHelper.ts +0 -1351
  522. package/src/types/contracts/test/adapters/ConvexV1_BaseRewardPool.t.sol/ConvexV1AdapterBasePoolTest.ts +0 -1701
  523. package/src/types/contracts/test/adapters/ConvexV1_BaseRewardPool.t.sol/index.ts +0 -4
  524. package/src/types/contracts/test/adapters/ConvexV1_Booster.t.sol/ConvexV1AdapterBoosterTest.ts +0 -1583
  525. package/src/types/contracts/test/adapters/ConvexV1_Booster.t.sol/index.ts +0 -4
  526. package/src/types/contracts/test/adapters/ConvexV1_ClaimZap.t.sol/ConvexV1ClaimZapAdapterTest.ts +0 -1551
  527. package/src/types/contracts/test/adapters/ConvexV1_ClaimZap.t.sol/index.ts +0 -4
  528. package/src/types/contracts/test/adapters/CurveV1AdapterBaseMetapoolTest.t.sol/CurveV1AdapterBaseMetaPoolTest.ts +0 -1021
  529. package/src/types/contracts/test/adapters/CurveV1AdapterBaseMetapoolTest.t.sol/index.ts +0 -4
  530. package/src/types/contracts/test/adapters/CurveV1AdapterBaseTest.t.sol/CurveV1AdapterBaseTest.ts +0 -1325
  531. package/src/types/contracts/test/adapters/CurveV1AdapterBaseTest.t.sol/index.ts +0 -4
  532. package/src/types/contracts/test/adapters/CurveV1AdapterHelper.ts +0 -814
  533. package/src/types/contracts/test/adapters/CurveV1Adapter_2AssetsTest.t.sol/CurveV1Adapter2AssetsTest.ts +0 -1080
  534. package/src/types/contracts/test/adapters/CurveV1Adapter_2AssetsTest.t.sol/index.ts +0 -4
  535. package/src/types/contracts/test/adapters/CurveV1Adapter_3AssetsTest.t.sol/CurveV1Adapter3AssetsTest.ts +0 -1080
  536. package/src/types/contracts/test/adapters/CurveV1Adapter_3AssetsTest.t.sol/index.ts +0 -4
  537. package/src/types/contracts/test/adapters/CurveV1Adapter_4AssetsTest.t.sol/CurveV1Adapter4AssetsTest.ts +0 -1110
  538. package/src/types/contracts/test/adapters/CurveV1Adapter_4AssetsTest.t.sol/index.ts +0 -4
  539. package/src/types/contracts/test/adapters/CurveV1StETHTest.t.sol/CurveV1StEthAdapterTest.ts +0 -1100
  540. package/src/types/contracts/test/adapters/CurveV1StETHTest.t.sol/index.ts +0 -4
  541. package/src/types/contracts/test/adapters/LidoV1Adapter.t.sol/LidoV1AdapterTest.ts +0 -1146
  542. package/src/types/contracts/test/adapters/LidoV1Adapter.t.sol/index.ts +0 -4
  543. package/src/types/contracts/test/adapters/UniswapV2Adapter.t.sol/UniswapV2AdapterTest.ts +0 -1210
  544. package/src/types/contracts/test/adapters/UniswapV2Adapter.t.sol/index.ts +0 -4
  545. package/src/types/contracts/test/adapters/UniswapV3Adapter.t.sol/UniswapV3AdapterTest.ts +0 -1124
  546. package/src/types/contracts/test/adapters/UniswapV3Adapter.t.sol/index.ts +0 -4
  547. package/src/types/contracts/test/adapters/YearnV2Adapter.t.sol/YearnV2AdapterTest.ts +0 -1408
  548. package/src/types/contracts/test/adapters/YearnV2Adapter.t.sol/index.ts +0 -4
  549. package/src/types/contracts/test/adapters/index.ts +0 -34
  550. package/src/types/contracts/test/core/ACL.t.sol/ACLTest.ts +0 -659
  551. package/src/types/contracts/test/core/ACL.t.sol/index.ts +0 -4
  552. package/src/types/contracts/test/core/AddressProvider.t.sol/AddressProviderTest.ts +0 -783
  553. package/src/types/contracts/test/core/AddressProvider.t.sol/index.ts +0 -4
  554. package/src/types/contracts/test/core/index.ts +0 -7
  555. package/src/types/contracts/test/credit/CreditConfigurator.t.sol/CreditConfiguratorTest.ts +0 -1958
  556. package/src/types/contracts/test/credit/CreditConfigurator.t.sol/index.ts +0 -4
  557. package/src/types/contracts/test/credit/CreditFacade.t.sol/CreditFacadeTest.ts +0 -2860
  558. package/src/types/contracts/test/credit/CreditFacade.t.sol/index.ts +0 -4
  559. package/src/types/contracts/test/credit/CreditManager.t.sol/CreditManagerTest.ts +0 -2480
  560. package/src/types/contracts/test/credit/CreditManager.t.sol/index.ts +0 -4
  561. package/src/types/contracts/test/credit/index.ts +0 -9
  562. package/src/types/contracts/test/index.ts +0 -31
  563. package/src/types/contracts/test/lib/cheatCodes.sol/CheatCodes.ts +0 -926
  564. package/src/types/contracts/test/lib/cheatCodes.sol/index.ts +0 -4
  565. package/src/types/contracts/test/lib/constants.sol/Roles.ts +0 -375
  566. package/src/types/contracts/test/lib/constants.sol/index.ts +0 -4
  567. package/src/types/contracts/test/lib/index.ts +0 -9
  568. package/src/types/contracts/test/lib/test.sol/DSTest.ts +0 -375
  569. package/src/types/contracts/test/lib/test.sol/index.ts +0 -4
  570. package/src/types/contracts/test/mainnet/MainnetTokens.sol/MainnetTokensTestSuite.ts +0 -346
  571. package/src/types/contracts/test/mainnet/MainnetTokens.sol/index.ts +0 -4
  572. package/src/types/contracts/test/mainnet/TotalValueCalculator.ts +0 -104
  573. package/src/types/contracts/test/mainnet/index.ts +0 -6
  574. package/src/types/contracts/test/mocks/adapters/AdapterMock.ts +0 -458
  575. package/src/types/contracts/test/mocks/adapters/TargetContractMock.ts +0 -81
  576. package/src/types/contracts/test/mocks/adapters/index.ts +0 -5
  577. package/src/types/contracts/test/mocks/core/ACLTraitTest.ts +0 -238
  578. package/src/types/contracts/test/mocks/core/AddressProviderACLMock.ts +0 -186
  579. package/src/types/contracts/test/mocks/core/index.ts +0 -5
  580. package/src/types/contracts/test/mocks/credit/CreditManagerInternal.ts +0 -2197
  581. package/src/types/contracts/test/mocks/credit/index.ts +0 -4
  582. package/src/types/contracts/test/mocks/dao/TreasuryMock.ts +0 -69
  583. package/src/types/contracts/test/mocks/dao/index.ts +0 -4
  584. package/src/types/contracts/test/mocks/index.ts +0 -21
  585. package/src/types/contracts/test/mocks/integrations/ConvexBaseRewardPoolMock.sol/BaseRewardPoolMock.ts +0 -1069
  586. package/src/types/contracts/test/mocks/integrations/ConvexBaseRewardPoolMock.sol/IBaseRewardPoolMockEvents.ts +0 -140
  587. package/src/types/contracts/test/mocks/integrations/ConvexBaseRewardPoolMock.sol/index.ts +0 -5
  588. package/src/types/contracts/test/mocks/integrations/ConvexBoosterMock.sol/BoosterMock.ts +0 -1002
  589. package/src/types/contracts/test/mocks/integrations/ConvexBoosterMock.sol/IBoosterMockEvents.ts +0 -122
  590. package/src/types/contracts/test/mocks/integrations/ConvexBoosterMock.sol/index.ts +0 -5
  591. package/src/types/contracts/test/mocks/integrations/ConvexClaimZapMock.sol/ClaimZapMock.ts +0 -209
  592. package/src/types/contracts/test/mocks/integrations/ConvexClaimZapMock.sol/IBasicRewards.ts +0 -225
  593. package/src/types/contracts/test/mocks/integrations/ConvexClaimZapMock.sol/index.ts +0 -5
  594. package/src/types/contracts/test/mocks/integrations/ConvexExtraRewardPoolMock.sol/ExtraRewardPoolMock.ts +0 -731
  595. package/src/types/contracts/test/mocks/integrations/ConvexExtraRewardPoolMock.sol/IExtraRewardPoolMockEvents.ts +0 -141
  596. package/src/types/contracts/test/mocks/integrations/ConvexExtraRewardPoolMock.sol/VirtualBalanceWrapper.ts +0 -203
  597. package/src/types/contracts/test/mocks/integrations/ConvexExtraRewardPoolMock.sol/index.ts +0 -6
  598. package/src/types/contracts/test/mocks/integrations/ConvexTokenRewardContractMock.sol/TokenRewardContractMock.ts +0 -425
  599. package/src/types/contracts/test/mocks/integrations/ConvexTokenRewardContractMock.sol/index.ts +0 -4
  600. package/src/types/contracts/test/mocks/integrations/CurveV1MetapoolMock.ts +0 -1101
  601. package/src/types/contracts/test/mocks/integrations/CurveV1Mock.ts +0 -1124
  602. package/src/types/contracts/test/mocks/integrations/CurveV1Mock_2Assets.ts +0 -1409
  603. package/src/types/contracts/test/mocks/integrations/CurveV1Mock_3Assets.ts +0 -1415
  604. package/src/types/contracts/test/mocks/integrations/CurveV1Mock_4Assets.ts +0 -1424
  605. package/src/types/contracts/test/mocks/integrations/CurveV1StETHMock.ts +0 -880
  606. package/src/types/contracts/test/mocks/integrations/LidoMock.sol/ILidoMockEvents.ts +0 -82
  607. package/src/types/contracts/test/mocks/integrations/LidoMock.sol/LidoMock.ts +0 -747
  608. package/src/types/contracts/test/mocks/integrations/LidoMock.sol/index.ts +0 -5
  609. package/src/types/contracts/test/mocks/integrations/UniswapV2Mock.ts +0 -1553
  610. package/src/types/contracts/test/mocks/integrations/UniswapV3Mock.ts +0 -953
  611. package/src/types/contracts/test/mocks/integrations/YearnV2Mock.ts +0 -898
  612. package/src/types/contracts/test/mocks/integrations/index.ts +0 -24
  613. package/src/types/contracts/test/mocks/libraries/PercentageMathTest.ts +0 -143
  614. package/src/types/contracts/test/mocks/libraries/WadRayMathTest.ts +0 -315
  615. package/src/types/contracts/test/mocks/libraries/index.ts +0 -5
  616. package/src/types/contracts/test/mocks/oracles/LPPriceFeedMock.ts +0 -486
  617. package/src/types/contracts/test/mocks/oracles/PriceFeedMock.ts +0 -368
  618. package/src/types/contracts/test/mocks/oracles/index.ts +0 -5
  619. package/src/types/contracts/test/mocks/pool/CreditManagerMockForPoolTest.ts +0 -285
  620. package/src/types/contracts/test/mocks/pool/PoolServiceMock.ts +0 -1401
  621. package/src/types/contracts/test/mocks/pool/TestPoolService.ts +0 -1439
  622. package/src/types/contracts/test/mocks/pool/index.ts +0 -6
  623. package/src/types/contracts/test/mocks/token/CERC20Mock.ts +0 -635
  624. package/src/types/contracts/test/mocks/token/ERC20ApproveRestricted.sol/ERC20ApproveRestrictedFalse.ts +0 -544
  625. package/src/types/contracts/test/mocks/token/ERC20ApproveRestricted.sol/ERC20ApproveRestrictedRevert.ts +0 -544
  626. package/src/types/contracts/test/mocks/token/ERC20ApproveRestricted.sol/index.ts +0 -5
  627. package/src/types/contracts/test/mocks/token/ERC20Blocking.sol/ERC20BlockingMock.ts +0 -620
  628. package/src/types/contracts/test/mocks/token/ERC20Blocking.sol/index.ts +0 -4
  629. package/src/types/contracts/test/mocks/token/ERC20Fee.sol/TokenFeeMock.ts +0 -595
  630. package/src/types/contracts/test/mocks/token/ERC20Fee.sol/index.ts +0 -4
  631. package/src/types/contracts/test/mocks/token/ERC20Mock.ts +0 -695
  632. package/src/types/contracts/test/mocks/token/ERC20NonCompliant.sol/NonCompliantERC20.ts +0 -105
  633. package/src/types/contracts/test/mocks/token/ERC20NonCompliant.sol/index.ts +0 -4
  634. package/src/types/contracts/test/mocks/token/ERC721ReceiverMock.sol/ERC721ReceiverMock.ts +0 -118
  635. package/src/types/contracts/test/mocks/token/ERC721ReceiverMock.sol/IERC721Receiver.ts +0 -120
  636. package/src/types/contracts/test/mocks/token/ERC721ReceiverMock.sol/index.ts +0 -5
  637. package/src/types/contracts/test/mocks/token/StETHMock.ts +0 -618
  638. package/src/types/contracts/test/mocks/token/WETHMock.ts +0 -488
  639. package/src/types/contracts/test/mocks/token/index.ts +0 -17
  640. package/src/types/contracts/test/oracles/CurveLPPriceFeed.t.sol/CurveLPPriceFeedTest.ts +0 -749
  641. package/src/types/contracts/test/oracles/CurveLPPriceFeed.t.sol/index.ts +0 -4
  642. package/src/types/contracts/test/oracles/LPPriceFeed.t.sol/LPPriceFeedTest.ts +0 -617
  643. package/src/types/contracts/test/oracles/LPPriceFeed.t.sol/index.ts +0 -4
  644. package/src/types/contracts/test/oracles/PriceOracle.t.sol/PriceOracleTest.ts +0 -758
  645. package/src/types/contracts/test/oracles/PriceOracle.t.sol/index.ts +0 -4
  646. package/src/types/contracts/test/oracles/YearnPriceFeed.t.sol/YearnFeedTest.ts +0 -595
  647. package/src/types/contracts/test/oracles/YearnPriceFeed.t.sol/index.ts +0 -4
  648. package/src/types/contracts/test/oracles/ZeroPriceFeed.t.sol/ZeroFeedTest.ts +0 -503
  649. package/src/types/contracts/test/oracles/ZeroPriceFeed.t.sol/index.ts +0 -4
  650. package/src/types/contracts/test/oracles/index.ts +0 -13
  651. package/src/types/contracts/test/pathfinder/CurveLPPathFinder.t.sol/CurveLPPathFinderTest.ts +0 -897
  652. package/src/types/contracts/test/pathfinder/CurveLPPathFinder.t.sol/index.ts +0 -4
  653. package/src/types/contracts/test/pathfinder/CurvePathFinder.t.sol/CurvePathFinderTest.ts +0 -1058
  654. package/src/types/contracts/test/pathfinder/CurvePathFinder.t.sol/index.ts +0 -4
  655. package/src/types/contracts/test/pathfinder/NormalTokenPathFinder.t.sol/NormalTokenPathFinderTest.ts +0 -1243
  656. package/src/types/contracts/test/pathfinder/NormalTokenPathFinder.t.sol/index.ts +0 -4
  657. package/src/types/contracts/test/pathfinder/PathFinderTestHelper.ts +0 -815
  658. package/src/types/contracts/test/pathfinder/SwapPathFinder.t.sol/SwapPathFinderTest.ts +0 -1328
  659. package/src/types/contracts/test/pathfinder/SwapPathFinder.t.sol/index.ts +0 -4
  660. package/src/types/contracts/test/pathfinder/UniswapV2PathFinder.t.sol/UniswapV2PathFinderTest.ts +0 -1108
  661. package/src/types/contracts/test/pathfinder/UniswapV2PathFinder.t.sol/index.ts +0 -4
  662. package/src/types/contracts/test/pathfinder/UniswapV3PathFinder.t.sol/UniswapV3PathFinderTest.ts +0 -1142
  663. package/src/types/contracts/test/pathfinder/UniswapV3PathFinder.t.sol/index.ts +0 -4
  664. package/src/types/contracts/test/pathfinder/YearnPathFinder.t.sol/YearnPathFinderTest.ts +0 -927
  665. package/src/types/contracts/test/pathfinder/YearnPathFinder.t.sol/index.ts +0 -4
  666. package/src/types/contracts/test/pathfinder/index.ts +0 -18
  667. package/src/types/contracts/test/pool/PoolService.t.sol/PoolServiceTest.ts +0 -1671
  668. package/src/types/contracts/test/pool/PoolService.t.sol/index.ts +0 -4
  669. package/src/types/contracts/test/pool/index.ts +0 -5
  670. package/src/types/contracts/test/sigp/AttackingContractNonPayable.sol/AttackContractNonPayable.ts +0 -81
  671. package/src/types/contracts/test/sigp/AttackingContractNonPayable.sol/index.ts +0 -4
  672. package/src/types/contracts/test/sigp/DummyMulticallTarget.ts +0 -175
  673. package/src/types/contracts/test/sigp/FlashLoanAttacker2.ts +0 -240
  674. package/src/types/contracts/test/sigp/Interfaces.sol/ICrvDeposit.ts +0 -128
  675. package/src/types/contracts/test/sigp/Interfaces.sol/ICurveGauge.ts +0 -242
  676. package/src/types/contracts/test/sigp/Interfaces.sol/ICurveVoteEscrow.ts +0 -227
  677. package/src/types/contracts/test/sigp/Interfaces.sol/IDeposit.ts +0 -371
  678. package/src/types/contracts/test/sigp/Interfaces.sol/IFeeDistro.ts +0 -104
  679. package/src/types/contracts/test/sigp/Interfaces.sol/IMinter.ts +0 -95
  680. package/src/types/contracts/test/sigp/Interfaces.sol/IPools.ts +0 -290
  681. package/src/types/contracts/test/sigp/Interfaces.sol/IRegistry.ts +0 -189
  682. package/src/types/contracts/test/sigp/Interfaces.sol/IRewardFactory.ts +0 -310
  683. package/src/types/contracts/test/sigp/Interfaces.sol/IRewards.ts +0 -395
  684. package/src/types/contracts/test/sigp/Interfaces.sol/IStaker.ts +0 -652
  685. package/src/types/contracts/test/sigp/Interfaces.sol/IStash.ts +0 -209
  686. package/src/types/contracts/test/sigp/Interfaces.sol/IStashFactory.ts +0 -120
  687. package/src/types/contracts/test/sigp/Interfaces.sol/ITokenFactory.ts +0 -104
  688. package/src/types/contracts/test/sigp/Interfaces.sol/ITokenMinter.ts +0 -143
  689. package/src/types/contracts/test/sigp/Interfaces.sol/IVestedEscrow.ts +0 -107
  690. package/src/types/contracts/test/sigp/Interfaces.sol/IVoting.ts +0 -220
  691. package/src/types/contracts/test/sigp/Interfaces.sol/IWalletChecker.ts +0 -84
  692. package/src/types/contracts/test/sigp/Interfaces.sol/index.ts +0 -21
  693. package/src/types/contracts/test/sigp/NewConvexBaseRewardPoolMock.sol/NewBaseRewardPoolMock.ts +0 -1069
  694. package/src/types/contracts/test/sigp/NewConvexBaseRewardPoolMock.sol/index.ts +0 -4
  695. package/src/types/contracts/test/sigp/NewConvexBoosterMock.sol/NewBoosterMock.ts +0 -1002
  696. package/src/types/contracts/test/sigp/NewConvexBoosterMock.sol/index.ts +0 -4
  697. package/src/types/contracts/test/sigp/NewCreditConfigurator.ts +0 -1262
  698. package/src/types/contracts/test/sigp/UniswapHelper.sol/UniswapV3AdapterTestHelper.ts +0 -326
  699. package/src/types/contracts/test/sigp/UniswapHelper.sol/index.ts +0 -4
  700. package/src/types/contracts/test/sigp/index.ts +0 -20
  701. package/src/types/contracts/test/sigp/interfaces/ILockedCvx.ts +0 -832
  702. package/src/types/contracts/test/sigp/interfaces/index.ts +0 -4
  703. package/src/types/contracts/test/sigp/stETHMock.sol/StETHMockERC20.ts +0 -725
  704. package/src/types/contracts/test/sigp/stETHMock.sol/index.ts +0 -4
  705. package/src/types/contracts/test/suites/BalanceHelper.ts +0 -375
  706. package/src/types/contracts/test/suites/BaseCreditTestSuite.ts +0 -649
  707. package/src/types/contracts/test/suites/CreditFacadeHelper.ts +0 -472
  708. package/src/types/contracts/test/suites/CreditFacadeTestSuite.ts +0 -821
  709. package/src/types/contracts/test/suites/CreditManagerTestSuite.ts +0 -748
  710. package/src/types/contracts/test/suites/PoolServiceTestSuite.ts +0 -209
  711. package/src/types/contracts/test/suites/TokensTestSuite.ts +0 -980
  712. package/src/types/contracts/test/suites/index.ts +0 -10
  713. package/src/types/contracts/test/support/PauseMulticall.t.sol/PauseMulticallTest.ts +0 -551
  714. package/src/types/contracts/test/support/PauseMulticall.t.sol/index.ts +0 -4
  715. package/src/types/contracts/test/support/index.ts +0 -5
  716. package/src/types/contracts/test/tokens/DegenNFT.t.sol/DegenNFTTest.ts +0 -970
  717. package/src/types/contracts/test/tokens/DegenNFT.t.sol/index.ts +0 -4
  718. package/src/types/contracts/test/tokens/index.ts +0 -5
  719. package/src/types/contracts/tokens/DegenNFT.ts +0 -967
  720. package/src/types/contracts/tokens/DieselToken.ts +0 -618
  721. package/src/types/contracts/tokens/GearToken.ts +0 -994
  722. package/src/types/contracts/tokens/PhantomERC20.ts +0 -379
  723. package/src/types/contracts/tokens/index.ts +0 -7
  724. package/src/types/factories/@chainlink/contracts/index.ts +0 -4
  725. package/src/types/factories/@chainlink/contracts/src/index.ts +0 -4
  726. package/src/types/factories/@chainlink/contracts/src/v0.8/index.ts +0 -4
  727. package/src/types/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface__factory.ts +0 -141
  728. package/src/types/factories/@chainlink/contracts/src/v0.8/interfaces/index.ts +0 -4
  729. package/src/types/factories/@chainlink/index.ts +0 -4
  730. package/src/types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +0 -78
  731. package/src/types/factories/@openzeppelin/contracts/access/index.ts +0 -4
  732. package/src/types/factories/@openzeppelin/contracts/index.ts +0 -7
  733. package/src/types/factories/@openzeppelin/contracts/security/Pausable__factory.ts +0 -65
  734. package/src/types/factories/@openzeppelin/contracts/security/index.ts +0 -4
  735. package/src/types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +0 -349
  736. package/src/types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +0 -206
  737. package/src/types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +0 -248
  738. package/src/types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +0 -4
  739. package/src/types/factories/@openzeppelin/contracts/token/ERC20/index.ts +0 -6
  740. package/src/types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +0 -409
  741. package/src/types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts +0 -60
  742. package/src/types/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.ts +0 -311
  743. package/src/types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +0 -356
  744. package/src/types/factories/@openzeppelin/contracts/token/ERC721/extensions/index.ts +0 -4
  745. package/src/types/factories/@openzeppelin/contracts/token/ERC721/index.ts +0 -7
  746. package/src/types/factories/@openzeppelin/contracts/token/index.ts +0 -5
  747. package/src/types/factories/@openzeppelin/contracts/utils/index.ts +0 -4
  748. package/src/types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts +0 -42
  749. package/src/types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts +0 -45
  750. package/src/types/factories/@openzeppelin/contracts/utils/introspection/index.ts +0 -5
  751. package/src/types/factories/@openzeppelin/index.ts +0 -4
  752. package/src/types/factories/contracts/adapters/AbstractAdapter__factory.ts +0 -107
  753. package/src/types/factories/contracts/adapters/UniversalAdapter__factory.ts +0 -230
  754. package/src/types/factories/contracts/adapters/convex/ConvexV1_BaseRewardPool.sol/ConvexV1BaseRewardPoolAdapter__factory.ts +0 -806
  755. package/src/types/factories/contracts/adapters/convex/ConvexV1_BaseRewardPool.sol/index.ts +0 -4
  756. package/src/types/factories/contracts/adapters/convex/ConvexV1_Booster.sol/ConvexV1BoosterAdapter__factory.ts +0 -533
  757. package/src/types/factories/contracts/adapters/convex/ConvexV1_Booster.sol/index.ts +0 -4
  758. package/src/types/factories/contracts/adapters/convex/ConvexV1_ClaimZap.sol/ConvexV1ClaimZapAdapter__factory.ts +0 -254
  759. package/src/types/factories/contracts/adapters/convex/ConvexV1_ClaimZap.sol/index.ts +0 -4
  760. package/src/types/factories/contracts/adapters/convex/ConvexV1_StakedPositionToken.sol/ConvexStakedPositionToken__factory.ts +0 -338
  761. package/src/types/factories/contracts/adapters/convex/ConvexV1_StakedPositionToken.sol/index.ts +0 -4
  762. package/src/types/factories/contracts/adapters/convex/index.ts +0 -7
  763. package/src/types/factories/contracts/adapters/curve/CurveV1_2.sol/CurveV1Adapter2Assets__factory.ts +0 -1137
  764. package/src/types/factories/contracts/adapters/curve/CurveV1_2.sol/index.ts +0 -4
  765. package/src/types/factories/contracts/adapters/curve/CurveV1_3.sol/CurveV1Adapter3Assets__factory.ts +0 -1137
  766. package/src/types/factories/contracts/adapters/curve/CurveV1_3.sol/index.ts +0 -4
  767. package/src/types/factories/contracts/adapters/curve/CurveV1_4.sol/CurveV1Adapter4Assets__factory.ts +0 -1137
  768. package/src/types/factories/contracts/adapters/curve/CurveV1_4.sol/index.ts +0 -4
  769. package/src/types/factories/contracts/adapters/curve/CurveV1_Base.sol/CurveV1AdapterBase__factory.ts +0 -1003
  770. package/src/types/factories/contracts/adapters/curve/CurveV1_Base.sol/index.ts +0 -4
  771. package/src/types/factories/contracts/adapters/curve/CurveV1_DepositZap.sol/CurveV1AdapterDeposit__factory.ts +0 -998
  772. package/src/types/factories/contracts/adapters/curve/CurveV1_DepositZap.sol/index.ts +0 -4
  773. package/src/types/factories/contracts/adapters/curve/CurveV1_stETH.sol/CurveV1AdapterStETH__factory.ts +0 -1124
  774. package/src/types/factories/contracts/adapters/curve/CurveV1_stETH.sol/index.ts +0 -4
  775. package/src/types/factories/contracts/adapters/curve/CurveV1_stETHGateway.sol/CurveV1StETHPoolGateway__factory.ts +0 -855
  776. package/src/types/factories/contracts/adapters/curve/CurveV1_stETHGateway.sol/index.ts +0 -4
  777. package/src/types/factories/contracts/adapters/curve/index.ts +0 -10
  778. package/src/types/factories/contracts/adapters/index.ts +0 -10
  779. package/src/types/factories/contracts/adapters/lido/LidoV1.sol/LidoV1Adapter__factory.ts +0 -558
  780. package/src/types/factories/contracts/adapters/lido/LidoV1.sol/index.ts +0 -4
  781. package/src/types/factories/contracts/adapters/lido/LidoV1_WETHGateway.sol/LidoV1Gateway__factory.ts +0 -336
  782. package/src/types/factories/contracts/adapters/lido/LidoV1_WETHGateway.sol/index.ts +0 -4
  783. package/src/types/factories/contracts/adapters/lido/index.ts +0 -5
  784. package/src/types/factories/contracts/adapters/uniswap/UniswapV2.sol/UniswapV2Adapter__factory.ts +0 -1152
  785. package/src/types/factories/contracts/adapters/uniswap/UniswapV2.sol/index.ts +0 -4
  786. package/src/types/factories/contracts/adapters/uniswap/UniswapV3.sol/UniswapV3Adapter__factory.ts +0 -473
  787. package/src/types/factories/contracts/adapters/uniswap/UniswapV3.sol/index.ts +0 -4
  788. package/src/types/factories/contracts/adapters/uniswap/index.ts +0 -5
  789. package/src/types/factories/contracts/adapters/yearn/YearnV2.sol/YearnV2Adapter__factory.ts +0 -556
  790. package/src/types/factories/contracts/adapters/yearn/YearnV2.sol/index.ts +0 -4
  791. package/src/types/factories/contracts/adapters/yearn/index.ts +0 -4
  792. package/src/types/factories/contracts/core/ACLTrait__factory.ts +0 -107
  793. package/src/types/factories/contracts/core/ACL__factory.ts +0 -320
  794. package/src/types/factories/contracts/core/AccountFactory__factory.ts +0 -479
  795. package/src/types/factories/contracts/core/AddressProvider__factory.ts +0 -404
  796. package/src/types/factories/contracts/core/ContractsRegister__factory.ts +0 -357
  797. package/src/types/factories/contracts/core/DataCompressor__factory.ts +0 -910
  798. package/src/types/factories/contracts/core/WETHGateway__factory.ts +0 -191
  799. package/src/types/factories/contracts/core/index.ts +0 -10
  800. package/src/types/factories/contracts/credit/CreditAccount__factory.ts +0 -263
  801. package/src/types/factories/contracts/credit/CreditConfigurator__factory.ts +0 -931
  802. package/src/types/factories/contracts/credit/CreditFacade__factory.ts +0 -1254
  803. package/src/types/factories/contracts/credit/CreditManager__factory.ts +0 -1180
  804. package/src/types/factories/contracts/credit/index.ts +0 -7
  805. package/src/types/factories/contracts/factories/CreditManagerFactory__factory.ts +0 -392
  806. package/src/types/factories/contracts/factories/GenesisFactory__factory.ts +0 -202
  807. package/src/types/factories/contracts/factories/PoolFactory__factory.ts +0 -248
  808. package/src/types/factories/contracts/factories/index.ts +0 -6
  809. package/src/types/factories/contracts/index.ts +0 -16
  810. package/src/types/factories/contracts/integrations/convex/IBaseRewardPool__factory.ts +0 -541
  811. package/src/types/factories/contracts/integrations/convex/IBooster__factory.ts +0 -277
  812. package/src/types/factories/contracts/integrations/convex/IClaimZap__factory.ts +0 -105
  813. package/src/types/factories/contracts/integrations/convex/IConvexToken__factory.ts +0 -274
  814. package/src/types/factories/contracts/integrations/convex/IRewards.sol/IBasicRewards__factory.ts +0 -93
  815. package/src/types/factories/contracts/integrations/convex/IRewards.sol/IRewards__factory.ts +0 -190
  816. package/src/types/factories/contracts/integrations/convex/IRewards.sol/index.ts +0 -5
  817. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/ICrvDeposit__factory.ts +0 -57
  818. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/ICurveGauge__factory.ts +0 -123
  819. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/ICurveVoteEscrow__factory.ts +0 -90
  820. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IDeposit__factory.ts +0 -230
  821. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IFeeDistro__factory.ts +0 -46
  822. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IMinter__factory.ts +0 -39
  823. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IPools__factory.ts +0 -189
  824. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IRegistry__factory.ts +0 -114
  825. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IRewardFactory__factory.ts +0 -164
  826. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IRewards__factory.ts +0 -190
  827. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IStaker__factory.ts +0 -324
  828. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IStashFactory__factory.ts +0 -60
  829. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IStash__factory.ts +0 -95
  830. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/ITokenFactory__factory.ts +0 -45
  831. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/ITokenMinter__factory.ts +0 -62
  832. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IVestedEscrow__factory.ts +0 -50
  833. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IVoting__factory.ts +0 -131
  834. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/IWalletChecker__factory.ts +0 -45
  835. package/src/types/factories/contracts/integrations/convex/Interfaces.sol/index.ts +0 -21
  836. package/src/types/factories/contracts/integrations/convex/index.ts +0 -9
  837. package/src/types/factories/contracts/integrations/curve/ICRVToken__factory.ts +0 -270
  838. package/src/types/factories/contracts/integrations/curve/ICurvePoolStETH__factory.ts +0 -478
  839. package/src/types/factories/contracts/integrations/curve/ICurvePool_2.sol/ICurvePool2Assets__factory.ts +0 -717
  840. package/src/types/factories/contracts/integrations/curve/ICurvePool_2.sol/index.ts +0 -4
  841. package/src/types/factories/contracts/integrations/curve/ICurvePool_3.sol/ICurvePool3Assets__factory.ts +0 -717
  842. package/src/types/factories/contracts/integrations/curve/ICurvePool_3.sol/index.ts +0 -4
  843. package/src/types/factories/contracts/integrations/curve/ICurvePool_4.sol/ICurvePool4Assets__factory.ts +0 -717
  844. package/src/types/factories/contracts/integrations/curve/ICurvePool_4.sol/index.ts +0 -4
  845. package/src/types/factories/contracts/integrations/curve/ICurvePool__factory.ts +0 -571
  846. package/src/types/factories/contracts/integrations/curve/ICurveRegistry__factory.ts +0 -83
  847. package/src/types/factories/contracts/integrations/curve/index.ts +0 -10
  848. package/src/types/factories/contracts/integrations/index.ts +0 -8
  849. package/src/types/factories/contracts/integrations/lido/ILidoOracle__factory.ts +0 -49
  850. package/src/types/factories/contracts/integrations/lido/IstETH.sol/IstETHGetters__factory.ts +0 -344
  851. package/src/types/factories/contracts/integrations/lido/IstETH.sol/IstETH__factory.ts +0 -360
  852. package/src/types/factories/contracts/integrations/lido/IstETH.sol/index.ts +0 -5
  853. package/src/types/factories/contracts/integrations/lido/index.ts +0 -5
  854. package/src/types/factories/contracts/integrations/uniswap/IQuoter__factory.ts +0 -152
  855. package/src/types/factories/contracts/integrations/uniswap/IUniswapV2Router01__factory.ts +0 -775
  856. package/src/types/factories/contracts/integrations/uniswap/IUniswapV2Router02__factory.ts +0 -977
  857. package/src/types/factories/contracts/integrations/uniswap/IUniswapV3.sol/ISwapRouter__factory.ts +0 -240
  858. package/src/types/factories/contracts/integrations/uniswap/IUniswapV3.sol/index.ts +0 -4
  859. package/src/types/factories/contracts/integrations/uniswap/IUniswapV3SwapCallback__factory.ts +0 -53
  860. package/src/types/factories/contracts/integrations/uniswap/index.ts +0 -8
  861. package/src/types/factories/contracts/integrations/yearn/IYVault__factory.ts +0 -415
  862. package/src/types/factories/contracts/integrations/yearn/index.ts +0 -4
  863. package/src/types/factories/contracts/interfaces/IACL.sol/IACLEvents__factory.ts +0 -78
  864. package/src/types/factories/contracts/interfaces/IACL.sol/IACL__factory.ts +0 -145
  865. package/src/types/factories/contracts/interfaces/IACL.sol/index.ts +0 -5
  866. package/src/types/factories/contracts/interfaces/IAccountFactory.sol/IAccountFactoryEvents__factory.ts +0 -107
  867. package/src/types/factories/contracts/interfaces/IAccountFactory.sol/IAccountFactoryGetters__factory.ts +0 -120
  868. package/src/types/factories/contracts/interfaces/IAccountFactory.sol/IAccountFactory__factory.ts +0 -243
  869. package/src/types/factories/contracts/interfaces/IAccountFactory.sol/index.ts +0 -6
  870. package/src/types/factories/contracts/interfaces/IAddressProvider.sol/IAddressProviderEvents__factory.ts +0 -49
  871. package/src/types/factories/contracts/interfaces/IAddressProvider.sol/IAddressProvider__factory.ts +0 -175
  872. package/src/types/factories/contracts/interfaces/IAddressProvider.sol/index.ts +0 -5
  873. package/src/types/factories/contracts/interfaces/IContractsRegister.sol/IContractsRegisterEvents__factory.ts +0 -56
  874. package/src/types/factories/contracts/interfaces/IContractsRegister.sol/IContractsRegister__factory.ts +0 -193
  875. package/src/types/factories/contracts/interfaces/IContractsRegister.sol/index.ts +0 -5
  876. package/src/types/factories/contracts/interfaces/ICreditAccount.sol/ICrediAccountExceptions__factory.ts +0 -40
  877. package/src/types/factories/contracts/interfaces/ICreditAccount.sol/ICreditAccount__factory.ts +0 -227
  878. package/src/types/factories/contracts/interfaces/ICreditAccount.sol/index.ts +0 -5
  879. package/src/types/factories/contracts/interfaces/ICreditConfigurator.sol/ICreditConfiguratorEvents__factory.ts +0 -293
  880. package/src/types/factories/contracts/interfaces/ICreditConfigurator.sol/ICreditConfiguratorExceptions__factory.ts +0 -90
  881. package/src/types/factories/contracts/interfaces/ICreditConfigurator.sol/ICreditConfigurator__factory.ts +0 -495
  882. package/src/types/factories/contracts/interfaces/ICreditConfigurator.sol/index.ts +0 -6
  883. package/src/types/factories/contracts/interfaces/ICreditFacade.sol/ICreditFacadeEvents__factory.ts +0 -302
  884. package/src/types/factories/contracts/interfaces/ICreditFacade.sol/ICreditFacadeExceptions__factory.ts +0 -176
  885. package/src/types/factories/contracts/interfaces/ICreditFacade.sol/ICreditFacadeExtended__factory.ts +0 -61
  886. package/src/types/factories/contracts/interfaces/ICreditFacade.sol/ICreditFacade__factory.ts +0 -972
  887. package/src/types/factories/contracts/interfaces/ICreditFacade.sol/index.ts +0 -7
  888. package/src/types/factories/contracts/interfaces/ICreditManagerV2.sol/ICreditManagerV2Events__factory.ts +0 -62
  889. package/src/types/factories/contracts/interfaces/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.ts +0 -95
  890. package/src/types/factories/contracts/interfaces/ICreditManagerV2.sol/ICreditManagerV2__factory.ts +0 -928
  891. package/src/types/factories/contracts/interfaces/ICreditManagerV2.sol/index.ts +0 -6
  892. package/src/types/factories/contracts/interfaces/IDataCompressor.sol/IDataCompressorExceptions__factory.ts +0 -40
  893. package/src/types/factories/contracts/interfaces/IDataCompressor.sol/IDataCompressor__factory.ts +0 -790
  894. package/src/types/factories/contracts/interfaces/IDataCompressor.sol/index.ts +0 -5
  895. package/src/types/factories/contracts/interfaces/IDegenNFT.sol/IDegenNFTExceptions__factory.ts +0 -46
  896. package/src/types/factories/contracts/interfaces/IDegenNFT.sol/IDegenNFT__factory.ts +0 -134
  897. package/src/types/factories/contracts/interfaces/IDegenNFT.sol/index.ts +0 -5
  898. package/src/types/factories/contracts/interfaces/IGearToken__factory.ts +0 -346
  899. package/src/types/factories/contracts/interfaces/IInterestRateModel__factory.ts +0 -63
  900. package/src/types/factories/contracts/interfaces/ILPPriceFeed.sol/ILPPriceFeedEvents__factory.ts +0 -45
  901. package/src/types/factories/contracts/interfaces/ILPPriceFeed.sol/ILPPriceFeedExceptions__factory.ts +0 -40
  902. package/src/types/factories/contracts/interfaces/ILPPriceFeed.sol/ILPPriceFeed__factory.ts +0 -244
  903. package/src/types/factories/contracts/interfaces/ILPPriceFeed.sol/index.ts +0 -6
  904. package/src/types/factories/contracts/interfaces/IMerkleDistributor__factory.ts +0 -124
  905. package/src/types/factories/contracts/interfaces/IPhantomERC20__factory.ts +0 -261
  906. package/src/types/factories/contracts/interfaces/IPoolService.sol/IPoolServiceEvents__factory.ts +0 -222
  907. package/src/types/factories/contracts/interfaces/IPoolService.sol/IPoolService__factory.ts +0 -581
  908. package/src/types/factories/contracts/interfaces/IPoolService.sol/index.ts +0 -5
  909. package/src/types/factories/contracts/interfaces/IPriceFeedAddress__factory.ts +0 -104
  910. package/src/types/factories/contracts/interfaces/IPriceFeedType__factory.ts +0 -52
  911. package/src/types/factories/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2Events__factory.ts +0 -49
  912. package/src/types/factories/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2Exceptions__factory.ts +0 -45
  913. package/src/types/factories/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2Ext__factory.ts +0 -274
  914. package/src/types/factories/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2__factory.ts +0 -256
  915. package/src/types/factories/contracts/interfaces/IPriceOracle.sol/index.ts +0 -7
  916. package/src/types/factories/contracts/interfaces/IVersion__factory.ts +0 -39
  917. package/src/types/factories/contracts/interfaces/IWETHGateway__factory.ts +0 -90
  918. package/src/types/factories/contracts/interfaces/V1/ICreditFilter__factory.ts +0 -704
  919. package/src/types/factories/contracts/interfaces/V1/ICreditManager__factory.ts +0 -773
  920. package/src/types/factories/contracts/interfaces/V1/IPriceOracle.sol/IPriceOracleV2__factory.ts +0 -116
  921. package/src/types/factories/contracts/interfaces/V1/IPriceOracle.sol/index.ts +0 -4
  922. package/src/types/factories/contracts/interfaces/V1/index.ts +0 -6
  923. package/src/types/factories/contracts/interfaces/adapters/IAdapter.sol/IAdapterExceptions__factory.ts +0 -37
  924. package/src/types/factories/contracts/interfaces/adapters/IAdapter.sol/IAdapter__factory.ts +0 -102
  925. package/src/types/factories/contracts/interfaces/adapters/IAdapter.sol/index.ts +0 -5
  926. package/src/types/factories/contracts/interfaces/adapters/IUniversalAdapter.sol/IUniversalAdapterExceptions__factory.ts +0 -46
  927. package/src/types/factories/contracts/interfaces/adapters/IUniversalAdapter.sol/IUniversalAdapter__factory.ts +0 -173
  928. package/src/types/factories/contracts/interfaces/adapters/IUniversalAdapter.sol/index.ts +0 -5
  929. package/src/types/factories/contracts/interfaces/adapters/convex/IConvexV1BaseRewardPoolAdapter.sol/IConvexV1BaseRewardPoolAdapterErrors__factory.ts +0 -43
  930. package/src/types/factories/contracts/interfaces/adapters/convex/IConvexV1BaseRewardPoolAdapter.sol/IConvexV1BaseRewardPoolAdapter__factory.ts +0 -723
  931. package/src/types/factories/contracts/interfaces/adapters/convex/IConvexV1BaseRewardPoolAdapter.sol/index.ts +0 -5
  932. package/src/types/factories/contracts/interfaces/adapters/convex/IConvexV1BoosterAdapter__factory.ts +0 -377
  933. package/src/types/factories/contracts/interfaces/adapters/convex/index.ts +0 -5
  934. package/src/types/factories/contracts/interfaces/adapters/curve/ICurveV1Adapter.sol/ICurveV1AdapterExceptions__factory.ts +0 -35
  935. package/src/types/factories/contracts/interfaces/adapters/curve/ICurveV1Adapter.sol/ICurveV1Adapter__factory.ts +0 -900
  936. package/src/types/factories/contracts/interfaces/adapters/curve/ICurveV1Adapter.sol/index.ts +0 -5
  937. package/src/types/factories/contracts/interfaces/adapters/curve/index.ts +0 -4
  938. package/src/types/factories/contracts/interfaces/adapters/index.ts +0 -9
  939. package/src/types/factories/contracts/interfaces/adapters/lido/ILidoV1Adapter.sol/ILidoV1AdapterEvents__factory.ts +0 -43
  940. package/src/types/factories/contracts/interfaces/adapters/lido/ILidoV1Adapter.sol/ILidoV1AdapterExceptions__factory.ts +0 -35
  941. package/src/types/factories/contracts/interfaces/adapters/lido/ILidoV1Adapter.sol/ILidoV1Adapter__factory.ts +0 -324
  942. package/src/types/factories/contracts/interfaces/adapters/lido/ILidoV1Adapter.sol/index.ts +0 -6
  943. package/src/types/factories/contracts/interfaces/adapters/lido/index.ts +0 -4
  944. package/src/types/factories/contracts/interfaces/adapters/uniswap/IUniswapV2Adapter__factory.ts +0 -1082
  945. package/src/types/factories/contracts/interfaces/adapters/uniswap/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.ts +0 -35
  946. package/src/types/factories/contracts/interfaces/adapters/uniswap/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.ts +0 -408
  947. package/src/types/factories/contracts/interfaces/adapters/uniswap/IUniswapV3Adapter.sol/index.ts +0 -5
  948. package/src/types/factories/contracts/interfaces/adapters/uniswap/index.ts +0 -5
  949. package/src/types/factories/contracts/interfaces/external/IWETH__factory.ts +0 -67
  950. package/src/types/factories/contracts/interfaces/external/index.ts +0 -4
  951. package/src/types/factories/contracts/interfaces/index.ts +0 -27
  952. package/src/types/factories/contracts/libraries/Errors__factory.ts +0 -488
  953. package/src/types/factories/contracts/libraries/index.ts +0 -4
  954. package/src/types/factories/contracts/oracles/LPPriceFeed__factory.ts +0 -350
  955. package/src/types/factories/contracts/oracles/PriceFeedChecker__factory.ts +0 -77
  956. package/src/types/factories/contracts/oracles/PriceOracle__factory.ts +0 -458
  957. package/src/types/factories/contracts/oracles/ZeroPriceFeed__factory.ts +0 -204
  958. package/src/types/factories/contracts/oracles/curve/AbstractCurveLPPriceFeed__factory.ts +0 -380
  959. package/src/types/factories/contracts/oracles/curve/CurveLP2PriceFeed__factory.ts +0 -493
  960. package/src/types/factories/contracts/oracles/curve/CurveLP3PriceFeed__factory.ts +0 -515
  961. package/src/types/factories/contracts/oracles/curve/CurveLP4PriceFeed__factory.ts +0 -537
  962. package/src/types/factories/contracts/oracles/curve/index.ts +0 -7
  963. package/src/types/factories/contracts/oracles/index.ts +0 -9
  964. package/src/types/factories/contracts/oracles/yearn/YearnPriceFeed__factory.ts +0 -462
  965. package/src/types/factories/contracts/oracles/yearn/index.ts +0 -4
  966. package/src/types/factories/contracts/pathfinder/ConvexPathFinder__factory.ts +0 -224
  967. package/src/types/factories/contracts/pathfinder/CurveLPPathFinder__factory.ts +0 -323
  968. package/src/types/factories/contracts/pathfinder/CurvePathFinder__factory.ts +0 -443
  969. package/src/types/factories/contracts/pathfinder/ISwapper__factory.ts +0 -226
  970. package/src/types/factories/contracts/pathfinder/NormalTokenPathFinder__factory.ts +0 -623
  971. package/src/types/factories/contracts/pathfinder/SwapPathFinder__factory.ts +0 -443
  972. package/src/types/factories/contracts/pathfinder/UniswapV2PathFinder__factory.ts +0 -395
  973. package/src/types/factories/contracts/pathfinder/UniswapV3PathFinder__factory.ts +0 -516
  974. package/src/types/factories/contracts/pathfinder/YearnPathFinder__factory.ts +0 -181
  975. package/src/types/factories/contracts/pathfinder/data/Balances.sol/BalanceOps__factory.ts +0 -73
  976. package/src/types/factories/contracts/pathfinder/data/Balances.sol/index.ts +0 -4
  977. package/src/types/factories/contracts/pathfinder/data/index.ts +0 -4
  978. package/src/types/factories/contracts/pathfinder/index.ts +0 -13
  979. package/src/types/factories/contracts/pool/LinearInterestRateModel__factory.ts +0 -249
  980. package/src/types/factories/contracts/pool/PoolService__factory.ts +0 -917
  981. package/src/types/factories/contracts/pool/index.ts +0 -5
  982. package/src/types/factories/contracts/support/ContractUpgrader__factory.ts +0 -130
  983. package/src/types/factories/contracts/support/MerkleDistributor__factory.ts +0 -191
  984. package/src/types/factories/contracts/support/MultiCall.sol/Multicall2__factory.ts +0 -373
  985. package/src/types/factories/contracts/support/MultiCall.sol/index.ts +0 -4
  986. package/src/types/factories/contracts/support/PauseMulticall__factory.ts +0 -206
  987. package/src/types/factories/contracts/support/index.ts +0 -7
  988. package/src/types/factories/contracts/test/Playground.t.sol/PlaygroundTest__factory.ts +0 -370
  989. package/src/types/factories/contracts/test/Playground.t.sol/index.ts +0 -4
  990. package/src/types/factories/contracts/test/adapters/AbstractAdapter.t.sol/AbstractAdapterTest__factory.ts +0 -966
  991. package/src/types/factories/contracts/test/adapters/AbstractAdapter.t.sol/index.ts +0 -4
  992. package/src/types/factories/contracts/test/adapters/AdapterTestHelper__factory.ts +0 -740
  993. package/src/types/factories/contracts/test/adapters/ConvexAdapterHelper__factory.ts +0 -1190
  994. package/src/types/factories/contracts/test/adapters/ConvexV1_BaseRewardPool.t.sol/ConvexV1AdapterBasePoolTest__factory.ts +0 -1280
  995. package/src/types/factories/contracts/test/adapters/ConvexV1_BaseRewardPool.t.sol/index.ts +0 -4
  996. package/src/types/factories/contracts/test/adapters/ConvexV1_Booster.t.sol/ConvexV1AdapterBoosterTest__factory.ts +0 -1250
  997. package/src/types/factories/contracts/test/adapters/ConvexV1_Booster.t.sol/index.ts +0 -4
  998. package/src/types/factories/contracts/test/adapters/ConvexV1_ClaimZap.t.sol/ConvexV1ClaimZapAdapterTest__factory.ts +0 -1245
  999. package/src/types/factories/contracts/test/adapters/ConvexV1_ClaimZap.t.sol/index.ts +0 -4
  1000. package/src/types/factories/contracts/test/adapters/CurveV1AdapterBaseMetapoolTest.t.sol/CurveV1AdapterBaseMetaPoolTest__factory.ts +0 -819
  1001. package/src/types/factories/contracts/test/adapters/CurveV1AdapterBaseMetapoolTest.t.sol/index.ts +0 -4
  1002. package/src/types/factories/contracts/test/adapters/CurveV1AdapterBaseTest.t.sol/CurveV1AdapterBaseTest__factory.ts +0 -899
  1003. package/src/types/factories/contracts/test/adapters/CurveV1AdapterBaseTest.t.sol/index.ts +0 -4
  1004. package/src/types/factories/contracts/test/adapters/CurveV1AdapterHelper__factory.ts +0 -749
  1005. package/src/types/factories/contracts/test/adapters/CurveV1Adapter_2AssetsTest.t.sol/CurveV1Adapter2AssetsTest__factory.ts +0 -831
  1006. package/src/types/factories/contracts/test/adapters/CurveV1Adapter_2AssetsTest.t.sol/index.ts +0 -4
  1007. package/src/types/factories/contracts/test/adapters/CurveV1Adapter_3AssetsTest.t.sol/CurveV1Adapter3AssetsTest__factory.ts +0 -831
  1008. package/src/types/factories/contracts/test/adapters/CurveV1Adapter_3AssetsTest.t.sol/index.ts +0 -4
  1009. package/src/types/factories/contracts/test/adapters/CurveV1Adapter_4AssetsTest.t.sol/CurveV1Adapter4AssetsTest__factory.ts +0 -838
  1010. package/src/types/factories/contracts/test/adapters/CurveV1Adapter_4AssetsTest.t.sol/index.ts +0 -4
  1011. package/src/types/factories/contracts/test/adapters/CurveV1StETHTest.t.sol/CurveV1StEthAdapterTest__factory.ts +0 -850
  1012. package/src/types/factories/contracts/test/adapters/CurveV1StETHTest.t.sol/index.ts +0 -4
  1013. package/src/types/factories/contracts/test/adapters/LidoV1Adapter.t.sol/LidoV1AdapterTest__factory.ts +0 -884
  1014. package/src/types/factories/contracts/test/adapters/LidoV1Adapter.t.sol/index.ts +0 -4
  1015. package/src/types/factories/contracts/test/adapters/UniswapV2Adapter.t.sol/UniswapV2AdapterTest__factory.ts +0 -913
  1016. package/src/types/factories/contracts/test/adapters/UniswapV2Adapter.t.sol/index.ts +0 -4
  1017. package/src/types/factories/contracts/test/adapters/UniswapV3Adapter.t.sol/UniswapV3AdapterTest__factory.ts +0 -846
  1018. package/src/types/factories/contracts/test/adapters/UniswapV3Adapter.t.sol/index.ts +0 -4
  1019. package/src/types/factories/contracts/test/adapters/YearnV2Adapter.t.sol/YearnV2AdapterTest__factory.ts +0 -918
  1020. package/src/types/factories/contracts/test/adapters/YearnV2Adapter.t.sol/index.ts +0 -4
  1021. package/src/types/factories/contracts/test/adapters/index.ts +0 -20
  1022. package/src/types/factories/contracts/test/core/ACL.t.sol/ACLTest__factory.ts +0 -457
  1023. package/src/types/factories/contracts/test/core/ACL.t.sol/index.ts +0 -4
  1024. package/src/types/factories/contracts/test/core/AddressProvider.t.sol/AddressProviderTest__factory.ts +0 -466
  1025. package/src/types/factories/contracts/test/core/AddressProvider.t.sol/index.ts +0 -4
  1026. package/src/types/factories/contracts/test/core/index.ts +0 -5
  1027. package/src/types/factories/contracts/test/credit/CreditConfigurator.t.sol/CreditConfiguratorTest__factory.ts +0 -1048
  1028. package/src/types/factories/contracts/test/credit/CreditConfigurator.t.sol/index.ts +0 -4
  1029. package/src/types/factories/contracts/test/credit/CreditFacade.t.sol/CreditFacadeTest__factory.ts +0 -1368
  1030. package/src/types/factories/contracts/test/credit/CreditFacade.t.sol/index.ts +0 -4
  1031. package/src/types/factories/contracts/test/credit/CreditManager.t.sol/CreditManagerTest__factory.ts +0 -1003
  1032. package/src/types/factories/contracts/test/credit/CreditManager.t.sol/index.ts +0 -4
  1033. package/src/types/factories/contracts/test/credit/index.ts +0 -6
  1034. package/src/types/factories/contracts/test/index.ts +0 -17
  1035. package/src/types/factories/contracts/test/lib/cheatCodes.sol/CheatCodes__factory.ts +0 -472
  1036. package/src/types/factories/contracts/test/lib/cheatCodes.sol/index.ts +0 -4
  1037. package/src/types/factories/contracts/test/lib/constants.sol/Roles__factory.ts +0 -358
  1038. package/src/types/factories/contracts/test/lib/constants.sol/index.ts +0 -4
  1039. package/src/types/factories/contracts/test/lib/index.ts +0 -6
  1040. package/src/types/factories/contracts/test/lib/test.sol/DSTest__factory.ts +0 -353
  1041. package/src/types/factories/contracts/test/lib/test.sol/index.ts +0 -4
  1042. package/src/types/factories/contracts/test/mainnet/MainnetTokens.sol/MainnetTokensTestSuite__factory.ts +0 -237
  1043. package/src/types/factories/contracts/test/mainnet/MainnetTokens.sol/index.ts +0 -4
  1044. package/src/types/factories/contracts/test/mainnet/TotalValueCalculator__factory.ts +0 -95
  1045. package/src/types/factories/contracts/test/mainnet/index.ts +0 -5
  1046. package/src/types/factories/contracts/test/mocks/adapters/AdapterMock__factory.ts +0 -373
  1047. package/src/types/factories/contracts/test/mocks/adapters/TargetContractMock__factory.ts +0 -84
  1048. package/src/types/factories/contracts/test/mocks/adapters/index.ts +0 -5
  1049. package/src/types/factories/contracts/test/mocks/core/ACLTraitTest__factory.ts +0 -185
  1050. package/src/types/factories/contracts/test/mocks/core/AddressProviderACLMock__factory.ts +0 -153
  1051. package/src/types/factories/contracts/test/mocks/core/index.ts +0 -5
  1052. package/src/types/factories/contracts/test/mocks/credit/CreditManagerInternal__factory.ts +0 -1395
  1053. package/src/types/factories/contracts/test/mocks/credit/index.ts +0 -4
  1054. package/src/types/factories/contracts/test/mocks/dao/TreasuryMock__factory.ts +0 -79
  1055. package/src/types/factories/contracts/test/mocks/dao/index.ts +0 -4
  1056. package/src/types/factories/contracts/test/mocks/index.ts +0 -12
  1057. package/src/types/factories/contracts/test/mocks/integrations/ConvexBaseRewardPoolMock.sol/BaseRewardPoolMock__factory.ts +0 -763
  1058. package/src/types/factories/contracts/test/mocks/integrations/ConvexBaseRewardPoolMock.sol/IBaseRewardPoolMockEvents__factory.ts +0 -105
  1059. package/src/types/factories/contracts/test/mocks/integrations/ConvexBaseRewardPoolMock.sol/index.ts +0 -5
  1060. package/src/types/factories/contracts/test/mocks/integrations/ConvexBoosterMock.sol/BoosterMock__factory.ts +0 -776
  1061. package/src/types/factories/contracts/test/mocks/integrations/ConvexBoosterMock.sol/IBoosterMockEvents__factory.ts +0 -94
  1062. package/src/types/factories/contracts/test/mocks/integrations/ConvexBoosterMock.sol/index.ts +0 -5
  1063. package/src/types/factories/contracts/test/mocks/integrations/ConvexClaimZapMock.sol/ClaimZapMock__factory.ts +0 -187
  1064. package/src/types/factories/contracts/test/mocks/integrations/ConvexClaimZapMock.sol/IBasicRewards__factory.ts +0 -93
  1065. package/src/types/factories/contracts/test/mocks/integrations/ConvexClaimZapMock.sol/index.ts +0 -5
  1066. package/src/types/factories/contracts/test/mocks/integrations/ConvexExtraRewardPoolMock.sol/ExtraRewardPoolMock__factory.ts +0 -558
  1067. package/src/types/factories/contracts/test/mocks/integrations/ConvexExtraRewardPoolMock.sol/IExtraRewardPoolMockEvents__factory.ts +0 -105
  1068. package/src/types/factories/contracts/test/mocks/integrations/ConvexExtraRewardPoolMock.sol/VirtualBalanceWrapper__factory.ts +0 -186
  1069. package/src/types/factories/contracts/test/mocks/integrations/ConvexExtraRewardPoolMock.sol/index.ts +0 -6
  1070. package/src/types/factories/contracts/test/mocks/integrations/ConvexTokenRewardContractMock.sol/TokenRewardContractMock__factory.ts +0 -345
  1071. package/src/types/factories/contracts/test/mocks/integrations/ConvexTokenRewardContractMock.sol/index.ts +0 -4
  1072. package/src/types/factories/contracts/test/mocks/integrations/CurveV1MetapoolMock__factory.ts +0 -747
  1073. package/src/types/factories/contracts/test/mocks/integrations/CurveV1Mock_2Assets__factory.ts +0 -902
  1074. package/src/types/factories/contracts/test/mocks/integrations/CurveV1Mock_3Assets__factory.ts +0 -902
  1075. package/src/types/factories/contracts/test/mocks/integrations/CurveV1Mock_4Assets__factory.ts +0 -902
  1076. package/src/types/factories/contracts/test/mocks/integrations/CurveV1Mock__factory.ts +0 -756
  1077. package/src/types/factories/contracts/test/mocks/integrations/CurveV1StETHMock__factory.ts +0 -594
  1078. package/src/types/factories/contracts/test/mocks/integrations/LidoMock.sol/ILidoMockEvents__factory.ts +0 -51
  1079. package/src/types/factories/contracts/test/mocks/integrations/LidoMock.sol/LidoMock__factory.ts +0 -525
  1080. package/src/types/factories/contracts/test/mocks/integrations/LidoMock.sol/index.ts +0 -5
  1081. package/src/types/factories/contracts/test/mocks/integrations/UniswapV2Mock__factory.ts +0 -1060
  1082. package/src/types/factories/contracts/test/mocks/integrations/UniswapV3Mock__factory.ts +0 -776
  1083. package/src/types/factories/contracts/test/mocks/integrations/YearnV2Mock__factory.ts +0 -609
  1084. package/src/types/factories/contracts/test/mocks/integrations/index.ts +0 -18
  1085. package/src/types/factories/contracts/test/mocks/libraries/PercentageMathTest__factory.ts +0 -110
  1086. package/src/types/factories/contracts/test/mocks/libraries/WadRayMathTest__factory.ts +0 -248
  1087. package/src/types/factories/contracts/test/mocks/libraries/index.ts +0 -5
  1088. package/src/types/factories/contracts/test/mocks/oracles/LPPriceFeedMock__factory.ts +0 -449
  1089. package/src/types/factories/contracts/test/mocks/oracles/PriceFeedMock__factory.ts +0 -297
  1090. package/src/types/factories/contracts/test/mocks/oracles/index.ts +0 -5
  1091. package/src/types/factories/contracts/test/mocks/pool/CreditManagerMockForPoolTest__factory.ts +0 -194
  1092. package/src/types/factories/contracts/test/mocks/pool/PoolServiceMock__factory.ts +0 -899
  1093. package/src/types/factories/contracts/test/mocks/pool/TestPoolService__factory.ts +0 -976
  1094. package/src/types/factories/contracts/test/mocks/pool/index.ts +0 -6
  1095. package/src/types/factories/contracts/test/mocks/token/CERC20Mock__factory.ts +0 -486
  1096. package/src/types/factories/contracts/test/mocks/token/ERC20ApproveRestricted.sol/ERC20ApproveRestrictedFalse__factory.ts +0 -395
  1097. package/src/types/factories/contracts/test/mocks/token/ERC20ApproveRestricted.sol/ERC20ApproveRestrictedRevert__factory.ts +0 -395
  1098. package/src/types/factories/contracts/test/mocks/token/ERC20ApproveRestricted.sol/index.ts +0 -5
  1099. package/src/types/factories/contracts/test/mocks/token/ERC20Blocking.sol/ERC20BlockingMock__factory.ts +0 -446
  1100. package/src/types/factories/contracts/test/mocks/token/ERC20Blocking.sol/index.ts +0 -4
  1101. package/src/types/factories/contracts/test/mocks/token/ERC20Fee.sol/TokenFeeMock__factory.ts +0 -454
  1102. package/src/types/factories/contracts/test/mocks/token/ERC20Fee.sol/index.ts +0 -4
  1103. package/src/types/factories/contracts/test/mocks/token/ERC20Mock__factory.ts +0 -526
  1104. package/src/types/factories/contracts/test/mocks/token/ERC20NonCompliant.sol/NonCompliantERC20__factory.ts +0 -86
  1105. package/src/types/factories/contracts/test/mocks/token/ERC20NonCompliant.sol/index.ts +0 -4
  1106. package/src/types/factories/contracts/test/mocks/token/ERC721ReceiverMock.sol/ERC721ReceiverMock__factory.ts +0 -96
  1107. package/src/types/factories/contracts/test/mocks/token/ERC721ReceiverMock.sol/IERC721Receiver__factory.ts +0 -60
  1108. package/src/types/factories/contracts/test/mocks/token/ERC721ReceiverMock.sol/index.ts +0 -5
  1109. package/src/types/factories/contracts/test/mocks/token/StETHMock__factory.ts +0 -441
  1110. package/src/types/factories/contracts/test/mocks/token/WETHMock__factory.ts +0 -364
  1111. package/src/types/factories/contracts/test/mocks/token/index.ts +0 -12
  1112. package/src/types/factories/contracts/test/oracles/CurveLPPriceFeed.t.sol/CurveLPPriceFeedTest__factory.ts +0 -543
  1113. package/src/types/factories/contracts/test/oracles/CurveLPPriceFeed.t.sol/index.ts +0 -4
  1114. package/src/types/factories/contracts/test/oracles/LPPriceFeed.t.sol/LPPriceFeedTest__factory.ts +0 -480
  1115. package/src/types/factories/contracts/test/oracles/LPPriceFeed.t.sol/index.ts +0 -4
  1116. package/src/types/factories/contracts/test/oracles/PriceOracle.t.sol/PriceOracleTest__factory.ts +0 -511
  1117. package/src/types/factories/contracts/test/oracles/PriceOracle.t.sol/index.ts +0 -4
  1118. package/src/types/factories/contracts/test/oracles/YearnPriceFeed.t.sol/YearnFeedTest__factory.ts +0 -474
  1119. package/src/types/factories/contracts/test/oracles/YearnPriceFeed.t.sol/index.ts +0 -4
  1120. package/src/types/factories/contracts/test/oracles/ZeroPriceFeed.t.sol/ZeroFeedTest__factory.ts +0 -422
  1121. package/src/types/factories/contracts/test/oracles/ZeroPriceFeed.t.sol/index.ts +0 -4
  1122. package/src/types/factories/contracts/test/oracles/index.ts +0 -8
  1123. package/src/types/factories/contracts/test/pathfinder/CurveLPPathFinder.t.sol/CurveLPPathFinderTest__factory.ts +0 -673
  1124. package/src/types/factories/contracts/test/pathfinder/CurveLPPathFinder.t.sol/index.ts +0 -4
  1125. package/src/types/factories/contracts/test/pathfinder/CurvePathFinder.t.sol/CurvePathFinderTest__factory.ts +0 -750
  1126. package/src/types/factories/contracts/test/pathfinder/CurvePathFinder.t.sol/index.ts +0 -4
  1127. package/src/types/factories/contracts/test/pathfinder/NormalTokenPathFinder.t.sol/NormalTokenPathFinderTest__factory.ts +0 -839
  1128. package/src/types/factories/contracts/test/pathfinder/NormalTokenPathFinder.t.sol/index.ts +0 -4
  1129. package/src/types/factories/contracts/test/pathfinder/PathFinderTestHelper__factory.ts +0 -652
  1130. package/src/types/factories/contracts/test/pathfinder/SwapPathFinder.t.sol/SwapPathFinderTest__factory.ts +0 -912
  1131. package/src/types/factories/contracts/test/pathfinder/SwapPathFinder.t.sol/index.ts +0 -4
  1132. package/src/types/factories/contracts/test/pathfinder/UniswapV2PathFinder.t.sol/UniswapV2PathFinderTest__factory.ts +0 -806
  1133. package/src/types/factories/contracts/test/pathfinder/UniswapV2PathFinder.t.sol/index.ts +0 -4
  1134. package/src/types/factories/contracts/test/pathfinder/UniswapV3PathFinder.t.sol/UniswapV3PathFinderTest__factory.ts +0 -826
  1135. package/src/types/factories/contracts/test/pathfinder/UniswapV3PathFinder.t.sol/index.ts +0 -4
  1136. package/src/types/factories/contracts/test/pathfinder/YearnPathFinder.t.sol/YearnPathFinderTest__factory.ts +0 -676
  1137. package/src/types/factories/contracts/test/pathfinder/YearnPathFinder.t.sol/index.ts +0 -4
  1138. package/src/types/factories/contracts/test/pathfinder/index.ts +0 -11
  1139. package/src/types/factories/contracts/test/pool/PoolService.t.sol/PoolServiceTest__factory.ts +0 -804
  1140. package/src/types/factories/contracts/test/pool/PoolService.t.sol/index.ts +0 -4
  1141. package/src/types/factories/contracts/test/pool/index.ts +0 -4
  1142. package/src/types/factories/contracts/test/sigp/AttackingContractNonPayable.sol/AttackContractNonPayable__factory.ts +0 -88
  1143. package/src/types/factories/contracts/test/sigp/AttackingContractNonPayable.sol/index.ts +0 -4
  1144. package/src/types/factories/contracts/test/sigp/DummyMulticallTarget__factory.ts +0 -131
  1145. package/src/types/factories/contracts/test/sigp/FlashLoanAttacker2__factory.ts +0 -164
  1146. package/src/types/factories/contracts/test/sigp/Interfaces.sol/ICrvDeposit__factory.ts +0 -57
  1147. package/src/types/factories/contracts/test/sigp/Interfaces.sol/ICurveGauge__factory.ts +0 -123
  1148. package/src/types/factories/contracts/test/sigp/Interfaces.sol/ICurveVoteEscrow__factory.ts +0 -90
  1149. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IDeposit__factory.ts +0 -230
  1150. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IFeeDistro__factory.ts +0 -46
  1151. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IMinter__factory.ts +0 -39
  1152. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IPools__factory.ts +0 -189
  1153. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IRegistry__factory.ts +0 -114
  1154. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IRewardFactory__factory.ts +0 -164
  1155. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IRewards__factory.ts +0 -190
  1156. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IStaker__factory.ts +0 -324
  1157. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IStashFactory__factory.ts +0 -60
  1158. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IStash__factory.ts +0 -95
  1159. package/src/types/factories/contracts/test/sigp/Interfaces.sol/ITokenFactory__factory.ts +0 -45
  1160. package/src/types/factories/contracts/test/sigp/Interfaces.sol/ITokenMinter__factory.ts +0 -62
  1161. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IVestedEscrow__factory.ts +0 -50
  1162. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IVoting__factory.ts +0 -131
  1163. package/src/types/factories/contracts/test/sigp/Interfaces.sol/IWalletChecker__factory.ts +0 -45
  1164. package/src/types/factories/contracts/test/sigp/Interfaces.sol/index.ts +0 -21
  1165. package/src/types/factories/contracts/test/sigp/NewConvexBaseRewardPoolMock.sol/NewBaseRewardPoolMock__factory.ts +0 -767
  1166. package/src/types/factories/contracts/test/sigp/NewConvexBaseRewardPoolMock.sol/index.ts +0 -4
  1167. package/src/types/factories/contracts/test/sigp/NewConvexBoosterMock.sol/NewBoosterMock__factory.ts +0 -776
  1168. package/src/types/factories/contracts/test/sigp/NewConvexBoosterMock.sol/index.ts +0 -4
  1169. package/src/types/factories/contracts/test/sigp/NewCreditConfigurator__factory.ts +0 -922
  1170. package/src/types/factories/contracts/test/sigp/UniswapHelper.sol/UniswapV3AdapterTestHelper__factory.ts +0 -244
  1171. package/src/types/factories/contracts/test/sigp/UniswapHelper.sol/index.ts +0 -4
  1172. package/src/types/factories/contracts/test/sigp/index.ts +0 -13
  1173. package/src/types/factories/contracts/test/sigp/interfaces/ILockedCvx__factory.ts +0 -442
  1174. package/src/types/factories/contracts/test/sigp/interfaces/index.ts +0 -4
  1175. package/src/types/factories/contracts/test/sigp/stETHMock.sol/StETHMockERC20__factory.ts +0 -482
  1176. package/src/types/factories/contracts/test/sigp/stETHMock.sol/index.ts +0 -4
  1177. package/src/types/factories/contracts/test/suites/BalanceHelper__factory.ts +0 -356
  1178. package/src/types/factories/contracts/test/suites/BaseCreditTestSuite__factory.ts +0 -589
  1179. package/src/types/factories/contracts/test/suites/CreditFacadeHelper__factory.ts +0 -421
  1180. package/src/types/factories/contracts/test/suites/CreditFacadeTestSuite__factory.ts +0 -685
  1181. package/src/types/factories/contracts/test/suites/CreditManagerTestSuite__factory.ts +0 -677
  1182. package/src/types/factories/contracts/test/suites/PoolServiceTestSuite__factory.ts +0 -186
  1183. package/src/types/factories/contracts/test/suites/TokensTestSuite__factory.ts +0 -744
  1184. package/src/types/factories/contracts/test/suites/index.ts +0 -10
  1185. package/src/types/factories/contracts/test/support/PauseMulticall.t.sol/PauseMulticallTest__factory.ts +0 -398
  1186. package/src/types/factories/contracts/test/support/PauseMulticall.t.sol/index.ts +0 -4
  1187. package/src/types/factories/contracts/test/support/index.ts +0 -4
  1188. package/src/types/factories/contracts/test/tokens/DegenNFT.t.sol/DegenNFTTest__factory.ts +0 -560
  1189. package/src/types/factories/contracts/test/tokens/DegenNFT.t.sol/index.ts +0 -4
  1190. package/src/types/factories/contracts/test/tokens/index.ts +0 -4
  1191. package/src/types/factories/contracts/tokens/DegenNFT__factory.ts +0 -699
  1192. package/src/types/factories/contracts/tokens/DieselToken__factory.ts +0 -464
  1193. package/src/types/factories/contracts/tokens/GearToken__factory.ts +0 -719
  1194. package/src/types/factories/contracts/tokens/PhantomERC20__factory.ts +0 -261
  1195. package/src/types/factories/contracts/tokens/index.ts +0 -7
  1196. package/src/types/factories/index.ts +0 -6
  1197. package/src/types/hardhat.d.ts +0 -2715
  1198. package/src/types/index.ts +0 -562
  1199. package/src/utils/errors.ts +0 -11
  1200. package/src/utils/formatter.ts +0 -146
  1201. package/src/utils/loading.ts +0 -17
  1202. package/src/utils/mappers.ts +0 -32
  1203. package/src/utils/math.ts +0 -42
  1204. package/src/utils/multicall.ts +0 -80
  1205. package/src/utils/network.ts +0 -28
  1206. package/src/utils/repeater.ts +0 -18
  1207. package/src/utils/types.ts +0 -7
  1208. package/src/utils/validate.ts +0 -8
  1209. package/tsconfig.json +0 -62
@@ -1,202 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
- import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
- import type {
7
- GenesisFactory,
8
- GenesisFactoryInterface,
9
- } from "../../../contracts/factories/GenesisFactory";
10
-
11
- const _abi = [
12
- {
13
- inputs: [
14
- {
15
- internalType: "address",
16
- name: "wethToken",
17
- type: "address",
18
- },
19
- {
20
- internalType: "address",
21
- name: "treasury",
22
- type: "address",
23
- },
24
- ],
25
- stateMutability: "nonpayable",
26
- type: "constructor",
27
- },
28
- {
29
- anonymous: false,
30
- inputs: [
31
- {
32
- indexed: true,
33
- internalType: "address",
34
- name: "previousOwner",
35
- type: "address",
36
- },
37
- {
38
- indexed: true,
39
- internalType: "address",
40
- name: "newOwner",
41
- type: "address",
42
- },
43
- ],
44
- name: "OwnershipTransferred",
45
- type: "event",
46
- },
47
- {
48
- inputs: [],
49
- name: "acl",
50
- outputs: [
51
- {
52
- internalType: "contract ACL",
53
- name: "",
54
- type: "address",
55
- },
56
- ],
57
- stateMutability: "view",
58
- type: "function",
59
- },
60
- {
61
- inputs: [
62
- {
63
- components: [
64
- {
65
- internalType: "address",
66
- name: "token",
67
- type: "address",
68
- },
69
- {
70
- internalType: "address",
71
- name: "priceFeed",
72
- type: "address",
73
- },
74
- ],
75
- internalType: "struct PriceFeedConfig[]",
76
- name: "priceFeeds",
77
- type: "tuple[]",
78
- },
79
- ],
80
- name: "addPriceFeeds",
81
- outputs: [],
82
- stateMutability: "nonpayable",
83
- type: "function",
84
- },
85
- {
86
- inputs: [],
87
- name: "addressProvider",
88
- outputs: [
89
- {
90
- internalType: "contract AddressProvider",
91
- name: "",
92
- type: "address",
93
- },
94
- ],
95
- stateMutability: "view",
96
- type: "function",
97
- },
98
- {
99
- inputs: [],
100
- name: "owner",
101
- outputs: [
102
- {
103
- internalType: "address",
104
- name: "",
105
- type: "address",
106
- },
107
- ],
108
- stateMutability: "view",
109
- type: "function",
110
- },
111
- {
112
- inputs: [],
113
- name: "priceOracle",
114
- outputs: [
115
- {
116
- internalType: "contract PriceOracle",
117
- name: "",
118
- type: "address",
119
- },
120
- ],
121
- stateMutability: "view",
122
- type: "function",
123
- },
124
- {
125
- inputs: [],
126
- name: "renounceOwnership",
127
- outputs: [],
128
- stateMutability: "nonpayable",
129
- type: "function",
130
- },
131
- {
132
- inputs: [
133
- {
134
- internalType: "address",
135
- name: "newOwner",
136
- type: "address",
137
- },
138
- ],
139
- name: "transferOwnership",
140
- outputs: [],
141
- stateMutability: "nonpayable",
142
- type: "function",
143
- },
144
- ];
145
-
146
- const _bytecode =
147
- "0x60806040523480156200001157600080fd5b506040516201110538038062011105833981016040819052620000349162000811565b6200003f3362000734565b6040516200004d9062000784565b604051809103906000f0801580156200006a573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b039283169081179091556040516310dc138160e31b81529184166004830152906386e09c0890602401600060405180830381600087803b158015620000c457600080fd5b505af1158015620000d9573d6000803e3d6000fd5b50506001546040516301ed651160e41b81526001600160a01b0385811660048301529091169250631ed651109150602401600060405180830381600087803b1580156200012557600080fd5b505af11580156200013a573d6000803e3d6000fd5b505050506040516200014c9062000792565b604051809103906000f08015801562000169573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b039283169081179091556001546040516376aad60560e01b81526004810192909252909116906376aad60590602401600060405180830381600087803b158015620001c957600080fd5b505af1158015620001de573d6000803e3d6000fd5b5050600154604051600093506001600160a01b0390911691506200020290620007a0565b6001600160a01b039091168152602001604051809103906000f0801580156200022f573d6000803e3d6000fd5b5060015460405163338f12b960e21b81526001600160a01b03808416600483015292935091169063ce3c4ae490602401600060405180830381600087803b1580156200027a57600080fd5b505af11580156200028f573d6000803e3d6000fd5b5050600154604051600093506001600160a01b039091169150620002b390620007ae565b6001600160a01b039091168152602001604051809103906000f080158015620002e0573d6000803e3d6000fd5b5060015460405163c5120b3960e01b81526001600160a01b03808416600483015292935091169063c5120b3990602401600060405180830381600087803b1580156200032b57600080fd5b505af115801562000340573d6000803e3d6000fd5b5050600154604051606093506001600160a01b03909116915082906200036690620007bc565b6200037392919062000849565b604051809103906000f08015801562000390573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b0392831690811790915560015460405163530e784f60e01b815260048101929092529091169063530e784f90602401600060405180830381600087803b158015620003f057600080fd5b505af115801562000405573d6000803e3d6000fd5b5050600154604051600093506001600160a01b0390911691506200042990620007ca565b6001600160a01b039091168152602001604051809103906000f08015801562000456573d6000803e3d6000fd5b506001546040516356ee0d3b60e11b81526001600160a01b03808416600483015292935091169063addc1a7690602401600060405180830381600087803b158015620004a157600080fd5b505af1158015620004b6573d6000803e3d6000fd5b5050600154604051600093506001600160a01b039091169150620004da90620007d8565b6001600160a01b039091168152602001604051809103906000f08015801562000507573d6000803e3d6000fd5b506001546040516321da583760e01b81526001600160a01b0380841660048301529293509116906321da583790602401600060405180830381600087803b1580156200055257600080fd5b505af115801562000567573d6000803e3d6000fd5b505050506000306040516200057c90620007e6565b6001600160a01b039091168152602001604051809103906000f080158015620005a9573d6000803e3d6000fd5b50600154604051631795d5b360e31b81526001600160a01b03808416600483015292935091169063bcaead9890602401600060405180830381600087803b158015620005f457600080fd5b505af115801562000609573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b1580156200064f57600080fd5b505af115801562000664573d6000803e3d6000fd5b505060015460405163f2fde38b60e01b81523360048201526001600160a01b03909116925063f2fde38b9150602401600060405180830381600087803b158015620006ae57600080fd5b505af1158015620006c3573d6000803e3d6000fd5b505060025460405163f2fde38b60e01b81523360048201526001600160a01b03909116925063f2fde38b9150602401600060405180830381600087803b1580156200070d57600080fd5b505af115801562000722573d6000803e3d6000fd5b505050505050505050505050620008b2565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610fcd80620010dd83390190565b61098c80620020aa83390190565b610f508062002a3683390190565b614da6806200398683390190565b611b45806200872c83390190565b612ced806200a27183390190565b611627806200cf5e83390190565b612b80806200e58583390190565b80516001600160a01b03811681146200080c57600080fd5b919050565b600080604083850312156200082557600080fd5b6200083083620007f4565b91506200084060208401620007f4565b90509250929050565b6001600160a01b0383811682526040602080840182905284518483018190526000938683019290916060870190865b81811015620008a3578551805186168452840151851684840152948301949186019160010162000878565b50909998505050505050505050565b61081b80620008c26000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638874ff1f1161005b5780638874ff1f146100f55780638da5cb5b14610108578063de28735914610126578063f2fde38b1461014657600080fd5b80632630c12f146100825780632954018c146100cb578063715018a6146100eb575b600080fd5b6003546100a29073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6001546100a29073ffffffffffffffffffffffffffffffffffffffff1681565b6100f3610159565b005b6100f3610103366004610658565b6101eb565b60005473ffffffffffffffffffffffffffffffffffffffff166100a2565b6002546100a29073ffffffffffffffffffffffffffffffffffffffff1681565b6100f3610154366004610734565b6103e3565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6101e96000610513565b565b60005473ffffffffffffffffffffffffffffffffffffffff16331461026c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101d6565b60005b815181101561035c57600354825173ffffffffffffffffffffffffffffffffffffffff9091169063e8a97a3e908490849081106102ae576102ae610756565b6020026020010151600001518484815181106102cc576102cc610756565b6020026020010151602001516040518363ffffffff1660e01b815260040161031792919073ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b600060405180830381600087803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b50505050808061035490610785565b91505061026f565b506002546040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169063f2fde38b90602401600060405180830381600087803b1580156103c857600080fd5b505af11580156103dc573d6000803e3d6000fd5b5050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101d6565b73ffffffffffffffffffffffffffffffffffffffff8116610507576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101d6565b61051081610513565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156105da576105da610588565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561062757610627610588565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461065357600080fd5b919050565b6000602080838503121561066b57600080fd5b823567ffffffffffffffff8082111561068357600080fd5b818501915085601f83011261069757600080fd5b8135818111156106a9576106a9610588565b6106b7848260051b016105e0565b818152848101925060069190911b8301840190878211156106d757600080fd5b928401925b8184101561072957604084890312156106f55760008081fd5b6106fd6105b7565b6107068561062f565b815261071386860161062f565b81870152835260409390930192918401916106dc565b979650505050505050565b60006020828403121561074657600080fd5b61074f8261062f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156107de577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea26469706673582212205ee75e57bb635aa49a1758f4ab0b04182a73115bff08f420c56a8ddb433c029364736f6c634300080a0033608060405234801561001057600080fd5b5061001a3361005f565b60405130906f20a2222922a9a9afa82927ab24a222a960811b907fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c69190600090a36100af565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610f0f806100be6000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806377532ed9116100e3578063bcaead981161008c578063ce3c4ae411610066578063ce3c4ae414610308578063f2fde38b1461031b578063fca513a81461032e57600080fd5b8063bcaead98146102da578063c5120b39146102ed578063c513c9bb1461030057600080fd5b80639068a868116100bd5780639068a868146102b7578063addc1a76146102bf578063affd9243146102d257600080fd5b806377532ed91461027e57806386e09c08146102865780638da5cb5b1461029957600080fd5b80634c252f9111610145578063699f200f1161011f578063699f200f1461022d578063715018a61461026357806376aad6051461026b57600080fd5b80634c252f91146101fc578063530e784f1461020457806354fd4d501461021757600080fd5b80631ed65110116101765780631ed65110146101cc57806321da5837146101e157806326c74fc3146101f457600080fd5b8063060678c21461019257806308737695146101c4575b600080fd5b61019a610336565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61019a610366565b6101df6101da366004610e10565b610391565b005b6101df6101ef366004610e10565b610444565b61019a6104ef565b61019a61051a565b6101df610212366004610e10565b610545565b61021f600281565b6040519081526020016101bb565b61019a61023b366004610e4d565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6101df6105f0565b6101df610279366004610e10565b61067d565b61019a610728565b6101df610294366004610e10565b610753565b60005473ffffffffffffffffffffffffffffffffffffffff1661019a565b61019a6107fe565b6101df6102cd366004610e10565b610829565b61019a6108d4565b6101df6102e8366004610e10565b6108ff565b6101df6102fb366004610e10565b6109aa565b61019a610a55565b6101df610316366004610e10565b610a80565b6101df610329366004610e10565b610b2b565b61019a610c58565b60006103617f444154415f434f4d50524553534f520000000000000000000000000000000000610c7f565b905090565b60006103617f41434c0000000000000000000000000000000000000000000000000000000000610c7f565b60005473ffffffffffffffffffffffffffffffffffffffff163314610417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6104417f54524541535552595f434f4e545241435400000000000000000000000000000082610d1d565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b6104417f574554485f47415445574159000000000000000000000000000000000000000082610d1d565b60006103617f54524541535552595f434f4e5452414354000000000000000000000000000000610c7f565b60006103617f574554485f544f4b454e00000000000000000000000000000000000000000000610c7f565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b6104417f50524943455f4f5241434c45000000000000000000000000000000000000000082610d1d565b60005473ffffffffffffffffffffffffffffffffffffffff163314610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b61067b6000610d9b565b565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b6104417f41434c000000000000000000000000000000000000000000000000000000000082610d1d565b60006103617f574554485f474154455741590000000000000000000000000000000000000000610c7f565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b6104417f574554485f544f4b454e0000000000000000000000000000000000000000000082610d1d565b60006103617f4143434f554e545f464143544f52590000000000000000000000000000000000610c7f565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b6104417f4143434f554e545f464143544f5259000000000000000000000000000000000082610d1d565b60006103617f474541525f544f4b454e00000000000000000000000000000000000000000000610c7f565b60005473ffffffffffffffffffffffffffffffffffffffff163314610980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b6104417f474541525f544f4b454e0000000000000000000000000000000000000000000082610d1d565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b6104417f444154415f434f4d50524553534f52000000000000000000000000000000000082610d1d565b60006103617f434f4e5452414354535f52454749535445520000000000000000000000000000610c7f565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b6104417f434f4e5452414354535f5245474953544552000000000000000000000000000082610d1d565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b73ffffffffffffffffffffffffffffffffffffffff8116610c4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161040e565b61044181610d9b565b60006103617f50524943455f4f5241434c4500000000000000000000000000000000000000005b6000818152600160209081526040808320548151808301909252600382527f41503100000000000000000000000000000000000000000000000000000000009282019290925273ffffffffffffffffffffffffffffffffffffffff9091169081610d16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040e9190610e66565b5092915050565b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c6919190a35050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610e2257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610e4657600080fd5b9392505050565b600060208284031215610e5f57600080fd5b5035919050565b600060208083528351808285015260005b81811015610e9357858101830151858201604001528201610e77565b81811115610ea5576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea264697066735822122083c228af017c6f5cf8c395cdf7a53276ff56fdd4f4313c39f680ab73bd75417364736f6c634300080a0033608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61090e8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c8063732818191161008c578063adce758d11610066578063adce758d14610215578063ba306df114610228578063d4eb5db01461023b578063f2fde38b1461027457600080fd5b806373281819146101b7578063819ad68e146101da5780638da5cb5b146101ed57600080fd5b806354fd4d50116100bd57806354fd4d501461016a5780635f259aba14610180578063715018a6146101af57600080fd5b806335914829146100e45780633a41ec641461011c5780634910832f14610155575b600080fd5b6101076100f236600461089b565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61010761012a36600461089b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b61016861016336600461089b565b610287565b005b610172600181565b604051908152602001610113565b61010761018e36600461089b565b60005473ffffffffffffffffffffffffffffffffffffffff91821691161490565b610168610387565b6101076101c536600461089b565b60026020526000908152604090205460ff1681565b6101686101e836600461089b565b610414565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b61016861022336600461089b565b61050c565b61016861023636600461089b565b610601565b61010761024936600461089b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460ff1690565b61016861028236600461089b565b6106f6565b60005473ffffffffffffffffffffffffffffffffffffffff16331461030d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155517fae26b1cfe9454ba87274a4e8330b6654684362d0f3d7bbd17f7449a1d38387c69190a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314610408576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610304565b6104126000610826565b565b60005473ffffffffffffffffffffffffffffffffffffffff163314610495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610304565b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517fd400da6c0c0a894dacc0981730b88af0545d00272ee8fff1437bf560ff245fc49190a250565b60005473ffffffffffffffffffffffffffffffffffffffff16331461058d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610304565b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f1998397e7203f7baca9d6f41b9e4da6e768daac5caad4234fb9bf5869d2715459190a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610304565b73ffffffffffffffffffffffffffffffffffffffff811660008181526001602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f28b01395b7e25d20552a0c8dc8ecd3b1d4abc986f14dad7885fd45b6fd73c8d99190a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314610777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610304565b73ffffffffffffffffffffffffffffffffffffffff811661081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610304565b61082381610826565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156108ad57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146108d157600080fd5b939250505056fea26469706673582212204712efbfe997070def77285a5b8753bc882b62da2133ce1937ad26cd2b48e49864736f6c634300080a003360a060405234801561001057600080fd5b50604051610f50380380610f5083398101604081905261002f916100d7565b6000805460ff19169055806001600160a01b03811661006157604051635919af9760e11b815260040160405180910390fd5b806001600160a01b031663087376956040518163ffffffff1660e01b8152600401602060405180830381865afa15801561009f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c391906100d7565b6001600160a01b0316608052506101079050565b6000602082840312156100e957600080fd5b81516001600160a01b038116811461010057600080fd5b9392505050565b608051610e1261013e600039600081816101e2015281816102b20152818161040f0152818161057801526108510152610e126000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638456cb5911610097578063b4ac686011610066578063b4ac686014610217578063c29277cd1461021f578063d914cd4b14610227578063e26b2f631461023a57600080fd5b80638456cb59146101cd57806394144856146101d5578063a50cf2c8146101dd578063ac4afa381461020457600080fd5b80635b16ebb7116100d35780635b16ebb7146101575780635c975abb1461018a578063673a2a1f146101955780636fbc6f6b146101aa57600080fd5b80631e16e4fc146100fa5780633f4ba83a1461013757806354fd4d5014610141575b600080fd5b61010d610108366004610c97565b61024d565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61013f610284565b005b610149600181565b60405190815260200161012e565b61017a610165366004610cb0565b60026020526000908152604090205460ff1681565b604051901515815260200161012e565b60005460ff1661017a565b61019d610372565b60405161012e9190610ced565b61017a6101b8366004610cb0565b60046020526000908152604090205460ff1681565b61013f6103e1565b61019d6104cd565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b61010d610212366004610c97565b61053a565b600154610149565b600354610149565b61013f610235366004610cb0565b61054a565b61013f610248366004610cb0565b610823565b6003818154811061025d57600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d4eb5db090602401602060405180830381865afa15801561030e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103329190610d47565b610368576040517f10332dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610370610af6565b565b606060018054806020026020016040519081016040528092919081815260200182805480156103d757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116103ac575b5050505050905090565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633a41ec6490602401602060405180830381865afa15801561046b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048f9190610d47565b6104c5576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610370610bd7565b606060038054806020026020016040519081016040528092919081815260200182805480156103d75760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116103ac575050505050905090565b6001818154811061025d57600080fd5b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa1580156105d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f89190610d47565b61062e576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051808201909152600281527f5a30000000000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff82166106b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b09190610d69565b60405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff8116600090815260026020908152604091829020548251808401909352600383527f43523100000000000000000000000000000000000000000000000000000000009183019190915260ff1615610753576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b09190610d69565b506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915560008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909417909355915190917ff816b5143086c89d103a0683286be86c2b741e83ebfa75135aae606e2f5c6e5391a250565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa1580156108ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d19190610d47565b610907576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051808201909152600281527f5a30000000000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff8216610989576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b09190610d69565b5073ffffffffffffffffffffffffffffffffffffffff8116600090815260046020908152604091829020548251808401909352600383527f43523200000000000000000000000000000000000000000000000000000000009183019190915260ff1615610a23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b09190610d69565b506003805460018082019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915560008181526004602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909417909355915190917f58ad3cfc4b6552a53c8c4128ae9b080e14b4378a159280643a62c6f709cee24f91a250565b60005460ff16610b62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106b0565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60005460ff1615610c44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106b0565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610bad3390565b600060208284031215610ca957600080fd5b5035919050565b600060208284031215610cc257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610ce657600080fd5b9392505050565b6020808252825182820181905260009190848201906040850190845b81811015610d3b57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610d09565b50909695505050505050565b600060208284031215610d5957600080fd5b81518015158114610ce657600080fd5b600060208083528351808285015260005b81811015610d9657858101830151858201604001528201610d7a565b81811115610da8576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea26469706673582212208f2d91c863db9ab1494a9c5db20e3fddc4b6c779ea3c3621737c105c60d9440a64736f6c634300080a003360e06040523480156200001157600080fd5b5060405162004da638038062004da6833981016040819052620000349162000160565b6001600160a01b0381166200005c57604051635919af9760e11b815260040160405180910390fd5b6001600160a01b03811660808190526040805163c513c9bb60e01b8152905163c513c9bb916004808201926020929091908290030181865afa158015620000a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000cd919062000160565b6001600160a01b031660a0816001600160a01b0316815250506080516001600160a01b0316634c252f916040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000127573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014d919062000160565b6001600160a01b031660c0525062000192565b6000602082840312156200017357600080fd5b81516001600160a01b03811681146200018b57600080fd5b9392505050565b60805160a05160c051614b896200021d6000396000818161018801528181611c4f0152612c5a0152600081816101ed015281816115e201528181611f5f0152818161213f0152818161223f0152818161243801528181612604015281816126bc01528181612788015281816129a501528181613c410152613d000152600061013c0152614b896000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806354fd4d5011610081578063a80deda31161005b578063a80deda31461020f578063ae093f3f1461022f578063fc9914cb1461024f57600080fd5b806354fd4d50146101bd578063663b8fdb146101d35780637a0c7b21146101e857600080fd5b80632954018c116100b25780632954018c146101375780634b2f336d146101835780634c472fc9146101aa57600080fd5b80630dbd616d146100d957806313d21cdf146101025780631bcd8fc014610122575b600080fd5b6100ec6100e73660046140fc565b610272565b6040516100f9919061430b565b60405180910390f35b61011561011036600461431e565b6114d4565b6040516100f99190614444565b61012a611f59565b6040516100f99190614453565b61015e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f9565b61015e7f000000000000000000000000000000000000000000000000000000000000000081565b61015e6101b83660046140fc565b6121f5565b6101c5600281565b6040519081526020016100f9565b6101db612432565b6040516100f991906146ea565b61015e7f000000000000000000000000000000000000000000000000000000000000000081565b61022261021d36600461431e565b6126b5565b6040516100f9919061476a565b61024261023d36600461431e565b612a75565b6040516100f991906147dd565b61026261025d3660046140fc565b613bf7565b60405190151581526020016100f9565b61035f604051806102400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001606081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600060ff168152602001600081525090565b600080600080600061037088613cf4565b509450945094509450945060008560ff1660011461041d576040517fe958b70400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015284169063e958b70490602401602060405180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041891906147f0565b6104ad565b6040517fe958b70400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015286169063e958b70490602401602060405180830381865afa158015610489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ad91906147f0565b60ff8716610200890181905273ffffffffffffffffffffffffffffffffffffffff808b1660208b01528b811660608b015282168952909150600114156109e9578473ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b8152600401602060405180830381865afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c91906147f0565b73ffffffffffffffffffffffffffffffffffffffff90811660808901526040517fc7de38a600000000000000000000000000000000000000000000000000000000815282821660048201529085169063c7de38a690602401602060405180830381865afa1580156105d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f5919061480d565b60c08801526040517fdfd5946500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff828116600483015285169063dfd5946590602401602060405180830381865afa158015610666573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068a919061480d565b60e08801526040517f3ce0735500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260006024830152861690633ce0735590604401602060405180830381865afa92505050801561073c575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526107399181019061480d565b60015b6107455761074c565b6101408801525b6040517f3ce0735500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260016024830152861690633ce0735590604401602060405180830381865afa9250505080156107f9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526107f69181019061480d565b60015b61080257610809565b6101608801525b60c08701516040517f996329f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820192909252600060448201529086169063996329f89060640160a060405180830381865afa9250505080156108c4575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526108c191810190614826565b60015b6108cd576108da565b505015156101808a015250505b8073ffffffffffffffffffffffffffffffffffffffff16631afbb7a46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610949919061480d565b6101a08801526040517f3192195c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152851690633192195c90602401602060405180830381865afa1580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109df919061480d565b60a0880152610c26565b8273ffffffffffffffffffffffffffffffffffffffff16636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5891906147f0565b73ffffffffffffffffffffffffffffffffffffffff90811660808901526040517fc7de38a600000000000000000000000000000000000000000000000000000000815282821660048201529083169063c7de38a6906024016040805180830381865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190614866565b5060c08801526040517fdfd5946500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff828116600483015283169063dfd5946590602401602060405180830381865afa158015610b62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b86919061480d565b60e08801526040517f3192195c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152841690633192195c906024016040805180830381865afa158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a9190614866565b60a08901526101a08801525b60008660ff16600114610ca7578373ffffffffffffffffffffffffffffffffffffffff166316f0115b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca291906147f0565b610d16565b8573ffffffffffffffffffffffffffffffffffffffff1663570a7af26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1691906147f0565b90508073ffffffffffffffffffffffffffffffffffffffff166345d31f9d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d87919061480d565b6101008901526000600160ff891614610e0e578473ffffffffffffffffffffffffffffffffffffffff1663458936f56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e09919061480d565b610e7d565b8573ffffffffffffffffffffffffffffffffffffffff166320a05ff76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7d919061480d565b90508760ff16600114610f1f576040517f8991b2f100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152861690638991b2f190602401602060405180830381865afa158015610ef6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1a919061480d565b610faf565b6040517fb451cecc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015287169063b451cecc90602401602060405180830381865afa158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf919061480d565b6102208a01528067ffffffffffffffff811115610fce57610fce61488a565b60405190808252806020026020018201604052801561103e57816020015b6040805160808101825260008082526020808301829052928201819052606082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610fec5790505b506101208a015260005b818110156113d657604080516080810182526000808252602082018190529181018290526060810191909152600180831b9060ff8c1614156111c5576040517faf0a650200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152602482018590528a169063af0a650290604401608060405180830381865afa1580156110f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111b91906148b9565b5050602084015273ffffffffffffffffffffffffffffffffffffffff9081168084526040517ff9eaee0d0000000000000000000000000000000000000000000000000000000081526004810191909152908a169063f9eaee0d90602401602060405180830381865afa158015611195573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b9919061490d565b15156040830152611388565b6040517f172c48c70000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff89169063172c48c7906024016040805180830381865afa15801561122f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112539190614928565b5073ffffffffffffffffffffffffffffffffffffffff9081168084526040517f70a082310000000000000000000000000000000000000000000000000000000081529188166004830152906370a0823190602401602060405180830381865afa1580156112c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e8919061480d565b602083015281516040517ff9eaee0d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529088169063f9eaee0d90602401602060405180830381865afa15801561135c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611380919061490d565b151560408301525b6102208c015181161561139c57600161139f565b60005b151560608301526101208c01518051839190859081106113c1576113c161495e565b60209081029190910101525050600101611048565b508273ffffffffffffffffffffffffffffffffffffffff166317d11a156040518163ffffffff1660e01b8152600401602060405180830381865afa158015611422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611446919061480d565b896101c00181815250508273ffffffffffffffffffffffffffffffffffffffff16633dc54b406040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bf919061480d565b6101e08a015250969998505050505050505050565b61159b604051806102000160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600060ff1681525090565b6040517f5b16ebb700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808416600483015283917f000000000000000000000000000000000000000000000000000000000000000090911690635b16ebb790602401602060405180830381865afa15801561162b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164f919061490d565b611685576040517fd384b23800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316808352604080517ffe14112d000000000000000000000000000000000000000000000000000000008152905185929163fe14112d9160048083019260209291908290030181865afa1580156116f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611719919061480d565b8360c00181815250508073ffffffffffffffffffffffffffffffffffffffff1663ef8d96036040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611791919061480d565b8360e00181815250508073ffffffffffffffffffffffffffffffffffffffff1663743753596040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611809919061480d565b8360a00181815250508073ffffffffffffffffffffffffffffffffffffffff16634c19386c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611881919061480d565b836101000181815250508073ffffffffffffffffffffffffffffffffffffffff1663788c6bfe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fa919061480d565b836101600181815250508073ffffffffffffffffffffffffffffffffffffffff16630fce70fb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561194f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611973919061480d565b8360800181815250508073ffffffffffffffffffffffffffffffffffffffff166345d31f9d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119eb919061480d565b836101400181815250508073ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6491906147f0565b836040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff166336dda7d56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ae6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0a91906147f0565b836060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663788c6bfe6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb0919061480d565b836101600181815250508073ffffffffffffffffffffffffffffffffffffffff1663e941fa786040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c29919061480d565b61018084015260408084015173ffffffffffffffffffffffffffffffffffffffff9081167f000000000000000000000000000000000000000000000000000000000000000082161460208087019190915282517f609ae31700000000000000000000000000000000000000000000000000000000815292519184169263609ae31792600480830193928290030181865afa158015611ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cef919061480d565b836101c00181815250508073ffffffffffffffffffffffffffffffffffffffff1663dbcb313b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d68919061480d565b836101a00181815250506000836060015173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de7919061480d565b6040517f5427c9380000000000000000000000000000000000000000000000000000000081526004810182905290915060009073ffffffffffffffffffffffffffffffffffffffff841690635427c93890602401602060405180830381865afa158015611e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7c919061480d565b90508015611ec7576101808501518190611eb890611e9c906127106149bc565b876101000151886101400151611eb291906149d3565b90613fd0565b611ec29190614a3f565b611ece565b8461014001515b856101200181815250508273ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f47919061480d565b60ff166101e086015250505050919050565b606060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b4ac68606040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fec919061480d565b90508067ffffffffffffffff8111156120075761200761488a565b6040519080825280602002602001820160405280156120ff57816020015b6120ec604051806102000160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600060ff1681525090565b8152602001906001900390816120255790505b50915060005b818110156121f0576040517fac4afa38000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063ac4afa3890602401602060405180830381865afa15801561219b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bf91906147f0565b90506121ca816114d4565b8483815181106121dc576121dc61495e565b602090810291909101015250600101612105565b505090565b6040517f6fbc6f6b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808416600483015260009184917f00000000000000000000000000000000000000000000000000000000000000001690636fbc6f6b90602401602060405180830381865afa158015612286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122aa919061490d565b6122e0576040517f2cf3d0de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060006122ee87613cf4565b5050935093505092508260ff16600114612397576040517ffdd5764500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015282169063fdd5764590602401602060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239291906147f0565b612427565b6040517ffdd5764500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015283169063fdd5764590602401602060405180830381865afa158015612403573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061242791906147f0565b979650505050505050565b606060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c29277cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c5919061480d565b90508067ffffffffffffffff8111156124e0576124e061488a565b6040519080825280602002602001820160405280156125c457816020015b60408051610260810182526000808252602080830182905292820181905260608083018290526080830182905260a0830182905260c0830182905260e0830182905261010083018290526101208301819052610140830181905261016083015261018082018190526101a082018190526101c082018190526101e082018190526102008201819052610220820181905261024082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816124fe5790505b50915060005b818110156121f0576040517f1e16e4fc000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690631e16e4fc90602401602060405180830381865afa158015612660573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061268491906147f0565b905061268f81612a75565b8483815181106126a1576126a161495e565b6020908102919091010152506001016125ca565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c29277cd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612725573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612749919061480d565b905060005b81811015612829576040517f1e16e4fc000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690631e16e4fc90602401602060405180830381865afa1580156127e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061280891906147f0565b90506128148187613bf7565b15612820578360010193505b5060010161274e565b508167ffffffffffffffff8111156128435761284361488a565b60405190808252806020026020018201604052801561296157816020015b61294e604051806102400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001606081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600060ff168152602001600081525090565b8152602001906001900390816128615790505b5092506000915060005b81811015612a6d576040517f1e16e4fc000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690631e16e4fc90602401602060405180830381865afa158015612a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2591906147f0565b9050612a318187613bf7565b15612a6457612a408187610272565b858581518110612a5257612a5261495e565b60209081029190910101526001909301925b5060010161296b565b505050919050565b604080516102608101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201819052610140820181905261016082015261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081018290526102408101829052908080808080612b1b88613cf4565b73ffffffffffffffffffffffffffffffffffffffff8e168d5260ff86166101808e01819052959b50939950919750955093509150600114612bca578273ffffffffffffffffffffffffffffffffffffffff16636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc591906147f0565b612c39565b8473ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c3991906147f0565b73ffffffffffffffffffffffffffffffffffffffff908116602089018190527f00000000000000000000000000000000000000000000000000000000000000009091161460408801526000600160ff881614612d03578373ffffffffffffffffffffffffffffffffffffffff1663570a7af26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cfe91906147f0565b612d72565b8573ffffffffffffffffffffffffffffffffffffffff1663570a7af26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7291906147f0565b6040517f2e97ca2100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b8116600483015291925090821690632e97ca2190602401602060405180830381865afa158015612de2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e06919061490d565b15156060890152604080517f45d31f9d000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff8316916345d31f9d9160048083019260209291908290030181865afa158015612e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e9c919061480d565b8860800181815250508073ffffffffffffffffffffffffffffffffffffffff1663743753596040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f14919061480d565b610100890152600160ff88161415613017578573ffffffffffffffffffffffffffffffffffffffff16639b2cb5d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f95919061480d565b8860a00181815250508573ffffffffffffffffffffffffffffffffffffffff16635f48f3936040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fe9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300d919061480d565b60c08901526130a5565b8273ffffffffffffffffffffffffffffffffffffffff1663860aefcf6040518163ffffffff1660e01b81526004016040805180830381865afa158015613061573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130859190614a73565b6fffffffffffffffffffffffffffffffff90811660c08b01521660a08901525b60008760ff16600114613126578473ffffffffffffffffffffffffffffffffffffffff1663458936f56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613121919061480d565b613195565b8573ffffffffffffffffffffffffffffffffffffffff166320a05ff76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613171573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613195919061480d565b90508067ffffffffffffffff8111156131b0576131b061488a565b6040519080825280602002602001820160405280156131d9578160200160208202803683370190505b506101208a01528067ffffffffffffffff8111156131f9576131f961488a565b604051908082528060200260200182016040528015613222578160200160208202803683370190505b506101608a015260005b818110156134c4578860ff16600114156133b4576040517f5e5f2e260000000000000000000000000000000000000000000000000000000081526004810182905260009073ffffffffffffffffffffffffffffffffffffffff891690635e5f2e2690602401602060405180830381865afa1580156132ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d291906147f0565b9050808b610120015183815181106132ec576132ec61495e565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f78327438000000000000000000000000000000000000000000000000000000008152828216600482015290891690637832743890602401602060405180830381865afa158015613367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061338b919061480d565b8b610160015183815181106133a2576133a261495e565b602002602001018181525050506134bc565b6040517f172c48c70000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff87169063172c48c7906024016040805180830381865afa15801561341e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134429190614928565b8061ffff1690508b610120015183815181106134605761346061495e565b602002602001018c6101600151848151811061347e5761347e61495e565b60200260200101828152508273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050505b60010161322c565b5060008860ff16600114613546578373ffffffffffffffffffffffffffffffffffffffff166350e036ff6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561351d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613541919061480d565b6135b5565b8673ffffffffffffffffffffffffffffffffffffffff166350e036ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135b5919061480d565b90508067ffffffffffffffff8111156135d0576135d061488a565b60405190808252806020026020018201604052801561361557816020015b60408051808201909152600080825260208201528152602001906001900390816135ee5790505b506101408b015260005b818110156139015760408051808201909152600080825260208201528a60ff166001146136da576040517f5094cb4f0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff871690635094cb4f90602401602060405180830381865afa1580156136b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136d591906147f0565b613769565b6040517f5094cb4f0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff8a1690635094cb4f90602401602060405180830381865afa158015613745573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061376991906147f0565b73ffffffffffffffffffffffffffffffffffffffff168152600160ff8c16146138245780516040517ffdd5764500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529089169063fdd5764590602401602060405180830381865afa1580156137fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061381f91906147f0565b6138b7565b80516040517ffdd5764500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908a169063fdd5764590602401602060405180830381865afa158015613893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138b791906147f0565b73ffffffffffffffffffffffffffffffffffffffff1660208201526101408c01518051829190849081106138ed576138ed61495e565b60209081029190910101525060010161361f565b508860ff166001141561398f578773ffffffffffffffffffffffffffffffffffffffff1663b2c53a6c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613959573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397d919061480d565b60e08b015260ff6102408b0152613be9565b73ffffffffffffffffffffffffffffffffffffffff85166101a08b01819052604080517f9408b63f0000000000000000000000000000000000000000000000000000000081529051639408b63f916004808201926020929091908290030181865afa158015613a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a2691906147f0565b8a6101e0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508473ffffffffffffffffffffffffffffffffffffffff1663cff0ab966040518163ffffffff1660e01b8152600401606060405180830381865afa158015613aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613acd9190614aa6565b5015156102008c015250604080517f9fd12b77000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff881691639fd12b779160048083019260209291908290030181865afa158015613b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b66919061480d565b8a6102200181815250508573ffffffffffffffffffffffffffffffffffffffff16638345f26e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613bbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bdf9190614af7565b60ff166102408b01525b505050505050505050919050565b6040517f6fbc6f6b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808416600483015260009184917f00000000000000000000000000000000000000000000000000000000000000001690636fbc6f6b90602401602060405180830381865afa158015613c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cac919061490d565b613ce2576040517f2cf3d0de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613cec8484614023565b949350505050565b600080600080600080867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636fbc6f6b826040518263ffffffff1660e01b8152600401613d73919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015613d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613db4919061490d565b613dea576040517f2cf3d0de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8773ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e59919061480d565b96508660ff1660011415613ee0578795508573ffffffffffffffffffffffffffffffffffffffff1663f93f515b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ed991906147f0565b9450613fc6565b8793508373ffffffffffffffffffffffffffffffffffffffff16632f7a18816040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f5291906147f0565b92508373ffffffffffffffffffffffffffffffffffffffff1663f9aa028a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fc391906147f0565b91505b5091939550919395565b6000821580613fdd575081155b15613fea5750600061401d565b612710613ff8600282614b1a565b61ffff1661400684866149d3565b6140109190614b3b565b61401a9190614a3f565b90505b92915050565b6040517f055ee9b500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091829185169063055ee9b590602401602060405180830381865afa158015614094573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140b891906147f0565b73ffffffffffffffffffffffffffffffffffffffff1614159392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146140f957600080fd5b50565b6000806040838503121561410f57600080fd5b823561411a816140d7565b9150602083013561412a816140d7565b809150509250929050565b600081518084526020808501945080840160005b8381101561419f578151805173ffffffffffffffffffffffffffffffffffffffff168852838101518489015260408082015115159089015260609081015115159088015260809096019590820190600101614149565b509495945050505050565b805173ffffffffffffffffffffffffffffffffffffffff168252600061024060208301516141f0602086018273ffffffffffffffffffffffffffffffffffffffff169052565b506040830151614204604086018215159052565b50606083015161422c606086018273ffffffffffffffffffffffffffffffffffffffff169052565b506080830151614254608086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a083015160a085015260c083015160c085015260e083015160e085015261010080840151818601525061012080840151828287015261429783870182614135565b92505050610140808401518186015250610160808401518186015250610180808401516142c78287018215159052565b50506101a083810151908501526101c080840151908501526101e080840151908501526102008084015160ff16908501526102209283015192909301919091525090565b60208152600061401a60208301846141aa565b60006020828403121561433057600080fd5b813561433b816140d7565b9392505050565b805173ffffffffffffffffffffffffffffffffffffffff168252602081015161436f602084018215159052565b506040810151614397604084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060608101516143bf606084018273ffffffffffffffffffffffffffffffffffffffff169052565b506080818101519083015260a0808201519083015260c0808201519083015260e08082015190830152610100808201519083015261012080820151908301526101408082015190830152610160808201519083015261018080820151908301526101a080820151908301526101c080820151908301526101e09081015160ff16910152565b610200810161401d8284614342565b6020808252825182820181905260009190848201906040850190845b8181101561449657614482838551614342565b92840192610200929092019160010161446f565b50909695505050505050565b600081518084526020808501945080840160005b8381101561419f57815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016144b6565b600081518084526020808501945080840160005b8381101561419f578151805173ffffffffffffffffffffffffffffffffffffffff9081168952908401511683880152604090960195908201906001016144fc565b600081518084526020808501945080840160005b8381101561419f57815187529582019590820190600101614551565b805173ffffffffffffffffffffffffffffffffffffffff168252600061026060208301516145b3602086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060408301516145c7604086018215159052565b5060608301516145db606086018215159052565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518282870152614628838701826144a2565b92505050610140808401518583038287015261464483826144e8565b925050506101608084015185830382870152614660838261453d565b92505050610180808401516146798287018260ff169052565b50506101a08381015173ffffffffffffffffffffffffffffffffffffffff908116918601919091526101c0808501511515908601526101e080850151909116908501526102008084015115159085015261022080840151908501526102409283015160ff1692909301919091525090565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561475d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261474b85835161456d565b94509285019290850190600101614711565b5092979650505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561475d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526147cb8583516141aa565b94509285019290850190600101614791565b60208152600061401a602083018461456d565b60006020828403121561480257600080fd5b815161433b816140d7565b60006020828403121561481f57600080fd5b5051919050565b600080600080600060a0868803121561483e57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b6000806040838503121561487957600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080600080608085870312156148cf57600080fd5b84516148da816140d7565b60208601516040870151606090970151919890975090945092505050565b8051801515811461490857600080fd5b919050565b60006020828403121561491f57600080fd5b61401a826148f8565b6000806040838503121561493b57600080fd5b8251614946816140d7565b602084015190925061ffff8116811461412a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156149ce576149ce61498d565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614a0b57614a0b61498d565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082614a4e57614a4e614a10565b500490565b80516fffffffffffffffffffffffffffffffff8116811461490857600080fd5b60008060408385031215614a8657600080fd5b614a8f83614a53565b9150614a9d60208401614a53565b90509250929050565b600080600060608486031215614abb57600080fd5b614ac484614a53565b9250614ad2602085016148f8565b9150604084015164ffffffffff81168114614aec57600080fd5b809150509250925092565b600060208284031215614b0957600080fd5b815160ff8116811461433b57600080fd5b600061ffff80841680614b2f57614b2f614a10565b92169190910492915050565b60008219821115614b4e57614b4e61498d565b50019056fea2646970667358221220d15108d0bec9cc6f3903875dd8412869a3da1b36661bdc780e2e2f0ae3136d2464736f6c634300080a003360a06040523480156200001157600080fd5b5060405162001b4538038062001b45833981016040819052620000349162000608565b6000805460ff19169055816001600160a01b0381166200006757604051635919af9760e11b815260040160405180910390fd5b806001600160a01b031663087376956040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000cc91906200070a565b6001600160a01b031660805250805160005b818110156200014257620001398382815181106200010057620001006200072f565b6020026020010151600001518483815181106200012157620001216200072f565b6020026020010151602001516200014c60201b60201c565b600101620000de565b5050505062000822565b6001600160a01b03821615806200016a57506001600160a01b038116155b156200018957604051635919af9760e11b815260040160405180910390fd5b620001a8826001600160a01b0316620004ba60201b620006751760201c565b620001d65760405163df4c572d60e01b81526001600160a01b03831660048201526024015b60405180910390fd5b620001f5816001600160a01b0316620004ba60201b620006751760201c565b6200021f5760405163df4c572d60e01b81526001600160a01b0382166004820152602401620001cd565b806001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156200027c575060408051601f3d908101601f19168201909252620002799181019062000745565b60015b6200029a576040516367a7cd4360e01b815260040160405180910390fd5b8060ff16600814620002bf576040516367a7cd4360e01b815260040160405180910390fd5b506000816001600160a01b031663d62ada116040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156200031f575060408051601f3d908101601f191682019092526200031c918101906200076a565b60015b6200032a576200032d565b90505b6000836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156200038c575060408051601f3d908101601f19168201909252620003899181019062000745565b60015b620003aa5760405163528ca31d60e01b815260040160405180910390fd5b60128160ff161115620003d05760405163528ca31d60e01b815260040160405180910390fd5b9050826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa9250505080156200042f575060408051601f3d908101601f191682019092526200042c91810190620007a6565b60015b6200044d576040516367a7cd4360e01b815260040160405180910390fd5b8662000461576200046185858484620004c0565b5050505050620004748484848462000526565b826001600160a01b0316846001600160a01b03167fe263805b03657ab13064915d0723c5ce14981547e7cba5283f66b9e5d81f6e6e60405160405180910390a350505050565b3b151590565b60008313620004e2576040516356e05d2b60e01b815260040160405180910390fd5b836001600160501b0316816001600160501b0316108062000501575081155b15620005205760405163b1cf675560e01b815260040160405180910390fd5b50505050565b6001600160a01b03831682156200053e57600160a11b175b6200055460ff60a21b60a284901b1682620007fb565b6001600160a01b0390951660009081526001602052604090209490945550505050565b80516001600160a01b03811681146200058f57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620005cf57620005cf62000594565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000600576200060062000594565b604052919050565b60008060408084860312156200061d57600080fd5b620006288462000577565b602085810151919450906001600160401b03808211156200064857600080fd5b818701915087601f8301126200065d57600080fd5b81518181111562000672576200067262000594565b62000682848260051b01620005d5565b818152848101925060069190911b830184019089821115620006a357600080fd5b928401925b81841015620006fa5785848b031215620006c25760008081fd5b620006cc620005aa565b620006d78562000577565b8152620006e686860162000577565b8187015283529285019291840191620006a8565b8096505050505050509250929050565b6000602082840312156200071d57600080fd5b620007288262000577565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156200075857600080fd5b815160ff811681146200072857600080fd5b6000602082840312156200077d57600080fd5b815180151581146200072857600080fd5b80516001600160501b03811681146200058f57600080fd5b600080600080600060a08688031215620007bf57600080fd5b620007ca866200078e565b9450602086015193506040860151925060608601519150620007ef608087016200078e565b90509295509295909350565b600082198211156200081d57634e487b7160e01b600052601160045260246000fd5b500190565b6080516112f262000853600039600081816101b201528181610280015281816103e201526104ff01526112f26000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80638456cb591161008c578063b66102df11610066578063b66102df146101d4578063e8a97a3e146101e7578063f190e5fa146101fa578063f9a650301461023f57600080fd5b80638456cb591461016d5780639dcb511a14610175578063a50cf2c8146101ad57600080fd5b80635c975abb116100bd5780635c975abb1461011c5780635cecbd0e146101325780637afb01041461015a57600080fd5b80633f4ba83a146100e457806341976e09146100ee57806354fd4d5014610114575b600080fd5b6100ec610252565b005b6101016100fc366004610f28565b610340565b6040519081526020015b60405180910390f35b610101600281565b60005460ff16604051901515815260200161010b565b610145610140366004610f4a565b610352565b6040805192835260208301919091520161010b565b610101610168366004610f90565b610376565b6100ec6103b4565b610188610183366004610f28565b6104a0565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010b565b6101887f000000000000000000000000000000000000000000000000000000000000000081565b6101016101e2366004610fbc565b6104b4565b6100ec6101f5366004610ff8565b6104d1565b61020d610208366004610f28565b6105c3565b6040805173ffffffffffffffffffffffffffffffffffffffff909416845291151560208401529082015260600161010b565b61010161024d366004610f90565b61064d565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d4eb5db090602401602060405180830381865afa1580156102dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103009190611022565b610336576040517f10332dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033e61067b565b565b600061034b82610761565b5092915050565b60008061035f868661064d565b915061036b848461064d565b905094509492505050565b600080600061038484610761565b90925090508161039582600a611193565b61039f908761119f565b6103a991906111dc565b925050505b92915050565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633a41ec6490602401602060405180830381865afa15801561043e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104629190611022565b610498576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033e610819565b60006104ab826105c3565b50909392505050565b60006104c96104c3858561064d565b83610376565b949350505050565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa15801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f9190611022565b6105b5576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105bf82826108d9565b5050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120548190819080610624576040517f4bb8ad8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b947402000000000000000000000000000000000000000086161515945060a286901c9350915050565b600080600061065b84610761565b909250905061066b81600a611193565b61039f838761119f565b3b151590565b60005460ff166106ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b600080600080610770856105c3565b8095508193508294505050506000806000808573ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611231565b9450945050935093508461080b5761080b84848484610dd9565b829750505050505050915091565b60005460ff1615610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106e3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586107373390565b73ffffffffffffffffffffffffffffffffffffffff82161580610910575073ffffffffffffffffffffffffffffffffffffffff8116155b15610947576040517fb2335f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82163b6109ad576040517fdf4c572d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016106e3565b73ffffffffffffffffffffffffffffffffffffffff81163b610a13576040517fdf4c572d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016106e3565b8073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a98575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610a9591810190611281565b60015b610ace576040517f67a7cd4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16600814610b0b576040517f67a7cd4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060008173ffffffffffffffffffffffffffffffffffffffff1663d62ada116040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b93575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610b9091810190611022565b60015b610b9c57610b9f565b90505b60008373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c26575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610c2391810190611281565b60015b610c5c576040517f528ca31d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60128160ff161115610c9a576040517f528ca31d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b90508273ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa925050508015610d21575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610d1e91810190611231565b60015b610d57576040517f67a7cd4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86610d6857610d6885858484610dd9565b5050505050610d7984848484610e74565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fe263805b03657ab13064915d0723c5ce14981547e7cba5283f66b9e5d81f6e6e60405160405180910390a350505050565b60008313610e13576040517f56e05d2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8369ffffffffffffffffffff168169ffffffffffffffffffff161080610e37575081155b15610e6e576040517fb1cf675500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b73ffffffffffffffffffffffffffffffffffffffff83168215610ea95774020000000000000000000000000000000000000000175b610ecf7503fc000000000000000000000000000000000000000060a284901b16826112a4565b73ffffffffffffffffffffffffffffffffffffffff90951660009081526001602052604090209490945550505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f2357600080fd5b919050565b600060208284031215610f3a57600080fd5b610f4382610eff565b9392505050565b60008060008060808587031215610f6057600080fd5b84359350610f7060208601610eff565b925060408501359150610f8560608601610eff565b905092959194509250565b60008060408385031215610fa357600080fd5b82359150610fb360208401610eff565b90509250929050565b600080600060608486031215610fd157600080fd5b83359250610fe160208501610eff565b9150610fef60408501610eff565b90509250925092565b6000806040838503121561100b57600080fd5b61101483610eff565b9150610fb360208401610eff565b60006020828403121561103457600080fd5b81518015158114610f4357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b808511156110cc57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156110b2576110b2611044565b808516156110bf57918102915b93841c9390800290611078565b509250929050565b6000826110e3575060016103ae565b816110f0575060006103ae565b816001811461110657600281146111105761112c565b60019150506103ae565b60ff84111561112157611121611044565b50506001821b6103ae565b5060208310610133831016604e8410600b841016171561114f575081810a6103ae565b6111598383611073565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561118b5761118b611044565b029392505050565b6000610f4383836110d4565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156111d7576111d7611044565b500290565b600082611212577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b805169ffffffffffffffffffff81168114610f2357600080fd5b600080600080600060a0868803121561124957600080fd5b61125286611217565b945060208601519350604086015192506060860151915061127560808701611217565b90509295509295909350565b60006020828403121561129357600080fd5b815160ff81168114610f4357600080fd5b600082198211156112b7576112b7611044565b50019056fea2646970667358221220e7485a2cb5750973f539ca59d2211008b42bb92b6c49605a53f5d9c88c330fb164736f6c634300080a003360e06040523480156200001157600080fd5b5060405162002ced38038062002ced8339810160408190526200003491620004bb565b6000805460ff19169055806001600160a01b0381166200006757604051635919af9760e11b815260040160405180910390fd5b806001600160a01b031663087376956040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000cc9190620004bb565b6001600160a01b039081166080526001805560408051808201909152600281526105a360f41b602082015291508216620001245760405162461bcd60e51b81526004016200011b9190620004ed565b60405180910390fd5b50806001600160a01b031663c513c9bb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018a9190620004bb565b6001600160a01b031660c052604051620001a490620004ad565b604051809103906000f080158015620001c1573d6000803e3d6000fd5b506001600160a01b031660a08190526040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b1580156200020857600080fd5b505af11580156200021d573d6000803e3d6000fd5b50505050620002316200028a60201b60201c565b50600454600380546001600160a01b039092166001600160a01b03199283161790556000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b8054909116905562000545565b6000620002a460a0516200038c60201b6200119b1760201c565b9050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620002e257600080fd5b505af1158015620002f7573d6000803e3d6000fd5b5050600480546001600160a01b03908116600090815260026020908152604090912080546001600160a01b03199081169388169384179091558354169091179091556200035492506005915083906200043b811b6200127d17901c565b506040516001600160a01b038216907f9f69b6c10f6810213e055b0ba6bc0a4e2603f73c221aad77ea35da819cda7dc390600090a250565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b038116620004365760405162461bcd60e51b815260206004820152601660248201527f455243313136373a20637265617465206661696c65640000000000000000000060448201526064016200011b565b919050565b600062000452836001600160a01b0384166200045b565b90505b92915050565b6000818152600183016020526040812054620004a45750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000455565b50600062000455565b610e788062001e7583390190565b600060208284031215620004ce57600080fd5b81516001600160a01b0381168114620004e657600080fd5b9392505050565b600060208083528351808285015260005b818110156200051c57858101830151858201604001528201620004fe565b818111156200052f576000604083870101525b50601f01601f1916929092016040019392505050565b60805160a05160c0516118cf620005a66000396000818161026a015281816103680152610b7001526000818161020201526110650152600081816102c4015281816105b80152818161099601528181610a840152610e7401526118cf6000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806388f64c54116100cd578063b193976311610081578063d82ecc4811610066578063d82ecc4814610309578063e3ba9ace1461031c578063f23953ab1461032f57600080fd5b8063b1939763146102f9578063b60e85181461030157600080fd5b80638f7dcfa3116100b25780638f7dcfa31461029f578063a50cf2c8146102bf578063a904aab6146102e657600080fd5b806388f64c541461026557806389b77b3e1461028c57600080fd5b806354fd4d50116101245780635da33c5b116101095780635da33c5b146101fd578063765e0159146102245780638456cb591461025d57600080fd5b806354fd4d50146101d05780635c975abb146101e657600080fd5b806313d8c8401461015657806321d18456146101a05780632932472f146101b35780633f4ba83a146101c8575b600080fd5b6004546101769073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101766101ae366004611651565b610337565b6101c66101c1366004611697565b61058a565b005b6101c6610968565b6101d8600181565b604051908152602001610197565b60005460ff165b6040519015158152602001610197565b6101767f000000000000000000000000000000000000000000000000000000000000000081565b6101766102323660046116da565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600260205260409020541690565b6101c6610a56565b6101767f000000000000000000000000000000000000000000000000000000000000000081565b6101c661029a3660046116da565b610b42565b6003546101769073ffffffffffffffffffffffffffffffffffffffff1681565b6101767f000000000000000000000000000000000000000000000000000000000000000081565b6101c66102f4366004611697565b610e46565b6101d8610fb8565b6101d8611033565b6101ed6103173660046116da565b611044565b61017661032a3660046116f5565b611051565b6101c661105e565b6040517f6fbc6f6b0000000000000000000000000000000000000000000000000000000081523360048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636fbc6f6b90602401602060405180830381865afa1580156103c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e8919061170e565b6040518060400160405280600281526020017f43500000000000000000000000000000000000000000000000000000000000008152509061045f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104569190611730565b60405180910390fd5b506104686112a6565b6003805473ffffffffffffffffffffffffffffffffffffffff8082166000818152600260205260409081902080549093167fffffffffffffffffffffffff0000000000000000000000000000000000000000948516179094558154909216905590517fc75b5a710000000000000000000000000000000000000000000000000000000081523360048201526024810185905260448101849052819063c75b5a7190606401600060405180830381600087803b15801561052657600080fd5b505af115801561053a573d6000803e3d6000fd5b505060405133925073ffffffffffffffffffffffffffffffffffffffff841691507ff3ede7039176503a8ad1fe7cfaa29475a9dbe0cdcaf04ecf9a5c10570c47b10390600090a390505b92915050565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa158015610614573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610638919061170e565b61066e576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106766112a6565b60035473ffffffffffffffffffffffffffffffffffffffff838116911614156106fa576003805473ffffffffffffffffffffffffffffffffffffffff808216600090815260026020526040902080549091167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092558154169055610865565b73ffffffffffffffffffffffffffffffffffffffff838116600090815260026020908152604091829020548251808401909352600383527f4146330000000000000000000000000000000000000000000000000000000000918301919091529091848116911614610798576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104569190611730565b5060045473ffffffffffffffffffffffffffffffffffffffff838116911614156107fd57600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85161790555b73ffffffffffffffffffffffffffffffffffffffff828116600081815260026020526040808220805488861684529183208054929095167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790945591905281541690555b6040517fc75b5a7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600060248301819052604483015283169063c75b5a7190606401600060405180830381600087803b1580156108dc57600080fd5b505af11580156108f0573d6000803e3d6000fd5b505050506109088260056112dd90919063ffffffff16565b508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f25e267469ba2ae82515be7b3d45df60bf8308343f0809e8cf7319058e2255ce660405160405180910390a3505050565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d4eb5db090602401602060405180830381865afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a16919061170e565b610a4c576040517f10332dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a546112ff565b565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633a41ec6490602401602060405180830381865afa158015610ae0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b04919061170e565b610b3a576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a546113e0565b6040517f6fbc6f6b0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636fbc6f6b90602401602060405180830381865afa158015610bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf0919061170e565b6040518060400160405280600281526020017f435000000000000000000000000000000000000000000000000000000000000081525090610c5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104569190611730565b50610c6a6005826114a0565b6040518060400160405280600381526020017f414634000000000000000000000000000000000000000000000000000000000081525090610cd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104569190611730565b50438173ffffffffffffffffffffffffffffffffffffffff16633dc54b406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4991906117a3565b14156040518060400160405280600381526020017f414631000000000000000000000000000000000000000000000000000000000081525090610db9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104569190611730565b506004805473ffffffffffffffffffffffffffffffffffffffff90811660009081526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169487169485179091558454168317909355915190917fced6ab9afc868b3a088366f6631ae20752993b5cce5d5f0534ea5a59fcc57d5691a250565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa158015610ed0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef4919061170e565b610f2a576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f19a1603900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015282811660248301528416906319a1603990604401600060405180830381600087803b158015610f9b57600080fd5b505af1158015610faf573d6000803e3d6000fd5b50505050505050565b600354600090819073ffffffffffffffffffffffffffffffffffffffff165b73ffffffffffffffffffffffffffffffffffffffff81161561102d5773ffffffffffffffffffffffffffffffffffffffff9081166000908152600260205260409020541681611025816117eb565b925050610fd7565b50919050565b600061103f60056114cf565b905090565b60006105846005836114a0565b60006105846005836114d9565b60006110897f000000000000000000000000000000000000000000000000000000000000000061119b565b90508073ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156110d357600080fd5b505af11580156110e7573d6000803e3d6000fd5b50506004805473ffffffffffffffffffffffffffffffffffffffff908116600090815260026020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692871692831790915582541617905550611156905060058261127d565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907f9f69b6c10f6810213e055b0ba6bc0a4e2603f73c221aad77ea35da819cda7dc390600090a250565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f091505073ffffffffffffffffffffffffffffffffffffffff8116611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c6564000000000000000000006044820152606401610456565b919050565b600061129f8373ffffffffffffffffffffffffffffffffffffffff84166114e5565b9392505050565b60035473ffffffffffffffffffffffffffffffffffffffff90811660009081526002602052604090205416610a5457610a5461105e565b600061129f8373ffffffffffffffffffffffffffffffffffffffff8416611534565b60005460ff1661136b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610456565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60005460ff161561144d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610456565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586113b63390565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600183016020526040812054151561129f565b6000610584825490565b600061129f8383611627565b600081815260018301602052604081205461152c57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610584565b506000610584565b6000818152600183016020526040812054801561161d576000611558600183611824565b855490915060009061156c90600190611824565b90508181146115d157600086600001828154811061158c5761158c61183b565b90600052602060002001549050808760000184815481106115af576115af61183b565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115e2576115e261186a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610584565b6000915050610584565b600082600001828154811061163e5761163e61183b565b9060005260206000200154905092915050565b6000806040838503121561166457600080fd5b50508035926020909101359150565b803573ffffffffffffffffffffffffffffffffffffffff8116811461127857600080fd5b6000806000606084860312156116ac57600080fd5b6116b584611673565b92506116c360208501611673565b91506116d160408501611673565b90509250925092565b6000602082840312156116ec57600080fd5b61129f82611673565b60006020828403121561170757600080fd5b5035919050565b60006020828403121561172057600080fd5b8151801515811461129f57600080fd5b600060208083528351808285015260005b8181101561175d57858101830151858201604001528201611741565b8181111561176f576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000602082840312156117b557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561181d5761181d6117bc565b5060010190565b600082821015611836576118366117bc565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220f1e9c81b8c3af2491c907ee66cf24e1bb76111b821db02df8f98dbb48b5ab5fa64736f6c634300080a0033608060405234801561001057600080fd5b50610e58806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806354fd4d5011610081578063c45a01551161005b578063c45a0155146101a4578063c75b5a71146101ca578063d1660f99146101dd57600080fd5b806354fd4d501461014f5780638129fc1c14610157578063c12c21c01461015f57600080fd5b80631afbb7a4116100b25780631afbb7a41461011d5780631cff79cd146101265780633dc54b401461014657600080fd5b806316128211146100d957806317d11a15146100ee57806319a160391461010a575b600080fd5b6100ec6100e7366004610b42565b6101f0565b005b6100f760035481565b6040519081526020015b60405180910390f35b6100ec610118366004610b8d565b61024c565b6100f760025481565b610139610134366004610bef565b6102c9565b6040516101019190610d49565b6100f760045481565b6100f7600181565b6100ec610344565b60015461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610101565b60005461017f9062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ec6101d8366004610d5c565b610494565b6100ec6101eb366004610d8f565b61053d565b60015473ffffffffffffffffffffffffffffffffffffffff163314610241576040517f1f51116700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600291909155600355565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1633146102a3576040517fb126b84800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102c573ffffffffffffffffffffffffffffffffffffffff83168260006105b4565b5050565b60015460609073ffffffffffffffffffffffffffffffffffffffff16331461031d576040517f1f51116700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033d73ffffffffffffffffffffffffffffffffffffffff8416836107b4565b9392505050565b600054610100900460ff1661035f5760005460ff1615610363565b303b155b6103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600054610100900460ff1615801561043357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff16336201000002179055801561049157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1633146104eb576040517fb126b84800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff949094169390931790925560025560035543600455565b60015473ffffffffffffffffffffffffffffffffffffffff16331461058e576040517f1f51116700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105af73ffffffffffffffffffffffffffffffffffffffff841683836107f6565b505050565b80158061065457506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106529190610dcb565b155b6106e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016103eb565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526105af9084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261084c565b606061033d83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250610958565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526105af9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610732565b60006108ae826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109589092919063ffffffff16565b8051909150156105af57808060200190518101906108cc9190610de4565b6105af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016103eb565b6060610967848460008561096f565b949350505050565b606082471015610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016103eb565b843b610a69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103eb565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a929190610e06565b60006040518083038185875af1925050503d8060008114610acf576040519150601f19603f3d011682016040523d82523d6000602084013e610ad4565b606091505b5091509150610ae4828286610aef565b979650505050505050565b60608315610afe57508161033d565b825115610b0e5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103eb9190610d49565b60008060408385031215610b5557600080fd5b50508035926020909101359150565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b8857600080fd5b919050565b60008060408385031215610ba057600080fd5b610ba983610b64565b9150610bb760208401610b64565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215610c0257600080fd5b610c0b83610b64565b9150602083013567ffffffffffffffff80821115610c2857600080fd5b818501915085601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bc0565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bc0565b81604052828152886020848701011115610cad57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015610cea578181015183820152602001610cd2565b83811115610cf9576000848401525b50505050565b60008151808452610d17816020860160208601610ccf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061033d6020830184610cff565b600080600060608486031215610d7157600080fd5b610d7a84610b64565b95602085013595506040909401359392505050565b600080600060608486031215610da457600080fd5b610dad84610b64565b9250610dbb60208501610b64565b9150604084013590509250925092565b600060208284031215610ddd57600080fd5b5051919050565b600060208284031215610df657600080fd5b8151801515811461033d57600080fd5b60008251610e18818460208701610ccf565b919091019291505056fea2646970667358221220448e7046078cd668c09328d857e534e2aab6cdc0e691d3d4f2c8baae8e084b1364736f6c634300080a003360c06040523480156200001157600080fd5b506040516200162738038062001627833981016040819052620000349162000177565b60408051808201909152600281526105a360f41b60208201526001600160a01b038216620000805760405162461bcd60e51b8152600401620000779190620001a9565b60405180910390fd5b50806001600160a01b0316634c252f916040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e6919062000177565b6001600160a01b03166080816001600160a01b031681525050806001600160a01b031663c513c9bb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000164919062000177565b6001600160a01b031660a0525062000201565b6000602082840312156200018a57600080fd5b81516001600160a01b0381168114620001a257600080fd5b9392505050565b600060208083528351808285015260005b81811015620001d857858101830151858201604001528201620001ba565b81811115620001eb576000604083870101525b50601f01601f1916929092016040019392505050565b60805160a0516113c2620002656000396000818161021f0152818161036401526106d501526000818160af0152818161012a015281816104420152818161056e015281816107b301528181610aa601528181610b890152610c6701526113c26000f3fe60806040526004361061005e5760003560e01c80635869dba8116100435780635869dba814610199578063deecfbc9146101bb578063e79a4089146101ce57600080fd5b80634f0e0ef31461011857806354fd4d501461017657600080fd5b366101135760408051808201909152600381527f574732000000000000000000000000000000000000000000000000000000000060208201523373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610110576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010791906111ed565b60405180910390fd5b50005b600080fd5b34801561012457600080fd5b5061014c7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018257600080fd5b5061018b600181565b60405190815260200161016d565b3480156101a557600080fd5b506101b96101b4366004611263565b6101ee565b005b6101b96101c936600461128f565b61031d565b3480156101da57600080fd5b506101b96101e93660046112e1565b61068e565b6040517f6fbc6f6b0000000000000000000000000000000000000000000000000000000081523360048201819052907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636fbc6f6b90602401602060405180830381865afa15801561027b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029f9190611318565b6040518060400160405280600281526020017f43500000000000000000000000000000000000000000000000000000000000008152509061030d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010791906111ed565b506103188383610a77565b505050565b6040517f5b16ebb700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808516600483015284917f000000000000000000000000000000000000000000000000000000000000000090911690635b16ebb790602401602060405180830381865afa1580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d19190611318565b6040518060400160405280600281526020017f52500000000000000000000000000000000000000000000000000000000000008152509061043f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010791906111ed565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e6919061133a565b73ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f57473100000000000000000000000000000000000000000000000000000000008152509061056b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010791906111ed565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156105d457600080fd5b505af11580156105e8573d6000803e3d6000fd5b50505050506105f78434610b3c565b6040517f9aa5d46200000000000000000000000000000000000000000000000000000000815234600482015273ffffffffffffffffffffffffffffffffffffffff848116602483015261ffff84166044830152851690639aa5d46290606401600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b5050505050505050565b6040517f5b16ebb700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808516600483015284917f000000000000000000000000000000000000000000000000000000000000000090911690635b16ebb790602401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107429190611318565b6040518060400160405280600281526020017f5250000000000000000000000000000000000000000000000000000000000000815250906107b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010791906111ed565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b8152600401602060405180830381865afa158015610833573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610857919061133a565b73ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f5747310000000000000000000000000000000000000000000000000000000000815250906108dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010791906111ed565b506109703330858773ffffffffffffffffffffffffffffffffffffffff166336dda7d56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561092e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610952919061133a565b73ffffffffffffffffffffffffffffffffffffffff16929190610cd4565b6040517f05fe138b0000000000000000000000000000000000000000000000000000000081526004810184905230602482015260009073ffffffffffffffffffffffffffffffffffffffff8616906305fe138b906044016020604051808303816000875af11580156109e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0a9190611357565b9050610a168382610a77565b8273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f6de63bb986f2779478e384365c03cc2e62f06b453856acca87d5a519ce02664960405160405180910390a35050505050565b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d90602401600060405180830381600087803b158015610aff57600080fd5b505af1158015610b13573d6000803e3d6000fd5b50610b389250505073ffffffffffffffffffffffffffffffffffffffff831682610d6f565b5050565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015282917f00000000000000000000000000000000000000000000000000000000000000009091169063dd62ed3e90604401602060405180830381865afa158015610bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf69190611357565b1015610b38576040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303816000875af1158015610cb0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103189190611318565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610d69908590610ec9565b50505050565b80471015610dd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610107565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610e33576040519150601f19603f3d011682016040523d82523d6000602084013e610e38565b606091505b5050905080610318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610107565b6000610f2b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610fd59092919063ffffffff16565b8051909150156103185780806020019051810190610f499190611318565b610318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610107565b6060610fe48484600085610fee565b90505b9392505050565b606082471015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610107565b843b6110e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610107565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516111119190611370565b60006040518083038185875af1925050503d806000811461114e576040519150601f19603f3d011682016040523d82523d6000602084013e611153565b606091505b509150915061116382828661116e565b979650505050505050565b6060831561117d575081610fe7565b82511561118d5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010791906111ed565b60005b838110156111dc5781810151838201526020016111c4565b83811115610d695750506000910152565b602081526000825180602084015261120c8160408501602087016111c1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461126057600080fd5b50565b6000806040838503121561127657600080fd5b82356112818161123e565b946020939093013593505050565b6000806000606084860312156112a457600080fd5b83356112af8161123e565b925060208401356112bf8161123e565b9150604084013561ffff811681146112d657600080fd5b809150509250925092565b6000806000606084860312156112f657600080fd5b83356113018161123e565b92506020840135915060408401356112d68161123e565b60006020828403121561132a57600080fd5b81518015158114610fe757600080fd5b60006020828403121561134c57600080fd5b8151610fe78161123e565b60006020828403121561136957600080fd5b5051919050565b600082516113828184602087016111c1565b919091019291505056fea264697066735822122017fd7fc76e4a1efcf24b78a3417fad7ab9576f0a23aa756ddb211c5e2227aa9564736f6c634300080a003360806040523480156200001157600080fd5b5060405162002b8038038062002b80833981016040819052620000349162000122565b6001600160a01b0381166200008f5760405162461bcd60e51b815260206004820152601b60248201527f5a65726f2061646472657373206973206e6f7420616c6c6f7765640000000000604482015260640160405180910390fd5b6001600160a01b03811660008181526001602052604080822080546001600160601b0319166b204fce5e3e2502611000000090811790915590517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620000f99190815260200190565b60405180910390a350600680546001600160a81b031916336101000260ff191617905562000154565b6000602082840312156200013557600080fd5b81516001600160a01b03811681146200014d57600080fd5b9392505050565b612a1c80620001646000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c806370a08231116100f9578063b4b5ea5711610097578063dd62ed3e11610071578063dd62ed3e14610503578063e7a324dc14610555578063f1127ed81461057c578063f2fde38b146105ee57600080fd5b8063b4b5ea57146104ca578063c3cda520146104dd578063d505accf146104f057600080fd5b806395d89b41116100d357806395d89b411461045b5780639742ca4614610497578063a9059cbb146104aa578063b0660c3d146104bd57600080fd5b806370a08231146103c7578063782d6fe11461040b5780637ecebe001461043b57600080fd5b806330adf81f11610166578063481c6a7511610140578063481c6a751461031e578063587cde1e146103435780635c19a95c146103795780636fcfff451461038c57600080fd5b806330adf81f14610298578063313ce567146102bf578063349dc329146102d957600080fd5b806320606b701161019757806320606b70146102545780632185810b1461027b57806323b872dd1461028557600080fd5b806306fdde03146101be578063095ea7b31461021057806318160ddd14610233575b600080fd5b6101fa6040518060400160405280600781526020017f47656172626f780000000000000000000000000000000000000000000000000081525081565b60405161020791906124a3565b60405180910390f35b61022361021e36600461253f565b610601565b6040519015158152602001610207565b6102466b204fce5e3e2502611000000081565b604051908152602001610207565b6102467f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b61028361070d565b005b610223610293366004612569565b6107ee565b6102467f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6102c7601281565b60405160ff9091168152602001610207565b6007546102f99073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610207565b6006546102f990610100900473ffffffffffffffffffffffffffffffffffffffff1681565b6102f96103513660046125a5565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6102836103873660046125a5565b61098a565b6103b261039a3660046125a5565b60046020526000908152604090205463ffffffff1681565b60405163ffffffff9091168152602001610207565b6102466103d53660046125a5565b73ffffffffffffffffffffffffffffffffffffffff166000908152600160205260409020546bffffffffffffffffffffffff1690565b61041e61041936600461253f565b610997565b6040516bffffffffffffffffffffffff9091168152602001610207565b6102466104493660046125a5565b60056020526000908152604090205481565b6101fa6040518060400160405280600481526020017f474541520000000000000000000000000000000000000000000000000000000081525081565b6102836104a53660046125a5565b610cae565b6102236104b836600461253f565b610e20565b6006546102239060ff1681565b61041e6104d83660046125a5565b610e5c565b6102836104eb3660046125d1565b610efa565b6102836104fe366004612629565b611310565b610246610511366004612693565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152602081815260408083209390941682529190915220546bffffffffffffffffffffffff1690565b6102467fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b6105c561058a3660046126c6565b600360209081526000928352604080842090915290825290205463ffffffff81169064010000000090046bffffffffffffffffffffffff1682565b6040805163ffffffff90931683526bffffffffffffffffffffffff909116602083015201610207565b6102836105fc3660046125a5565b61187a565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83141561063f57506bffffffffffffffffffffffff610664565b6106618360405180606001604052806025815260200161285260259139611a15565b90505b3360008181526020818152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902080547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffffffffffffffffffff871690811790915590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a360019150505b92915050565b600654610100900473ffffffffffffffffffffffffffffffffffffffff163314610798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f476561723a3a63616c6c6572206973206e6f7420746865206d616e616765720060448201526064015b60405180910390fd5b600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517f795b0e16c8da9807b0a215f3749bd6dbcc49fc0472183f4e446abb7dcbd9d00790600090a1565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083203380855290835281842054825160608101909352602580845291936bffffffffffffffffffffffff909116928592610856928892919061285290830139611a15565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156108a257506bffffffffffffffffffffffff82811614155b156109725760006108cc83836040518060600160405280603d8152602001612974603d9139611a67565b73ffffffffffffffffffffffffffffffffffffffff898116600081815260208181526040808320948a168084529482529182902080547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffffffffffffffffffff87169081179091559151918252939450919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b61097d878783611ad5565b5060019695505050505050565b6109943382611e9c565b50565b6000438210610a28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f476561723a3a6765745072696f72566f7465733a206e6f74207965742064657460448201527f65726d696e656400000000000000000000000000000000000000000000000000606482015260840161078f565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602052604090205463ffffffff1680610a63576000915050610707565b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602052604081208491610a95600185612735565b63ffffffff90811682526020820192909252604001600020541611610b1b5773ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812090610ae5600184612735565b63ffffffff16815260208101919091526040016000205464010000000090046bffffffffffffffffffffffff1691506107079050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020908152604080832083805290915290205463ffffffff16831015610b63576000915050610707565b600080610b71600184612735565b90505b8163ffffffff168163ffffffff161115610c565760006002610b968484612735565b610ba0919061275a565b610baa9083612735565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260036020908152604080832063ffffffff8581168552908352928190208151808301909252549283168082526401000000009093046bffffffffffffffffffffffff1691810191909152919250871415610c2a576020015194506107079350505050565b805163ffffffff16871115610c4157819350610c4f565b610c4c600183612735565b92505b5050610b74565b5073ffffffffffffffffffffffffffffffffffffffff8516600090815260036020908152604080832063ffffffff909416835292905220546bffffffffffffffffffffffff6401000000009091041691505092915050565b600654610100900473ffffffffffffffffffffffffffffffffffffffff163314610d34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f476561723a3a63616c6c6572206973206e6f7420746865206d616e6167657200604482015260640161078f565b73ffffffffffffffffffffffffffffffffffffffff8116610db1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5a65726f2061646472657373206973206e6f7420616c6c6f7765640000000000604482015260640161078f565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f2f834d1c8c4b956018fff5faca4d99868ae635487424d9c265c257ccbc698c6a90600090a250565b600080610e45836040518060600160405280602681526020016128a760269139611a15565b9050610e52338583611ad5565b5060019392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205463ffffffff1680610e94576000610ef3565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812090610ec5600184612735565b63ffffffff16815260208101919091526040016000205464010000000090046bffffffffffffffffffffffff165b9392505050565b604080518082018252600781527f47656172626f780000000000000000000000000000000000000000000000000060209182015281517f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866818301527f028ef9f797075f74ac647c65fde04fb0f128c2d59fd40f45732269917642fd4681840152466060820152306080808301919091528351808303909101815260a0820184528051908301207fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60c083015273ffffffffffffffffffffffffffffffffffffffff8a1660e08301526101008201899052610120808301899052845180840390910181526101408301909452835193909201929092207f19010000000000000000000000000000000000000000000000000000000000006101608401526101628301829052610182830181905290916000906101a201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff8a169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa1580156110d8573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f476561723a3a64656c656761746542795369673a20696e76616c69642073696760448201527f6e61747572650000000000000000000000000000000000000000000000000000606482015260840161078f565b73ffffffffffffffffffffffffffffffffffffffff811660009081526005602052604081208054916111d7836127a4565b919050558914611269576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f476561723a3a64656c656761746542795369673a20696e76616c6964206e6f6e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161078f565b874211156112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f476561723a3a64656c656761746542795369673a207369676e6174757265206560448201527f7870697265640000000000000000000000000000000000000000000000000000606482015260840161078f565b611303818b611e9c565b505050505b505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86141561134d57506bffffffffffffffffffffffff611372565b61136f8660405180606001604052806024815260200161291c60249139611a15565b90505b604080518082018252600781527f47656172626f780000000000000000000000000000000000000000000000000060209182015281517f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866818301527f028ef9f797075f74ac647c65fde04fb0f128c2d59fd40f45732269917642fd4681840152466060820152306080808301919091528351808303909101815260a0909101835280519082012073ffffffffffffffffffffffffffffffffffffffff8b166000908152600590925291812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c919086611472836127a4565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001209050600082826040516020016115199291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff8b169284019290925260608301899052608083018890529092509060019060a0016020604051602081039080840390855afa1580156115a2573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661164a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f476561723a3a7065726d69743a20696e76616c6964207369676e617475726500604482015260640161078f565b8b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146116df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f476561723a3a7065726d69743a20756e617574686f72697a6564000000000000604482015260640161078f565b88421115611749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f476561723a3a7065726d69743a207369676e6174757265206578706972656400604482015260640161078f565b846000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258760405161186491906bffffffffffffffffffffffff91909116815260200190565b60405180910390a3505050505050505050505050565b600654610100900473ffffffffffffffffffffffffffffffffffffffff163314611900576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f476561723a3a63616c6c6572206973206e6f7420746865206d616e6167657200604482015260640161078f565b73ffffffffffffffffffffffffffffffffffffffff811661197d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5a65726f2061646472657373206973206e6f7420616c6c6f7765640000000000604482015260640161078f565b60065460405173ffffffffffffffffffffffffffffffffffffffff80841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b6000816c010000000000000000000000008410611a5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078f91906124a3565b509192915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290611ac2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078f91906124a3565b50611acd83856127dd565b949350505050565b60065460ff1680611b025750600654610100900473ffffffffffffffffffffffffffffffffffffffff1633145b80611b24575060075473ffffffffffffffffffffffffffffffffffffffff1633145b611b8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f476561723a3a7472616e73666572732061726520666f7262696464656e000000604482015260640161078f565b73ffffffffffffffffffffffffffffffffffffffff8316611c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f476561723a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260448201527f616e736665722066726f6d20746865207a65726f206164647265737300000000606482015260840161078f565b73ffffffffffffffffffffffffffffffffffffffff8216611cd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f476561723a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260448201527f616e7366657220746f20746865207a65726f2061646472657373000000000000606482015260840161078f565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020908152604091829020548251606081019093526036808452611d2d936bffffffffffffffffffffffff90921692859291906129b190830139611a67565b73ffffffffffffffffffffffffffffffffffffffff848116600090815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffffffffffffffffffff968716179055928616825290829020548251606081019093526030808452611dbf949190911692859290919061287790830139611f50565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260409182902080547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffffffffffffffffffff968716179055905193851684529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a373ffffffffffffffffffffffffffffffffffffffff808416600090815260026020526040808220548584168352912054611e9792918216911683611fc1565b505050565b73ffffffffffffffffffffffffffffffffffffffff808316600081815260026020818152604080842080546001845282862054949093528787167fffffffffffffffffffffffff000000000000000000000000000000000000000084168117909155905191909516946bffffffffffffffffffffffff9092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611f4a828483611fc1565b50505050565b600080611f5d8486612802565b9050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff1610158390611fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078f91906124a3565b50949350505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561200b57506000816bffffffffffffffffffffffff16115b15611e975773ffffffffffffffffffffffffffffffffffffffff8316156120fd5773ffffffffffffffffffffffffffffffffffffffff831660009081526004602052604081205463ffffffff1690816120655760006120c4565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260036020526040812090612096600185612735565b63ffffffff16815260208101919091526040016000205464010000000090046bffffffffffffffffffffffff165b905060006120eb82856040518060600160405280602881526020016128cd60289139611a67565b90506120f9868484846121e2565b5050505b73ffffffffffffffffffffffffffffffffffffffff821615611e975773ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604081205463ffffffff1690816121525760006121b1565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812090612183600185612735565b63ffffffff16815260208101919091526040016000205464010000000090046bffffffffffffffffffffffff165b905060006121d882856040518060600160405280602781526020016128f560279139611f50565b9050611308858484845b60006122064360405180606001604052806034815260200161294060349139612465565b905060008463ffffffff1611801561226d575073ffffffffffffffffffffffffffffffffffffffff8516600090815260036020526040812063ffffffff831691612251600188612735565b63ffffffff908116825260208201929092526040016000205416145b156123035773ffffffffffffffffffffffffffffffffffffffff8516600090815260036020526040812083916122a4600188612735565b63ffffffff168152602081019190915260400160002080546bffffffffffffffffffffffff92909216640100000000027fffffffffffffffffffffffffffffffff000000000000000000000000ffffffff9092169190911790556123fe565b60408051808201825263ffffffff80841682526bffffffffffffffffffffffff808616602080850191825273ffffffffffffffffffffffffffffffffffffffff8b166000908152600382528681208b8616825290915294909420925183549451909116640100000000027fffffffffffffffffffffffffffffffff000000000000000000000000000000009094169116179190911790556123a5846001612832565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260046020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff929092169190911790555b604080516bffffffffffffffffffffffff80861682528416602082015273ffffffffffffffffffffffffffffffffffffffff8716917fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724910160405180910390a25050505050565b6000816401000000008410611a5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078f91905b600060208083528351808285015260005b818110156124d0578581018301518582016040015282016124b4565b818111156124e2576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461253a57600080fd5b919050565b6000806040838503121561255257600080fd5b61255b83612516565b946020939093013593505050565b60008060006060848603121561257e57600080fd5b61258784612516565b925061259560208501612516565b9150604084013590509250925092565b6000602082840312156125b757600080fd5b610ef382612516565b803560ff8116811461253a57600080fd5b60008060008060008060c087890312156125ea57600080fd5b6125f387612516565b9550602087013594506040870135935061260f606088016125c0565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561264457600080fd5b61264d88612516565b965061265b60208901612516565b95506040880135945060608801359350612677608089016125c0565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156126a657600080fd5b6126af83612516565b91506126bd60208401612516565b90509250929050565b600080604083850312156126d957600080fd5b6126e283612516565b9150602083013563ffffffff811681146126fb57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff8381169083168181101561275257612752612706565b039392505050565b600063ffffffff80841680612798577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156127d6576127d6612706565b5060010190565b60006bffffffffffffffffffffffff8381169083168181101561275257612752612706565b60006bffffffffffffffffffffffff80831681851680830382111561282957612829612706565b01949350505050565b600063ffffffff8083168185168083038211156128295761282961270656fe476561723a3a617070726f76653a20616d6f756e7420657863656564732039362062697473476561723a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773476561723a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473476561723a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773476561723a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773476561723a3a7065726d69743a20616d6f756e7420657863656564732039362062697473476561723a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473476561723a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365476561723a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365a26469706673582212201b84fd7789a35c022f692420863210a30e82d2405659f5a28275d433fa53467f64736f6c634300080a0033";
148
-
149
- type GenesisFactoryConstructorParams =
150
- | [signer?: Signer]
151
- | ConstructorParameters<typeof ContractFactory>;
152
-
153
- const isSuperArgs = (
154
- xs: GenesisFactoryConstructorParams
155
- ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
156
-
157
- export class GenesisFactory__factory extends ContractFactory {
158
- constructor(...args: GenesisFactoryConstructorParams) {
159
- if (isSuperArgs(args)) {
160
- super(...args);
161
- } else {
162
- super(_abi, _bytecode, args[0]);
163
- }
164
- }
165
-
166
- override deploy(
167
- wethToken: string,
168
- treasury: string,
169
- overrides?: Overrides & { from?: string | Promise<string> }
170
- ): Promise<GenesisFactory> {
171
- return super.deploy(
172
- wethToken,
173
- treasury,
174
- overrides || {}
175
- ) as Promise<GenesisFactory>;
176
- }
177
- override getDeployTransaction(
178
- wethToken: string,
179
- treasury: string,
180
- overrides?: Overrides & { from?: string | Promise<string> }
181
- ): TransactionRequest {
182
- return super.getDeployTransaction(wethToken, treasury, overrides || {});
183
- }
184
- override attach(address: string): GenesisFactory {
185
- return super.attach(address) as GenesisFactory;
186
- }
187
- override connect(signer: Signer): GenesisFactory__factory {
188
- return super.connect(signer) as GenesisFactory__factory;
189
- }
190
-
191
- static readonly bytecode = _bytecode;
192
- static readonly abi = _abi;
193
- static createInterface(): GenesisFactoryInterface {
194
- return new utils.Interface(_abi) as GenesisFactoryInterface;
195
- }
196
- static connect(
197
- address: string,
198
- signerOrProvider: Signer | Provider
199
- ): GenesisFactory {
200
- return new Contract(address, _abi, signerOrProvider) as GenesisFactory;
201
- }
202
- }