@superfluid-finance/sdk-core 0.9.1-dev.a7ee248.0 → 0.9.1-dev.a92f0d2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1129) hide show
  1. package/README.md +3 -3
  2. package/dist/index.umd.js +33520 -29209
  3. package/dist/main/BatchCall.d.ts.map +1 -1
  4. package/dist/main/ConstantFlowAgreementV1.d.ts.map +1 -1
  5. package/dist/main/ERC20Token.d.ts.map +1 -1
  6. package/dist/main/ERC721Token.d.ts.map +1 -1
  7. package/dist/main/Framework.d.ts.map +1 -1
  8. package/dist/main/GeneralDistributionAgreementV1.d.ts.map +1 -1
  9. package/dist/main/Governance.d.ts.map +1 -1
  10. package/dist/main/Host.d.ts.map +1 -1
  11. package/dist/main/InstantDistributionAgreementV1.d.ts.map +1 -1
  12. package/dist/main/Operation.d.ts.map +1 -1
  13. package/dist/main/Query.d.ts.map +1 -1
  14. package/dist/main/SuperToken.d.ts.map +1 -1
  15. package/dist/main/SuperfluidAgreement.d.ts.map +1 -1
  16. package/dist/main/SuperfluidPool.d.ts.map +1 -1
  17. package/dist/main/ajvValidations.generated.d.ts +0 -12
  18. package/dist/main/ajvValidations.generated.d.ts.map +1 -1
  19. package/dist/main/frameworkHelpers.d.ts.map +1 -1
  20. package/dist/main/index.js +17 -7
  21. package/dist/main/index.js.map +1 -1
  22. package/dist/main/interfaces.d.ts.map +1 -1
  23. package/dist/main/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  24. package/dist/main/mapGetAllEventsQueryEvents.js +17 -7
  25. package/dist/main/mapGetAllEventsQueryEvents.js.map +1 -1
  26. package/dist/main/miniSerializeError.d.ts.map +1 -1
  27. package/dist/main/pagination.d.ts.map +1 -1
  28. package/dist/main/subgraph/entities/account/account.d.ts.map +1 -1
  29. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts.map +1 -1
  30. package/dist/main/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts.map +1 -1
  31. package/dist/main/subgraph/entities/flowOperator/flowOperator.d.ts.map +1 -1
  32. package/dist/main/subgraph/entities/index/index.d.ts.map +1 -1
  33. package/dist/main/subgraph/entities/indexSubscription/indexSubscription.d.ts.map +1 -1
  34. package/dist/main/subgraph/entities/pool/pool.d.ts.map +1 -1
  35. package/dist/main/subgraph/entities/poolDistributor/poolDistributor.d.ts.map +1 -1
  36. package/dist/main/subgraph/entities/poolMember/poolMember.d.ts.map +1 -1
  37. package/dist/main/subgraph/entities/stream/stream.d.ts.map +1 -1
  38. package/dist/main/subgraph/entities/streamPeriod/streamPeriod.d.ts.map +1 -1
  39. package/dist/main/subgraph/entities/token/token.d.ts.map +1 -1
  40. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistic.d.ts.map +1 -1
  41. package/dist/main/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts.map +1 -1
  42. package/dist/main/subgraph/normalizeSubgraphFilter.d.ts.map +1 -1
  43. package/dist/main/subgraph/subgraphQueryHandler.d.ts.map +1 -1
  44. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.d.ts +45 -0
  45. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.d.ts.map +1 -0
  46. package/dist/main/typechain-types/{contracts/utils/MacroForwarder.js → @openzeppelin-v5/contracts/interfaces/IERC1271.js} +1 -1
  47. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.js.map +1 -0
  48. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.d.ts +43 -0
  49. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.d.ts.map +1 -0
  50. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.js +3 -0
  51. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.js.map +1 -0
  52. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts +2 -0
  53. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts.map +1 -0
  54. package/dist/main/typechain-types/{contracts/interfaces/utils/IUserDefinedMacro.js → @openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js} +1 -1
  55. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js.map +1 -0
  56. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/index.d.ts +3 -0
  57. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/index.d.ts.map +1 -1
  58. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.d.ts +28 -0
  59. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.d.ts.map +1 -0
  60. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.js +3 -0
  61. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.js.map +1 -0
  62. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts +1 -0
  63. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts.map +1 -1
  64. package/dist/main/typechain-types/contracts/interfaces/external/IPermit2.d.ts +98 -0
  65. package/dist/main/typechain-types/contracts/interfaces/external/IPermit2.d.ts.map +1 -0
  66. package/dist/main/typechain-types/contracts/interfaces/external/IPermit2.js +3 -0
  67. package/dist/main/typechain-types/contracts/interfaces/external/IPermit2.js.map +1 -0
  68. package/dist/main/typechain-types/contracts/interfaces/external/index.d.ts +2 -0
  69. package/dist/main/typechain-types/contracts/interfaces/external/index.d.ts.map +1 -0
  70. package/dist/main/typechain-types/contracts/interfaces/external/index.js +3 -0
  71. package/dist/main/typechain-types/contracts/interfaces/external/index.js.map +1 -0
  72. package/dist/main/typechain-types/contracts/interfaces/index.d.ts +2 -0
  73. package/dist/main/typechain-types/contracts/interfaces/index.d.ts.map +1 -1
  74. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts +9 -1
  75. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts.map +1 -1
  76. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperTokenFactory.d.ts +1 -53
  77. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperTokenFactory.d.ts.map +1 -1
  78. package/dist/main/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts +9 -1
  79. package/dist/main/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts.map +1 -1
  80. package/dist/main/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts +9 -1
  81. package/dist/main/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts.map +1 -1
  82. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacro.d.ts +91 -0
  83. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacro.d.ts.map +1 -0
  84. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacro.js +3 -0
  85. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacro.js.map +1 -0
  86. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.d.ts +143 -0
  87. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.d.ts.map +1 -0
  88. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.js +3 -0
  89. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.js.map +1 -0
  90. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.d.ts +250 -0
  91. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.d.ts.map +1 -0
  92. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.js +3 -0
  93. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.js.map +1 -0
  94. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.d.ts +144 -0
  95. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.d.ts.map +1 -0
  96. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.js +3 -0
  97. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.js.map +1 -0
  98. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts +3 -0
  99. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts.map +1 -0
  100. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js +3 -0
  101. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js.map +1 -0
  102. package/dist/main/typechain-types/contracts/interfaces/utils/{IUserDefinedMacro.d.ts → IMacro.d.ts} +14 -14
  103. package/dist/main/typechain-types/contracts/interfaces/utils/IMacro.d.ts.map +1 -0
  104. package/dist/main/typechain-types/contracts/interfaces/utils/IMacro.js +3 -0
  105. package/dist/main/typechain-types/contracts/interfaces/utils/IMacro.js.map +1 -0
  106. package/dist/main/typechain-types/contracts/interfaces/utils/index.d.ts +5 -1
  107. package/dist/main/typechain-types/contracts/interfaces/utils/index.d.ts.map +1 -1
  108. package/dist/main/typechain-types/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock.d.ts +9 -1
  109. package/dist/main/typechain-types/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock.d.ts.map +1 -1
  110. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock.d.ts +1 -79
  111. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock.d.ts.map +1 -1
  112. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42.d.ts +1 -79
  113. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42.d.ts.map +1 -1
  114. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester.d.ts +1 -79
  115. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester.d.ts.map +1 -1
  116. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester.d.ts +1 -79
  117. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester.d.ts.map +1 -1
  118. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock.d.ts +9 -1
  119. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock.d.ts.map +1 -1
  120. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester.d.ts +9 -1
  121. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester.d.ts.map +1 -1
  122. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/ISparkVault.d.ts +416 -0
  123. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/ISparkVault.d.ts.map +1 -0
  124. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/ISparkVault.js +3 -0
  125. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/ISparkVault.js.map +1 -0
  126. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend.d.ts +163 -0
  127. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend.d.ts.map +1 -0
  128. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend.js +3 -0
  129. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend.js.map +1 -0
  130. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/index.d.ts +3 -0
  131. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/index.d.ts.map +1 -0
  132. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/index.js +3 -0
  133. package/dist/main/typechain-types/contracts/superfluid/SparkYieldBackend.sol/index.js.map +1 -0
  134. package/dist/main/typechain-types/contracts/superfluid/SuperToken.d.ts +9 -1
  135. package/dist/main/typechain-types/contracts/superfluid/SuperToken.d.ts.map +1 -1
  136. package/dist/main/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory.d.ts +1 -79
  137. package/dist/main/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory.d.ts.map +1 -1
  138. package/dist/main/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase.d.ts +1 -79
  139. package/dist/main/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase.d.ts.map +1 -1
  140. package/dist/main/typechain-types/contracts/superfluid/index.d.ts +2 -0
  141. package/dist/main/typechain-types/contracts/superfluid/index.d.ts.map +1 -1
  142. package/dist/main/typechain-types/contracts/utils/{MacroForwarder.d.ts → BlindMacroForwarder.d.ts} +22 -7
  143. package/dist/main/typechain-types/contracts/utils/BlindMacroForwarder.d.ts.map +1 -0
  144. package/dist/main/typechain-types/contracts/utils/BlindMacroForwarder.js +3 -0
  145. package/dist/main/typechain-types/contracts/utils/BlindMacroForwarder.js.map +1 -0
  146. package/dist/main/typechain-types/contracts/utils/ClearMacroBase.d.ts +87 -0
  147. package/dist/main/typechain-types/contracts/utils/ClearMacroBase.d.ts.map +1 -0
  148. package/dist/main/typechain-types/contracts/utils/ClearMacroBase.js +3 -0
  149. package/dist/main/typechain-types/contracts/utils/ClearMacroBase.js.map +1 -0
  150. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.d.ts +216 -0
  151. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.d.ts.map +1 -0
  152. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.js +3 -0
  153. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.js.map +1 -0
  154. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.d.ts +45 -0
  155. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.d.ts.map +1 -0
  156. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.js +3 -0
  157. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.js.map +1 -0
  158. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts +3 -0
  159. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts.map +1 -0
  160. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.js +3 -0
  161. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.js.map +1 -0
  162. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.d.ts +331 -0
  163. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.d.ts.map +1 -0
  164. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.js +3 -0
  165. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.js.map +1 -0
  166. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts +3 -0
  167. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -1
  168. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts +3 -0
  169. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -1
  170. package/dist/main/typechain-types/contracts/utils/index.d.ts +5 -1
  171. package/dist/main/typechain-types/contracts/utils/index.d.ts.map +1 -1
  172. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/access/index.js +17 -7
  173. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/access/index.js.map +1 -1
  174. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/index.js +17 -7
  175. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/index.js.map +1 -1
  176. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.d.ts +27 -0
  177. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.d.ts.map +1 -0
  178. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.js +44 -0
  179. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.js.map +1 -0
  180. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.d.ts +31 -0
  181. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.d.ts.map +1 -0
  182. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.js +49 -0
  183. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.js.map +1 -0
  184. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts +2 -0
  185. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts.map +1 -0
  186. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js +9 -0
  187. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js.map +1 -0
  188. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.d.ts +2 -0
  189. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.d.ts.map +1 -1
  190. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.js +21 -8
  191. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.js.map +1 -1
  192. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +1 -1
  193. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/ERC1967/ERC1967Utils__factory.js +1 -1
  194. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.d.ts +1 -1
  195. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.d.ts.map +1 -1
  196. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.js +1 -1
  197. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.js.map +1 -1
  198. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/UpgradeableBeacon__factory.d.ts +1 -1
  199. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/UpgradeableBeacon__factory.js +1 -1
  200. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/index.js +17 -7
  201. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/index.js.map +1 -1
  202. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/index.js +17 -7
  203. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/index.js.map +1 -1
  204. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  205. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/utils/SafeERC20__factory.js +1 -1
  206. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC721/index.js +17 -7
  207. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC721/index.js.map +1 -1
  208. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/index.js +17 -7
  209. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/index.js.map +1 -1
  210. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Address__factory.d.ts +1 -1
  211. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Address__factory.js +1 -1
  212. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Errors__factory.d.ts +1 -1
  213. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Errors__factory.js +1 -1
  214. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/ShortStrings__factory.d.ts +1 -1
  215. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/ShortStrings__factory.js +1 -1
  216. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Strings__factory.d.ts +1 -1
  217. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Strings__factory.js +1 -1
  218. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  219. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/ECDSA__factory.js +1 -1
  220. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.d.ts +25 -0
  221. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.d.ts.map +1 -0
  222. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.js +48 -0
  223. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.js.map +1 -0
  224. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts +1 -0
  225. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts.map +1 -1
  226. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.js +3 -1
  227. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.js.map +1 -1
  228. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/index.js +17 -7
  229. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/index.js.map +1 -1
  230. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  231. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/math/SafeCast__factory.js +1 -1
  232. package/dist/main/typechain-types/factories/@openzeppelin-v5/index.js +17 -7
  233. package/dist/main/typechain-types/factories/@openzeppelin-v5/index.js.map +1 -1
  234. package/dist/main/typechain-types/factories/aave-v3/index.js +17 -7
  235. package/dist/main/typechain-types/factories/aave-v3/index.js.map +1 -1
  236. package/dist/main/typechain-types/factories/aave-v3/src/contracts/helpers/index.js +17 -7
  237. package/dist/main/typechain-types/factories/aave-v3/src/contracts/helpers/index.js.map +1 -1
  238. package/dist/main/typechain-types/factories/aave-v3/src/contracts/index.js +17 -7
  239. package/dist/main/typechain-types/factories/aave-v3/src/contracts/index.js.map +1 -1
  240. package/dist/main/typechain-types/factories/aave-v3/src/index.js +17 -7
  241. package/dist/main/typechain-types/factories/aave-v3/src/index.js.map +1 -1
  242. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  243. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts.map +1 -1
  244. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  245. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js.map +1 -1
  246. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +9 -1
  247. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts.map +1 -1
  248. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +12 -1
  249. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js.map +1 -1
  250. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  251. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  252. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  253. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  254. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  255. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts.map +1 -1
  256. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  257. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js.map +1 -1
  258. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPoolPlaceholder__factory.d.ts +1 -1
  259. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPoolPlaceholder__factory.js +1 -1
  260. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  261. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts.map +1 -1
  262. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  263. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js.map +1 -1
  264. package/dist/main/typechain-types/factories/contracts/agreements/index.js +17 -7
  265. package/dist/main/typechain-types/factories/contracts/agreements/index.js.map +1 -1
  266. package/dist/main/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts +1 -1
  267. package/dist/main/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js +1 -1
  268. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  269. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  270. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  271. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  272. package/dist/main/typechain-types/factories/contracts/gov/index.js +17 -7
  273. package/dist/main/typechain-types/factories/contracts/gov/index.js.map +1 -1
  274. package/dist/main/typechain-types/factories/contracts/index.js +17 -7
  275. package/dist/main/typechain-types/factories/contracts/index.js.map +1 -1
  276. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/index.js +17 -7
  277. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/index.js.map +1 -1
  278. package/dist/main/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.d.ts +80 -0
  279. package/dist/main/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.d.ts.map +1 -0
  280. package/dist/main/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.js +112 -0
  281. package/dist/main/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.js.map +1 -0
  282. package/dist/main/typechain-types/factories/contracts/interfaces/external/index.d.ts +2 -0
  283. package/dist/main/typechain-types/factories/contracts/interfaces/external/index.d.ts.map +1 -0
  284. package/dist/main/typechain-types/factories/contracts/interfaces/external/index.js +9 -0
  285. package/dist/main/typechain-types/factories/contracts/interfaces/external/index.js.map +1 -0
  286. package/dist/main/typechain-types/factories/contracts/interfaces/index.d.ts +1 -0
  287. package/dist/main/typechain-types/factories/contracts/interfaces/index.d.ts.map +1 -1
  288. package/dist/main/typechain-types/factories/contracts/interfaces/index.js +19 -8
  289. package/dist/main/typechain-types/factories/contracts/interfaces/index.js.map +1 -1
  290. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.d.ts +0 -58
  291. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.d.ts.map +1 -1
  292. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.js +0 -77
  293. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.js.map +1 -1
  294. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts +10 -0
  295. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts.map +1 -1
  296. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js +13 -0
  297. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js.map +1 -1
  298. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts +10 -0
  299. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts.map +1 -1
  300. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js +13 -0
  301. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js.map +1 -1
  302. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts +10 -0
  303. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts.map +1 -1
  304. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js +13 -0
  305. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js.map +1 -1
  306. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/index.js +17 -7
  307. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/index.js.map +1 -1
  308. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.d.ts +331 -0
  309. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.d.ts.map +1 -0
  310. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.js +440 -0
  311. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.js.map +1 -0
  312. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.d.ts +152 -0
  313. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.d.ts.map +1 -0
  314. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.js +205 -0
  315. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.js.map +1 -0
  316. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts +3 -0
  317. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts.map +1 -0
  318. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js +11 -0
  319. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js.map +1 -0
  320. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.d.ts +188 -0
  321. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.d.ts.map +1 -0
  322. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.js +255 -0
  323. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.js.map +1 -0
  324. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.d.ts +104 -0
  325. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.d.ts.map +1 -0
  326. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.js +146 -0
  327. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.js.map +1 -0
  328. package/dist/{module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts → main/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.d.ts} +7 -7
  329. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.d.ts.map +1 -0
  330. package/dist/main/typechain-types/factories/contracts/interfaces/utils/{IUserDefinedMacro__factory.js → IMacro__factory.js} +7 -7
  331. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.js.map +1 -0
  332. package/dist/main/typechain-types/factories/contracts/interfaces/utils/index.d.ts +4 -1
  333. package/dist/main/typechain-types/factories/contracts/interfaces/utils/index.d.ts.map +1 -1
  334. package/dist/main/typechain-types/factories/contracts/interfaces/utils/index.js +41 -3
  335. package/dist/main/typechain-types/factories/contracts/interfaces/utils/index.js.map +1 -1
  336. package/dist/main/typechain-types/factories/contracts/libs/SlotsBitmapLibrary__factory.d.ts +1 -1
  337. package/dist/main/typechain-types/factories/contracts/libs/SlotsBitmapLibrary__factory.js +1 -1
  338. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  339. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  340. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  341. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  342. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  343. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  344. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  345. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  346. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  347. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  348. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  349. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  350. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsMock.t.sol/CallUtilsMock__factory.d.ts +1 -1
  351. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsMock.t.sol/CallUtilsMock__factory.js +1 -1
  352. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.d.ts +1 -1
  353. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.js +1 -1
  354. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock__factory.d.ts +10 -0
  355. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock__factory.d.ts.map +1 -1
  356. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock__factory.js +13 -0
  357. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock__factory.js.map +1 -1
  358. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenProxyMock__factory.d.ts +1 -1
  359. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenProxyMock__factory.js +1 -1
  360. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  361. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  362. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  363. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  364. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  365. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  366. package/dist/main/typechain-types/factories/contracts/mocks/FakeSuperfluidMock.t.sol/FakeSuperfluidMock__factory.d.ts +1 -1
  367. package/dist/main/typechain-types/factories/contracts/mocks/FakeSuperfluidMock.t.sol/FakeSuperfluidMock__factory.js +1 -1
  368. package/dist/main/typechain-types/factories/contracts/mocks/ForwarderMock.t.sol/ForwarderMock__factory.d.ts +1 -1
  369. package/dist/main/typechain-types/factories/contracts/mocks/ForwarderMock.t.sol/ForwarderMock__factory.js +1 -1
  370. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  371. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  372. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  373. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  374. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  375. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  376. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -1
  377. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -1
  378. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  379. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  380. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  381. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  382. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  383. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  384. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  385. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  386. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  387. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  388. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  389. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  390. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  391. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  392. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  393. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts.map +1 -1
  394. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  395. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js.map +1 -1
  396. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -82
  397. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts.map +1 -1
  398. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -108
  399. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js.map +1 -1
  400. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -82
  401. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts.map +1 -1
  402. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -108
  403. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js.map +1 -1
  404. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -82
  405. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts.map +1 -1
  406. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -108
  407. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js.map +1 -1
  408. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -82
  409. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts.map +1 -1
  410. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -108
  411. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js.map +1 -1
  412. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  413. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  414. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  415. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  416. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  417. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  418. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  419. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  420. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +9 -1
  421. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts.map +1 -1
  422. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +12 -1
  423. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js.map +1 -1
  424. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +19 -1
  425. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts.map +1 -1
  426. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +25 -1
  427. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js.map +1 -1
  428. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +19 -1
  429. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts.map +1 -1
  430. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +25 -1
  431. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js.map +1 -1
  432. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidDestructorMock.t.sol/SuperfluidDestructorMock__factory.d.ts +1 -1
  433. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidDestructorMock.t.sol/SuperfluidDestructorMock__factory.js +1 -1
  434. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  435. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  436. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +1 -1
  437. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +1 -1
  438. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
  439. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
  440. package/dist/main/typechain-types/factories/contracts/mocks/UUPSProxiableMock.t.sol/UUPSProxiableMock__factory.d.ts +1 -1
  441. package/dist/main/typechain-types/factories/contracts/mocks/UUPSProxiableMock.t.sol/UUPSProxiableMock__factory.js +1 -1
  442. package/dist/main/typechain-types/factories/contracts/mocks/index.js +17 -7
  443. package/dist/main/typechain-types/factories/contracts/mocks/index.js.map +1 -1
  444. package/dist/main/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.d.ts +1 -1
  445. package/dist/main/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.js +1 -1
  446. package/dist/main/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.d.ts +1 -1
  447. package/dist/main/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.js +1 -1
  448. package/dist/main/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.d.ts +1 -1
  449. package/dist/main/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.js +1 -1
  450. package/dist/main/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.d.ts +1 -1
  451. package/dist/main/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.js +1 -1
  452. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/ISparkVault__factory.d.ts +525 -0
  453. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/ISparkVault__factory.d.ts.map +1 -0
  454. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/ISparkVault__factory.js +697 -0
  455. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/ISparkVault__factory.js.map +1 -0
  456. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.d.ts +125 -0
  457. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.d.ts.map +1 -0
  458. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.js +176 -0
  459. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.js.map +1 -0
  460. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/index.d.ts +3 -0
  461. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/index.d.ts.map +1 -0
  462. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/index.js +11 -0
  463. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/index.js.map +1 -0
  464. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.d.ts +0 -81
  465. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.d.ts.map +1 -1
  466. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.js +0 -107
  467. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.js.map +1 -1
  468. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -82
  469. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts.map +1 -1
  470. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -108
  471. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js.map +1 -1
  472. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +19 -1
  473. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts.map +1 -1
  474. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +25 -1
  475. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js.map +1 -1
  476. package/dist/main/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.d.ts +8 -0
  477. package/dist/main/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.d.ts.map +1 -1
  478. package/dist/main/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.js +11 -0
  479. package/dist/main/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.js.map +1 -1
  480. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
  481. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +1 -1
  482. package/dist/main/typechain-types/factories/contracts/superfluid/index.d.ts +1 -0
  483. package/dist/main/typechain-types/factories/contracts/superfluid/index.d.ts.map +1 -1
  484. package/dist/main/typechain-types/factories/contracts/superfluid/index.js +19 -8
  485. package/dist/main/typechain-types/factories/contracts/superfluid/index.js.map +1 -1
  486. package/dist/main/typechain-types/factories/contracts/tokens/PureSuperToken__factory.d.ts +1 -1
  487. package/dist/main/typechain-types/factories/contracts/tokens/PureSuperToken__factory.js +1 -1
  488. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  489. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  490. package/dist/main/typechain-types/factories/contracts/tokens/index.js +17 -7
  491. package/dist/main/typechain-types/factories/contracts/tokens/index.js.map +1 -1
  492. package/dist/main/typechain-types/factories/contracts/upgradability/SuperfluidUpgradeableBeacon__factory.d.ts +1 -1
  493. package/dist/main/typechain-types/factories/contracts/upgradability/SuperfluidUpgradeableBeacon__factory.js +1 -1
  494. package/dist/main/typechain-types/factories/contracts/upgradability/UUPSProxy__factory.d.ts +1 -1
  495. package/dist/main/typechain-types/factories/contracts/upgradability/UUPSProxy__factory.js +1 -1
  496. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  497. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  498. package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts +93 -0
  499. package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts.map +1 -0
  500. package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js +138 -0
  501. package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js.map +1 -0
  502. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  503. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  504. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  505. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  506. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroBase__factory.d.ts +116 -0
  507. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroBase__factory.d.ts.map +1 -0
  508. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroBase__factory.js +162 -0
  509. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroBase__factory.js.map +1 -0
  510. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts +333 -0
  511. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts.map +1 -0
  512. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js +452 -0
  513. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js.map +1 -0
  514. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.d.ts +39 -0
  515. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.d.ts.map +1 -0
  516. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.js +60 -0
  517. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.js.map +1 -0
  518. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts +3 -0
  519. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts.map +1 -0
  520. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.js +11 -0
  521. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.js.map +1 -0
  522. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts +494 -0
  523. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts.map +1 -0
  524. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js +661 -0
  525. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js.map +1 -0
  526. package/dist/main/typechain-types/factories/contracts/utils/ERC1820Implementer__factory.d.ts +1 -1
  527. package/dist/main/typechain-types/factories/contracts/utils/ERC1820Implementer__factory.js +1 -1
  528. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +1 -1
  529. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +1 -1
  530. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  531. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  532. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  533. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  534. package/dist/main/typechain-types/factories/contracts/utils/Resolver__factory.d.ts +1 -1
  535. package/dist/main/typechain-types/factories/contracts/utils/Resolver__factory.js +1 -1
  536. package/dist/main/typechain-types/factories/contracts/utils/SimpleACL__factory.d.ts +1 -1
  537. package/dist/main/typechain-types/factories/contracts/utils/SimpleACL__factory.js +1 -1
  538. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +1 -1
  539. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +1 -1
  540. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  541. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts.map +1 -1
  542. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  543. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js.map +1 -1
  544. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +6 -2
  545. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  546. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +7 -2
  547. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  548. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +6 -2
  549. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  550. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +7 -2
  551. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  552. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  553. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  554. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +21 -1
  555. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts.map +1 -1
  556. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +28 -1
  557. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js.map +1 -1
  558. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  559. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  560. package/dist/main/typechain-types/factories/contracts/utils/TestResolver__factory.d.ts +1 -1
  561. package/dist/main/typechain-types/factories/contracts/utils/TestResolver__factory.js +1 -1
  562. package/dist/main/typechain-types/factories/contracts/utils/TestToken__factory.d.ts +1 -1
  563. package/dist/main/typechain-types/factories/contracts/utils/TestToken__factory.d.ts.map +1 -1
  564. package/dist/main/typechain-types/factories/contracts/utils/TestToken__factory.js +1 -1
  565. package/dist/main/typechain-types/factories/contracts/utils/TestToken__factory.js.map +1 -1
  566. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts +4 -1
  567. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  568. package/dist/main/typechain-types/factories/contracts/utils/index.js +25 -10
  569. package/dist/main/typechain-types/factories/contracts/utils/index.js.map +1 -1
  570. package/dist/main/typechain-types/factories/index.js +17 -7
  571. package/dist/main/typechain-types/factories/index.js.map +1 -1
  572. package/dist/main/typechain-types/index.d.ts +32 -4
  573. package/dist/main/typechain-types/index.d.ts.map +1 -1
  574. package/dist/main/typechain-types/index.js +53 -15
  575. package/dist/main/typechain-types/index.js.map +1 -1
  576. package/dist/main/utils.d.ts.map +1 -1
  577. package/dist/module/BatchCall.d.ts.map +1 -1
  578. package/dist/module/ConstantFlowAgreementV1.d.ts.map +1 -1
  579. package/dist/module/ERC20Token.d.ts.map +1 -1
  580. package/dist/module/ERC721Token.d.ts.map +1 -1
  581. package/dist/module/Framework.d.ts.map +1 -1
  582. package/dist/module/GeneralDistributionAgreementV1.d.ts.map +1 -1
  583. package/dist/module/Governance.d.ts.map +1 -1
  584. package/dist/module/Host.d.ts.map +1 -1
  585. package/dist/module/InstantDistributionAgreementV1.d.ts.map +1 -1
  586. package/dist/module/Operation.d.ts.map +1 -1
  587. package/dist/module/Query.d.ts.map +1 -1
  588. package/dist/module/SuperToken.d.ts.map +1 -1
  589. package/dist/module/SuperfluidAgreement.d.ts.map +1 -1
  590. package/dist/module/SuperfluidPool.d.ts.map +1 -1
  591. package/dist/module/ajvValidations.generated.d.ts +0 -12
  592. package/dist/module/ajvValidations.generated.d.ts.map +1 -1
  593. package/dist/module/frameworkHelpers.d.ts.map +1 -1
  594. package/dist/module/interfaces.d.ts.map +1 -1
  595. package/dist/module/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  596. package/dist/module/miniSerializeError.d.ts.map +1 -1
  597. package/dist/module/pagination.d.ts.map +1 -1
  598. package/dist/module/subgraph/entities/account/account.d.ts.map +1 -1
  599. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts.map +1 -1
  600. package/dist/module/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts.map +1 -1
  601. package/dist/module/subgraph/entities/flowOperator/flowOperator.d.ts.map +1 -1
  602. package/dist/module/subgraph/entities/index/index.d.ts.map +1 -1
  603. package/dist/module/subgraph/entities/indexSubscription/indexSubscription.d.ts.map +1 -1
  604. package/dist/module/subgraph/entities/pool/pool.d.ts.map +1 -1
  605. package/dist/module/subgraph/entities/poolDistributor/poolDistributor.d.ts.map +1 -1
  606. package/dist/module/subgraph/entities/poolMember/poolMember.d.ts.map +1 -1
  607. package/dist/module/subgraph/entities/stream/stream.d.ts.map +1 -1
  608. package/dist/module/subgraph/entities/streamPeriod/streamPeriod.d.ts.map +1 -1
  609. package/dist/module/subgraph/entities/token/token.d.ts.map +1 -1
  610. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistic.d.ts.map +1 -1
  611. package/dist/module/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts.map +1 -1
  612. package/dist/module/subgraph/normalizeSubgraphFilter.d.ts.map +1 -1
  613. package/dist/module/subgraph/subgraphQueryHandler.d.ts.map +1 -1
  614. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.d.ts +45 -0
  615. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.d.ts.map +1 -0
  616. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.js +2 -0
  617. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.js.map +1 -0
  618. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.d.ts +43 -0
  619. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.d.ts.map +1 -0
  620. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.js +2 -0
  621. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.js.map +1 -0
  622. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts +2 -0
  623. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts.map +1 -0
  624. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js +2 -0
  625. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js.map +1 -0
  626. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/index.d.ts +3 -0
  627. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/index.d.ts.map +1 -1
  628. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.d.ts +28 -0
  629. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.d.ts.map +1 -0
  630. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.js +2 -0
  631. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.js.map +1 -0
  632. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts +1 -0
  633. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts.map +1 -1
  634. package/dist/module/typechain-types/contracts/interfaces/external/IPermit2.d.ts +98 -0
  635. package/dist/module/typechain-types/contracts/interfaces/external/IPermit2.d.ts.map +1 -0
  636. package/dist/module/typechain-types/contracts/interfaces/external/IPermit2.js +2 -0
  637. package/dist/module/typechain-types/contracts/interfaces/external/IPermit2.js.map +1 -0
  638. package/dist/module/typechain-types/contracts/interfaces/external/index.d.ts +2 -0
  639. package/dist/module/typechain-types/contracts/interfaces/external/index.d.ts.map +1 -0
  640. package/dist/module/typechain-types/contracts/interfaces/external/index.js +2 -0
  641. package/dist/module/typechain-types/contracts/interfaces/external/index.js.map +1 -0
  642. package/dist/module/typechain-types/contracts/interfaces/index.d.ts +2 -0
  643. package/dist/module/typechain-types/contracts/interfaces/index.d.ts.map +1 -1
  644. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts +9 -1
  645. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts.map +1 -1
  646. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperTokenFactory.d.ts +1 -53
  647. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperTokenFactory.d.ts.map +1 -1
  648. package/dist/module/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts +9 -1
  649. package/dist/module/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts.map +1 -1
  650. package/dist/module/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts +9 -1
  651. package/dist/module/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts.map +1 -1
  652. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacro.d.ts +91 -0
  653. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacro.d.ts.map +1 -0
  654. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacro.js +2 -0
  655. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacro.js.map +1 -0
  656. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.d.ts +143 -0
  657. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.d.ts.map +1 -0
  658. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.js +2 -0
  659. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.js.map +1 -0
  660. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.d.ts +250 -0
  661. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.d.ts.map +1 -0
  662. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.js +2 -0
  663. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.js.map +1 -0
  664. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.d.ts +144 -0
  665. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.d.ts.map +1 -0
  666. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.js +2 -0
  667. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.js.map +1 -0
  668. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts +3 -0
  669. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts.map +1 -0
  670. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js +2 -0
  671. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js.map +1 -0
  672. package/dist/module/typechain-types/contracts/interfaces/utils/{IUserDefinedMacro.d.ts → IMacro.d.ts} +14 -14
  673. package/dist/module/typechain-types/contracts/interfaces/utils/IMacro.d.ts.map +1 -0
  674. package/dist/module/typechain-types/contracts/interfaces/utils/IMacro.js +2 -0
  675. package/dist/module/typechain-types/contracts/interfaces/utils/IMacro.js.map +1 -0
  676. package/dist/module/typechain-types/contracts/interfaces/utils/index.d.ts +5 -1
  677. package/dist/module/typechain-types/contracts/interfaces/utils/index.d.ts.map +1 -1
  678. package/dist/module/typechain-types/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock.d.ts +9 -1
  679. package/dist/module/typechain-types/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock.d.ts.map +1 -1
  680. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock.d.ts +1 -79
  681. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock.d.ts.map +1 -1
  682. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42.d.ts +1 -79
  683. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42.d.ts.map +1 -1
  684. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester.d.ts +1 -79
  685. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester.d.ts.map +1 -1
  686. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester.d.ts +1 -79
  687. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester.d.ts.map +1 -1
  688. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock.d.ts +9 -1
  689. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock.d.ts.map +1 -1
  690. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester.d.ts +9 -1
  691. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester.d.ts.map +1 -1
  692. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/ISparkVault.d.ts +416 -0
  693. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/ISparkVault.d.ts.map +1 -0
  694. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/ISparkVault.js +2 -0
  695. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/ISparkVault.js.map +1 -0
  696. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend.d.ts +163 -0
  697. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend.d.ts.map +1 -0
  698. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend.js +2 -0
  699. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend.js.map +1 -0
  700. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/index.d.ts +3 -0
  701. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/index.d.ts.map +1 -0
  702. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/index.js +2 -0
  703. package/dist/module/typechain-types/contracts/superfluid/SparkYieldBackend.sol/index.js.map +1 -0
  704. package/dist/module/typechain-types/contracts/superfluid/SuperToken.d.ts +9 -1
  705. package/dist/module/typechain-types/contracts/superfluid/SuperToken.d.ts.map +1 -1
  706. package/dist/module/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory.d.ts +1 -79
  707. package/dist/module/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory.d.ts.map +1 -1
  708. package/dist/module/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase.d.ts +1 -79
  709. package/dist/module/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase.d.ts.map +1 -1
  710. package/dist/module/typechain-types/contracts/superfluid/index.d.ts +2 -0
  711. package/dist/module/typechain-types/contracts/superfluid/index.d.ts.map +1 -1
  712. package/dist/module/typechain-types/contracts/utils/{MacroForwarder.d.ts → BlindMacroForwarder.d.ts} +22 -7
  713. package/dist/module/typechain-types/contracts/utils/BlindMacroForwarder.d.ts.map +1 -0
  714. package/dist/module/typechain-types/contracts/utils/BlindMacroForwarder.js +2 -0
  715. package/dist/module/typechain-types/contracts/utils/BlindMacroForwarder.js.map +1 -0
  716. package/dist/module/typechain-types/contracts/utils/ClearMacroBase.d.ts +87 -0
  717. package/dist/module/typechain-types/contracts/utils/ClearMacroBase.d.ts.map +1 -0
  718. package/dist/module/typechain-types/contracts/utils/ClearMacroBase.js +2 -0
  719. package/dist/module/typechain-types/contracts/utils/ClearMacroBase.js.map +1 -0
  720. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.d.ts +216 -0
  721. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.d.ts.map +1 -0
  722. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.js +2 -0
  723. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.js.map +1 -0
  724. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.d.ts +45 -0
  725. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.d.ts.map +1 -0
  726. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.js +2 -0
  727. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.js.map +1 -0
  728. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts +3 -0
  729. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts.map +1 -0
  730. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.js +2 -0
  731. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.js.map +1 -0
  732. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.d.ts +331 -0
  733. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.d.ts.map +1 -0
  734. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.js +2 -0
  735. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.js.map +1 -0
  736. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts +3 -0
  737. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -1
  738. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts +3 -0
  739. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -1
  740. package/dist/module/typechain-types/contracts/utils/index.d.ts +5 -1
  741. package/dist/module/typechain-types/contracts/utils/index.d.ts.map +1 -1
  742. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.d.ts +27 -0
  743. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.d.ts.map +1 -0
  744. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.js +40 -0
  745. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.js.map +1 -0
  746. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.d.ts +31 -0
  747. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.d.ts.map +1 -0
  748. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.js +45 -0
  749. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.js.map +1 -0
  750. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts +2 -0
  751. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts.map +1 -0
  752. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js +5 -0
  753. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js.map +1 -0
  754. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.d.ts +2 -0
  755. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.d.ts.map +1 -1
  756. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.js +2 -0
  757. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.js.map +1 -1
  758. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +1 -1
  759. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/ERC1967/ERC1967Utils__factory.js +1 -1
  760. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.d.ts +1 -1
  761. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.d.ts.map +1 -1
  762. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.js +1 -1
  763. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.js.map +1 -1
  764. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/UpgradeableBeacon__factory.d.ts +1 -1
  765. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/UpgradeableBeacon__factory.js +1 -1
  766. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  767. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/utils/SafeERC20__factory.js +1 -1
  768. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Address__factory.d.ts +1 -1
  769. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Address__factory.js +1 -1
  770. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Errors__factory.d.ts +1 -1
  771. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Errors__factory.js +1 -1
  772. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/ShortStrings__factory.d.ts +1 -1
  773. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/ShortStrings__factory.js +1 -1
  774. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Strings__factory.d.ts +1 -1
  775. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Strings__factory.js +1 -1
  776. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  777. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/ECDSA__factory.js +1 -1
  778. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.d.ts +25 -0
  779. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.d.ts.map +1 -0
  780. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.js +44 -0
  781. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.js.map +1 -0
  782. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts +1 -0
  783. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts.map +1 -1
  784. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.js +1 -0
  785. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.js.map +1 -1
  786. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  787. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/math/SafeCast__factory.js +1 -1
  788. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  789. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts.map +1 -1
  790. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  791. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js.map +1 -1
  792. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +9 -1
  793. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts.map +1 -1
  794. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +12 -1
  795. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js.map +1 -1
  796. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  797. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  798. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  799. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  800. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  801. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts.map +1 -1
  802. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  803. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js.map +1 -1
  804. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPoolPlaceholder__factory.d.ts +1 -1
  805. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPoolPlaceholder__factory.js +1 -1
  806. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  807. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts.map +1 -1
  808. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  809. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js.map +1 -1
  810. package/dist/module/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts +1 -1
  811. package/dist/module/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js +1 -1
  812. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  813. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  814. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  815. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  816. package/dist/module/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.d.ts +80 -0
  817. package/dist/module/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.d.ts.map +1 -0
  818. package/dist/module/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.js +108 -0
  819. package/dist/module/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.js.map +1 -0
  820. package/dist/module/typechain-types/factories/contracts/interfaces/external/index.d.ts +2 -0
  821. package/dist/module/typechain-types/factories/contracts/interfaces/external/index.d.ts.map +1 -0
  822. package/dist/module/typechain-types/factories/contracts/interfaces/external/index.js +5 -0
  823. package/dist/module/typechain-types/factories/contracts/interfaces/external/index.js.map +1 -0
  824. package/dist/module/typechain-types/factories/contracts/interfaces/index.d.ts +1 -0
  825. package/dist/module/typechain-types/factories/contracts/interfaces/index.d.ts.map +1 -1
  826. package/dist/module/typechain-types/factories/contracts/interfaces/index.js +1 -0
  827. package/dist/module/typechain-types/factories/contracts/interfaces/index.js.map +1 -1
  828. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.d.ts +0 -58
  829. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.d.ts.map +1 -1
  830. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.js +0 -77
  831. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.js.map +1 -1
  832. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts +10 -0
  833. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts.map +1 -1
  834. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js +13 -0
  835. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js.map +1 -1
  836. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts +10 -0
  837. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts.map +1 -1
  838. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js +13 -0
  839. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js.map +1 -1
  840. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts +10 -0
  841. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts.map +1 -1
  842. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js +13 -0
  843. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js.map +1 -1
  844. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.d.ts +331 -0
  845. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.d.ts.map +1 -0
  846. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.js +436 -0
  847. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.js.map +1 -0
  848. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.d.ts +152 -0
  849. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.d.ts.map +1 -0
  850. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.js +201 -0
  851. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.js.map +1 -0
  852. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts +3 -0
  853. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts.map +1 -0
  854. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js +6 -0
  855. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js.map +1 -0
  856. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.d.ts +188 -0
  857. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.d.ts.map +1 -0
  858. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.js +251 -0
  859. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.js.map +1 -0
  860. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.d.ts +104 -0
  861. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.d.ts.map +1 -0
  862. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.js +142 -0
  863. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.js.map +1 -0
  864. package/dist/{main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts → module/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.d.ts} +7 -7
  865. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.d.ts.map +1 -0
  866. package/dist/module/typechain-types/factories/contracts/interfaces/utils/{IUserDefinedMacro__factory.js → IMacro__factory.js} +5 -5
  867. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.js.map +1 -0
  868. package/dist/module/typechain-types/factories/contracts/interfaces/utils/index.d.ts +4 -1
  869. package/dist/module/typechain-types/factories/contracts/interfaces/utils/index.d.ts.map +1 -1
  870. package/dist/module/typechain-types/factories/contracts/interfaces/utils/index.js +4 -1
  871. package/dist/module/typechain-types/factories/contracts/interfaces/utils/index.js.map +1 -1
  872. package/dist/module/typechain-types/factories/contracts/libs/SlotsBitmapLibrary__factory.d.ts +1 -1
  873. package/dist/module/typechain-types/factories/contracts/libs/SlotsBitmapLibrary__factory.js +1 -1
  874. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  875. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  876. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  877. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  878. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  879. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  880. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  881. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  882. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  883. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  884. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  885. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  886. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsMock.t.sol/CallUtilsMock__factory.d.ts +1 -1
  887. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsMock.t.sol/CallUtilsMock__factory.js +1 -1
  888. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.d.ts +1 -1
  889. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.js +1 -1
  890. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock__factory.d.ts +10 -0
  891. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock__factory.d.ts.map +1 -1
  892. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock__factory.js +13 -0
  893. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenMock__factory.js.map +1 -1
  894. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenProxyMock__factory.d.ts +1 -1
  895. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenProxyMock__factory.js +1 -1
  896. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  897. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  898. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  899. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  900. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  901. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  902. package/dist/module/typechain-types/factories/contracts/mocks/FakeSuperfluidMock.t.sol/FakeSuperfluidMock__factory.d.ts +1 -1
  903. package/dist/module/typechain-types/factories/contracts/mocks/FakeSuperfluidMock.t.sol/FakeSuperfluidMock__factory.js +1 -1
  904. package/dist/module/typechain-types/factories/contracts/mocks/ForwarderMock.t.sol/ForwarderMock__factory.d.ts +1 -1
  905. package/dist/module/typechain-types/factories/contracts/mocks/ForwarderMock.t.sol/ForwarderMock__factory.js +1 -1
  906. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  907. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  908. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  909. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  910. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  911. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  912. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -1
  913. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -1
  914. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  915. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  916. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  917. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  918. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  919. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  920. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  921. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  922. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  923. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  924. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  925. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  926. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  927. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  928. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  929. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts.map +1 -1
  930. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  931. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js.map +1 -1
  932. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -82
  933. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts.map +1 -1
  934. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -108
  935. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js.map +1 -1
  936. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -82
  937. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts.map +1 -1
  938. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -108
  939. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js.map +1 -1
  940. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -82
  941. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts.map +1 -1
  942. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -108
  943. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js.map +1 -1
  944. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -82
  945. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts.map +1 -1
  946. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -108
  947. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js.map +1 -1
  948. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  949. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  950. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  951. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  952. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  953. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  954. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  955. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  956. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +9 -1
  957. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts.map +1 -1
  958. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +12 -1
  959. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js.map +1 -1
  960. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +19 -1
  961. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts.map +1 -1
  962. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +25 -1
  963. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js.map +1 -1
  964. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +19 -1
  965. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts.map +1 -1
  966. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +25 -1
  967. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js.map +1 -1
  968. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidDestructorMock.t.sol/SuperfluidDestructorMock__factory.d.ts +1 -1
  969. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidDestructorMock.t.sol/SuperfluidDestructorMock__factory.js +1 -1
  970. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  971. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  972. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +1 -1
  973. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +1 -1
  974. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
  975. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
  976. package/dist/module/typechain-types/factories/contracts/mocks/UUPSProxiableMock.t.sol/UUPSProxiableMock__factory.d.ts +1 -1
  977. package/dist/module/typechain-types/factories/contracts/mocks/UUPSProxiableMock.t.sol/UUPSProxiableMock__factory.js +1 -1
  978. package/dist/module/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.d.ts +1 -1
  979. package/dist/module/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.js +1 -1
  980. package/dist/module/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.d.ts +1 -1
  981. package/dist/module/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.js +1 -1
  982. package/dist/module/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.d.ts +1 -1
  983. package/dist/module/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.js +1 -1
  984. package/dist/module/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.d.ts +1 -1
  985. package/dist/module/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.js +1 -1
  986. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/ISparkVault__factory.d.ts +525 -0
  987. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/ISparkVault__factory.d.ts.map +1 -0
  988. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/ISparkVault__factory.js +693 -0
  989. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/ISparkVault__factory.js.map +1 -0
  990. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.d.ts +125 -0
  991. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.d.ts.map +1 -0
  992. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.js +172 -0
  993. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.js.map +1 -0
  994. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/index.d.ts +3 -0
  995. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/index.d.ts.map +1 -0
  996. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/index.js +6 -0
  997. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/index.js.map +1 -0
  998. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.d.ts +0 -81
  999. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.d.ts.map +1 -1
  1000. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.js +0 -107
  1001. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.js.map +1 -1
  1002. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -82
  1003. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts.map +1 -1
  1004. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -108
  1005. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js.map +1 -1
  1006. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +19 -1
  1007. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts.map +1 -1
  1008. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +25 -1
  1009. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js.map +1 -1
  1010. package/dist/module/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.d.ts +8 -0
  1011. package/dist/module/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.d.ts.map +1 -1
  1012. package/dist/module/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.js +11 -0
  1013. package/dist/module/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.js.map +1 -1
  1014. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
  1015. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +1 -1
  1016. package/dist/module/typechain-types/factories/contracts/superfluid/index.d.ts +1 -0
  1017. package/dist/module/typechain-types/factories/contracts/superfluid/index.d.ts.map +1 -1
  1018. package/dist/module/typechain-types/factories/contracts/superfluid/index.js +1 -0
  1019. package/dist/module/typechain-types/factories/contracts/superfluid/index.js.map +1 -1
  1020. package/dist/module/typechain-types/factories/contracts/tokens/PureSuperToken__factory.d.ts +1 -1
  1021. package/dist/module/typechain-types/factories/contracts/tokens/PureSuperToken__factory.js +1 -1
  1022. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  1023. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  1024. package/dist/module/typechain-types/factories/contracts/upgradability/SuperfluidUpgradeableBeacon__factory.d.ts +1 -1
  1025. package/dist/module/typechain-types/factories/contracts/upgradability/SuperfluidUpgradeableBeacon__factory.js +1 -1
  1026. package/dist/module/typechain-types/factories/contracts/upgradability/UUPSProxy__factory.d.ts +1 -1
  1027. package/dist/module/typechain-types/factories/contracts/upgradability/UUPSProxy__factory.js +1 -1
  1028. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  1029. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  1030. package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts +93 -0
  1031. package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts.map +1 -0
  1032. package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js +134 -0
  1033. package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js.map +1 -0
  1034. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  1035. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  1036. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  1037. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  1038. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroBase__factory.d.ts +116 -0
  1039. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroBase__factory.d.ts.map +1 -0
  1040. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroBase__factory.js +158 -0
  1041. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroBase__factory.js.map +1 -0
  1042. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts +333 -0
  1043. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts.map +1 -0
  1044. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js +448 -0
  1045. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js.map +1 -0
  1046. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.d.ts +39 -0
  1047. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.d.ts.map +1 -0
  1048. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.js +56 -0
  1049. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.js.map +1 -0
  1050. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts +3 -0
  1051. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts.map +1 -0
  1052. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.js +6 -0
  1053. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.js.map +1 -0
  1054. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts +494 -0
  1055. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts.map +1 -0
  1056. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js +657 -0
  1057. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js.map +1 -0
  1058. package/dist/module/typechain-types/factories/contracts/utils/ERC1820Implementer__factory.d.ts +1 -1
  1059. package/dist/module/typechain-types/factories/contracts/utils/ERC1820Implementer__factory.js +1 -1
  1060. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +1 -1
  1061. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +1 -1
  1062. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  1063. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  1064. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  1065. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  1066. package/dist/module/typechain-types/factories/contracts/utils/Resolver__factory.d.ts +1 -1
  1067. package/dist/module/typechain-types/factories/contracts/utils/Resolver__factory.js +1 -1
  1068. package/dist/module/typechain-types/factories/contracts/utils/SimpleACL__factory.d.ts +1 -1
  1069. package/dist/module/typechain-types/factories/contracts/utils/SimpleACL__factory.js +1 -1
  1070. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +1 -1
  1071. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +1 -1
  1072. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  1073. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts.map +1 -1
  1074. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  1075. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js.map +1 -1
  1076. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +6 -2
  1077. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  1078. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +7 -2
  1079. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  1080. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +6 -2
  1081. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  1082. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +7 -2
  1083. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  1084. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  1085. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  1086. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +21 -1
  1087. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts.map +1 -1
  1088. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +28 -1
  1089. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js.map +1 -1
  1090. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  1091. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  1092. package/dist/module/typechain-types/factories/contracts/utils/TestResolver__factory.d.ts +1 -1
  1093. package/dist/module/typechain-types/factories/contracts/utils/TestResolver__factory.js +1 -1
  1094. package/dist/module/typechain-types/factories/contracts/utils/TestToken__factory.d.ts +1 -1
  1095. package/dist/module/typechain-types/factories/contracts/utils/TestToken__factory.d.ts.map +1 -1
  1096. package/dist/module/typechain-types/factories/contracts/utils/TestToken__factory.js +1 -1
  1097. package/dist/module/typechain-types/factories/contracts/utils/TestToken__factory.js.map +1 -1
  1098. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts +4 -1
  1099. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  1100. package/dist/module/typechain-types/factories/contracts/utils/index.js +4 -1
  1101. package/dist/module/typechain-types/factories/contracts/utils/index.js.map +1 -1
  1102. package/dist/module/typechain-types/index.d.ts +32 -4
  1103. package/dist/module/typechain-types/index.d.ts.map +1 -1
  1104. package/dist/module/typechain-types/index.js +16 -2
  1105. package/dist/module/typechain-types/index.js.map +1 -1
  1106. package/dist/module/utils.d.ts.map +1 -1
  1107. package/package.json +20 -21
  1108. package/dist/main/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts.map +0 -1
  1109. package/dist/main/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.js.map +0 -1
  1110. package/dist/main/typechain-types/contracts/utils/MacroForwarder.d.ts.map +0 -1
  1111. package/dist/main/typechain-types/contracts/utils/MacroForwarder.js.map +0 -1
  1112. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts.map +0 -1
  1113. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js.map +0 -1
  1114. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +0 -78
  1115. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +0 -1
  1116. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +0 -119
  1117. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +0 -1
  1118. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts.map +0 -1
  1119. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.js +0 -2
  1120. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.js.map +0 -1
  1121. package/dist/module/typechain-types/contracts/utils/MacroForwarder.d.ts.map +0 -1
  1122. package/dist/module/typechain-types/contracts/utils/MacroForwarder.js +0 -2
  1123. package/dist/module/typechain-types/contracts/utils/MacroForwarder.js.map +0 -1
  1124. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts.map +0 -1
  1125. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js.map +0 -1
  1126. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +0 -78
  1127. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +0 -1
  1128. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +0 -115
  1129. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +0 -1
