@superfluid-finance/sdk-core 0.8.1-dev.ff65ead.0 → 0.9.1-dev.1edc4ed.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 (671) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/index.umd.js +9741 -13887
  3. package/dist/main/BatchCall.d.ts +1 -0
  4. package/dist/main/BatchCall.d.ts.map +1 -1
  5. package/dist/main/BatchCall.js +15 -1
  6. package/dist/main/BatchCall.js.map +1 -1
  7. package/dist/main/Operation.d.ts +1 -1
  8. package/dist/main/Operation.d.ts.map +1 -1
  9. package/dist/main/Operation.js +13 -1
  10. package/dist/main/Operation.js.map +1 -1
  11. package/dist/main/typechain-types/contracts/agreements/gdav1/GeneralDistributionAgreementV1.d.ts +27 -1
  12. package/dist/main/typechain-types/contracts/agreements/gdav1/GeneralDistributionAgreementV1.d.ts.map +1 -1
  13. package/dist/main/typechain-types/contracts/agreements/gdav1/SuperfluidPool.d.ts +32 -8
  14. package/dist/main/typechain-types/contracts/agreements/gdav1/SuperfluidPool.d.ts.map +1 -1
  15. package/dist/main/typechain-types/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.d.ts +27 -1
  16. package/dist/main/typechain-types/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.d.ts.map +1 -1
  17. package/dist/main/typechain-types/contracts/interfaces/agreements/gdav1/ISuperfluidPool.d.ts +25 -1
  18. package/dist/main/typechain-types/contracts/interfaces/agreements/gdav1/ISuperfluidPool.d.ts.map +1 -1
  19. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +9 -1
  20. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  21. package/dist/main/typechain-types/contracts/mocks/StreamRedirector.t.sol/StreamRedirector.d.ts +1 -18
  22. package/dist/main/typechain-types/contracts/mocks/StreamRedirector.t.sol/StreamRedirector.d.ts.map +1 -1
  23. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock.d.ts +9 -9
  24. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock.d.ts.map +1 -1
  25. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock.d.ts +9 -9
  26. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock.d.ts.map +1 -1
  27. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts +0 -2
  28. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts.map +1 -1
  29. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts +17 -9
  30. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts.map +1 -1
  31. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts +17 -9
  32. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  33. package/dist/main/typechain-types/contracts/mocks/index.d.ts +0 -4
  34. package/dist/main/typechain-types/contracts/mocks/index.d.ts.map +1 -1
  35. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts +17 -9
  36. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  37. package/dist/main/typechain-types/contracts/utils/{DMZForwarder.d.ts → ERC2771Forwarder.d.ts} +5 -24
  38. package/dist/main/typechain-types/contracts/utils/ERC2771Forwarder.d.ts.map +1 -0
  39. package/dist/main/typechain-types/contracts/{mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.js → utils/ERC2771Forwarder.js} +1 -1
  40. package/dist/main/typechain-types/contracts/utils/ERC2771Forwarder.js.map +1 -0
  41. package/dist/main/typechain-types/contracts/utils/MacroForwarder.d.ts +5 -5
  42. package/dist/main/typechain-types/contracts/utils/MacroForwarder.d.ts.map +1 -1
  43. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.d.ts +125 -0
  44. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.d.ts.map +1 -0
  45. package/dist/main/typechain-types/contracts/{mocks/CFALibraryMock.t.sol/CFALibraryMock.js → utils/SimpleForwarder.js} +1 -1
  46. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.js.map +1 -0
  47. package/dist/{module/typechain-types/contracts/utils → main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol}/SuperfluidFrameworkDeployer.d.ts +3 -29
  48. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -0
  49. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js.map +1 -0
  50. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  51. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  52. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  53. package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.d.ts → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts} +3 -29
  54. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -0
  55. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js.map +1 -0
  56. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  57. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  58. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  59. package/dist/main/typechain-types/contracts/utils/index.d.ts +6 -4
  60. package/dist/main/typechain-types/contracts/utils/index.d.ts.map +1 -1
  61. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  62. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  63. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  64. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  65. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +49 -1
  66. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  67. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +64 -1
  68. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  69. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  70. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  71. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  72. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  73. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +43 -1
  74. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts.map +1 -1
  75. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +55 -1
  76. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js.map +1 -1
  77. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  78. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  79. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  80. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  81. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.d.ts +48 -0
  82. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  83. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.js +63 -0
  84. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.js.map +1 -1
  85. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.d.ts +30 -0
  86. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.d.ts.map +1 -1
  87. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.js +39 -0
  88. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.js.map +1 -1
  89. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +10 -0
  90. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts.map +1 -1
  91. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +13 -0
  92. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  93. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  94. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  95. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  96. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  97. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  98. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  99. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  100. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  101. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  102. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  103. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  104. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  105. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  106. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  107. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  108. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  109. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  110. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  111. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  112. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  113. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  114. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  115. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  116. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  117. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -15
  118. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts.map +1 -1
  119. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -19
  120. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js.map +1 -1
  121. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  122. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  123. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  124. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  125. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  126. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  127. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  128. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  129. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  130. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  131. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  132. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  133. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  134. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  135. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  136. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  137. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  138. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -1
  139. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  140. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -1
  141. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  142. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  143. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  144. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  145. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  146. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts.map +1 -1
  147. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  148. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js.map +1 -1
  149. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  150. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  151. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +2 -2
  152. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts.map +1 -1
  153. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +2 -2
  154. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js.map +1 -1
  155. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +2 -2
  156. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts.map +1 -1
  157. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +2 -2
  158. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js.map +1 -1
  159. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts +0 -2
  160. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts.map +1 -1
  161. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.js +1 -5
  162. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.js.map +1 -1
  163. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  164. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +1 -1
  165. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +1 -1
  166. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +1 -1
  167. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
  168. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
  169. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  170. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  171. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +28 -14
  172. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts.map +1 -1
  173. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +36 -18
  174. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js.map +1 -1
  175. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +21 -11
  176. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  177. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +26 -13
  178. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  179. package/dist/main/typechain-types/factories/contracts/mocks/index.d.ts +0 -2
  180. package/dist/main/typechain-types/factories/contracts/mocks/index.d.ts.map +1 -1
  181. package/dist/main/typechain-types/factories/contracts/mocks/index.js +1 -3
  182. package/dist/main/typechain-types/factories/contracts/mocks/index.js.map +1 -1
  183. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  184. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  185. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
  186. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
  187. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +28 -14
  188. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  189. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +36 -18
  190. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  191. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  192. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  193. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  194. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  195. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  196. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  197. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +98 -0
  198. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts.map +1 -0
  199. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +142 -0
  200. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js.map +1 -0
  201. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  202. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  203. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  204. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  205. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +2 -2
  206. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +1 -1
  207. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +2 -2
  208. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +1 -1
  209. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +94 -0
  210. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts.map +1 -0
  211. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +137 -0
  212. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js.map +1 -0
  213. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  214. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  215. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +314 -0
  216. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -0
  217. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +446 -0
  218. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -0
  219. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  220. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  221. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js +9 -0
  222. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  223. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +233 -0
  224. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -0
  225. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +339 -0
  226. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -0
  227. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  228. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  229. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js +9 -0
  230. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  231. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  232. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  233. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  234. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  235. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  236. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  237. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts +4 -4
  238. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  239. package/dist/main/typechain-types/factories/contracts/utils/index.js +7 -9
  240. package/dist/main/typechain-types/factories/contracts/utils/index.js.map +1 -1
  241. package/dist/main/typechain-types/index.d.ts +8 -20
  242. package/dist/main/typechain-types/index.d.ts.map +1 -1
  243. package/dist/main/typechain-types/index.js +8 -21
  244. package/dist/main/typechain-types/index.js.map +1 -1
  245. package/dist/module/BatchCall.d.ts +1 -0
  246. package/dist/module/BatchCall.d.ts.map +1 -1
  247. package/dist/module/BatchCall.js +15 -1
  248. package/dist/module/BatchCall.js.map +1 -1
  249. package/dist/module/Operation.d.ts +1 -1
  250. package/dist/module/Operation.d.ts.map +1 -1
  251. package/dist/module/Operation.js +13 -1
  252. package/dist/module/Operation.js.map +1 -1
  253. package/dist/module/typechain-types/contracts/agreements/gdav1/GeneralDistributionAgreementV1.d.ts +27 -1
  254. package/dist/module/typechain-types/contracts/agreements/gdav1/GeneralDistributionAgreementV1.d.ts.map +1 -1
  255. package/dist/module/typechain-types/contracts/agreements/gdav1/SuperfluidPool.d.ts +32 -8
  256. package/dist/module/typechain-types/contracts/agreements/gdav1/SuperfluidPool.d.ts.map +1 -1
  257. package/dist/module/typechain-types/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.d.ts +27 -1
  258. package/dist/module/typechain-types/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.d.ts.map +1 -1
  259. package/dist/module/typechain-types/contracts/interfaces/agreements/gdav1/ISuperfluidPool.d.ts +25 -1
  260. package/dist/module/typechain-types/contracts/interfaces/agreements/gdav1/ISuperfluidPool.d.ts.map +1 -1
  261. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +9 -1
  262. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  263. package/dist/module/typechain-types/contracts/mocks/StreamRedirector.t.sol/StreamRedirector.d.ts +1 -18
  264. package/dist/module/typechain-types/contracts/mocks/StreamRedirector.t.sol/StreamRedirector.d.ts.map +1 -1
  265. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock.d.ts +9 -9
  266. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock.d.ts.map +1 -1
  267. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock.d.ts +9 -9
  268. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock.d.ts.map +1 -1
  269. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts +0 -2
  270. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts.map +1 -1
  271. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts +17 -9
  272. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts.map +1 -1
  273. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts +17 -9
  274. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  275. package/dist/module/typechain-types/contracts/mocks/index.d.ts +0 -4
  276. package/dist/module/typechain-types/contracts/mocks/index.d.ts.map +1 -1
  277. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts +17 -9
  278. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  279. package/dist/module/typechain-types/contracts/utils/{DMZForwarder.d.ts → ERC2771Forwarder.d.ts} +5 -24
  280. package/dist/module/typechain-types/contracts/utils/ERC2771Forwarder.d.ts.map +1 -0
  281. package/dist/module/typechain-types/contracts/utils/ERC2771Forwarder.js +2 -0
  282. package/dist/module/typechain-types/contracts/utils/ERC2771Forwarder.js.map +1 -0
  283. package/dist/module/typechain-types/contracts/utils/MacroForwarder.d.ts +5 -5
  284. package/dist/module/typechain-types/contracts/utils/MacroForwarder.d.ts.map +1 -1
  285. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.d.ts +125 -0
  286. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.d.ts.map +1 -0
  287. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.js +2 -0
  288. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.js.map +1 -0
  289. package/dist/{main/typechain-types/contracts/utils → module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol}/SuperfluidFrameworkDeployer.d.ts +3 -29
  290. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -0
  291. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js.map +1 -0
  292. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  293. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  294. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  295. package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.d.ts → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts} +3 -29
  296. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -0
  297. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js.map +1 -0
  298. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  299. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  300. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  301. package/dist/module/typechain-types/contracts/utils/index.d.ts +6 -4
  302. package/dist/module/typechain-types/contracts/utils/index.d.ts.map +1 -1
  303. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  304. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  305. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  306. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  307. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +49 -1
  308. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  309. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +64 -1
  310. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  311. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  312. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  313. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  314. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  315. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +43 -1
  316. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts.map +1 -1
  317. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +55 -1
  318. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js.map +1 -1
  319. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  320. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  321. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  322. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  323. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.d.ts +48 -0
  324. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  325. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.js +63 -0
  326. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.js.map +1 -1
  327. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.d.ts +30 -0
  328. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.d.ts.map +1 -1
  329. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.js +39 -0
  330. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.js.map +1 -1
  331. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +10 -0
  332. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts.map +1 -1
  333. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +13 -0
  334. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  335. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  336. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  337. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  338. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  339. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  340. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  341. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  342. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  343. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  344. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  345. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  346. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  347. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  348. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  349. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  350. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  351. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  352. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  353. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  354. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  355. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  356. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  357. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  358. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  359. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -15
  360. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts.map +1 -1
  361. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -19
  362. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js.map +1 -1
  363. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  364. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  365. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  366. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  367. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  368. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  369. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  370. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  371. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  372. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  373. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  374. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  375. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  376. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  377. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  378. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  379. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  380. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -1
  381. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  382. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -1
  383. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  384. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  385. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  386. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  387. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  388. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts.map +1 -1
  389. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  390. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js.map +1 -1
  391. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  392. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  393. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +2 -2
  394. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts.map +1 -1
  395. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +2 -2
  396. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js.map +1 -1
  397. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +2 -2
  398. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts.map +1 -1
  399. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +2 -2
  400. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js.map +1 -1
  401. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts +0 -2
  402. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts.map +1 -1
  403. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.js +0 -2
  404. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.js.map +1 -1
  405. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  406. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +1 -1
  407. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +1 -1
  408. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +1 -1
  409. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
  410. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
  411. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  412. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  413. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +28 -14
  414. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts.map +1 -1
  415. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +36 -18
  416. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js.map +1 -1
  417. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +21 -11
  418. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  419. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +26 -13
  420. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  421. package/dist/module/typechain-types/factories/contracts/mocks/index.d.ts +0 -2
  422. package/dist/module/typechain-types/factories/contracts/mocks/index.d.ts.map +1 -1
  423. package/dist/module/typechain-types/factories/contracts/mocks/index.js +0 -2
  424. package/dist/module/typechain-types/factories/contracts/mocks/index.js.map +1 -1
  425. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  426. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  427. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
  428. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
  429. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +28 -14
  430. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  431. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +36 -18
  432. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  433. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  434. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  435. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  436. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  437. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  438. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  439. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +98 -0
  440. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts.map +1 -0
  441. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +138 -0
  442. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js.map +1 -0
  443. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  444. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  445. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  446. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  447. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +2 -2
  448. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +1 -1
  449. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +2 -2
  450. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +1 -1
  451. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +94 -0
  452. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts.map +1 -0
  453. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +133 -0
  454. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js.map +1 -0
  455. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  456. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  457. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +314 -0
  458. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -0
  459. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +442 -0
  460. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -0
  461. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  462. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  463. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js +5 -0
  464. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  465. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +233 -0
  466. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -0
  467. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +335 -0
  468. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -0
  469. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  470. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  471. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js +5 -0
  472. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  473. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  474. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  475. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  476. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  477. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  478. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  479. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts +4 -4
  480. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  481. package/dist/module/typechain-types/factories/contracts/utils/index.js +4 -4
  482. package/dist/module/typechain-types/factories/contracts/utils/index.js.map +1 -1
  483. package/dist/module/typechain-types/index.d.ts +8 -20
  484. package/dist/module/typechain-types/index.d.ts.map +1 -1
  485. package/dist/module/typechain-types/index.js +4 -10
  486. package/dist/module/typechain-types/index.js.map +1 -1
  487. package/package.json +4 -4
  488. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.d.ts +0 -196
  489. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.d.ts.map +0 -1
  490. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.js.map +0 -1
  491. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.d.ts +0 -139
  492. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.d.ts.map +0 -1
  493. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.js +0 -3
  494. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.js.map +0 -1
  495. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.d.ts +0 -3
  496. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.d.ts.map +0 -1
  497. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.js.map +0 -1
  498. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.d.ts +0 -469
  499. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.d.ts.map +0 -1
  500. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.js.map +0 -1
  501. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.d.ts +0 -541
  502. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.d.ts.map +0 -1
  503. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.js +0 -3
  504. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.js.map +0 -1
  505. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts +0 -3
  506. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts.map +0 -1
  507. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.js.map +0 -1
  508. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.d.ts +0 -469
  509. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.d.ts.map +0 -1
  510. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.js +0 -3
  511. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.js.map +0 -1
  512. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.d.ts +0 -541
  513. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.d.ts.map +0 -1
  514. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.js +0 -3
  515. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.js.map +0 -1
  516. package/dist/main/typechain-types/contracts/utils/DMZForwarder.d.ts.map +0 -1
  517. package/dist/main/typechain-types/contracts/utils/DMZForwarder.js +0 -3
  518. package/dist/main/typechain-types/contracts/utils/DMZForwarder.js.map +0 -1
  519. package/dist/main/typechain-types/contracts/utils/IDAv1Forwarder.d.ts +0 -345
  520. package/dist/main/typechain-types/contracts/utils/IDAv1Forwarder.d.ts.map +0 -1
  521. package/dist/main/typechain-types/contracts/utils/IDAv1Forwarder.js +0 -3
  522. package/dist/main/typechain-types/contracts/utils/IDAv1Forwarder.js.map +0 -1
  523. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts.map +0 -1
  524. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.js.map +0 -1
  525. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts.map +0 -1
  526. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.js.map +0 -1
  527. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts +0 -205
  528. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts.map +0 -1
  529. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js +0 -279
  530. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js.map +0 -1
  531. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts +0 -253
  532. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts.map +0 -1
  533. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js +0 -344
  534. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js.map +0 -1
  535. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.d.ts +0 -3
  536. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.d.ts.map +0 -1
  537. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.js +0 -11
  538. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.js.map +0 -1
  539. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts +0 -527
  540. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts.map +0 -1
  541. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js +0 -692
  542. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js.map +0 -1
  543. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts +0 -719
  544. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts.map +0 -1
  545. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js +0 -941
  546. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js.map +0 -1
  547. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts +0 -3
  548. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts.map +0 -1
  549. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.js +0 -11
  550. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.js.map +0 -1
  551. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts +0 -519
  552. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts.map +0 -1
  553. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js +0 -681
  554. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js.map +0 -1
  555. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +0 -719
  556. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts.map +0 -1
  557. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js +0 -941
  558. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js.map +0 -1
  559. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +0 -120
  560. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +0 -1
  561. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +0 -171
  562. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +0 -1
  563. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +0 -413
  564. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts.map +0 -1
  565. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +0 -555
  566. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js.map +0 -1
  567. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +0 -342
  568. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +0 -1
  569. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +0 -486
  570. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +0 -1
  571. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +0 -261
  572. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +0 -1
  573. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +0 -379
  574. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +0 -1
  575. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.d.ts +0 -196
  576. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.d.ts.map +0 -1
  577. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.js +0 -2
  578. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.js.map +0 -1
  579. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.d.ts +0 -139
  580. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.d.ts.map +0 -1
  581. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.js +0 -2
  582. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.js.map +0 -1
  583. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.d.ts +0 -3
  584. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.d.ts.map +0 -1
  585. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.js.map +0 -1
  586. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.d.ts +0 -469
  587. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.d.ts.map +0 -1
  588. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.js +0 -2
  589. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.js.map +0 -1
  590. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.d.ts +0 -541
  591. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.d.ts.map +0 -1
  592. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.js +0 -2
  593. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.js.map +0 -1
  594. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts +0 -3
  595. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts.map +0 -1
  596. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.js.map +0 -1
  597. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.d.ts +0 -469
  598. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.d.ts.map +0 -1
  599. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.js +0 -2
  600. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.js.map +0 -1
  601. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.d.ts +0 -541
  602. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.d.ts.map +0 -1
  603. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.js +0 -2
  604. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.js.map +0 -1
  605. package/dist/module/typechain-types/contracts/utils/DMZForwarder.d.ts.map +0 -1
  606. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js +0 -2
  607. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js.map +0 -1
  608. package/dist/module/typechain-types/contracts/utils/IDAv1Forwarder.d.ts +0 -345
  609. package/dist/module/typechain-types/contracts/utils/IDAv1Forwarder.d.ts.map +0 -1
  610. package/dist/module/typechain-types/contracts/utils/IDAv1Forwarder.js +0 -2
  611. package/dist/module/typechain-types/contracts/utils/IDAv1Forwarder.js.map +0 -1
  612. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts.map +0 -1
  613. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.js.map +0 -1
  614. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts.map +0 -1
  615. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.js.map +0 -1
  616. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts +0 -205
  617. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts.map +0 -1
  618. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js +0 -275
  619. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js.map +0 -1
  620. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts +0 -253
  621. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts.map +0 -1
  622. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js +0 -340
  623. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js.map +0 -1
  624. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.d.ts +0 -3
  625. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.d.ts.map +0 -1
  626. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.js +0 -6
  627. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.js.map +0 -1
  628. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts +0 -527
  629. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts.map +0 -1
  630. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js +0 -688
  631. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js.map +0 -1
  632. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts +0 -719
  633. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts.map +0 -1
  634. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js +0 -937
  635. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js.map +0 -1
  636. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts +0 -3
  637. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts.map +0 -1
  638. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.js +0 -6
  639. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.js.map +0 -1
  640. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts +0 -519
  641. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts.map +0 -1
  642. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js +0 -677
  643. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js.map +0 -1
  644. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +0 -719
  645. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts.map +0 -1
  646. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js +0 -937
  647. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js.map +0 -1
  648. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +0 -120
  649. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +0 -1
  650. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +0 -167
  651. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +0 -1
  652. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +0 -413
  653. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts.map +0 -1
  654. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +0 -551
  655. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js.map +0 -1
  656. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +0 -342
  657. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +0 -1
  658. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +0 -482
  659. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +0 -1
  660. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +0 -261
  661. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +0 -1
  662. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +0 -375
  663. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +0 -1
  664. /package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeployer.js → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js} +0 -0
  665. /package/dist/main/typechain-types/contracts/{mocks/CFALibraryMock.t.sol → utils/SuperfluidFrameworkDeployer.t.sol}/index.js +0 -0
  666. /package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.js → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js} +0 -0
  667. /package/dist/main/typechain-types/contracts/{mocks/IDAv1LibraryMock.t.sol → utils/SuperfluidFrameworkDeploymentSteps.t.sol}/index.js +0 -0
  668. /package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeployer.js → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js} +0 -0
  669. /package/dist/module/typechain-types/contracts/{mocks/CFALibraryMock.t.sol → utils/SuperfluidFrameworkDeployer.t.sol}/index.js +0 -0
  670. /package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.js → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js} +0 -0
  671. /package/dist/module/typechain-types/contracts/{mocks/IDAv1LibraryMock.t.sol → utils/SuperfluidFrameworkDeploymentSteps.t.sol}/index.js +0 -0
