@gearbox-protocol/sdk 0.0.109 → 1.0.1-next.1

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 +25 -11
  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 +13 -13
  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 +7 -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 -284
  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 -414
  236. package/src/strategies/creditFacade.ts +0 -119
  237. package/src/strategies/curve.ts +0 -478
  238. package/src/strategies/lido.ts +0 -88
  239. package/src/strategies/uniswapV2.ts +0 -109
  240. package/src/strategies/uniswapV3.ts +0 -127
  241. package/src/strategies/yearn.ts +0 -219
  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,543 +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
- CurveLPPriceFeedTest,
8
- CurveLPPriceFeedTestInterface,
9
- } from "../../../../../contracts/test/oracles/CurveLPPriceFeed.t.sol/CurveLPPriceFeedTest";
10
-
11
- const _abi = [
12
- {
13
- inputs: [],
14
- name: "IncorrectLimitsException",
15
- type: "error",
16
- },
17
- {
18
- inputs: [],
19
- name: "ValueOutOfRangeExpcetion",
20
- type: "error",
21
- },
22
- {
23
- anonymous: false,
24
- inputs: [
25
- {
26
- indexed: false,
27
- internalType: "string",
28
- name: "",
29
- type: "string",
30
- },
31
- ],
32
- name: "log",
33
- type: "event",
34
- },
35
- {
36
- anonymous: false,
37
- inputs: [
38
- {
39
- indexed: false,
40
- internalType: "address",
41
- name: "",
42
- type: "address",
43
- },
44
- ],
45
- name: "log_address",
46
- type: "event",
47
- },
48
- {
49
- anonymous: false,
50
- inputs: [
51
- {
52
- indexed: false,
53
- internalType: "bytes",
54
- name: "",
55
- type: "bytes",
56
- },
57
- ],
58
- name: "log_bytes",
59
- type: "event",
60
- },
61
- {
62
- anonymous: false,
63
- inputs: [
64
- {
65
- indexed: false,
66
- internalType: "bytes32",
67
- name: "",
68
- type: "bytes32",
69
- },
70
- ],
71
- name: "log_bytes32",
72
- type: "event",
73
- },
74
- {
75
- anonymous: false,
76
- inputs: [
77
- {
78
- indexed: false,
79
- internalType: "int256",
80
- name: "",
81
- type: "int256",
82
- },
83
- ],
84
- name: "log_int",
85
- type: "event",
86
- },
87
- {
88
- anonymous: false,
89
- inputs: [
90
- {
91
- indexed: false,
92
- internalType: "string",
93
- name: "key",
94
- type: "string",
95
- },
96
- {
97
- indexed: false,
98
- internalType: "address",
99
- name: "val",
100
- type: "address",
101
- },
102
- ],
103
- name: "log_named_address",
104
- type: "event",
105
- },
106
- {
107
- anonymous: false,
108
- inputs: [
109
- {
110
- indexed: false,
111
- internalType: "string",
112
- name: "key",
113
- type: "string",
114
- },
115
- {
116
- indexed: false,
117
- internalType: "bytes",
118
- name: "val",
119
- type: "bytes",
120
- },
121
- ],
122
- name: "log_named_bytes",
123
- type: "event",
124
- },
125
- {
126
- anonymous: false,
127
- inputs: [
128
- {
129
- indexed: false,
130
- internalType: "string",
131
- name: "key",
132
- type: "string",
133
- },
134
- {
135
- indexed: false,
136
- internalType: "bytes32",
137
- name: "val",
138
- type: "bytes32",
139
- },
140
- ],
141
- name: "log_named_bytes32",
142
- type: "event",
143
- },
144
- {
145
- anonymous: false,
146
- inputs: [
147
- {
148
- indexed: false,
149
- internalType: "string",
150
- name: "key",
151
- type: "string",
152
- },
153
- {
154
- indexed: false,
155
- internalType: "int256",
156
- name: "val",
157
- type: "int256",
158
- },
159
- {
160
- indexed: false,
161
- internalType: "uint256",
162
- name: "decimals",
163
- type: "uint256",
164
- },
165
- ],
166
- name: "log_named_decimal_int",
167
- type: "event",
168
- },
169
- {
170
- anonymous: false,
171
- inputs: [
172
- {
173
- indexed: false,
174
- internalType: "string",
175
- name: "key",
176
- type: "string",
177
- },
178
- {
179
- indexed: false,
180
- internalType: "uint256",
181
- name: "val",
182
- type: "uint256",
183
- },
184
- {
185
- indexed: false,
186
- internalType: "uint256",
187
- name: "decimals",
188
- type: "uint256",
189
- },
190
- ],
191
- name: "log_named_decimal_uint",
192
- type: "event",
193
- },
194
- {
195
- anonymous: false,
196
- inputs: [
197
- {
198
- indexed: false,
199
- internalType: "string",
200
- name: "key",
201
- type: "string",
202
- },
203
- {
204
- indexed: false,
205
- internalType: "int256",
206
- name: "val",
207
- type: "int256",
208
- },
209
- ],
210
- name: "log_named_int",
211
- type: "event",
212
- },
213
- {
214
- anonymous: false,
215
- inputs: [
216
- {
217
- indexed: false,
218
- internalType: "string",
219
- name: "key",
220
- type: "string",
221
- },
222
- {
223
- indexed: false,
224
- internalType: "string",
225
- name: "val",
226
- type: "string",
227
- },
228
- ],
229
- name: "log_named_string",
230
- type: "event",
231
- },
232
- {
233
- anonymous: false,
234
- inputs: [
235
- {
236
- indexed: false,
237
- internalType: "string",
238
- name: "key",
239
- type: "string",
240
- },
241
- {
242
- indexed: false,
243
- internalType: "uint256",
244
- name: "val",
245
- type: "uint256",
246
- },
247
- ],
248
- name: "log_named_uint",
249
- type: "event",
250
- },
251
- {
252
- anonymous: false,
253
- inputs: [
254
- {
255
- indexed: false,
256
- internalType: "string",
257
- name: "",
258
- type: "string",
259
- },
260
- ],
261
- name: "log_string",
262
- type: "event",
263
- },
264
- {
265
- anonymous: false,
266
- inputs: [
267
- {
268
- indexed: false,
269
- internalType: "uint256",
270
- name: "",
271
- type: "uint256",
272
- },
273
- ],
274
- name: "log_uint",
275
- type: "event",
276
- },
277
- {
278
- anonymous: false,
279
- inputs: [
280
- {
281
- indexed: false,
282
- internalType: "bytes",
283
- name: "",
284
- type: "bytes",
285
- },
286
- ],
287
- name: "logs",
288
- type: "event",
289
- },
290
- {
291
- inputs: [],
292
- name: "IS_TEST",
293
- outputs: [
294
- {
295
- internalType: "bool",
296
- name: "",
297
- type: "bool",
298
- },
299
- ],
300
- stateMutability: "view",
301
- type: "function",
302
- },
303
- {
304
- inputs: [],
305
- name: "addressProvider",
306
- outputs: [
307
- {
308
- internalType: "contract AddressProviderACLMock",
309
- name: "",
310
- type: "address",
311
- },
312
- ],
313
- stateMutability: "view",
314
- type: "function",
315
- },
316
- {
317
- inputs: [],
318
- name: "c2feed",
319
- outputs: [
320
- {
321
- internalType: "contract CurveLP2PriceFeed",
322
- name: "",
323
- type: "address",
324
- },
325
- ],
326
- stateMutability: "view",
327
- type: "function",
328
- },
329
- {
330
- inputs: [],
331
- name: "c3feed",
332
- outputs: [
333
- {
334
- internalType: "contract CurveLP3PriceFeed",
335
- name: "",
336
- type: "address",
337
- },
338
- ],
339
- stateMutability: "view",
340
- type: "function",
341
- },
342
- {
343
- inputs: [],
344
- name: "c4feed",
345
- outputs: [
346
- {
347
- internalType: "contract CurveLP4PriceFeed",
348
- name: "",
349
- type: "address",
350
- },
351
- ],
352
- stateMutability: "view",
353
- type: "function",
354
- },
355
- {
356
- inputs: [],
357
- name: "curveV1Mock",
358
- outputs: [
359
- {
360
- internalType: "contract CurveV1Mock",
361
- name: "",
362
- type: "address",
363
- },
364
- ],
365
- stateMutability: "view",
366
- type: "function",
367
- },
368
- {
369
- inputs: [],
370
- name: "failed",
371
- outputs: [
372
- {
373
- internalType: "bool",
374
- name: "",
375
- type: "bool",
376
- },
377
- ],
378
- stateMutability: "nonpayable",
379
- type: "function",
380
- },
381
- {
382
- inputs: [],
383
- name: "pfm1",
384
- outputs: [
385
- {
386
- internalType: "contract PriceFeedMock",
387
- name: "",
388
- type: "address",
389
- },
390
- ],
391
- stateMutability: "view",
392
- type: "function",
393
- },
394
- {
395
- inputs: [],
396
- name: "pfm2",
397
- outputs: [
398
- {
399
- internalType: "contract PriceFeedMock",
400
- name: "",
401
- type: "address",
402
- },
403
- ],
404
- stateMutability: "view",
405
- type: "function",
406
- },
407
- {
408
- inputs: [],
409
- name: "pfm3",
410
- outputs: [
411
- {
412
- internalType: "contract PriceFeedMock",
413
- name: "",
414
- type: "address",
415
- },
416
- ],
417
- stateMutability: "view",
418
- type: "function",
419
- },
420
- {
421
- inputs: [],
422
- name: "pfm4",
423
- outputs: [
424
- {
425
- internalType: "contract PriceFeedMock",
426
- name: "",
427
- type: "address",
428
- },
429
- ],
430
- stateMutability: "view",
431
- type: "function",
432
- },
433
- {
434
- inputs: [],
435
- name: "setUp",
436
- outputs: [],
437
- stateMutability: "nonpayable",
438
- type: "function",
439
- },
440
- {
441
- inputs: [],
442
- name: "test_OCLP_01_constructor_sets_correct_values",
443
- outputs: [],
444
- stateMutability: "nonpayable",
445
- type: "function",
446
- },
447
- {
448
- inputs: [],
449
- name: "test_OCLP_02_constructor_reverts_for_zero_addresses",
450
- outputs: [],
451
- stateMutability: "nonpayable",
452
- type: "function",
453
- },
454
- {
455
- inputs: [],
456
- name: "test_OCLP_03_constructor_reverts_at_getRoundData_call",
457
- outputs: [],
458
- stateMutability: "nonpayable",
459
- type: "function",
460
- },
461
- {
462
- inputs: [],
463
- name: "test_OCLP_04_latestRoundData_works_correctly_for_2_assets_CurveLPPriceFeed",
464
- outputs: [],
465
- stateMutability: "nonpayable",
466
- type: "function",
467
- },
468
- {
469
- inputs: [],
470
- name: "test_OCLP_05_latestRoundData_works_correctly_for_3_assets_CurveLPPriceFeed",
471
- outputs: [],
472
- stateMutability: "nonpayable",
473
- type: "function",
474
- },
475
- {
476
- inputs: [],
477
- name: "test_OCLP_06_latestRoundData_works_correctly_for_4_assets_CurveLPPriceFeed",
478
- outputs: [],
479
- stateMutability: "nonpayable",
480
- type: "function",
481
- },
482
- {
483
- inputs: [],
484
- name: "test_OCLP_07_latestRoundData_reverts_for_out_of_bounds_prices",
485
- outputs: [],
486
- stateMutability: "nonpayable",
487
- type: "function",
488
- },
489
- ];
490
-
491
- const _bytecode =
492
- "0x60806040526000805461ff01600160b01b031916757109709ecfa91a80626ff3989d68f67f5b1dd12d000117905534801561003957600080fd5b506201665a806200004b6000396000f3fe60806040523480156200001157600080fd5b50600436106200016c5760003560e01c806340cef91b11620000dd578063bae95c6d116200008b578063dbd232ba116200006e578063dbd232ba1462000306578063de89c0e81462000327578063fa7626d4146200033157600080fd5b8063bae95c6d14620002db578063c32ac9e014620002fc57600080fd5b80638b26d31b11620000c05780638b26d31b146200027e5780638e19e983146200029f578063ba414fa614620002c057600080fd5b806340cef91b146200025357806364a47f1b146200027457600080fd5b80632954018c116200013b57806331762e20116200011e57806331762e20146200023557806331c956fe146200023f578063403f7943146200024957600080fd5b80632954018c14620001f357806329d351d8146200021457600080fd5b80630a9254e414620001715780630ea03a63146200017d5780631813aa9714620001c85780632641f48614620001d2575b600080fd5b6200017b6200033f565b005b6008546200019e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6200017b62000ce7565b6003546200019e9073ffffffffffffffffffffffffffffffffffffffff1681565b6001546200019e9073ffffffffffffffffffffffffffffffffffffffff1681565b6002546200019e9073ffffffffffffffffffffffffffffffffffffffff1681565b6200017b620014c9565b6200017b62001ca5565b6200017b62002480565b6007546200019e9073ffffffffffffffffffffffffffffffffffffffff1681565b6200017b62002fa2565b6005546200019e9073ffffffffffffffffffffffffffffffffffffffff1681565b6004546200019e9073ffffffffffffffffffffffffffffffffffffffff1681565b620002ca6200433f565b6040519015158152602001620001bf565b6006546200019e9073ffffffffffffffffffffffffffffffffffffffff1681565b6200017b620044a9565b6009546200019e9073ffffffffffffffffffffffffffffffffffffffff1681565b6200017b62005600565b600054620002ca9060ff1681565b6040516200034d9062006196565b604051809103906000f0801580156200036a573d6000803e3d6000fd5b50600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061044c6008604051620003be90620061a4565b91825260ff166020820152604001604051809103906000f080158015620003e9573d6000803e3d6000fd5b50600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061089860086040516200043d90620061a4565b91825260ff166020820152604001604051809103906000f08015801562000468573d6000803e3d6000fd5b50600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ce46008604051620004bc90620061a4565b91825260ff166020820152604001604051809103906000f080158015620004e7573d6000803e3d6000fd5b50600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061113060086040516200053b90620061a4565b91825260ff166020820152604001604051809103906000f08015801562000566573d6000803e3d6000fd5b50600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556003546040517fcd653afc000000000000000000000000000000000000000000000000000000008152600b6004820181905261045760248301526104586044830152606482015291169063cd653afc90608401600060405180830381600087803b1580156200061657600080fd5b505af11580156200062b573d6000803e3d6000fd5b5050600480546040517fcd653afc00000000000000000000000000000000000000000000000000000000815260169281018390526108ae60248201526108af6044820152606481019290925273ffffffffffffffffffffffffffffffffffffffff16925063cd653afc9150608401600060405180830381600087803b158015620006b457600080fd5b505af1158015620006c9573d6000803e3d6000fd5b50506005546040517fcd653afc000000000000000000000000000000000000000000000000000000008152602160048201819052610d056024830152610d066044830152606482015273ffffffffffffffffffffffffffffffffffffffff909116925063cd653afc9150608401600060405180830381600087803b1580156200075157600080fd5b505af115801562000766573d6000803e3d6000fd5b50506006546040517fcd653afc000000000000000000000000000000000000000000000000000000008152602c6004820181905261115c602483015261115d6044830152606482015273ffffffffffffffffffffffffffffffffffffffff909116925063cd653afc9150608401600060405180830381600087803b158015620007ee57600080fd5b505af115801562000803573d6000803e3d6000fd5b5050505060606040516200081790620061b2565b604051809103906000f08015801562000834573d6000803e3d6000fd5b50600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216918217905563b36ba20862000893670de0b6b3a76400006064620061f8565b6040518263ffffffff1660e01b81526004016000604051808303818588803b158015620008bf57600080fd5b505af1158015620008d4573d6000803e3d6000fd5b50505050508081604051620008e990620061c0565b620008f6929190620062b0565b604051809103906000f08015801562000913573d6000803e3d6000fd5b50600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691821790556040517f71035418000000000000000000000000000000000000000000000000000000008152670de0b6b3a76400006004820152637103541890602401600060405180830381600087803b158015620009b057600080fd5b505af1158015620009c5573d6000803e3d6000fd5b505060015460025460035460045460405173ffffffffffffffffffffffffffffffffffffffff9485169650928416945090831692169062000a0690620061ce565b73ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529083166040830152909116606082015260a0608082018190526003908201527f4c5032000000000000000000000000000000000000000000000000000000000060c082015260e001604051809103906000f08015801562000a8d573d6000803e3d6000fd5b50600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556001546002546003546004546005546040519486169593841694928416939182169291169062000aff90620061dc565b73ffffffffffffffffffffffffffffffffffffffff95861681529385166020850152918416604084015283166060830152909116608082015260c060a082018190526003908201527f4c5033000000000000000000000000000000000000000000000000000000000060e082015261010001604051809103906000f08015801562000b8e573d6000803e3d6000fd5b50600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556001546002546003546004546005546006546040519587169694851695938516949283169391831692169062000c0690620061ea565b73ffffffffffffffffffffffffffffffffffffffff96871681529486166020860152928516604085015290841660608401528316608083015290911660a082015260e060c082018190526003908201527f4c5034000000000000000000000000000000000000000000000000000000000061010082015261012001604051809103906000f08015801562000c9e573d6000803e3d6000fd5b50600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60025473ffffffffffffffffffffffffffffffffffffffff16637103541861271062000d1e670de0b6b3a7640000612742620061f8565b62000d2a9190620062e2565b6040518263ffffffff1660e01b815260040162000d4991815260200190565b600060405180830381600087803b15801562000d6457600080fd5b505af115801562000d79573d6000803e3d6000fd5b505050506000806000806000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562000df3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e19919062006339565b9450945094509450945062000e728569ffffffffffffffffffff16600b6040518060400160405280601581526020017f496e636f727265637420726f756e642049642023310000000000000000000000815250620059cc565b62000eb6846104516040518060400160405280601381526020017f496e636f727265637420616e737765722023310000000000000000000000000081525062005a1e565b62000efa836104576040518060400160405280601681526020017f496e636f72726563742073746172746564417420233100000000000000000000815250620059cc565b62000f3e826104586040518060400160405280601681526020017f496e636f72726563742075706461746564417420233100000000000000000000815250620059cc565b62000f8d8169ffffffffffffffffffff16600b6040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233100000000815250620059cc565b6005546040517ff7a308060000000000000000000000000000000000000000000000000000000081526103e8600482015273ffffffffffffffffffffffffffffffffffffffff9091169063f7a3080690602401600060405180830381600087803b15801562000ffb57600080fd5b505af115801562001010573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562001082573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a8919062006339565b60408051808201909152601581527f496e636f727265637420726f756e642049642023320000000000000000000000602082015294995092975090955093509150620011059069ffffffffffffffffffff871690602190620059cc565b62001149846103ed6040518060400160405280601381526020017f496e636f727265637420616e737765722023320000000000000000000000000081525062005a1e565b6200118d83610d056040518060400160405280601681526020017f496e636f72726563742073746172746564417420233200000000000000000000815250620059cc565b620011d182610d066040518060400160405280601681526020017f496e636f72726563742075706461746564417420233200000000000000000000815250620059cc565b620012208169ffffffffffffffffffff1660216040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233200000000815250620059cc565b60025473ffffffffffffffffffffffffffffffffffffffff16637103541861271062001257670de0b6b3a7640000612774620061f8565b620012639190620062e2565b6040518263ffffffff1660e01b81526004016200128291815260200190565b600060405180830381600087803b1580156200129d57600080fd5b505af1158015620012b2573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562001324573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200134a919062006339565b60408051808201909152601581527f496e636f727265637420726f756e642049642023330000000000000000000000602082015294995092975090955093509150620013a79069ffffffffffffffffffff871690602190620059cc565b620013eb846103f26040518060400160405280601381526020017f496e636f727265637420616e737765722023330000000000000000000000000081525062005a1e565b6200142f83610d056040518060400160405280601681526020017f496e636f72726563742073746172746564417420233300000000000000000000815250620059cc565b6200147382610d066040518060400160405280601681526020017f496e636f72726563742075706461746564417420233300000000000000000000815250620059cc565b620014c28169ffffffffffffffffffff1660216040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233300000000815250620059cc565b5050505050565b60025473ffffffffffffffffffffffffffffffffffffffff16637103541861271062001500670de0b6b3a7640000612742620061f8565b6200150c9190620062e2565b6040518263ffffffff1660e01b81526004016200152b91815260200190565b600060405180830381600087803b1580156200154657600080fd5b505af11580156200155b573d6000803e3d6000fd5b505050506000806000806000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015620015d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015fb919062006339565b94509450945094509450620016548569ffffffffffffffffffff16600b6040518060400160405280601581526020017f496e636f727265637420726f756e642049642023310000000000000000000000815250620059cc565b62001698846104516040518060400160405280601381526020017f496e636f727265637420616e737765722023310000000000000000000000000081525062005a1e565b620016dc836104576040518060400160405280601681526020017f496e636f72726563742073746172746564417420233100000000000000000000815250620059cc565b62001720826104586040518060400160405280601681526020017f496e636f72726563742075706461746564417420233100000000000000000000815250620059cc565b6200176f8169ffffffffffffffffffff16600b6040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233100000000815250620059cc565b600480546040517ff7a308060000000000000000000000000000000000000000000000000000000081526103e89281019290925273ffffffffffffffffffffffffffffffffffffffff169063f7a3080690602401600060405180830381600087803b158015620017de57600080fd5b505af1158015620017f3573d6000803e3d6000fd5b50505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562001865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200188b919062006339565b60408051808201909152601581527f496e636f727265637420726f756e642049642023320000000000000000000000602082015294995092975090955093509150620018e89069ffffffffffffffffffff871690601690620059cc565b6200192c846103ed6040518060400160405280601381526020017f496e636f727265637420616e737765722023320000000000000000000000000081525062005a1e565b62001970836108ae6040518060400160405280601681526020017f496e636f72726563742073746172746564417420233200000000000000000000815250620059cc565b620019b4826108af6040518060400160405280601681526020017f496e636f72726563742075706461746564417420233200000000000000000000815250620059cc565b62001a038169ffffffffffffffffffff1660166040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233200000000815250620059cc565b60025473ffffffffffffffffffffffffffffffffffffffff16637103541861271062001a3a670de0b6b3a7640000612774620061f8565b62001a469190620062e2565b6040518263ffffffff1660e01b815260040162001a6591815260200190565b600060405180830381600087803b15801562001a8057600080fd5b505af115801562001a95573d6000803e3d6000fd5b50505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562001b07573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b2d919062006339565b60408051808201909152601581527f496e636f727265637420726f756e64204964202333000000000000000000000060208201529499509297509095509350915062001b8a9069ffffffffffffffffffff871690601690620059cc565b62001bce846103f26040518060400160405280601381526020017f496e636f727265637420616e737765722023330000000000000000000000000081525062005a1e565b62001c12836108ae6040518060400160405280601681526020017f496e636f72726563742073746172746564417420233300000000000000000000815250620059cc565b62001c56826108af6040518060400160405280601681526020017f496e636f72726563742075706461746564417420233300000000000000000000815250620059cc565b620014c28169ffffffffffffffffffff1660166040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233300000000815250620059cc565b60025473ffffffffffffffffffffffffffffffffffffffff16637103541861271062001cdc670de0b6b3a7640000612742620061f8565b62001ce89190620062e2565b6040518263ffffffff1660e01b815260040162001d0791815260200190565b600060405180830381600087803b15801562001d2257600080fd5b505af115801562001d37573d6000803e3d6000fd5b505050506000806000806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562001db1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001dd7919062006339565b9450945094509450945062001e308569ffffffffffffffffffff16600b6040518060400160405280601581526020017f496e636f727265637420726f756e642049642023310000000000000000000000815250620059cc565b62001e74846104516040518060400160405280601381526020017f496e636f727265637420616e737765722023310000000000000000000000000081525062005a1e565b62001eb8836104576040518060400160405280601681526020017f496e636f72726563742073746172746564417420233100000000000000000000815250620059cc565b62001efc826104586040518060400160405280601681526020017f496e636f72726563742075706461746564417420233100000000000000000000815250620059cc565b62001f4b8169ffffffffffffffffffff16600b6040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233100000000815250620059cc565b6006546040517ff7a308060000000000000000000000000000000000000000000000000000000081526103e8600482015273ffffffffffffffffffffffffffffffffffffffff9091169063f7a3080690602401600060405180830381600087803b15801562001fb957600080fd5b505af115801562001fce573d6000803e3d6000fd5b50505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562002040573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002066919062006339565b60408051808201909152601581527f496e636f727265637420726f756e642049642023320000000000000000000000602082015294995092975090955093509150620020c39069ffffffffffffffffffff871690602c90620059cc565b62002107846103ed6040518060400160405280601381526020017f496e636f727265637420616e737765722023320000000000000000000000000081525062005a1e565b6200214b8361115c6040518060400160405280601681526020017f496e636f72726563742073746172746564417420233200000000000000000000815250620059cc565b6200218f8261115d6040518060400160405280601681526020017f496e636f72726563742075706461746564417420233200000000000000000000815250620059cc565b620021de8169ffffffffffffffffffff16602c6040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233200000000815250620059cc565b60025473ffffffffffffffffffffffffffffffffffffffff16637103541861271062002215670de0b6b3a7640000612774620061f8565b620022219190620062e2565b6040518263ffffffff1660e01b81526004016200224091815260200190565b600060405180830381600087803b1580156200225b57600080fd5b505af115801562002270573d6000803e3d6000fd5b50505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015620022e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002308919062006339565b60408051808201909152601581527f496e636f727265637420726f756e642049642023330000000000000000000000602082015294995092975090955093509150620023659069ffffffffffffffffffff871690602c90620059cc565b620023a9846103f26040518060400160405280601381526020017f496e636f727265637420616e737765722023330000000000000000000000000081525062005a1e565b620023ed8361115c6040518060400160405280601681526020017f496e636f72726563742073746172746564417420233300000000000000000000815250620059cc565b620024318261115d6040518060400160405280601681526020017f496e636f72726563742075706461746564417420233300000000000000000000815250620059cc565b620014c28169ffffffffffffffffffff16602c6040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233300000000815250620059cc565b60025473ffffffffffffffffffffffffffffffffffffffff166371035418612710620024b7670de0b6b3a7640000612328620061f8565b620024c39190620062e2565b6040518263ffffffff1660e01b8152600401620024e291815260200190565b600060405180830381600087803b158015620024fd57600080fd5b505af115801562002512573d6000803e3d6000fd5b50506000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb416da7f0000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff16925063c31eb0e09150602401600060405180830381600087803b158015620025a757600080fd5b505af1158015620025bc573d6000803e3d6000fd5b50505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156200262e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002654919062006339565b50506000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb416da7f0000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff16935063c31eb0e092506024019050600060405180830381600087803b158015620026eb57600080fd5b505af115801562002700573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562002772573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002798919062006339565b50506000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb416da7f0000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff16935063c31eb0e092506024019050600060405180830381600087803b1580156200282f57600080fd5b505af115801562002844573d6000803e3d6000fd5b50505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015620028b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028dc919062006339565b505060025473ffffffffffffffffffffffffffffffffffffffff1692506371035418915061271090506200291b670de0b6b3a7640000613a98620061f8565b620029279190620062e2565b6040518263ffffffff1660e01b81526004016200294691815260200190565b600060405180830381600087803b1580156200296157600080fd5b505af115801562002976573d6000803e3d6000fd5b505050506000806000806000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015620029f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a16919062006339565b9450945094509450945062002a6f8569ffffffffffffffffffff16600b6040518060400160405280601581526020017f496e636f727265637420726f756e642049642023310000000000000000000000815250620059cc565b62002ab3846104626040518060400160405280601381526020017f496e636f727265637420616e737765722023310000000000000000000000000081525062005a1e565b62002af7836104576040518060400160405280601681526020017f496e636f72726563742073746172746564417420233100000000000000000000815250620059cc565b62002b3b826104586040518060400160405280601681526020017f496e636f72726563742075706461746564417420233100000000000000000000815250620059cc565b62002b8a8169ffffffffffffffffffff16600b6040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233100000000815250620059cc565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562002bf8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002c1e919062006339565b60408051808201909152601581527f496e636f727265637420726f756e64204964202331000000000000000000000060208201529499509297509095509350915062002c7b9069ffffffffffffffffffff871690600b90620059cc565b62002cbf846104626040518060400160405280601381526020017f496e636f727265637420616e737765722023310000000000000000000000000081525062005a1e565b62002d03836104576040518060400160405280601681526020017f496e636f72726563742073746172746564417420233100000000000000000000815250620059cc565b62002d47826104586040518060400160405280601681526020017f496e636f72726563742075706461746564417420233100000000000000000000815250620059cc565b62002d968169ffffffffffffffffffff16600b6040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233100000000815250620059cc565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562002e04573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e2a919062006339565b60408051808201909152601581527f496e636f727265637420726f756e64204964202331000000000000000000000060208201529499509297509095509350915062002e879069ffffffffffffffffffff871690600b90620059cc565b62002ecb846104626040518060400160405280601381526020017f496e636f727265637420616e737765722023310000000000000000000000000081525062005a1e565b62002f0f836104576040518060400160405280601681526020017f496e636f72726563742073746172746564417420233100000000000000000000815250620059cc565b62002f53826104586040518060400160405280601681526020017f496e636f72726563742075706461746564417420233100000000000000000000815250620059cc565b620014c28169ffffffffffffffffffff16600b6040518060400160405280601c81526020017f496e636f727265637420616e737765726564496e526f756e6420233100000000815250620059cc565b6000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e0000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff169063c31eb0e090602401600060405180830381600087803b1580156200303357600080fd5b505af115801562003048573d6000803e3d6000fd5b505060015460035460045460405173ffffffffffffffffffffffffffffffffffffffff9384169550600094509183169216906200308590620061ce565b73ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529083166040830152909116606082015260a0608082018190526003908201527f4c5032000000000000000000000000000000000000000000000000000000000060c082015260e001604051809103906000f0801580156200310c573d6000803e3d6000fd5b50506000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e0000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff169063c31eb0e090602401600060405180830381600087803b1580156200319f57600080fd5b505af1158015620031b4573d6000803e3d6000fd5b505060015460025460045460405173ffffffffffffffffffffffffffffffffffffffff938416955091831693506000921690620031f190620061ce565b73ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529083166040830152909116606082015260a0608082018190526003908201527f4c5032000000000000000000000000000000000000000000000000000000000060c082015260e001604051809103906000f08015801562003278573d6000803e3d6000fd5b50506000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e0000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff169063c31eb0e090602401600060405180830381600087803b1580156200330b57600080fd5b505af115801562003320573d6000803e3d6000fd5b505060015460025460035460405173ffffffffffffffffffffffffffffffffffffffff93841695509183169350909116906000906200335f90620061ce565b73ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529083166040830152909116606082015260a0608082018190526003908201527f4c5032000000000000000000000000000000000000000000000000000000000060c082015260e001604051809103906000f080158015620033e6573d6000803e3d6000fd5b50506000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e0000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff169063c31eb0e090602401600060405180830381600087803b1580156200347957600080fd5b505af11580156200348e573d6000803e3d6000fd5b505060015460035460045460055460405173ffffffffffffffffffffffffffffffffffffffff9485169650600095509284169391821692911690620034d390620061dc565b73ffffffffffffffffffffffffffffffffffffffff95861681529385166020850152918416604084015283166060830152909116608082015260c060a082018190526003908201527f4c5033000000000000000000000000000000000000000000000000000000000060e082015261010001604051809103906000f08015801562003562573d6000803e3d6000fd5b50600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e000000000000000000000000000000000000000000000000000000006004820152620100009091049091169063c31eb0e090602401600060405180830381600087803b1580156200362257600080fd5b505af115801562003637573d6000803e3d6000fd5b505060015460025460045460055460405173ffffffffffffffffffffffffffffffffffffffff94851696509284169450600093918216929116906200367c90620061dc565b73ffffffffffffffffffffffffffffffffffffffff95861681529385166020850152918416604084015283166060830152909116608082015260c060a082018190526003908201527f4c5033000000000000000000000000000000000000000000000000000000000060e082015261010001604051809103906000f0801580156200370b573d6000803e3d6000fd5b50600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e000000000000000000000000000000000000000000000000000000006004820152620100009091049091169063c31eb0e090602401600060405180830381600087803b158015620037cb57600080fd5b505af1158015620037e0573d6000803e3d6000fd5b505060015460025460035460055460405173ffffffffffffffffffffffffffffffffffffffff94851696509284169450908316926000929116906200382590620061dc565b73ffffffffffffffffffffffffffffffffffffffff95861681529385166020850152918416604084015283166060830152909116608082015260c060a082018190526003908201527f4c5033000000000000000000000000000000000000000000000000000000000060e082015261010001604051809103906000f080158015620038b4573d6000803e3d6000fd5b50600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e000000000000000000000000000000000000000000000000000000006004820152620100009091049091169063c31eb0e090602401600060405180830381600087803b1580156200397457600080fd5b505af115801562003989573d6000803e3d6000fd5b505060015460025460035460045460405173ffffffffffffffffffffffffffffffffffffffff94851696509284169450908316921690600090620039cd90620061dc565b73ffffffffffffffffffffffffffffffffffffffff95861681529385166020850152918416604084015283166060830152909116608082015260c060a082018190526003908201527f4c5033000000000000000000000000000000000000000000000000000000000060e082015261010001604051809103906000f08015801562003a5c573d6000803e3d6000fd5b50600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e000000000000000000000000000000000000000000000000000000006004820152620100009091049091169063c31eb0e090602401600060405180830381600087803b15801562003b1c57600080fd5b505af115801562003b31573d6000803e3d6000fd5b505060015460035460045460055460065460405173ffffffffffffffffffffffffffffffffffffffff958616975060009650938516949283169391831692169062003b7c90620061ea565b73ffffffffffffffffffffffffffffffffffffffff96871681529486166020860152928516604085015290841660608401528316608083015290911660a082015260e060c082018190526003908201527f4c5034000000000000000000000000000000000000000000000000000000000061010082015261012001604051809103906000f08015801562003c14573d6000803e3d6000fd5b50600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e000000000000000000000000000000000000000000000000000000006004820152620100009091049091169063c31eb0e090602401600060405180830381600087803b15801562003cd457600080fd5b505af115801562003ce9573d6000803e3d6000fd5b505060015460025460045460055460065460405173ffffffffffffffffffffffffffffffffffffffff958616975093851695506000949283169391831692169062003d3490620061ea565b73ffffffffffffffffffffffffffffffffffffffff96871681529486166020860152928516604085015290841660608401528316608083015290911660a082015260e060c082018190526003908201527f4c5034000000000000000000000000000000000000000000000000000000000061010082015261012001604051809103906000f08015801562003dcc573d6000803e3d6000fd5b50600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e000000000000000000000000000000000000000000000000000000006004820152620100009091049091169063c31eb0e090602401600060405180830381600087803b15801562003e8c57600080fd5b505af115801562003ea1573d6000803e3d6000fd5b505060015460025460035460055460065460405173ffffffffffffffffffffffffffffffffffffffff958616975093851695509184169360009391811692169062003eec90620061ea565b73ffffffffffffffffffffffffffffffffffffffff96871681529486166020860152928516604085015290841660608401528316608083015290911660a082015260e060c082018190526003908201527f4c5034000000000000000000000000000000000000000000000000000000000061010082015261012001604051809103906000f08015801562003f84573d6000803e3d6000fd5b50600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e000000000000000000000000000000000000000000000000000000006004820152620100009091049091169063c31eb0e090602401600060405180830381600087803b1580156200404457600080fd5b505af115801562004059573d6000803e3d6000fd5b505060015460025460035460045460065460405173ffffffffffffffffffffffffffffffffffffffff95861697509385169550918416939081169260009290911690620040a690620061ea565b73ffffffffffffffffffffffffffffffffffffffff96871681529486166020860152928516604085015290841660608401528316608083015290911660a082015260e060c082018190526003908201527f4c5034000000000000000000000000000000000000000000000000000000000061010082015261012001604051809103906000f0801580156200413e573d6000803e3d6000fd5b50600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283161790556000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb2335f2e000000000000000000000000000000000000000000000000000000006004820152620100009091049091169063c31eb0e090602401600060405180830381600087803b158015620041fe57600080fd5b505af115801562004213573d6000803e3d6000fd5b505060015460025460035460045460055460405173ffffffffffffffffffffffffffffffffffffffff9586169750938516955091841693908116929116906000906200425f90620061ea565b73ffffffffffffffffffffffffffffffffffffffff96871681529486166020860152928516604085015290841660608401528316608083015290911660a082015260e060c082018190526003908201527f4c5034000000000000000000000000000000000000000000000000000000000061010082015261012001604051809103906000f080158015620042f7573d6000803e3d6000fd5b50600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008054610100900460ff1615620043605750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620044a45760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162004408917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620063c1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262004442916200640b565b6000604051808303816000865af19150503d806000811462004481576040519150601f19603f3d011682016040523d82523d6000602084013e62004486565b606091505b5091505080806020019051810190620044a0919062006429565b9150505b919050565b600754604080517fab0ca0e10000000000000000000000000000000000000000000000000000000081529051620045989273ffffffffffffffffffffffffffffffffffffffff169163ab0ca0e19160048083019260209291908290030181865afa1580156200451c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200454291906200647a565b60035460408051808201909152601981527f4c50323a20696e636f7272656374207072696365466565643100000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600754604080517fe5693f410000000000000000000000000000000000000000000000000000000081529051620046879273ffffffffffffffffffffffffffffffffffffffff169163e5693f419160048083019260209291908290030181865afa1580156200460b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200463191906200647a565b60045460408051808201909152601981527f4c50323a20696e636f7272656374207072696365466565643200000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600754604080517f218751b20000000000000000000000000000000000000000000000000000000081529051620047769273ffffffffffffffffffffffffffffffffffffffff169163218751b29160048083019260209291908290030181865afa158015620046fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472091906200647a565b60025460408051808201909152601881527f4c50323a20696e636f7272656374206375727665506f6f6c0000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600754604080517f7284e4160000000000000000000000000000000000000000000000000000000081529051620048a39273ffffffffffffffffffffffffffffffffffffffff1691637284e4169160048083019260009291908290030181865afa158015620047e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620048319190810190620064c9565b6040518060400160405280600381526020017f4c503200000000000000000000000000000000000000000000000000000000008152506040518060400160405280601a81526020017f4c50323a20696e636f7272656374206465736372697074696f6e00000000000081525062005ae4565b600854604080517fab0ca0e10000000000000000000000000000000000000000000000000000000081529051620049929273ffffffffffffffffffffffffffffffffffffffff169163ab0ca0e19160048083019260209291908290030181865afa15801562004916573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200493c91906200647a565b60035460408051808201909152601981527f4c50333a20696e636f7272656374207072696365466565643100000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600854604080517fe5693f41000000000000000000000000000000000000000000000000000000008152905162004a819273ffffffffffffffffffffffffffffffffffffffff169163e5693f419160048083019260209291908290030181865afa15801562004a05573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004a2b91906200647a565b60045460408051808201909152601981527f4c50333a20696e636f7272656374207072696365466565643200000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600854604080517f427cb6fe000000000000000000000000000000000000000000000000000000008152905162004b709273ffffffffffffffffffffffffffffffffffffffff169163427cb6fe9160048083019260209291908290030181865afa15801562004af4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004b1a91906200647a565b60055460408051808201909152601981527f4c50333a20696e636f7272656374207072696365466565643300000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600854604080517f218751b2000000000000000000000000000000000000000000000000000000008152905162004c5f9273ffffffffffffffffffffffffffffffffffffffff169163218751b29160048083019260209291908290030181865afa15801562004be3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004c0991906200647a565b60025460408051808201909152601881527f4c50333a20696e636f7272656374206375727665506f6f6c0000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600854604080517f7284e416000000000000000000000000000000000000000000000000000000008152905162004d8c9273ffffffffffffffffffffffffffffffffffffffff1691637284e4169160048083019260009291908290030181865afa15801562004cd2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262004d1a9190810190620064c9565b6040518060400160405280600381526020017f4c503300000000000000000000000000000000000000000000000000000000008152506040518060400160405280601a81526020017f4c50333a20696e636f7272656374206465736372697074696f6e00000000000081525062005ae4565b600954604080517fab0ca0e1000000000000000000000000000000000000000000000000000000008152905162004e7b9273ffffffffffffffffffffffffffffffffffffffff169163ab0ca0e19160048083019260209291908290030181865afa15801562004dff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004e2591906200647a565b60035460408051808201909152601981527f4c50343a20696e636f7272656374207072696365466565643100000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600954604080517fe5693f41000000000000000000000000000000000000000000000000000000008152905162004f6a9273ffffffffffffffffffffffffffffffffffffffff169163e5693f419160048083019260209291908290030181865afa15801562004eee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004f1491906200647a565b60045460408051808201909152601981527f4c50343a20696e636f7272656374207072696365466565643200000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600954604080517f427cb6fe0000000000000000000000000000000000000000000000000000000081529051620050599273ffffffffffffffffffffffffffffffffffffffff169163427cb6fe9160048083019260209291908290030181865afa15801562004fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200500391906200647a565b60055460408051808201909152601981527f4c50343a20696e636f7272656374207072696365466565643300000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600954604080517f7aac1c480000000000000000000000000000000000000000000000000000000081529051620051489273ffffffffffffffffffffffffffffffffffffffff1691637aac1c489160048083019260209291908290030181865afa158015620050cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620050f291906200647a565b60065460408051808201909152601981527f4c50343a20696e636f7272656374207072696365466565643400000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600954604080517f218751b20000000000000000000000000000000000000000000000000000000081529051620052379273ffffffffffffffffffffffffffffffffffffffff169163218751b29160048083019260209291908290030181865afa158015620051bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620051e191906200647a565b60025460408051808201909152601881527f4c50343a20696e636f7272656374206375727665506f6f6c0000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9091169062005a6b565b600954604080517f7284e4160000000000000000000000000000000000000000000000000000000081529051620053649273ffffffffffffffffffffffffffffffffffffffff1691637284e4169160048083019260009291908290030181865afa158015620052aa573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620052f29190810190620064c9565b6040518060400160405280600381526020017f4c503400000000000000000000000000000000000000000000000000000000008152506040518060400160405280601a81526020017f4c50343a20696e636f7272656374206465736372697074696f6e00000000000081525062005ae4565b600754604080517fa384d6ff0000000000000000000000000000000000000000000000000000000081529051620054429273ffffffffffffffffffffffffffffffffffffffff169163a384d6ff9160048083019260209291908290030181865afa158015620053d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620053fd9190620065a0565b670de0b6b3a76400006040518060400160405280601a81526020017f4c50323a20496e636f7272656374206c6f77657220626f756e64000000000000815250620059cc565b600854604080517fa384d6ff0000000000000000000000000000000000000000000000000000000081529051620055209273ffffffffffffffffffffffffffffffffffffffff169163a384d6ff9160048083019260209291908290030181865afa158015620054b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620054db9190620065a0565b670de0b6b3a76400006040518060400160405280601a81526020017f4c50333a20496e636f7272656374206c6f77657220626f756e64000000000000815250620059cc565b600954604080517fa384d6ff0000000000000000000000000000000000000000000000000000000081529051620055fe9273ffffffffffffffffffffffffffffffffffffffff169163a384d6ff9160048083019260209291908290030181865afa15801562005593573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620055b99190620065a0565b670de0b6b3a76400006040518060400160405280601a81526020017f4c50343a20496e636f7272656374206c6f77657220626f756e64000000000000815250620059cc565b565b6000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f24e46f700000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff169063c31eb0e090602401600060405180830381600087803b1580156200569157600080fd5b505af1158015620056a6573d6000803e3d6000fd5b50506007546040517f9a6fc8f50000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff9091169250639a6fc8f5915060240160a060405180830381865afa1580156200571a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005740919062006339565b50506000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f24e46f700000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff16935063c31eb0e092506024019050600060405180830381600087803b158015620057d757600080fd5b505af1158015620057ec573d6000803e3d6000fd5b50506008546040517f9a6fc8f50000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff9091169250639a6fc8f5915060240160a060405180830381865afa15801562005860573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005886919062006339565b50506000546040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f24e46f700000000000000000000000000000000000000000000000000000000060048201526201000090910473ffffffffffffffffffffffffffffffffffffffff16935063c31eb0e092506024019050600060405180830381600087803b1580156200591d57600080fd5b505af115801562005932573d6000803e3d6000fd5b50506009546040517f9a6fc8f50000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff9091169250639a6fc8f5915060240160a060405180830381865afa158015620059a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014c2919062006339565b81831462005a19577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405162005a05919062006606565b60405180910390a162005a19838362005b81565b505050565b81831462005a19577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405162005a57919062006606565b60405180910390a162005a19838362005c97565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462005a19577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405162005ad0919062006606565b60405180910390a162005a19838362005d97565b8160405160200162005af791906200640b565b604051602081830303815290604052805190602001208360405160200162005b2091906200640b565b604051602081830303815290604052805190602001201462005a19577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405162005b6d919062006606565b60405180910390a162005a19838362005ec3565b80821462005c93577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162005c0f9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a88160405162005c4891906200664f565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a88260405162005c8191906200669b565b60405180910390a162005c9362006013565b5050565b80821462005c93577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162005d259060208082526021908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e7460408201527f5d00000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f1688160405162005d5e91906200664f565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f1688260405162005c8191906200669b565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462005c93577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162005e519060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8160405162005e8a9190620066d9565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8260405162005c8191906200673b565b8060405160200162005ed691906200640b565b604051602081830303815290604052805190602001208260405160200162005eff91906200640b565b604051602081830303815290604052805190602001201462005c93577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162005fa19060208082526024908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b73747260408201527f696e675d00000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405162005fda919062006779565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838260405162005c819190620067d3565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620061685760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052620060e59291602001620063c1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526200611f916200640b565b6000604051808303816000865af19150503d80600081146200615e576040519150601f19603f3d011682016040523d82523d6000602084013e62006163565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6102b0806200681283390190565b6106ca8062006ac283390190565b617a51806200718c83390190565b613161806200ebdd83390190565b6117138062011d3e83390190565b611852806201345183390190565b6119828062014ca383390190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562006258577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500290565b600081518084526020808501945080840160005b83811015620062a557815173ffffffffffffffffffffffffffffffffffffffff168752958201959082019060010162006271565b509495945050505050565b604081526000620062c560408301856200625d565b8281036020840152620062d981856200625d565b95945050505050565b60008262006319577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b805169ffffffffffffffffffff81168114620044a457600080fd5b600080600080600060a086880312156200635257600080fd5b6200635d866200631e565b945060208601519350604086015192506060860151915062006382608087016200631e565b90509295509295909350565b60005b83811015620063ab57818101518382015260200162006391565b83811115620063bb576000848401525b50505050565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251620063fd8160048501602087016200638e565b919091016004019392505050565b600082516200641f8184602087016200638e565b9190910192915050565b6000602082840312156200643c57600080fd5b815180151581146200644d57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146200647757600080fd5b50565b6000602082840312156200648d57600080fd5b81516200644d8162006454565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215620064dc57600080fd5b815167ffffffffffffffff80821115620064f557600080fd5b818401915084601f8301126200650a57600080fd5b8151818111156200651f576200651f6200649a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156200656857620065686200649a565b816040528281528760208487010111156200658257600080fd5b620065958360208301602088016200638e565b979650505050505050565b600060208284031215620065b357600080fd5b5051919050565b60008151808452620065d48160208601602086016200638e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152600560408201527f4572726f7200000000000000000000000000000000000000000000000000000060608201526080602082015260006200644d6080830184620065ba565b6040815260006200668d60408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b6040815260006200668d60408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b6040815260006200671760408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b6040815260006200671760408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b604081526000620067b760408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b8281036020840152620067cb8185620065ba565b949350505050565b604081526000620067b760408301600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b50600080546001600160a01b031990811630908117835560028054909216179055338152600160208190526040909120805460ff191690911790556102568061005a6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806376e112861161005057806376e11286146100e95780639dcb511a1461014c578063fca513a81461018257600080fd5b8063087376951461006c5780635f259aba146100b6575b600080fd5b60005461008c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d96100c43660046101cb565b60016020526000908152604090205460ff1681565b60405190151581526020016100ad565b61014a6100f73660046101ed565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b005b61008c61015a3660046101cb565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60025461008c9073ffffffffffffffffffffffffffffffffffffffff1681565b803573ffffffffffffffffffffffffffffffffffffffff811681146101c657600080fd5b919050565b6000602082840312156101dd57600080fd5b6101e6826101a2565b9392505050565b6000806040838503121561020057600080fd5b610209836101a2565b9150610217602084016101a2565b9050925092905056fea26469706673582212204291f208ba289dc45c65523845755f7f16fafcfe35cecba679ed1b9627e274ee64736f6c634300080a003360a060405234801561001057600080fd5b506040516106ca3803806106ca83398101604081905261002f9161006c565b60009190915560ff166080526001805460506001600160501b031991821681179092556004805490911690911790554260028190556003556100a2565b6000806040838503121561007f57600080fd5b82519150602083015160ff8116811461009757600080fd5b809150509250929050565b60805161060e6100bc600039600060d3015261060e6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80639a6fc8f511610081578063d62ada111161005b578063d62ada11146102dc578063f7a30806146102f4578063feaf968c1461030757600080fd5b80639a6fc8f5146101cd578063bd18ad531461023a578063cd653afc1461024d57600080fd5b806354fd4d50116100b257806354fd4d501461012d57806367e8d83d1461013c5780637284e4161461018e57600080fd5b8063313ce567146100ce5780633fd0875f1461010c575b600080fd5b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b6004546a0100000000000000000000900460ff166040516101039190610441565b60405160018152602001610103565b61018c61014a366004610482565b600480549115156c01000000000000000000000000027fffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff909216919091179055565b005b604080518082018252600c81527f7072696365206f7261636c6500000000000000000000000000000000000000006020820152905161010391906104ab565b6102036101db36600461053d565b60015460005460025460035460045469ffffffffffffffffffff948516941691939590929450565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610103565b61018c610248366004610558565b61030f565b61018c61025b366004610579565b6001805469ffffffffffffffffffff9586167fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090911617905560029290925560035560048054919092167fffffffffffffffffffffffffffffffffffffffff00ff00000000000000000000909116176b020000000000000000000000179055565b6102e461035f565b6040519015158152602001610103565b61018c6103023660046105bf565b600055565b610203610385565b600480548291907fffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffff166b01000000000000000000000083600281111561035757610357610412565b021790555050565b600454600090610380906b010000000000000000000000900460ff166103d6565b905090565b60008060008060006004600c9054906101000a900460ff16156103a757600080fd5b505060015460005460025460035460045469ffffffffffffffffffff9485169893975091955093509190911690565b600060028260028111156103ec576103ec610412565b14156103f757600080fd5b600182600281111561040b5761040b610412565b1492915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016006831061047c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60006020828403121561049457600080fd5b813580151581146104a457600080fd5b9392505050565b600060208083528351808285015260005b818110156104d8578581018301518582016040015282016104bc565b818111156104ea576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803569ffffffffffffffffffff8116811461053857600080fd5b919050565b60006020828403121561054f57600080fd5b6104a48261051e565b60006020828403121561056a57600080fd5b8135600381106104a457600080fd5b6000806000806080858703121561058f57600080fd5b6105988561051e565b935060208501359250604085013591506105b46060860161051e565b905092959194509250565b6000602082840312156105d157600080fd5b503591905056fea264697066735822122014874f7a973b86501c4c1a8be32490fe902c8f088ee234d25f9b2497e19f9e5264736f6c634300080a003360806040526000805461ff01600160b01b031916757109709ecfa91a80626ff3989d68f67f5b1dd12d00011790553480156200003a57600080fd5b506040805161018081019091526000908060c081018060018152604080518082018252600381526244414960e81b6020828101919091528301526012908201526305f5e100606082015260800160018152602001600081525081526020016040518060c001604052806002600a811115620000b957620000b962000b78565b815260408051808201825260048152635553444360e01b6020828101919091528301526006908201526305f5e100606082015260800160018152602001600081525081526020016040518060c001604052806003600a81111562000121576200012162000b78565b815260408051808201825260048152630ae8aa8960e31b602082810191909152830152601290820152644a817c8000606082015260800160028152602001600081525081526020016040518060c001604052806004600a8111156200018a576200018a62000b78565b815260408051808201825260048152634c494e4b60e01b6020828101919091528301526012908201526359682f00606082015260800160018152602001600081525081526020016040518060c001604052806005600a811115620001f257620001f262000b78565b815260408051808201825260048152631554d11560e21b602082810191909152830152601290820152633b023380606082015260800160018152602001600081525081526020016040518060c001604052806006600a8111156200025a576200025a62000b78565b815260408051808201825260058152640e6e88aa8960db1b602082810191909152830152601290820152644cd588640060608201526080016003815260200160009052905260408051610140810190915290915060009080608081018060078152602001604051806040016040528060048152602001636344414960e01b8152508152602001601260ff1681526020016305f5e100815260200160048081111562000309576200030962000b78565b8152602001600181525081526020016040518060c001604052806008600a81111562000339576200033962000b78565b81526040805180820182526005815264635553444360d81b6020828101919091528301526006908201526305f5e100606082015260800160048152602001600281525081526020016040518060c001604052806009600a811115620003a257620003a262000b78565b8152604080518082018252600581526418d554d11560da1b602082810191909152830152601290820152633b023380606082015260800160048152602001600581525081526020016040518060c00160405280600a808111156200040a576200040a62000b78565b81526040805180820182526005815264634c494e4b60d81b6020828101919091528301526012908201526359682f00606082015260800160048152602001600490529052905060005b600681101562000496576200048183826006811062000476576200047662000b8e565b6020020151620004db565b806200048d8162000ba4565b91505062000453565b5060005b6004811015620004d257620004bd82826004811062000476576200047662000b8e565b80620004c98162000ba4565b9150506200049a565b50505062000d14565b6000600282608001516004811115620004f857620004f862000b78565b14156200054e576040516200050d9062000a8c565b604051809103906000f0801580156200052a573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b03831617905590506200071e565b60038260800151600481111562000569576200056962000b78565b1415620005a4576040516200057e9062000a9a565b604051809103906000f0801580156200059b573d6000803e3d6000fd5b5090506200071e565b600182608001516004811115620005bf57620005bf62000b78565b1415620005f157816020015182602001518360400151604051620005e39062000aa8565b6200057e9392919062000c1e565b6004826080015160048111156200060c576200060c62000b78565b1415620006be576000600260008460a00151600a81111562000632576200063262000b78565b600a81111562000646576200064662000b78565b815260200190815260200160002060009054906101000a90046001600160a01b0316905082602001518360200151846040015183604051620006889062000ab6565b62000697949392919062000c5b565b604051809103906000f080158015620006b4573d6000803e3d6000fd5b509150506200071e565b60405162461bcd60e51b815260206004820152602b60248201527f74657374546f6b656e53756974653a204372656174696e6720756e6b6e6f776e60448201526a20746f6b656e207479706560a81b606482015260840160405180910390fd5b60005460208301516040516318caf8e360e31b8152620100009092046001600160a01b03169163c657c718916200075b9185919060040162000ca9565b600060405180830381600087803b1580156200077657600080fd5b505af11580156200078b573d6000803e3d6000fd5b50505050600082606001516008604051620007a69062000ac4565b91825260ff166020820152604001604051809103906000f080158015620007d1573d6000803e3d6000fd5b50905081600260008560000151600a811115620007f257620007f262000b78565b600a81111562000806576200080662000b78565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508260600151600560008560000151600a8111156200085a576200085a62000b78565b600a8111156200086e576200086e62000b78565b8152602080820192909252604090810160009081209390935585516001600160a01b03861684526008909252909120805460ff1916600183600a811115620008ba57620008ba62000b78565b02179055508260800151600360008560000151600a811115620008e157620008e162000b78565b600a811115620008f557620008f562000b78565b81526020810191909152604001600020805460ff1916600183600481111562000922576200092262000b78565b0217905550604080518082019091526001600160a01b0380841682528281166020808401918252600780546001810182556000918252945160029095027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688810180549686166001600160a01b031997881617905592517fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c689909301805493909416929094169190911790915584015184519091600491600a811115620009eb57620009eb62000b78565b600a811115620009ff57620009ff62000b78565b8152602001908152602001600020908051906020019062000a2292919062000ad2565b5080600660008560000151600a81111562000a415762000a4162000b78565b600a81111562000a555762000a5562000b78565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505050565b610ab1806200285183390190565b611224806200330283390190565b611758806200452683390190565b6117098062005c7e83390190565b6106ca806200738783390190565b82805462000ae09062000cd7565b90600052602060002090601f01602090048101928262000b04576000855562000b4f565b82601f1062000b1f57805160ff191683800117855562000b4f565b8280016001018555821562000b4f579182015b8281111562000b4f57825182559160200191906001019062000b32565b5062000b5d92915062000b61565b5090565b5b8082111562000b5d576000815560010162000b62565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060001982141562000bc757634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b8181101562000bf65760208185018101518683018201520162000bd8565b8181111562000c09576000602083870101525b50601f01601f19169290920160200192915050565b60608152600062000c33606083018662000bce565b828103602084015262000c47818662000bce565b91505060ff83166040830152949350505050565b60808152600062000c70608083018762000bce565b828103602084015262000c84818762000bce565b60ff95909516604084015250506001600160a01b039190911660609091015292915050565b6001600160a01b038316815260406020820181905260009062000ccf9083018462000bce565b949350505050565b600181811c9082168062000cec57607f821691505b6020821081141562000d0e57634e487b7160e01b600052602260045260246000fd5b50919050565b611b2d8062000d246000396000f3fe6080604052600436106101635760003560e01c80638eb86e8b116100c0578063c6c3bbe611610074578063d051a62211610059578063d051a62214610490578063eebab8ef146104b0578063fa7626d4146104d057600080fd5b8063c6c3bbe614610433578063c74912d21461045357600080fd5b80639b140a85116100a55780639b140a85146103e6578063b36ba20814610406578063ba414fa61461040e57600080fd5b80638eb86e8b1461038357806398cdaadf146103a357600080fd5b80636a72bde71161011757806388327863116100fc578063883278631461030857806388f776a2146103365780638a3177a31461035657600080fd5b80636a72bde7146102c45780636ca42ae3146102e657600080fd5b8063440864fa11610148578063440864fa146102025780634b57b0be1461022f57806367b426451461028157600080fd5b806304bc3b1c1461016f57806310c7f0b9146101b557600080fd5b3661016a57005b600080fd5b34801561017b57600080fd5b5061019f61018a3660046116f6565b60086020526000908152604090205460ff1681565b6040516101ac9190611742565b60405180910390f35b3480156101c157600080fd5b506101d56101d036600461175c565b6104ea565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152016101ac565b34801561020e57600080fd5b5061022261021d366004611784565b610530565b6040516101ac91906117cb565b34801561023b57600080fd5b5060015461025c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ac565b34801561028d57600080fd5b5061025c61029c366004611784565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102d057600080fd5b506102e46102df36600461181c565b6105ca565b005b3480156102f257600080fd5b506102fb610730565b6040516101ac919061186b565b34801561031457600080fd5b506103286103233660046118d4565b6107b5565b6040519081526020016101ac565b34801561034257600080fd5b506102e461035136600461190b565b610888565b34801561036257600080fd5b50610328610371366004611784565b60056020526000908152604090205481565b34801561038f57600080fd5b506102e461039e366004611954565b6108b9565b3480156103af57600080fd5b5061025c6103be366004611784565b60066020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156103f257600080fd5b506102e4610401366004611993565b610a73565b6102e4610b22565b34801561041a57600080fd5b50610423610ba0565b60405190151581526020016101ac565b34801561043f57600080fd5b506102e461044e3660046119b3565b610d00565b34801561045f57600080fd5b5061048361046e366004611784565b60036020526000908152604090205460ff1681565b6040516101ac91906119d3565b34801561049c57600080fd5b506103286104ab36600461190b565b610daf565b3480156104bc57600080fd5b506102e46104cb366004611954565b610e8b565b3480156104dc57600080fd5b506000546104239060ff1681565b600781815481106104fa57600080fd5b60009182526020909120600290910201805460019091015473ffffffffffffffffffffffffffffffffffffffff91821692501682565b60046020526000908152604090208054610549906119e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610575906119e7565b80156105c25780601f10610597576101008083540402835291602001916105c2565b820191906000526020600020905b8154815290600101906020018083116105a557829003601f168201915b505050505081565b6000546040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152620100009092049091169063ca669fa790602401600060405180830381600087803b15801561063e57600080fd5b505af1158015610652573d6000803e3d6000fd5b505050506002600085600a81111561066c5761066c611713565b600a81111561067d5761067d611713565b8152602081019190915260409081016000205490517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490529091169063095ea7b3906044016020604051808303816000875af1158015610705573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107299190611a3b565b5050505050565b60606007805480602002602001604051908101604052809291908181526020016000905b828210156107ac5760008481526020908190206040805180820190915260028502909101805473ffffffffffffffffffffffffffffffffffffffff908116835260019182015416828401529083529092019101610754565b50505050905090565b60006002600084600a8111156107cd576107cd611713565b600a8111156107de576107de611713565b8152602081019190915260409081016000205490517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152909116906370a0823190602401602060405180830381865afa15801561085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108819190611a5d565b9392505050565b6108b48383837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6105ca565b505050565b60016003600085600a8111156108d1576108d1611713565b600a8111156108e2576108e2611713565b815260208101919091526040016000205460ff16600481111561090757610907611713565b14610999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f74657374546f6b656e53756974653a20547279696e6720746f206275726e206160448201527f206e6f6e2d6e6f726d616c20746f6b656e00000000000000000000000000000060648201526084015b60405180910390fd5b6002600084600a8111156109af576109af611713565b600a8111156109c0576109c0611713565b8152602081019190915260409081016000205490517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905290911690639dc29fac906044015b6020604051808303816000875af1158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190611a3b565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526008602052604081205460ff169081600a811115610aaf57610aaf611713565b1415610b17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f20746f6b656e2077697468207375636820616464726573730000000000006044820152606401610990565b610a6d818484610888565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b8c57600080fd5b505af1158015610729573d6000803e3d6000fd5b60008054610100900460ff1615610bc05750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610cfb5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610c65917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001611a76565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610c9d91611abe565b6000604051808303816000865af19150503d8060008114610cda576040519150601f19603f3d011682016040523d82523d6000602084013e610cdf565b606091505b5091505080806020019051810190610cf79190611a3b565b9150505b919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526008602052604081205460ff169081600a811115610d3c57610d3c611713565b1415610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f20746f6b656e2077697468207375636820616464726573730000000000006044820152606401610990565b610a6d818484610e8b565b60006002600085600a811115610dc757610dc7611713565b600a811115610dd857610dd8611713565b8152602081019190915260409081016000205490517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015284811660248301529091169063dd62ed3e90604401602060405180830381865afa158015610e5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e839190611a5d565b949350505050565b60026003600085600a811115610ea357610ea3611713565b600a811115610eb457610eb4611713565b815260208101919091526040016000205460ff166004811115610ed957610ed9611713565b1415610ff6576000546040517fc88a5e6d000000000000000000000000000000000000000000000000000000008152306004820152602481018390526201000090910473ffffffffffffffffffffffffffffffffffffffff169063c88a5e6d90604401600060405180830381600087803b158015610f5657600080fd5b505af1158015610f6a573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fd857600080fd5b505af1158015610fec573d6000803e3d6000fd5b505050505061163c565b600380600085600a81111561100d5761100d611713565b600a81111561101e5761101e611713565b815260208101919091526040016000205460ff16600481111561104357611043611713565b14156111aa576000546040517fc88a5e6d000000000000000000000000000000000000000000000000000000008152306004820152602481018390526201000090910473ffffffffffffffffffffffffffffffffffffffff169063c88a5e6d90604401600060405180830381600087803b1580156110c057600080fd5b505af11580156110d4573d6000803e3d6000fd5b505050506002600084600a8111156110ee576110ee611713565b600a8111156110ff576110ff611713565b8152602081019190915260409081016000205490517fa1903eab00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169063a1903eab90839060240160206040518083038185885af115801561117f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111a49190611a5d565b5061163c565b60046003600085600a8111156111c2576111c2611713565b600a8111156111d3576111d3611713565b815260208101919091526040016000205460ff1660048111156111f8576111f8611713565b141561148f5760006002600085600a81111561121657611216611713565b600a81111561122757611227611713565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c49190611ada565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600860205260409020549091506112fb9060ff163084610e8b565b8073ffffffffffffffffffffffffffffffffffffffff1663095ea7b36002600087600a81111561132d5761132d611713565b600a81111561133e5761133e611713565b81526020810191909152604090810160002054905160e083901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018590526044016020604051808303816000875af11580156113c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e69190611a3b565b506002600085600a8111156113fd576113fd611713565b600a81111561140e5761140e611713565b8152602081019190915260409081016000205490517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810184905273ffffffffffffffffffffffffffffffffffffffff909116906340c10f1990604401600060405180830381600087803b158015610fd857600080fd5b60016003600085600a8111156114a7576114a7611713565b600a8111156114b8576114b8611713565b815260208101919091526040016000205460ff1660048111156114dd576114dd611713565b14156115b4576002600084600a8111156114f9576114f9611713565b600a81111561150a5761150a611713565b8152602081019190915260409081016000205490517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff909116906340c10f19906044016020604051808303816000875af1158015611590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a49190611a3b565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f74657374546f6b656e53756974653a20547279696e6720746f207472616e736660448201527f657220756e6b6e6f776e20746f6b656e000000000000000000000000000000006064820152608401610990565b6002600084600a81111561165257611652611713565b600a81111561166357611663611713565b8152602081019190915260409081016000205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490529091169063a9059cbb90604401610a2a565b73ffffffffffffffffffffffffffffffffffffffff811681146116f357600080fd5b50565b60006020828403121561170857600080fd5b8135610881816116d1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600b831061175657611756611713565b91905290565b60006020828403121561176e57600080fd5b5035919050565b8035600b8110610cfb57600080fd5b60006020828403121561179657600080fd5b61088182611775565b60005b838110156117ba5781810151838201526020016117a2565b83811115610a6d5750506000910152565b60208152600082518060208401526117ea81604085016020870161179f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806000806080858703121561183257600080fd5b61183b85611775565b9350602085013561184b816116d1565b9250604085013561185b816116d1565b9396929550929360600135925050565b602080825282518282018190526000919060409081850190868401855b828110156118c7578151805173ffffffffffffffffffffffffffffffffffffffff90811686529087015116868501529284019290850190600101611888565b5091979650505050505050565b600080604083850312156118e757600080fd5b6118f083611775565b91506020830135611900816116d1565b809150509250929050565b60008060006060848603121561192057600080fd5b61192984611775565b92506020840135611939816116d1565b91506040840135611949816116d1565b809150509250925092565b60008060006060848603121561196957600080fd5b61197284611775565b92506020840135611982816116d1565b929592945050506040919091013590565b6000806000606084860312156119a857600080fd5b8335611929816116d1565b6000806000606084860312156119c857600080fd5b8335611972816116d1565b602081016005831061175657611756611713565b600181811c908216806119fb57607f821691505b60208210811415611a35577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215611a4d57600080fd5b8151801515811461088157600080fd5b600060208284031215611a6f57600080fd5b5051919050565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251611ab081600485016020870161179f565b919091016004019392505050565b60008251611ad081846020870161179f565b9190910192915050565b600060208284031215611aec57600080fd5b8151610881816116d156fea264697066735822122010fe735ed069aca27931edce4ba2ff14ec7886bf21b0eea685a884f9200fb49e64736f6c634300080a003360c0604052600d60808190526c2bb930b83832b21022ba3432b960991b60a090815261002e916000919061007a565b50604080518082019091526004808252630ae8aa8960e31b602090920191825261005a9160019161007a565b506002805460ff1916601217905534801561007457600080fd5b5061014e565b82805461008690610113565b90600052602060002090601f0160209004810192826100a857600085556100ee565b82601f106100c157805160ff19168380011785556100ee565b828001600101855582156100ee579182015b828111156100ee5782518255916020019190600101906100d3565b506100fa9291506100fe565b5090565b5b808211156100fa57600081556001016100ff565b600181811c9082168061012757607f821691505b6020821081141561014857634e487b7160e01b600052602260045260246000fd5b50919050565b6109548061015d6000396000f3fe6080604052600436106100cb5760003560e01c806340c10f1911610074578063a9059cbb1161004e578063a9059cbb14610225578063d0e30db014610245578063dd62ed3e1461024d57600080fd5b806340c10f19146101c357806370a08231146101e357806395d89b411461021057600080fd5b806323b872dd116100a557806323b872dd146101575780632e1a7d4d14610177578063313ce5671461019757600080fd5b806306fdde03146100df578063095ea7b31461010a57806318160ddd1461013a57600080fd5b366100da576100d8610285565b005b600080fd5b3480156100eb57600080fd5b506100f46102e0565b6040516101019190610703565b60405180910390f35b34801561011657600080fd5b5061012a61012536600461079f565b61036e565b6040519015158152602001610101565b34801561014657600080fd5b50475b604051908152602001610101565b34801561016357600080fd5b5061012a6101723660046107c9565b6103e7565b34801561018357600080fd5b506100d8610192366004610805565b6105fe565b3480156101a357600080fd5b506002546101b19060ff1681565b60405160ff9091168152602001610101565b3480156101cf57600080fd5b506100d86101de36600461079f565b6106a4565b3480156101ef57600080fd5b506101496101fe36600461081e565b60036020526000908152604090205481565b34801561021c57600080fd5b506100f46106e2565b34801561023157600080fd5b5061012a61024036600461079f565b6106ef565b6100d8610285565b34801561025957600080fd5b50610149610268366004610839565b600460209081526000928352604080842090915290825290205481565b33600090815260036020526040812080543492906102a490849061089b565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b600080546102ed906108b3565b80601f0160208091040260200160405190810160405280929190818152602001828054610319906108b3565b80156103665780601f1061033b57610100808354040283529160200191610366565b820191906000526020600020905b81548152906001019060200180831161034957829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103d69086815260200190565b60405180910390a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561041957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8416331480159061048f575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105175773ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020548211156104d157600080fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915281208054849290610511908490610907565b90915550505b73ffffffffffffffffffffffffffffffffffffffff84166000908152600360205260408120805484929061054c908490610907565b909155505073ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120805484929061058690849061089b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105ec91815260200190565b60405180910390a35060019392505050565b3360009081526003602052604090205481111561061a57600080fd5b3360009081526003602052604081208054839290610639908490610907565b9091555050604051339082156108fc029083906000818181858888f1935050505015801561066b573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080548392906106d990849061089b565b90915550505050565b600180546102ed906108b3565b60006106fc3384846103e7565b9392505050565b600060208083528351808285015260005b8181101561073057858101830151858201604001528201610714565b81811115610742576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461079a57600080fd5b919050565b600080604083850312156107b257600080fd5b6107bb83610776565b946020939093013593505050565b6000806000606084860312156107de57600080fd5b6107e784610776565b92506107f560208501610776565b9150604084013590509250925092565b60006020828403121561081757600080fd5b5035919050565b60006020828403121561083057600080fd5b6106fc82610776565b6000806040838503121561084c57600080fd5b61085583610776565b915061086360208401610776565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156108ae576108ae61086c565b500190565b600181811c908216806108c757607f821691505b60208210811415610901577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000828210156109195761091961086c565b50039056fea26469706673582212206ec943fa4e3b70d8fca6c25b6aa26fa18e8f8952ce3bc4d5afcb443bf3097c0564736f6c634300080a003360806040526000600255600060035534801561001a57600080fd5b506111fa8061002a6000396000f3fe60806040526004361061016e5760003560e01c80637a28fb88116100cb578063bdd17e1c1161007f578063dd62ed3e11610059578063dd62ed3e146103ee578063ee7a7c0414610441578063f5eb42dc1461046157600080fd5b8063bdd17e1c146103ad578063cdb9a21c146103c3578063d5002f2e146103d957600080fd5b8063a1903eab116100b0578063a1903eab1461035a578063a457c2d71461036d578063a9059cbb1461038d57600080fd5b80637a28fb88146102f457806395d89b411461031457600080fd5b806323b872dd1161012257806337cfdaca1161010757806337cfdaca1461020d57806339509351146102b457806370a08231146102d457600080fd5b806323b872dd14610278578063313ce5671461029857600080fd5b806318160ddd1161015357806318160ddd1461020d578063192084511461023057806322301f6e1461025057600080fd5b806306fdde0314610185578063095ea7b3146101dd57600080fd5b366101805761017d6000610481565b50005b600080fd5b34801561019157600080fd5b5060408051808201909152601781527f4c6971756964207374616b656420457468657220322e3000000000000000000060208201525b6040516101d49190610f63565b60405180910390f35b3480156101e957600080fd5b506101fd6101f8366004610fff565b610545565b60405190151581526020016101d4565b34801561021957600080fd5b5061022261055b565b6040519081526020016101d4565b34801561023c57600080fd5b5061022261024b366004611029565b61056b565b34801561025c57600080fd5b5061027661026b366004611042565b600391909155600255565b005b34801561028457600080fd5b506101fd610293366004611064565b6105ab565b3480156102a457600080fd5b50604051601281526020016101d4565b3480156102c057600080fd5b506101fd6102cf366004610fff565b610696565b3480156102e057600080fd5b506102226102ef3660046110a0565b6106d9565b34801561030057600080fd5b5061022261030f366004611029565b61070e565b34801561032057600080fd5b5060408051808201909152600581527f737445544800000000000000000000000000000000000000000000000000000060208201526101c7565b6102226103683660046110a0565b61073a565b34801561037957600080fd5b506101fd610388366004610fff565b610745565b34801561039957600080fd5b506101fd6103a8366004610fff565b6107f9565b3480156103b957600080fd5b5061022260035481565b3480156103cf57600080fd5b5061022260025481565b3480156103e557600080fd5b50610222610806565b3480156103fa57600080fd5b506102226104093660046110bb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b34801561044d57600080fd5b5061027661045c366004610fff565b610811565b34801561046d57600080fd5b5061022261047c3660046110a0565b61081f565b60003334806104f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4445504f534954000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60006104fc8261056b565b9050806105065750805b8160036000828254610518919061111d565b909155506105289050838261084a565b61053383838761093b565b61053d8382610992565b949350505050565b60006105523384846109ea565b50600192915050565b600061056660035490565b905090565b60008061057760035490565b9050806105875750600092915050565b6105a48161059e61059760025490565b8690610b52565b90610b5e565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602090815260408083203384529091528120548281101561066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f5452414e534645525f414d4f554e545f455843454544535f414c4c4f57414e4360448201527f450000000000000000000000000000000000000000000000000000000000000060648201526084016104e8565b610677858585610b6a565b61068b85336106868487610bef565b6109ea565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916105529185906106869086610bfb565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120546107089061070e565b92915050565b60008061071a60025490565b90508061072a5750600092915050565b6105a48161059e61059760035490565b600061070882610481565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156107e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4445435245415345445f414c4c4f57414e43455f42454c4f575f5a45524f000060448201526064016104e8565b6107ef33856106868487610bef565b5060019392505050565b6000610552338484610b6a565b600061056660025490565b61081b8282610c07565b5050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260208190526040812054610708565b73ffffffffffffffffffffffffffffffffffffffff82166108c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4d494e545f544f5f5448455f5a45524f5f41444452455353000000000000000060448201526064016104e8565b80600260008282546108d9919061111d565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205461090e9082610bfb565b73ffffffffffffffffffffffffffffffffffffffff90921660009081526020819052604090209190915550565b6040805183815273ffffffffffffffffffffffffffffffffffffffff83811660208301528516917fed8dd430b1e4bba98e943dc5b157cf7b54d9e12916d6c474ff5733a95001d03b910160405180910390a2505050565b73ffffffffffffffffffffffffffffffffffffffff821660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109d58461070e565b60405190815260200160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8316610a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f415050524f56455f46524f4d5f5a45524f5f414444524553530000000000000060448201526064016104e8565b73ffffffffffffffffffffffffffffffffffffffff8216610ae4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f415050524f56455f544f5f5a45524f5f4144445245535300000000000000000060448201526064016104e8565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105a48284611135565b60006105a48284611172565b6000610b758261056b565b9050610b82848483610d64565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610be191815260200190565b60405180910390a350505050565b60006105a482846111ad565b60006105a4828461111d565b73ffffffffffffffffffffffffffffffffffffffff8216610c84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4255524e5f46524f4d5f5448455f5a45524f5f4144445245535300000000000060448201526064016104e8565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205480821115610d14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4255524e5f414d4f554e545f455843454544535f42414c414e4345000000000060448201526064016104e8565b8160026000828254610d2691906111ad565b90915550610d3690508183610bef565b73ffffffffffffffffffffffffffffffffffffffff9093166000908152602081905260409020929092555050565b73ffffffffffffffffffffffffffffffffffffffff8316610de1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5452414e534645525f46524f4d5f5448455f5a45524f5f41444452455353000060448201526064016104e8565b73ffffffffffffffffffffffffffffffffffffffff8216610e5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5452414e534645525f544f5f5448455f5a45524f5f414444524553530000000060448201526064016104e8565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205480821115610eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5452414e534645525f414d4f554e545f455843454544535f42414c414e43450060448201526064016104e8565b610ef88183610bef565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081905260408082209390935590851681522054610f349083610bfb565b73ffffffffffffffffffffffffffffffffffffffff909316600090815260208190526040902092909255505050565b600060208083528351808285015260005b81811015610f9057858101830151858201604001528201610f74565b81811115610fa2576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ffa57600080fd5b919050565b6000806040838503121561101257600080fd5b61101b83610fd6565b946020939093013593505050565b60006020828403121561103b57600080fd5b5035919050565b6000806040838503121561105557600080fd5b50508035926020909101359150565b60008060006060848603121561107957600080fd5b61108284610fd6565b925061109060208501610fd6565b9150604084013590509250925092565b6000602082840312156110b257600080fd5b6105a482610fd6565b600080604083850312156110ce57600080fd5b6110d783610fd6565b91506110e560208401610fd6565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611130576111306110ee565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561116d5761116d6110ee565b500290565b6000826111a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000828210156111bf576111bf6110ee565b50039056fea2646970667358221220a5b4f31162ba2b8b3424cef84b31ef91d05a825243602b5fdf758ffb49b8246364736f6c634300080a003360a06040523480156200001157600080fd5b506040516200175838038062001758833981016040819052620000349162000269565b8251839083906200004d906003906020850190620000f6565b50805162000063906004906020840190620000f6565b505050620000806200007a620000a060201b60201c565b620000a4565b60ff166080525050600680546001600160a01b031916331790556200032b565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200010490620002ee565b90600052602060002090601f01602090048101928262000128576000855562000173565b82601f106200014357805160ff191683800117855562000173565b8280016001018555821562000173579182015b828111156200017357825182559160200191906001019062000156565b506200018192915062000185565b5090565b5b8082111562000181576000815560010162000186565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001c457600080fd5b81516001600160401b0380821115620001e157620001e16200019c565b604051601f8301601f19908116603f011681019082821181831017156200020c576200020c6200019c565b816040528381526020925086838588010111156200022957600080fd5b600091505b838210156200024d57858201830151818301840152908201906200022e565b838211156200025f5760008385830101525b9695505050505050565b6000806000606084860312156200027f57600080fd5b83516001600160401b03808211156200029757600080fd5b620002a587838801620001b2565b94506020860151915080821115620002bc57600080fd5b50620002cb86828701620001b2565b925050604084015160ff81168114620002e357600080fd5b809150509250925092565b600181811c908216806200030357607f821691505b602082108114156200032557634e487b7160e01b600052602260045260246000fd5b50919050565b60805161141162000347600039600061025f01526114116000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806370a08231116100cd5780639dc29fac11610081578063a9059cbb11610066578063a9059cbb1461034c578063dd62ed3e1461035f578063f2fde38b146103a557600080fd5b80639dc29fac14610326578063a457c2d71461033957600080fd5b806379cc6790116100b257806379cc6790146102ed5780638da5cb5b1461030057806395d89b411461031e57600080fd5b806370a08231146102af578063715018a6146102e557600080fd5b806318160ddd11610124578063313ce56711610109578063313ce56714610258578063395093511461028957806340c10f191461029c57600080fd5b806318160ddd1461023357806323b872dd1461024557600080fd5b806306fdde03146101565780630754617214610174578063095ea7b3146101b95780631652e9fc146101dc575b600080fd5b61015e6103b8565b60405161016b91906111d2565b60405180910390f35b6006546101949073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016b565b6101cc6101c736600461126e565b61044a565b604051901515815260200161016b565b6102316101ea366004611298565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b005b6002545b60405190815260200161016b565b6101cc6102533660046112ba565b610460565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161016b565b6101cc61029736600461126e565b61054b565b6101cc6102aa36600461126e565b610594565b6102376102bd366004611298565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102316106a3565b6101cc6102fb36600461126e565b610730565b60055473ffffffffffffffffffffffffffffffffffffffff16610194565b61015e6107be565b6101cc61033436600461126e565b6107cd565b6101cc61034736600461126e565b6107d9565b6101cc61035a36600461126e565b6108b1565b61023761036d3660046112f6565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6102316103b3366004611298565b6108be565b6060600380546103c790611329565b80601f01602080910402602001604051908101604052809291908181526020018280546103f390611329565b80156104405780601f1061041557610100808354040283529160200191610440565b820191906000526020600020905b81548152906001019060200180831161042357829003601f168201915b5050505050905090565b60006104573384846109ee565b50600192915050565b600061046d848484610ba2565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482811015610533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61054085338584036109ee565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161045791859061058f9086906113ac565b6109ee565b60065460009073ffffffffffffffffffffffffffffffffffffffff163314610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d696e7465722063616c6c73206f6e6c79000000000000000000000000000000604482015260640161052a565b60065473ffffffffffffffffffffffffffffffffffffffff163314610699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d696e7465722063616c6c73206f6e6c79000000000000000000000000000000604482015260640161052a565b6104578383610e56565b60055473ffffffffffffffffffffffffffffffffffffffff163314610724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052a565b61072e6000610f76565b565b60065460009073ffffffffffffffffffffffffffffffffffffffff1633146107b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d696e7465722063616c6c73206f6e6c79000000000000000000000000000000604482015260640161052a565b6104578383610fed565b6060600480546103c790611329565b60006104578383610fed565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091528120548281101561089a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161052a565b6108a733858584036109ee565b5060019392505050565b6000610457338484610ba2565b60055473ffffffffffffffffffffffffffffffffffffffff16331461093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052a565b73ffffffffffffffffffffffffffffffffffffffff81166109e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052a565b6109eb81610f76565b50565b73ffffffffffffffffffffffffffffffffffffffff8316610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8216610b33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8216610ce8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610d9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290610de29084906113ac565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e4891815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610ed3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161052a565b8060026000828254610ee591906113ac565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610f1f9084906113ac565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604081208383039055600280548492906111829084906113c4565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610b95565b600060208083528351808285015260005b818110156111ff578581018301518582016040015282016111e3565b81811115611211576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461126957600080fd5b919050565b6000806040838503121561128157600080fd5b61128a83611245565b946020939093013593505050565b6000602082840312156112aa57600080fd5b6112b382611245565b9392505050565b6000806000606084860312156112cf57600080fd5b6112d884611245565b92506112e660208501611245565b9150604084013590509250925092565b6000806040838503121561130957600080fd5b61131283611245565b915061132060208401611245565b90509250929050565b600181811c9082168061133d57607f821691505b60208210811415611377577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156113bf576113bf61137d565b500190565b6000828210156113d6576113d661137d565b50039056fea2646970667358221220fd9684963a1e0e9d3eb55681a6f85f5c76804530c79f10cf8d0cfbd35511577164736f6c634300080a003360c06040523480156200001157600080fd5b506040516200170938038062001709833981016040819052620000349162000266565b8351849084906200004d906003906020850190620000f3565b50805162000063906004906020840190620000f3565b505050620000806200007a6200009d60201b60201c565b620000a1565b60ff9091166080526001600160a01b031660a05250620003479050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82805462000101906200030a565b90600052602060002090601f01602090048101928262000125576000855562000170565b82601f106200014057805160ff191683800117855562000170565b8280016001018555821562000170579182015b828111156200017057825182559160200191906001019062000153565b506200017e92915062000182565b5090565b5b808211156200017e576000815560010162000183565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001c157600080fd5b81516001600160401b0380821115620001de57620001de62000199565b604051601f8301601f19908116603f0116810190828211818310171562000209576200020962000199565b816040528381526020925086838588010111156200022657600080fd5b600091505b838210156200024a57858201830151818301840152908201906200022b565b838211156200025c5760008385830101525b9695505050505050565b600080600080608085870312156200027d57600080fd5b84516001600160401b03808211156200029557600080fd5b620002a388838901620001af565b95506020870151915080821115620002ba57600080fd5b50620002c987828801620001af565b935050604085015160ff81168114620002e157600080fd5b60608601519092506001600160a01b0381168114620002ff57600080fd5b939692955090935050565b600181811c908216806200031f57607f821691505b602082108114156200034157634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05161138e6200037b600039600081816101f70152818161041f0152610600015260006101a2015261138e6000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c80636f307dc3116100b257806395d89b4111610081578063a9059cbb11610066578063a9059cbb146102b5578063dd62ed3e146102c8578063f2fde38b1461030e57600080fd5b806395d89b411461029a578063a457c2d7146102a257600080fd5b80636f307dc3146101f257806370a082311461023e578063715018a6146102745780638da5cb5b1461027c57600080fd5b806323b872dd116100ee57806323b872dd14610188578063313ce5671461019b57806339509351146101cc57806340c10f19146101df57600080fd5b806306fdde0314610120578063095ea7b31461013e57806318160ddd146101615780631e9a695014610173575b600080fd5b610128610321565b604051610135919061112d565b60405180910390f35b61015161014c3660046111c9565b6103b3565b6040519015158152602001610135565b6002545b604051908152602001610135565b6101866101813660046111c9565b6103c9565b005b6101516101963660046111f3565b610491565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610135565b6101516101da3660046111c9565b61057c565b6101866101ed3660046111c9565b6105c5565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610135565b61016561024c36600461122f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610186610691565b60055473ffffffffffffffffffffffffffffffffffffffff16610219565b61012861071e565b6101516102b03660046111c9565b61072d565b6101516102c33660046111c9565b610805565b6101656102d6366004611251565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b61018661031c36600461122f565b610812565b60606003805461033090611284565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90611284565b80156103a95780601f1061037e576101008083540402835291602001916103a9565b820191906000526020600020905b81548152906001019060200180831161038c57829003601f168201915b5050505050905090565b60006103c0338484610942565b50600192915050565b6103d33382610af5565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048c91906112d8565b505050565b600061049e848484610ce2565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482811015610564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105718533858403610942565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916103c09185906105c0908690611329565b610942565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd906064016020604051808303816000875af115801561065e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068291906112d8565b5061068d8282610f96565b5050565b60055473ffffffffffffffffffffffffffffffffffffffff163314610712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161055b565b61071c60006110b6565b565b60606004805461033090611284565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156107ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161055b565b6107fb3385858403610942565b5060019392505050565b60006103c0338484610ce2565b60055473ffffffffffffffffffffffffffffffffffffffff163314610893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161055b565b73ffffffffffffffffffffffffffffffffffffffff8116610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161055b565b61093f816110b6565b50565b73ffffffffffffffffffffffffffffffffffffffff83166109e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161055b565b73ffffffffffffffffffffffffffffffffffffffff8216610a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161055b565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8216610b98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161055b565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610c4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161055b565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120838303905560028054849290610c8a908490611341565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610d85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161055b565b73ffffffffffffffffffffffffffffffffffffffff8216610e28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161055b565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610ede576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161055b565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290610f22908490611329565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f8891815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161055b565b80600260008282546110259190611329565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260408120805483929061105f908490611329565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b8181101561115a5785810183015185820160400152820161113e565b8181111561116c576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c457600080fd5b919050565b600080604083850312156111dc57600080fd5b6111e5836111a0565b946020939093013593505050565b60008060006060848603121561120857600080fd5b611211846111a0565b925061121f602085016111a0565b9150604084013590509250925092565b60006020828403121561124157600080fd5b61124a826111a0565b9392505050565b6000806040838503121561126457600080fd5b61126d836111a0565b915061127b602084016111a0565b90509250929050565b600181811c9082168061129857607f821691505b602082108114156112d2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156112ea57600080fd5b8151801515811461124a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561133c5761133c6112fa565b500190565b600082821015611353576113536112fa565b50039056fea26469706673582212203a6db30cd3c097921df4156794aa7973eb848711deeb2cffd7c54a9df1fdb0a564736f6c634300080a003360a060405234801561001057600080fd5b506040516106ca3803806106ca83398101604081905261002f9161006c565b60009190915560ff166080526001805460506001600160501b031991821681179092556004805490911690911790554260028190556003556100a2565b6000806040838503121561007f57600080fd5b82519150602083015160ff8116811461009757600080fd5b809150509250929050565b60805161060e6100bc600039600060d3015261060e6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80639a6fc8f511610081578063d62ada111161005b578063d62ada11146102dc578063f7a30806146102f4578063feaf968c1461030757600080fd5b80639a6fc8f5146101cd578063bd18ad531461023a578063cd653afc1461024d57600080fd5b806354fd4d50116100b257806354fd4d501461012d57806367e8d83d1461013c5780637284e4161461018e57600080fd5b8063313ce567146100ce5780633fd0875f1461010c575b600080fd5b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b6004546a0100000000000000000000900460ff166040516101039190610441565b60405160018152602001610103565b61018c61014a366004610482565b600480549115156c01000000000000000000000000027fffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff909216919091179055565b005b604080518082018252600c81527f7072696365206f7261636c6500000000000000000000000000000000000000006020820152905161010391906104ab565b6102036101db36600461053d565b60015460005460025460035460045469ffffffffffffffffffff948516941691939590929450565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610103565b61018c610248366004610558565b61030f565b61018c61025b366004610579565b6001805469ffffffffffffffffffff9586167fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090911617905560029290925560035560048054919092167fffffffffffffffffffffffffffffffffffffffff00ff00000000000000000000909116176b020000000000000000000000179055565b6102e461035f565b6040519015158152602001610103565b61018c6103023660046105bf565b600055565b610203610385565b600480548291907fffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffff166b01000000000000000000000083600281111561035757610357610412565b021790555050565b600454600090610380906b010000000000000000000000900460ff166103d6565b905090565b60008060008060006004600c9054906101000a900460ff16156103a757600080fd5b505060015460005460025460035460045469ffffffffffffffffffff9485169893975091955093509190911690565b600060028260028111156103ec576103ec610412565b14156103f757600080fd5b600182600281111561040b5761040b610412565b1492915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016006831061047c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60006020828403121561049457600080fd5b813580151581146104a457600080fd5b9392505050565b600060208083528351808285015260005b818110156104d8578581018301518582016040015282016104bc565b818111156104ea576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803569ffffffffffffffffffff8116811461053857600080fd5b919050565b60006020828403121561054f57600080fd5b6104a48261051e565b60006020828403121561056a57600080fd5b8135600381106104a457600080fd5b6000806000806080858703121561058f57600080fd5b6105988561051e565b935060208501359250604085013591506105b46060860161051e565b905092959194509250565b6000602082840312156105d157600080fd5b503591905056fea264697066735822122014874f7a973b86501c4c1a8be32490fe902c8f088ee234d25f9b2497e19f9e5264736f6c634300080a003360806040523480156200001157600080fd5b50604051620031613803806200316183398101604081905262000034916200029b565b8151620000499060029060208501906200012c565b5080516200005f9060039060208401906200012c565b5060006012604051620000729062000196565b6060808252600790820152664352564d6f636b60c81b608082015260a0602082018190526015908201527f43525620666f72204375727665506f6f6c4d6f636b000000000000000000000060c082015260ff909116604082015260e001604051809103906000f080158015620000ec573d6000803e3d6000fd5b50600080546001600160a01b039092166001600160a01b03199283168117909155600180549092161790555050670de0b6b3a76400006007555062000305565b82805482825590600052602060002090810192821562000184579160200282015b828111156200018457825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200014d565b5062000192929150620001a4565b5090565b6117588062001a0983390190565b5b80821115620001925760008155600101620001a5565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620001e957600080fd5b919050565b600082601f8301126200020057600080fd5b815160206001600160401b03808311156200021f576200021f620001bb565b8260051b604051601f19603f83011681018181108482111715620002475762000247620001bb565b6040529384528581018301938381019250878511156200026657600080fd5b83870191505b8482101562000290576200028082620001d1565b835291830191908301906200026c565b979650505050505050565b60008060408385031215620002af57600080fd5b82516001600160401b0380821115620002c757600080fd5b620002d586838701620001ee565b93506020850151915080821115620002ec57600080fd5b50620002fb85828601620001ee565b9150509250929050565b6116f480620003156000396000f3fe608060405234801561001057600080fd5b50600436106102925760003560e01c806382c6306611610160578063bb7b8b80116100d8578063e2e7d2641161008c578063f851a44011610071578063f851a440146104b0578063fc0c546a146104b7578063fee3f7f9146102ea57600080fd5b8063e2e7d264146104a2578063f446c1d0146102ea57600080fd5b8063cc2b27d7116100bd578063cc2b27d714610479578063dd62ed3e1461048c578063ddca3f43146102ea57600080fd5b8063bb7b8b801461045e578063c66106571461046657600080fd5b8063a6417ed61161012f578063b739953e11610114578063b739953e14610425578063b91434d114610438578063b9947eb01461044b57600080fd5b8063a6417ed614610412578063b4b577ad146102ea57600080fd5b806382c63066146103d65780638ea875f3146103f657806395d89b41146102bd57806399bd2ba5146103ff57600080fd5b80633df021241161020e57806363543f06116101c257806371035418116101a7578063710354181461039e57806376a2f0f0146102ea5780637b475b68146103b157600080fd5b806363543f06146102ea57806370a082311461038a57600080fd5b80635409491a116101f35780635409491a146102ea57806356ac3503146103645780635e0d443f1461037757600080fd5b80633df021241461033e5780634903b0d11461035157600080fd5b806318160ddd116102655780632081066c1161024a5780632081066c146102ea57806323746eb814610306578063313ce567146102ea57600080fd5b806318160ddd146102ea5780631a4d01d2146102f157600080fd5b8063065a80d81461029757806306fdde03146102bd57806307211ef7146102d757806314052288146102ea575b600080fd5b6102aa6102a5366004611333565b6104d7565b6040519081526020015b60405180910390f35b604080516020810182526000815290516102b4919061137a565b6102aa6102e53660046113cb565b610590565b60006102aa565b6103046102ff366004611407565b6105e0565b005b610319610314366004611333565b6106d4565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102b4565b61030461034c36600461142c565b610714565b6102aa61035f36600461146e565b61083e565b6103046103723660046113cb565b610853565b6102aa6103853660046113cb565b6108b4565b6102aa6103983660046114ab565b50600090565b6103046103ac36600461146e565b600755565b6103046103bf3660046114c6565b600f9190910b600090815260066020526040902055565b6001546103199073ffffffffffffffffffffffffffffffffffffffff1681565b6102aa60075481565b61030461040d3660046114f0565b6108f0565b61030461042036600461142c565b61098d565b610319610433366004611333565b610d4d565b6103046104463660046113cb565b610d65565b61031961045936600461146e565b610dc6565b6007546102aa565b61031961047436600461146e565b610ddb565b6102aa61048736600461150c565b610df0565b6102aa61049a366004611538565b600092915050565b6102aa61039836600461146e565b6000610319565b6000546103199073ffffffffffffffffffffffffffffffffffffffff1681565b6000600282600f0b815481106104ef576104ef611562565b6000918252602090912001546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190611591565b92915050565b600f83810b60009081526005602090815260408083209386900b8352929052908120546b033b2e3c9fd0803ce8000000906105cc9084906115d9565b6105d69190611616565b90505b9392505050565b6000546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810185905273ffffffffffffffffffffffffffffffffffffffff909116906379cc6790906044016020604051808303816000875af1158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b9190611651565b506106cf33826002856fffffffffffffffffffffffffffffffff16815481106106a6576106a6611562565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169190610e26565b505050565b6000600282600f0b815481106106ec576106ec611562565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1692915050565b60006107218585856108b4565b9050818110156107b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f437572766556314d6f636b3a20494e53554646494349454e545f4f555450555460448201527f5f414d4f554e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61080d3330856002896fffffffffffffffffffffffffffffffff16815481106107e3576107e3611562565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16929190610efa565b61083733826002876fffffffffffffffffffffffffffffffff16815481106106a6576106a6611562565b5050505050565b6000600282815481106104ef576104ef611562565b600f83810b60009081526005602090815260408083209386900b83529290522081905561088c6b033b2e3c9fd0803ce800000082610f5e565b600f92830b60009081526005602090815260408083209690950b825294909452919092205550565b600f83810b60009081526004602090815260408083209386900b8352929052908120546b033b2e3c9fd0803ce8000000906105cc9084906115d9565b6000546040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052909116906340c10f19906044016020604051808303816000875af1158015610969573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190611651565b60006002856fffffffffffffffffffffffffffffffff16815481106109b4576109b4611562565b60009182526020822001546003805473ffffffffffffffffffffffffffffffffffffffff9092169350906fffffffffffffffffffffffffffffffff8816908110610a0057610a00611562565b60009182526020822001546002805473ffffffffffffffffffffffffffffffffffffffff9092169350906fffffffffffffffffffffffffffffffff8816908110610a4c57610a4c611562565b60009182526020822001546003805473ffffffffffffffffffffffffffffffffffffffff9092169350906fffffffffffffffffffffffffffffffff8916908110610a9857610a98611562565b600091825260208220015473ffffffffffffffffffffffffffffffffffffffff169150610ac6898989610590565b905085811015610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f437572766556314d6f636b3a20494e53554646494349454e545f4f555450555460448201527f5f414d4f554e540000000000000000000000000000000000000000000000000060648201526084016107af565b610b7a73ffffffffffffffffffffffffffffffffffffffff851633308a610efa565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526024820189905285169063095ea7b3906044016020604051808303816000875af1158015610bef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c139190611651565b506040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810188905273ffffffffffffffffffffffffffffffffffffffff8616906340c10f1990604401600060405180830381600087803b158015610c8257600080fd5b505af1158015610c96573d6000803e3d6000fd5b50506040517f1e9a69500000000000000000000000000000000000000000000000000000000081523060048201526024810184905273ffffffffffffffffffffffffffffffffffffffff86169250631e9a69509150604401600060405180830381600087803b158015610d0857600080fd5b505af1158015610d1c573d6000803e3d6000fd5b50610d429250505073ffffffffffffffffffffffffffffffffffffffff83163383610e26565b505050505050505050565b6000600382600f0b815481106106ec576106ec611562565b600f83810b60009081526004602090815260408083209386900b835292905220819055610d9e6b033b2e3c9fd0803ce800000082610f5e565b600f92830b60009081526004602090815260408083209690950b825294909452919092205550565b6000600382815481106106ec576106ec611562565b6000600282815481106106ec576106ec611562565b600f81900b6000908152600660205260408120546b033b2e3c9fd0803ce800000090610e1c90856115d9565b6105d99190611616565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106cf9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526110c4565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052610f589085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610e78565b50505050565b60408051808201909152600281527f4d33000000000000000000000000000000000000000000000000000000000000602082015260009082610fcd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107af919061137a565b506000610fdb600284611616565b90506b033b2e3c9fd0803ce8000000611014827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611673565b61101e9190611616565b8411156040518060400160405280600281526020017f4d310000000000000000000000000000000000000000000000000000000000008152509061108f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107af919061137a565b5082816110a86b033b2e3c9fd0803ce8000000876115d9565b6110b2919061168a565b6110bc9190611616565b949350505050565b6000611126826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166111d09092919063ffffffff16565b8051909150156106cf57808060200190518101906111449190611651565b6106cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016107af565b60606105d6848460008585843b611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107af565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161126c91906116a2565b60006040518083038185875af1925050503d80600081146112a9576040519150601f19603f3d011682016040523d82523d6000602084013e6112ae565b606091505b50915091506112be8282866112c9565b979650505050505050565b606083156112d85750816105d9565b8251156112e85782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107af919061137a565b8035600f81900b811461132e57600080fd5b919050565b60006020828403121561134557600080fd5b6105d98261131c565b60005b83811015611369578181015183820152602001611351565b83811115610f585750506000910152565b602081526000825180602084015261139981604085016020870161134e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806000606084860312156113e057600080fd5b6113e98461131c565b92506113f76020850161131c565b9150604084013590509250925092565b60008060006060848603121561141c57600080fd5b833592506113f76020850161131c565b6000806000806080858703121561144257600080fd5b61144b8561131c565b93506114596020860161131c565b93969395505050506040820135916060013590565b60006020828403121561148057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461132e57600080fd5b6000602082840312156114bd57600080fd5b6105d982611487565b600080604083850312156114d957600080fd5b6114e28361131c565b946020939093013593505050565b6000806040838503121561150357600080fd5b6114e283611487565b6000806040838503121561151f57600080fd5b8235915061152f6020840161131c565b90509250929050565b6000806040838503121561154b57600080fd5b61155483611487565b915061152f60208401611487565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156115a357600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611611576116116115aa565b500290565b60008261164c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006020828403121561166357600080fd5b815180151581146105d957600080fd5b600082821015611685576116856115aa565b500390565b6000821982111561169d5761169d6115aa565b500190565b600082516116b481846020870161134e565b919091019291505056fea264697066735822122085930fb95d77cfd8b121f00dfae6066e162c3aa4154af7bb3967ed233996408164736f6c634300080a003360a06040523480156200001157600080fd5b506040516200175838038062001758833981016040819052620000349162000269565b8251839083906200004d906003906020850190620000f6565b50805162000063906004906020840190620000f6565b505050620000806200007a620000a060201b60201c565b620000a4565b60ff166080525050600680546001600160a01b031916331790556200032b565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200010490620002ee565b90600052602060002090601f01602090048101928262000128576000855562000173565b82601f106200014357805160ff191683800117855562000173565b8280016001018555821562000173579182015b828111156200017357825182559160200191906001019062000156565b506200018192915062000185565b5090565b5b8082111562000181576000815560010162000186565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001c457600080fd5b81516001600160401b0380821115620001e157620001e16200019c565b604051601f8301601f19908116603f011681019082821181831017156200020c576200020c6200019c565b816040528381526020925086838588010111156200022957600080fd5b600091505b838210156200024d57858201830151818301840152908201906200022e565b838211156200025f5760008385830101525b9695505050505050565b6000806000606084860312156200027f57600080fd5b83516001600160401b03808211156200029757600080fd5b620002a587838801620001b2565b94506020860151915080821115620002bc57600080fd5b50620002cb86828701620001b2565b925050604084015160ff81168114620002e357600080fd5b809150509250925092565b600181811c908216806200030357607f821691505b602082108114156200032557634e487b7160e01b600052602260045260246000fd5b50919050565b60805161141162000347600039600061025f01526114116000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806370a08231116100cd5780639dc29fac11610081578063a9059cbb11610066578063a9059cbb1461034c578063dd62ed3e1461035f578063f2fde38b146103a557600080fd5b80639dc29fac14610326578063a457c2d71461033957600080fd5b806379cc6790116100b257806379cc6790146102ed5780638da5cb5b1461030057806395d89b411461031e57600080fd5b806370a08231146102af578063715018a6146102e557600080fd5b806318160ddd11610124578063313ce56711610109578063313ce56714610258578063395093511461028957806340c10f191461029c57600080fd5b806318160ddd1461023357806323b872dd1461024557600080fd5b806306fdde03146101565780630754617214610174578063095ea7b3146101b95780631652e9fc146101dc575b600080fd5b61015e6103b8565b60405161016b91906111d2565b60405180910390f35b6006546101949073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016b565b6101cc6101c736600461126e565b61044a565b604051901515815260200161016b565b6102316101ea366004611298565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b005b6002545b60405190815260200161016b565b6101cc6102533660046112ba565b610460565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161016b565b6101cc61029736600461126e565b61054b565b6101cc6102aa36600461126e565b610594565b6102376102bd366004611298565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102316106a3565b6101cc6102fb36600461126e565b610730565b60055473ffffffffffffffffffffffffffffffffffffffff16610194565b61015e6107be565b6101cc61033436600461126e565b6107cd565b6101cc61034736600461126e565b6107d9565b6101cc61035a36600461126e565b6108b1565b61023761036d3660046112f6565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6102316103b3366004611298565b6108be565b6060600380546103c790611329565b80601f01602080910402602001604051908101604052809291908181526020018280546103f390611329565b80156104405780601f1061041557610100808354040283529160200191610440565b820191906000526020600020905b81548152906001019060200180831161042357829003601f168201915b5050505050905090565b60006104573384846109ee565b50600192915050565b600061046d848484610ba2565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482811015610533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61054085338584036109ee565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161045791859061058f9086906113ac565b6109ee565b60065460009073ffffffffffffffffffffffffffffffffffffffff163314610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d696e7465722063616c6c73206f6e6c79000000000000000000000000000000604482015260640161052a565b60065473ffffffffffffffffffffffffffffffffffffffff163314610699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d696e7465722063616c6c73206f6e6c79000000000000000000000000000000604482015260640161052a565b6104578383610e56565b60055473ffffffffffffffffffffffffffffffffffffffff163314610724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052a565b61072e6000610f76565b565b60065460009073ffffffffffffffffffffffffffffffffffffffff1633146107b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d696e7465722063616c6c73206f6e6c79000000000000000000000000000000604482015260640161052a565b6104578383610fed565b6060600480546103c790611329565b60006104578383610fed565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091528120548281101561089a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161052a565b6108a733858584036109ee565b5060019392505050565b6000610457338484610ba2565b60055473ffffffffffffffffffffffffffffffffffffffff16331461093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052a565b73ffffffffffffffffffffffffffffffffffffffff81166109e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052a565b6109eb81610f76565b50565b73ffffffffffffffffffffffffffffffffffffffff8316610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8216610b33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8216610ce8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610d9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290610de29084906113ac565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e4891815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610ed3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161052a565b8060026000828254610ee591906113ac565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610f1f9084906113ac565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604081208383039055600280548492906111829084906113c4565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610b95565b600060208083528351808285015260005b818110156111ff578581018301518582016040015282016111e3565b81811115611211576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461126957600080fd5b919050565b6000806040838503121561128157600080fd5b61128a83611245565b946020939093013593505050565b6000602082840312156112aa57600080fd5b6112b382611245565b9392505050565b6000806000606084860312156112cf57600080fd5b6112d884611245565b92506112e660208501611245565b9150604084013590509250925092565b6000806040838503121561130957600080fd5b61131283611245565b915061132060208401611245565b90509250929050565b600181811c9082168061133d57607f821691505b60208210811415611377577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156113bf576113bf61137d565b500190565b6000828210156113d6576113d661137d565b50039056fea2646970667358221220fd9684963a1e0e9d3eb55681a6f85f5c76804530c79f10cf8d0cfbd35511577164736f6c634300080a00336101406040523480156200001257600080fd5b506040516200171338038062001713833981016040819052620000359162000389565b6000805460ff191690558484828260c882826001600160a01b0381166200006f57604051635919af9760e11b815260040160405180910390fd5b806001600160a01b031663087376956040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d49190620004b3565b6001600160a01b0316608052508051620000f6906002906020840190620002b0565b505060a052506001600160a01b0382166200012457604051635919af9760e11b815260040160405180910390fd5b6001600160a01b03821660c0819052670de0b6b3a764000060e05260408051630176f71760e71b815290516000929163bb7b8b809160048083019260209291908290030181865afa1580156200017e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a49190620004d8565b9050620001b18162000210565b505050506001600160a01b0383161580620001d357506001600160a01b038216155b15620001f257604051635919af9760e11b815260040160405180910390fd5b506001600160a01b0391821661010052166101205250620005a59050565b806200022f576040516309aadd6f60e41b815260040160405180910390fd5b60018190557f82e7ee47180a631312683eeb2a85ad264c9af490d54de5a75bbdb95b968c6de28162000261816200027c565b6040805192835260208301919091520160405180910390a150565b60a0516000906127109062000292908262000508565b6200029e908462000523565b620002aa919062000545565b92915050565b828054620002be9062000568565b90600052602060002090601f016020900481019282620002e257600085556200032d565b82601f10620002fd57805160ff19168380011785556200032d565b828001600101855582156200032d579182015b828111156200032d57825182559160200191906001019062000310565b506200033b9291506200033f565b5090565b5b808211156200033b576000815560010162000340565b80516001600160a01b03811681146200036e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a08688031215620003a257600080fd5b620003ad8662000356565b94506020620003be81880162000356565b9450620003ce6040880162000356565b9350620003de6060880162000356565b60808801519093506001600160401b0380821115620003fc57600080fd5b818901915089601f8301126200041157600080fd5b81518181111562000426576200042662000373565b604051601f8201601f19908116603f0116810190838211818310171562000451576200045162000373565b816040528281528c868487010111156200046a57600080fd5b600093505b828410156200048e57848401860151818501870152928501926200046f565b82841115620004a05760008684830101525b8096505050505050509295509295909350565b600060208284031215620004c657600080fd5b620004d18262000356565b9392505050565b600060208284031215620004eb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156200051e576200051e620004f2565b500190565b6000816000190483118215151615620005405762000540620004f2565b500290565b6000826200056357634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806200057d57607f821691505b602082108114156200059f57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e05161010051610120516110e66200062d6000396000818161034101526107c80152600081816102f701526107190152600081816102d00152610923015260008181610195015261088701526000818161015b0152610b150152600081816102a90152818161039901528181610515015261064d01526110e66000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80639a6fc8f5116100cd578063b09ad8a011610081578063d62ada1111610066578063d62ada1114610334578063e5693f411461033c578063feaf968c1461036357600080fd5b8063b09ad8a014610319578063bc489a651461032157600080fd5b8063a50cf2c8116100b2578063a50cf2c8146102a4578063a834559e146102cb578063ab0ca0e1146102f257600080fd5b80639a6fc8f514610251578063a384d6ff1461029b57600080fd5b80633fd0875f116101245780635c975abb116101095780635c975abb1461021d5780637284e416146102345780638456cb591461024957600080fd5b80633fd0875f1461020057806354fd4d501461021557600080fd5b806312b495a814610156578063218751b214610190578063313ce567146101dc5780633f4ba83a146101f6575b600080fd5b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6101b77f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610187565b6101e4600881565b60405160ff9091168152602001610187565b6101fe61036b565b005b610208600281565b6040516101879190610cd5565b61017d600181565b60005460ff165b6040519015158152602001610187565b61023c610459565b6040516101879190610d16565b6101fe6104e7565b61026461025f366004610da1565b6105d3565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610187565b61017d60015481565b6101b77f000000000000000000000000000000000000000000000000000000000000000081565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b6101b77f000000000000000000000000000000000000000000000000000000000000000081565b61017d61060d565b6101fe61032f366004610dc5565b61061f565b610224600181565b6101b77f000000000000000000000000000000000000000000000000000000000000000081565b61026461070f565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d4eb5db090602401602060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190610dde565b61044f576040517f10332dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610457610965565b565b6002805461046690610e00565b80601f016020809104026020016040519081016040528092919081815260200182805461049290610e00565b80156104df5780601f106104b4576101008083540402835291602001916104df565b820191906000526020600020905b8154815290600101906020018083116104c257829003601f168201915b505050505081565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633a41ec6490602401602060405180830381865afa158015610571573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105959190610dde565b6105cb576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610457610a4b565b60008060008060006040517f24e46f7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061061a600154610b0b565b905090565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa1580156106a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cd9190610dde565b610703576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61070c81610b54565b50565b60008060008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a69190610e54565b9398509196509450925090506107be85858484610bd6565b60008060008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108559190610e54565b9450945094509450945061086b85858484610bd6565b88841215610883578499508398508297508196508095505b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109149190610eac565b905061091f81610c71565b90507f000000000000000000000000000000000000000000000000000000000000000061094c828c610ef4565b6109569190610fdf565b99505050505050509091929394565b60005460ff166109d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60005460ff1615610ab8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016109cd565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610a213390565b6000612710610b3a7f000000000000000000000000000000000000000000000000000000000000000082611047565b610b44908461105f565b610b4e919061109c565b92915050565b80610b8b576040517f9aadd6f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018190557f82e7ee47180a631312683eeb2a85ad264c9af490d54de5a75bbdb95b968c6de281610bbb81610b0b565b6040805192835260208301919091520160405180910390a150565b60008313610c10576040517f56e05d2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8369ffffffffffffffffffff168169ffffffffffffffffffff161080610c34575081155b15610c6b576040517fb1cf675500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60015460009080831015610cb1576040517fb416da7f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610cbc82610b0b565b905080841115610ccd579392505050565b509192915050565b6020810160068310610d10577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600060208083528351808285015260005b81811015610d4357858101830151858201604001528201610d27565b81811115610d55576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b69ffffffffffffffffffff8116811461070c57600080fd5b600060208284031215610db357600080fd5b8135610dbe81610d89565b9392505050565b600060208284031215610dd757600080fd5b5035919050565b600060208284031215610df057600080fd5b81518015158114610dbe57600080fd5b600181811c90821680610e1457607f821691505b60208210811415610e4e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600080600080600060a08688031215610e6c57600080fd5b8551610e7781610d89565b809550506020860151935060408601519250606086015191506080860151610e9e81610d89565b809150509295509295909350565b600060208284031215610ebe57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615610f3557610f35610ec5565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615610f7057610f70610ec5565b60008712925087820587128484161615610f8c57610f8c610ec5565b87850587128184161615610fa257610fa2610ec5565b505050929093029392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610fee57610fee610fb0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561104257611042610ec5565b500590565b6000821982111561105a5761105a610ec5565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561109757611097610ec5565b500290565b6000826110ab576110ab610fb0565b50049056fea2646970667358221220ca5730f8ac976a41fd1283a55d712276536b576394940abc65027e8592280cc364736f6c634300080a00336101606040523480156200001257600080fd5b5060405162001852380380620018528339810160408190526200003591620003a3565b6000805460ff191690558585828260c882826001600160a01b0381166200006f57604051635919af9760e11b815260040160405180910390fd5b806001600160a01b031663087376956040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d49190620004de565b6001600160a01b0316608052508051620000f6906002906020840190620002ca565b505060a052506001600160a01b0382166200012457604051635919af9760e11b815260040160405180910390fd5b6001600160a01b03821660c0819052670de0b6b3a764000060e05260408051630176f71760e71b815290516000929163bb7b8b809160048083019260209291908290030181865afa1580156200017e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a4919062000503565b9050620001b1816200022a565b505050506001600160a01b0384161580620001d357506001600160a01b038316155b80620001e657506001600160a01b038216155b156200020557604051635919af9760e11b815260040160405180910390fd5b506001600160a01b039283166101005290821661012052166101405250620005d09050565b8062000249576040516309aadd6f60e41b815260040160405180910390fd5b60018190557f82e7ee47180a631312683eeb2a85ad264c9af490d54de5a75bbdb95b968c6de2816200027b8162000296565b6040805192835260208301919091520160405180910390a150565b60a05160009061271090620002ac908262000533565b620002b890846200054e565b620002c4919062000570565b92915050565b828054620002d89062000593565b90600052602060002090601f016020900481019282620002fc576000855562000347565b82601f106200031757805160ff191683800117855562000347565b8280016001018555821562000347579182015b82811115620003475782518255916020019190600101906200032a565b506200035592915062000359565b5090565b5b808211156200035557600081556001016200035a565b80516001600160a01b03811681146200038857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060008060008060c08789031215620003bd57600080fd5b620003c88762000370565b95506020620003d981890162000370565b9550620003e96040890162000370565b9450620003f96060890162000370565b9350620004096080890162000370565b60a08901519093506001600160401b03808211156200042757600080fd5b818a0191508a601f8301126200043c57600080fd5b8151818111156200045157620004516200038d565b604051601f8201601f19908116603f011681019083821181831017156200047c576200047c6200038d565b816040528281528d868487010111156200049557600080fd5b600093505b82841015620004b957848401860151818501870152928501926200049a565b82841115620004cb5760008684830101525b8096505050505050509295509295509295565b600060208284031215620004f157600080fd5b620004fc8262000370565b9392505050565b6000602082840312156200051657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156200054957620005496200051d565b500190565b60008160001904831182151516156200056b576200056b6200051d565b500290565b6000826200058e57634e487b7160e01b600052601260045260246000fd5b500490565b600181811c90821680620005a857607f821691505b60208210811415620005ca57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e0516101005161012051610140516111e86200066a6000396000818161023501526108c8015260008181610383015261080901526000818161033901526107620152600081816103120152610a250152600081816101b001526109890152600081816101760152610c170152600081816102eb015281816103db01528181610557015261068f01526111e86000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80639a6fc8f5116100cd578063b09ad8a011610081578063d62ada1111610066578063d62ada1114610376578063e5693f411461037e578063feaf968c146103a557600080fd5b8063b09ad8a01461035b578063bc489a651461036357600080fd5b8063a50cf2c8116100b2578063a50cf2c8146102e6578063a834559e1461030d578063ab0ca0e11461033457600080fd5b80639a6fc8f514610293578063a384d6ff146102dd57600080fd5b8063427cb6fe116101245780635c975abb116101095780635c975abb1461025f5780637284e416146102765780638456cb591461028b57600080fd5b8063427cb6fe1461023057806354fd4d501461025757600080fd5b8063313ce56711610155578063313ce567146101f75780633f4ba83a146102115780633fd0875f1461021b57600080fd5b806312b495a814610171578063218751b2146101ab575b600080fd5b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6101d27f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a2565b6101ff600881565b60405160ff90911681526020016101a2565b6102196103ad565b005b610223600381565b6040516101a29190610dd7565b6101d27f000000000000000000000000000000000000000000000000000000000000000081565b610198600181565b60005460ff165b60405190151581526020016101a2565b61027e61049b565b6040516101a29190610e18565b610219610529565b6102a66102a1366004610ea3565b610615565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a0016101a2565b61019860015481565b6101d27f000000000000000000000000000000000000000000000000000000000000000081565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6101d27f000000000000000000000000000000000000000000000000000000000000000081565b61019861064f565b610219610371366004610ec7565b610661565b610266600181565b6101d27f000000000000000000000000000000000000000000000000000000000000000081565b6102a6610751565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d4eb5db090602401602060405180830381865afa158015610437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045b9190610ee0565b610491576040517f10332dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610499610a67565b565b600280546104a890610f02565b80601f01602080910402602001604051908101604052809291908181526020018280546104d490610f02565b80156105215780601f106104f657610100808354040283529160200191610521565b820191906000526020600020905b81548152906001019060200180831161050457829003601f168201915b505050505081565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633a41ec6490602401602060405180830381865afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d79190610ee0565b61060d576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610499610b4d565b60008060008060006040517f24e46f7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061065c600154610c0d565b905090565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f9190610ee0565b610745576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61074e81610c56565b50565b6000806000806000806000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef9190610f56565b939d50919b509950975095506108078a8a8989610cd8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108969190610f56565b9398509196509450925090506108ae85858484610cd8565b888412156108c6578499508398508297508196508095505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109559190610f56565b93985091965094509250905061096d85858484610cd8565b88841215610985578499508398508297508196508095505b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a169190610fae565b9050610a2181610d73565b90507f0000000000000000000000000000000000000000000000000000000000000000610a4e828c610ff6565b610a5891906110e1565b99505050505050509091929394565b60005460ff16610ad8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60005460ff1615610bba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610acf565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610b233390565b6000612710610c3c7f000000000000000000000000000000000000000000000000000000000000000082611149565b610c469084611161565b610c50919061119e565b92915050565b80610c8d576040517f9aadd6f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018190557f82e7ee47180a631312683eeb2a85ad264c9af490d54de5a75bbdb95b968c6de281610cbd81610c0d565b6040805192835260208301919091520160405180910390a150565b60008313610d12576040517f56e05d2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8369ffffffffffffffffffff168169ffffffffffffffffffff161080610d36575081155b15610d6d576040517fb1cf675500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60015460009080831015610db3576040517fb416da7f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dbe82610c0d565b905080841115610dcf579392505050565b509192915050565b6020810160068310610e12577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600060208083528351808285015260005b81811015610e4557858101830151858201604001528201610e29565b81811115610e57576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b69ffffffffffffffffffff8116811461074e57600080fd5b600060208284031215610eb557600080fd5b8135610ec081610e8b565b9392505050565b600060208284031215610ed957600080fd5b5035919050565b600060208284031215610ef257600080fd5b81518015158114610ec057600080fd5b600181811c90821680610f1657607f821691505b60208210811415610f50577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600080600080600060a08688031215610f6e57600080fd5b8551610f7981610e8b565b809550506020860151935060408601519250606086015191506080860151610fa081610e8b565b809150509295509295909350565b600060208284031215610fc057600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561103757611037610fc7565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561107257611072610fc7565b6000871292508782058712848416161561108e5761108e610fc7565b878505871281841616156110a4576110a4610fc7565b505050929093029392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826110f0576110f06110b2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561114457611144610fc7565b500590565b6000821982111561115c5761115c610fc7565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561119957611199610fc7565b500290565b6000826111ad576111ad6110b2565b50049056fea2646970667358221220226b667ed6fc6db7c8ec1377cc84dae524e2dc572320ead4a7092944a6b912de64736f6c634300080a00336101806040523480156200001257600080fd5b5060405162001982380380620019828339810160408190526200003591620003bc565b6000805460ff191690558686828260c882826001600160a01b0381166200006f57604051635919af9760e11b815260040160405180910390fd5b806001600160a01b031663087376956040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d491906200050b565b6001600160a01b0316608052508051620000f6906002906020840190620002e3565b505060a052506001600160a01b0382166200012457604051635919af9760e11b815260040160405180910390fd5b6001600160a01b03821660c0819052670de0b6b3a764000060e05260408051630176f71760e71b815290516000929163bb7b8b809160048083019260209291908290030181865afa1580156200017e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a4919062000530565b9050620001b18162000243565b505050506001600160a01b0385161580620001d357506001600160a01b038416155b80620001e657506001600160a01b038316155b80620001f957506001600160a01b038216155b156200021857604051635919af9760e11b815260040160405180910390fd5b506001600160a01b039384166101005291831661012052821661014052166101605250620005fd9050565b8062000262576040516309aadd6f60e41b815260040160405180910390fd5b60018190557f82e7ee47180a631312683eeb2a85ad264c9af490d54de5a75bbdb95b968c6de2816200029481620002af565b6040805192835260208301919091520160405180910390a150565b60a05160009061271090620002c5908262000560565b620002d190846200057b565b620002dd91906200059d565b92915050565b828054620002f190620005c0565b90600052602060002090601f01602090048101928262000315576000855562000360565b82601f106200033057805160ff191683800117855562000360565b8280016001018555821562000360579182015b828111156200036057825182559160200191906001019062000343565b506200036e92915062000372565b5090565b5b808211156200036e576000815560010162000373565b80516001600160a01b0381168114620003a157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600080600060e0888a031215620003d857600080fd5b620003e38862000389565b96506020620003f4818a0162000389565b96506200040460408a0162000389565b95506200041460608a0162000389565b94506200042460808a0162000389565b93506200043460a08a0162000389565b60c08a01519093506001600160401b03808211156200045257600080fd5b818b0191508b601f8301126200046757600080fd5b8151818111156200047c576200047c620003a6565b604051601f8201601f19908116603f01168101908382118183101715620004a757620004a7620003a6565b816040528281528e86848701011115620004c057600080fd5b600093505b82841015620004e45784840186015181850187015292850192620004c5565b82841115620004f65760008684830101525b80965050505050505092959891949750929550565b6000602082840312156200051e57600080fd5b620005298262000389565b9392505050565b6000602082840312156200054357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156200057657620005766200054a565b500190565b60008160001904831182151516156200059857620005986200054a565b500290565b600082620005bb57634e487b7160e01b600052601260045260246000fd5b500490565b600181811c90821680620005d557607f821691505b60208210811415620005f757634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e051610100516101205161014051610160516112d9620006a96000396000818161029b01526109b901526000818161024001526108fa0152600081816103b5015261083b01526000818161036b01526107940152600081816103440152610b160152600081816101bb0152610a7a0152600081816101810152610d0801526000818161031d0152818161040d0152818161058901526106c101526112d96000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c80638456cb59116100d8578063ab0ca0e11161008c578063d62ada1111610066578063d62ada11146103a8578063e5693f41146103b0578063feaf968c146103d757600080fd5b8063ab0ca0e114610366578063b09ad8a01461038d578063bc489a651461039557600080fd5b8063a384d6ff116100bd578063a384d6ff1461030f578063a50cf2c814610318578063a834559e1461033f57600080fd5b80638456cb59146102bd5780639a6fc8f5146102c557600080fd5b8063427cb6fe1161012f5780635c975abb116101145780635c975abb1461026a5780637284e416146102815780637aac1c481461029657600080fd5b8063427cb6fe1461023b57806354fd4d501461026257600080fd5b8063313ce56711610160578063313ce567146102025780633f4ba83a1461021c5780633fd0875f1461022657600080fd5b806312b495a81461017c578063218751b2146101b6575b600080fd5b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6101dd7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ad565b61020a600881565b60405160ff90911681526020016101ad565b6102246103df565b005b61022e600481565b6040516101ad9190610ec8565b6101dd7f000000000000000000000000000000000000000000000000000000000000000081565b6101a3600181565b60005460ff165b60405190151581526020016101ad565b6102896104cd565b6040516101ad9190610f09565b6101dd7f000000000000000000000000000000000000000000000000000000000000000081565b61022461055b565b6102d86102d3366004610f94565b610647565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a0016101ad565b6101a360015481565b6101dd7f000000000000000000000000000000000000000000000000000000000000000081565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b6101dd7f000000000000000000000000000000000000000000000000000000000000000081565b6101a3610681565b6102246103a3366004610fb8565b610693565b610271600181565b6101dd7f000000000000000000000000000000000000000000000000000000000000000081565b6102d8610783565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d4eb5db090602401602060405180830381865afa158015610469573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048d9190610fd1565b6104c3576040517f10332dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104cb610b58565b565b600280546104da90610ff3565b80601f016020809104026020016040519081016040528092919081815260200182805461050690610ff3565b80156105535780601f1061052857610100808354040283529160200191610553565b820191906000526020600020905b81548152906001019060200180831161053657829003601f168201915b505050505081565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633a41ec6490602401602060405180830381865afa1580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106099190610fd1565b61063f576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104cb610c3e565b60008060008060006040517f24e46f7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061068e600154610cfe565b905090565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa15801561071d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107419190610fd1565b610777576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61078081610d47565b50565b6000806000806000806000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108219190611047565b939d50919b509950975095506108398a8a8989610dc9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611047565b9398509196509450925090506108e085858484610dc9565b888412156108f8578499508398508297508196508095505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109879190611047565b93985091965094509250905061099f85858484610dc9565b888412156109b7578499508398508297508196508095505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610a22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a469190611047565b939850919650945092509050610a5e85858484610dc9565b88841215610a76578499508398508297508196508095505b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b07919061109f565b9050610b1281610e64565b90507f0000000000000000000000000000000000000000000000000000000000000000610b3f828c6110e7565b610b4991906111d2565b99505050505050509091929394565b60005460ff16610bc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60005460ff1615610cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610bc0565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610c143390565b6000612710610d2d7f00000000000000000000000000000000000000000000000000000000000000008261123a565b610d379084611252565b610d41919061128f565b92915050565b80610d7e576040517f9aadd6f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018190557f82e7ee47180a631312683eeb2a85ad264c9af490d54de5a75bbdb95b968c6de281610dae81610cfe565b6040805192835260208301919091520160405180910390a150565b60008313610e03576040517f56e05d2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8369ffffffffffffffffffff168169ffffffffffffffffffff161080610e27575081155b15610e5e576040517fb1cf675500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60015460009080831015610ea4576040517fb416da7f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610eaf82610cfe565b905080841115610ec0579392505050565b509192915050565b6020810160068310610f03577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600060208083528351808285015260005b81811015610f3657858101830151858201604001528201610f1a565b81811115610f48576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b69ffffffffffffffffffff8116811461078057600080fd5b600060208284031215610fa657600080fd5b8135610fb181610f7c565b9392505050565b600060208284031215610fca57600080fd5b5035919050565b600060208284031215610fe357600080fd5b81518015158114610fb157600080fd5b600181811c9082168061100757607f821691505b60208210811415611041577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600080600080600060a0868803121561105f57600080fd5b855161106a81610f7c565b80955050602086015193506040860151925060608601519150608086015161109181610f7c565b809150509295509295909350565b6000602082840312156110b157600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615611128576111286110b8565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615611163576111636110b8565b6000871292508782058712848416161561117f5761117f6110b8565b87850587128184161615611195576111956110b8565b505050929093029392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826111e1576111e16111a3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615611235576112356110b8565b500590565b6000821982111561124d5761124d6110b8565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561128a5761128a6110b8565b500290565b60008261129e5761129e6111a3565b50049056fea26469706673582212201ac3e66d7646fe6cc19eeb98703f28a4e57d890bef3635f1ed53ec7a4ea130d864736f6c634300080a0033a26469706673582212203dc2e71dea9cc200254ee285e57731b1416589a9bcb5cbbca2ae4bdd3867ed0b64736f6c634300080a0033";
493
-
494
- type CurveLPPriceFeedTestConstructorParams =
495
- | [signer?: Signer]
496
- | ConstructorParameters<typeof ContractFactory>;
497
-
498
- const isSuperArgs = (
499
- xs: CurveLPPriceFeedTestConstructorParams
500
- ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
501
-
502
- export class CurveLPPriceFeedTest__factory extends ContractFactory {
503
- constructor(...args: CurveLPPriceFeedTestConstructorParams) {
504
- if (isSuperArgs(args)) {
505
- super(...args);
506
- } else {
507
- super(_abi, _bytecode, args[0]);
508
- }
509
- }
510
-
511
- override deploy(
512
- overrides?: Overrides & { from?: string | Promise<string> }
513
- ): Promise<CurveLPPriceFeedTest> {
514
- return super.deploy(overrides || {}) as Promise<CurveLPPriceFeedTest>;
515
- }
516
- override getDeployTransaction(
517
- overrides?: Overrides & { from?: string | Promise<string> }
518
- ): TransactionRequest {
519
- return super.getDeployTransaction(overrides || {});
520
- }
521
- override attach(address: string): CurveLPPriceFeedTest {
522
- return super.attach(address) as CurveLPPriceFeedTest;
523
- }
524
- override connect(signer: Signer): CurveLPPriceFeedTest__factory {
525
- return super.connect(signer) as CurveLPPriceFeedTest__factory;
526
- }
527
-
528
- static readonly bytecode = _bytecode;
529
- static readonly abi = _abi;
530
- static createInterface(): CurveLPPriceFeedTestInterface {
531
- return new utils.Interface(_abi) as CurveLPPriceFeedTestInterface;
532
- }
533
- static connect(
534
- address: string,
535
- signerOrProvider: Signer | Provider
536
- ): CurveLPPriceFeedTest {
537
- return new Contract(
538
- address,
539
- _abi,
540
- signerOrProvider
541
- ) as CurveLPPriceFeedTest;
542
- }
543
- }