@@ -12,7 +12,7 @@ export declare class SuperToken__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): SuperToken;
14
14
  connect(signer: Signer): SuperToken__factory;
15
- static readonly bytecode = "0x60e060405234801561000f575f5ffd5b50604051615b7e380380615b7e83398101604081905261002e91610089565b6001600160a01b03808316608052811660c08190526040517feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e6905f90a250506100c1565b6001600160a01b0381168114610086575f5ffd5b50565b5f5f6040838503121561009a575f5ffd5b82516100a581610072565b60208401519092506100b681610072565b809150509250929050565b60805160a05160c0516159eb6101935f395f6108a201525f610a3501525f818161051a01528181610d0801528181610d770152818161108a0152818161111701528181611242015281816113b90152818161157601528181611773015281816117c90152818161186a0152818161195d01528181611aa101528181611c4301528181611e33015281816122b401528181612362015281816125f4015281816126b901528181612720015281816127a601528181613163015281816131f8015281816144d3015261482201526159eb5ff3fe608060405234801561000f575f5ffd5b5060043610610438575f3560e01c80636e9960c311610237578063bb0d196e11610135578063d9d078d6116100bf578063ee719bc811610084578063ee719bc814610a1f578063f5a8b4dd14610a30578063fad8b32a14610a57578063fc673c4f14610a6a578063fe9d930314610a7d575f5ffd5b8063d9d078d614610982578063dd62ed3e14610995578063e729804b146109cd578063eb3537cc146109de578063ec0d634314610a0c575f5ffd5b8063ca0c1e7f11610105578063ca0c1e7f14610923578063ca78946414610936578063cf97256d14610949578063d505accf1461095c578063d95b63711461096f575f5ffd5b8063bb0d196e146108d7578063c67a8c1b146108ea578063c68d4283146108fd578063c780fd8214610910575f5ffd5b806395d89b41116101c1578063a3a7e7f311610186578063a3a7e7f314610864578063a457c2d714610877578063a9059cbb1461088a578063b20db1ac1461089d578063b84cdd4a146108c4575f5ffd5b806395d89b411461081b5780639903ad38146108235780639bd9bbc61461082b5780639d8767411461083e578063a1b2bf8b14610851575f5ffd5b806383ba25251161020757806383ba2525146107b557806384b0196e146107c85780638f283970146107e357806392081a47146107f6578063959b8c3f14610808575f5ffd5b80636e9960c31461075f57806370a082311461076757806379359f6f1461077a5780637ecebe001461078d575f5ffd5b8063370a190f116103445780634b2763b3116102ce5780635b9d09cc116102935780635b9d09cc1461070057806362aa52871461071357806362ad1b831461072657806366a12fb6146107395780636c2d9f2f1461074c575f5ffd5b80634b2763b3146106985780634b61cc33146106ab57806350d75d25146106cb57806352d1902d146106d3578063556f0dc7146106f9575f5ffd5b806342fe09801161031457806342fe09801461064457806345977d0314610657578063469519541461066a57806347ba7ad11461067d5780634a3acda014610690575f5ffd5b8063370a190f14610603578063386fa2211461060b578063395093511461061e57806341b706be14610631575f5ffd5b80631ae88ffc116103c557806327048397116103955780632704839714610578578063282a050b1461058b5780632ec8eec7146105b3578063313ce567146105e65780633644e515146105fb575f5ffd5b80631ae88ffc1461050557806320bc44251461051857806323b872dd14610552578063245887fc14610565575f5ffd5b806311bcc81e1161040b57806311bcc81e146104a757806312a6a3f8146104ba57806316d055d6146104cd57806318160ddd146104e05780631863e809146104f2575f5ffd5b806306e485381461043c57806306fdde031461045a578063090c415e1461046f578063095ea7b314610484575b5f5ffd5b610444610a90565b6040516104519190614914565b60405180910390f35b610462610aa1565b604051610451919061498d565b61048261047d3660046149fa565b610b31565b005b610497610492366004614a51565b610be2565b6040519015158152602001610451565b6104826104b5366004614a7b565b610bf8565b6104826104c8366004614a92565b610c25565b6104826104db366004614ad9565b610d06565b6003545b604051908152602001610451565b610482610500366004614be3565b610d62565b610482610513366004614c6f565b611088565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610451565b610497610560366004614c6f565b611100565b610482610573366004614a51565b611115565b610482610586366004614cad565b61118c565b61059e610599366004614a7b565b611228565b60408051928352602083019190915201610451565b6105c66105c1366004614ccd565b61123c565b604080519485526020850193909352918301526060820152608001610451565b60125b60405160ff9091168152602001610451565b6104e46112db565b610482611389565b610444610619366004614ccd565b611543565b61049761062c366004614a51565b6115e1565b61048261063f366004614ad9565b61161c565b610482610652366004614d3a565b611648565b610482610665366004614a7b565b611719565b610482610678366004614ccd565b611743565b61048261068b366004614c6f565b6117c7565b61048261183a565b6104826106a6366004614c6f565b61195b565b6106be6106b9366004614dca565b6119dc565b6040516104519190614e0d565b61053a611a20565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104e4565b60016104e4565b61048261070e366004614e44565b611a49565b610482610721366004614c6f565b611a9f565b610482610734366004614e8f565b611af3565b610482610747366004614c6f565b611b9f565b6106be61075a366004614f2a565b611bbf565b61053a611c00565b6104e4610775366004614ccd565b611c16565b610497610788366004614ccd565b611c3c565b6104e461079b366004614ccd565b6001600160a01b03165f9081526016602052604090205490565b6104826107c3366004614a51565b611cc1565b6107d0611ceb565b6040516104519796959493929190614f5c565b6104826107f1366004614ccd565b611e03565b600e54600160a01b900460ff166105e9565b610482610816366004614ccd565b611ef1565b610462611f42565b610482611f51565b610482610839366004614e44565b61200d565b61048261084c366004614ff2565b612060565b61048261085f366004614a92565b612121565b610482610872366004614ccd565b6121c9565b610497610885366004614a51565b6121dd565b610497610898366004614a51565b612254565b61053a7f000000000000000000000000000000000000000000000000000000000000000081565b6104976108d2366004614a51565b612261565b6104976108e5366004614ccd565b6122ad565b6104826108f8366004614ccd565b612332565b61048261090b366004614ff2565b61256e565b61048261091e366004614c6f565b6125f2565b610482610931366004615046565b6126b7565b610482610944366004614a51565b61271e565b610482610957366004614a51565b612791565b61048261096a3660046150ad565b612876565b61049761097d3660046150fa565b6129cf565b610497610990366004614a51565b6129dc565b6104e46109a33660046150fa565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b6017546001600160a01b031661053a565b6109f16109ec366004614a51565b6129f4565b60408051938452602084019290925290820152606001610451565b610482610a1a366004615131565b612b21565b600e546001600160a01b031661053a565b61053a7f000000000000000000000000000000000000000000000000000000000000000081565b610482610a65366004614ccd565b612bf2565b610482610a783660046151d4565b612c43565b610482610a8b366004615215565b612ce2565b6060610a9c6012612d32565b905090565b6060600f8054610ab09061524f565b80601f0160208091040260200160405190810160405280929190818152602001828054610adc9061524f565b8015610b275780601f10610afe57610100808354040283529160200191610b27565b820191905f5260205f20905b815481529060010190602001808311610b0a57829003601f168201915b5050505050905090565b5f338585604051602001610b4793929190615287565b604051602081830303815290604052805190602001209050610b9b818484808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612d9592505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b5f610bee338484612dcb565b5060015b92915050565b610c223333338460405180602001604052805f81525060405180602001604052805f815250612dd8565b50565b60405133905f90610c3c90839087906020016152d0565b60408051601f1981840301815291905280516020909101209050610c608184612fc3565b15610c7e5760405163782a90fb60e11b815260040160405180910390fd5b610cba818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612d9592505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610cf79392919061530d565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d4f5760405163c51efddd60e01b815260040160405180910390fd5b610d5b84848484612ff5565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610dc4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de8919061534c565b610e055760405163327fd99160e21b815260040160405180910390fd5b5f610e0e61315f565b90506001600160a01b038116610e215750845b5f85610e2d5786610e2f565b815b90505f8313610ef957610e418361537b565b610e4a8561329f565b14610e5757610e57615395565b610e608461329f565b6001600160a01b0382165f9081526002602052604081208054909190610e879084906153a9565b90915550506001600160a01b0385165f9081526002602052604081208054859290610eb39084906153a9565b92505081905550806001600160a01b0316856001600160a01b03165f5160206159965f395f51905f5286604051610eec91815260200190565b60405180910390a3611020565b8515610f0757610f07615395565b82610f118561329f565b610f1b91906153a9565b6001600160a01b0383165f9081526002602052604081208054909190610f429084906153d0565b90915550610f5190508461329f565b6001600160a01b0388165f9081526002602052604081208054909190610f789084906153a9565b90915550506001600160a01b0385165f9081526002602052604081208054859290610fa49084906153a9565b92505081905550866001600160a01b0316826001600160a01b03165f5160206159965f395f51905f5286604051610fdd91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03165f5160206159965f395f51905f528560405161101791815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110759594939291906153ef565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146110d15760405163c51efddd60e01b815260040160405180910390fd5b6110fb3384848460405180602001604052805f81525060405180602001604052805f8152506132cf565b505050565b5f61110d33858585612ff5565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461115e5760405163c51efddd60e01b815260040160405180910390fd5b6111883383848460405180602001604052805f81525060405180602001604052805f815250612dd8565b5050565b60405133905f906111a390839086906020016152d0565b6040516020818303038152906040528051906020012090506111c58184612fc3565b6111e25760405163dae1880960e01b815260040160405180910390fd5b6111ec81846134ae565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b906020015b60405180910390a250505050565b5f5f611233836134c5565b91509150915091565b5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c0919061542c565b90506112cc85826129f4565b91979096509094509092509050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600f60405161130c9190615443565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f61139f5f5160206159765f395f51905f525490565b90505f6001600160a01b038216156113b757816113d9565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461140457604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03166114595760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b60448201526064015b60405180910390fd5b6017546001600160a01b031660015f805c60ff19168217905d506017546040805160048152602481019091526020810180516001600160e01b03166372e6c5b560e11b1790526114b2916001600160a01b031690613580565b5f60ff19815c16815d506017546040805160048152602481019091526020810180516001600160e01b0316632f2770db60e01b1790526114fb916001600160a01b031690613580565b601780546001600160a01b03191690556040516001600160a01b038216907f2486b5241145ce1b97a13655ecd4e8e51094ac93259a0589d24524304d6d70d4905f90a2505050565b6001600160a01b038181165f908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d906024015f60405180830381865afa1580156115ba573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bf291908101906154b4565b335f8181526011602090815260408083206001600160a01b03871684529091528120549091610bee91859061161790869061555b565b612dcb565b33301461163c57604051630fff4cc960e31b815260040160405180910390fd5b610d5b83858484612ff5565b5f54610100900460ff161580801561166657505f54600160ff909116105b8061167f5750303b15801561167f57505f5460ff166001145b61169b5760405162461bcd60e51b81526004016114509061556e565b5f805460ff1916600117905580156116bc575f805461ff0019166101001790555b6116cb8787878787875f6135ea565b8015611710575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610c223333338460405180602001604052805f81525060405180602001604052805f8152506132cf565b5f6117595f5160206159765f395f51905f525490565b90505f6001600160a01b038216156117715781611793565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146117be57604051630484acab60e01b815260040160405180910390fd5b6110fb836136ae565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146118105760405163c51efddd60e01b815260040160405180910390fd5b6110fb3384848460405180602001604052805f81525060405180602001604052805f815250612dd8565b5f6118505f5160206159765f395f51905f525490565b90505f6001600160a01b03821615611868578161188a565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146118b557604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03166119055760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b6044820152606401611450565b601754600354604051611188926001600160a01b03169161192c9160240190815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316632c34606360e21b179052613580565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146119a45760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f908152601160209081526040808320938616835292905220546110fb908490849061161790859061555b565b60605f8585856040516020016119f493929190615287565b604051602081830303815290604052805190602001209050611a1681846138e5565b9695505050505050565b5f610a9c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b611a993333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250604080516020810190915290815292506132cf915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611ae85760405163c51efddd60e01b815260040160405180910390fd5b6110fb838383612dcb565b33611b006012828a61396a565b611b1d5760405163f7f0222760e01b815260040160405180910390fd5b611b958189898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f9201919091525060019250613a0f915050565b5050505050505050565b333014611ae857604051630fff4cc960e31b815260040160405180910390fd5b60605f8484604051602001611bd59291906152d0565b604051602081830303815290604052805190602001209050611bf781846138e5565b95945050505050565b5f610a9c5f5160206159765f395f51905f525490565b5f5f611c218361123c565b50505090505f8112611c335780611c35565b5f5b9392505050565b5f610bf2827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c9d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610990919061542c565b6111883333848460405180602001604052805f81525060405180602001604052805f815250612dd8565b5f6060805f5f5f6060600f604051806040016040528060018152602001603160f81b81525046305f5f1b5f6001600160401b03811115611d2d57611d2d614b27565b604051908082528060200260200182016040528015611d56578160200160208202803683370190505b50600f60f81b959493929190858054611d6e9061524f565b80601f0160208091040260200160405190810160405280929190818152602001828054611d9a9061524f565b8015611de55780601f10611dbc57610100808354040283529160200191611de5565b820191905f5260205f20905b815481529060010190602001808311611dc857829003601f168201915b50505050509550965096509650965096509650965090919293949596565b5f611e195f5160206159765f395f51905f525490565b90505f6001600160a01b03821615611e315781611e53565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b03821614611e7e57604051630484acab60e01b815260040160405180910390fd5b5f611e945f5160206159765f395f51905f525490565b9050611eab845f5160206159765f395f51905f5255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611efe60128284613a88565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610ab09061524f565b5f54610100900460ff1615808015611f6f57505f54600160ff909116105b80611f885750303b158015611f8857505f5460ff166001145b611fa45760405162461bcd60e51b81526004016114509061556e565b5f805460ff191660011790558015611fc5575f805461ff0019166101001790555b8015610c22575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b611a993333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925060019150613a0f9050565b33301461208057604051630fff4cc960e31b815260040160405180910390fd5b8051604080515f8152602081019091526120a591339186918691901515908690613b89565b6017546001600160a01b0316156110fb5760015f805c60ff19168217905d5060175460405160248101849052612112916001600160a01b0316906044015b60408051601f198184030181529190526020810180516001600160e01b0316632e1a7d4d60e01b179052613580565b5f60ff19815c16815d50505050565b60405133905f9061213890839087906020016152d0565b60405160208183030381529060405280519060200120905061218c818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612d9592505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610cf79392919061530d565b6111883333836121d833611c16565b612ff5565b335f9081526011602090815260408083206001600160a01b038616845290915281205482111561221f5760405162461bcd60e51b8152600401611450906155bc565b335f8181526011602090815260408083206001600160a01b0388168452909152902054610bee91908590611617908690615606565b5f611c3533338585612ff5565b5f5f5f5f61226f86866129f4565b9250925092505f612295828411612286575f61329f565b6122908385615606565b61329f565b61229f90856153a9565b5f1315979650505050505050565b5f610bf2827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561230e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d2919061542c565b5f6123485f5160206159765f395f51905f525490565b90505f6001600160a01b038216156123605781612382565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146123ad57604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b0316156124065760405162461bcd60e51b815260206004820152601960248201527f7969656c64206261636b656e6420616c726561647920736574000000000000006044820152606401611450565b601780546001600160a01b0385166001600160a01b031990911681179091556040805160048152602481019091526020810180516001600160e01b031663a3907d7160e01b1790526124589190613580565b600e545f906001600160a01b0316156124da57600e546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156124b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124d5919061542c565b6124dc565b475b6017546040516024810183905291925061252f916001600160a01b03909116906044015b60408051601f198184030181529190526020810180516001600160e01b031663b6b55f2560e01b179052613580565b6017546040518281526001600160a01b03909116907f8d15dd569157df615aedb4b16273001ae8980ce2aac93e39adc48481dfaefbb59060200161121a565b33301461258e57604051630fff4cc960e31b815260040160405180910390fd5b60ff5f5c166110fb576017546001600160a01b0316156125cb57601754604051602481018490526125cb916001600160a01b031690604401612500565b8051604080515f8152602081019091526110fb913391869186919015159081908790613c53565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461263b5760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f9081526011602090815260408083209386168352929052205481111561267f5760405162461bcd60e51b8152600401611450906155bc565b6001600160a01b038084165f908152601160209081526040808320938616835292905220546110fb9084908490611617908590615606565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127005760405163c51efddd60e01b815260040160405180910390fd5b611a99338585858560405180602001604052805f8152506001613a0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127675760405163c51efddd60e01b815260040160405180910390fd5b6111883383848460405180602001604052805f81525060405180602001604052805f8152506132cf565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa1580156127f3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612817919061534c565b6128345760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382165f908152600260205260409020546128579082906153a9565b6001600160a01b039092165f9081526002602052604090209190915550565b8342111561289a57604051636e72b90f60e01b815260048101859052602401611450565b6001600160a01b0387165f90815260166020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a9190866128e683615619565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f6129436112db565b60405161190160f01b81526002810182905260228101849052604290209091505f61297082888888613d1e565b90508a6001600160a01b0316816001600160a01b0316146129b75760405163b642210560e01b81526001600160a01b0380831660048301528c166024820152604401611450565b6129c28b8b8b612dcb565b5050505050505050505050565b5f611c356012848461396a565b5f5f6129e884846129f4565b50505f13949350505050565b6001600160a01b0382165f90815260026020526040812054908080612a1886611543565b90505f5b8151811015612b18575f5f5f848481518110612a3a57612a3a615631565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612a97573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612abb9190615645565b91945092509050612acc828861555b565b9650612ad8818761555b565b9550612af4818311612aea575f61329f565b6122908284615606565b612afe848a6153a9565b612b0891906153d0565b9750505050806001019050612a1c565b50509250925092565b5f54610100900460ff1615808015612b3f57505f54600160ff909116105b80612b585750303b158015612b5857505f5460ff166001145b612b745760405162461bcd60e51b81526004016114509061556e565b5f805460ff191660011790558015612b95575f805461ff0019166101001790555b612ba4888888888888886135ea565b8015611b95575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612bff60128284613d4a565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b33612c506012828961396a565b612c6d5760405163f7f0222760e01b815260040160405180910390fd5b6117108188898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f92019190915250612dd892505050565b6110fb3333338686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525060408051602081019091529081529250612dd8915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612d8957602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612d6b575b50505050509050919050565b5f5b81518110156110fb575f828281518110612db357612db3615631565b60209081029190910101518483015550600101612d97565b6110fb8383836001613e3f565b600e546001600160a01b0316612e0157604051637bce7b2b60e11b815260040160405180910390fd5b5f5f612e0c856134c5565b91509150612e2288888387515f14158888613b89565b6017546001600160a01b031615612e565760175460405160248101849052612e56916001600160a01b0316906044016120e3565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612e9c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ec0919061542c565b600e54909150612eda906001600160a01b03168885613f0d565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612f20573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f44919061542c565b90505f612f518284615606565b9050808514612f7357604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d85604051612fae91815260200190565b60405180910390a25050505050505050505050565b5f805b82811015612fec57838101548015612fe357600192505050610bf2565b50600101612fc6565b505f9392505050565b5f6001600160a01b03841661301d5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166130445760405163e219bd3960e01b815260040160405180910390fd5b5f3390506130728186868660405180602001604052805f81525060405180602001604052805f815250613f6c565b846001600160a01b0316866001600160a01b031614613153576001600160a01b038086165f908152601160209081526040808320938a16835292905220548311156131155760405162461bcd60e51b815260206004820152602d60248201527f5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636560448201526c65647320616c6c6f77616e636560981b6064820152608401611450565b6001600160a01b038086165f908152601160209081526040808320938a1683529290522054613153908690889061314d908790615606565b5f613e3f565b50600195945050505050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131e19190615670565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015613275573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132999190615670565b91505090565b5f6001600160ff1b038211156132cb5760405163123baf0360e11b815260048101839052602401611450565b5090565b600e546001600160a01b03166132f857604051637bce7b2b60e11b815260040160405180910390fd5b5f5f613303856134c5565b600e546040516370a0823160e01b81523060048201529294509092505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015613351573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613375919061542c565b600e54909150613390906001600160a01b031689308661400a565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa1580156133d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133fa919061542c565b90505f6134078383615606565b905080851461342957604051631c7c26d360e31b815260040160405180910390fd5b6017546001600160a01b03161561345d576017546040516024810183905261345d916001600160a01b031690604401612500565b8651613473908c908b9087901515808c8c613c53565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df85604051612fae91815260200190565b5f5b818110156110fb575f838201556001016134b0565b600e545f90819081906012600160a01b90910460ff16101561352357600e546134f990600160a01b900460ff16601261568b565b61350490600a615787565b90506135108185615795565b925061351c81846157b4565b915061357a565b600e546012600160a01b90910460ff16111561357357600e5461355290601290600160a01b900460ff1661568b565b61355d90600a615787565b905061356981856157b4565b925083915061357a565b8391508192505b50915091565b5f5f836001600160a01b03168360405161359a91906157cb565b5f60405180830381855af49150503d805f81146135d2576040519150601f19603f3d011682016040523d82523d5f602084013e6135d7565b606091505b509150915081611a9957611a9981614043565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f61361f858783615825565b50601061362d838583615825565b50613643815f5160206159765f395f51905f5255565b61364c3061414e565b6040515f8082529081905f5160206159965f395f51905f529060200160405180910390a36040516001600160a01b038216905f907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b5f6136d77f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361372d5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611450565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613769573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061378d919061542c565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019146138075760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611450565b6001600160a01b038116300361385f5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611450565b613887817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201612002565b6060816001600160401b038111156138ff576138ff614b27565b604051908082528060200260200182016040528015613928578160200160208202803683370190505b5090505f5b82811015613963575f8185015490508083838151811061394f5761394f615631565b60209081029190910101525060010161392d565b5092915050565b5f816001600160a01b0316836001600160a01b031614806139d657506001600160a01b0383165f90815260018501602052604090205460ff1680156139d657506001600160a01b038083165f90815260038601602090815260408083209387168352929052205460ff16155b8061110d57506001600160a01b038083165f90815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b038616613a365760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b038516613a5d5760405163e219bd3960e01b815260040160405180910390fd5b613a6b878787878787614272565b613a79878787878787613f6c565b61171087878787878787614384565b806001600160a01b0316826001600160a01b031603613aff5760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611450565b6001600160a01b0381165f90815260018401602052604090205460ff1615613b53576001600160a01b039182165f90815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038083165f9081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b038516613bb057604051632e8aac6160e21b815260040160405180910390fd5b8215613bc457613bc486865f878686614272565b613bce85856144cc565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098868585604051613c15939291906158de565b60405180910390a36040518481525f906001600160a01b038716905f5160206159965f395f51905f52906020015b60405180910390a3505050505050565b6001600160a01b038616613c7a57604051630d24315760e01b815260040160405180910390fd5b613c8486866145d7565b8315613c9957613c99875f8888868689614384565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d878585604051613ce0939291906158de565b60405180910390a36040518581526001600160a01b038716905f905f5160206159965f395f51905f529060200160405180910390a350505050505050565b5f5f5f5f613d2e8888888861462f565b925092509250613d3e82826146f7565b50909695505050505050565b336001600160a01b03821603613db55760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611450565b6001600160a01b0381165f90815260018401602052604090205460ff1615613e0d576001600160a01b038083165f9081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b039182165f90815260029390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038416613e6657604051638163862760e01b815260040160405180910390fd5b6001600160a01b038316613e8d576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b038085165f9081526011602090815260408083209387168352929052208290558015611a9957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051613eff91815260200190565b60405180910390a350505050565b6040516001600160a01b038381166024830152604482018390526110fb91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506147af565b613f7f8585613f7a8661329f565b61481b565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987868686604051613fd0939291906158de565b60405180910390a4836001600160a01b0316856001600160a01b03165f5160206159965f395f51905f5285604051613c4391815260200190565b6040516001600160a01b038481166024830152838116604483015260648201839052611a999186918216906323b872dd90608401613f3a565b6004815110156140955760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611450565b602081015163b1b7848f60e01b6001600160e01b03198216016141455760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916114509184910161498d565b81518060208401fd5b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d906064015f604051808303815f87803b1580156141cc575f5ffd5b505af11580156141de573d5f5f3e3d5ffd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d91506064015f604051808303815f87803b158015614260575f5ffd5b505af1158015610d5b573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa1580156142f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143149190615670565b90506001600160a01b0381161561171057604051633ad5cbc160e11b81526001600160a01b038216906375ab97829061435b908a908a908a908a908a908a90600401615908565b5f604051808303815f87803b158015614372575f5ffd5b505af11580156129c2573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614402573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144269190615670565b90506001600160a01b0381161561449d576040516223de2960e01b81526001600160a01b038216906223de299061446b908b908b908b908b908b908b90600401615908565b5f604051808303815f87803b158015614482575f5ffd5b505af1158015614494573d5f5f3e3d5ffd5b50505050611b95565b8115611b95576001600160a01b0386163b15611b955760405163fe737d0560e01b815260040160405180910390fd5b5f614551837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561452d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec919061542c565b5050905061455e8261329f565b81121561457e5760405163043b37d160e21b815260040160405180910390fd5b6145878261329f565b6001600160a01b0384165f908152600260205260409020546145a991906153d0565b6001600160a01b0384165f908152600260205260409020556003546145cf908390615606565b600355505050565b6145e08161329f565b6001600160a01b0383165f9081526002602052604090205461460291906153a9565b6001600160a01b0383165f9081526002602052604090205560035461462890829061555b565b6003555050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561466857505f915060039050826146ed565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156146b9573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381166146e457505f9250600191508290506146ed565b92505f91508190505b9450945094915050565b5f82600381111561470a5761470a615961565b03614713575050565b600182600381111561472757614727615961565b036147455760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561475957614759615961565b0361477a5760405163fce698f760e01b815260048101829052602401611450565b600382600381111561478e5761478e615961565b03611188576040516335e2f38360e21b815260048101829052602401611450565b5f5f60205f8451602086015f885af1806147ce576040513d5f823e3d81fd5b50505f513d915081156147e55780600114156147f2565b6001600160a01b0384163b155b15611a9957604051635274afe760e01b81526001600160a01b0385166004820152602401611450565b5f61487c847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561452d573d5f5f3e3d5ffd5b50509050818112156148a157604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b0384165f908152600260205260409020546148c49083906153d0565b6001600160a01b038086165f9081526002602052604080822093909355908516815220546148f39083906153a9565b6001600160a01b039093165f90815260026020526040902092909255505050565b602080825282518282018190525f918401906040840190835b818110156149545783516001600160a01b031683526020938401939092019160010161492d565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611c35602083018461495f565b6001600160a01b0381168114610c22575f5ffd5b5f5f83601f8401126149c3575f5ffd5b5081356001600160401b038111156149d9575f5ffd5b6020830191508360208260051b85010111156149f3575f5ffd5b9250929050565b5f5f5f5f60608587031215614a0d575f5ffd5b8435614a188161499f565b93506020850135925060408501356001600160401b03811115614a39575f5ffd5b614a45878288016149b3565b95989497509550505050565b5f5f60408385031215614a62575f5ffd5b8235614a6d8161499f565b946020939093013593505050565b5f60208284031215614a8b575f5ffd5b5035919050565b5f5f5f60408486031215614aa4575f5ffd5b8335925060208401356001600160401b03811115614ac0575f5ffd5b614acc868287016149b3565b9497909650939450505050565b5f5f5f5f60808587031215614aec575f5ffd5b8435614af78161499f565b93506020850135614b078161499f565b92506040850135614b178161499f565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614b6357614b63614b27565b604052919050565b5f82601f830112614b7a575f5ffd5b81356001600160401b03811115614b9357614b93614b27565b614ba6601f8201601f1916602001614b3b565b818152846020838601011115614bba575f5ffd5b816020850160208301375f918101602001919091529392505050565b8015158114610c22575f5ffd5b5f5f5f5f5f5f5f60e0888a031215614bf9575f5ffd5b8735965060208801356001600160401b03811115614c15575f5ffd5b614c218a828b01614b6b565b9650506040880135614c328161499f565b94506060880135614c4281614bd6565b93506080880135614c528161499f565b9699959850939692959460a0840135945060c09093013592915050565b5f5f5f60608486031215614c81575f5ffd5b8335614c8c8161499f565b92506020840135614c9c8161499f565b929592945050506040919091013590565b5f5f60408385031215614cbe575f5ffd5b50508035926020909101359150565b5f60208284031215614cdd575f5ffd5b8135611c358161499f565b803560ff81168114614cf8575f5ffd5b919050565b5f5f83601f840112614d0d575f5ffd5b5081356001600160401b03811115614d23575f5ffd5b6020830191508360208285010111156149f3575f5ffd5b5f5f5f5f5f5f60808789031215614d4f575f5ffd5b8635614d5a8161499f565b9550614d6860208801614ce8565b945060408701356001600160401b03811115614d82575f5ffd5b614d8e89828a01614cfd565b90955093505060608701356001600160401b03811115614dac575f5ffd5b614db889828a01614cfd565b979a9699509497509295939492505050565b5f5f5f5f60808587031215614ddd575f5ffd5b8435614de88161499f565b93506020850135614df88161499f565b93969395505050506040820135916060013590565b602080825282518282018190525f918401906040840190835b81811015614954578351835260209384019390920191600101614e26565b5f5f5f5f60608587031215614e57575f5ffd5b8435614e628161499f565b93506020850135925060408501356001600160401b03811115614e83575f5ffd5b614a4587828801614cfd565b5f5f5f5f5f5f5f60a0888a031215614ea5575f5ffd5b8735614eb08161499f565b96506020880135614ec08161499f565b95506040880135945060608801356001600160401b03811115614ee1575f5ffd5b614eed8a828b01614cfd565b90955093505060808801356001600160401b03811115614f0b575f5ffd5b614f178a828b01614cfd565b989b979a50959850939692959293505050565b5f5f5f60608486031215614f3c575f5ffd5b8335614f478161499f565b95602085013595506040909401359392505050565b60ff60f81b8816815260e060208201525f614f7a60e083018961495f565b8281036040840152614f8c818961495f565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015614fe1578351835260209384019390920191600101614fc3565b50909b9a5050505050505050505050565b5f5f5f60608486031215615004575f5ffd5b833561500f8161499f565b92506020840135915060408401356001600160401b03811115615030575f5ffd5b61503c86828701614b6b565b9150509250925092565b5f5f5f5f60808587031215615059575f5ffd5b84356150648161499f565b935060208501356150748161499f565b92506040850135915060608501356001600160401b03811115615095575f5ffd5b6150a187828801614b6b565b91505092959194509250565b5f5f5f5f5f5f5f60e0888a0312156150c3575f5ffd5b87356150ce8161499f565b965060208801356150de8161499f565b95506040880135945060608801359350614c5260808901614ce8565b5f5f6040838503121561510b575f5ffd5b82356151168161499f565b915060208301356151268161499f565b809150509250929050565b5f5f5f5f5f5f5f60a0888a031215615147575f5ffd5b87356151528161499f565b965061516060208901614ce8565b955060408801356001600160401b0381111561517a575f5ffd5b6151868a828b01614cfd565b90965094505060608801356001600160401b038111156151a4575f5ffd5b6151b08a828b01614cfd565b90945092505060808801356151c48161499f565b8091505092959891949750929550565b5f5f5f5f5f5f608087890312156151e9575f5ffd5b86356151f48161499f565b95506020870135945060408701356001600160401b03811115614d82575f5ffd5b5f5f5f60408486031215615227575f5ffd5b8335925060208401356001600160401b03811115615243575f5ffd5b614acc86828701614cfd565b600181811c9082168061526357607f821691505b60208210810361528157634e487b7160e01b5f52602260045260245ffd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b83815260406020820181905281018290525f6001600160fb1b03831115615332575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f6020828403121561535c575f5ffd5b8151611c3581614bd6565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b820161538f5761538f615367565b505f0390565b634e487b7160e01b5f52600160045260245ffd5b8082018281125f8312801582168215821617156153c8576153c8615367565b505092915050565b8181035f83128015838313168383128216171561396357613963615367565b85815260018060a01b038516602082015283604082015282606082015260a060808201525f61542160a083018461495f565b979650505050505050565b5f6020828403121561543c575f5ffd5b5051919050565b5f5f83546154508161524f565b600182168015615467576001811461547c576154a9565b60ff19831686528115158202860193506154a9565b865f5260205f205f5b838110156154a157815488820152600190910190602001615485565b505081860193505b509195945050505050565b5f602082840312156154c4575f5ffd5b81516001600160401b038111156154d9575f5ffd5b8201601f810184136154e9575f5ffd5b80516001600160401b0381111561550257615502614b27565b8060051b61551260208201614b3b565b9182526020818401810192908101908784111561552d575f5ffd5b6020850194505b8385101561542157845192506155498361499f565b82825260209485019490910190615534565b80820180821115610bf257610bf2615367565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f5375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652060408201526962656c6f77207a65726f60b01b606082015260800190565b81810381811115610bf257610bf2615367565b5f6001820161562a5761562a615367565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f60608486031215615657575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215615680575f5ffd5b8151611c358161499f565b60ff8281168282160390811115610bf257610bf2615367565b6001815b60018411156156df578085048111156156c3576156c3615367565b60018416156156d157908102905b60019390931c9280026156a8565b935093915050565b5f826156f557506001610bf2565b8161570157505f610bf2565b816001811461571757600281146157215761573d565b6001915050610bf2565b60ff84111561573257615732615367565b50506001821b610bf2565b5060208310610133831016604e8410600b8410161715615760575081810a610bf2565b61576c5f1984846156a4565b805f190482111561577f5761577f615367565b029392505050565b5f611c3560ff8416836156e7565b5f826157af57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610bf257610bf2615367565b5f82518060208501845e5f920191825250919050565b601f8211156110fb57805f5260205f20601f840160051c810160208510156158065750805b601f840160051c820191505b81811015610d5b575f8155600101615812565b6001600160401b0383111561583c5761583c614b27565b6158508361584a835461524f565b836157e1565b5f601f841160018114615881575f851561586a5750838201355b5f19600387901b1c1916600186901b178355610d5b565b5f83815260208120601f198716915b828110156158b05786850135825560209485019460019092019101615890565b50868210156158cc575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201525f6158f6606083018561495f565b8281036040840152611a16818561495f565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190525f906159429083018561495f565b82810360a0840152615954818561495f565b9998505050505050505050565b634e487b7160e01b5f52602160045260245ffdfeb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122011d22345ee1200a1541bc655311dc89fad18e8432231a7d179a406b8705bf4f664736f6c634300081e0033";
15
+ static readonly bytecode = "0x60e060405234801561000f575f5ffd5b50604051615c24380380615c2483398101604081905261002e91610089565b6001600160a01b03808316608052811660c08190526040517feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e6905f90a250506100c1565b6001600160a01b0381168114610086575f5ffd5b50565b5f5f6040838503121561009a575f5ffd5b82516100a581610072565b60208401519092506100b681610072565b809150509250929050565b60805160a05160c051615a916101935f395f6108ad01525f610a4001525f818161052501528181610d3701528181610da6015281816110bb0152818161114801528181611273015281816113ea015281816115a7015281816117a4015281816117fa0152818161189b0152818161198e01528181611ad201528181611c7c01528181611e6c015281816122ed0152818161239b0152818161262d015281816126f201528181612759015281816127df0152818161319c015281816132310152818161450401526148490152615a915ff3fe608060405234801561000f575f5ffd5b5060043610610443575f3560e01c806370a0823111610237578063c67a8c1b11610135578063dd62ed3e116100bf578063f5a8b4dd11610084578063f5a8b4dd14610a3b578063fad8b32a14610a62578063fc673c4f14610a75578063fe9d930314610a88578063ffa1ad7414610a9b575f5ffd5b8063dd62ed3e146109a0578063e729804b146109d8578063eb3537cc146109e9578063ec0d634314610a17578063ee719bc814610a2a575f5ffd5b8063ca78946411610105578063ca78946414610941578063cf97256d14610954578063d505accf14610967578063d95b63711461097a578063d9d078d61461098d575f5ffd5b8063c67a8c1b146108f5578063c68d428314610908578063c780fd821461091b578063ca0c1e7f1461092e575f5ffd5b80639903ad38116101c1578063a457c2d711610186578063a457c2d714610882578063a9059cbb14610895578063b20db1ac146108a8578063b84cdd4a146108cf578063bb0d196e146108e2575f5ffd5b80639903ad381461082e5780639bd9bbc6146108365780639d87674114610849578063a1b2bf8b1461085c578063a3a7e7f31461086f575f5ffd5b806384b0196e1161020757806384b0196e146107d35780638f283970146107ee57806392081a4714610801578063959b8c3f1461081357806395d89b4114610826575f5ffd5b806370a082311461077257806379359f6f146107855780637ecebe001461079857806383ba2525146107c0575f5ffd5b8063386fa221116103445780634b61cc33116102ce57806362aa52871161029357806362aa52871461071e57806362ad1b831461073157806366a12fb6146107445780636c2d9f2f146107575780636e9960c31461076a575f5ffd5b80634b61cc33146106b657806350d75d25146106d657806352d1902d146106de578063556f0dc7146107045780635b9d09cc1461070b575f5ffd5b806345977d031161031457806345977d0314610662578063469519541461067557806347ba7ad1146106885780634a3acda01461069b5780634b2763b3146106a3575f5ffd5b8063386fa22114610616578063395093511461062957806341b706be1461063c57806342fe09801461064f575f5ffd5b80631ae88ffc116103d0578063282a050b11610395578063282a050b146105965780632ec8eec7146105be578063313ce567146105f15780633644e51514610606578063370a190f1461060e575f5ffd5b80631ae88ffc1461051057806320bc44251461052357806323b872dd1461055d578063245887fc146105705780632704839714610583575f5ffd5b806311bcc81e1161041657806311bcc81e146104b257806312a6a3f8146104c557806316d055d6146104d857806318160ddd146104eb5780631863e809146104fd575f5ffd5b806306e485381461044757806306fdde0314610465578063090c415e1461047a578063095ea7b31461048f575b5f5ffd5b61044f610abf565b60405161045c91906149a8565b60405180910390f35b61046d610ad0565b60405161045c9190614a21565b61048d610488366004614a8e565b610b60565b005b6104a261049d366004614ae5565b610c11565b604051901515815260200161045c565b61048d6104c0366004614b0f565b610c27565b61048d6104d3366004614b26565b610c54565b61048d6104e6366004614b6d565b610d35565b6003545b60405190815260200161045c565b61048d61050b366004614c77565b610d91565b61048d61051e366004614d03565b6110b9565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161045c565b6104a261056b366004614d03565b611131565b61048d61057e366004614ae5565b611146565b61048d610591366004614d41565b6111bd565b6105a96105a4366004614b0f565b611259565b6040805192835260208301919091520161045c565b6105d16105cc366004614d61565b61126d565b60408051948552602085019390935291830152606082015260800161045c565b60125b60405160ff909116815260200161045c565b6104ef61130c565b61048d6113ba565b61044f610624366004614d61565b611574565b6104a2610637366004614ae5565b611612565b61048d61064a366004614b6d565b61164d565b61048d61065d366004614dce565b611679565b61048d610670366004614b0f565b61174a565b61048d610683366004614d61565b611774565b61048d610696366004614d03565b6117f8565b61048d61186b565b61048d6106b1366004614d03565b61198c565b6106c96106c4366004614e5e565b611a0d565b60405161045c9190614ea1565b610545611a51565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104ef565b60016104ef565b61048d610719366004614ed8565b611a7a565b61048d61072c366004614d03565b611ad0565b61048d61073f366004614f23565b611b24565b61048d610752366004614d03565b611bd0565b6106c9610765366004614fbe565b611bf0565b610545611c31565b6104ef610780366004614d61565b611c47565b6104a2610793366004614d61565b611c75565b6104ef6107a6366004614d61565b6001600160a01b03165f9081526016602052604090205490565b61048d6107ce366004614ae5565b611cfa565b6107db611d24565b60405161045c9796959493929190614ff0565b61048d6107fc366004614d61565b611e3c565b600e54600160a01b900460ff166105f4565b61048d610821366004614d61565b611f2a565b61046d611f7b565b61048d611f8a565b61048d610844366004614ed8565b612046565b61048d610857366004615086565b612099565b61048d61086a366004614b26565b61215a565b61048d61087d366004614d61565b612202565b6104a2610890366004614ae5565b612216565b6104a26108a3366004614ae5565b61228d565b6105457f000000000000000000000000000000000000000000000000000000000000000081565b6104a26108dd366004614ae5565b61229a565b6104a26108f0366004614d61565b6122e6565b61048d610903366004614d61565b61236b565b61048d610916366004615086565b6125a7565b61048d610929366004614d03565b61262b565b61048d61093c3660046150da565b6126f0565b61048d61094f366004614ae5565b612757565b61048d610962366004614ae5565b6127ca565b61048d610975366004615141565b6128af565b6104a261098836600461518e565b612a08565b6104a261099b366004614ae5565b612a15565b6104ef6109ae36600461518e565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b6017546001600160a01b0316610545565b6109fc6109f7366004614ae5565b612a2d565b6040805193845260208401929092529082015260600161045c565b61048d610a253660046151c5565b612b5a565b600e546001600160a01b0316610545565b6105457f000000000000000000000000000000000000000000000000000000000000000081565b61048d610a70366004614d61565b612c2b565b61048d610a83366004615268565b612c7c565b61048d610a963660046152a9565b612d1b565b61046d604051806040016040528060058152602001640312e302e360dc1b81525081565b6060610acb6012612d6b565b905090565b6060600f8054610adf906152e3565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0b906152e3565b8015610b565780601f10610b2d57610100808354040283529160200191610b56565b820191905f5260205f20905b815481529060010190602001808311610b3957829003601f168201915b5050505050905090565b5f338585604051602001610b769392919061531b565b604051602081830303815290604052805190602001209050610bca818484808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b5f610c1d338484612e04565b5060015b92915050565b610c513333338460405180602001604052805f81525060405180602001604052805f815250612e11565b50565b60405133905f90610c6b9083908790602001615364565b60408051601f1981840301815291905280516020909101209050610c8f8184612ffc565b15610cad5760405163782a90fb60e11b815260040160405180910390fd5b610ce9818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610d26939291906153a1565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d7e5760405163c51efddd60e01b815260040160405180910390fd5b610d8a8484848461302e565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610df3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1791906153e0565b610e345760405163327fd99160e21b815260040160405180910390fd5b5f610e3d613198565b90506001600160a01b038116610e505750845b5f85610e5c5786610e5e565b815b90505f8313610f2857610e708361540f565b610e79856132d8565b14610e8657610e86615429565b610e8f846132d8565b6001600160a01b0382165f9081526002602052604081208054909190610eb690849061543d565b90915550506001600160a01b0385165f9081526002602052604081208054859290610ee290849061543d565b92505081905550806001600160a01b0316856001600160a01b03165f516020615a3c5f395f51905f5286604051610f1b91815260200190565b60405180910390a3611051565b8515610f3657610f36615429565b82610f40856132d8565b610f4a919061543d565b6001600160a01b0383165f9081526002602052604081208054909190610f71908490615464565b90915550610f809050846132d8565b6001600160a01b0388165f9081526002602052604081208054909190610fa790849061543d565b90915550506001600160a01b0385165f9081526002602052604081208054859290610fd390849061543d565b92505081905550866001600160a01b0316826001600160a01b03165f516020615a3c5f395f51905f528660405161100c91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03165f516020615a3c5f395f51905f5261103f86613308565b60405190815260200160405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110a6959493929190615483565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111025760405163c51efddd60e01b815260040160405180910390fd5b61112c3384848460405180602001604052805f81525060405180602001604052805f81525061332d565b505050565b5f61113e3385858561302e565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461118f5760405163c51efddd60e01b815260040160405180910390fd5b6111b93383848460405180602001604052805f81525060405180602001604052805f815250612e11565b5050565b60405133905f906111d49083908690602001615364565b6040516020818303038152906040528051906020012090506111f68184612ffc565b6112135760405163dae1880960e01b815260040160405180910390fd5b61121d818461350c565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b906020015b60405180910390a250505050565b5f5f61126483613523565b91509150915091565b5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f191906154c0565b90506112fd8582612a2d565b91979096509094509092509050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600f60405161133d91906154d7565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f6113d05f516020615a1c5f395f51905f525490565b90505f6001600160a01b038216156113e8578161140a565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461143557604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b031661148a5760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b60448201526064015b60405180910390fd5b6017546001600160a01b031660015f805c60ff19168217905d506017546040805160048152602481019091526020810180516001600160e01b03166372e6c5b560e11b1790526114e3916001600160a01b0316906135de565b5f60ff19815c16815d506017546040805160048152602481019091526020810180516001600160e01b0316632f2770db60e01b17905261152c916001600160a01b0316906135de565b601780546001600160a01b03191690556040516001600160a01b038216907f2486b5241145ce1b97a13655ecd4e8e51094ac93259a0589d24524304d6d70d4905f90a2505050565b6001600160a01b038181165f908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d906024015f60405180830381865afa1580156115eb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c219190810190615548565b335f8181526011602090815260408083206001600160a01b03871684529091528120549091610c1d9185906116489086906155ef565b612e04565b33301461166d57604051630fff4cc960e31b815260040160405180910390fd5b610d8a8385848461302e565b5f54610100900460ff161580801561169757505f54600160ff909116105b806116b05750303b1580156116b057505f5460ff166001145b6116cc5760405162461bcd60e51b815260040161148190615602565b5f805460ff1916600117905580156116ed575f805461ff0019166101001790555b6116fc8787878787875f613648565b8015611741575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610c513333338460405180602001604052805f81525060405180602001604052805f81525061332d565b5f61178a5f516020615a1c5f395f51905f525490565b90505f6001600160a01b038216156117a257816117c4565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146117ef57604051630484acab60e01b815260040160405180910390fd5b61112c8361370c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146118415760405163c51efddd60e01b815260040160405180910390fd5b61112c3384848460405180602001604052805f81525060405180602001604052805f815250612e11565b5f6118815f516020615a1c5f395f51905f525490565b90505f6001600160a01b0382161561189957816118bb565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146118e657604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03166119365760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b6044820152606401611481565b6017546003546040516111b9926001600160a01b03169161195d9160240190815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316632c34606360e21b1790526135de565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146119d55760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f9081526011602090815260408083209386168352929052205461112c90849084906116489085906155ef565b60605f858585604051602001611a259392919061531b565b604051602081830303815290604052805190602001209050611a478184613943565b9695505050505050565b5f610acb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b611aca3333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925061332d915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611b195760405163c51efddd60e01b815260040160405180910390fd5b61112c838383612e04565b33611b316012828a6139c8565b611b4e5760405163f7f0222760e01b815260040160405180910390fd5b611bc68189898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f9201919091525060019250613a6d915050565b5050505050505050565b333014611b1957604051630fff4cc960e31b815260040160405180910390fd5b60605f8484604051602001611c06929190615364565b604051602081830303815290604052805190602001209050611c288184613943565b95945050505050565b5f610acb5f516020615a1c5f395f51905f525490565b5f5f611c528361126d565b50505090505f8112611c6c57611c6781613308565b611c6e565b5f5b9392505050565b5f610c21827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cd6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099b91906154c0565b6111b93333848460405180602001604052805f81525060405180602001604052805f815250612e11565b5f6060805f5f5f6060600f604051806040016040528060018152602001603160f81b81525046305f5f1b5f6001600160401b03811115611d6657611d66614bbb565b604051908082528060200260200182016040528015611d8f578160200160208202803683370190505b50600f60f81b959493929190858054611da7906152e3565b80601f0160208091040260200160405190810160405280929190818152602001828054611dd3906152e3565b8015611e1e5780601f10611df557610100808354040283529160200191611e1e565b820191905f5260205f20905b815481529060010190602001808311611e0157829003601f168201915b50505050509550965096509650965096509650965090919293949596565b5f611e525f516020615a1c5f395f51905f525490565b90505f6001600160a01b03821615611e6a5781611e8c565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b03821614611eb757604051630484acab60e01b815260040160405180910390fd5b5f611ecd5f516020615a1c5f395f51905f525490565b9050611ee4845f516020615a1c5f395f51905f5255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611f3760128284613ae6565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610adf906152e3565b5f54610100900460ff1615808015611fa857505f54600160ff909116105b80611fc15750303b158015611fc157505f5460ff166001145b611fdd5760405162461bcd60e51b815260040161148190615602565b5f805460ff191660011790558015611ffe575f805461ff0019166101001790555b8015610c51575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b611aca3333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925060019150613a6d9050565b3330146120b957604051630fff4cc960e31b815260040160405180910390fd5b8051604080515f8152602081019091526120de91339186918691901515908690613be7565b6017546001600160a01b03161561112c5760015f805c60ff19168217905d506017546040516024810184905261214b916001600160a01b0316906044015b60408051601f198184030181529190526020810180516001600160e01b0316632e1a7d4d60e01b1790526135de565b5f60ff19815c16815d50505050565b60405133905f906121719083908790602001615364565b6040516020818303038152906040528051906020012090506121c5818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610d26939291906153a1565b6111b933338361221133611c47565b61302e565b335f9081526011602090815260408083206001600160a01b03861684529091528120548211156122585760405162461bcd60e51b815260040161148190615650565b335f8181526011602090815260408083206001600160a01b0388168452909152902054610c1d9190859061164890869061569a565b5f611c6e3333858561302e565b5f5f5f5f6122a88686612a2d565b9250925092505f6122ce8284116122bf575f6132d8565b6122c9838561569a565b6132d8565b6122d8908561543d565b5f1315979650505050505050565b5f610c21827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015612347573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108dd91906154c0565b5f6123815f516020615a1c5f395f51905f525490565b90505f6001600160a01b0382161561239957816123bb565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146123e657604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03161561243f5760405162461bcd60e51b815260206004820152601960248201527f7969656c64206261636b656e6420616c726561647920736574000000000000006044820152606401611481565b601780546001600160a01b0385166001600160a01b031990911681179091556040805160048152602481019091526020810180516001600160e01b031663a3907d7160e01b17905261249191906135de565b600e545f906001600160a01b03161561251357600e546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156124ea573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061250e91906154c0565b612515565b475b60175460405160248101839052919250612568916001600160a01b03909116906044015b60408051601f198184030181529190526020810180516001600160e01b031663b6b55f2560e01b1790526135de565b6017546040518281526001600160a01b03909116907f8d15dd569157df615aedb4b16273001ae8980ce2aac93e39adc48481dfaefbb59060200161124b565b3330146125c757604051630fff4cc960e31b815260040160405180910390fd5b60ff5f5c1661112c576017546001600160a01b0316156126045760175460405160248101849052612604916001600160a01b031690604401612539565b8051604080515f81526020810190915261112c913391869186919015159081908790613cb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146126745760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f908152601160209081526040808320938616835292905220548111156126b85760405162461bcd60e51b815260040161148190615650565b6001600160a01b038084165f9081526011602090815260408083209386168352929052205461112c908490849061164890859061569a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127395760405163c51efddd60e01b815260040160405180910390fd5b611aca338585858560405180602001604052805f8152506001613a6d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127a05760405163c51efddd60e01b815260040160405180910390fd5b6111b93383848460405180602001604052805f81525060405180602001604052805f81525061332d565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa15801561282c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285091906153e0565b61286d5760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382165f9081526002602052604090205461289090829061543d565b6001600160a01b039092165f9081526002602052604090209190915550565b834211156128d357604051636e72b90f60e01b815260048101859052602401611481565b6001600160a01b0387165f90815260166020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661291f836156ad565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61297c61130c565b60405161190160f01b81526002810182905260228101849052604290209091505f6129a982888888613d7c565b90508a6001600160a01b0316816001600160a01b0316146129f05760405163b642210560e01b81526001600160a01b0380831660048301528c166024820152604401611481565b6129fb8b8b8b612e04565b5050505050505050505050565b5f611c6e601284846139c8565b5f5f612a218484612a2d565b50505f13949350505050565b6001600160a01b0382165f90815260026020526040812054908080612a5186611574565b90505f5b8151811015612b51575f5f5f848481518110612a7357612a736156c5565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612ad0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af491906156d9565b91945092509050612b0582886155ef565b9650612b1181876155ef565b9550612b2d818311612b23575f6132d8565b6122c9828461569a565b612b37848a61543d565b612b419190615464565b9750505050806001019050612a55565b50509250925092565b5f54610100900460ff1615808015612b7857505f54600160ff909116105b80612b915750303b158015612b9157505f5460ff166001145b612bad5760405162461bcd60e51b815260040161148190615602565b5f805460ff191660011790558015612bce575f805461ff0019166101001790555b612bdd88888888888888613648565b8015611bc6575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612c3860128284613da8565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b33612c89601282896139c8565b612ca65760405163f7f0222760e01b815260040160405180910390fd5b6117418188898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f92019190915250612e1192505050565b61112c3333338686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525060408051602081019091529081529250612e11915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612dc257602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612da4575b50505050509050919050565b5f5b815181101561112c575f828281518110612dec57612dec6156c5565b60209081029190910101518483015550600101612dd0565b61112c8383836001613e9d565b600e546001600160a01b0316612e3a57604051637bce7b2b60e11b815260040160405180910390fd5b5f5f612e4585613523565b91509150612e5b88888387515f14158888613be7565b6017546001600160a01b031615612e8f5760175460405160248101849052612e8f916001600160a01b03169060440161211c565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612ed5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ef991906154c0565b600e54909150612f13906001600160a01b03168885613f6b565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612f59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7d91906154c0565b90505f612f8a828461569a565b9050808514612fac57604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d85604051612fe791815260200190565b60405180910390a25050505050505050505050565b5f805b828110156130255783810154801561301c57600192505050610c21565b50600101612fff565b505f9392505050565b5f6001600160a01b0384166130565760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b03831661307d5760405163e219bd3960e01b815260040160405180910390fd5b5f3390506130ab8186868660405180602001604052805f81525060405180602001604052805f815250613fa0565b846001600160a01b0316866001600160a01b03161461318c576001600160a01b038086165f908152601160209081526040808320938a168352929052205483111561314e5760405162461bcd60e51b815260206004820152602d60248201527f5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636560448201526c65647320616c6c6f77616e636560981b6064820152608401611481565b6001600160a01b038086165f908152601160209081526040808320938a168352929052205461318c908690889061318690879061569a565b5f613e9d565b50600195945050505050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131f6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061321a9190615704565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156132ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132d29190615704565b91505090565b5f6001600160ff1b038211156133045760405163123baf0360e11b815260048101839052602401611481565b5090565b5f5f82121561330457604051635467221960e11b815260048101839052602401611481565b600e546001600160a01b031661335657604051637bce7b2b60e11b815260040160405180910390fd5b5f5f61336185613523565b600e546040516370a0823160e01b81523060048201529294509092505f916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156133af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133d391906154c0565b600e549091506133ee906001600160a01b031689308661403e565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613434573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345891906154c0565b90505f613465838361569a565b905080851461348757604051631c7c26d360e31b815260040160405180910390fd5b6017546001600160a01b0316156134bb57601754604051602481018390526134bb916001600160a01b031690604401612539565b86516134d1908c908b9087901515808c8c613cb1565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df85604051612fe791815260200190565b5f5b8181101561112c575f8382015560010161350e565b600e545f90819081906012600160a01b90910460ff16101561358157600e5461355790600160a01b900460ff16601261571f565b61356290600a61581b565b905061356e8185615829565b925061357a8184615848565b91506135d8565b600e546012600160a01b90910460ff1611156135d157600e546135b090601290600160a01b900460ff1661571f565b6135bb90600a61581b565b90506135c78185615848565b92508391506135d8565b8391508192505b50915091565b5f5f836001600160a01b0316836040516135f8919061585f565b5f60405180830381855af49150503d805f8114613630576040519150601f19603f3d011682016040523d82523d5f602084013e613635565b606091505b509150915081611aca57611aca81614074565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f61367d8587836158cb565b50601061368b8385836158cb565b506136a1815f516020615a1c5f395f51905f5255565b6136aa3061417f565b6040515f8082529081905f516020615a3c5f395f51905f529060200160405180910390a36040516001600160a01b038216905f907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b5f6137357f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361378b5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611481565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137eb91906154c0565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019146138655760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611481565b6001600160a01b03811630036138bd5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611481565b6138e5817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b03841660208301520161203b565b6060816001600160401b0381111561395d5761395d614bbb565b604051908082528060200260200182016040528015613986578160200160208202803683370190505b5090505f5b828110156139c1575f818501549050808383815181106139ad576139ad6156c5565b60209081029190910101525060010161398b565b5092915050565b5f816001600160a01b0316836001600160a01b03161480613a3457506001600160a01b0383165f90815260018501602052604090205460ff168015613a3457506001600160a01b038083165f90815260038601602090815260408083209387168352929052205460ff16155b8061113e57506001600160a01b038083165f90815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b038616613a945760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b038516613abb5760405163e219bd3960e01b815260040160405180910390fd5b613ac98787878787876142a3565b613ad7878787878787613fa0565b611741878787878787876143b5565b806001600160a01b0316826001600160a01b031603613b5d5760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611481565b6001600160a01b0381165f90815260018401602052604090205460ff1615613bb1576001600160a01b039182165f90815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038083165f9081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b038516613c0e57604051632e8aac6160e21b815260040160405180910390fd5b8215613c2257613c2286865f8786866142a3565b613c2c85856144fd565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098868585604051613c7393929190615984565b60405180910390a36040518481525f906001600160a01b038716905f516020615a3c5f395f51905f52906020015b60405180910390a3505050505050565b6001600160a01b038616613cd857604051630d24315760e01b815260040160405180910390fd5b613ce28686614608565b8315613cf757613cf7875f88888686896143b5565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d878585604051613d3e93929190615984565b60405180910390a36040518581526001600160a01b038716905f905f516020615a3c5f395f51905f529060200160405180910390a350505050505050565b5f5f5f5f613d8c88888888614660565b925092509250613d9c8282614728565b50909695505050505050565b336001600160a01b03821603613e135760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611481565b6001600160a01b0381165f90815260018401602052604090205460ff1615613e6b576001600160a01b038083165f9081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b039182165f90815260029390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038416613ec457604051638163862760e01b815260040160405180910390fd5b6001600160a01b038316613eeb576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b038085165f9081526011602090815260408083209387168352929052208290558015611aca57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051613f5d91815260200190565b60405180910390a350505050565b613f7883838360016147e0565b61112c57604051635274afe760e01b81526001600160a01b0384166004820152602401611481565b613fb38585613fae866132d8565b614842565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161400493929190615984565b60405180910390a4836001600160a01b0316856001600160a01b03165f516020615a3c5f395f51905f5285604051613ca191815260200190565b61404c84848484600161493b565b611aca57604051635274afe760e01b81526001600160a01b0385166004820152602401611481565b6004815110156140c65760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611481565b602081015163b1b7848f60e01b6001600160e01b03198216016141765760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161148191849101614a21565b81518060208401fd5b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d906064015f604051808303815f87803b1580156141fd575f5ffd5b505af115801561420f573d5f5f3e3d5ffd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d91506064015f604051808303815f87803b158015614291575f5ffd5b505af1158015610d8a573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614321573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143459190615704565b90506001600160a01b0381161561174157604051633ad5cbc160e11b81526001600160a01b038216906375ab97829061438c908a908a908a908a908a908a906004016159ae565b5f604051808303815f87803b1580156143a3575f5ffd5b505af11580156129fb573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614433573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144579190615704565b90506001600160a01b038116156144ce576040516223de2960e01b81526001600160a01b038216906223de299061449c908b908b908b908b908b908b906004016159ae565b5f604051808303815f87803b1580156144b3575f5ffd5b505af11580156144c5573d5f5f3e3d5ffd5b50505050611bc6565b8115611bc6576001600160a01b0386163b15611bc65760405163fe737d0560e01b815260040160405180910390fd5b5f614582837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561455e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f791906154c0565b5050905061458f826132d8565b8112156145af5760405163043b37d160e21b815260040160405180910390fd5b6145b8826132d8565b6001600160a01b0384165f908152600260205260409020546145da9190615464565b6001600160a01b0384165f9081526002602052604090205560035461460090839061569a565b600355505050565b614611816132d8565b6001600160a01b0383165f90815260026020526040902054614633919061543d565b6001600160a01b0383165f908152600260205260409020556003546146599082906155ef565b6003555050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561469957505f9150600390508261471e565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156146ea573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661471557505f92506001915082905061471e565b92505f91508190505b9450945094915050565b5f82600381111561473b5761473b615a07565b03614744575050565b600182600381111561475857614758615a07565b036147765760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561478a5761478a615a07565b036147ab5760405163fce698f760e01b815260048101829052602401611481565b60038260038111156147bf576147bf615a07565b036111b9576040516335e2f38360e21b815260048101829052602401611481565b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f5114831661483657838315161561482a573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b5f6148a3847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561455e573d5f5f3e3d5ffd5b50509050818112156148c857604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b0384165f908152600260205260409020546148eb908390615464565b6001600160a01b038086165f90815260026020526040808220939093559085168152205461491a90839061543d565b6001600160a01b039093165f90815260026020526040902092909255505050565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f5114831661499757838315161561498b573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b602080825282518282018190525f918401906040840190835b818110156149e85783516001600160a01b03168352602093840193909201916001016149c1565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611c6e60208301846149f3565b6001600160a01b0381168114610c51575f5ffd5b5f5f83601f840112614a57575f5ffd5b5081356001600160401b03811115614a6d575f5ffd5b6020830191508360208260051b8501011115614a87575f5ffd5b9250929050565b5f5f5f5f60608587031215614aa1575f5ffd5b8435614aac81614a33565b93506020850135925060408501356001600160401b03811115614acd575f5ffd5b614ad987828801614a47565b95989497509550505050565b5f5f60408385031215614af6575f5ffd5b8235614b0181614a33565b946020939093013593505050565b5f60208284031215614b1f575f5ffd5b5035919050565b5f5f5f60408486031215614b38575f5ffd5b8335925060208401356001600160401b03811115614b54575f5ffd5b614b6086828701614a47565b9497909650939450505050565b5f5f5f5f60808587031215614b80575f5ffd5b8435614b8b81614a33565b93506020850135614b9b81614a33565b92506040850135614bab81614a33565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614bf757614bf7614bbb565b604052919050565b5f82601f830112614c0e575f5ffd5b81356001600160401b03811115614c2757614c27614bbb565b614c3a601f8201601f1916602001614bcf565b818152846020838601011115614c4e575f5ffd5b816020850160208301375f918101602001919091529392505050565b8015158114610c51575f5ffd5b5f5f5f5f5f5f5f60e0888a031215614c8d575f5ffd5b8735965060208801356001600160401b03811115614ca9575f5ffd5b614cb58a828b01614bff565b9650506040880135614cc681614a33565b94506060880135614cd681614c6a565b93506080880135614ce681614a33565b9699959850939692959460a0840135945060c09093013592915050565b5f5f5f60608486031215614d15575f5ffd5b8335614d2081614a33565b92506020840135614d3081614a33565b929592945050506040919091013590565b5f5f60408385031215614d52575f5ffd5b50508035926020909101359150565b5f60208284031215614d71575f5ffd5b8135611c6e81614a33565b803560ff81168114614d8c575f5ffd5b919050565b5f5f83601f840112614da1575f5ffd5b5081356001600160401b03811115614db7575f5ffd5b602083019150836020828501011115614a87575f5ffd5b5f5f5f5f5f5f60808789031215614de3575f5ffd5b8635614dee81614a33565b9550614dfc60208801614d7c565b945060408701356001600160401b03811115614e16575f5ffd5b614e2289828a01614d91565b90955093505060608701356001600160401b03811115614e40575f5ffd5b614e4c89828a01614d91565b979a9699509497509295939492505050565b5f5f5f5f60808587031215614e71575f5ffd5b8435614e7c81614a33565b93506020850135614e8c81614a33565b93969395505050506040820135916060013590565b602080825282518282018190525f918401906040840190835b818110156149e8578351835260209384019390920191600101614eba565b5f5f5f5f60608587031215614eeb575f5ffd5b8435614ef681614a33565b93506020850135925060408501356001600160401b03811115614f17575f5ffd5b614ad987828801614d91565b5f5f5f5f5f5f5f60a0888a031215614f39575f5ffd5b8735614f4481614a33565b96506020880135614f5481614a33565b95506040880135945060608801356001600160401b03811115614f75575f5ffd5b614f818a828b01614d91565b90955093505060808801356001600160401b03811115614f9f575f5ffd5b614fab8a828b01614d91565b989b979a50959850939692959293505050565b5f5f5f60608486031215614fd0575f5ffd5b8335614fdb81614a33565b95602085013595506040909401359392505050565b60ff60f81b8816815260e060208201525f61500e60e08301896149f3565b828103604084015261502081896149f3565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015615075578351835260209384019390920191600101615057565b50909b9a5050505050505050505050565b5f5f5f60608486031215615098575f5ffd5b83356150a381614a33565b92506020840135915060408401356001600160401b038111156150c4575f5ffd5b6150d086828701614bff565b9150509250925092565b5f5f5f5f608085870312156150ed575f5ffd5b84356150f881614a33565b9350602085013561510881614a33565b92506040850135915060608501356001600160401b03811115615129575f5ffd5b61513587828801614bff565b91505092959194509250565b5f5f5f5f5f5f5f60e0888a031215615157575f5ffd5b873561516281614a33565b9650602088013561517281614a33565b95506040880135945060608801359350614ce660808901614d7c565b5f5f6040838503121561519f575f5ffd5b82356151aa81614a33565b915060208301356151ba81614a33565b809150509250929050565b5f5f5f5f5f5f5f60a0888a0312156151db575f5ffd5b87356151e681614a33565b96506151f460208901614d7c565b955060408801356001600160401b0381111561520e575f5ffd5b61521a8a828b01614d91565b90965094505060608801356001600160401b03811115615238575f5ffd5b6152448a828b01614d91565b909450925050608088013561525881614a33565b8091505092959891949750929550565b5f5f5f5f5f5f6080878903121561527d575f5ffd5b863561528881614a33565b95506020870135945060408701356001600160401b03811115614e16575f5ffd5b5f5f5f604084860312156152bb575f5ffd5b8335925060208401356001600160401b038111156152d7575f5ffd5b614b6086828701614d91565b600181811c908216806152f757607f821691505b60208210810361531557634e487b7160e01b5f52602260045260245ffd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b83815260406020820181905281018290525f6001600160fb1b038311156153c6575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f602082840312156153f0575f5ffd5b8151611c6e81614c6a565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8201615423576154236153fb565b505f0390565b634e487b7160e01b5f52600160045260245ffd5b8082018281125f83128015821682158216171561545c5761545c6153fb565b505092915050565b8181035f8312801583831316838312821617156139c1576139c16153fb565b85815260018060a01b038516602082015283604082015282606082015260a060808201525f6154b560a08301846149f3565b979650505050505050565b5f602082840312156154d0575f5ffd5b5051919050565b5f5f83546154e4816152e3565b6001821680156154fb57600181146155105761553d565b60ff198316865281151582028601935061553d565b865f5260205f205f5b8381101561553557815488820152600190910190602001615519565b505081860193505b509195945050505050565b5f60208284031215615558575f5ffd5b81516001600160401b0381111561556d575f5ffd5b8201601f8101841361557d575f5ffd5b80516001600160401b0381111561559657615596614bbb565b8060051b6155a660208201614bcf565b918252602081840181019290810190878411156155c1575f5ffd5b6020850194505b838510156154b557845192506155dd83614a33565b828252602094850194909101906155c8565b80820180821115610c2157610c216153fb565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f5375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652060408201526962656c6f77207a65726f60b01b606082015260800190565b81810381811115610c2157610c216153fb565b5f600182016156be576156be6153fb565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f606084860312156156eb575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215615714575f5ffd5b8151611c6e81614a33565b60ff8281168282160390811115610c2157610c216153fb565b6001815b600184111561577357808504811115615757576157576153fb565b600184161561576557908102905b60019390931c92800261573c565b935093915050565b5f8261578957506001610c21565b8161579557505f610c21565b81600181146157ab57600281146157b5576157d1565b6001915050610c21565b60ff8411156157c6576157c66153fb565b50506001821b610c21565b5060208310610133831016604e8410600b84101617156157f4575081810a610c21565b6158005f198484615738565b805f1904821115615813576158136153fb565b029392505050565b5f611c6e60ff84168361577b565b5f8261584357634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610c2157610c216153fb565b5f82518060208501845e5f920191825250919050565b601f82111561112c578282111561112c57805f5260205f20601f840160051c60208510156158a057505f5b90810190601f840160051c035f5b818110156158c3575f838201556001016158ae565b505050505050565b6001600160401b038311156158e2576158e2614bbb565b6158f6836158f083546152e3565b83615875565b5f601f841160018114615927575f85156159105750838201355b5f19600387901b1c1916600186901b178355610d8a565b5f83815260208120601f198716915b828110156159565786850135825560209485019460019092019101615936565b5086821015615972575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201525f61599c60608301856149f3565b8281036040840152611a4781856149f3565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190525f906159e8908301856149f3565b82810360a08401526159fa81856149f3565b9998505050505050505050565b634e487b7160e01b5f52602160045260245ffdfeb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fbb3cbfd61b16c2a0aae359c7e48a14b9d325bca3e51b9bb2af2293c91f3f1ab64736f6c63430008230033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "contract ISuperfluid";
@@ -145,6 +145,14 @@ export declare class SuperToken__factory extends ContractFactory {
145
145
  readonly inputs: readonly [];
146
146
  readonly name: "SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS";
147
147
  readonly type: "error";
148
+ }, {
149
+ readonly inputs: readonly [{
150
+ readonly internalType: "int256";
151
+ readonly name: "value";
152
+ readonly type: "int256";
153
+ }];
154
+ readonly name: "SafeCastOverflowedIntToUint";
155
+ readonly type: "error";
148
156
  }, {
149
157
  readonly inputs: readonly [{
150
158
  readonly internalType: "uint256";
@@ -671,6 +679,16 @@ export declare class SuperToken__factory extends ContractFactory {
671
679
  }];
672
680
  readonly stateMutability: "view";
673
681
  readonly type: "function";
682
+ }, {
683
+ readonly inputs: readonly [];
684
+ readonly name: "VERSION";
685
+ readonly outputs: readonly [{
686
+ readonly internalType: "string";
687
+ readonly name: "";
688
+ readonly type: "string";
689
+ }];
690
+ readonly stateMutability: "view";
691
+ readonly type: "function";
674
692
  }, {
675
693
  readonly inputs: readonly [{
676
694
  readonly internalType: "address";
@@ -1 +1 @@
1
- {"version":3,"file":"SuperToken__factory.d.ts","sourceRoot":"","sources":["../../../../../../src/typechain-types/factories/contracts/superfluid/SuperToken__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AA+xElD,KAAK,2BAA2B,GAC5B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,GAAG,IAAI,EAAE,2BAA2B;IAQvC,MAAM,CACb,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,UAAU,CAAC;IAOb,oBAAoB,CAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAGnC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAIrD,MAAM,CAAC,QAAQ,CAAC,QAAQ,ow7CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,mBAAmB;IAG7C,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,UAAU;CAGd"}
1
+ {"version":3,"file":"SuperToken__factory.d.ts","sourceRoot":"","sources":["../../../../../../src/typechain-types/factories/contracts/superfluid/SuperToken__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAuzElD,KAAK,2BAA2B,GAC5B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,GAAG,IAAI,EAAE,2BAA2B;IAQvC,MAAM,CACb,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,UAAU,CAAC;IAOb,oBAAoB,CAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAGnC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAIrD,MAAM,CAAC,QAAQ,CAAC,QAAQ,gl8CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,mBAAmB;IAG7C,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,UAAU;CAGd"}
@@ -173,6 +173,17 @@ const _abi = [
173
173
  name: "SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",
174
174
  type: "error",
175
175
  },
176
+ {
177
+ inputs: [
178
+ {
179
+ internalType: "int256",
180
+ name: "value",
181
+ type: "int256",
182
+ },
183
+ ],
184
+ name: "SafeCastOverflowedIntToUint",
185
+ type: "error",
186
+ },
176
187
  {
177
188
  inputs: [
178
189
  {
@@ -833,6 +844,19 @@ const _abi = [
833
844
  stateMutability: "view",
834
845
  type: "function",
835
846
  },
847
+ {
848
+ inputs: [],
849
+ name: "VERSION",
850
+ outputs: [
851
+ {
852
+ internalType: "string",
853
+ name: "",
854
+ type: "string",
855
+ },
856
+ ],
857
+ stateMutability: "view",
858
+ type: "function",
859
+ },
836
860
  {
837
861
  inputs: [
838
862
  {
@@ -2331,7 +2355,7 @@ const _abi = [
2331
2355
  type: "function",
2332
2356
  },
2333
2357
  ];
2334
- const _bytecode = "0x60e060405234801561000f575f5ffd5b50604051615b7e380380615b7e83398101604081905261002e91610089565b6001600160a01b03808316608052811660c08190526040517feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e6905f90a250506100c1565b6001600160a01b0381168114610086575f5ffd5b50565b5f5f6040838503121561009a575f5ffd5b82516100a581610072565b60208401519092506100b681610072565b809150509250929050565b60805160a05160c0516159eb6101935f395f6108a201525f610a3501525f818161051a01528181610d0801528181610d770152818161108a0152818161111701528181611242015281816113b90152818161157601528181611773015281816117c90152818161186a0152818161195d01528181611aa101528181611c4301528181611e33015281816122b401528181612362015281816125f4015281816126b901528181612720015281816127a601528181613163015281816131f8015281816144d3015261482201526159eb5ff3fe608060405234801561000f575f5ffd5b5060043610610438575f3560e01c80636e9960c311610237578063bb0d196e11610135578063d9d078d6116100bf578063ee719bc811610084578063ee719bc814610a1f578063f5a8b4dd14610a30578063fad8b32a14610a57578063fc673c4f14610a6a578063fe9d930314610a7d575f5ffd5b8063d9d078d614610982578063dd62ed3e14610995578063e729804b146109cd578063eb3537cc146109de578063ec0d634314610a0c575f5ffd5b8063ca0c1e7f11610105578063ca0c1e7f14610923578063ca78946414610936578063cf97256d14610949578063d505accf1461095c578063d95b63711461096f575f5ffd5b8063bb0d196e146108d7578063c67a8c1b146108ea578063c68d4283146108fd578063c780fd8214610910575f5ffd5b806395d89b41116101c1578063a3a7e7f311610186578063a3a7e7f314610864578063a457c2d714610877578063a9059cbb1461088a578063b20db1ac1461089d578063b84cdd4a146108c4575f5ffd5b806395d89b411461081b5780639903ad38146108235780639bd9bbc61461082b5780639d8767411461083e578063a1b2bf8b14610851575f5ffd5b806383ba25251161020757806383ba2525146107b557806384b0196e146107c85780638f283970146107e357806392081a47146107f6578063959b8c3f14610808575f5ffd5b80636e9960c31461075f57806370a082311461076757806379359f6f1461077a5780637ecebe001461078d575f5ffd5b8063370a190f116103445780634b2763b3116102ce5780635b9d09cc116102935780635b9d09cc1461070057806362aa52871461071357806362ad1b831461072657806366a12fb6146107395780636c2d9f2f1461074c575f5ffd5b80634b2763b3146106985780634b61cc33146106ab57806350d75d25146106cb57806352d1902d146106d3578063556f0dc7146106f9575f5ffd5b806342fe09801161031457806342fe09801461064457806345977d0314610657578063469519541461066a57806347ba7ad11461067d5780634a3acda014610690575f5ffd5b8063370a190f14610603578063386fa2211461060b578063395093511461061e57806341b706be14610631575f5ffd5b80631ae88ffc116103c557806327048397116103955780632704839714610578578063282a050b1461058b5780632ec8eec7146105b3578063313ce567146105e65780633644e515146105fb575f5ffd5b80631ae88ffc1461050557806320bc44251461051857806323b872dd14610552578063245887fc14610565575f5ffd5b806311bcc81e1161040b57806311bcc81e146104a757806312a6a3f8146104ba57806316d055d6146104cd57806318160ddd146104e05780631863e809146104f2575f5ffd5b806306e485381461043c57806306fdde031461045a578063090c415e1461046f578063095ea7b314610484575b5f5ffd5b610444610a90565b6040516104519190614914565b60405180910390f35b610462610aa1565b604051610451919061498d565b61048261047d3660046149fa565b610b31565b005b610497610492366004614a51565b610be2565b6040519015158152602001610451565b6104826104b5366004614a7b565b610bf8565b6104826104c8366004614a92565b610c25565b6104826104db366004614ad9565b610d06565b6003545b604051908152602001610451565b610482610500366004614be3565b610d62565b610482610513366004614c6f565b611088565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610451565b610497610560366004614c6f565b611100565b610482610573366004614a51565b611115565b610482610586366004614cad565b61118c565b61059e610599366004614a7b565b611228565b60408051928352602083019190915201610451565b6105c66105c1366004614ccd565b61123c565b604080519485526020850193909352918301526060820152608001610451565b60125b60405160ff9091168152602001610451565b6104e46112db565b610482611389565b610444610619366004614ccd565b611543565b61049761062c366004614a51565b6115e1565b61048261063f366004614ad9565b61161c565b610482610652366004614d3a565b611648565b610482610665366004614a7b565b611719565b610482610678366004614ccd565b611743565b61048261068b366004614c6f565b6117c7565b61048261183a565b6104826106a6366004614c6f565b61195b565b6106be6106b9366004614dca565b6119dc565b6040516104519190614e0d565b61053a611a20565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104e4565b60016104e4565b61048261070e366004614e44565b611a49565b610482610721366004614c6f565b611a9f565b610482610734366004614e8f565b611af3565b610482610747366004614c6f565b611b9f565b6106be61075a366004614f2a565b611bbf565b61053a611c00565b6104e4610775366004614ccd565b611c16565b610497610788366004614ccd565b611c3c565b6104e461079b366004614ccd565b6001600160a01b03165f9081526016602052604090205490565b6104826107c3366004614a51565b611cc1565b6107d0611ceb565b6040516104519796959493929190614f5c565b6104826107f1366004614ccd565b611e03565b600e54600160a01b900460ff166105e9565b610482610816366004614ccd565b611ef1565b610462611f42565b610482611f51565b610482610839366004614e44565b61200d565b61048261084c366004614ff2565b612060565b61048261085f366004614a92565b612121565b610482610872366004614ccd565b6121c9565b610497610885366004614a51565b6121dd565b610497610898366004614a51565b612254565b61053a7f000000000000000000000000000000000000000000000000000000000000000081565b6104976108d2366004614a51565b612261565b6104976108e5366004614ccd565b6122ad565b6104826108f8366004614ccd565b612332565b61048261090b366004614ff2565b61256e565b61048261091e366004614c6f565b6125f2565b610482610931366004615046565b6126b7565b610482610944366004614a51565b61271e565b610482610957366004614a51565b612791565b61048261096a3660046150ad565b612876565b61049761097d3660046150fa565b6129cf565b610497610990366004614a51565b6129dc565b6104e46109a33660046150fa565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b6017546001600160a01b031661053a565b6109f16109ec366004614a51565b6129f4565b60408051938452602084019290925290820152606001610451565b610482610a1a366004615131565b612b21565b600e546001600160a01b031661053a565b61053a7f000000000000000000000000000000000000000000000000000000000000000081565b610482610a65366004614ccd565b612bf2565b610482610a783660046151d4565b612c43565b610482610a8b366004615215565b612ce2565b6060610a9c6012612d32565b905090565b6060600f8054610ab09061524f565b80601f0160208091040260200160405190810160405280929190818152602001828054610adc9061524f565b8015610b275780601f10610afe57610100808354040283529160200191610b27565b820191905f5260205f20905b815481529060010190602001808311610b0a57829003601f168201915b5050505050905090565b5f338585604051602001610b4793929190615287565b604051602081830303815290604052805190602001209050610b9b818484808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612d9592505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b5f610bee338484612dcb565b5060015b92915050565b610c223333338460405180602001604052805f81525060405180602001604052805f815250612dd8565b50565b60405133905f90610c3c90839087906020016152d0565b60408051601f1981840301815291905280516020909101209050610c608184612fc3565b15610c7e5760405163782a90fb60e11b815260040160405180910390fd5b610cba818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612d9592505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610cf79392919061530d565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d4f5760405163c51efddd60e01b815260040160405180910390fd5b610d5b84848484612ff5565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610dc4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de8919061534c565b610e055760405163327fd99160e21b815260040160405180910390fd5b5f610e0e61315f565b90506001600160a01b038116610e215750845b5f85610e2d5786610e2f565b815b90505f8313610ef957610e418361537b565b610e4a8561329f565b14610e5757610e57615395565b610e608461329f565b6001600160a01b0382165f9081526002602052604081208054909190610e879084906153a9565b90915550506001600160a01b0385165f9081526002602052604081208054859290610eb39084906153a9565b92505081905550806001600160a01b0316856001600160a01b03165f5160206159965f395f51905f5286604051610eec91815260200190565b60405180910390a3611020565b8515610f0757610f07615395565b82610f118561329f565b610f1b91906153a9565b6001600160a01b0383165f9081526002602052604081208054909190610f429084906153d0565b90915550610f5190508461329f565b6001600160a01b0388165f9081526002602052604081208054909190610f789084906153a9565b90915550506001600160a01b0385165f9081526002602052604081208054859290610fa49084906153a9565b92505081905550866001600160a01b0316826001600160a01b03165f5160206159965f395f51905f5286604051610fdd91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03165f5160206159965f395f51905f528560405161101791815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110759594939291906153ef565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146110d15760405163c51efddd60e01b815260040160405180910390fd5b6110fb3384848460405180602001604052805f81525060405180602001604052805f8152506132cf565b505050565b5f61110d33858585612ff5565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461115e5760405163c51efddd60e01b815260040160405180910390fd5b6111883383848460405180602001604052805f81525060405180602001604052805f815250612dd8565b5050565b60405133905f906111a390839086906020016152d0565b6040516020818303038152906040528051906020012090506111c58184612fc3565b6111e25760405163dae1880960e01b815260040160405180910390fd5b6111ec81846134ae565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b906020015b60405180910390a250505050565b5f5f611233836134c5565b91509150915091565b5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c0919061542c565b90506112cc85826129f4565b91979096509094509092509050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600f60405161130c9190615443565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f61139f5f5160206159765f395f51905f525490565b90505f6001600160a01b038216156113b757816113d9565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461140457604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03166114595760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b60448201526064015b60405180910390fd5b6017546001600160a01b031660015f805c60ff19168217905d506017546040805160048152602481019091526020810180516001600160e01b03166372e6c5b560e11b1790526114b2916001600160a01b031690613580565b5f60ff19815c16815d506017546040805160048152602481019091526020810180516001600160e01b0316632f2770db60e01b1790526114fb916001600160a01b031690613580565b601780546001600160a01b03191690556040516001600160a01b038216907f2486b5241145ce1b97a13655ecd4e8e51094ac93259a0589d24524304d6d70d4905f90a2505050565b6001600160a01b038181165f908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d906024015f60405180830381865afa1580156115ba573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bf291908101906154b4565b335f8181526011602090815260408083206001600160a01b03871684529091528120549091610bee91859061161790869061555b565b612dcb565b33301461163c57604051630fff4cc960e31b815260040160405180910390fd5b610d5b83858484612ff5565b5f54610100900460ff161580801561166657505f54600160ff909116105b8061167f5750303b15801561167f57505f5460ff166001145b61169b5760405162461bcd60e51b81526004016114509061556e565b5f805460ff1916600117905580156116bc575f805461ff0019166101001790555b6116cb8787878787875f6135ea565b8015611710575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610c223333338460405180602001604052805f81525060405180602001604052805f8152506132cf565b5f6117595f5160206159765f395f51905f525490565b90505f6001600160a01b038216156117715781611793565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146117be57604051630484acab60e01b815260040160405180910390fd5b6110fb836136ae565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146118105760405163c51efddd60e01b815260040160405180910390fd5b6110fb3384848460405180602001604052805f81525060405180602001604052805f815250612dd8565b5f6118505f5160206159765f395f51905f525490565b90505f6001600160a01b03821615611868578161188a565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146118b557604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03166119055760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b6044820152606401611450565b601754600354604051611188926001600160a01b03169161192c9160240190815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316632c34606360e21b179052613580565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146119a45760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f908152601160209081526040808320938616835292905220546110fb908490849061161790859061555b565b60605f8585856040516020016119f493929190615287565b604051602081830303815290604052805190602001209050611a1681846138e5565b9695505050505050565b5f610a9c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b611a993333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250604080516020810190915290815292506132cf915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611ae85760405163c51efddd60e01b815260040160405180910390fd5b6110fb838383612dcb565b33611b006012828a61396a565b611b1d5760405163f7f0222760e01b815260040160405180910390fd5b611b958189898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f9201919091525060019250613a0f915050565b5050505050505050565b333014611ae857604051630fff4cc960e31b815260040160405180910390fd5b60605f8484604051602001611bd59291906152d0565b604051602081830303815290604052805190602001209050611bf781846138e5565b95945050505050565b5f610a9c5f5160206159765f395f51905f525490565b5f5f611c218361123c565b50505090505f8112611c335780611c35565b5f5b9392505050565b5f610bf2827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c9d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610990919061542c565b6111883333848460405180602001604052805f81525060405180602001604052805f815250612dd8565b5f6060805f5f5f6060600f604051806040016040528060018152602001603160f81b81525046305f5f1b5f6001600160401b03811115611d2d57611d2d614b27565b604051908082528060200260200182016040528015611d56578160200160208202803683370190505b50600f60f81b959493929190858054611d6e9061524f565b80601f0160208091040260200160405190810160405280929190818152602001828054611d9a9061524f565b8015611de55780601f10611dbc57610100808354040283529160200191611de5565b820191905f5260205f20905b815481529060010190602001808311611dc857829003601f168201915b50505050509550965096509650965096509650965090919293949596565b5f611e195f5160206159765f395f51905f525490565b90505f6001600160a01b03821615611e315781611e53565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b03821614611e7e57604051630484acab60e01b815260040160405180910390fd5b5f611e945f5160206159765f395f51905f525490565b9050611eab845f5160206159765f395f51905f5255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611efe60128284613a88565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610ab09061524f565b5f54610100900460ff1615808015611f6f57505f54600160ff909116105b80611f885750303b158015611f8857505f5460ff166001145b611fa45760405162461bcd60e51b81526004016114509061556e565b5f805460ff191660011790558015611fc5575f805461ff0019166101001790555b8015610c22575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b611a993333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925060019150613a0f9050565b33301461208057604051630fff4cc960e31b815260040160405180910390fd5b8051604080515f8152602081019091526120a591339186918691901515908690613b89565b6017546001600160a01b0316156110fb5760015f805c60ff19168217905d5060175460405160248101849052612112916001600160a01b0316906044015b60408051601f198184030181529190526020810180516001600160e01b0316632e1a7d4d60e01b179052613580565b5f60ff19815c16815d50505050565b60405133905f9061213890839087906020016152d0565b60405160208183030381529060405280519060200120905061218c818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612d9592505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610cf79392919061530d565b6111883333836121d833611c16565b612ff5565b335f9081526011602090815260408083206001600160a01b038616845290915281205482111561221f5760405162461bcd60e51b8152600401611450906155bc565b335f8181526011602090815260408083206001600160a01b0388168452909152902054610bee91908590611617908690615606565b5f611c3533338585612ff5565b5f5f5f5f61226f86866129f4565b9250925092505f612295828411612286575f61329f565b6122908385615606565b61329f565b61229f90856153a9565b5f1315979650505050505050565b5f610bf2827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561230e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d2919061542c565b5f6123485f5160206159765f395f51905f525490565b90505f6001600160a01b038216156123605781612382565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146123ad57604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b0316156124065760405162461bcd60e51b815260206004820152601960248201527f7969656c64206261636b656e6420616c726561647920736574000000000000006044820152606401611450565b601780546001600160a01b0385166001600160a01b031990911681179091556040805160048152602481019091526020810180516001600160e01b031663a3907d7160e01b1790526124589190613580565b600e545f906001600160a01b0316156124da57600e546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156124b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124d5919061542c565b6124dc565b475b6017546040516024810183905291925061252f916001600160a01b03909116906044015b60408051601f198184030181529190526020810180516001600160e01b031663b6b55f2560e01b179052613580565b6017546040518281526001600160a01b03909116907f8d15dd569157df615aedb4b16273001ae8980ce2aac93e39adc48481dfaefbb59060200161121a565b33301461258e57604051630fff4cc960e31b815260040160405180910390fd5b60ff5f5c166110fb576017546001600160a01b0316156125cb57601754604051602481018490526125cb916001600160a01b031690604401612500565b8051604080515f8152602081019091526110fb913391869186919015159081908790613c53565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461263b5760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f9081526011602090815260408083209386168352929052205481111561267f5760405162461bcd60e51b8152600401611450906155bc565b6001600160a01b038084165f908152601160209081526040808320938616835292905220546110fb9084908490611617908590615606565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127005760405163c51efddd60e01b815260040160405180910390fd5b611a99338585858560405180602001604052805f8152506001613a0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127675760405163c51efddd60e01b815260040160405180910390fd5b6111883383848460405180602001604052805f81525060405180602001604052805f8152506132cf565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa1580156127f3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612817919061534c565b6128345760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382165f908152600260205260409020546128579082906153a9565b6001600160a01b039092165f9081526002602052604090209190915550565b8342111561289a57604051636e72b90f60e01b815260048101859052602401611450565b6001600160a01b0387165f90815260166020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a9190866128e683615619565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f6129436112db565b60405161190160f01b81526002810182905260228101849052604290209091505f61297082888888613d1e565b90508a6001600160a01b0316816001600160a01b0316146129b75760405163b642210560e01b81526001600160a01b0380831660048301528c166024820152604401611450565b6129c28b8b8b612dcb565b5050505050505050505050565b5f611c356012848461396a565b5f5f6129e884846129f4565b50505f13949350505050565b6001600160a01b0382165f90815260026020526040812054908080612a1886611543565b90505f5b8151811015612b18575f5f5f848481518110612a3a57612a3a615631565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612a97573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612abb9190615645565b91945092509050612acc828861555b565b9650612ad8818761555b565b9550612af4818311612aea575f61329f565b6122908284615606565b612afe848a6153a9565b612b0891906153d0565b9750505050806001019050612a1c565b50509250925092565b5f54610100900460ff1615808015612b3f57505f54600160ff909116105b80612b585750303b158015612b5857505f5460ff166001145b612b745760405162461bcd60e51b81526004016114509061556e565b5f805460ff191660011790558015612b95575f805461ff0019166101001790555b612ba4888888888888886135ea565b8015611b95575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612bff60128284613d4a565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b33612c506012828961396a565b612c6d5760405163f7f0222760e01b815260040160405180910390fd5b6117108188898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f92019190915250612dd892505050565b6110fb3333338686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525060408051602081019091529081529250612dd8915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612d8957602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612d6b575b50505050509050919050565b5f5b81518110156110fb575f828281518110612db357612db3615631565b60209081029190910101518483015550600101612d97565b6110fb8383836001613e3f565b600e546001600160a01b0316612e0157604051637bce7b2b60e11b815260040160405180910390fd5b5f5f612e0c856134c5565b91509150612e2288888387515f14158888613b89565b6017546001600160a01b031615612e565760175460405160248101849052612e56916001600160a01b0316906044016120e3565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612e9c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ec0919061542c565b600e54909150612eda906001600160a01b03168885613f0d565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612f20573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f44919061542c565b90505f612f518284615606565b9050808514612f7357604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d85604051612fae91815260200190565b60405180910390a25050505050505050505050565b5f805b82811015612fec57838101548015612fe357600192505050610bf2565b50600101612fc6565b505f9392505050565b5f6001600160a01b03841661301d5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166130445760405163e219bd3960e01b815260040160405180910390fd5b5f3390506130728186868660405180602001604052805f81525060405180602001604052805f815250613f6c565b846001600160a01b0316866001600160a01b031614613153576001600160a01b038086165f908152601160209081526040808320938a16835292905220548311156131155760405162461bcd60e51b815260206004820152602d60248201527f5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636560448201526c65647320616c6c6f77616e636560981b6064820152608401611450565b6001600160a01b038086165f908152601160209081526040808320938a1683529290522054613153908690889061314d908790615606565b5f613e3f565b50600195945050505050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131e19190615670565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015613275573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132999190615670565b91505090565b5f6001600160ff1b038211156132cb5760405163123baf0360e11b815260048101839052602401611450565b5090565b600e546001600160a01b03166132f857604051637bce7b2b60e11b815260040160405180910390fd5b5f5f613303856134c5565b600e546040516370a0823160e01b81523060048201529294509092505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015613351573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613375919061542c565b600e54909150613390906001600160a01b031689308661400a565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa1580156133d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133fa919061542c565b90505f6134078383615606565b905080851461342957604051631c7c26d360e31b815260040160405180910390fd5b6017546001600160a01b03161561345d576017546040516024810183905261345d916001600160a01b031690604401612500565b8651613473908c908b9087901515808c8c613c53565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df85604051612fae91815260200190565b5f5b818110156110fb575f838201556001016134b0565b600e545f90819081906012600160a01b90910460ff16101561352357600e546134f990600160a01b900460ff16601261568b565b61350490600a615787565b90506135108185615795565b925061351c81846157b4565b915061357a565b600e546012600160a01b90910460ff16111561357357600e5461355290601290600160a01b900460ff1661568b565b61355d90600a615787565b905061356981856157b4565b925083915061357a565b8391508192505b50915091565b5f5f836001600160a01b03168360405161359a91906157cb565b5f60405180830381855af49150503d805f81146135d2576040519150601f19603f3d011682016040523d82523d5f602084013e6135d7565b606091505b509150915081611a9957611a9981614043565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f61361f858783615825565b50601061362d838583615825565b50613643815f5160206159765f395f51905f5255565b61364c3061414e565b6040515f8082529081905f5160206159965f395f51905f529060200160405180910390a36040516001600160a01b038216905f907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b5f6136d77f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361372d5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611450565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613769573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061378d919061542c565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019146138075760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611450565b6001600160a01b038116300361385f5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611450565b613887817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201612002565b6060816001600160401b038111156138ff576138ff614b27565b604051908082528060200260200182016040528015613928578160200160208202803683370190505b5090505f5b82811015613963575f8185015490508083838151811061394f5761394f615631565b60209081029190910101525060010161392d565b5092915050565b5f816001600160a01b0316836001600160a01b031614806139d657506001600160a01b0383165f90815260018501602052604090205460ff1680156139d657506001600160a01b038083165f90815260038601602090815260408083209387168352929052205460ff16155b8061110d57506001600160a01b038083165f90815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b038616613a365760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b038516613a5d5760405163e219bd3960e01b815260040160405180910390fd5b613a6b878787878787614272565b613a79878787878787613f6c565b61171087878787878787614384565b806001600160a01b0316826001600160a01b031603613aff5760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611450565b6001600160a01b0381165f90815260018401602052604090205460ff1615613b53576001600160a01b039182165f90815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038083165f9081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b038516613bb057604051632e8aac6160e21b815260040160405180910390fd5b8215613bc457613bc486865f878686614272565b613bce85856144cc565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098868585604051613c15939291906158de565b60405180910390a36040518481525f906001600160a01b038716905f5160206159965f395f51905f52906020015b60405180910390a3505050505050565b6001600160a01b038616613c7a57604051630d24315760e01b815260040160405180910390fd5b613c8486866145d7565b8315613c9957613c99875f8888868689614384565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d878585604051613ce0939291906158de565b60405180910390a36040518581526001600160a01b038716905f905f5160206159965f395f51905f529060200160405180910390a350505050505050565b5f5f5f5f613d2e8888888861462f565b925092509250613d3e82826146f7565b50909695505050505050565b336001600160a01b03821603613db55760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611450565b6001600160a01b0381165f90815260018401602052604090205460ff1615613e0d576001600160a01b038083165f9081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b039182165f90815260029390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038416613e6657604051638163862760e01b815260040160405180910390fd5b6001600160a01b038316613e8d576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b038085165f9081526011602090815260408083209387168352929052208290558015611a9957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051613eff91815260200190565b60405180910390a350505050565b6040516001600160a01b038381166024830152604482018390526110fb91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506147af565b613f7f8585613f7a8661329f565b61481b565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987868686604051613fd0939291906158de565b60405180910390a4836001600160a01b0316856001600160a01b03165f5160206159965f395f51905f5285604051613c4391815260200190565b6040516001600160a01b038481166024830152838116604483015260648201839052611a999186918216906323b872dd90608401613f3a565b6004815110156140955760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611450565b602081015163b1b7848f60e01b6001600160e01b03198216016141455760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916114509184910161498d565b81518060208401fd5b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d906064015f604051808303815f87803b1580156141cc575f5ffd5b505af11580156141de573d5f5f3e3d5ffd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d91506064015f604051808303815f87803b158015614260575f5ffd5b505af1158015610d5b573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa1580156142f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143149190615670565b90506001600160a01b0381161561171057604051633ad5cbc160e11b81526001600160a01b038216906375ab97829061435b908a908a908a908a908a908a90600401615908565b5f604051808303815f87803b158015614372575f5ffd5b505af11580156129c2573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614402573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144269190615670565b90506001600160a01b0381161561449d576040516223de2960e01b81526001600160a01b038216906223de299061446b908b908b908b908b908b908b90600401615908565b5f604051808303815f87803b158015614482575f5ffd5b505af1158015614494573d5f5f3e3d5ffd5b50505050611b95565b8115611b95576001600160a01b0386163b15611b955760405163fe737d0560e01b815260040160405180910390fd5b5f614551837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561452d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec919061542c565b5050905061455e8261329f565b81121561457e5760405163043b37d160e21b815260040160405180910390fd5b6145878261329f565b6001600160a01b0384165f908152600260205260409020546145a991906153d0565b6001600160a01b0384165f908152600260205260409020556003546145cf908390615606565b600355505050565b6145e08161329f565b6001600160a01b0383165f9081526002602052604090205461460291906153a9565b6001600160a01b0383165f9081526002602052604090205560035461462890829061555b565b6003555050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561466857505f915060039050826146ed565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156146b9573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381166146e457505f9250600191508290506146ed565b92505f91508190505b9450945094915050565b5f82600381111561470a5761470a615961565b03614713575050565b600182600381111561472757614727615961565b036147455760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561475957614759615961565b0361477a5760405163fce698f760e01b815260048101829052602401611450565b600382600381111561478e5761478e615961565b03611188576040516335e2f38360e21b815260048101829052602401611450565b5f5f60205f8451602086015f885af1806147ce576040513d5f823e3d81fd5b50505f513d915081156147e55780600114156147f2565b6001600160a01b0384163b155b15611a9957604051635274afe760e01b81526001600160a01b0385166004820152602401611450565b5f61487c847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561452d573d5f5f3e3d5ffd5b50509050818112156148a157604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b0384165f908152600260205260409020546148c49083906153d0565b6001600160a01b038086165f9081526002602052604080822093909355908516815220546148f39083906153a9565b6001600160a01b039093165f90815260026020526040902092909255505050565b602080825282518282018190525f918401906040840190835b818110156149545783516001600160a01b031683526020938401939092019160010161492d565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611c35602083018461495f565b6001600160a01b0381168114610c22575f5ffd5b5f5f83601f8401126149c3575f5ffd5b5081356001600160401b038111156149d9575f5ffd5b6020830191508360208260051b85010111156149f3575f5ffd5b9250929050565b5f5f5f5f60608587031215614a0d575f5ffd5b8435614a188161499f565b93506020850135925060408501356001600160401b03811115614a39575f5ffd5b614a45878288016149b3565b95989497509550505050565b5f5f60408385031215614a62575f5ffd5b8235614a6d8161499f565b946020939093013593505050565b5f60208284031215614a8b575f5ffd5b5035919050565b5f5f5f60408486031215614aa4575f5ffd5b8335925060208401356001600160401b03811115614ac0575f5ffd5b614acc868287016149b3565b9497909650939450505050565b5f5f5f5f60808587031215614aec575f5ffd5b8435614af78161499f565b93506020850135614b078161499f565b92506040850135614b178161499f565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614b6357614b63614b27565b604052919050565b5f82601f830112614b7a575f5ffd5b81356001600160401b03811115614b9357614b93614b27565b614ba6601f8201601f1916602001614b3b565b818152846020838601011115614bba575f5ffd5b816020850160208301375f918101602001919091529392505050565b8015158114610c22575f5ffd5b5f5f5f5f5f5f5f60e0888a031215614bf9575f5ffd5b8735965060208801356001600160401b03811115614c15575f5ffd5b614c218a828b01614b6b565b9650506040880135614c328161499f565b94506060880135614c4281614bd6565b93506080880135614c528161499f565b9699959850939692959460a0840135945060c09093013592915050565b5f5f5f60608486031215614c81575f5ffd5b8335614c8c8161499f565b92506020840135614c9c8161499f565b929592945050506040919091013590565b5f5f60408385031215614cbe575f5ffd5b50508035926020909101359150565b5f60208284031215614cdd575f5ffd5b8135611c358161499f565b803560ff81168114614cf8575f5ffd5b919050565b5f5f83601f840112614d0d575f5ffd5b5081356001600160401b03811115614d23575f5ffd5b6020830191508360208285010111156149f3575f5ffd5b5f5f5f5f5f5f60808789031215614d4f575f5ffd5b8635614d5a8161499f565b9550614d6860208801614ce8565b945060408701356001600160401b03811115614d82575f5ffd5b614d8e89828a01614cfd565b90955093505060608701356001600160401b03811115614dac575f5ffd5b614db889828a01614cfd565b979a9699509497509295939492505050565b5f5f5f5f60808587031215614ddd575f5ffd5b8435614de88161499f565b93506020850135614df88161499f565b93969395505050506040820135916060013590565b602080825282518282018190525f918401906040840190835b81811015614954578351835260209384019390920191600101614e26565b5f5f5f5f60608587031215614e57575f5ffd5b8435614e628161499f565b93506020850135925060408501356001600160401b03811115614e83575f5ffd5b614a4587828801614cfd565b5f5f5f5f5f5f5f60a0888a031215614ea5575f5ffd5b8735614eb08161499f565b96506020880135614ec08161499f565b95506040880135945060608801356001600160401b03811115614ee1575f5ffd5b614eed8a828b01614cfd565b90955093505060808801356001600160401b03811115614f0b575f5ffd5b614f178a828b01614cfd565b989b979a50959850939692959293505050565b5f5f5f60608486031215614f3c575f5ffd5b8335614f478161499f565b95602085013595506040909401359392505050565b60ff60f81b8816815260e060208201525f614f7a60e083018961495f565b8281036040840152614f8c818961495f565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015614fe1578351835260209384019390920191600101614fc3565b50909b9a5050505050505050505050565b5f5f5f60608486031215615004575f5ffd5b833561500f8161499f565b92506020840135915060408401356001600160401b03811115615030575f5ffd5b61503c86828701614b6b565b9150509250925092565b5f5f5f5f60808587031215615059575f5ffd5b84356150648161499f565b935060208501356150748161499f565b92506040850135915060608501356001600160401b03811115615095575f5ffd5b6150a187828801614b6b565b91505092959194509250565b5f5f5f5f5f5f5f60e0888a0312156150c3575f5ffd5b87356150ce8161499f565b965060208801356150de8161499f565b95506040880135945060608801359350614c5260808901614ce8565b5f5f6040838503121561510b575f5ffd5b82356151168161499f565b915060208301356151268161499f565b809150509250929050565b5f5f5f5f5f5f5f60a0888a031215615147575f5ffd5b87356151528161499f565b965061516060208901614ce8565b955060408801356001600160401b0381111561517a575f5ffd5b6151868a828b01614cfd565b90965094505060608801356001600160401b038111156151a4575f5ffd5b6151b08a828b01614cfd565b90945092505060808801356151c48161499f565b8091505092959891949750929550565b5f5f5f5f5f5f608087890312156151e9575f5ffd5b86356151f48161499f565b95506020870135945060408701356001600160401b03811115614d82575f5ffd5b5f5f5f60408486031215615227575f5ffd5b8335925060208401356001600160401b03811115615243575f5ffd5b614acc86828701614cfd565b600181811c9082168061526357607f821691505b60208210810361528157634e487b7160e01b5f52602260045260245ffd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b83815260406020820181905281018290525f6001600160fb1b03831115615332575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f6020828403121561535c575f5ffd5b8151611c3581614bd6565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b820161538f5761538f615367565b505f0390565b634e487b7160e01b5f52600160045260245ffd5b8082018281125f8312801582168215821617156153c8576153c8615367565b505092915050565b8181035f83128015838313168383128216171561396357613963615367565b85815260018060a01b038516602082015283604082015282606082015260a060808201525f61542160a083018461495f565b979650505050505050565b5f6020828403121561543c575f5ffd5b5051919050565b5f5f83546154508161524f565b600182168015615467576001811461547c576154a9565b60ff19831686528115158202860193506154a9565b865f5260205f205f5b838110156154a157815488820152600190910190602001615485565b505081860193505b509195945050505050565b5f602082840312156154c4575f5ffd5b81516001600160401b038111156154d9575f5ffd5b8201601f810184136154e9575f5ffd5b80516001600160401b0381111561550257615502614b27565b8060051b61551260208201614b3b565b9182526020818401810192908101908784111561552d575f5ffd5b6020850194505b8385101561542157845192506155498361499f565b82825260209485019490910190615534565b80820180821115610bf257610bf2615367565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f5375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652060408201526962656c6f77207a65726f60b01b606082015260800190565b81810381811115610bf257610bf2615367565b5f6001820161562a5761562a615367565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f60608486031215615657575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215615680575f5ffd5b8151611c358161499f565b60ff8281168282160390811115610bf257610bf2615367565b6001815b60018411156156df578085048111156156c3576156c3615367565b60018416156156d157908102905b60019390931c9280026156a8565b935093915050565b5f826156f557506001610bf2565b8161570157505f610bf2565b816001811461571757600281146157215761573d565b6001915050610bf2565b60ff84111561573257615732615367565b50506001821b610bf2565b5060208310610133831016604e8410600b8410161715615760575081810a610bf2565b61576c5f1984846156a4565b805f190482111561577f5761577f615367565b029392505050565b5f611c3560ff8416836156e7565b5f826157af57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610bf257610bf2615367565b5f82518060208501845e5f920191825250919050565b601f8211156110fb57805f5260205f20601f840160051c810160208510156158065750805b601f840160051c820191505b81811015610d5b575f8155600101615812565b6001600160401b0383111561583c5761583c614b27565b6158508361584a835461524f565b836157e1565b5f601f841160018114615881575f851561586a5750838201355b5f19600387901b1c1916600186901b178355610d5b565b5f83815260208120601f198716915b828110156158b05786850135825560209485019460019092019101615890565b50868210156158cc575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201525f6158f6606083018561495f565b8281036040840152611a16818561495f565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190525f906159429083018561495f565b82810360a0840152615954818561495f565b9998505050505050505050565b634e487b7160e01b5f52602160045260245ffdfeb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122011d22345ee1200a1541bc655311dc89fad18e8432231a7d179a406b8705bf4f664736f6c634300081e0033";
2358
+ const _bytecode = "0x60e060405234801561000f575f5ffd5b50604051615c24380380615c2483398101604081905261002e91610089565b6001600160a01b03808316608052811660c08190526040517feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e6905f90a250506100c1565b6001600160a01b0381168114610086575f5ffd5b50565b5f5f6040838503121561009a575f5ffd5b82516100a581610072565b60208401519092506100b681610072565b809150509250929050565b60805160a05160c051615a916101935f395f6108ad01525f610a4001525f818161052501528181610d3701528181610da6015281816110bb0152818161114801528181611273015281816113ea015281816115a7015281816117a4015281816117fa0152818161189b0152818161198e01528181611ad201528181611c7c01528181611e6c015281816122ed0152818161239b0152818161262d015281816126f201528181612759015281816127df0152818161319c015281816132310152818161450401526148490152615a915ff3fe608060405234801561000f575f5ffd5b5060043610610443575f3560e01c806370a0823111610237578063c67a8c1b11610135578063dd62ed3e116100bf578063f5a8b4dd11610084578063f5a8b4dd14610a3b578063fad8b32a14610a62578063fc673c4f14610a75578063fe9d930314610a88578063ffa1ad7414610a9b575f5ffd5b8063dd62ed3e146109a0578063e729804b146109d8578063eb3537cc146109e9578063ec0d634314610a17578063ee719bc814610a2a575f5ffd5b8063ca78946411610105578063ca78946414610941578063cf97256d14610954578063d505accf14610967578063d95b63711461097a578063d9d078d61461098d575f5ffd5b8063c67a8c1b146108f5578063c68d428314610908578063c780fd821461091b578063ca0c1e7f1461092e575f5ffd5b80639903ad38116101c1578063a457c2d711610186578063a457c2d714610882578063a9059cbb14610895578063b20db1ac146108a8578063b84cdd4a146108cf578063bb0d196e146108e2575f5ffd5b80639903ad381461082e5780639bd9bbc6146108365780639d87674114610849578063a1b2bf8b1461085c578063a3a7e7f31461086f575f5ffd5b806384b0196e1161020757806384b0196e146107d35780638f283970146107ee57806392081a4714610801578063959b8c3f1461081357806395d89b4114610826575f5ffd5b806370a082311461077257806379359f6f146107855780637ecebe001461079857806383ba2525146107c0575f5ffd5b8063386fa221116103445780634b61cc33116102ce57806362aa52871161029357806362aa52871461071e57806362ad1b831461073157806366a12fb6146107445780636c2d9f2f146107575780636e9960c31461076a575f5ffd5b80634b61cc33146106b657806350d75d25146106d657806352d1902d146106de578063556f0dc7146107045780635b9d09cc1461070b575f5ffd5b806345977d031161031457806345977d0314610662578063469519541461067557806347ba7ad1146106885780634a3acda01461069b5780634b2763b3146106a3575f5ffd5b8063386fa22114610616578063395093511461062957806341b706be1461063c57806342fe09801461064f575f5ffd5b80631ae88ffc116103d0578063282a050b11610395578063282a050b146105965780632ec8eec7146105be578063313ce567146105f15780633644e51514610606578063370a190f1461060e575f5ffd5b80631ae88ffc1461051057806320bc44251461052357806323b872dd1461055d578063245887fc146105705780632704839714610583575f5ffd5b806311bcc81e1161041657806311bcc81e146104b257806312a6a3f8146104c557806316d055d6146104d857806318160ddd146104eb5780631863e809146104fd575f5ffd5b806306e485381461044757806306fdde0314610465578063090c415e1461047a578063095ea7b31461048f575b5f5ffd5b61044f610abf565b60405161045c91906149a8565b60405180910390f35b61046d610ad0565b60405161045c9190614a21565b61048d610488366004614a8e565b610b60565b005b6104a261049d366004614ae5565b610c11565b604051901515815260200161045c565b61048d6104c0366004614b0f565b610c27565b61048d6104d3366004614b26565b610c54565b61048d6104e6366004614b6d565b610d35565b6003545b60405190815260200161045c565b61048d61050b366004614c77565b610d91565b61048d61051e366004614d03565b6110b9565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161045c565b6104a261056b366004614d03565b611131565b61048d61057e366004614ae5565b611146565b61048d610591366004614d41565b6111bd565b6105a96105a4366004614b0f565b611259565b6040805192835260208301919091520161045c565b6105d16105cc366004614d61565b61126d565b60408051948552602085019390935291830152606082015260800161045c565b60125b60405160ff909116815260200161045c565b6104ef61130c565b61048d6113ba565b61044f610624366004614d61565b611574565b6104a2610637366004614ae5565b611612565b61048d61064a366004614b6d565b61164d565b61048d61065d366004614dce565b611679565b61048d610670366004614b0f565b61174a565b61048d610683366004614d61565b611774565b61048d610696366004614d03565b6117f8565b61048d61186b565b61048d6106b1366004614d03565b61198c565b6106c96106c4366004614e5e565b611a0d565b60405161045c9190614ea1565b610545611a51565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104ef565b60016104ef565b61048d610719366004614ed8565b611a7a565b61048d61072c366004614d03565b611ad0565b61048d61073f366004614f23565b611b24565b61048d610752366004614d03565b611bd0565b6106c9610765366004614fbe565b611bf0565b610545611c31565b6104ef610780366004614d61565b611c47565b6104a2610793366004614d61565b611c75565b6104ef6107a6366004614d61565b6001600160a01b03165f9081526016602052604090205490565b61048d6107ce366004614ae5565b611cfa565b6107db611d24565b60405161045c9796959493929190614ff0565b61048d6107fc366004614d61565b611e3c565b600e54600160a01b900460ff166105f4565b61048d610821366004614d61565b611f2a565b61046d611f7b565b61048d611f8a565b61048d610844366004614ed8565b612046565b61048d610857366004615086565b612099565b61048d61086a366004614b26565b61215a565b61048d61087d366004614d61565b612202565b6104a2610890366004614ae5565b612216565b6104a26108a3366004614ae5565b61228d565b6105457f000000000000000000000000000000000000000000000000000000000000000081565b6104a26108dd366004614ae5565b61229a565b6104a26108f0366004614d61565b6122e6565b61048d610903366004614d61565b61236b565b61048d610916366004615086565b6125a7565b61048d610929366004614d03565b61262b565b61048d61093c3660046150da565b6126f0565b61048d61094f366004614ae5565b612757565b61048d610962366004614ae5565b6127ca565b61048d610975366004615141565b6128af565b6104a261098836600461518e565b612a08565b6104a261099b366004614ae5565b612a15565b6104ef6109ae36600461518e565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b6017546001600160a01b0316610545565b6109fc6109f7366004614ae5565b612a2d565b6040805193845260208401929092529082015260600161045c565b61048d610a253660046151c5565b612b5a565b600e546001600160a01b0316610545565b6105457f000000000000000000000000000000000000000000000000000000000000000081565b61048d610a70366004614d61565b612c2b565b61048d610a83366004615268565b612c7c565b61048d610a963660046152a9565b612d1b565b61046d604051806040016040528060058152602001640312e302e360dc1b81525081565b6060610acb6012612d6b565b905090565b6060600f8054610adf906152e3565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0b906152e3565b8015610b565780601f10610b2d57610100808354040283529160200191610b56565b820191905f5260205f20905b815481529060010190602001808311610b3957829003601f168201915b5050505050905090565b5f338585604051602001610b769392919061531b565b604051602081830303815290604052805190602001209050610bca818484808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b5f610c1d338484612e04565b5060015b92915050565b610c513333338460405180602001604052805f81525060405180602001604052805f815250612e11565b50565b60405133905f90610c6b9083908790602001615364565b60408051601f1981840301815291905280516020909101209050610c8f8184612ffc565b15610cad5760405163782a90fb60e11b815260040160405180910390fd5b610ce9818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610d26939291906153a1565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d7e5760405163c51efddd60e01b815260040160405180910390fd5b610d8a8484848461302e565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610df3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1791906153e0565b610e345760405163327fd99160e21b815260040160405180910390fd5b5f610e3d613198565b90506001600160a01b038116610e505750845b5f85610e5c5786610e5e565b815b90505f8313610f2857610e708361540f565b610e79856132d8565b14610e8657610e86615429565b610e8f846132d8565b6001600160a01b0382165f9081526002602052604081208054909190610eb690849061543d565b90915550506001600160a01b0385165f9081526002602052604081208054859290610ee290849061543d565b92505081905550806001600160a01b0316856001600160a01b03165f516020615a3c5f395f51905f5286604051610f1b91815260200190565b60405180910390a3611051565b8515610f3657610f36615429565b82610f40856132d8565b610f4a919061543d565b6001600160a01b0383165f9081526002602052604081208054909190610f71908490615464565b90915550610f809050846132d8565b6001600160a01b0388165f9081526002602052604081208054909190610fa790849061543d565b90915550506001600160a01b0385165f9081526002602052604081208054859290610fd390849061543d565b92505081905550866001600160a01b0316826001600160a01b03165f516020615a3c5f395f51905f528660405161100c91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03165f516020615a3c5f395f51905f5261103f86613308565b60405190815260200160405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110a6959493929190615483565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111025760405163c51efddd60e01b815260040160405180910390fd5b61112c3384848460405180602001604052805f81525060405180602001604052805f81525061332d565b505050565b5f61113e3385858561302e565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461118f5760405163c51efddd60e01b815260040160405180910390fd5b6111b93383848460405180602001604052805f81525060405180602001604052805f815250612e11565b5050565b60405133905f906111d49083908690602001615364565b6040516020818303038152906040528051906020012090506111f68184612ffc565b6112135760405163dae1880960e01b815260040160405180910390fd5b61121d818461350c565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b906020015b60405180910390a250505050565b5f5f61126483613523565b91509150915091565b5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f191906154c0565b90506112fd8582612a2d565b91979096509094509092509050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600f60405161133d91906154d7565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f6113d05f516020615a1c5f395f51905f525490565b90505f6001600160a01b038216156113e8578161140a565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461143557604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b031661148a5760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b60448201526064015b60405180910390fd5b6017546001600160a01b031660015f805c60ff19168217905d506017546040805160048152602481019091526020810180516001600160e01b03166372e6c5b560e11b1790526114e3916001600160a01b0316906135de565b5f60ff19815c16815d506017546040805160048152602481019091526020810180516001600160e01b0316632f2770db60e01b17905261152c916001600160a01b0316906135de565b601780546001600160a01b03191690556040516001600160a01b038216907f2486b5241145ce1b97a13655ecd4e8e51094ac93259a0589d24524304d6d70d4905f90a2505050565b6001600160a01b038181165f908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d906024015f60405180830381865afa1580156115eb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c219190810190615548565b335f8181526011602090815260408083206001600160a01b03871684529091528120549091610c1d9185906116489086906155ef565b612e04565b33301461166d57604051630fff4cc960e31b815260040160405180910390fd5b610d8a8385848461302e565b5f54610100900460ff161580801561169757505f54600160ff909116105b806116b05750303b1580156116b057505f5460ff166001145b6116cc5760405162461bcd60e51b815260040161148190615602565b5f805460ff1916600117905580156116ed575f805461ff0019166101001790555b6116fc8787878787875f613648565b8015611741575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610c513333338460405180602001604052805f81525060405180602001604052805f81525061332d565b5f61178a5f516020615a1c5f395f51905f525490565b90505f6001600160a01b038216156117a257816117c4565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146117ef57604051630484acab60e01b815260040160405180910390fd5b61112c8361370c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146118415760405163c51efddd60e01b815260040160405180910390fd5b61112c3384848460405180602001604052805f81525060405180602001604052805f815250612e11565b5f6118815f516020615a1c5f395f51905f525490565b90505f6001600160a01b0382161561189957816118bb565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146118e657604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03166119365760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b6044820152606401611481565b6017546003546040516111b9926001600160a01b03169161195d9160240190815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316632c34606360e21b1790526135de565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146119d55760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f9081526011602090815260408083209386168352929052205461112c90849084906116489085906155ef565b60605f858585604051602001611a259392919061531b565b604051602081830303815290604052805190602001209050611a478184613943565b9695505050505050565b5f610acb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b611aca3333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925061332d915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611b195760405163c51efddd60e01b815260040160405180910390fd5b61112c838383612e04565b33611b316012828a6139c8565b611b4e5760405163f7f0222760e01b815260040160405180910390fd5b611bc68189898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f9201919091525060019250613a6d915050565b5050505050505050565b333014611b1957604051630fff4cc960e31b815260040160405180910390fd5b60605f8484604051602001611c06929190615364565b604051602081830303815290604052805190602001209050611c288184613943565b95945050505050565b5f610acb5f516020615a1c5f395f51905f525490565b5f5f611c528361126d565b50505090505f8112611c6c57611c6781613308565b611c6e565b5f5b9392505050565b5f610c21827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cd6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099b91906154c0565b6111b93333848460405180602001604052805f81525060405180602001604052805f815250612e11565b5f6060805f5f5f6060600f604051806040016040528060018152602001603160f81b81525046305f5f1b5f6001600160401b03811115611d6657611d66614bbb565b604051908082528060200260200182016040528015611d8f578160200160208202803683370190505b50600f60f81b959493929190858054611da7906152e3565b80601f0160208091040260200160405190810160405280929190818152602001828054611dd3906152e3565b8015611e1e5780601f10611df557610100808354040283529160200191611e1e565b820191905f5260205f20905b815481529060010190602001808311611e0157829003601f168201915b50505050509550965096509650965096509650965090919293949596565b5f611e525f516020615a1c5f395f51905f525490565b90505f6001600160a01b03821615611e6a5781611e8c565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b03821614611eb757604051630484acab60e01b815260040160405180910390fd5b5f611ecd5f516020615a1c5f395f51905f525490565b9050611ee4845f516020615a1c5f395f51905f5255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611f3760128284613ae6565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610adf906152e3565b5f54610100900460ff1615808015611fa857505f54600160ff909116105b80611fc15750303b158015611fc157505f5460ff166001145b611fdd5760405162461bcd60e51b815260040161148190615602565b5f805460ff191660011790558015611ffe575f805461ff0019166101001790555b8015610c51575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b611aca3333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925060019150613a6d9050565b3330146120b957604051630fff4cc960e31b815260040160405180910390fd5b8051604080515f8152602081019091526120de91339186918691901515908690613be7565b6017546001600160a01b03161561112c5760015f805c60ff19168217905d506017546040516024810184905261214b916001600160a01b0316906044015b60408051601f198184030181529190526020810180516001600160e01b0316632e1a7d4d60e01b1790526135de565b5f60ff19815c16815d50505050565b60405133905f906121719083908790602001615364565b6040516020818303038152906040528051906020012090506121c5818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610d26939291906153a1565b6111b933338361221133611c47565b61302e565b335f9081526011602090815260408083206001600160a01b03861684529091528120548211156122585760405162461bcd60e51b815260040161148190615650565b335f8181526011602090815260408083206001600160a01b0388168452909152902054610c1d9190859061164890869061569a565b5f611c6e3333858561302e565b5f5f5f5f6122a88686612a2d565b9250925092505f6122ce8284116122bf575f6132d8565b6122c9838561569a565b6132d8565b6122d8908561543d565b5f1315979650505050505050565b5f610c21827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015612347573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108dd91906154c0565b5f6123815f516020615a1c5f395f51905f525490565b90505f6001600160a01b0382161561239957816123bb565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146123e657604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03161561243f5760405162461bcd60e51b815260206004820152601960248201527f7969656c64206261636b656e6420616c726561647920736574000000000000006044820152606401611481565b601780546001600160a01b0385166001600160a01b031990911681179091556040805160048152602481019091526020810180516001600160e01b031663a3907d7160e01b17905261249191906135de565b600e545f906001600160a01b03161561251357600e546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156124ea573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061250e91906154c0565b612515565b475b60175460405160248101839052919250612568916001600160a01b03909116906044015b60408051601f198184030181529190526020810180516001600160e01b031663b6b55f2560e01b1790526135de565b6017546040518281526001600160a01b03909116907f8d15dd569157df615aedb4b16273001ae8980ce2aac93e39adc48481dfaefbb59060200161124b565b3330146125c757604051630fff4cc960e31b815260040160405180910390fd5b60ff5f5c1661112c576017546001600160a01b0316156126045760175460405160248101849052612604916001600160a01b031690604401612539565b8051604080515f81526020810190915261112c913391869186919015159081908790613cb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146126745760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f908152601160209081526040808320938616835292905220548111156126b85760405162461bcd60e51b815260040161148190615650565b6001600160a01b038084165f9081526011602090815260408083209386168352929052205461112c908490849061164890859061569a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127395760405163c51efddd60e01b815260040160405180910390fd5b611aca338585858560405180602001604052805f8152506001613a6d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127a05760405163c51efddd60e01b815260040160405180910390fd5b6111b93383848460405180602001604052805f81525060405180602001604052805f81525061332d565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa15801561282c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285091906153e0565b61286d5760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382165f9081526002602052604090205461289090829061543d565b6001600160a01b039092165f9081526002602052604090209190915550565b834211156128d357604051636e72b90f60e01b815260048101859052602401611481565b6001600160a01b0387165f90815260166020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661291f836156ad565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61297c61130c565b60405161190160f01b81526002810182905260228101849052604290209091505f6129a982888888613d7c565b90508a6001600160a01b0316816001600160a01b0316146129f05760405163b642210560e01b81526001600160a01b0380831660048301528c166024820152604401611481565b6129fb8b8b8b612e04565b5050505050505050505050565b5f611c6e601284846139c8565b5f5f612a218484612a2d565b50505f13949350505050565b6001600160a01b0382165f90815260026020526040812054908080612a5186611574565b90505f5b8151811015612b51575f5f5f848481518110612a7357612a736156c5565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612ad0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af491906156d9565b91945092509050612b0582886155ef565b9650612b1181876155ef565b9550612b2d818311612b23575f6132d8565b6122c9828461569a565b612b37848a61543d565b612b419190615464565b9750505050806001019050612a55565b50509250925092565b5f54610100900460ff1615808015612b7857505f54600160ff909116105b80612b915750303b158015612b9157505f5460ff166001145b612bad5760405162461bcd60e51b815260040161148190615602565b5f805460ff191660011790558015612bce575f805461ff0019166101001790555b612bdd88888888888888613648565b8015611bc6575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612c3860128284613da8565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b33612c89601282896139c8565b612ca65760405163f7f0222760e01b815260040160405180910390fd5b6117418188898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f92019190915250612e1192505050565b61112c3333338686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525060408051602081019091529081529250612e11915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612dc257602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612da4575b50505050509050919050565b5f5b815181101561112c575f828281518110612dec57612dec6156c5565b60209081029190910101518483015550600101612dd0565b61112c8383836001613e9d565b600e546001600160a01b0316612e3a57604051637bce7b2b60e11b815260040160405180910390fd5b5f5f612e4585613523565b91509150612e5b88888387515f14158888613be7565b6017546001600160a01b031615612e8f5760175460405160248101849052612e8f916001600160a01b03169060440161211c565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612ed5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ef991906154c0565b600e54909150612f13906001600160a01b03168885613f6b565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612f59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7d91906154c0565b90505f612f8a828461569a565b9050808514612fac57604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d85604051612fe791815260200190565b60405180910390a25050505050505050505050565b5f805b828110156130255783810154801561301c57600192505050610c21565b50600101612fff565b505f9392505050565b5f6001600160a01b0384166130565760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b03831661307d5760405163e219bd3960e01b815260040160405180910390fd5b5f3390506130ab8186868660405180602001604052805f81525060405180602001604052805f815250613fa0565b846001600160a01b0316866001600160a01b03161461318c576001600160a01b038086165f908152601160209081526040808320938a168352929052205483111561314e5760405162461bcd60e51b815260206004820152602d60248201527f5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636560448201526c65647320616c6c6f77616e636560981b6064820152608401611481565b6001600160a01b038086165f908152601160209081526040808320938a168352929052205461318c908690889061318690879061569a565b5f613e9d565b50600195945050505050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131f6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061321a9190615704565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156132ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132d29190615704565b91505090565b5f6001600160ff1b038211156133045760405163123baf0360e11b815260048101839052602401611481565b5090565b5f5f82121561330457604051635467221960e11b815260048101839052602401611481565b600e546001600160a01b031661335657604051637bce7b2b60e11b815260040160405180910390fd5b5f5f61336185613523565b600e546040516370a0823160e01b81523060048201529294509092505f916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156133af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133d391906154c0565b600e549091506133ee906001600160a01b031689308661403e565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613434573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345891906154c0565b90505f613465838361569a565b905080851461348757604051631c7c26d360e31b815260040160405180910390fd5b6017546001600160a01b0316156134bb57601754604051602481018390526134bb916001600160a01b031690604401612539565b86516134d1908c908b9087901515808c8c613cb1565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df85604051612fe791815260200190565b5f5b8181101561112c575f8382015560010161350e565b600e545f90819081906012600160a01b90910460ff16101561358157600e5461355790600160a01b900460ff16601261571f565b61356290600a61581b565b905061356e8185615829565b925061357a8184615848565b91506135d8565b600e546012600160a01b90910460ff1611156135d157600e546135b090601290600160a01b900460ff1661571f565b6135bb90600a61581b565b90506135c78185615848565b92508391506135d8565b8391508192505b50915091565b5f5f836001600160a01b0316836040516135f8919061585f565b5f60405180830381855af49150503d805f8114613630576040519150601f19603f3d011682016040523d82523d5f602084013e613635565b606091505b509150915081611aca57611aca81614074565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f61367d8587836158cb565b50601061368b8385836158cb565b506136a1815f516020615a1c5f395f51905f5255565b6136aa3061417f565b6040515f8082529081905f516020615a3c5f395f51905f529060200160405180910390a36040516001600160a01b038216905f907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b5f6137357f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361378b5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611481565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137eb91906154c0565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019146138655760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611481565b6001600160a01b03811630036138bd5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611481565b6138e5817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b03841660208301520161203b565b6060816001600160401b0381111561395d5761395d614bbb565b604051908082528060200260200182016040528015613986578160200160208202803683370190505b5090505f5b828110156139c1575f818501549050808383815181106139ad576139ad6156c5565b60209081029190910101525060010161398b565b5092915050565b5f816001600160a01b0316836001600160a01b03161480613a3457506001600160a01b0383165f90815260018501602052604090205460ff168015613a3457506001600160a01b038083165f90815260038601602090815260408083209387168352929052205460ff16155b8061113e57506001600160a01b038083165f90815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b038616613a945760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b038516613abb5760405163e219bd3960e01b815260040160405180910390fd5b613ac98787878787876142a3565b613ad7878787878787613fa0565b611741878787878787876143b5565b806001600160a01b0316826001600160a01b031603613b5d5760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611481565b6001600160a01b0381165f90815260018401602052604090205460ff1615613bb1576001600160a01b039182165f90815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038083165f9081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b038516613c0e57604051632e8aac6160e21b815260040160405180910390fd5b8215613c2257613c2286865f8786866142a3565b613c2c85856144fd565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098868585604051613c7393929190615984565b60405180910390a36040518481525f906001600160a01b038716905f516020615a3c5f395f51905f52906020015b60405180910390a3505050505050565b6001600160a01b038616613cd857604051630d24315760e01b815260040160405180910390fd5b613ce28686614608565b8315613cf757613cf7875f88888686896143b5565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d878585604051613d3e93929190615984565b60405180910390a36040518581526001600160a01b038716905f905f516020615a3c5f395f51905f529060200160405180910390a350505050505050565b5f5f5f5f613d8c88888888614660565b925092509250613d9c8282614728565b50909695505050505050565b336001600160a01b03821603613e135760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611481565b6001600160a01b0381165f90815260018401602052604090205460ff1615613e6b576001600160a01b038083165f9081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b039182165f90815260029390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038416613ec457604051638163862760e01b815260040160405180910390fd5b6001600160a01b038316613eeb576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b038085165f9081526011602090815260408083209387168352929052208290558015611aca57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051613f5d91815260200190565b60405180910390a350505050565b613f7883838360016147e0565b61112c57604051635274afe760e01b81526001600160a01b0384166004820152602401611481565b613fb38585613fae866132d8565b614842565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161400493929190615984565b60405180910390a4836001600160a01b0316856001600160a01b03165f516020615a3c5f395f51905f5285604051613ca191815260200190565b61404c84848484600161493b565b611aca57604051635274afe760e01b81526001600160a01b0385166004820152602401611481565b6004815110156140c65760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611481565b602081015163b1b7848f60e01b6001600160e01b03198216016141765760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161148191849101614a21565b81518060208401fd5b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d906064015f604051808303815f87803b1580156141fd575f5ffd5b505af115801561420f573d5f5f3e3d5ffd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d91506064015f604051808303815f87803b158015614291575f5ffd5b505af1158015610d8a573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614321573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143459190615704565b90506001600160a01b0381161561174157604051633ad5cbc160e11b81526001600160a01b038216906375ab97829061438c908a908a908a908a908a908a906004016159ae565b5f604051808303815f87803b1580156143a3575f5ffd5b505af11580156129fb573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614433573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144579190615704565b90506001600160a01b038116156144ce576040516223de2960e01b81526001600160a01b038216906223de299061449c908b908b908b908b908b908b906004016159ae565b5f604051808303815f87803b1580156144b3575f5ffd5b505af11580156144c5573d5f5f3e3d5ffd5b50505050611bc6565b8115611bc6576001600160a01b0386163b15611bc65760405163fe737d0560e01b815260040160405180910390fd5b5f614582837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561455e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f791906154c0565b5050905061458f826132d8565b8112156145af5760405163043b37d160e21b815260040160405180910390fd5b6145b8826132d8565b6001600160a01b0384165f908152600260205260409020546145da9190615464565b6001600160a01b0384165f9081526002602052604090205560035461460090839061569a565b600355505050565b614611816132d8565b6001600160a01b0383165f90815260026020526040902054614633919061543d565b6001600160a01b0383165f908152600260205260409020556003546146599082906155ef565b6003555050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561469957505f9150600390508261471e565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156146ea573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661471557505f92506001915082905061471e565b92505f91508190505b9450945094915050565b5f82600381111561473b5761473b615a07565b03614744575050565b600182600381111561475857614758615a07565b036147765760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561478a5761478a615a07565b036147ab5760405163fce698f760e01b815260048101829052602401611481565b60038260038111156147bf576147bf615a07565b036111b9576040516335e2f38360e21b815260048101829052602401611481565b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f5114831661483657838315161561482a573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b5f6148a3847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561455e573d5f5f3e3d5ffd5b50509050818112156148c857604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b0384165f908152600260205260409020546148eb908390615464565b6001600160a01b038086165f90815260026020526040808220939093559085168152205461491a90839061543d565b6001600160a01b039093165f90815260026020526040902092909255505050565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f5114831661499757838315161561498b573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b602080825282518282018190525f918401906040840190835b818110156149e85783516001600160a01b03168352602093840193909201916001016149c1565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611c6e60208301846149f3565b6001600160a01b0381168114610c51575f5ffd5b5f5f83601f840112614a57575f5ffd5b5081356001600160401b03811115614a6d575f5ffd5b6020830191508360208260051b8501011115614a87575f5ffd5b9250929050565b5f5f5f5f60608587031215614aa1575f5ffd5b8435614aac81614a33565b93506020850135925060408501356001600160401b03811115614acd575f5ffd5b614ad987828801614a47565b95989497509550505050565b5f5f60408385031215614af6575f5ffd5b8235614b0181614a33565b946020939093013593505050565b5f60208284031215614b1f575f5ffd5b5035919050565b5f5f5f60408486031215614b38575f5ffd5b8335925060208401356001600160401b03811115614b54575f5ffd5b614b6086828701614a47565b9497909650939450505050565b5f5f5f5f60808587031215614b80575f5ffd5b8435614b8b81614a33565b93506020850135614b9b81614a33565b92506040850135614bab81614a33565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614bf757614bf7614bbb565b604052919050565b5f82601f830112614c0e575f5ffd5b81356001600160401b03811115614c2757614c27614bbb565b614c3a601f8201601f1916602001614bcf565b818152846020838601011115614c4e575f5ffd5b816020850160208301375f918101602001919091529392505050565b8015158114610c51575f5ffd5b5f5f5f5f5f5f5f60e0888a031215614c8d575f5ffd5b8735965060208801356001600160401b03811115614ca9575f5ffd5b614cb58a828b01614bff565b9650506040880135614cc681614a33565b94506060880135614cd681614c6a565b93506080880135614ce681614a33565b9699959850939692959460a0840135945060c09093013592915050565b5f5f5f60608486031215614d15575f5ffd5b8335614d2081614a33565b92506020840135614d3081614a33565b929592945050506040919091013590565b5f5f60408385031215614d52575f5ffd5b50508035926020909101359150565b5f60208284031215614d71575f5ffd5b8135611c6e81614a33565b803560ff81168114614d8c575f5ffd5b919050565b5f5f83601f840112614da1575f5ffd5b5081356001600160401b03811115614db7575f5ffd5b602083019150836020828501011115614a87575f5ffd5b5f5f5f5f5f5f60808789031215614de3575f5ffd5b8635614dee81614a33565b9550614dfc60208801614d7c565b945060408701356001600160401b03811115614e16575f5ffd5b614e2289828a01614d91565b90955093505060608701356001600160401b03811115614e40575f5ffd5b614e4c89828a01614d91565b979a9699509497509295939492505050565b5f5f5f5f60808587031215614e71575f5ffd5b8435614e7c81614a33565b93506020850135614e8c81614a33565b93969395505050506040820135916060013590565b602080825282518282018190525f918401906040840190835b818110156149e8578351835260209384019390920191600101614eba565b5f5f5f5f60608587031215614eeb575f5ffd5b8435614ef681614a33565b93506020850135925060408501356001600160401b03811115614f17575f5ffd5b614ad987828801614d91565b5f5f5f5f5f5f5f60a0888a031215614f39575f5ffd5b8735614f4481614a33565b96506020880135614f5481614a33565b95506040880135945060608801356001600160401b03811115614f75575f5ffd5b614f818a828b01614d91565b90955093505060808801356001600160401b03811115614f9f575f5ffd5b614fab8a828b01614d91565b989b979a50959850939692959293505050565b5f5f5f60608486031215614fd0575f5ffd5b8335614fdb81614a33565b95602085013595506040909401359392505050565b60ff60f81b8816815260e060208201525f61500e60e08301896149f3565b828103604084015261502081896149f3565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015615075578351835260209384019390920191600101615057565b50909b9a5050505050505050505050565b5f5f5f60608486031215615098575f5ffd5b83356150a381614a33565b92506020840135915060408401356001600160401b038111156150c4575f5ffd5b6150d086828701614bff565b9150509250925092565b5f5f5f5f608085870312156150ed575f5ffd5b84356150f881614a33565b9350602085013561510881614a33565b92506040850135915060608501356001600160401b03811115615129575f5ffd5b61513587828801614bff565b91505092959194509250565b5f5f5f5f5f5f5f60e0888a031215615157575f5ffd5b873561516281614a33565b9650602088013561517281614a33565b95506040880135945060608801359350614ce660808901614d7c565b5f5f6040838503121561519f575f5ffd5b82356151aa81614a33565b915060208301356151ba81614a33565b809150509250929050565b5f5f5f5f5f5f5f60a0888a0312156151db575f5ffd5b87356151e681614a33565b96506151f460208901614d7c565b955060408801356001600160401b0381111561520e575f5ffd5b61521a8a828b01614d91565b90965094505060608801356001600160401b03811115615238575f5ffd5b6152448a828b01614d91565b909450925050608088013561525881614a33565b8091505092959891949750929550565b5f5f5f5f5f5f6080878903121561527d575f5ffd5b863561528881614a33565b95506020870135945060408701356001600160401b03811115614e16575f5ffd5b5f5f5f604084860312156152bb575f5ffd5b8335925060208401356001600160401b038111156152d7575f5ffd5b614b6086828701614d91565b600181811c908216806152f757607f821691505b60208210810361531557634e487b7160e01b5f52602260045260245ffd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b83815260406020820181905281018290525f6001600160fb1b038311156153c6575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f602082840312156153f0575f5ffd5b8151611c6e81614c6a565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8201615423576154236153fb565b505f0390565b634e487b7160e01b5f52600160045260245ffd5b8082018281125f83128015821682158216171561545c5761545c6153fb565b505092915050565b8181035f8312801583831316838312821617156139c1576139c16153fb565b85815260018060a01b038516602082015283604082015282606082015260a060808201525f6154b560a08301846149f3565b979650505050505050565b5f602082840312156154d0575f5ffd5b5051919050565b5f5f83546154e4816152e3565b6001821680156154fb57600181146155105761553d565b60ff198316865281151582028601935061553d565b865f5260205f205f5b8381101561553557815488820152600190910190602001615519565b505081860193505b509195945050505050565b5f60208284031215615558575f5ffd5b81516001600160401b0381111561556d575f5ffd5b8201601f8101841361557d575f5ffd5b80516001600160401b0381111561559657615596614bbb565b8060051b6155a660208201614bcf565b918252602081840181019290810190878411156155c1575f5ffd5b6020850194505b838510156154b557845192506155dd83614a33565b828252602094850194909101906155c8565b80820180821115610c2157610c216153fb565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f5375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652060408201526962656c6f77207a65726f60b01b606082015260800190565b81810381811115610c2157610c216153fb565b5f600182016156be576156be6153fb565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f606084860312156156eb575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215615714575f5ffd5b8151611c6e81614a33565b60ff8281168282160390811115610c2157610c216153fb565b6001815b600184111561577357808504811115615757576157576153fb565b600184161561576557908102905b60019390931c92800261573c565b935093915050565b5f8261578957506001610c21565b8161579557505f610c21565b81600181146157ab57600281146157b5576157d1565b6001915050610c21565b60ff8411156157c6576157c66153fb565b50506001821b610c21565b5060208310610133831016604e8410600b84101617156157f4575081810a610c21565b6158005f198484615738565b805f1904821115615813576158136153fb565b029392505050565b5f611c6e60ff84168361577b565b5f8261584357634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610c2157610c216153fb565b5f82518060208501845e5f920191825250919050565b601f82111561112c578282111561112c57805f5260205f20601f840160051c60208510156158a057505f5b90810190601f840160051c035f5b818110156158c3575f838201556001016158ae565b505050505050565b6001600160401b038311156158e2576158e2614bbb565b6158f6836158f083546152e3565b83615875565b5f601f841160018114615927575f85156159105750838201355b5f19600387901b1c1916600186901b178355610d8a565b5f83815260208120601f198716915b828110156159565786850135825560209485019460019092019101615936565b5086821015615972575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201525f61599c60608301856149f3565b8281036040840152611a4781856149f3565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190525f906159e8908301856149f3565b82810360a08401526159fa81856149f3565b9998505050505050505050565b634e487b7160e01b5f52602160045260245ffdfeb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fbb3cbfd61b16c2a0aae359c7e48a14b9d325bca3e51b9bb2af2293c91f3f1ab64736f6c63430008230033";
2335
2359
  const isSuperArgs = (xs) => xs.length > 1;
2336
2360
  export class SuperToken__factory extends ContractFactory {
2337
2361
  constructor(...args) {