@@ -1243,7 +1243,7 @@ const _abi = [
1243
1243
  type: "function",
1244
1244
  },
1245
1245
  ];
1246
- const _bytecode = "0x60a0604052348015600f57600080fd5b506040516152f73803806152f7833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b60805161523a6100bd600039600081816105cd015281816108560152818161093401528181610a8801528181610ecc01528181610f6101528181611016015281816136b40152613ab9015261523a6000f3fe608060405234801561001057600080fd5b50600436106102105760003560e01c80635f51fb23116101255780639cb28b72116100ad578063bf3fbc281161007c578063bf3fbc2814610521578063da6b5f3014610543578063e6a1e88814610556578063e8e7e2d114610569578063f31f88f01461057c57600080fd5b80639cb28b7214610337578063aabd2668146104e8578063ac5f5d00146104fb578063b4b333c61461050e57600080fd5b8063811b3d40116100f4578063811b3d40146104795780638d997f6e1461048c57806394229ecb1461049f5780639903ad38146104b25780639b2e48bc146104ba57600080fd5b80635f51fb231461041b57806362fc305e1461042e57806372976490146104415780637730599e1461045357600080fd5b8063354b9590116101a85780634fe9c291116101775780634fe9c291146103a357806350209a62146103cd57806350d75d25146103e057806352d1902d1461040057806354b770e31461040857600080fd5b8063354b95901461034557806346951954146103585780634b839e0b1461036d5780634c8b181f1461039057600080fd5b806309d256ef116101e457806309d256ef146102ad5780630f1ac495146102dc5780632567f5781461031257806326b0f5361461033757600080fd5b8062422bbe1461021557806304aafa491461024d5780630602f7db14610267578063062e56ec1461028d575b600080fd5b61022861022336600461459e565b61058f565b6040805193845260ff9092166020840152600b0b908201526060015b60405180910390f35b61025964010000000081565b604051908152602001610244565b61027a6102753660046145e9565b6105c5565b604051600b9190910b8152602001610244565b6102a061029b366004614656565b610607565b604051610244919061470a565b6102c06102bb3660046145e9565b610621565b6040805160ff9093168352600b9190910b602083015201610244565b6102ef6102ea36600461471d565b610645565b60408051948552600b9390930b6020850152918301526060820152608001610244565b610325610320366004614765565b61067b565b60405160ff9091168152602001610244565b61025960016001605f1b0381565b6102a06103533660046147a5565b610686565b61036b610366366004614830565b61084b565b005b61038061037b36600461484d565b6108a0565b6040519015158152602001610244565b6102a061039e36600461488e565b610998565b6103b66103b136600461471d565b610a83565b604080519215158352602083019190915201610244565b6102a06103db366004614909565b610b1e565b6103e8610bf1565b6040516001600160a01b039091168152602001610244565b610259610c20565b6102a0610416366004614656565b610c84565b6102a0610429366004614909565b610c9c565b6102a061043c366004614909565b610cb7565b61032561044f366004614765565b1790565b7fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3610259565b6102a061048736600461494a565b610d6a565b61025961049a36600461498e565b610eb3565b6102a06104ad3660046147a5565b6110d9565b61036b61125c565b6104cd6104c836600461484d565b61136a565b60408051938452602084019290925290820152606001610244565b6102ef6104f63660046145e9565b6113c4565b6102a0610509366004614909565b6113d6565b6102a061051c36600461488e565b6113e7565b61052b6203d09081565b6040516001600160401b039091168152602001610244565b6102a061055136600461494a565b61147b565b6102ef61056436600461459e565b6115ab565b61027a61057736600461471d565b6115e6565b6102a061058a36600461494a565b611600565b600080600061059e85856116e9565b925060006105ac8785611754565b8051602090910151959990985094965093945050505050565b6000806105f27f000000000000000000000000000000000000000000000000000000000000000085611819565b5090506105ff818461192e565b949350505050565b606061061885856000808787610d6a565b95945050505050565b60008060006106308585611754565b80516020909101519097909650945050505050565b6000806000806000610657878761196e565b805160208201516040830151606090930151919b909a509198509650945050505050565b801982165b92915050565b606060006106ca8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050866001600160a01b031681606001516001600160a01b0316036107025760405163edfa0d3b60e01b815260040160405180910390fd5b6000806107188a6107138b8b611beb565b611c13565b9150915060008060006107308d8d886060015161058f565b925092509250610741826001611c5a565b61075e5760405163ac434b5f60e01b815260040160405180910390fd5b6000600b82900b60016001605f1b03148061078357508a600b0b8560200151600b0b12155b6107a5576020850151610796908c6149d9565b6107a090836149d9565b6107a7565b815b9050600081600b0b12156107ce5760405163a0645c1f60e01b815260040160405180910390fd5b6107da8e858584611cb5565b5050505061080860408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808c1682528a8116602083015289166040820152600b88900b606082015261083c8183858a8a89611d3e565b9b9a5050505050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461089457604051630b00ec8f60e11b815260040160405180910390fd5b61089d81611ea0565b50565b604051633acd4df360e21b81526001600160a01b03838116600483015260248201839052600091829186169063eb3537cc90604401606060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190614a0b565b505090506000811261092c576001915050610991565b6000806109597f000000000000000000000000000000000000000000000000000000000000000088611819565b915091506000610969888861196e565b915050600061097b82604001516120a8565b905061098985828686612116565b955050505050505b9392505050565b606060006109dc8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b905060006109ef8888846060015161058f565b509150506000610a00826002611c5a565b905080610a205760405163e30f1bff60e01b815260040160405180910390fd5b6040805160808101825260008082526020820181905291810182905260608101919091525b6001600160a01b03808b16825289811660208301528816604082015260006060820152610a758183898988612164565b9a9950505050505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b089190614a39565b9050610b158484836108a0565b91509250929050565b60606000610b628785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050610b8e60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808916825260608084015182166020840181905291891660408401819052600b89900b91840191909152600091610bcc91611beb565b9050600080610bdf846000015184611c13565b9150915061083c8482848b8b8a611d3e565b6000610c1b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1b9190614a39565b60606106188585600760016001605f1b038787610d6a565b6060610cad8686600087878761147b565b9695505050505050565b60606000610cfb8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050610d2760408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b038089168252606080840151821660208401529088166040830152600b87900b90820152610d5e8186868561284a565b98975050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939450610db592508a9150899050888888886129c2565b6040805180820190915260ff88168152600b87900b6020820152606082015191925090600090610de5908a6116e9565b9050896001600160a01b031663a1b2bf8b82610e0085612a89565b6040518363ffffffff1660e01b8152600401610e1d929190614a8e565b600060405180830381600087803b158015610e3757600080fd5b505af1158015610e4b573d6000803e3d6000fd5b50505060608401516040805160ff8c168152600b8b900b60208201526001600160a01b03808e169450928316928e16917fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8910160405180910390a45050509695505050505050565b600081600b0b600003610ec857506000610680565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190614aa7565b90506000816001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000877feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc46040518463ffffffff1660e01b8152600401610fc093929190614ac4565b602060405180830381865afa158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110019190614a39565b90506000826001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000887fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b815260040161107593929190614ac4565b602060405180830381865afa158015611092573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b69190614a39565b9050602081901c63ffffffff166110ce838288612aff565b979650505050505050565b6060600061111d8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050866001600160a01b031681606001516001600160a01b031603611155576040516325cc989b60e11b815260040160405180910390fd5b60008060006111698b8b866060015161058f565b92509250925061117a826000611c5a565b611197576040516328faadab60e21b815260040160405180910390fd5b6000600b82900b60016001605f1b03146111ba576111b589836149d9565b6111bc565b815b9050600081600b0b12156111e35760405163a0645c1f60e01b815260040160405180910390fd5b6111ef8c858584611cb5565b5050505061121d60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808a168252888116602083015287166040820152600b86900b606082015261124f8186868561284a565b9998505050505050505050565b600054610100900460ff161580801561127c5750600054600160ff909116105b806112965750303b158015611296575060005460ff166001145b6112fe5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611321576000805461ff0019166101001790555b801561089d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600080600061137c888861196e565b9150915081156113b9578060200151600b0b81600001518761139e9190614ae8565b6113a89190614b0f565b945080604001519350806060015192505b505093509350939050565b60008060008060006106578787611c13565b6060610cad86866000878787611600565b6060600061142b8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050600061143e8888846060015161058f565b50915050600061144f826002611c5a565b9050610a4560408051608081018252600080825260208201819052918101829052606081019190915290565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394506114c692508a9150899050888888886129c2565b905060008060006114dc8b85606001518c61058f565b92509250925060006114ee838b61067b565b905060006114fc8a846149d9565b9050600081600b0b1215611523576040516386e0377d60e01b815260040160405180910390fd5b61152f8d868484611cb5565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8858560405161159392919060ff929092168252600b0b602082015260400190565b60405180910390a45050505050509695505050505050565b60008060008060006115c1886107138989611beb565b805160208201516040830151606090930151919c909b50919950975095505050505050565b6000806115f3848461196e565b6020015195945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061164b92508a9150899050888888886129c2565b905060008060006116618b85606001518c61058f565b9194509250905060006116748983614b3f565b9050828a176116858d868385611cb5565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8848660405161159392919060ff929092168252600b0b602082015260400190565b600082826040516020016117369291906060808252600c908201526b333637bba7b832b930ba37b960a11b60808201526001600160a01b0392831660208201529116604082015260a00190565b60405160208183030381529060405280519060200120905092915050565b6040805180820182526000808252602082018190529151636c2d9f2f60e01b8152306004820152602481018490526001604482015282906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa1580156117bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117e49190810190614be0565b905061180c816000815181106117fc576117fc614c84565b602002602001015160001c612b72565b92509250505b9250929050565b6000806000846001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118809190614aa7565b90506000816001600160a01b03166380f70cba87877fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b81526004016118d493929190614ac4565b602060405180830381865afa1580156118f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119159190614a39565b63ffffffff602082901c81169891169650945050505050565b600060016001605f1b0382111561195857604051631d4b0ae760e21b815260040160405180910390fd5b63ffffffff198216915060006105ff8484614cb0565b60006119786144d7565b604051634b61cc3360e01b81523060048201526001600160a01b038481166024830152600060448301819052600160648401529190861690634b61cc33906084015b600060405180830381865afa1580156119d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119ff9190810190614be0565b905061180c81600081518110611a1757611a17614c84565b602002602001015160001c612bb2565b611a2f614502565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9b9190614aa7565b6001600160a01b031614611ae55760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016112f5565b604051632fd0a1cd60e21b8152339063bf42873490611b0890859060040161470a565b602060405180830381865afa158015611b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b499190614cdf565b611b835760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016112f5565b604051631fb6491d60e11b81523390633f6c923a90611ba690859060040161470a565b600060405180830381865afa158015611bc3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109919190810190614d80565b604080516001600160a01b038085166020830152831691810191909152600090606001611736565b6000611c1d6144d7565b604051636c2d9f2f60e01b815230600482015260248101849052600160448201526000906001600160a01b03861690636c2d9f2f906064016119ba565b600080826002811115611c6f57611c6f614e83565b03611c805750600182811614610680565b6001826002811115611c9457611c94614e83565b03611ca75750600182811c811614610680565b505060021c60019081161490565b6040805180820190915260ff83168152600b82900b60208201526001600160a01b03851663a1b2bf8b85611ce884612a89565b6040518363ffffffff1660e01b8152600401611d05929190614a8e565b600060405180830381600087803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b505050505050505050565b60606000611d4c8884612c12565b91505085611d6d5760405163168cafc960e21b815260040160405180910390fd5b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015611db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddb9190614cdf565b15611e3757611e3088604001518960000151838a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b925060019150612d139050565b9150611e82565b611e7f8860000151828988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506134b9915050565b91505b611e95886000015189602001518561358c565b509695505050505050565b6000611eca7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603611f205760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016112f5565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f829190614a39565b611f8a610c20565b14611fe35760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016112f5565b6001600160a01b038116300361203b5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016112f5565b612063817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61208c610c20565b604080519182526001600160a01b03841660208301520161135f565b60006001600160ff1b038211156121125760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016112f5565b5090565b600083600003612128575060006105ff565b60006121348587614e99565b905060006121428587614ec1565b905061214e8486614eef565b6121588284614ec1565b13979650505050505050565b6040805160c0810182526000808252602082018190529181018290526060818101839052608082019290925260a0810182905260208701516001600160a01b03166121c257604051631ce9b06760e01b815260040160405180910390fd5b60408701516001600160a01b03166121ed57604051633c70159560e11b815260040160405180910390fd5b6121ff87602001518860400151611beb565b8082526020808901516001600160a01b03908116918401919091526040808a01518216908401526060808601519091169083015260006080830181905260a0808601519084015288519091829161225591611c13565b91509150816122775760405163168cafc960e21b815260040160405180910390fd5b885160208a01516040808801519051633acd4df360e21b81526000936001600160a01b03169263eb3537cc926122c3926004016001600160a01b03929092168252602082015260400190565b606060405180830381865afa1580156122e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123049190614a0b565b5050905089602001516001600160a01b031686606001516001600160a01b03161415801561234c575089604001516001600160a01b031686606001516001600160a01b031614155b8015612356575088155b156124675760208a0151604051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa1580156123a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c99190614cdf565b158015612441575060408a8101519051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa15801561241b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243f9190614cdf565b155b1561246757600081126124675760405163ce11b5d160e01b815260040160405180910390fd5b6000811215612485576124858a600001518286858a60600151613666565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060208b015160608801519196506001600160a01b0390811691160361257b5760408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125489190614cdf565b1561256c576125658a604001518b600001518685898b6002612d13565b945061283d565b8951612565908584888a6134b9565b89604001516001600160a01b031686606001516001600160a01b0316036126af5760208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190614cdf565b15612627576125658a602001518b600001518685898b6002612d13565b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612671573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126959190614cdf565b1561256c5761256560008b600001518685898b6002612d13565b60208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156126f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271d9190614cdf565b80156127295750600081125b156127a35760208a0151604051635b92108f60e11b8152339163b724211e91612759918991600b90600401614f02565b6000604051808303816000875af1158015612778573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127a09190810190614f30565b94505b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156127ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128119190614cdf565b1561282e576125658a604001518b600001518685898b6002612d13565b8951610a75908584888a6134b9565b5050505095945050505050565b60606000806128598785612c12565b9150915060008061286e896000015185611c13565b9150915081156128915760405163801b686360e01b815260040160405180910390fd5b6040898101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156128db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ff9190614cdf565b156129585761295189604001518a6000015185848c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508f93509150612d139050565b94506129a3565b6129a0896000015184838b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92506134b9915050565b94505b6129b689600001518a602001518861358c565b50505050949350505050565b6129ca614502565b60f88516156129ec57604051631e4e759b60e21b815260040160405180910390fd5b612a2c8784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050856001600160a01b031681606001516001600160a01b031603612a645760405163b0ed394d60e01b815260040160405180910390fd5b600084600b0b1215610cad576040516386e0377d60e01b815260040160405180910390fd5b606060008260200151600b0b1215612aa357612aa3614f64565b60408051600180825281830190925290602080830190803683370190505090508160200151600b0b6080836000015160ff16901b1760001b81600081518110612aee57612aee614c84565b602002602001018181525050919050565b60008082600b0b1215612b25576040516348d6568b60e11b815260040160405180910390fd5b60016001605f1b03612b3b84600b85900b614f7a565b1115612b5a57604051630c9c55c160e01b815260040160405180910390fd5b6000612b668385613893565b905061061885826138d7565b6040805180820190915260008082526020820152811580159190612bad5760016001605f1b038316600b0b6020820152608083901c60ff1681525b915091565b6000612bbc6144d7565b821580159250612bad5760e083901c8152608083901c6bffffffffffffffffffffffff16600b0b6020808301919091526bffffffffffffffff0000000084821c811660408401529084901b166060820152915091565b6040805160c08101825260008082526020820181905291810182905260608082018390526080820183905260a082015260408401516001600160a01b0316612c6d57604051633c70159560e11b815260040160405180910390fd5b612c7f84602001518560400151611beb565b8082526020808601516001600160a01b0390811691840182905260408088015182169085018190526060808801519092168286015290870151600b0b608085015260a0808701519085015291935003612ceb5760405163a47338ef60e01b815260040160405180910390fd5b60008160800151600b0b13611812576040516348d6568b60e11b815260040160405180910390fd5b82612d1c61455d565b6001600160a01b03891615613020576000612db1898b8a600001518b602001518c60400151604051602001612d679291906001600160a01b0392831681529116602082015260400190565b60408051601f1981840301815260e08301825260006080840181905260a0840181905260c08401526001600160a01b03958616835293909416602082015292830152606082015290565b90506000846002811115612dc757612dc7614e83565b03612ddc5764010000000060c0820152612e11565b6001846002811115612df057612df0614e83565b03612e055764040000000060c0820152612e11565b64100000000060c08201525b612e1b81876138ed565b82600001819052506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e879190614aa7565b9050612e9f86604001518761014001518c8c8c613aa4565b5060808401525060405163407b865d60e11b81526000906001600160a01b038316906380f70cba90612ef99033908f907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614ac4565b602060405180830381865afa158015612f16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f3a9190614a39565b905060008360800151600014612f5e57612f59640100000000836138d7565b612f61565b60005b9050808460800151612f739190614f91565b608085015260608a0151612f86906120a8565b60a08501526000876002811115612f9f57612f9f614e83565b03612fb45764020000000060c0850152612fe9565b6001876002811115612fc857612fc8614e83565b03612fdd5764080000000060c0850152612fe9565b64200000000060c08501525b612ff884866000015188613ea9565b60408701919091528b51909650613010908d90611c13565b60208701525061303e9350505050565b61303684604001518561014001518a8a8a613aa4565b602084015250505b600061304d87606001516120a8565b826040015161010001516130619190614ae8565b9050613087816130788460200151604001516120a8565b6130829190614e99565b6140f5565b826020015160400181815250506130a9816130788460200151606001516120a8565b60208301805160600191909152885190516001600160a01b038b169163a1b2bf8b916130d490614147565b6040518363ffffffff1660e01b81526004016130f1929190614a8e565b600060405180830381600087803b15801561310b57600080fd5b505af115801561311f573d6000803e3d6000fd5b5050505061313b89896020015160008460008a604001516141b8565b50613153898960400151600080858a604001516141b8565b506101408501516001600160a01b031615806131855750886001600160a01b03168561014001516001600160a01b0316145b156131f9576040516359a2914160e01b815233906359a29141906131af9086908590600401614fa4565b6000604051808303816000875af11580156131ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131f69190810190614f30565b92505b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015613243573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132679190614cdf565b156134ac57604088810151868201519151633acd4df360e21b81526001600160a01b0391821660048201526024810192909252600091908b169063eb3537cc90604401606060405180830381865afa1580156132c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132eb9190614a0b565b509091505060008112156134aa57600285600281111561330d5761330d614e83565b0361348e576040808a01519051635b92108f60e11b8152339163b724211e9161333d918891600c90600401614f02565b6000604051808303816000875af115801561335c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133849190810190614f30565b935060006133a261339483614fc6565b61339d85614fc6565b614329565b90508a6001600160a01b031663cf97256d8b60200151836133c290614fc6565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561340857600080fd5b505af115801561341c573d6000803e3d6000fd5b5050505060408a810151905163cf97256d60e01b81526001600160a01b03918216600482015260248101839052908c169063cf97256d90604401600060405180830381600087803b15801561347057600080fd5b505af1158015613484573d6000803e3d6000fd5b50505050506134aa565b60405163a85ba64f60e01b8152600c60048201526024016112f5565b505b5050979650505050505050565b606083810151156134cc576134cc614f64565b60006134d66144d7565b6134ec84604001518561014001518a8a8a613aa4565b6101408701519294509250506001600160a01b03808a1691160361357d576040516359a2914160e01b815233906359a291419061352f9088908690600401614fa4565b6000604051808303816000875af115801561354e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135769190810190614f30565b9250613581565b8492505b505095945050505050565b602081015160ff1660031415806135ba5750826001600160a01b03168161014001516001600160a01b031614155b15613661576040808201519051633acd4df360e21b81526001600160a01b038481166004830152602482019290925260009185169063eb3537cc90604401606060405180830381865afa158015613615573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136399190614a0b565b50509050600081121561365f5760405163ea76c9b360e01b815260040160405180910390fd5b505b505050565b600061367686856020015161196e565b915050600061368884604001516120a8565b9050600061369983604001516120a8565b905060606000806136aa848b614e99565b90506000806136d97f00000000000000000000000000000000000000000000000000000000000000008e611819565b915091506136e98c878484612116565b93505050600081126137d4576000846137028388614b0f565b61370c9190614ec1565b905060018361371c57600161371f565b60005b6040805160ff9384166020820152929091169082015260600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b878f6020015161376e886140f5565b61377a89600019614b0f565b6040518863ffffffff1660e01b815260040161379c9796959493929190614fe2565b600060405180830381600087803b1580156137b657600080fd5b505af11580156137ca573d6000803e3d6000fd5b5050505050613886565b6040805160016020820152600291810191909152859060600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b60008f60200151613824886140f5565b6138308a600019614b0f565b6040518863ffffffff1660e01b81526004016138529796959493929190614fe2565b600060405180830381600087803b15801561386c57600080fd5b505af1158015613880573d6000803e3d6000fd5b50505050505b5050505050505050505050565b600082600b0b6000036138a857506000610680565b60016001605f1b038211156138bf576138bf614f64565b6138c9828461502f565b600b0b90506109918161433e565b60008183116138e65781610991565b5090919050565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613941573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613965919061504f565b91945092509050828015613977575081155b15613a9b5760006139888688614372565b90508660c001518216600003613a8d5760006139a78860c001516143f0565b88516040808b015160608c0151825160008152602081019093526139d39392309291906044810161508e565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292613a4292918691641000000000919091149088906004016150d3565b6000604051808303816000875af1158015613a61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613a899190810190614f30565b9550505b613a98866000614487565b50505b50505092915050565b600080613aaf6144d7565b6000806000613ade7f00000000000000000000000000000000000000000000000000000000000000008a611819565b5090506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b459190614aa7565b60405163407b865d60e11b81529091506001600160a01b038216906380f70cba90613b989033908e907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614ac4565b602060405180830381865afa158015613bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bd99190614a39565b9250613be9896080015183613893565b95505050613bfa86606001516120a8565b613c0787604001516120a8565b613c10866120a8565b613c1a9190614ae8565b613c249190614e99565b9450613c378561307888604001516120a8565b91508082108015613c4f575060008760800151600b0b135b15613c9157613c6186606001516120a8565b613c6e87604001516120a8565b613c77836120a8565b613c819190614ae8565b613c8b9190614e99565b94508091505b6001600160a01b03891615801590613cbb5750876001600160a01b0316896001600160a01b031614155b15613cc557600093505b604051806080016040528060008960800151600b0b13613ce6576000613ce8565b8b5b81526020018860800151600b0b815260200183815260200187606001518152509250876001600160a01b031663a1b2bf8b8860000151613d2786614147565b6040518363ffffffff1660e01b8152600401613d44929190614a8e565b600060405180830381600087803b158015613d5e57600080fd5b505af1158015613d72573d6000803e3d6000fd5b505060408051808201909152600080825260208201529250613d92915050565b613db888886020015189608001518960200151613daf91906149d9565b8860008f6141b8565b600b0b8152604087015160208701516080890151613de7928b929091613dde91906149d9565b6000808f6141b8565b600b0b60208083018290526040808a0151918a015160808b0151855160a08d015193516001600160a01b0395861696938616958f16947f57269d2ebcccecdcc0d9d2c0a0b80ead95f344e28ec20f50f709811f209d4e0e94613e4d949392909190615111565b60405180910390a486606001516001600160a01b03167f71e0c98e270fc3084227b473f176924d5303ece8c639e679998a2d7dc8e70f7483604051613e9491815260200190565b60405180910390a25050955095509592505050565b613eb1614502565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f29919061504f565b88965091945092509050828015613f3e575081155b156140ea57613f4d8489614372565b93508760c0015181166000036140d8576000613f6c8960c001516143f0565b89516040808c015160608d015182516000815260208101909352613f9a9392309291908e906044810161513f565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a84926140099291869164200000000091909114908b906004016150d3565b6000604051808303816000875af1158015614028573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140509190810190614f30565b604051631fb6491d60e11b81529095503390633f6c923a9061407690889060040161470a565b600060405180830381865afa158015614093573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140bb9190810190614d80565b95506140d089608001518761010001516144af565b610100870152505b6140e786866101000151614487565b93505b505050935093915050565b6000808212156121125760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016112f5565b6040805160018082528183019092526060916020808301908036833701905050905060208260600151901c604060208460400151901c901b608084602001516bffffffffffffffffffffffff16901b60e08560000151901b17171760001b81600081518110612aee57612aee614c84565b6000806141c5888861196e565b91505060008160200151600b0b6141ea8360000151866141e59190614eef565b6120a8565b6141f49190614b0f565b9050801561425f5760405163cf97256d60e01b81526001600160a01b038981166004830152602482018390528a169063cf97256d90604401600060405180830381600087803b15801561424657600080fd5b505af115801561425a573d6000803e3d6000fd5b505050505b86826020015161426f9190614b3f565b600b0b6020830152838252604082015161428e908790613078906120a8565b604083015260608201516142a7908690613078906120a8565b60608301526001600160a01b03891663090c415e8960006142c786614147565b6040518463ffffffff1660e01b81526004016142e593929190615198565b600060405180830381600087803b1580156142ff57600080fd5b505af1158015614313573d6000803e3d6000fd5b5050506020909201519998505050505050505050565b60008183136143385782610991565b50919050565b60008063ffffffff8316614353576000614356565b60015b60ff16905060206143698285831c614f91565b901b9392505050565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb0946143a9948a946004016151bf565b6000604051808303816000875af11580156143c8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109919190810190614f30565b6000640100000000820361440c57506330d9c91560e01b919050565b64040000000082036144265750630221347d60e61b919050565b64100000000082036144405750635f9e7d7760e01b919050565b640200000000820361445a575063d86ed3e560e01b919050565b6408000000008203614474575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e906143a99086908690600401614fa4565b600061099160006144c86144c2866120a8565b85614329565b60008183136138e65781610991565b6040518060800160405280600081526020016000600b0b815260200160008152602001600081525090565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6040518060600160405280606081526020016145776144d7565b8152602001614584614502565b905290565b6001600160a01b038116811461089d57600080fd5b6000806000606084860312156145b357600080fd5b83356145be81614589565b925060208401356145ce81614589565b915060408401356145de81614589565b809150509250925092565b600080604083850312156145fc57600080fd5b823561460781614589565b946020939093013593505050565b60008083601f84011261462757600080fd5b5081356001600160401b0381111561463e57600080fd5b60208301915083602082850101111561181257600080fd5b6000806000806060858703121561466c57600080fd5b843561467781614589565b9350602085013561468781614589565b925060408501356001600160401b038111156146a257600080fd5b6146ae87828801614615565b95989497509550505050565b60005b838110156146d55781810151838201526020016146bd565b50506000910152565b600081518084526146f68160208601602086016146ba565b601f01601f19169290920160200192915050565b60208152600061099160208301846146de565b6000806040838503121561473057600080fd5b823561473b81614589565b9150602083013561474b81614589565b809150509250929050565b60ff8116811461089d57600080fd5b6000806040838503121561477857600080fd5b823561478381614756565b9150602083013561474b81614756565b8035600b81900b811461448257600080fd5b60008060008060008060a087890312156147be57600080fd5b86356147c981614589565b955060208701356147d981614589565b945060408701356147e981614589565b93506147f760608801614793565b925060808701356001600160401b0381111561481257600080fd5b61481e89828a01614615565b979a9699509497509295939492505050565b60006020828403121561484257600080fd5b813561099181614589565b60008060006060848603121561486257600080fd5b833561486d81614589565b9250602084013561487d81614589565b929592945050506040919091013590565b6000806000806000608086880312156148a657600080fd5b85356148b181614589565b945060208601356148c181614589565b935060408601356148d181614589565b925060608601356001600160401b038111156148ec57600080fd5b6148f888828901614615565b969995985093965092949392505050565b60008060008060006080868803121561492157600080fd5b853561492c81614589565b9450602086013561493c81614589565b93506148d160408701614793565b60008060008060008060a0878903121561496357600080fd5b863561496e81614589565b9550602087013561497e81614589565b945060408701356147e981614756565b600080604083850312156149a157600080fd5b82356149ac81614589565b91506149ba60208401614793565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600b82810b9082900b036b7fffffffffffffffffffffff19811260016001605f1b0382131715610680576106806149c3565b600080600060608486031215614a2057600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215614a4b57600080fd5b5051919050565b600081518084526020840193506020830160005b82811015614a84578151865260209586019590910190600101614a66565b5093949350505050565b8281526040602082015260006105ff6040830184614a52565b600060208284031215614ab957600080fd5b815161099181614589565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8181036000831280158383131683831282161715614b0857614b086149c3565b5092915050565b80820260008212600160ff1b84141615614b2b57614b2b6149c3565b8181058314821517610680576106806149c3565b600b81810b9083900b0160016001605f1b0381136b7fffffffffffffffffffffff1982121715610680576106806149c3565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614baa57614baa614b71565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614bd857614bd8614b71565b604052919050565b600060208284031215614bf257600080fd5b81516001600160401b03811115614c0857600080fd5b8201601f81018413614c1957600080fd5b80516001600160401b03811115614c3257614c32614b71565b8060051b614c4260208201614bb0565b91825260208184018101929081019087841115614c5e57600080fd5b6020850194505b838510156110ce57845180835260209586019590935090910190614c65565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082614cbf57614cbf614c9a565b500490565b805161448281614589565b8051801515811461448257600080fd5b600060208284031215614cf157600080fd5b61099182614ccf565b805161448281614756565b80516001600160e01b03198116811461448257600080fd5b600082601f830112614d2e57600080fd5b81516001600160401b03811115614d4757614d47614b71565b614d5a601f8201601f1916602001614bb0565b818152846020838601011115614d6f57600080fd5b6105ff8260208301602087016146ba565b600060208284031215614d9257600080fd5b81516001600160401b03811115614da857600080fd5b82016101608185031215614dbb57600080fd5b614dc3614b87565b614dcc82614cfa565b8152614dda60208301614cfa565b602082015260408281015190820152614df560608301614cc4565b6060820152614e0660808301614d05565b608082015260a08201516001600160401b03811115614e2457600080fd5b614e3086828501614d1d565b60a08301525060c0828101519082015260e080830151908201526101008083015190820152614e626101208301614cc4565b610120820152614e756101408301614cc4565b610140820152949350505050565b634e487b7160e01b600052602160045260246000fd5b8082018281126000831280158216821582161715614eb957614eb96149c3565b505092915050565b600082614ed057614ed0614c9a565b600160ff1b821460001984141615614eea57614eea6149c3565b500590565b81810381811115610680576106806149c3565b606081526000614f1560608301866146de565b6001600160a01b039490941660208301525060400152919050565b600060208284031215614f4257600080fd5b81516001600160401b03811115614f5857600080fd5b6105ff84828501614d1d565b634e487b7160e01b600052600160045260246000fd5b8082028115828204841417610680576106806149c3565b80820180821115610680576106806149c3565b604081526000614fb760408301856146de565b90508260208301529392505050565b6000600160ff1b8201614fdb57614fdb6149c3565b5060000390565b87815260e060208201526000614ffb60e08301896146de565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b600082600b0b82600b0b0280600b0b9150808214614b0857614b086149c3565b60008060006060848603121561506457600080fd5b61506d84614ccf565b925061507b60208501614ccf565b6040949094015192959394509192915050565b6001600160a01b038681168252851660208201526040810184905260a0606082018190526000906150c1908301856146de565b8281036080840152610d5e81856146de565b6001600160a01b03851681526080602082018190526000906150f7908301866146de565b841515604084015282810360608401526110ce81856146de565b84600b0b815283600b0b602082015282600b0b6040820152608060608201526000610cad60808301846146de565b6001600160a01b038781168252861660208201526040810185905260c060608201819052600090615172908301866146de565b828103608084015261518481866146de565b905082810360a084015261124f81856146de565b60018060a01b03841681528260208201526060604082015260006106186060830184614a52565b60a0815260006151d260a08301886146de565b6001600160a01b039687166020840152604083019590955250606081019290925290921660809092019190915291905056fea2646970667358221220d98ed8cd4f0f03a042d413ea3f56e0767809a3abe3f43ac9a3774d8796e65ca064736f6c634300081a0033";
1246
+ const _bytecode = "0x60a0604052348015600f57600080fd5b506040516152f73803806152f7833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b60805161523a6100bd600039600081816105cd015281816108560152818161093401528181610a8801528181610ecc01528181610f6101528181611016015281816136b40152613ab9015261523a6000f3fe608060405234801561001057600080fd5b50600436106102105760003560e01c80635f51fb23116101255780639cb28b72116100ad578063bf3fbc281161007c578063bf3fbc2814610521578063da6b5f3014610543578063e6a1e88814610556578063e8e7e2d114610569578063f31f88f01461057c57600080fd5b80639cb28b7214610337578063aabd2668146104e8578063ac5f5d00146104fb578063b4b333c61461050e57600080fd5b8063811b3d40116100f4578063811b3d40146104795780638d997f6e1461048c57806394229ecb1461049f5780639903ad38146104b25780639b2e48bc146104ba57600080fd5b80635f51fb231461041b57806362fc305e1461042e57806372976490146104415780637730599e1461045357600080fd5b8063354b9590116101a85780634fe9c291116101775780634fe9c291146103a357806350209a62146103cd57806350d75d25146103e057806352d1902d1461040057806354b770e31461040857600080fd5b8063354b95901461034557806346951954146103585780634b839e0b1461036d5780634c8b181f1461039057600080fd5b806309d256ef116101e457806309d256ef146102ad5780630f1ac495146102dc5780632567f5781461031257806326b0f5361461033757600080fd5b8062422bbe1461021557806304aafa491461024d5780630602f7db14610267578063062e56ec1461028d575b600080fd5b61022861022336600461459e565b61058f565b6040805193845260ff9092166020840152600b0b908201526060015b60405180910390f35b61025964010000000081565b604051908152602001610244565b61027a6102753660046145e9565b6105c5565b604051600b9190910b8152602001610244565b6102a061029b366004614656565b610607565b604051610244919061470a565b6102c06102bb3660046145e9565b610621565b6040805160ff9093168352600b9190910b602083015201610244565b6102ef6102ea36600461471d565b610645565b60408051948552600b9390930b6020850152918301526060820152608001610244565b610325610320366004614765565b61067b565b60405160ff9091168152602001610244565b61025960016001605f1b0381565b6102a06103533660046147a5565b610686565b61036b610366366004614830565b61084b565b005b61038061037b36600461484d565b6108a0565b6040519015158152602001610244565b6102a061039e36600461488e565b610998565b6103b66103b136600461471d565b610a83565b604080519215158352602083019190915201610244565b6102a06103db366004614909565b610b1e565b6103e8610bf1565b6040516001600160a01b039091168152602001610244565b610259610c20565b6102a0610416366004614656565b610c84565b6102a0610429366004614909565b610c9c565b6102a061043c366004614909565b610cb7565b61032561044f366004614765565b1790565b7fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3610259565b6102a061048736600461494a565b610d6a565b61025961049a36600461498e565b610eb3565b6102a06104ad3660046147a5565b6110d9565b61036b61125c565b6104cd6104c836600461484d565b61136a565b60408051938452602084019290925290820152606001610244565b6102ef6104f63660046145e9565b6113c4565b6102a0610509366004614909565b6113d6565b6102a061051c36600461488e565b6113e7565b61052b6203d09081565b6040516001600160401b039091168152602001610244565b6102a061055136600461494a565b61147b565b6102ef61056436600461459e565b6115ab565b61027a61057736600461471d565b6115e6565b6102a061058a36600461494a565b611600565b600080600061059e85856116e9565b925060006105ac8785611754565b8051602090910151959990985094965093945050505050565b6000806105f27f000000000000000000000000000000000000000000000000000000000000000085611819565b5090506105ff818461192e565b949350505050565b606061061885856000808787610d6a565b95945050505050565b60008060006106308585611754565b80516020909101519097909650945050505050565b6000806000806000610657878761196e565b805160208201516040830151606090930151919b909a509198509650945050505050565b801982165b92915050565b606060006106ca8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050866001600160a01b031681606001516001600160a01b0316036107025760405163edfa0d3b60e01b815260040160405180910390fd5b6000806107188a6107138b8b611beb565b611c13565b9150915060008060006107308d8d886060015161058f565b925092509250610741826001611c5a565b61075e5760405163ac434b5f60e01b815260040160405180910390fd5b6000600b82900b60016001605f1b03148061078357508a600b0b8560200151600b0b12155b6107a5576020850151610796908c6149d9565b6107a090836149d9565b6107a7565b815b9050600081600b0b12156107ce5760405163a0645c1f60e01b815260040160405180910390fd5b6107da8e858584611cb5565b5050505061080860408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808c1682528a8116602083015289166040820152600b88900b606082015261083c8183858a8a89611d3e565b9b9a5050505050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461089457604051630b00ec8f60e11b815260040160405180910390fd5b61089d81611ea0565b50565b604051633acd4df360e21b81526001600160a01b03838116600483015260248201839052600091829186169063eb3537cc90604401606060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190614a0b565b505090506000811261092c576001915050610991565b6000806109597f000000000000000000000000000000000000000000000000000000000000000088611819565b915091506000610969888861196e565b915050600061097b82604001516120a8565b905061098985828686612116565b955050505050505b9392505050565b606060006109dc8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b905060006109ef8888846060015161058f565b509150506000610a00826002611c5a565b905080610a205760405163e30f1bff60e01b815260040160405180910390fd5b6040805160808101825260008082526020820181905291810182905260608101919091525b6001600160a01b03808b16825289811660208301528816604082015260006060820152610a758183898988612164565b9a9950505050505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b089190614a39565b9050610b158484836108a0565b91509250929050565b60606000610b628785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050610b8e60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808916825260608084015182166020840181905291891660408401819052600b89900b91840191909152600091610bcc91611beb565b9050600080610bdf846000015184611c13565b9150915061083c8482848b8b8a611d3e565b6000610c1b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1b9190614a39565b60606106188585600760016001605f1b038787610d6a565b6060610cad8686600087878761147b565b9695505050505050565b60606000610cfb8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050610d2760408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b038089168252606080840151821660208401529088166040830152600b87900b90820152610d5e8186868561284a565b98975050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939450610db592508a9150899050888888886129c2565b6040805180820190915260ff88168152600b87900b6020820152606082015191925090600090610de5908a6116e9565b9050896001600160a01b031663a1b2bf8b82610e0085612a89565b6040518363ffffffff1660e01b8152600401610e1d929190614a8e565b600060405180830381600087803b158015610e3757600080fd5b505af1158015610e4b573d6000803e3d6000fd5b50505060608401516040805160ff8c168152600b8b900b60208201526001600160a01b03808e169450928316928e16917fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8910160405180910390a45050509695505050505050565b600081600b0b600003610ec857506000610680565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190614aa7565b90506000816001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000877feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc46040518463ffffffff1660e01b8152600401610fc093929190614ac4565b602060405180830381865afa158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110019190614a39565b90506000826001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000887fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b815260040161107593929190614ac4565b602060405180830381865afa158015611092573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b69190614a39565b9050602081901c63ffffffff166110ce838288612aff565b979650505050505050565b6060600061111d8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050866001600160a01b031681606001516001600160a01b031603611155576040516325cc989b60e11b815260040160405180910390fd5b60008060006111698b8b866060015161058f565b92509250925061117a826000611c5a565b611197576040516328faadab60e21b815260040160405180910390fd5b6000600b82900b60016001605f1b03146111ba576111b589836149d9565b6111bc565b815b9050600081600b0b12156111e35760405163a0645c1f60e01b815260040160405180910390fd5b6111ef8c858584611cb5565b5050505061121d60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808a168252888116602083015287166040820152600b86900b606082015261124f8186868561284a565b9998505050505050505050565b600054610100900460ff161580801561127c5750600054600160ff909116105b806112965750303b158015611296575060005460ff166001145b6112fe5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611321576000805461ff0019166101001790555b801561089d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600080600061137c888861196e565b9150915081156113b9578060200151600b0b81600001518761139e9190614ae8565b6113a89190614b0f565b945080604001519350806060015192505b505093509350939050565b60008060008060006106578787611c13565b6060610cad86866000878787611600565b6060600061142b8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050600061143e8888846060015161058f565b50915050600061144f826002611c5a565b9050610a4560408051608081018252600080825260208201819052918101829052606081019190915290565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394506114c692508a9150899050888888886129c2565b905060008060006114dc8b85606001518c61058f565b92509250925060006114ee838b61067b565b905060006114fc8a846149d9565b9050600081600b0b1215611523576040516386e0377d60e01b815260040160405180910390fd5b61152f8d868484611cb5565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8858560405161159392919060ff929092168252600b0b602082015260400190565b60405180910390a45050505050509695505050505050565b60008060008060006115c1886107138989611beb565b805160208201516040830151606090930151919c909b50919950975095505050505050565b6000806115f3848461196e565b6020015195945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061164b92508a9150899050888888886129c2565b905060008060006116618b85606001518c61058f565b9194509250905060006116748983614b3f565b9050828a176116858d868385611cb5565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8848660405161159392919060ff929092168252600b0b602082015260400190565b600082826040516020016117369291906060808252600c908201526b333637bba7b832b930ba37b960a11b60808201526001600160a01b0392831660208201529116604082015260a00190565b60405160208183030381529060405280519060200120905092915050565b6040805180820182526000808252602082018190529151636c2d9f2f60e01b8152306004820152602481018490526001604482015282906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa1580156117bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117e49190810190614be0565b905061180c816000815181106117fc576117fc614c84565b602002602001015160001c612b72565b92509250505b9250929050565b6000806000846001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118809190614aa7565b90506000816001600160a01b03166380f70cba87877fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b81526004016118d493929190614ac4565b602060405180830381865afa1580156118f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119159190614a39565b63ffffffff602082901c81169891169650945050505050565b600060016001605f1b0382111561195857604051631d4b0ae760e21b815260040160405180910390fd5b63ffffffff198216915060006105ff8484614cb0565b60006119786144d7565b604051634b61cc3360e01b81523060048201526001600160a01b038481166024830152600060448301819052600160648401529190861690634b61cc33906084015b600060405180830381865afa1580156119d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119ff9190810190614be0565b905061180c81600081518110611a1757611a17614c84565b602002602001015160001c612bb2565b611a2f614502565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9b9190614aa7565b6001600160a01b031614611ae55760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016112f5565b604051632fd0a1cd60e21b8152339063bf42873490611b0890859060040161470a565b602060405180830381865afa158015611b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b499190614cdf565b611b835760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016112f5565b604051631fb6491d60e11b81523390633f6c923a90611ba690859060040161470a565b600060405180830381865afa158015611bc3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109919190810190614d80565b604080516001600160a01b038085166020830152831691810191909152600090606001611736565b6000611c1d6144d7565b604051636c2d9f2f60e01b815230600482015260248101849052600160448201526000906001600160a01b03861690636c2d9f2f906064016119ba565b600080826002811115611c6f57611c6f614e83565b03611c805750600182811614610680565b6001826002811115611c9457611c94614e83565b03611ca75750600182811c811614610680565b505060021c60019081161490565b6040805180820190915260ff83168152600b82900b60208201526001600160a01b03851663a1b2bf8b85611ce884612a89565b6040518363ffffffff1660e01b8152600401611d05929190614a8e565b600060405180830381600087803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b505050505050505050565b60606000611d4c8884612c12565b91505085611d6d5760405163168cafc960e21b815260040160405180910390fd5b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015611db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddb9190614cdf565b15611e3757611e3088604001518960000151838a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b925060019150612d139050565b9150611e82565b611e7f8860000151828988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506134b9915050565b91505b611e95886000015189602001518561358c565b509695505050505050565b6000611eca7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603611f205760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016112f5565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f829190614a39565b611f8a610c20565b14611fe35760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016112f5565b6001600160a01b038116300361203b5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016112f5565b612063817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61208c610c20565b604080519182526001600160a01b03841660208301520161135f565b60006001600160ff1b038211156121125760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016112f5565b5090565b600083600003612128575060006105ff565b60006121348587614e99565b905060006121428587614ec1565b905061214e8486614eef565b6121588284614ec1565b13979650505050505050565b6040805160c0810182526000808252602082018190529181018290526060818101839052608082019290925260a0810182905260208701516001600160a01b03166121c257604051631ce9b06760e01b815260040160405180910390fd5b60408701516001600160a01b03166121ed57604051633c70159560e11b815260040160405180910390fd5b6121ff87602001518860400151611beb565b8082526020808901516001600160a01b03908116918401919091526040808a01518216908401526060808601519091169083015260006080830181905260a0808601519084015288519091829161225591611c13565b91509150816122775760405163168cafc960e21b815260040160405180910390fd5b885160208a01516040808801519051633acd4df360e21b81526000936001600160a01b03169263eb3537cc926122c3926004016001600160a01b03929092168252602082015260400190565b606060405180830381865afa1580156122e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123049190614a0b565b5050905089602001516001600160a01b031686606001516001600160a01b03161415801561234c575089604001516001600160a01b031686606001516001600160a01b031614155b8015612356575088155b156124675760208a0151604051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa1580156123a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c99190614cdf565b158015612441575060408a8101519051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa15801561241b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243f9190614cdf565b155b1561246757600081126124675760405163ce11b5d160e01b815260040160405180910390fd5b6000811215612485576124858a600001518286858a60600151613666565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060208b015160608801519196506001600160a01b0390811691160361257b5760408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125489190614cdf565b1561256c576125658a604001518b600001518685898b6002612d13565b945061283d565b8951612565908584888a6134b9565b89604001516001600160a01b031686606001516001600160a01b0316036126af5760208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190614cdf565b15612627576125658a602001518b600001518685898b6002612d13565b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612671573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126959190614cdf565b1561256c5761256560008b600001518685898b6002612d13565b60208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156126f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271d9190614cdf565b80156127295750600081125b156127a35760208a0151604051635b92108f60e11b8152339163b724211e91612759918991600b90600401614f02565b6000604051808303816000875af1158015612778573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127a09190810190614f30565b94505b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156127ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128119190614cdf565b1561282e576125658a604001518b600001518685898b6002612d13565b8951610a75908584888a6134b9565b5050505095945050505050565b60606000806128598785612c12565b9150915060008061286e896000015185611c13565b9150915081156128915760405163801b686360e01b815260040160405180910390fd5b6040898101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156128db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ff9190614cdf565b156129585761295189604001518a6000015185848c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508f93509150612d139050565b94506129a3565b6129a0896000015184838b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92506134b9915050565b94505b6129b689600001518a602001518861358c565b50505050949350505050565b6129ca614502565b60f88516156129ec57604051631e4e759b60e21b815260040160405180910390fd5b612a2c8784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2792505050565b9050856001600160a01b031681606001516001600160a01b031603612a645760405163b0ed394d60e01b815260040160405180910390fd5b600084600b0b1215610cad576040516386e0377d60e01b815260040160405180910390fd5b606060008260200151600b0b1215612aa357612aa3614f64565b60408051600180825281830190925290602080830190803683370190505090508160200151600b0b6080836000015160ff16901b1760001b81600081518110612aee57612aee614c84565b602002602001018181525050919050565b60008082600b0b1215612b25576040516348d6568b60e11b815260040160405180910390fd5b60016001605f1b03612b3b84600b85900b614f7a565b1115612b5a57604051630c9c55c160e01b815260040160405180910390fd5b6000612b668385613893565b905061061885826138d7565b6040805180820190915260008082526020820152811580159190612bad5760016001605f1b038316600b0b6020820152608083901c60ff1681525b915091565b6000612bbc6144d7565b821580159250612bad5760e083901c8152608083901c6bffffffffffffffffffffffff16600b0b6020808301919091526bffffffffffffffff0000000084821c811660408401529084901b166060820152915091565b6040805160c08101825260008082526020820181905291810182905260608082018390526080820183905260a082015260408401516001600160a01b0316612c6d57604051633c70159560e11b815260040160405180910390fd5b612c7f84602001518560400151611beb565b8082526020808601516001600160a01b0390811691840182905260408088015182169085018190526060808801519092168286015290870151600b0b608085015260a0808701519085015291935003612ceb5760405163a47338ef60e01b815260040160405180910390fd5b60008160800151600b0b13611812576040516348d6568b60e11b815260040160405180910390fd5b82612d1c61455d565b6001600160a01b03891615613020576000612db1898b8a600001518b602001518c60400151604051602001612d679291906001600160a01b0392831681529116602082015260400190565b60408051601f1981840301815260e08301825260006080840181905260a0840181905260c08401526001600160a01b03958616835293909416602082015292830152606082015290565b90506000846002811115612dc757612dc7614e83565b03612ddc5764010000000060c0820152612e11565b6001846002811115612df057612df0614e83565b03612e055764040000000060c0820152612e11565b64100000000060c08201525b612e1b81876138ed565b82600001819052506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e879190614aa7565b9050612e9f86604001518761014001518c8c8c613aa4565b5060808401525060405163407b865d60e11b81526000906001600160a01b038316906380f70cba90612ef99033908f907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614ac4565b602060405180830381865afa158015612f16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f3a9190614a39565b905060008360800151600014612f5e57612f59640100000000836138d7565b612f61565b60005b9050808460800151612f739190614f91565b608085015260608a0151612f86906120a8565b60a08501526000876002811115612f9f57612f9f614e83565b03612fb45764020000000060c0850152612fe9565b6001876002811115612fc857612fc8614e83565b03612fdd5764080000000060c0850152612fe9565b64200000000060c08501525b612ff884866000015188613ea9565b60408701919091528b51909650613010908d90611c13565b60208701525061303e9350505050565b61303684604001518561014001518a8a8a613aa4565b602084015250505b600061304d87606001516120a8565b826040015161010001516130619190614ae8565b9050613087816130788460200151604001516120a8565b6130829190614e99565b6140f5565b826020015160400181815250506130a9816130788460200151606001516120a8565b60208301805160600191909152885190516001600160a01b038b169163a1b2bf8b916130d490614147565b6040518363ffffffff1660e01b81526004016130f1929190614a8e565b600060405180830381600087803b15801561310b57600080fd5b505af115801561311f573d6000803e3d6000fd5b5050505061313b89896020015160008460008a604001516141b8565b50613153898960400151600080858a604001516141b8565b506101408501516001600160a01b031615806131855750886001600160a01b03168561014001516001600160a01b0316145b156131f9576040516359a2914160e01b815233906359a29141906131af9086908590600401614fa4565b6000604051808303816000875af11580156131ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131f69190810190614f30565b92505b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015613243573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132679190614cdf565b156134ac57604088810151868201519151633acd4df360e21b81526001600160a01b0391821660048201526024810192909252600091908b169063eb3537cc90604401606060405180830381865afa1580156132c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132eb9190614a0b565b509091505060008112156134aa57600285600281111561330d5761330d614e83565b0361348e576040808a01519051635b92108f60e11b8152339163b724211e9161333d918891600c90600401614f02565b6000604051808303816000875af115801561335c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133849190810190614f30565b935060006133a261339483614fc6565b61339d85614fc6565b614329565b90508a6001600160a01b031663cf97256d8b60200151836133c290614fc6565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561340857600080fd5b505af115801561341c573d6000803e3d6000fd5b5050505060408a810151905163cf97256d60e01b81526001600160a01b03918216600482015260248101839052908c169063cf97256d90604401600060405180830381600087803b15801561347057600080fd5b505af1158015613484573d6000803e3d6000fd5b50505050506134aa565b60405163a85ba64f60e01b8152600c60048201526024016112f5565b505b5050979650505050505050565b606083810151156134cc576134cc614f64565b60006134d66144d7565b6134ec84604001518561014001518a8a8a613aa4565b6101408701519294509250506001600160a01b03808a1691160361357d576040516359a2914160e01b815233906359a291419061352f9088908690600401614fa4565b6000604051808303816000875af115801561354e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135769190810190614f30565b9250613581565b8492505b505095945050505050565b602081015160ff1660031415806135ba5750826001600160a01b03168161014001516001600160a01b031614155b15613661576040808201519051633acd4df360e21b81526001600160a01b038481166004830152602482019290925260009185169063eb3537cc90604401606060405180830381865afa158015613615573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136399190614a0b565b50509050600081121561365f5760405163ea76c9b360e01b815260040160405180910390fd5b505b505050565b600061367686856020015161196e565b915050600061368884604001516120a8565b9050600061369983604001516120a8565b905060606000806136aa848b614e99565b90506000806136d97f00000000000000000000000000000000000000000000000000000000000000008e611819565b915091506136e98c878484612116565b93505050600081126137d4576000846137028388614b0f565b61370c9190614ec1565b905060018361371c57600161371f565b60005b6040805160ff9384166020820152929091169082015260600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b878f6020015161376e886140f5565b61377a89600019614b0f565b6040518863ffffffff1660e01b815260040161379c9796959493929190614fe2565b600060405180830381600087803b1580156137b657600080fd5b505af11580156137ca573d6000803e3d6000fd5b5050505050613886565b6040805160016020820152600291810191909152859060600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b60008f60200151613824886140f5565b6138308a600019614b0f565b6040518863ffffffff1660e01b81526004016138529796959493929190614fe2565b600060405180830381600087803b15801561386c57600080fd5b505af1158015613880573d6000803e3d6000fd5b50505050505b5050505050505050505050565b600082600b0b6000036138a857506000610680565b60016001605f1b038211156138bf576138bf614f64565b6138c9828461502f565b600b0b90506109918161433e565b60008183116138e65781610991565b5090919050565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613941573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613965919061504f565b91945092509050828015613977575081155b15613a9b5760006139888688614372565b90508660c001518216600003613a8d5760006139a78860c001516143f0565b88516040808b015160608c0151825160008152602081019093526139d39392309291906044810161508e565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292613a4292918691641000000000919091149088906004016150d3565b6000604051808303816000875af1158015613a61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613a899190810190614f30565b9550505b613a98866000614487565b50505b50505092915050565b600080613aaf6144d7565b6000806000613ade7f00000000000000000000000000000000000000000000000000000000000000008a611819565b5090506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b459190614aa7565b60405163407b865d60e11b81529091506001600160a01b038216906380f70cba90613b989033908e907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614ac4565b602060405180830381865afa158015613bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bd99190614a39565b9250613be9896080015183613893565b95505050613bfa86606001516120a8565b613c0787604001516120a8565b613c10866120a8565b613c1a9190614ae8565b613c249190614e99565b9450613c378561307888604001516120a8565b91508082108015613c4f575060008760800151600b0b135b15613c9157613c6186606001516120a8565b613c6e87604001516120a8565b613c77836120a8565b613c819190614ae8565b613c8b9190614e99565b94508091505b6001600160a01b03891615801590613cbb5750876001600160a01b0316896001600160a01b031614155b15613cc557600093505b604051806080016040528060008960800151600b0b13613ce6576000613ce8565b8b5b81526020018860800151600b0b815260200183815260200187606001518152509250876001600160a01b031663a1b2bf8b8860000151613d2786614147565b6040518363ffffffff1660e01b8152600401613d44929190614a8e565b600060405180830381600087803b158015613d5e57600080fd5b505af1158015613d72573d6000803e3d6000fd5b505060408051808201909152600080825260208201529250613d92915050565b613db888886020015189608001518960200151613daf91906149d9565b8860008f6141b8565b600b0b8152604087015160208701516080890151613de7928b929091613dde91906149d9565b6000808f6141b8565b600b0b60208083018290526040808a0151918a015160808b0151855160a08d015193516001600160a01b0395861696938616958f16947f57269d2ebcccecdcc0d9d2c0a0b80ead95f344e28ec20f50f709811f209d4e0e94613e4d949392909190615111565b60405180910390a486606001516001600160a01b03167f71e0c98e270fc3084227b473f176924d5303ece8c639e679998a2d7dc8e70f7483604051613e9491815260200190565b60405180910390a25050955095509592505050565b613eb1614502565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f29919061504f565b88965091945092509050828015613f3e575081155b156140ea57613f4d8489614372565b93508760c0015181166000036140d8576000613f6c8960c001516143f0565b89516040808c015160608d015182516000815260208101909352613f9a9392309291908e906044810161513f565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a84926140099291869164200000000091909114908b906004016150d3565b6000604051808303816000875af1158015614028573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140509190810190614f30565b604051631fb6491d60e11b81529095503390633f6c923a9061407690889060040161470a565b600060405180830381865afa158015614093573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140bb9190810190614d80565b95506140d089608001518761010001516144af565b610100870152505b6140e786866101000151614487565b93505b505050935093915050565b6000808212156121125760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016112f5565b6040805160018082528183019092526060916020808301908036833701905050905060208260600151901c604060208460400151901c901b608084602001516bffffffffffffffffffffffff16901b60e08560000151901b17171760001b81600081518110612aee57612aee614c84565b6000806141c5888861196e565b91505060008160200151600b0b6141ea8360000151866141e59190614eef565b6120a8565b6141f49190614b0f565b9050801561425f5760405163cf97256d60e01b81526001600160a01b038981166004830152602482018390528a169063cf97256d90604401600060405180830381600087803b15801561424657600080fd5b505af115801561425a573d6000803e3d6000fd5b505050505b86826020015161426f9190614b3f565b600b0b6020830152838252604082015161428e908790613078906120a8565b604083015260608201516142a7908690613078906120a8565b60608301526001600160a01b03891663090c415e8960006142c786614147565b6040518463ffffffff1660e01b81526004016142e593929190615198565b600060405180830381600087803b1580156142ff57600080fd5b505af1158015614313573d6000803e3d6000fd5b5050506020909201519998505050505050505050565b60008183136143385782610991565b50919050565b60008063ffffffff8316614353576000614356565b60015b60ff16905060206143698285831c614f91565b901b9392505050565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb0946143a9948a946004016151bf565b6000604051808303816000875af11580156143c8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109919190810190614f30565b6000640100000000820361440c57506330d9c91560e01b919050565b64040000000082036144265750630221347d60e61b919050565b64100000000082036144405750635f9e7d7760e01b919050565b640200000000820361445a575063d86ed3e560e01b919050565b6408000000008203614474575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e906143a99086908690600401614fa4565b600061099160006144c86144c2866120a8565b85614329565b60008183136138e65781610991565b6040518060800160405280600081526020016000600b0b815260200160008152602001600081525090565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6040518060600160405280606081526020016145776144d7565b8152602001614584614502565b905290565b6001600160a01b038116811461089d57600080fd5b6000806000606084860312156145b357600080fd5b83356145be81614589565b925060208401356145ce81614589565b915060408401356145de81614589565b809150509250925092565b600080604083850312156145fc57600080fd5b823561460781614589565b946020939093013593505050565b60008083601f84011261462757600080fd5b5081356001600160401b0381111561463e57600080fd5b60208301915083602082850101111561181257600080fd5b6000806000806060858703121561466c57600080fd5b843561467781614589565b9350602085013561468781614589565b925060408501356001600160401b038111156146a257600080fd5b6146ae87828801614615565b95989497509550505050565b60005b838110156146d55781810151838201526020016146bd565b50506000910152565b600081518084526146f68160208601602086016146ba565b601f01601f19169290920160200192915050565b60208152600061099160208301846146de565b6000806040838503121561473057600080fd5b823561473b81614589565b9150602083013561474b81614589565b809150509250929050565b60ff8116811461089d57600080fd5b6000806040838503121561477857600080fd5b823561478381614756565b9150602083013561474b81614756565b8035600b81900b811461448257600080fd5b60008060008060008060a087890312156147be57600080fd5b86356147c981614589565b955060208701356147d981614589565b945060408701356147e981614589565b93506147f760608801614793565b925060808701356001600160401b0381111561481257600080fd5b61481e89828a01614615565b979a9699509497509295939492505050565b60006020828403121561484257600080fd5b813561099181614589565b60008060006060848603121561486257600080fd5b833561486d81614589565b9250602084013561487d81614589565b929592945050506040919091013590565b6000806000806000608086880312156148a657600080fd5b85356148b181614589565b945060208601356148c181614589565b935060408601356148d181614589565b925060608601356001600160401b038111156148ec57600080fd5b6148f888828901614615565b969995985093965092949392505050565b60008060008060006080868803121561492157600080fd5b853561492c81614589565b9450602086013561493c81614589565b93506148d160408701614793565b60008060008060008060a0878903121561496357600080fd5b863561496e81614589565b9550602087013561497e81614589565b945060408701356147e981614756565b600080604083850312156149a157600080fd5b82356149ac81614589565b91506149ba60208401614793565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600b82810b9082900b036b7fffffffffffffffffffffff19811260016001605f1b0382131715610680576106806149c3565b600080600060608486031215614a2057600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215614a4b57600080fd5b5051919050565b600081518084526020840193506020830160005b82811015614a84578151865260209586019590910190600101614a66565b5093949350505050565b8281526040602082015260006105ff6040830184614a52565b600060208284031215614ab957600080fd5b815161099181614589565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8181036000831280158383131683831282161715614b0857614b086149c3565b5092915050565b80820260008212600160ff1b84141615614b2b57614b2b6149c3565b8181058314821517610680576106806149c3565b600b81810b9083900b0160016001605f1b0381136b7fffffffffffffffffffffff1982121715610680576106806149c3565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614baa57614baa614b71565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614bd857614bd8614b71565b604052919050565b600060208284031215614bf257600080fd5b81516001600160401b03811115614c0857600080fd5b8201601f81018413614c1957600080fd5b80516001600160401b03811115614c3257614c32614b71565b8060051b614c4260208201614bb0565b91825260208184018101929081019087841115614c5e57600080fd5b6020850194505b838510156110ce57845180835260209586019590935090910190614c65565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082614cbf57614cbf614c9a565b500490565b805161448281614589565b8051801515811461448257600080fd5b600060208284031215614cf157600080fd5b61099182614ccf565b805161448281614756565b80516001600160e01b03198116811461448257600080fd5b600082601f830112614d2e57600080fd5b81516001600160401b03811115614d4757614d47614b71565b614d5a601f8201601f1916602001614bb0565b818152846020838601011115614d6f57600080fd5b6105ff8260208301602087016146ba565b600060208284031215614d9257600080fd5b81516001600160401b03811115614da857600080fd5b82016101608185031215614dbb57600080fd5b614dc3614b87565b614dcc82614cfa565b8152614dda60208301614cfa565b602082015260408281015190820152614df560608301614cc4565b6060820152614e0660808301614d05565b608082015260a08201516001600160401b03811115614e2457600080fd5b614e3086828501614d1d565b60a08301525060c0828101519082015260e080830151908201526101008083015190820152614e626101208301614cc4565b610120820152614e756101408301614cc4565b610140820152949350505050565b634e487b7160e01b600052602160045260246000fd5b8082018281126000831280158216821582161715614eb957614eb96149c3565b505092915050565b600082614ed057614ed0614c9a565b600160ff1b821460001984141615614eea57614eea6149c3565b500590565b81810381811115610680576106806149c3565b606081526000614f1560608301866146de565b6001600160a01b039490941660208301525060400152919050565b600060208284031215614f4257600080fd5b81516001600160401b03811115614f5857600080fd5b6105ff84828501614d1d565b634e487b7160e01b600052600160045260246000fd5b8082028115828204841417610680576106806149c3565b80820180821115610680576106806149c3565b604081526000614fb760408301856146de565b90508260208301529392505050565b6000600160ff1b8201614fdb57614fdb6149c3565b5060000390565b87815260e060208201526000614ffb60e08301896146de565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b600082600b0b82600b0b0280600b0b9150808214614b0857614b086149c3565b60008060006060848603121561506457600080fd5b61506d84614ccf565b925061507b60208501614ccf565b6040949094015192959394509192915050565b6001600160a01b038681168252851660208201526040810184905260a0606082018190526000906150c1908301856146de565b8281036080840152610d5e81856146de565b6001600160a01b03851681526080602082018190526000906150f7908301866146de565b841515604084015282810360608401526110ce81856146de565b84600b0b815283600b0b602082015282600b0b6040820152608060608201526000610cad60808301846146de565b6001600160a01b038781168252861660208201526040810185905260c060608201819052600090615172908301866146de565b828103608084015261518481866146de565b905082810360a084015261124f81856146de565b60018060a01b03841681528260208201526060604082015260006106186060830184614a52565b60a0815260006151d260a08301886146de565b6001600160a01b039687166020840152604083019590955250606081019290925290921660809092019190915291905056fea2646970667358221220304fa73a6705434cdebb5abb07be5b0cdc344ff4d3e665b4324dfadf8f17e34464736f6c634300081a0033";
1247
1247
  const isSuperArgs = (xs) => xs.length > 1;
1248
1248
  export class ConstantFlowAgreementV1__factory extends ContractFactory {
1249
1249
  constructor(...args) {
@@ -16,7 +16,7 @@ export declare class InstantDistributionAgreementV1__factory extends ContractFac
16
16
  }): TransactionRequest;
17
17
  attach(address: string): InstantDistributionAgreementV1;
18
18
  connect(signer: Signer): InstantDistributionAgreementV1__factory;
19
- static readonly bytecode = "0x60a0604052348015600f57600080fd5b50604051615307380380615307833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b60805161528261008560003960006110f301526152826000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637fbc7639116100b8578063acafa1b81161007c578063acafa1b814610336578063acf4a6c214610349578063b6dacdb81461035c578063b96731c21461037e578063cd7245c514610391578063d787840a146103e957600080fd5b80637fbc76391461029f578063899baaec146102b25780639903ad38146102e25780639b2e48bc146102ea578063a5653ced1461031857600080fd5b806350d75d25116100ff57806350d75d251461020457806352d1902d1461020c5780635b534051146102225780636041ae96146102665780637730599e1461027957600080fd5b8063232d2b581461013c57806323fc23f3146101655780632e5e74c6146101a95780633fd4176a146101bc57806346951954146101ef575b600080fd5b61014f61014a3660046143b0565b6103fc565b60405161015c919061448b565b60405180910390f35b61017861017336600461449e565b610b16565b6040805194151585526001600160801b0393841660208601529183169184019190915216606082015260800161015c565b61014f6101b73660046144e9565b610b81565b6101d773__$97ed594b3f931187fb739dcb88a7dff641$__81565b6040516001600160a01b03909116815260200161015c565b6102026101fd36600461453d565b6110e8565b005b6101d761113d565b61021461116c565b60405190815260200161015c565b610235610230366004614561565b6111d0565b60405161015c9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f6102743660046145bd565b6112a6565b7f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674610214565b61014f6102ad366004614638565b6116cb565b6102c56102c0366004614679565b6117b8565b604080519283526001600160801b0390911660208301520161015c565b61020261185d565b6102fd6102f83660046146ca565b61196b565b6040805193845260208401929092529082015260600161015c565b61032161010081565b60405163ffffffff909116815260200161015c565b61014f6103443660046144e9565b611b76565b61014f6103573660046145bd565b611f7b565b61036f61036a36600461470b565b612535565b60405161015c93929190614789565b61014f61038c36600461482d565b61278a565b6103a461039f366004614882565b61288a565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161015c565b61014f6103f73660046148ae565b61298c565b60606001600160a01b03851661042557604051633242919d60e21b815260040160405180910390fd5b61042d614208565b610435614266565b606060008061047a8c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b90508060a00151925080606001519150506104998b828b8d6000612d14565b60808901521515602080890191909152606088019190915260408088018390529287528251908101909252600082526104d5918d918c91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602086015191965050156105395764040000000060c084015261052f8386612e35565b60a0850152610554565b64010000000060c084015261054e8386612e35565b60a08501525b83602001518015610571575060808401515163ffffffff90811614155b1561064c576105c08460800151608001516001600160801b0316896001600160801b03168660600151602001516001600160801b03166105b19190614928565b6105bb919061493b565b612fec565b6060850180516001600160801b03909216602090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518363ffffffff1660e01b8152600401610615929190614980565b600060405180830381600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b50505050610833565b8360200151156106c9576106918460800151608001516001600160801b0316896001600160801b03168660600151604001516001600160801b03166105b19190614928565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518060a0016040528063ffffffff80168152602001826001600160a01b031681526020018b63ffffffff1681526020018560600151600001516001600160801b03168152602001896001600160801b031681525084608001819052508a6001600160a01b03166312a6a3f8856040015161074887608001516130f7565b6040518363ffffffff1660e01b8152600401610765929190614980565b600060405180830381600087803b15801561077f57600080fd5b505af1158015610793573d6000803e3d6000fd5b50505050878460600151604001516107ab9190614999565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916107e390613059565b6040518363ffffffff1660e01b8152600401610800929190614980565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050505b60008460800151608001516001600160801b031685608001516060015186606001516000015161086391906149b8565b6001600160801b031661087691906149d7565b905063ffffffff801685608001516000015163ffffffff160361090f576108a68c836108a184614a07565b61319e565b6001600160a01b038c1663cf97256d836108bf84614a07565b6040518363ffffffff1660e01b81526004016108dc929190614a23565b600060405180830381600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050505b60405163cf97256d60e01b81526001600160a01b038d169063cf97256d9061093d908d908590600401614a23565b600060405180830381600087803b15801561095757600080fd5b505af115801561096b573d6000803e3d6000fd5b50505050846020015115610a115760608086015151608080880180516001600160801b039384169401939093528251918c16910152604086015190516001600160a01b038e169163a1b2bf8b916109c1906130f7565b6040518363ffffffff1660e01b81526004016109de929190614980565b600060405180830381600087803b1580156109f857600080fd5b505af1158015610a0c573d6000803e3d6000fd5b505050505b846020015115610a405764080000000060c085015260a0850151610a37908590886132ec565b9650610a609050565b64020000000060c085015260a0850151610a5c908590886132ec565b9650505b8a63ffffffff16826001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398d8d88604051610aae93929190614a3c565b60405180910390a4896001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c182524977848e8d88604051610aff9493929190614a78565b60405180910390a350505050509695505050505050565b600080600080610b3f604080516060810182526000808252602082018190529181019190915290565b6000610b4b8888613538565b9050610b57898261359f565b90965091508515610b7657815160208301516040840151919650945092505b505093509350935093565b6060610b8b614208565b610b93614266565b600060606000610bd98c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015160a0909101519093509150506001600160a01b038816610c1157604051633242919d60e21b815260040160405180910390fd5b896001600160a01b0316826001600160a01b031614610c43576040516392da6d1760e01b815260040160405180910390fd5b610c518b8b8a8c6001612d14565b6080890152506060870152604080870182905291865281516020810190925260008252610c81918d918b91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c087015250909550610cd290508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691610d04916149b8565b6001600160801b0316610d1791906149d7565b60808601515190915063ffffffff90811614610d6457846080015160800151856060015160200151610d4991906149b8565b60608601516001600160801b03909116602090910152610d97565b846080015160800151856060015160400151610d8091906149b8565b60608601516001600160801b039091166040909101525b8b6001600160a01b031663a1b2bf8b8660000151610db88860600151613059565b6040518363ffffffff1660e01b8152600401610dd5929190614980565b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b5050505060808501515163ffffffff90811614610e2d57610e2d8c8a8760800151600001516136b3565b60808501515163ffffffff1663fffffffe1901610ebb57610e528c8c6108a184614a07565b6001600160a01b038c1663cf97256d8c610e6b84614a07565b6040518363ffffffff1660e01b8152600401610e88929190614a23565b600060405180830381600087803b158015610ea257600080fd5b505af1158015610eb6573d6000803e3d6000fd5b505050505b6040858101519051632704839760e01b81526004810191909152600260248201526001600160a01b038d1690632704839790604401600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038f16925063cf97256d9150610f50908c908590600401614a23565b600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151610f9e908590886132ec565b9050809650508963ffffffff168b6001600160a01b03168d6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428c86604051610ff0929190614ab7565b60405180910390a4886001600160a01b03168c6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558d8d8660405161103f93929190614adb565b60405180910390a38963ffffffff168b6001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398c60008760405161109693929190614a3c565b60405180910390a4886001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c1825249778d8d600087604051610aff9493929190614a78565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461113157604051630b00ec8f60e11b815260040160405180910390fd5b61113a8161373e565b50565b60006111677f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190614b0b565b6000806000806000806111fc604080516060810182526000808252602082018190529181019190915290565b6112046142a1565b6112128c8c8b8d6000612d14565b909b50929650909450925090508761123b5760008060008097509750975097505050505061129b565b8051608082015163ffffffff9182169091141597509550866112915780608001516001600160801b03168160600151836000015161127991906149b8565b6001600160801b031661128c9190614b24565b611294565b60005b9450505050505b945094509450949050565b60606112b0614208565b6112b8614266565b6000606060006112fe8b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a0015191505061131d8a8a848b6001612d14565b6080890181905260608901929092525060408701919091529085525163ffffffff1663fffffffe190161136357604051633741257360e01b815260040160405180910390fd5b6113828a8a866040015160405180602001604052806000815250612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c0870152509095506113d390508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691611405916149b8565b6001600160801b031661141891906149d7565b905084608001516080015185606001516020015161143691906149b8565b6060860180516001600160801b0390921660209092019190915260808087015101519051604001516114689190614999565b6060860180516001600160801b03909216604090920191909152855190516001600160a01b038d169163a1b2bf8b916114a090613059565b6040518363ffffffff1660e01b81526004016114bd929190614980565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b505050506115028b848760800151600001516136b3565b606080860151516080870180516001600160801b039092169190920152805163ffffffff9052604086015190516001600160a01b038d169163a1b2bf8b91611549906130f7565b6040518363ffffffff1660e01b8152600401611566929190614980565b600060405180830381600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506115c69086908590600401614a23565b600060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151611614908590886132ec565b9050809650508863ffffffff168a6001600160a01b03168c6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428686604051611666929190614ab7565b60405180910390a4826001600160a01b03168b6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558c8c866040516116b593929190614adb565b60405180910390a3505050505095945050505050565b6060600061170f8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806117258a848b613946565b9150915080600001516001600160801b0316886001600160801b031610156117605760405163cfdca72560e01b815260040160405180910390fd5b6117738a848b85858d8a60a001516139a5565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929d9c50505050505050505050505050565b60008060006117c78686613538565b90506000806117d6898461359f565b91509150816117f85760405163edeaa63b60e01b815260040160405180910390fd5b60008160400151826020015161180e9190614999565b6001600160801b0316905060006118286105bb838a614b3b565b8351909150611838908290614999565b955061184d826001600160801b038316614b24565b9650505050505094509492505050565b600054610100900460ff161580801561187d5750600054600160ff909116105b806118975750303b158015611897575060005460ff166001145b6118ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611922576000805461ff0019166101001790555b801561113a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600060608061197d8888613bd4565b909250905060005b81518163ffffffff161015611b5a57600061199e6142a1565b600080868563ffffffff16815181106119b9576119b9614b5d565b602002602001015190506119ec8d878763ffffffff16815181106119df576119df614b5d565b6020026020010151613cbf565b9094509250836119fe576119fe614b73565b8063ffffffff16836000015163ffffffff1614611a1d57611a1d614b73565b6001600160a01b038d16634b61cc33308e611a4263ffffffff8616600160801b614928565b60016040518563ffffffff1660e01b8152600401611a639493929190614b89565b600060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aa89190810190614cb1565b600081518110611aba57611aba614b5d565b6020026020010151915050611ae8604080516060810182526000808252602082018190529181019190915290565b611af28d8361359f565b909450905083611b0457611b04614b73565b82608001516001600160801b031683606001518260000151611b2691906149b8565b6001600160801b0316611b3991906149d7565b611b43908b614ce5565b99505050505080611b5390614d0d565b9050611985565b50611b658888613ddb565b935060009250505093509350939050565b6060611bb88784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b506001600160a01b038416611be057604051633242919d60e21b815260040160405180910390fd5b611be8614208565b611bf0614266565b611bfe8989888a6001612d14565b6080870181905260608701929092525060408501919091529083525163ffffffff90811614611c4057604051633eb2f84960e01b815260040160405180910390fd5b60008260800151608001516001600160801b0316836080015160600151846060015160000151611c7091906149b8565b6001600160801b0316611c839190614b24565b9050611ca48a8a856040015160405180602001604052806000815250612e07565b915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505082159150611f3490505764040000000060c0830152611cfc8285612e35565b60a0840152611d0f8a8a6108a184614a07565b6001600160a01b038a1663cf97256d8a611d2884614a07565b6040518363ffffffff1660e01b8152600401611d45929190614a23565b600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050606083810151516080850180516001600160801b039092169190920152604084015190516001600160a01b038c169163a1b2bf8b91611db5906130f7565b6040518363ffffffff1660e01b8152600401611dd2929190614980565b600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038d16925063cf97256d9150611e32908a908590600401614a23565b600060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050508763ffffffff16896001600160a01b03168b6001600160a01b03167f467eccd248ef31c8bcef16d94856855799a8783aeef10f3759e43614059a6bb18a85604051611eb0929190614a23565b60405180910390a4604080516001600160a01b038b8116825263ffffffff8b166020830152918101839052818916918c16907f48a3d91d4a07e4982b081260e24f922bd33bb965882772d6de19c922c3eabdea9060600160405180910390a364080000000060c083015260a0830151611f2b908390866132ec565b9450611f6e9050565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060611f85614208565b611f8d614266565b600060606000611fd38b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a00151915050611ff28a8a848b6000612d14565b60808901521580156020890152606088019190915260408701919091529085526120425760808401515163ffffffff9081161461204257604051633eb2f84960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040808a015181516020810190925291815294995061209b948f94508e9350909150612e07565b925083602001516121c45764010000000060c08401526120bb8386612e35565b60a08086019190915260408051918201815260008083526001600160a01b038c16602084015263ffffffff8b1691830191909152606080870151516001600160801b031690830152608080830191909152850152835161211e908b908490613e84565b60808501805163ffffffff909216909152604085015190516001600160a01b038c16916312a6a3f891612150906130f7565b6040518363ffffffff1660e01b815260040161216d929190614980565b600060405180830381600087803b15801561218757600080fd5b505af115801561219b573d6000803e3d6000fd5b505064020000000060c0860152505060a08401516121bb908490876132ec565b95506124859050565b64040000000060c08401526121d98386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b039092169161220b916149b8565b6001600160801b031661221e91906149d7565b9050846080015160800151856060015160200181815161223e9190614999565b6001600160801b03169052506080808601510151606086015160400180516122679083906149b8565b6001600160801b0316905250845160608601516001600160a01b038d169163a1b2bf8b9161229490613059565b6040518363ffffffff1660e01b81526004016122b1929190614980565b600060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506122f28b8b836108a190614a07565b6001600160a01b038b1663cf97256d8b61230b84614a07565b6040518363ffffffff1660e01b8152600401612328929190614a23565b600060405180830381600087803b15801561234257600080fd5b505af1158015612356573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506123889086908590600401614a23565b600060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b5050506060808701515160808801516001600160801b039091169101525084516123e3908c908590613e84565b60808601805163ffffffff909216909152604086015190516001600160a01b038d169163a1b2bf8b91612415906130f7565b6040518363ffffffff1660e01b8152600401612432929190614980565b600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505064080000000060c0870152505060a0850151612480908590886132ec565b965050505b8763ffffffff16896001600160a01b03168b6001600160a01b03167f492d2641617cfaf24ac7328f85bc5bdf5113537d78dc7671afa4f49a73f053c285856040516124d1929190614ab7565b60405180910390a4816001600160a01b03168a6001600160a01b03167fc0b8396b655615cdb85fe462a9a1792480816f909cd46d9517a940b386dfbf6b8b8b8560405161252093929190614adb565b60405180910390a35050505095945050505050565b60608060608060606125478787613bd4565b909250905060006125566142a1565b82516001600160401b0381111561256f5761256f614bb2565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50965082516001600160401b038111156125b4576125b4614bb2565b6040519080825280602002602001820160405280156125dd578160200160208202803683370190505b50955082516001600160401b038111156125f9576125f9614bb2565b604051908082528060200260200182016040528015612622578160200160208202803683370190505b50945060005b83518163ffffffff16101561277e576000858263ffffffff168151811061265157612651614b5d565b602002602001015190506000858363ffffffff168151811061267557612675614b5d565b602002602001015190506126898c82613cbf565b90955093508461269b5761269b614b73565b8163ffffffff16846000015163ffffffff16146126ba576126ba614b73565b83602001518a8463ffffffff16815181106126d7576126d7614b5d565b60200260200101906001600160a01b031690816001600160a01b0316815250508360400151898463ffffffff168151811061271457612714614b5d565b602002602001019063ffffffff16908163ffffffff16815250508360800151888463ffffffff168151811061274b5761274b614b5d565b60200260200101906001600160801b031690816001600160801b03168152505050508061277790614d0d565b9050612628565b50505050509250925092565b606060006127ce8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806127e48a848b613946565b915091506000816040015182602001516127fe9190614999565b6001600160801b03169050801561284457600061281e6105bb838c614b3b565b90506128428c868d87878689600001516128389190614999565b8c60a001516139a5565b505b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929e9d5050505050505050505050505050565b60008060008060008060006128b8604080516060810182526000808252602082018190529181019190915290565b6128c06142a1565b6128ca8b8b613cbf565b9094509050836128ed5760405163016d919360e71b815260040160405180910390fd5b80602001519850806040015197506129058989613538565b92506129118b8461359f565b90945091508361292357612923614b73565b8051608082015163ffffffff9182169091141597509550866129795780608001516001600160801b03168160600151836000015161296191906149b8565b6001600160801b03166129749190614b24565b61297c565b60005b9450505050509295509295909350565b606060006129d08685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015190915060006129e48288613538565b90506129f08882613f2b565b15612a0e57604051635c02a51760e01b815260040160405180910390fd5b876001600160a01b03166312a6a3f882612a5f604051806060016040528060006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815250613059565b6040518363ffffffff1660e01b8152600401612a7c929190614980565b600060405180830381600087803b158015612a9657600080fd5b505af1158015612aaa573d6000803e3d6000fd5b505050508663ffffffff16826001600160a01b0316896001600160a01b03167f01ab8663165edfb7390d9e5f75d960a66dacf4f01fa9787e3a731c870d0da9218660a00151604051612afc919061448b565b60405180910390a485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929b9a5050505050505050505050565b612b4f6142cf565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbb9190614d3d565b6001600160a01b031614612c055760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016118f6565b604051632fd0a1cd60e21b8152339063bf42873490612c2890859060040161448b565b602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c699190614d6a565b612ca35760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016118f6565b604051631fb6491d60e11b81523390633f6c923a90612cc690859060040161448b565b600060405180830381865afa158015612ce3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614e11565b90505b92915050565b6040805160608101825260008082526020820181905291810182905281906000612d3c6142a1565b6000612d488a89613538565b9550612d548987613fd7565b9450612d608b8761359f565b9450905080612d825760405163edeaa63b60e01b815260040160405180910390fd5b612d8c8b86613cbf565b90935091508615612df95782612db55760405163016d919360e71b815260040160405180910390fd5b896001600160a01b031682602001516001600160a01b031614612dda57612dda614b73565b8763ffffffff16826040015163ffffffff1614612df957612df9614b73565b509550955095509550959050565b612e0f614266565b6001600160a01b0394851681529290931660208301526040820152606081019190915290565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015612e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ead9190614f14565b91945092509050828015612ebf575081155b15612fe3576000612ed08688614018565b90508660c001518216600003612fd5576000612eef8860c00151614096565b88516040808b015160608c015182516000815260208101909352612f1b93923092919060448101614f53565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292612f8a9291869164100000000091909114908890600401614fa4565b6000604051808303816000875af1158015612fa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fd19190810190614fed565b9550505b612fe086600061412d565b50505b50505092915050565b60006001600160801b038211156130555760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016118f6565b5090565b604080516002808252606080830184529260208301908036833701905050905081600001516001600160801b0316600160801b1760001b816000815181106130a3576130a3614b5d565b602002602001018181525050608082604001516001600160801b0316901b82602001516001600160801b03161760001b816001815181106130e6576130e6614b5d565b602002602001018181525050919050565b6040805160028082526060808301845292602083019080368337019050509050816000015163ffffffff166020836040015163ffffffff16901b606084602001516001600160a01b0316901b171760001b8160008151811061315b5761315b614b5d565b602002602001018181525050608082608001516001600160801b0316901b82606001516001600160801b03161760001b816001815181106130e6576130e6614b5d565b806000036131ab57505050565b604051634b61cc3360e01b81526000906001600160a01b03851690634b61cc33906131e6903090879064010000000090600190600401614b89565b600060405180830381865afa158015613203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261322b9190810190614cb1565b9050816132548260008151811061324457613244614b5d565b602002602001015160001c614155565b61325e9190614ce5565b60001b8160008151811061327457613274614b5d565b602090810291909101015260405163048620af60e11b81526001600160a01b0385169063090c415e906132b4908690640100000000908690600401615021565b600060405180830381600087803b1580156132ce57600080fd5b505af11580156132e2573d6000803e3d6000fd5b5050505050505050565b6132f46142cf565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336c9190614f14565b88965091945092509050828015613381575081155b1561352d576133908489614018565b93508760c00151811660000361351b5760006133af8960c00151614096565b89516040808c015160608d0151825160008152602081019093526133dd9392309291908e9060448101615048565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a849261344c9291869164200000000091909114908b90600401614fa4565b6000604051808303816000875af115801561346b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134939190810190614fed565b604051631fb6491d60e11b81529095503390633f6c923a906134b990889060040161448b565b600060405180830381865afa1580156134d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134fe9190810190614e11565b955061351389608001518761010001516141bf565b610100870152505b61352a8686610100015161412d565b93505b505050935093915050565b60405168383ab13634b9b432b960b91b60208201526bffffffffffffffffffffffff19606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136389190810190614cb1565b905060008160008151811061364f5761364f614b5d565b602002602001015160001c905060008260018151811061367157613671614b5d565b602002602001015160001c905060008211945084156136a9576001600160801b03808316855281166020850152608081901c60408501525b5050509250929050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526000604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b15801561372157600080fd5b505af4158015613735573d6000803e3d6000fd5b50505050505050565b60006137687f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137be5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016118f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138209190614b0b565b61382861116c565b146138815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016118f6565b6001600160a01b03811630036138d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016118f6565b613901817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61392a61116c565b604080519182526001600160a01b038416602083015201611960565b60408051606081018252600080825260208201819052918101829052600061396e8585613538565b925061397a868461359f565b925090508061399c5760405163edeaa63b60e01b815260040160405180910390fd5b50935093915050565b866001600160a01b031663cf97256d8785602001516001600160801b03168660000151866139d391906149b8565b6001600160801b03166139e590614a07565b6139ef91906149d7565b6040518363ffffffff1660e01b8152600401613a0c929190614a23565b600060405180830381600087803b158015613a2657600080fd5b505af1158015613a3a573d6000803e3d6000fd5b50505050613a74878785604001516001600160801b0316866000015186613a6191906149b8565b6001600160801b03166108a191906149d7565b82516001600160801b03831684526001600160a01b03881663a1b2bf8b86613a9b87613059565b6040518363ffffffff1660e01b8152600401613ab8929190614980565b600060405180830381600087803b158015613ad257600080fd5b505af1158015613ae6573d6000803e3d6000fd5b505050508563ffffffff16876001600160a01b0316896001600160a01b03167f81e37f3d9f16cbf29a62d6a1c21d79b23ef29b54124ec44af43a50fffb9304f3848789604001518a6020015189604051613b449594939291906150ae565b60405180910390a46040516379359f6f60e01b81526001600160a01b0388811660048301528916906379359f6f90602401602060405180830381865afa158015613b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb69190614d6a565b156132e2576040516316e759bb60e01b815260040160405180910390fd5b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856000600160801b6040518563ffffffff1660e01b8152600401613c199493929190614b89565b600060405180830381865af4158015613c36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5e91908101906150fd565b909250905060005b8151811015613cb757613c9284838381518110613c8557613c85614b5d565b6020026020010151613fd7565b828281518110613ca457613ca4614b5d565b6020908102919091010152600101613c66565b509250929050565b6000613cc96142a1565b604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613d1e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613d469190810190614cb1565b9050600081600081518110613d5d57613d5d614b5d565b602002602001015160001c9050600082600181518110613d7f57613d7f614b5d565b602002602001015160001c905060008211945084156136a957606082811c60208087019190915283901c63ffffffff9081166040870152831685526001600160801b03821690850152608081811c908501525050509250929050565b600080836001600160a01b0316634b61cc33308564010000000060016040518563ffffffff1660e01b8152600401613e169493929190614b89565b600060405180830381865afa158015613e33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e5b9190810190614cb1565b905080600081518110613e7057613e70614b5d565b602002602001015160001c91505092915050565b604051630a32470160e41b81526001600160a01b03808516600483015283166024820152600060448201819052600160801b6064830152608482018390529073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af4158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2391906151c8565b949350505050565b604051636c2d9f2f60e01b8152306004820152602481018290526002604482015260009081906001600160a01b03851690636c2d9f2f90606401600060405180830381865afa158015613f82573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613faa9190810190614cb1565b9050600081600081518110613fc157613fc1614b5d565b6020908102919091010151151595945050505050565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6bffffffffffffffffffffffff1916602c83015291810183905260009101613581565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb09461404f948a946004016151e5565b6000604051808303816000875af115801561406e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614fed565b600064010000000082036140b257506330d9c91560e01b919050565b64040000000082036140cc5750630221347d60e61b919050565b64100000000082036140e65750635f9e7d7760e01b919050565b6402000000008203614100575063d86ed3e560e01b919050565b640800000000820361411a575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e9061404f908690869060040161522a565b60006001600160ff1b038211156130555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016118f6565b6000612d0b60006141d86141d286614155565b856141dd565b6141f2565b60008183136141ec5782612d0b565b50919050565b60008183136142015781612d0b565b5090919050565b6040805160c081018252600080825260208201819052918101919091526060810161424c604080516060810182526000808252602082018190529181019190915290565b81526020016142596142a1565b8152602001606081525090565b6040805160e0810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461113a57600080fd5b63ffffffff8116811461113a57600080fd5b80356001600160801b038116811461412857600080fd5b60008083601f84011261437a57600080fd5b5081356001600160401b0381111561439157600080fd5b6020830191508360208285010111156143a957600080fd5b9250929050565b60008060008060008060a087890312156143c957600080fd5b86356143d48161432a565b955060208701356143e48161433f565b945060408701356143f48161432a565b935061440260608801614351565b925060808701356001600160401b0381111561441d57600080fd5b61442989828a01614368565b979a9699509497509295939492505050565b60005b8381101561445657818101518382015260200161443e565b50506000910152565b6000815180845261447781602086016020860161443b565b601f01601f19169290920160200192915050565b602081526000612d0b602083018461445f565b6000806000606084860312156144b357600080fd5b83356144be8161432a565b925060208401356144ce8161432a565b915060408401356144de8161433f565b809150509250925092565b60008060008060008060a0878903121561450257600080fd5b863561450d8161432a565b9550602087013561451d8161432a565b9450604087013561452d8161433f565b935060608701356144028161432a565b60006020828403121561454f57600080fd5b813561455a8161432a565b9392505050565b6000806000806080858703121561457757600080fd5b84356145828161432a565b935060208501356145928161432a565b925060408501356145a28161433f565b915060608501356145b28161432a565b939692955090935050565b6000806000806000608086880312156145d557600080fd5b85356145e08161432a565b945060208601356145f08161432a565b935060408601356146008161433f565b925060608601356001600160401b0381111561461b57600080fd5b61462788828901614368565b969995985093965092949392505050565b60008060008060006080868803121561465057600080fd5b853561465b8161432a565b9450602086013561466b8161433f565b935061460060408701614351565b6000806000806080858703121561468f57600080fd5b843561469a8161432a565b935060208501356146aa8161432a565b925060408501356146ba8161433f565b9396929550929360600135925050565b6000806000606084860312156146df57600080fd5b83356146ea8161432a565b925060208401356146fa8161432a565b929592945050506040919091013590565b6000806040838503121561471e57600080fd5b82356147298161432a565b915060208301356147398161432a565b809150509250929050565b600081518084526020840193506020830160005b8281101561477f5781516001600160801b0316865260209586019590910190600101614758565b5093949350505050565b6060808252845190820181905260009060208601906080840190835b818110156147cc5783516001600160a01b03168352602093840193909201916001016147a5565b50508381036020808601919091528651808352918101925086019060005b8181101561480e57825163ffffffff168452602093840193909201916001016147ea565b50505082810360408401526148238185614744565b9695505050505050565b60008060008060006080868803121561484557600080fd5b85356148508161432a565b945060208601356148608161433f565b93506040860135925060608601356001600160401b0381111561461b57600080fd5b6000806040838503121561489557600080fd5b82356148a08161432a565b946020939093013593505050565b600080600080606085870312156148c457600080fd5b84356148cf8161432a565b935060208501356148df8161433f565b925060408501356001600160401b038111156148fa57600080fd5b61490687828801614368565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115612d0e57612d0e614912565b81810381811115612d0e57612d0e614912565b600081518084526020840193506020830160005b8281101561477f578151865260209586019590910190600101614962565b828152604060208201526000613f23604083018461494e565b6001600160801b038181168382160190811115612d0e57612d0e614912565b6001600160801b038281168282160390811115612d0e57612d0e614912565b80820260008212600160ff1b841416156149f3576149f3614912565b8181058314821517612d0e57612d0e614912565b6000600160ff1b8201614a1c57614a1c614912565b5060000390565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03841681526001600160801b0383166020820152606060408201819052600090614a6f9083018461445f565b95945050505050565b6001600160a01b038516815263ffffffff841660208201526001600160801b03831660408201526080606082018190526000906148239083018461445f565b6001600160a01b0383168152604060208201819052600090613f239083018461445f565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090614a6f9083018461445f565b600060208284031215614b1d57600080fd5b5051919050565b8082028115828204841417612d0e57612d0e614912565b600082614b5857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614beb57614beb614bb2565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614c1957614c19614bb2565b604052919050565b60006001600160401b03821115614c3a57614c3a614bb2565b5060051b60200190565b600082601f830112614c5557600080fd5b8151614c68614c6382614c21565b614bf1565b8082825260208201915060208360051b860101925085831115614c8a57600080fd5b602085015b83811015614ca7578051835260209283019201614c8f565b5095945050505050565b600060208284031215614cc357600080fd5b81516001600160401b03811115614cd957600080fd5b613f2384828501614c44565b8082018281126000831280158216821582161715614d0557614d05614912565b505092915050565b600063ffffffff821663ffffffff8103614d2957614d29614912565b60010192915050565b80516141288161432a565b600060208284031215614d4f57600080fd5b815161455a8161432a565b8051801515811461412857600080fd5b600060208284031215614d7c57600080fd5b612d0b82614d5a565b805160ff8116811461412857600080fd5b80516001600160e01b03198116811461412857600080fd5b600082601f830112614dbf57600080fd5b81516001600160401b03811115614dd857614dd8614bb2565b614deb601f8201601f1916602001614bf1565b818152846020838601011115614e0057600080fd5b613f2382602083016020870161443b565b600060208284031215614e2357600080fd5b81516001600160401b03811115614e3957600080fd5b82016101608185031215614e4c57600080fd5b614e54614bc8565b614e5d82614d85565b8152614e6b60208301614d85565b602082015260408281015190820152614e8660608301614d32565b6060820152614e9760808301614d96565b608082015260a08201516001600160401b03811115614eb557600080fd5b614ec186828501614dae565b60a08301525060c0828101519082015260e080830151908201526101008083015190820152614ef36101208301614d32565b610120820152614f066101408301614d32565b610140820152949350505050565b600080600060608486031215614f2957600080fd5b614f3284614d5a565b9250614f4060208501614d5a565b6040949094015192959394509192915050565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090614f869083018561445f565b8281036080840152614f98818561445f565b98975050505050505050565b6001600160a01b0385168152608060208201819052600090614fc89083018661445f565b84151560408401528281036060840152614fe2818561445f565b979650505050505050565b600060208284031215614fff57600080fd5b81516001600160401b0381111561501557600080fd5b613f2384828501614dae565b60018060a01b0384168152826020820152606060408201526000614a6f606083018461494e565b6001600160a01b038781168252861660208201526040810185905260c06060820181905260009061507b9083018661445f565b828103608084015261508d818661445f565b905082810360a08401526150a1818561445f565b9998505050505050505050565b6001600160801b03861681526001600160801b03851660208201526001600160801b03841660408201526001600160801b038316606082015260a060808201526000614fe260a083018461445f565b6000806040838503121561511057600080fd5b82516001600160401b0381111561512657600080fd5b8301601f8101851361513757600080fd5b8051615145614c6382614c21565b8082825260208201915060208360051b85010192508783111561516757600080fd5b6020840193505b828410156151925783516151818161433f565b82526020938401939091019061516e565b8095505050505060208301516001600160401b038111156151b257600080fd5b6151be85828601614c44565b9150509250929050565b6000602082840312156151da57600080fd5b815161455a8161433f565b60a0815260006151f860a083018861445f565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b60408152600061523d604083018561445f565b9050826020830152939250505056fea264697066735822122097713dbad36e0d2a05757ccefa277a1ccf85280c1457d35e27bc5b7874bdfc6f64736f6c634300081a0033";
19
+ static readonly bytecode = "0x60a0604052348015600f57600080fd5b50604051615307380380615307833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b60805161528261008560003960006110f301526152826000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637fbc7639116100b8578063acafa1b81161007c578063acafa1b814610336578063acf4a6c214610349578063b6dacdb81461035c578063b96731c21461037e578063cd7245c514610391578063d787840a146103e957600080fd5b80637fbc76391461029f578063899baaec146102b25780639903ad38146102e25780639b2e48bc146102ea578063a5653ced1461031857600080fd5b806350d75d25116100ff57806350d75d251461020457806352d1902d1461020c5780635b534051146102225780636041ae96146102665780637730599e1461027957600080fd5b8063232d2b581461013c57806323fc23f3146101655780632e5e74c6146101a95780633fd4176a146101bc57806346951954146101ef575b600080fd5b61014f61014a3660046143b0565b6103fc565b60405161015c919061448b565b60405180910390f35b61017861017336600461449e565b610b16565b6040805194151585526001600160801b0393841660208601529183169184019190915216606082015260800161015c565b61014f6101b73660046144e9565b610b81565b6101d773__$97ed594b3f931187fb739dcb88a7dff641$__81565b6040516001600160a01b03909116815260200161015c565b6102026101fd36600461453d565b6110e8565b005b6101d761113d565b61021461116c565b60405190815260200161015c565b610235610230366004614561565b6111d0565b60405161015c9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f6102743660046145bd565b6112a6565b7f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674610214565b61014f6102ad366004614638565b6116cb565b6102c56102c0366004614679565b6117b8565b604080519283526001600160801b0390911660208301520161015c565b61020261185d565b6102fd6102f83660046146ca565b61196b565b6040805193845260208401929092529082015260600161015c565b61032161010081565b60405163ffffffff909116815260200161015c565b61014f6103443660046144e9565b611b76565b61014f6103573660046145bd565b611f7b565b61036f61036a36600461470b565b612535565b60405161015c93929190614789565b61014f61038c36600461482d565b61278a565b6103a461039f366004614882565b61288a565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161015c565b61014f6103f73660046148ae565b61298c565b60606001600160a01b03851661042557604051633242919d60e21b815260040160405180910390fd5b61042d614208565b610435614266565b606060008061047a8c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b90508060a00151925080606001519150506104998b828b8d6000612d14565b60808901521515602080890191909152606088019190915260408088018390529287528251908101909252600082526104d5918d918c91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602086015191965050156105395764040000000060c084015261052f8386612e35565b60a0850152610554565b64010000000060c084015261054e8386612e35565b60a08501525b83602001518015610571575060808401515163ffffffff90811614155b1561064c576105c08460800151608001516001600160801b0316896001600160801b03168660600151602001516001600160801b03166105b19190614928565b6105bb919061493b565b612fec565b6060850180516001600160801b03909216602090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518363ffffffff1660e01b8152600401610615929190614980565b600060405180830381600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b50505050610833565b8360200151156106c9576106918460800151608001516001600160801b0316896001600160801b03168660600151604001516001600160801b03166105b19190614928565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518060a0016040528063ffffffff80168152602001826001600160a01b031681526020018b63ffffffff1681526020018560600151600001516001600160801b03168152602001896001600160801b031681525084608001819052508a6001600160a01b03166312a6a3f8856040015161074887608001516130f7565b6040518363ffffffff1660e01b8152600401610765929190614980565b600060405180830381600087803b15801561077f57600080fd5b505af1158015610793573d6000803e3d6000fd5b50505050878460600151604001516107ab9190614999565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916107e390613059565b6040518363ffffffff1660e01b8152600401610800929190614980565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050505b60008460800151608001516001600160801b031685608001516060015186606001516000015161086391906149b8565b6001600160801b031661087691906149d7565b905063ffffffff801685608001516000015163ffffffff160361090f576108a68c836108a184614a07565b61319e565b6001600160a01b038c1663cf97256d836108bf84614a07565b6040518363ffffffff1660e01b81526004016108dc929190614a23565b600060405180830381600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050505b60405163cf97256d60e01b81526001600160a01b038d169063cf97256d9061093d908d908590600401614a23565b600060405180830381600087803b15801561095757600080fd5b505af115801561096b573d6000803e3d6000fd5b50505050846020015115610a115760608086015151608080880180516001600160801b039384169401939093528251918c16910152604086015190516001600160a01b038e169163a1b2bf8b916109c1906130f7565b6040518363ffffffff1660e01b81526004016109de929190614980565b600060405180830381600087803b1580156109f857600080fd5b505af1158015610a0c573d6000803e3d6000fd5b505050505b846020015115610a405764080000000060c085015260a0850151610a37908590886132ec565b9650610a609050565b64020000000060c085015260a0850151610a5c908590886132ec565b9650505b8a63ffffffff16826001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398d8d88604051610aae93929190614a3c565b60405180910390a4896001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c182524977848e8d88604051610aff9493929190614a78565b60405180910390a350505050509695505050505050565b600080600080610b3f604080516060810182526000808252602082018190529181019190915290565b6000610b4b8888613538565b9050610b57898261359f565b90965091508515610b7657815160208301516040840151919650945092505b505093509350935093565b6060610b8b614208565b610b93614266565b600060606000610bd98c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015160a0909101519093509150506001600160a01b038816610c1157604051633242919d60e21b815260040160405180910390fd5b896001600160a01b0316826001600160a01b031614610c43576040516392da6d1760e01b815260040160405180910390fd5b610c518b8b8a8c6001612d14565b6080890152506060870152604080870182905291865281516020810190925260008252610c81918d918b91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c087015250909550610cd290508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691610d04916149b8565b6001600160801b0316610d1791906149d7565b60808601515190915063ffffffff90811614610d6457846080015160800151856060015160200151610d4991906149b8565b60608601516001600160801b03909116602090910152610d97565b846080015160800151856060015160400151610d8091906149b8565b60608601516001600160801b039091166040909101525b8b6001600160a01b031663a1b2bf8b8660000151610db88860600151613059565b6040518363ffffffff1660e01b8152600401610dd5929190614980565b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b5050505060808501515163ffffffff90811614610e2d57610e2d8c8a8760800151600001516136b3565b60808501515163ffffffff1663fffffffe1901610ebb57610e528c8c6108a184614a07565b6001600160a01b038c1663cf97256d8c610e6b84614a07565b6040518363ffffffff1660e01b8152600401610e88929190614a23565b600060405180830381600087803b158015610ea257600080fd5b505af1158015610eb6573d6000803e3d6000fd5b505050505b6040858101519051632704839760e01b81526004810191909152600260248201526001600160a01b038d1690632704839790604401600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038f16925063cf97256d9150610f50908c908590600401614a23565b600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151610f9e908590886132ec565b9050809650508963ffffffff168b6001600160a01b03168d6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428c86604051610ff0929190614ab7565b60405180910390a4886001600160a01b03168c6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558d8d8660405161103f93929190614adb565b60405180910390a38963ffffffff168b6001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398c60008760405161109693929190614a3c565b60405180910390a4886001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c1825249778d8d600087604051610aff9493929190614a78565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461113157604051630b00ec8f60e11b815260040160405180910390fd5b61113a8161373e565b50565b60006111677f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190614b0b565b6000806000806000806111fc604080516060810182526000808252602082018190529181019190915290565b6112046142a1565b6112128c8c8b8d6000612d14565b909b50929650909450925090508761123b5760008060008097509750975097505050505061129b565b8051608082015163ffffffff9182169091141597509550866112915780608001516001600160801b03168160600151836000015161127991906149b8565b6001600160801b031661128c9190614b24565b611294565b60005b9450505050505b945094509450949050565b60606112b0614208565b6112b8614266565b6000606060006112fe8b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a0015191505061131d8a8a848b6001612d14565b6080890181905260608901929092525060408701919091529085525163ffffffff1663fffffffe190161136357604051633741257360e01b815260040160405180910390fd5b6113828a8a866040015160405180602001604052806000815250612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c0870152509095506113d390508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691611405916149b8565b6001600160801b031661141891906149d7565b905084608001516080015185606001516020015161143691906149b8565b6060860180516001600160801b0390921660209092019190915260808087015101519051604001516114689190614999565b6060860180516001600160801b03909216604090920191909152855190516001600160a01b038d169163a1b2bf8b916114a090613059565b6040518363ffffffff1660e01b81526004016114bd929190614980565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b505050506115028b848760800151600001516136b3565b606080860151516080870180516001600160801b039092169190920152805163ffffffff9052604086015190516001600160a01b038d169163a1b2bf8b91611549906130f7565b6040518363ffffffff1660e01b8152600401611566929190614980565b600060405180830381600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506115c69086908590600401614a23565b600060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151611614908590886132ec565b9050809650508863ffffffff168a6001600160a01b03168c6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428686604051611666929190614ab7565b60405180910390a4826001600160a01b03168b6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558c8c866040516116b593929190614adb565b60405180910390a3505050505095945050505050565b6060600061170f8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806117258a848b613946565b9150915080600001516001600160801b0316886001600160801b031610156117605760405163cfdca72560e01b815260040160405180910390fd5b6117738a848b85858d8a60a001516139a5565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929d9c50505050505050505050505050565b60008060006117c78686613538565b90506000806117d6898461359f565b91509150816117f85760405163edeaa63b60e01b815260040160405180910390fd5b60008160400151826020015161180e9190614999565b6001600160801b0316905060006118286105bb838a614b3b565b8351909150611838908290614999565b955061184d826001600160801b038316614b24565b9650505050505094509492505050565b600054610100900460ff161580801561187d5750600054600160ff909116105b806118975750303b158015611897575060005460ff166001145b6118ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611922576000805461ff0019166101001790555b801561113a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600060608061197d8888613bd4565b909250905060005b81518163ffffffff161015611b5a57600061199e6142a1565b600080868563ffffffff16815181106119b9576119b9614b5d565b602002602001015190506119ec8d878763ffffffff16815181106119df576119df614b5d565b6020026020010151613cbf565b9094509250836119fe576119fe614b73565b8063ffffffff16836000015163ffffffff1614611a1d57611a1d614b73565b6001600160a01b038d16634b61cc33308e611a4263ffffffff8616600160801b614928565b60016040518563ffffffff1660e01b8152600401611a639493929190614b89565b600060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aa89190810190614cb1565b600081518110611aba57611aba614b5d565b6020026020010151915050611ae8604080516060810182526000808252602082018190529181019190915290565b611af28d8361359f565b909450905083611b0457611b04614b73565b82608001516001600160801b031683606001518260000151611b2691906149b8565b6001600160801b0316611b3991906149d7565b611b43908b614ce5565b99505050505080611b5390614d0d565b9050611985565b50611b658888613ddb565b935060009250505093509350939050565b6060611bb88784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b506001600160a01b038416611be057604051633242919d60e21b815260040160405180910390fd5b611be8614208565b611bf0614266565b611bfe8989888a6001612d14565b6080870181905260608701929092525060408501919091529083525163ffffffff90811614611c4057604051633eb2f84960e01b815260040160405180910390fd5b60008260800151608001516001600160801b0316836080015160600151846060015160000151611c7091906149b8565b6001600160801b0316611c839190614b24565b9050611ca48a8a856040015160405180602001604052806000815250612e07565b915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505082159150611f3490505764040000000060c0830152611cfc8285612e35565b60a0840152611d0f8a8a6108a184614a07565b6001600160a01b038a1663cf97256d8a611d2884614a07565b6040518363ffffffff1660e01b8152600401611d45929190614a23565b600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050606083810151516080850180516001600160801b039092169190920152604084015190516001600160a01b038c169163a1b2bf8b91611db5906130f7565b6040518363ffffffff1660e01b8152600401611dd2929190614980565b600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038d16925063cf97256d9150611e32908a908590600401614a23565b600060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050508763ffffffff16896001600160a01b03168b6001600160a01b03167f467eccd248ef31c8bcef16d94856855799a8783aeef10f3759e43614059a6bb18a85604051611eb0929190614a23565b60405180910390a4604080516001600160a01b038b8116825263ffffffff8b166020830152918101839052818916918c16907f48a3d91d4a07e4982b081260e24f922bd33bb965882772d6de19c922c3eabdea9060600160405180910390a364080000000060c083015260a0830151611f2b908390866132ec565b9450611f6e9050565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060611f85614208565b611f8d614266565b600060606000611fd38b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a00151915050611ff28a8a848b6000612d14565b60808901521580156020890152606088019190915260408701919091529085526120425760808401515163ffffffff9081161461204257604051633eb2f84960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040808a015181516020810190925291815294995061209b948f94508e9350909150612e07565b925083602001516121c45764010000000060c08401526120bb8386612e35565b60a08086019190915260408051918201815260008083526001600160a01b038c16602084015263ffffffff8b1691830191909152606080870151516001600160801b031690830152608080830191909152850152835161211e908b908490613e84565b60808501805163ffffffff909216909152604085015190516001600160a01b038c16916312a6a3f891612150906130f7565b6040518363ffffffff1660e01b815260040161216d929190614980565b600060405180830381600087803b15801561218757600080fd5b505af115801561219b573d6000803e3d6000fd5b505064020000000060c0860152505060a08401516121bb908490876132ec565b95506124859050565b64040000000060c08401526121d98386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b039092169161220b916149b8565b6001600160801b031661221e91906149d7565b9050846080015160800151856060015160200181815161223e9190614999565b6001600160801b03169052506080808601510151606086015160400180516122679083906149b8565b6001600160801b0316905250845160608601516001600160a01b038d169163a1b2bf8b9161229490613059565b6040518363ffffffff1660e01b81526004016122b1929190614980565b600060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506122f28b8b836108a190614a07565b6001600160a01b038b1663cf97256d8b61230b84614a07565b6040518363ffffffff1660e01b8152600401612328929190614a23565b600060405180830381600087803b15801561234257600080fd5b505af1158015612356573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506123889086908590600401614a23565b600060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b5050506060808701515160808801516001600160801b039091169101525084516123e3908c908590613e84565b60808601805163ffffffff909216909152604086015190516001600160a01b038d169163a1b2bf8b91612415906130f7565b6040518363ffffffff1660e01b8152600401612432929190614980565b600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505064080000000060c0870152505060a0850151612480908590886132ec565b965050505b8763ffffffff16896001600160a01b03168b6001600160a01b03167f492d2641617cfaf24ac7328f85bc5bdf5113537d78dc7671afa4f49a73f053c285856040516124d1929190614ab7565b60405180910390a4816001600160a01b03168a6001600160a01b03167fc0b8396b655615cdb85fe462a9a1792480816f909cd46d9517a940b386dfbf6b8b8b8560405161252093929190614adb565b60405180910390a35050505095945050505050565b60608060608060606125478787613bd4565b909250905060006125566142a1565b82516001600160401b0381111561256f5761256f614bb2565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50965082516001600160401b038111156125b4576125b4614bb2565b6040519080825280602002602001820160405280156125dd578160200160208202803683370190505b50955082516001600160401b038111156125f9576125f9614bb2565b604051908082528060200260200182016040528015612622578160200160208202803683370190505b50945060005b83518163ffffffff16101561277e576000858263ffffffff168151811061265157612651614b5d565b602002602001015190506000858363ffffffff168151811061267557612675614b5d565b602002602001015190506126898c82613cbf565b90955093508461269b5761269b614b73565b8163ffffffff16846000015163ffffffff16146126ba576126ba614b73565b83602001518a8463ffffffff16815181106126d7576126d7614b5d565b60200260200101906001600160a01b031690816001600160a01b0316815250508360400151898463ffffffff168151811061271457612714614b5d565b602002602001019063ffffffff16908163ffffffff16815250508360800151888463ffffffff168151811061274b5761274b614b5d565b60200260200101906001600160801b031690816001600160801b03168152505050508061277790614d0d565b9050612628565b50505050509250925092565b606060006127ce8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806127e48a848b613946565b915091506000816040015182602001516127fe9190614999565b6001600160801b03169050801561284457600061281e6105bb838c614b3b565b90506128428c868d87878689600001516128389190614999565b8c60a001516139a5565b505b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929e9d5050505050505050505050505050565b60008060008060008060006128b8604080516060810182526000808252602082018190529181019190915290565b6128c06142a1565b6128ca8b8b613cbf565b9094509050836128ed5760405163016d919360e71b815260040160405180910390fd5b80602001519850806040015197506129058989613538565b92506129118b8461359f565b90945091508361292357612923614b73565b8051608082015163ffffffff9182169091141597509550866129795780608001516001600160801b03168160600151836000015161296191906149b8565b6001600160801b03166129749190614b24565b61297c565b60005b9450505050509295509295909350565b606060006129d08685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015190915060006129e48288613538565b90506129f08882613f2b565b15612a0e57604051635c02a51760e01b815260040160405180910390fd5b876001600160a01b03166312a6a3f882612a5f604051806060016040528060006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815250613059565b6040518363ffffffff1660e01b8152600401612a7c929190614980565b600060405180830381600087803b158015612a9657600080fd5b505af1158015612aaa573d6000803e3d6000fd5b505050508663ffffffff16826001600160a01b0316896001600160a01b03167f01ab8663165edfb7390d9e5f75d960a66dacf4f01fa9787e3a731c870d0da9218660a00151604051612afc919061448b565b60405180910390a485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929b9a5050505050505050505050565b612b4f6142cf565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbb9190614d3d565b6001600160a01b031614612c055760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016118f6565b604051632fd0a1cd60e21b8152339063bf42873490612c2890859060040161448b565b602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c699190614d6a565b612ca35760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016118f6565b604051631fb6491d60e11b81523390633f6c923a90612cc690859060040161448b565b600060405180830381865afa158015612ce3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614e11565b90505b92915050565b6040805160608101825260008082526020820181905291810182905281906000612d3c6142a1565b6000612d488a89613538565b9550612d548987613fd7565b9450612d608b8761359f565b9450905080612d825760405163edeaa63b60e01b815260040160405180910390fd5b612d8c8b86613cbf565b90935091508615612df95782612db55760405163016d919360e71b815260040160405180910390fd5b896001600160a01b031682602001516001600160a01b031614612dda57612dda614b73565b8763ffffffff16826040015163ffffffff1614612df957612df9614b73565b509550955095509550959050565b612e0f614266565b6001600160a01b0394851681529290931660208301526040820152606081019190915290565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015612e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ead9190614f14565b91945092509050828015612ebf575081155b15612fe3576000612ed08688614018565b90508660c001518216600003612fd5576000612eef8860c00151614096565b88516040808b015160608c015182516000815260208101909352612f1b93923092919060448101614f53565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292612f8a9291869164100000000091909114908890600401614fa4565b6000604051808303816000875af1158015612fa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fd19190810190614fed565b9550505b612fe086600061412d565b50505b50505092915050565b60006001600160801b038211156130555760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016118f6565b5090565b604080516002808252606080830184529260208301908036833701905050905081600001516001600160801b0316600160801b1760001b816000815181106130a3576130a3614b5d565b602002602001018181525050608082604001516001600160801b0316901b82602001516001600160801b03161760001b816001815181106130e6576130e6614b5d565b602002602001018181525050919050565b6040805160028082526060808301845292602083019080368337019050509050816000015163ffffffff166020836040015163ffffffff16901b606084602001516001600160a01b0316901b171760001b8160008151811061315b5761315b614b5d565b602002602001018181525050608082608001516001600160801b0316901b82606001516001600160801b03161760001b816001815181106130e6576130e6614b5d565b806000036131ab57505050565b604051634b61cc3360e01b81526000906001600160a01b03851690634b61cc33906131e6903090879064010000000090600190600401614b89565b600060405180830381865afa158015613203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261322b9190810190614cb1565b9050816132548260008151811061324457613244614b5d565b602002602001015160001c614155565b61325e9190614ce5565b60001b8160008151811061327457613274614b5d565b602090810291909101015260405163048620af60e11b81526001600160a01b0385169063090c415e906132b4908690640100000000908690600401615021565b600060405180830381600087803b1580156132ce57600080fd5b505af11580156132e2573d6000803e3d6000fd5b5050505050505050565b6132f46142cf565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336c9190614f14565b88965091945092509050828015613381575081155b1561352d576133908489614018565b93508760c00151811660000361351b5760006133af8960c00151614096565b89516040808c015160608d0151825160008152602081019093526133dd9392309291908e9060448101615048565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a849261344c9291869164200000000091909114908b90600401614fa4565b6000604051808303816000875af115801561346b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134939190810190614fed565b604051631fb6491d60e11b81529095503390633f6c923a906134b990889060040161448b565b600060405180830381865afa1580156134d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134fe9190810190614e11565b955061351389608001518761010001516141bf565b610100870152505b61352a8686610100015161412d565b93505b505050935093915050565b60405168383ab13634b9b432b960b91b60208201526bffffffffffffffffffffffff19606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136389190810190614cb1565b905060008160008151811061364f5761364f614b5d565b602002602001015160001c905060008260018151811061367157613671614b5d565b602002602001015160001c905060008211945084156136a9576001600160801b03808316855281166020850152608081901c60408501525b5050509250929050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526000604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b15801561372157600080fd5b505af4158015613735573d6000803e3d6000fd5b50505050505050565b60006137687f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137be5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016118f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138209190614b0b565b61382861116c565b146138815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016118f6565b6001600160a01b03811630036138d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016118f6565b613901817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61392a61116c565b604080519182526001600160a01b038416602083015201611960565b60408051606081018252600080825260208201819052918101829052600061396e8585613538565b925061397a868461359f565b925090508061399c5760405163edeaa63b60e01b815260040160405180910390fd5b50935093915050565b866001600160a01b031663cf97256d8785602001516001600160801b03168660000151866139d391906149b8565b6001600160801b03166139e590614a07565b6139ef91906149d7565b6040518363ffffffff1660e01b8152600401613a0c929190614a23565b600060405180830381600087803b158015613a2657600080fd5b505af1158015613a3a573d6000803e3d6000fd5b50505050613a74878785604001516001600160801b0316866000015186613a6191906149b8565b6001600160801b03166108a191906149d7565b82516001600160801b03831684526001600160a01b03881663a1b2bf8b86613a9b87613059565b6040518363ffffffff1660e01b8152600401613ab8929190614980565b600060405180830381600087803b158015613ad257600080fd5b505af1158015613ae6573d6000803e3d6000fd5b505050508563ffffffff16876001600160a01b0316896001600160a01b03167f81e37f3d9f16cbf29a62d6a1c21d79b23ef29b54124ec44af43a50fffb9304f3848789604001518a6020015189604051613b449594939291906150ae565b60405180910390a46040516379359f6f60e01b81526001600160a01b0388811660048301528916906379359f6f90602401602060405180830381865afa158015613b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb69190614d6a565b156132e2576040516316e759bb60e01b815260040160405180910390fd5b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856000600160801b6040518563ffffffff1660e01b8152600401613c199493929190614b89565b600060405180830381865af4158015613c36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5e91908101906150fd565b909250905060005b8151811015613cb757613c9284838381518110613c8557613c85614b5d565b6020026020010151613fd7565b828281518110613ca457613ca4614b5d565b6020908102919091010152600101613c66565b509250929050565b6000613cc96142a1565b604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613d1e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613d469190810190614cb1565b9050600081600081518110613d5d57613d5d614b5d565b602002602001015160001c9050600082600181518110613d7f57613d7f614b5d565b602002602001015160001c905060008211945084156136a957606082811c60208087019190915283901c63ffffffff9081166040870152831685526001600160801b03821690850152608081811c908501525050509250929050565b600080836001600160a01b0316634b61cc33308564010000000060016040518563ffffffff1660e01b8152600401613e169493929190614b89565b600060405180830381865afa158015613e33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e5b9190810190614cb1565b905080600081518110613e7057613e70614b5d565b602002602001015160001c91505092915050565b604051630a32470160e41b81526001600160a01b03808516600483015283166024820152600060448201819052600160801b6064830152608482018390529073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af4158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2391906151c8565b949350505050565b604051636c2d9f2f60e01b8152306004820152602481018290526002604482015260009081906001600160a01b03851690636c2d9f2f90606401600060405180830381865afa158015613f82573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613faa9190810190614cb1565b9050600081600081518110613fc157613fc1614b5d565b6020908102919091010151151595945050505050565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6bffffffffffffffffffffffff1916602c83015291810183905260009101613581565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb09461404f948a946004016151e5565b6000604051808303816000875af115801561406e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614fed565b600064010000000082036140b257506330d9c91560e01b919050565b64040000000082036140cc5750630221347d60e61b919050565b64100000000082036140e65750635f9e7d7760e01b919050565b6402000000008203614100575063d86ed3e560e01b919050565b640800000000820361411a575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e9061404f908690869060040161522a565b60006001600160ff1b038211156130555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016118f6565b6000612d0b60006141d86141d286614155565b856141dd565b6141f2565b60008183136141ec5782612d0b565b50919050565b60008183136142015781612d0b565b5090919050565b6040805160c081018252600080825260208201819052918101919091526060810161424c604080516060810182526000808252602082018190529181019190915290565b81526020016142596142a1565b8152602001606081525090565b6040805160e0810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461113a57600080fd5b63ffffffff8116811461113a57600080fd5b80356001600160801b038116811461412857600080fd5b60008083601f84011261437a57600080fd5b5081356001600160401b0381111561439157600080fd5b6020830191508360208285010111156143a957600080fd5b9250929050565b60008060008060008060a087890312156143c957600080fd5b86356143d48161432a565b955060208701356143e48161433f565b945060408701356143f48161432a565b935061440260608801614351565b925060808701356001600160401b0381111561441d57600080fd5b61442989828a01614368565b979a9699509497509295939492505050565b60005b8381101561445657818101518382015260200161443e565b50506000910152565b6000815180845261447781602086016020860161443b565b601f01601f19169290920160200192915050565b602081526000612d0b602083018461445f565b6000806000606084860312156144b357600080fd5b83356144be8161432a565b925060208401356144ce8161432a565b915060408401356144de8161433f565b809150509250925092565b60008060008060008060a0878903121561450257600080fd5b863561450d8161432a565b9550602087013561451d8161432a565b9450604087013561452d8161433f565b935060608701356144028161432a565b60006020828403121561454f57600080fd5b813561455a8161432a565b9392505050565b6000806000806080858703121561457757600080fd5b84356145828161432a565b935060208501356145928161432a565b925060408501356145a28161433f565b915060608501356145b28161432a565b939692955090935050565b6000806000806000608086880312156145d557600080fd5b85356145e08161432a565b945060208601356145f08161432a565b935060408601356146008161433f565b925060608601356001600160401b0381111561461b57600080fd5b61462788828901614368565b969995985093965092949392505050565b60008060008060006080868803121561465057600080fd5b853561465b8161432a565b9450602086013561466b8161433f565b935061460060408701614351565b6000806000806080858703121561468f57600080fd5b843561469a8161432a565b935060208501356146aa8161432a565b925060408501356146ba8161433f565b9396929550929360600135925050565b6000806000606084860312156146df57600080fd5b83356146ea8161432a565b925060208401356146fa8161432a565b929592945050506040919091013590565b6000806040838503121561471e57600080fd5b82356147298161432a565b915060208301356147398161432a565b809150509250929050565b600081518084526020840193506020830160005b8281101561477f5781516001600160801b0316865260209586019590910190600101614758565b5093949350505050565b6060808252845190820181905260009060208601906080840190835b818110156147cc5783516001600160a01b03168352602093840193909201916001016147a5565b50508381036020808601919091528651808352918101925086019060005b8181101561480e57825163ffffffff168452602093840193909201916001016147ea565b50505082810360408401526148238185614744565b9695505050505050565b60008060008060006080868803121561484557600080fd5b85356148508161432a565b945060208601356148608161433f565b93506040860135925060608601356001600160401b0381111561461b57600080fd5b6000806040838503121561489557600080fd5b82356148a08161432a565b946020939093013593505050565b600080600080606085870312156148c457600080fd5b84356148cf8161432a565b935060208501356148df8161433f565b925060408501356001600160401b038111156148fa57600080fd5b61490687828801614368565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115612d0e57612d0e614912565b81810381811115612d0e57612d0e614912565b600081518084526020840193506020830160005b8281101561477f578151865260209586019590910190600101614962565b828152604060208201526000613f23604083018461494e565b6001600160801b038181168382160190811115612d0e57612d0e614912565b6001600160801b038281168282160390811115612d0e57612d0e614912565b80820260008212600160ff1b841416156149f3576149f3614912565b8181058314821517612d0e57612d0e614912565b6000600160ff1b8201614a1c57614a1c614912565b5060000390565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03841681526001600160801b0383166020820152606060408201819052600090614a6f9083018461445f565b95945050505050565b6001600160a01b038516815263ffffffff841660208201526001600160801b03831660408201526080606082018190526000906148239083018461445f565b6001600160a01b0383168152604060208201819052600090613f239083018461445f565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090614a6f9083018461445f565b600060208284031215614b1d57600080fd5b5051919050565b8082028115828204841417612d0e57612d0e614912565b600082614b5857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614beb57614beb614bb2565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614c1957614c19614bb2565b604052919050565b60006001600160401b03821115614c3a57614c3a614bb2565b5060051b60200190565b600082601f830112614c5557600080fd5b8151614c68614c6382614c21565b614bf1565b8082825260208201915060208360051b860101925085831115614c8a57600080fd5b602085015b83811015614ca7578051835260209283019201614c8f565b5095945050505050565b600060208284031215614cc357600080fd5b81516001600160401b03811115614cd957600080fd5b613f2384828501614c44565b8082018281126000831280158216821582161715614d0557614d05614912565b505092915050565b600063ffffffff821663ffffffff8103614d2957614d29614912565b60010192915050565b80516141288161432a565b600060208284031215614d4f57600080fd5b815161455a8161432a565b8051801515811461412857600080fd5b600060208284031215614d7c57600080fd5b612d0b82614d5a565b805160ff8116811461412857600080fd5b80516001600160e01b03198116811461412857600080fd5b600082601f830112614dbf57600080fd5b81516001600160401b03811115614dd857614dd8614bb2565b614deb601f8201601f1916602001614bf1565b818152846020838601011115614e0057600080fd5b613f2382602083016020870161443b565b600060208284031215614e2357600080fd5b81516001600160401b03811115614e3957600080fd5b82016101608185031215614e4c57600080fd5b614e54614bc8565b614e5d82614d85565b8152614e6b60208301614d85565b602082015260408281015190820152614e8660608301614d32565b6060820152614e9760808301614d96565b608082015260a08201516001600160401b03811115614eb557600080fd5b614ec186828501614dae565b60a08301525060c0828101519082015260e080830151908201526101008083015190820152614ef36101208301614d32565b610120820152614f066101408301614d32565b610140820152949350505050565b600080600060608486031215614f2957600080fd5b614f3284614d5a565b9250614f4060208501614d5a565b6040949094015192959394509192915050565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090614f869083018561445f565b8281036080840152614f98818561445f565b98975050505050505050565b6001600160a01b0385168152608060208201819052600090614fc89083018661445f565b84151560408401528281036060840152614fe2818561445f565b979650505050505050565b600060208284031215614fff57600080fd5b81516001600160401b0381111561501557600080fd5b613f2384828501614dae565b60018060a01b0384168152826020820152606060408201526000614a6f606083018461494e565b6001600160a01b038781168252861660208201526040810185905260c06060820181905260009061507b9083018661445f565b828103608084015261508d818661445f565b905082810360a08401526150a1818561445f565b9998505050505050505050565b6001600160801b03861681526001600160801b03851660208201526001600160801b03841660408201526001600160801b038316606082015260a060808201526000614fe260a083018461445f565b6000806040838503121561511057600080fd5b82516001600160401b0381111561512657600080fd5b8301601f8101851361513757600080fd5b8051615145614c6382614c21565b8082825260208201915060208360051b85010192508783111561516757600080fd5b6020840193505b828410156151925783516151818161433f565b82526020938401939091019061516e565b8095505050505060208301516001600160401b038111156151b257600080fd5b6151be85828601614c44565b9150509250929050565b6000602082840312156151da57600080fd5b815161455a8161433f565b60a0815260006151f860a083018861445f565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b60408152600061523d604083018561445f565b9050826020830152939250505056fea264697066735822122038f14cc322287955492be5d960cc8a11b99759d422e80df0ef15f7763a98892b64736f6c634300081a0033";
20
20
  static readonly abi: readonly [{
21
21
  readonly inputs: readonly [{
22
22
  readonly internalType: "contract ISuperfluid";