@superfluid-finance/sdk-core 0.8.1-dev.23b300d.0 → 0.8.1-dev.2898aaa.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 (320) hide show
  1. package/dist/index.umd.js +251 -103
  2. package/dist/main/BatchCall.d.ts.map +1 -1
  3. package/dist/main/ConstantFlowAgreementV1.d.ts.map +1 -1
  4. package/dist/main/ERC20Token.d.ts.map +1 -1
  5. package/dist/main/ERC721Token.d.ts.map +1 -1
  6. package/dist/main/Framework.d.ts.map +1 -1
  7. package/dist/main/GeneralDistributionAgreementV1.d.ts.map +1 -1
  8. package/dist/main/Governance.d.ts.map +1 -1
  9. package/dist/main/InstantDistributionAgreementV1.d.ts.map +1 -1
  10. package/dist/main/Operation.d.ts.map +1 -1
  11. package/dist/main/Query.d.ts.map +1 -1
  12. package/dist/main/SuperToken.d.ts +22 -22
  13. package/dist/main/SuperToken.d.ts.map +1 -1
  14. package/dist/main/SuperfluidAgreement.d.ts.map +1 -1
  15. package/dist/main/SuperfluidPool.d.ts.map +1 -1
  16. package/dist/main/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  17. package/dist/main/multiplyGasLimit.js +1 -1
  18. package/dist/main/multiplyGasLimit.js.map +1 -1
  19. package/dist/main/pagination.d.ts.map +1 -1
  20. package/dist/main/pagination.js +5 -5
  21. package/dist/main/pagination.js.map +1 -1
  22. package/dist/main/subgraph/entities/account/account.d.ts +2 -2
  23. package/dist/main/subgraph/entities/account/account.d.ts.map +1 -1
  24. package/dist/main/subgraph/entities/account/accounts.generated.d.ts +1 -8
  25. package/dist/main/subgraph/entities/account/accounts.generated.d.ts.map +1 -1
  26. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts +2 -2
  27. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts.map +1 -1
  28. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts +1 -8
  29. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts.map +1 -1
  30. package/dist/main/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts +2 -2
  31. package/dist/main/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts.map +1 -1
  32. package/dist/main/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLogs.generated.d.ts +1 -8
  33. package/dist/main/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLogs.generated.d.ts.map +1 -1
  34. package/dist/main/subgraph/entities/flowOperator/flowOperator.d.ts +2 -2
  35. package/dist/main/subgraph/entities/flowOperator/flowOperator.d.ts.map +1 -1
  36. package/dist/main/subgraph/entities/flowOperator/flowOperators.generated.d.ts +1 -8
  37. package/dist/main/subgraph/entities/flowOperator/flowOperators.generated.d.ts.map +1 -1
  38. package/dist/main/subgraph/entities/index/index.d.ts +2 -2
  39. package/dist/main/subgraph/entities/index/index.d.ts.map +1 -1
  40. package/dist/main/subgraph/entities/index/indexes.generated.d.ts +1 -8
  41. package/dist/main/subgraph/entities/index/indexes.generated.d.ts.map +1 -1
  42. package/dist/main/subgraph/entities/indexSubscription/indexSubscription.d.ts +2 -2
  43. package/dist/main/subgraph/entities/indexSubscription/indexSubscription.d.ts.map +1 -1
  44. package/dist/main/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts +1 -8
  45. package/dist/main/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts.map +1 -1
  46. package/dist/main/subgraph/entities/pool/pool.d.ts +2 -2
  47. package/dist/main/subgraph/entities/pool/pool.d.ts.map +1 -1
  48. package/dist/main/subgraph/entities/pool/pools.generated.d.ts +2 -11
  49. package/dist/main/subgraph/entities/pool/pools.generated.d.ts.map +1 -1
  50. package/dist/main/subgraph/entities/poolDistributor/poolDistributor.d.ts +2 -2
  51. package/dist/main/subgraph/entities/poolDistributor/poolDistributor.d.ts.map +1 -1
  52. package/dist/main/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts +1 -8
  53. package/dist/main/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts.map +1 -1
  54. package/dist/main/subgraph/entities/poolMember/poolMember.d.ts +2 -2
  55. package/dist/main/subgraph/entities/poolMember/poolMember.d.ts.map +1 -1
  56. package/dist/main/subgraph/entities/poolMember/poolMembers.generated.d.ts +1 -8
  57. package/dist/main/subgraph/entities/poolMember/poolMembers.generated.d.ts.map +1 -1
  58. package/dist/main/subgraph/entities/stream/stream.d.ts +2 -2
  59. package/dist/main/subgraph/entities/stream/stream.d.ts.map +1 -1
  60. package/dist/main/subgraph/entities/stream/streams.generated.d.ts +1 -8
  61. package/dist/main/subgraph/entities/stream/streams.generated.d.ts.map +1 -1
  62. package/dist/main/subgraph/entities/streamPeriod/streamPeriod.d.ts +2 -2
  63. package/dist/main/subgraph/entities/streamPeriod/streamPeriod.d.ts.map +1 -1
  64. package/dist/main/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts +1 -8
  65. package/dist/main/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts.map +1 -1
  66. package/dist/main/subgraph/entities/token/token.d.ts +2 -2
  67. package/dist/main/subgraph/entities/token/token.d.ts.map +1 -1
  68. package/dist/main/subgraph/entities/token/tokens.generated.d.ts +1 -8
  69. package/dist/main/subgraph/entities/token/tokens.generated.d.ts.map +1 -1
  70. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistic.d.ts +2 -2
  71. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistic.d.ts.map +1 -1
  72. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts +1 -8
  73. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts.map +1 -1
  74. package/dist/main/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts +2 -2
  75. package/dist/main/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts.map +1 -1
  76. package/dist/main/subgraph/entities/tokenStatisticLog/tokenStatisticLogs.generated.d.ts +1 -8
  77. package/dist/main/subgraph/entities/tokenStatisticLog/tokenStatisticLogs.generated.d.ts.map +1 -1
  78. package/dist/main/subgraph/events/events.d.ts +5 -5
  79. package/dist/main/subgraph/events/events.d.ts.map +1 -1
  80. package/dist/main/subgraph/events/events.generated.d.ts +42 -336
  81. package/dist/main/subgraph/events/events.generated.d.ts.map +1 -1
  82. package/dist/main/subgraph/events/flowUpdatedEvent.d.ts +2 -2
  83. package/dist/main/subgraph/events/flowUpdatedEvent.d.ts.map +1 -1
  84. package/dist/main/subgraph/events/indexUpdatedEvent.d.ts +2 -2
  85. package/dist/main/subgraph/events/indexUpdatedEvent.d.ts.map +1 -1
  86. package/dist/main/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts +2 -2
  87. package/dist/main/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts.map +1 -1
  88. package/dist/main/subgraph/events/transferEvents.d.ts +2 -2
  89. package/dist/main/subgraph/events/transferEvents.d.ts.map +1 -1
  90. package/dist/main/subgraph/meta/meta.generated.d.ts +1 -3
  91. package/dist/main/subgraph/meta/meta.generated.d.ts.map +1 -1
  92. package/dist/main/subgraph/queries/getAccountTokenSnapshots.generated.d.ts +1 -7
  93. package/dist/main/subgraph/queries/getAccountTokenSnapshots.generated.d.ts.map +1 -1
  94. package/dist/main/subgraph/queries/getAllEvents.generated.d.ts +1 -7
  95. package/dist/main/subgraph/queries/getAllEvents.generated.d.ts.map +1 -1
  96. package/dist/main/subgraph/queries/getIndexSubscriptions.generated.d.ts +1 -7
  97. package/dist/main/subgraph/queries/getIndexSubscriptions.generated.d.ts.map +1 -1
  98. package/dist/main/subgraph/queries/getIndexes.generated.d.ts +1 -7
  99. package/dist/main/subgraph/queries/getIndexes.generated.d.ts.map +1 -1
  100. package/dist/main/subgraph/queries/getStreams.generated.d.ts +1 -7
  101. package/dist/main/subgraph/queries/getStreams.generated.d.ts.map +1 -1
  102. package/dist/main/subgraph/queries/getTokens.generated.d.ts +1 -7
  103. package/dist/main/subgraph/queries/getTokens.generated.d.ts.map +1 -1
  104. package/dist/main/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts +9 -1
  105. package/dist/main/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts.map +1 -1
  106. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts +3 -0
  107. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts.map +1 -1
  108. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts +3 -0
  109. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -1
  110. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  111. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  112. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  113. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  114. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  115. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  116. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts +18 -0
  117. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts.map +1 -1
  118. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js +23 -0
  119. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js.map +1 -1
  120. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  121. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  122. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  123. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  124. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  125. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  126. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  127. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  128. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  129. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  130. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  131. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  132. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  133. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  134. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  135. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  136. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  137. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  138. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +1 -1
  139. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +1 -1
  140. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
  141. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
  142. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
  143. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +1 -1
  144. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  145. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  146. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  147. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  148. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +1 -1
  149. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +1 -1
  150. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +1 -1
  151. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +1 -1
  152. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +5 -1
  153. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  154. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +6 -1
  155. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  156. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +5 -1
  157. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  158. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +6 -1
  159. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  160. package/dist/main/utils.d.ts +1 -1
  161. package/dist/main/utils.d.ts.map +1 -1
  162. package/dist/main/utils.js +3 -3
  163. package/dist/main/utils.js.map +1 -1
  164. package/dist/module/BatchCall.d.ts.map +1 -1
  165. package/dist/module/ConstantFlowAgreementV1.d.ts.map +1 -1
  166. package/dist/module/ERC20Token.d.ts.map +1 -1
  167. package/dist/module/ERC721Token.d.ts.map +1 -1
  168. package/dist/module/Framework.d.ts.map +1 -1
  169. package/dist/module/GeneralDistributionAgreementV1.d.ts.map +1 -1
  170. package/dist/module/Governance.d.ts.map +1 -1
  171. package/dist/module/InstantDistributionAgreementV1.d.ts.map +1 -1
  172. package/dist/module/Operation.d.ts.map +1 -1
  173. package/dist/module/Query.d.ts.map +1 -1
  174. package/dist/module/SuperToken.d.ts +22 -22
  175. package/dist/module/SuperToken.d.ts.map +1 -1
  176. package/dist/module/SuperfluidAgreement.d.ts.map +1 -1
  177. package/dist/module/SuperfluidPool.d.ts.map +1 -1
  178. package/dist/module/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  179. package/dist/module/pagination.d.ts.map +1 -1
  180. package/dist/module/subgraph/entities/account/account.d.ts +2 -2
  181. package/dist/module/subgraph/entities/account/account.d.ts.map +1 -1
  182. package/dist/module/subgraph/entities/account/accounts.generated.d.ts +1 -8
  183. package/dist/module/subgraph/entities/account/accounts.generated.d.ts.map +1 -1
  184. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts +2 -2
  185. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts.map +1 -1
  186. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts +1 -8
  187. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts.map +1 -1
  188. package/dist/module/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts +2 -2
  189. package/dist/module/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts.map +1 -1
  190. package/dist/module/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLogs.generated.d.ts +1 -8
  191. package/dist/module/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLogs.generated.d.ts.map +1 -1
  192. package/dist/module/subgraph/entities/flowOperator/flowOperator.d.ts +2 -2
  193. package/dist/module/subgraph/entities/flowOperator/flowOperator.d.ts.map +1 -1
  194. package/dist/module/subgraph/entities/flowOperator/flowOperators.generated.d.ts +1 -8
  195. package/dist/module/subgraph/entities/flowOperator/flowOperators.generated.d.ts.map +1 -1
  196. package/dist/module/subgraph/entities/index/index.d.ts +2 -2
  197. package/dist/module/subgraph/entities/index/index.d.ts.map +1 -1
  198. package/dist/module/subgraph/entities/index/indexes.generated.d.ts +1 -8
  199. package/dist/module/subgraph/entities/index/indexes.generated.d.ts.map +1 -1
  200. package/dist/module/subgraph/entities/indexSubscription/indexSubscription.d.ts +2 -2
  201. package/dist/module/subgraph/entities/indexSubscription/indexSubscription.d.ts.map +1 -1
  202. package/dist/module/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts +1 -8
  203. package/dist/module/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts.map +1 -1
  204. package/dist/module/subgraph/entities/pool/pool.d.ts +2 -2
  205. package/dist/module/subgraph/entities/pool/pool.d.ts.map +1 -1
  206. package/dist/module/subgraph/entities/pool/pools.generated.d.ts +2 -11
  207. package/dist/module/subgraph/entities/pool/pools.generated.d.ts.map +1 -1
  208. package/dist/module/subgraph/entities/poolDistributor/poolDistributor.d.ts +2 -2
  209. package/dist/module/subgraph/entities/poolDistributor/poolDistributor.d.ts.map +1 -1
  210. package/dist/module/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts +1 -8
  211. package/dist/module/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts.map +1 -1
  212. package/dist/module/subgraph/entities/poolMember/poolMember.d.ts +2 -2
  213. package/dist/module/subgraph/entities/poolMember/poolMember.d.ts.map +1 -1
  214. package/dist/module/subgraph/entities/poolMember/poolMembers.generated.d.ts +1 -8
  215. package/dist/module/subgraph/entities/poolMember/poolMembers.generated.d.ts.map +1 -1
  216. package/dist/module/subgraph/entities/stream/stream.d.ts +2 -2
  217. package/dist/module/subgraph/entities/stream/stream.d.ts.map +1 -1
  218. package/dist/module/subgraph/entities/stream/streams.generated.d.ts +1 -8
  219. package/dist/module/subgraph/entities/stream/streams.generated.d.ts.map +1 -1
  220. package/dist/module/subgraph/entities/streamPeriod/streamPeriod.d.ts +2 -2
  221. package/dist/module/subgraph/entities/streamPeriod/streamPeriod.d.ts.map +1 -1
  222. package/dist/module/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts +1 -8
  223. package/dist/module/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts.map +1 -1
  224. package/dist/module/subgraph/entities/token/token.d.ts +2 -2
  225. package/dist/module/subgraph/entities/token/token.d.ts.map +1 -1
  226. package/dist/module/subgraph/entities/token/tokens.generated.d.ts +1 -8
  227. package/dist/module/subgraph/entities/token/tokens.generated.d.ts.map +1 -1
  228. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistic.d.ts +2 -2
  229. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistic.d.ts.map +1 -1
  230. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts +1 -8
  231. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts.map +1 -1
  232. package/dist/module/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts +2 -2
  233. package/dist/module/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts.map +1 -1
  234. package/dist/module/subgraph/entities/tokenStatisticLog/tokenStatisticLogs.generated.d.ts +1 -8
  235. package/dist/module/subgraph/entities/tokenStatisticLog/tokenStatisticLogs.generated.d.ts.map +1 -1
  236. package/dist/module/subgraph/events/events.d.ts +5 -5
  237. package/dist/module/subgraph/events/events.d.ts.map +1 -1
  238. package/dist/module/subgraph/events/events.generated.d.ts +42 -336
  239. package/dist/module/subgraph/events/events.generated.d.ts.map +1 -1
  240. package/dist/module/subgraph/events/flowUpdatedEvent.d.ts +2 -2
  241. package/dist/module/subgraph/events/flowUpdatedEvent.d.ts.map +1 -1
  242. package/dist/module/subgraph/events/indexUpdatedEvent.d.ts +2 -2
  243. package/dist/module/subgraph/events/indexUpdatedEvent.d.ts.map +1 -1
  244. package/dist/module/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts +2 -2
  245. package/dist/module/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts.map +1 -1
  246. package/dist/module/subgraph/events/transferEvents.d.ts +2 -2
  247. package/dist/module/subgraph/events/transferEvents.d.ts.map +1 -1
  248. package/dist/module/subgraph/meta/meta.generated.d.ts +1 -3
  249. package/dist/module/subgraph/meta/meta.generated.d.ts.map +1 -1
  250. package/dist/module/subgraph/queries/getAccountTokenSnapshots.generated.d.ts +1 -7
  251. package/dist/module/subgraph/queries/getAccountTokenSnapshots.generated.d.ts.map +1 -1
  252. package/dist/module/subgraph/queries/getAllEvents.generated.d.ts +1 -7
  253. package/dist/module/subgraph/queries/getAllEvents.generated.d.ts.map +1 -1
  254. package/dist/module/subgraph/queries/getIndexSubscriptions.generated.d.ts +1 -7
  255. package/dist/module/subgraph/queries/getIndexSubscriptions.generated.d.ts.map +1 -1
  256. package/dist/module/subgraph/queries/getIndexes.generated.d.ts +1 -7
  257. package/dist/module/subgraph/queries/getIndexes.generated.d.ts.map +1 -1
  258. package/dist/module/subgraph/queries/getStreams.generated.d.ts +1 -7
  259. package/dist/module/subgraph/queries/getStreams.generated.d.ts.map +1 -1
  260. package/dist/module/subgraph/queries/getTokens.generated.d.ts +1 -7
  261. package/dist/module/subgraph/queries/getTokens.generated.d.ts.map +1 -1
  262. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts +9 -1
  263. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts.map +1 -1
  264. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts +3 -0
  265. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts.map +1 -1
  266. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts +3 -0
  267. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -1
  268. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  269. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  270. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  271. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  272. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  273. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  274. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts +18 -0
  275. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts.map +1 -1
  276. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js +23 -0
  277. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js.map +1 -1
  278. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  279. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  280. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  281. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  282. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  283. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  284. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  285. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  286. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  287. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  288. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  289. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  290. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  291. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  292. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  293. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  294. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  295. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  296. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +1 -1
  297. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +1 -1
  298. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
  299. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
  300. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
  301. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +1 -1
  302. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  303. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  304. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  305. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  306. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +1 -1
  307. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +1 -1
  308. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +1 -1
  309. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +1 -1
  310. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +5 -1
  311. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  312. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +6 -1
  313. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  314. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +5 -1
  315. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  316. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +6 -1
  317. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  318. package/dist/module/utils.d.ts +1 -1
  319. package/dist/module/utils.d.ts.map +1 -1
  320. package/package.json +35 -45
@@ -712,7 +712,7 @@ const _abi = [
712
712
  type: "function",
713
713
  },
714
714
  ];
715
- const _bytecode = "0x608060405234801561001057600080fd5b5060405161347d38038061347d83398101604081905261002f91610181565b600080546001600160a01b0319166001600160a01b03851690811782556040805163bd1c448b60e01b815260048101869052602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b15801561009557600080fd5b505af11580156100a9573d6000803e3d6000fd5b50505050801561012257600080546040805163bd1c448b60e01b815260048101869052602481019190915260448101929092526001600160a01b03169063bd1c448b90606401600060405180830381600087803b15801561010957600080fd5b505af115801561011d573d6000803e3d6000fd5b505050505b60405161012e90610174565b604051809103906000f08015801561014a573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b0392909216919091179055506101d5915050565b61064680612e3783390190565b60008060006060848603121561019657600080fd5b83516001600160a01b03811681146101ad57600080fd5b60208501516040860151919450925080151581146101ca57600080fd5b809150509250925092565b612c53806101e46000396000f3fe6080604052600436106101c25760003560e01c8063642ebf4b116100f7578063b88a248311610095578063dc1ce9cb11610064578063dc1ce9cb14610474578063e772ecc114610487578063ecdccfd9146104a7578063fe5f2b9b146104c757600080fd5b8063b88a248314610414578063b88bd14f14610434578063bc90ea3c14610454578063d86ed3e51461025f57600080fd5b80637a7675a0116100d15780637a7675a0146103b4578063884d1f401461029f57806390d4b672146103d4578063a6b71066146103f457600080fd5b8063642ebf4b1461035f5780636affc78214610374578063772ce8471461039457600080fd5b80633b790ac81161016457806357121e0c1161013e57806357121e0c146102ff57806358b0d33d1461031f5780635f9e7d771461029f578063602e48cd1461033f57600080fd5b80633b790ac8146102bf5780633fc3b0f7146102df57806353c11f991461025f57600080fd5b80630bfe0f20116101a05780630bfe0f2014610229578063230dbd291461025f57806328fd0b471461027f57806330d9c9151461029f57600080fd5b80630769a69b146101c757806308c95b5d146101e95780630a00b52d14610209575b600080fd5b3480156101d357600080fd5b506101e76101e23660046120ac565b6104e7565b005b3480156101f557600080fd5b506101e7610204366004612105565b610607565b34801561021557600080fd5b506101e76102243660046120ac565b610703565b34801561023557600080fd5b50610249610244366004612160565b610864565b6040516102569190612204565b60405180910390f35b34801561026b57600080fd5b5061024961027a36600461221e565b6109ec565b34801561028b57600080fd5b506101e761029a3660046122f2565b610ac4565b3480156102ab57600080fd5b506102496102ba36600461230b565b610b1f565b3480156102cb57600080fd5b506101e76102da3660046120ac565b610bbe565b3480156102eb57600080fd5b506102496102fa3660046123ad565b610c44565b34801561030b57600080fd5b506101e761031a366004612404565b610dbd565b34801561032b57600080fd5b506101e761033a3660046120ac565b610def565b34801561034b57600080fd5b5061024961035a366004612160565b610ee7565b34801561036b57600080fd5b506101e761108dfe5b34801561038057600080fd5b5061024961038f3660046120ac565b61108f565b3480156103a057600080fd5b506101e76103af366004612421565b61113d565b3480156103c057600080fd5b506101e76103cf3660046120ac565b61116e565b3480156103e057600080fd5b506102496103ef366004612445565b6111f4565b34801561040057600080fd5b5061024961040f366004612105565b611368565b34801561042057600080fd5b506101e761042f3660046120ac565b6114db565b34801561044057600080fd5b506101e761044f3660046120ac565b61159f565b34801561046057600080fd5b5061024961046f3660046120ac565b61162d565b6102496104823660046120ac565b61178b565b34801561049357600080fd5b506102496104a23660046120ac565b6117cb565b3480156104b357600080fd5b506102496104c23660046123ad565b61194b565b3480156104d357600080fd5b506101e76104e23660046123ad565b611a5d565b604051632fd0a1cd60e21b815282908290339063bf4287349061051090859085906004016124f4565b602060405180830381865afa15801561052d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105519190612510565b6105765760405162461bcd60e51b815260040161056d90612532565b60405180910390fd5b600080546040805183815260208101848152818301928390526339255d5b60e01b9092526001600160a01b03909216926339255d5b926105b9926044820161258b565b6000604051808303816000875af11580156105d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106009190810190612682565b5050505050565b604051632fd0a1cd60e21b815282908290339063bf4287349061063090859085906004016124f4565b602060405180830381865afa15801561064d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106719190612510565b61068d5760405162461bcd60e51b815260040161056d90612532565b600154600054604051630a1bcfa560e11b81526001600160a01b03928316926314379f4a926106c9929116908a908a908a908a906004016126b6565b600060405180830381600087803b1580156106e357600080fd5b505af11580156106f7573d6000803e3d6000fd5b50505050505050505050565b604051632fd0a1cd60e21b815282908290339063bf4287349061072c90859085906004016124f4565b602060405180830381865afa158015610749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076d9190612510565b6107895760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b03169063ba48b5f89030908190636affc782906107c19060448101612204565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261080e93925090899089906004016126ea565b6000604051808303816000875af115801561082d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108559190810190612682565b5061085e612721565b50505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061089090859085906004016124f4565b602060405180830381865afa1580156108ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d19190612510565b6108ed5760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b0390811691634329d29391899190821690638e6b27499061092e903090602a9060448101612737565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b1790528151600081529081018252602a8183015281518082038301815260608201928390529387901b6001600160e01b03191690915261099a94935090916064820161275e565b6000604051808303816000875af11580156109b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109e191908101906127a8565b509695505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610a1890859085906004016124f4565b602060405180830381865afa158015610a35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a599190612510565b610a755760405162461bcd60e51b815260040161056d90612532565b610ab485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611aff92505050565b9c9b505050505050505050505050565b6000546040516315a722b960e31b8152600481018390526001600160a01b039091169063ad3915c8906024015b600060405180830381600087803b158015610b0b57600080fd5b505af1158015610600573d6000803e3d6000fd5b604051632fd0a1cd60e21b815260609083908390339063bf42873490610b4b90859085906004016124f4565b602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190612510565b610ba85760405162461bcd60e51b815260040161056d90612532565b610bb0611e55565b9a9950505050505050505050565b604051632fd0a1cd60e21b815282908290339063bf42873490610be790859085906004016124f4565b602060405180830381865afa158015610c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c289190612510565b61085e5760405162461bcd60e51b815260040161056d90612532565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610c7090859085906004016124f4565b602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb19190612510565b610ccd5760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063fe5f2b9b90610d09908d908d906044810161280f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b1790528151602a8183015282518082039092018252808301928390529387901b6001600160e01b031916909152610d6b949350909160440161258b565b6000604051808303816000875af1158015610d8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610db29190810190612682565b979650505050505050565b6000546040516315c4878360e21b81526001600160a01b038381166004830152909116906357121e0c90602401610af1565b604051632fd0a1cd60e21b815282908290339063bf42873490610e1890859085906004016124f4565b602060405180830381865afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e599190612510565b610e755760405162461bcd60e51b815260040161056d90612532565b60015460005460405163131e7b7560e21b81526001600160a01b0392831692634c79edd492610eaf92911690309089908990600401612835565b600060405180830381600087803b158015610ec957600080fd5b505af1158015610edd573d6000803e3d6000fd5b5050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610f1390859085906004016124f4565b602060405180830381865afa158015610f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f549190612510565b610f705760405162461bcd60e51b815260040161056d90612532565b604051631fb6491d60e11b81526000903390633f6c923a90610f9890899089906004016124f4565b600060405180830381865afa158015610fb5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fdd919081019061289b565b9050866001600160a01b031681606001516001600160a01b03161461100457611004612721565b7f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e138160000151826020015183608001516040516110439392919061299e565b60405180910390a185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929a9950505050505050505050565b565b604051632fd0a1cd60e21b815260609083908390339063bf428734906110bb90859085906004016124f4565b602060405180830381865afa1580156110d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fc9190612510565b6111185760405162461bcd60e51b815260040161056d90612532565b60408051602a6020820152016040516020818303038152906040529250505092915050565b6002805484919060ff1916600183600681111561115c5761115c6129c5565b0217905550600361085e828483612a5b565b604051632fd0a1cd60e21b815282908290339063bf4287349061119790859085906004016124f4565b602060405180830381865afa1580156111b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d89190612510565b6101c25760405162461bcd60e51b815260040161056d90612532565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061122090859085906004016124f4565b602060405180830381865afa15801561123d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112619190612510565b61127d5760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b0390811691634329d293918b919082169063edf02c4e906112bd908d908d906044810161280f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052611314939250908a8a60248301612b1a565b6000604051808303816000875af1158015611333573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261135b91908101906127a8565b5098975050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061139490859085906004016124f4565b602060405180830381865afa1580156113b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d59190612510565b6113f15760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b0390811691634329d293918a9190821690638e6b2749906114319030908d9060448101612737565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052611488939250908a8a60248301612b1a565b6000604051808303816000875af11580156114a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114cf91908101906127a8565b50979650505050505050565b604051632fd0a1cd60e21b815282908290339063bf4287349061150490859085906004016124f4565b602060405180830381865afa158015611521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115459190612510565b6115615760405162461bcd60e51b815260040161056d90612532565b60008054604080518381526020810191829052631e855cf360e01b9091526001600160a01b0390911691631e855cf3916105b9919060248101612b71565b604051632fd0a1cd60e21b815282908290339063bf428734906115c890859085906004016124f4565b602060405180830381865afa1580156115e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116099190612510565b6116255760405162461bcd60e51b815260040161056d90612532565b61085e612721565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061165990859085906004016124f4565b602060405180830381865afa158015611676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169a9190612510565b6116b65760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063e772ecc1906116ee9060448101612204565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261173b939250908a908a906004016126ea565b6000604051808303816000875af115801561175a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117829190810190612682565b95945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906117f790859085906004016124f4565b602060405180830381865afa158015611814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118389190612510565b6118545760405162461bcd60e51b815260040161056d90612532565b604051631fb6491d60e11b81526000903390633f6c923a9061187c90899089906004016124f4565b600060405180830381865afa158015611899573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118c1919081019061289b565b90507f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e138160000151826020015183608001516040516119029392919061299e565b60405180910390a185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061197790859085906004016124f4565b602060405180830381865afa158015611994573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b89190612510565b6119d45760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063fe5f2b9b90611a10908d908d906044810161280f565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d6b939250908a908a906004016126ea565b604051632fd0a1cd60e21b815282908290339063bf42873490611a8690859085906004016124f4565b602060405180830381865afa158015611aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac79190612510565b611ae35760405162461bcd60e51b815260040161056d90612532565b858560405162461bcd60e51b815260040161056d9291906124f4565b604051631fb6491d60e11b81526060906000903390633f6c923a90611b28908690600401612204565b600060405180830381865afa158015611b45573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b6d919081019061289b565b9050600060025460ff166006811115611b8857611b886129c5565b03611bdb577f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e13816000015182602001518360800151604051611bcc9392919061299e565b60405180910390a15090919050565b600160025460ff166006811115611bf457611bf46129c5565b03611c0657611c01612721565b611e4f565b6002805460ff166006811115611c1e57611c1e6129c5565b03611c2857600080fd5b600360025460ff166006811115611c4157611c416129c5565b03611cfd5760038054611c53906129db565b80601f0160208091040260200160405190810160405280929190818152602001828054611c7f906129db565b8015611ccc5780601f10611ca157610100808354040283529160200191611ccc565b820191906000526020600020905b815481529060010190602001808311611caf57829003601f168201915b5050505050806020019051810190611ce49190612b95565b60405162461bcd60e51b815260040161056d9190612204565b600460025460ff166006811115611d1657611d166129c5565b03611d5057602a5b6040519080825280601f01601f191660200182016040528015611d48576020820181803683370190505b509392505050565b600560025460ff166006811115611d6957611d696129c5565b03611e2257600060026001018054611d80906129db565b80601f0160208091040260200160405190810160405280929190818152602001828054611dac906129db565b8015611df95780601f10611dce57610100808354040283529160200191611df9565b820191906000526020600020905b815481529060010190602001808311611ddc57829003601f168201915b5050505050806020019051810190611e119190612bdd565b9050611e1c81611fe2565b50611e4f565b600660025460ff166006811115611e3b57611e3b6129c5565b03611e47576000611d1e565b611e4f612721565b50919050565b6060600060025460ff166006811115611e7057611e706129c5565b03611e94575060408051808201909152600481526304e6f6f760e41b602082015290565b600160025460ff166006811115611ead57611ead6129c5565b03611ebd57611eba612721565b90565b6002805460ff166006811115611ed557611ed56129c5565b03611edf57600080fd5b600360025460ff166006811115611ef857611ef86129c5565b03611f0a5760038054611c53906129db565b600560025460ff166006811115611f2357611f236129c5565b03611fda57600060026001018054611f3a906129db565b80601f0160208091040260200160405190810160405280929190818152602001828054611f66906129db565b8015611fb35780601f10611f8857610100808354040283529160200191611fb3565b820191906000526020600020905b815481529060010190602001808311611f9657829003601f168201915b5050505050806020019051810190611fcb9190612bdd565b9050611fd681611fe2565b5090565b611eba612721565b60005a9050306001600160a01b031663642ebf4b836040518263ffffffff1660e01b815260040160006040518083038187803b15801561202157600080fd5b5086fa93505050508015612033575060015b612058575b6120446103e883612bf6565b5a61204f9083612bf6565b10612038575050565b612060612721565b5050565b60008083601f84011261207657600080fd5b5081356001600160401b0381111561208d57600080fd5b6020830191508360208285010111156120a557600080fd5b9250929050565b600080602083850312156120bf57600080fd5b82356001600160401b038111156120d557600080fd5b6120e185828601612064565b90969095509350505050565b6001600160a01b038116811461210257600080fd5b50565b6000806000806060858703121561211b57600080fd5b8435612126816120ed565b93506020850135925060408501356001600160401b0381111561214857600080fd5b61215487828801612064565b95989497509550505050565b60008060006040848603121561217557600080fd5b8335612180816120ed565b925060208401356001600160401b0381111561219b57600080fd5b6121a786828701612064565b9497909650939450505050565b60005b838110156121cf5781810151838201526020016121b7565b50506000910152565b600081518084526121f08160208601602086016121b4565b601f01601f19169290920160200192915050565b60208152600061221760208301846121d8565b9392505050565b600080600080600080600080600060c08a8c03121561223c57600080fd5b8935612247816120ed565b985060208a0135612257816120ed565b975060408a0135965060608a01356001600160401b0381111561227957600080fd5b6122858c828d01612064565b90975095505060808a01356001600160401b038111156122a457600080fd5b6122b08c828d01612064565b90955093505060a08a01356001600160401b038111156122cf57600080fd5b6122db8c828d01612064565b915080935050809150509295985092959850929598565b60006020828403121561230457600080fd5b5035919050565b600080600080600080600060a0888a03121561232657600080fd5b8735612331816120ed565b96506020880135612341816120ed565b95506040880135945060608801356001600160401b0381111561236357600080fd5b61236f8a828b01612064565b90955093505060808801356001600160401b0381111561238e57600080fd5b61239a8a828b01612064565b989b979a50959850939692959293505050565b600080600080604085870312156123c357600080fd5b84356001600160401b038111156123d957600080fd5b6123e587828801612064565b90955093505060208501356001600160401b0381111561214857600080fd5b60006020828403121561241657600080fd5b8135612217816120ed565b60008060006040848603121561243657600080fd5b83356007811061218057600080fd5b60008060008060006060868803121561245d57600080fd5b8535612468816120ed565b945060208601356001600160401b0381111561248357600080fd5b61248f88828901612064565b90955093505060408601356001600160401b038111156124ae57600080fd5b6124ba88828901612064565b969995985093965092949392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006125086020830184866124cb565b949350505050565b60006020828403121561252257600080fd5b8151801515811461221757600080fd5b60208082526023908201527f41677265656d656e744d6f636b3a20637478206e6f742076616c6964206265666040820152626f726560e81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03841681526060602082018190526000906125af908301856121d8565b82810360408401526125c181856121d8565b9695505050505050565b60405161016081016001600160401b03811182821017156125ee576125ee612575565b60405290565b6000806001600160401b0384111561260e5761260e612575565b50604051601f19601f85018116603f011681018181106001600160401b038211171561263c5761263c612575565b60405283815290508082840185101561265457600080fd5b611d488460208301856121b4565b600082601f83011261267357600080fd5b612217838351602085016125f4565b60006020828403121561269457600080fd5b81516001600160401b038111156126aa57600080fd5b61250884828501612662565b6001600160a01b0386811682528516602082015260408101849052608060608201819052600090610db290830184866124cb565b6001600160a01b038516815260606020820181905260009061270e908301866121d8565b8281036040840152610db28185876124cb565b634e487b7160e01b600052600160045260246000fd5b60018060a01b038416815282602082015260606040820152600061178260608301846121d8565b6001600160a01b0385168152608060208201819052600090612782908301866121d8565b828103604084015261279481866121d8565b90508281036060840152610db281856121d8565b600080604083850312156127bb57600080fd5b82516001600160401b038111156127d157600080fd5b6127dd85828601612662565b92505060208301516001600160401b038111156127f957600080fd5b61280585828601612662565b9150509250929050565b6040815260006128236040830185876124cb565b82810360208401526125c181856121d8565b6001600160a01b038581168252841660208201526060604082018190526000906125c190830184866124cb565b805160ff8116811461287357600080fd5b919050565b8051612873816120ed565b80516001600160e01b03198116811461287357600080fd5b6000602082840312156128ad57600080fd5b81516001600160401b038111156128c357600080fd5b820161016081850312156128d657600080fd5b6128de6125cb565b6128e782612862565b81526128f560208301612862565b60208201526040828101519082015261291060608301612878565b606082015261292160808301612883565b608082015260a08201516001600160401b0381111561293f57600080fd5b61294b86828501612662565b60a08301525060c0828101519082015260e08083015190820152610100808301519082015261297d6101208301612878565b6101208201526129906101408301612878565b610140820152949350505050565b60ff93841681529190921660208201526001600160e01b0319909116604082015260600190565b634e487b7160e01b600052602160045260246000fd5b600181811c908216806129ef57607f821691505b602082108103611e4f57634e487b7160e01b600052602260045260246000fd5b601f821115612a5657806000526020600020601f840160051c81016020851015612a365750805b601f840160051c820191505b818110156106005760008155600101612a42565b505050565b6001600160401b03831115612a7257612a72612575565b612a8683612a8083546129db565b83612a0f565b6000601f841160018114612aba5760008515612aa25750838201355b600019600387901b1c1916600186901b178355610600565b600083815260209020601f19861690835b82811015612aeb5786850135825560209485019460019092019101612acb565b5086821015612b085760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6001600160a01b0386168152608060208201819052600090612b3e908301876121d8565b8281036040840152612b5081876121d8565b90508281036060840152612b658185876124cb565b98975050505050505050565b6001600160a01b0383168152604060208201819052600090612508908301846121d8565b600060208284031215612ba757600080fd5b81516001600160401b03811115612bbd57600080fd5b8201601f81018413612bce57600080fd5b612508848251602084016125f4565b600060208284031215612bef57600080fd5b5051919050565b81810381811115612c1757634e487b7160e01b600052601160045260246000fd5b9291505056fea26469706673582212203d94e603ed70ff9860bf68c80c8f0ac7259603f229695b774e4a1a719a90c77864736f6c634300081a00336080604052348015600f57600080fd5b506106278061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806314379f4a1461003b5780634c79edd414610050575b600080fd5b61004e61004936600461027e565b610063565b005b61004e61005e3660046102f1565b610148565b6040805160008152602081019091526001600160a01b0386811691634329d29391879190821690638e6b2749906100a19030908a90604481016103bc565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526100f893925090878760248301610415565b6000604051808303816000875af1158015610117573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261013f91908101906104f7565b50505050505050565b6040805160008152602081019091526001600160a01b038581169163ba48b5f89186919082169063e772ecc1906101829060448101610560565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526101cf939250908790879060040161057a565b6000604051808303816000875af11580156101ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021691908101906105bc565b5050505050565b6001600160a01b038116811461023257600080fd5b50565b60008083601f84011261024757600080fd5b50813567ffffffffffffffff81111561025f57600080fd5b60208301915083602082850101111561027757600080fd5b9250929050565b60008060008060006080868803121561029657600080fd5b85356102a18161021d565b945060208601356102b18161021d565b935060408601359250606086013567ffffffffffffffff8111156102d457600080fd5b6102e088828901610235565b969995985093965092949392505050565b6000806000806060858703121561030757600080fd5b84356103128161021d565b935060208501356103228161021d565b9250604085013567ffffffffffffffff81111561033e57600080fd5b61034a87828801610235565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561038757818101518382015260200161036f565b50506000910152565b600081518084526103a881602086016020860161036c565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006103e36060830184610390565b95945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038616815260806020820181905260009061043990830187610390565b828103604084015261044b8187610390565b905082810360608401526104608185876103ec565b98975050505050505050565b600082601f83011261047d57600080fd5b815167ffffffffffffffff81111561049757610497610356565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156104c6576104c6610356565b6040528181528382016020018510156104de57600080fd5b6104ef82602083016020870161036c565b949350505050565b6000806040838503121561050a57600080fd5b825167ffffffffffffffff81111561052157600080fd5b61052d8582860161046c565b925050602083015167ffffffffffffffff81111561054a57600080fd5b6105568582860161046c565b9150509250929050565b6020815260006105736020830184610390565b9392505050565b6001600160a01b038516815260606020820181905260009061059e90830186610390565b82810360408401526105b18185876103ec565b979650505050505050565b6000602082840312156105ce57600080fd5b815167ffffffffffffffff8111156105e557600080fd5b6104ef8482850161046c56fea264697066735822122041f23213f0eee62d0a75f4aec952dec06ff708ffb0b1b864394b285508edd3b164736f6c634300081a0033";
715
+ const _bytecode = "0x608060405234801561001057600080fd5b5060405161347d38038061347d83398101604081905261002f91610181565b600080546001600160a01b0319166001600160a01b03851690811782556040805163bd1c448b60e01b815260048101869052602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b15801561009557600080fd5b505af11580156100a9573d6000803e3d6000fd5b50505050801561012257600080546040805163bd1c448b60e01b815260048101869052602481019190915260448101929092526001600160a01b03169063bd1c448b90606401600060405180830381600087803b15801561010957600080fd5b505af115801561011d573d6000803e3d6000fd5b505050505b60405161012e90610174565b604051809103906000f08015801561014a573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b0392909216919091179055506101d5915050565b61064680612e3783390190565b60008060006060848603121561019657600080fd5b83516001600160a01b03811681146101ad57600080fd5b60208501516040860151919450925080151581146101ca57600080fd5b809150509250925092565b612c53806101e46000396000f3fe6080604052600436106101c25760003560e01c8063642ebf4b116100f7578063b88a248311610095578063dc1ce9cb11610064578063dc1ce9cb14610474578063e772ecc114610487578063ecdccfd9146104a7578063fe5f2b9b146104c757600080fd5b8063b88a248314610414578063b88bd14f14610434578063bc90ea3c14610454578063d86ed3e51461025f57600080fd5b80637a7675a0116100d15780637a7675a0146103b4578063884d1f401461029f57806390d4b672146103d4578063a6b71066146103f457600080fd5b8063642ebf4b1461035f5780636affc78214610374578063772ce8471461039457600080fd5b80633b790ac81161016457806357121e0c1161013e57806357121e0c146102ff57806358b0d33d1461031f5780635f9e7d771461029f578063602e48cd1461033f57600080fd5b80633b790ac8146102bf5780633fc3b0f7146102df57806353c11f991461025f57600080fd5b80630bfe0f20116101a05780630bfe0f2014610229578063230dbd291461025f57806328fd0b471461027f57806330d9c9151461029f57600080fd5b80630769a69b146101c757806308c95b5d146101e95780630a00b52d14610209575b600080fd5b3480156101d357600080fd5b506101e76101e23660046120ac565b6104e7565b005b3480156101f557600080fd5b506101e7610204366004612105565b610607565b34801561021557600080fd5b506101e76102243660046120ac565b610703565b34801561023557600080fd5b50610249610244366004612160565b610864565b6040516102569190612204565b60405180910390f35b34801561026b57600080fd5b5061024961027a36600461221e565b6109ec565b34801561028b57600080fd5b506101e761029a3660046122f2565b610ac4565b3480156102ab57600080fd5b506102496102ba36600461230b565b610b1f565b3480156102cb57600080fd5b506101e76102da3660046120ac565b610bbe565b3480156102eb57600080fd5b506102496102fa3660046123ad565b610c44565b34801561030b57600080fd5b506101e761031a366004612404565b610dbd565b34801561032b57600080fd5b506101e761033a3660046120ac565b610def565b34801561034b57600080fd5b5061024961035a366004612160565b610ee7565b34801561036b57600080fd5b506101e761108dfe5b34801561038057600080fd5b5061024961038f3660046120ac565b61108f565b3480156103a057600080fd5b506101e76103af366004612421565b61113d565b3480156103c057600080fd5b506101e76103cf3660046120ac565b61116e565b3480156103e057600080fd5b506102496103ef366004612445565b6111f4565b34801561040057600080fd5b5061024961040f366004612105565b611368565b34801561042057600080fd5b506101e761042f3660046120ac565b6114db565b34801561044057600080fd5b506101e761044f3660046120ac565b61159f565b34801561046057600080fd5b5061024961046f3660046120ac565b61162d565b6102496104823660046120ac565b61178b565b34801561049357600080fd5b506102496104a23660046120ac565b6117cb565b3480156104b357600080fd5b506102496104c23660046123ad565b61194b565b3480156104d357600080fd5b506101e76104e23660046123ad565b611a5d565b604051632fd0a1cd60e21b815282908290339063bf4287349061051090859085906004016124f4565b602060405180830381865afa15801561052d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105519190612510565b6105765760405162461bcd60e51b815260040161056d90612532565b60405180910390fd5b600080546040805183815260208101848152818301928390526339255d5b60e01b9092526001600160a01b03909216926339255d5b926105b9926044820161258b565b6000604051808303816000875af11580156105d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106009190810190612682565b5050505050565b604051632fd0a1cd60e21b815282908290339063bf4287349061063090859085906004016124f4565b602060405180830381865afa15801561064d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106719190612510565b61068d5760405162461bcd60e51b815260040161056d90612532565b600154600054604051630a1bcfa560e11b81526001600160a01b03928316926314379f4a926106c9929116908a908a908a908a906004016126b6565b600060405180830381600087803b1580156106e357600080fd5b505af11580156106f7573d6000803e3d6000fd5b50505050505050505050565b604051632fd0a1cd60e21b815282908290339063bf4287349061072c90859085906004016124f4565b602060405180830381865afa158015610749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076d9190612510565b6107895760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b03169063ba48b5f89030908190636affc782906107c19060448101612204565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261080e93925090899089906004016126ea565b6000604051808303816000875af115801561082d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108559190810190612682565b5061085e612721565b50505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061089090859085906004016124f4565b602060405180830381865afa1580156108ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d19190612510565b6108ed5760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b0390811691634329d29391899190821690638e6b27499061092e903090602a9060448101612737565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b1790528151600081529081018252602a8183015281518082038301815260608201928390529387901b6001600160e01b03191690915261099a94935090916064820161275e565b6000604051808303816000875af11580156109b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109e191908101906127a8565b509695505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610a1890859085906004016124f4565b602060405180830381865afa158015610a35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a599190612510565b610a755760405162461bcd60e51b815260040161056d90612532565b610ab485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611aff92505050565b9c9b505050505050505050505050565b6000546040516315a722b960e31b8152600481018390526001600160a01b039091169063ad3915c8906024015b600060405180830381600087803b158015610b0b57600080fd5b505af1158015610600573d6000803e3d6000fd5b604051632fd0a1cd60e21b815260609083908390339063bf42873490610b4b90859085906004016124f4565b602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190612510565b610ba85760405162461bcd60e51b815260040161056d90612532565b610bb0611e55565b9a9950505050505050505050565b604051632fd0a1cd60e21b815282908290339063bf42873490610be790859085906004016124f4565b602060405180830381865afa158015610c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c289190612510565b61085e5760405162461bcd60e51b815260040161056d90612532565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610c7090859085906004016124f4565b602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb19190612510565b610ccd5760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063fe5f2b9b90610d09908d908d906044810161280f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b1790528151602a8183015282518082039092018252808301928390529387901b6001600160e01b031916909152610d6b949350909160440161258b565b6000604051808303816000875af1158015610d8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610db29190810190612682565b979650505050505050565b6000546040516315c4878360e21b81526001600160a01b038381166004830152909116906357121e0c90602401610af1565b604051632fd0a1cd60e21b815282908290339063bf42873490610e1890859085906004016124f4565b602060405180830381865afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e599190612510565b610e755760405162461bcd60e51b815260040161056d90612532565b60015460005460405163131e7b7560e21b81526001600160a01b0392831692634c79edd492610eaf92911690309089908990600401612835565b600060405180830381600087803b158015610ec957600080fd5b505af1158015610edd573d6000803e3d6000fd5b5050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610f1390859085906004016124f4565b602060405180830381865afa158015610f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f549190612510565b610f705760405162461bcd60e51b815260040161056d90612532565b604051631fb6491d60e11b81526000903390633f6c923a90610f9890899089906004016124f4565b600060405180830381865afa158015610fb5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fdd919081019061289b565b9050866001600160a01b031681606001516001600160a01b03161461100457611004612721565b7f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e138160000151826020015183608001516040516110439392919061299e565b60405180910390a185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929a9950505050505050505050565b565b604051632fd0a1cd60e21b815260609083908390339063bf428734906110bb90859085906004016124f4565b602060405180830381865afa1580156110d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fc9190612510565b6111185760405162461bcd60e51b815260040161056d90612532565b60408051602a6020820152016040516020818303038152906040529250505092915050565b6002805484919060ff1916600183600681111561115c5761115c6129c5565b0217905550600361085e828483612a5b565b604051632fd0a1cd60e21b815282908290339063bf4287349061119790859085906004016124f4565b602060405180830381865afa1580156111b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d89190612510565b6101c25760405162461bcd60e51b815260040161056d90612532565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061122090859085906004016124f4565b602060405180830381865afa15801561123d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112619190612510565b61127d5760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b0390811691634329d293918b919082169063edf02c4e906112bd908d908d906044810161280f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052611314939250908a8a60248301612b1a565b6000604051808303816000875af1158015611333573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261135b91908101906127a8565b5098975050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061139490859085906004016124f4565b602060405180830381865afa1580156113b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d59190612510565b6113f15760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b0390811691634329d293918a9190821690638e6b2749906114319030908d9060448101612737565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052611488939250908a8a60248301612b1a565b6000604051808303816000875af11580156114a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114cf91908101906127a8565b50979650505050505050565b604051632fd0a1cd60e21b815282908290339063bf4287349061150490859085906004016124f4565b602060405180830381865afa158015611521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115459190612510565b6115615760405162461bcd60e51b815260040161056d90612532565b60008054604080518381526020810191829052631e855cf360e01b9091526001600160a01b0390911691631e855cf3916105b9919060248101612b71565b604051632fd0a1cd60e21b815282908290339063bf428734906115c890859085906004016124f4565b602060405180830381865afa1580156115e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116099190612510565b6116255760405162461bcd60e51b815260040161056d90612532565b61085e612721565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061165990859085906004016124f4565b602060405180830381865afa158015611676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169a9190612510565b6116b65760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063e772ecc1906116ee9060448101612204565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261173b939250908a908a906004016126ea565b6000604051808303816000875af115801561175a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117829190810190612682565b95945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906117f790859085906004016124f4565b602060405180830381865afa158015611814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118389190612510565b6118545760405162461bcd60e51b815260040161056d90612532565b604051631fb6491d60e11b81526000903390633f6c923a9061187c90899089906004016124f4565b600060405180830381865afa158015611899573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118c1919081019061289b565b90507f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e138160000151826020015183608001516040516119029392919061299e565b60405180910390a185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061197790859085906004016124f4565b602060405180830381865afa158015611994573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b89190612510565b6119d45760405162461bcd60e51b815260040161056d90612532565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063fe5f2b9b90611a10908d908d906044810161280f565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d6b939250908a908a906004016126ea565b604051632fd0a1cd60e21b815282908290339063bf42873490611a8690859085906004016124f4565b602060405180830381865afa158015611aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac79190612510565b611ae35760405162461bcd60e51b815260040161056d90612532565b858560405162461bcd60e51b815260040161056d9291906124f4565b604051631fb6491d60e11b81526060906000903390633f6c923a90611b28908690600401612204565b600060405180830381865afa158015611b45573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b6d919081019061289b565b9050600060025460ff166006811115611b8857611b886129c5565b03611bdb577f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e13816000015182602001518360800151604051611bcc9392919061299e565b60405180910390a15090919050565b600160025460ff166006811115611bf457611bf46129c5565b03611c0657611c01612721565b611e4f565b6002805460ff166006811115611c1e57611c1e6129c5565b03611c2857600080fd5b600360025460ff166006811115611c4157611c416129c5565b03611cfd5760038054611c53906129db565b80601f0160208091040260200160405190810160405280929190818152602001828054611c7f906129db565b8015611ccc5780601f10611ca157610100808354040283529160200191611ccc565b820191906000526020600020905b815481529060010190602001808311611caf57829003601f168201915b5050505050806020019051810190611ce49190612b95565b60405162461bcd60e51b815260040161056d9190612204565b600460025460ff166006811115611d1657611d166129c5565b03611d5057602a5b6040519080825280601f01601f191660200182016040528015611d48576020820181803683370190505b509392505050565b600560025460ff166006811115611d6957611d696129c5565b03611e2257600060026001018054611d80906129db565b80601f0160208091040260200160405190810160405280929190818152602001828054611dac906129db565b8015611df95780601f10611dce57610100808354040283529160200191611df9565b820191906000526020600020905b815481529060010190602001808311611ddc57829003601f168201915b5050505050806020019051810190611e119190612bdd565b9050611e1c81611fe2565b50611e4f565b600660025460ff166006811115611e3b57611e3b6129c5565b03611e47576000611d1e565b611e4f612721565b50919050565b6060600060025460ff166006811115611e7057611e706129c5565b03611e94575060408051808201909152600481526304e6f6f760e41b602082015290565b600160025460ff166006811115611ead57611ead6129c5565b03611ebd57611eba612721565b90565b6002805460ff166006811115611ed557611ed56129c5565b03611edf57600080fd5b600360025460ff166006811115611ef857611ef86129c5565b03611f0a5760038054611c53906129db565b600560025460ff166006811115611f2357611f236129c5565b03611fda57600060026001018054611f3a906129db565b80601f0160208091040260200160405190810160405280929190818152602001828054611f66906129db565b8015611fb35780601f10611f8857610100808354040283529160200191611fb3565b820191906000526020600020905b815481529060010190602001808311611f9657829003601f168201915b5050505050806020019051810190611fcb9190612bdd565b9050611fd681611fe2565b5090565b611eba612721565b60005a9050306001600160a01b031663642ebf4b836040518263ffffffff1660e01b815260040160006040518083038187803b15801561202157600080fd5b5086fa93505050508015612033575060015b612058575b6120446103e883612bf6565b5a61204f9083612bf6565b10612038575050565b612060612721565b5050565b60008083601f84011261207657600080fd5b5081356001600160401b0381111561208d57600080fd5b6020830191508360208285010111156120a557600080fd5b9250929050565b600080602083850312156120bf57600080fd5b82356001600160401b038111156120d557600080fd5b6120e185828601612064565b90969095509350505050565b6001600160a01b038116811461210257600080fd5b50565b6000806000806060858703121561211b57600080fd5b8435612126816120ed565b93506020850135925060408501356001600160401b0381111561214857600080fd5b61215487828801612064565b95989497509550505050565b60008060006040848603121561217557600080fd5b8335612180816120ed565b925060208401356001600160401b0381111561219b57600080fd5b6121a786828701612064565b9497909650939450505050565b60005b838110156121cf5781810151838201526020016121b7565b50506000910152565b600081518084526121f08160208601602086016121b4565b601f01601f19169290920160200192915050565b60208152600061221760208301846121d8565b9392505050565b600080600080600080600080600060c08a8c03121561223c57600080fd5b8935612247816120ed565b985060208a0135612257816120ed565b975060408a0135965060608a01356001600160401b0381111561227957600080fd5b6122858c828d01612064565b90975095505060808a01356001600160401b038111156122a457600080fd5b6122b08c828d01612064565b90955093505060a08a01356001600160401b038111156122cf57600080fd5b6122db8c828d01612064565b915080935050809150509295985092959850929598565b60006020828403121561230457600080fd5b5035919050565b600080600080600080600060a0888a03121561232657600080fd5b8735612331816120ed565b96506020880135612341816120ed565b95506040880135945060608801356001600160401b0381111561236357600080fd5b61236f8a828b01612064565b90955093505060808801356001600160401b0381111561238e57600080fd5b61239a8a828b01612064565b989b979a50959850939692959293505050565b600080600080604085870312156123c357600080fd5b84356001600160401b038111156123d957600080fd5b6123e587828801612064565b90955093505060208501356001600160401b0381111561214857600080fd5b60006020828403121561241657600080fd5b8135612217816120ed565b60008060006040848603121561243657600080fd5b83356007811061218057600080fd5b60008060008060006060868803121561245d57600080fd5b8535612468816120ed565b945060208601356001600160401b0381111561248357600080fd5b61248f88828901612064565b90955093505060408601356001600160401b038111156124ae57600080fd5b6124ba88828901612064565b969995985093965092949392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006125086020830184866124cb565b949350505050565b60006020828403121561252257600080fd5b8151801515811461221757600080fd5b60208082526023908201527f41677265656d656e744d6f636b3a20637478206e6f742076616c6964206265666040820152626f726560e81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03841681526060602082018190526000906125af908301856121d8565b82810360408401526125c181856121d8565b9695505050505050565b60405161016081016001600160401b03811182821017156125ee576125ee612575565b60405290565b6000806001600160401b0384111561260e5761260e612575565b50604051601f19601f85018116603f011681018181106001600160401b038211171561263c5761263c612575565b60405283815290508082840185101561265457600080fd5b611d488460208301856121b4565b600082601f83011261267357600080fd5b612217838351602085016125f4565b60006020828403121561269457600080fd5b81516001600160401b038111156126aa57600080fd5b61250884828501612662565b6001600160a01b0386811682528516602082015260408101849052608060608201819052600090610db290830184866124cb565b6001600160a01b038516815260606020820181905260009061270e908301866121d8565b8281036040840152610db28185876124cb565b634e487b7160e01b600052600160045260246000fd5b60018060a01b038416815282602082015260606040820152600061178260608301846121d8565b6001600160a01b0385168152608060208201819052600090612782908301866121d8565b828103604084015261279481866121d8565b90508281036060840152610db281856121d8565b600080604083850312156127bb57600080fd5b82516001600160401b038111156127d157600080fd5b6127dd85828601612662565b92505060208301516001600160401b038111156127f957600080fd5b61280585828601612662565b9150509250929050565b6040815260006128236040830185876124cb565b82810360208401526125c181856121d8565b6001600160a01b038581168252841660208201526060604082018190526000906125c190830184866124cb565b805160ff8116811461287357600080fd5b919050565b8051612873816120ed565b80516001600160e01b03198116811461287357600080fd5b6000602082840312156128ad57600080fd5b81516001600160401b038111156128c357600080fd5b820161016081850312156128d657600080fd5b6128de6125cb565b6128e782612862565b81526128f560208301612862565b60208201526040828101519082015261291060608301612878565b606082015261292160808301612883565b608082015260a08201516001600160401b0381111561293f57600080fd5b61294b86828501612662565b60a08301525060c0828101519082015260e08083015190820152610100808301519082015261297d6101208301612878565b6101208201526129906101408301612878565b610140820152949350505050565b60ff93841681529190921660208201526001600160e01b0319909116604082015260600190565b634e487b7160e01b600052602160045260246000fd5b600181811c908216806129ef57607f821691505b602082108103611e4f57634e487b7160e01b600052602260045260246000fd5b601f821115612a5657806000526020600020601f840160051c81016020851015612a365750805b601f840160051c820191505b818110156106005760008155600101612a42565b505050565b6001600160401b03831115612a7257612a72612575565b612a8683612a8083546129db565b83612a0f565b6000601f841160018114612aba5760008515612aa25750838201355b600019600387901b1c1916600186901b178355610600565b600083815260209020601f19861690835b82811015612aeb5786850135825560209485019460019092019101612acb565b5086821015612b085760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6001600160a01b0386168152608060208201819052600090612b3e908301876121d8565b8281036040840152612b5081876121d8565b90508281036060840152612b658185876124cb565b98975050505050505050565b6001600160a01b0383168152604060208201819052600090612508908301846121d8565b600060208284031215612ba757600080fd5b81516001600160401b03811115612bbd57600080fd5b8201601f81018413612bce57600080fd5b612508848251602084016125f4565b600060208284031215612bef57600080fd5b5051919050565b81810381811115612c1757634e487b7160e01b600052601160045260246000fd5b9291505056fea264697066735822122023ee282018eee738bac86d6efc4c721c71ba8ef9689ca256be95503f866e9d8964736f6c634300081a00336080604052348015600f57600080fd5b506106278061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806314379f4a1461003b5780634c79edd414610050575b600080fd5b61004e61004936600461027e565b610063565b005b61004e61005e3660046102f1565b610148565b6040805160008152602081019091526001600160a01b0386811691634329d29391879190821690638e6b2749906100a19030908a90604481016103bc565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526100f893925090878760248301610415565b6000604051808303816000875af1158015610117573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261013f91908101906104f7565b50505050505050565b6040805160008152602081019091526001600160a01b038581169163ba48b5f89186919082169063e772ecc1906101829060448101610560565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526101cf939250908790879060040161057a565b6000604051808303816000875af11580156101ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021691908101906105bc565b5050505050565b6001600160a01b038116811461023257600080fd5b50565b60008083601f84011261024757600080fd5b50813567ffffffffffffffff81111561025f57600080fd5b60208301915083602082850101111561027757600080fd5b9250929050565b60008060008060006080868803121561029657600080fd5b85356102a18161021d565b945060208601356102b18161021d565b935060408601359250606086013567ffffffffffffffff8111156102d457600080fd5b6102e088828901610235565b969995985093965092949392505050565b6000806000806060858703121561030757600080fd5b84356103128161021d565b935060208501356103228161021d565b9250604085013567ffffffffffffffff81111561033e57600080fd5b61034a87828801610235565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561038757818101518382015260200161036f565b50506000910152565b600081518084526103a881602086016020860161036c565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006103e36060830184610390565b95945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038616815260806020820181905260009061043990830187610390565b828103604084015261044b8187610390565b905082810360608401526104608185876103ec565b98975050505050505050565b600082601f83011261047d57600080fd5b815167ffffffffffffffff81111561049757610497610356565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156104c6576104c6610356565b6040528181528382016020018510156104de57600080fd5b6104ef82602083016020870161036c565b949350505050565b6000806040838503121561050a57600080fd5b825167ffffffffffffffff81111561052157600080fd5b61052d8582860161046c565b925050602083015167ffffffffffffffff81111561054a57600080fd5b6105568582860161046c565b9150509250929050565b6020815260006105736020830184610390565b9392505050565b6001600160a01b038516815260606020820181905260009061059e90830186610390565b82810360408401526105b18185876103ec565b979650505050505050565b6000602082840312156105ce57600080fd5b815167ffffffffffffffff8111156105e557600080fd5b6104ef8482850161046c56fea264697066735822122080eacb5345d9047941afcd37d33f3af07f09fc02a06230a2b1e6853c4124598664736f6c634300081a0033";
716
716
  const isSuperArgs = (xs) => xs.length > 1;
717
717
  export class SuperAppMock__factory extends ContractFactory {
718
718
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class SuperfluidMock__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): SuperfluidMock;
14
14
  connect(signer: Signer): SuperfluidMock__factory;
15
- static readonly bytecode = "0x61010060405234801561001157600080fd5b5060405161622d38038061622d8339810160408190526100309161006e565b92151560805290151560a0526001600160401b031660c0526001600160a01b031660e0526100e0565b8051801515811461006957600080fd5b919050565b6000806000806080858703121561008457600080fd5b61008d85610059565b935061009b60208601610059565b60408601519093506001600160401b03811681146100b857600080fd5b60608601519092506001600160a01b03811681146100d557600080fd5b939692955090935050565b60805160a05160c05160e0516160b9610174600039600081816106370152818161459001526146b80152600081816104c8015261313f01526000818161089e015281816123680152818161284401528181612aef0152612d6f015260008181610ae201528181610c4601528181610f670152818161175e01528181611896015281816119f50152612c9701526160b96000f3fe6080604052600436106103815760003560e01c80638ca48484116101d1578063bd1c448b11610102578063cd312ec4116100a0578063f37330521161006f578063f373305214610b76578063f539866114610b96578063f9f522f414610bb6578063fa6e0cfe14610bf357600080fd5b8063cd312ec414610ad0578063e8dccb7d14610b04578063eb5bf90114610b33578063f2e55caf14610b6157600080fd5b8063c4d66de8116100dc578063c4d66de814610a31578063c56a069d14610a51578063c60944a614610a7e578063c6ae797314610a9e57600080fd5b8063bd1c448b146109dc578063bd3252c8146109fc578063bf42873414610a1157600080fd5b8063ad3915c81161016f578063ba48b5f811610149578063ba48b5f814610940578063bb84cfa114610960578063bbe4fd50146109a9578063bced3ddc146109bc57600080fd5b8063ad3915c8146108e0578063b6d200de14610900578063b724211e1461092057600080fd5b8063989b0c3e116101ab578063989b0c3e146108575780639903ad38146108775780639d297e301461088c578063a5dbbbcd146108c057600080fd5b80638ca48484146107da5780638ceddd7a146107fa5780639378fa131461082557600080fd5b8063486ff0cd116102b657806359a29141116102545780637283100c116102235780637283100c1461075c578063731aed6e1461077c57806374041e021461079a578063768fabb0146107ba57600080fd5b806359a29141146106f6578063670e77e3146107165780636ad3ca7d146107295780636b4f33351461073c57600080fd5b806352d1902d1161029057806352d1902d1461065957806354fbc4931461069657806357121e0c146106b6578063572b6c05146106d657600080fd5b8063486ff0cd146105e557806350d75d251461061057806351e3bb821461062557600080fd5b806333511863116103235780633ca3ad4e116102fd5780633ca3ad4e146105225780633f6c923a1461056a5780634329d2931461059757806346951954146105c557600080fd5b8063335118631461049657806333d608f1146104b657806339255d5b1461050257600080fd5b80631e6d0a841161035f5780631e6d0a84146103e85780631e855cf31461041e578063289b3c0d1461043e5780632f89bf891461047657600080fd5b806306cecba8146103865780630c565075146103a857806315a024e1146103c8575b600080fd5b34801561039257600080fd5b506103a66103a1366004614d1c565b610c13565b005b3480156103b457600080fd5b506103a66103c3366004614d40565b610dea565b3480156103d457600080fd5b506103a66103e3366004614d1c565b610e7a565b3480156103f457600080fd5b50610408610403366004614dcf565b6110ca565b6040516104159190614eb7565b60405180910390f35b34801561042a57600080fd5b50610408610439366004614f8d565b611316565b34801561044a57600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b039091168152602001610415565b34801561048257600080fd5b506103a6610491366004614d1c565b61132e565b3480156104a257600080fd5b506103a66104b1366004614d1c565b6114ec565b3480156104c257600080fd5b506104ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b039091168152602001610415565b34801561050e57600080fd5b5061040861051d366004614fdc565b6114fb565b34801561052e57600080fd5b5061055a61053d366004614d1c565b6001600160a01b0316600090815260046020526040902054151590565b6040519015158152602001610415565b34801561057657600080fd5b5061058a610585366004615055565b611511565b6040516104159190615089565b3480156105a357600080fd5b506105b76105b2366004615168565b611522565b60405161041592919061521e565b3480156105d157600080fd5b506103a66105e0366004614d1c565b61172b565b3480156105f157600080fd5b50604080518082019091526002815261763160f01b6020820152610408565b34801561061c57600080fd5b5061045e611824565b34801561063157600080fd5b5061045e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561066557600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b604051908152602001610415565b3480156106a257600080fd5b506103a66106b1366004614d1c565b611853565b3480156106c257600080fd5b506103a66106d1366004614d1c565b611ad6565b3480156106e257600080fd5b5061055a6106f1366004614d1c565b611ba4565b34801561070257600080fd5b50610408610711366004615243565b611c2e565b6103a661072436600461528e565b611d10565b6103a661073736600461528e565b611d26565b34801561074857600080fd5b5061055a610757366004614d1c565b611d31565b34801561076857600080fd5b506103a6610777366004614d1c565b611d55565b34801561078857600080fd5b506003546001600160a01b031661045e565b3480156107a657600080fd5b506104086107b5366004614dcf565b611dfd565b3480156107c657600080fd5b506104086107d5366004615303565b611f4c565b3480156107e657600080fd5b5061055a6107f5366004614d1c565b6120e8565b34801561080657600080fd5b5061081061010081565b60405163ffffffff9091168152602001610415565b34801561083157600080fd5b50610845610840366004614d1c565b6121ad565b60405160ff9091168152602001610415565b34801561086357600080fd5b50610408610872366004615243565b6121ce565b34801561088357600080fd5b506103a6612261565b34801561089857600080fd5b5061055a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108cc57600080fd5b506106886108db36600461537e565b61231c565b3480156108ec57600080fd5b506103a66108fb3660046153a0565b612366565b34801561090c57600080fd5b5061045e61091b3660046153a0565b6123ba565b34801561092c57600080fd5b5061040861093b3660046153b9565b612421565b34801561094c57600080fd5b5061040861095b366004615415565b6124e2565b34801561096c57600080fd5b5061055a61097b366004614d40565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156109b557600080fd5b5042610688565b3480156109c857600080fd5b506106886109d736600461537e565b6127f9565b3480156109e857600080fd5b506103a66109f736600461549b565b612842565b348015610a0857600080fd5b50610688600181565b348015610a1d57600080fd5b5061055a610a2c3660046154e6565b6128b8565b348015610a3d57600080fd5b506103a6610a4c366004614d1c565b6128f9565b348015610a5d57600080fd5b50610a71610a6c3660046153a0565b6129dd565b6040516104159190615527565b348015610a8a57600080fd5b506103a6610a99366004615573565b612ac2565b348015610aaa57600080fd5b50610abe610ab936600461559f565b612b41565b60405161041596959493929190615673565b348015610adc57600080fd5b5061055a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610b1057600080fd5b5061055a610b1f3660046153a0565b600090815260026020526040902054151590565b348015610b3f57600080fd5b50610b53610b4e36600461549b565b612c2e565b6040516104159291906156cc565b348015610b6d57600080fd5b5061045e612c7a565b348015610b8257600080fd5b506103a6610b91366004615573565b612d42565b348015610ba257600080fd5b50610408610bb13660046156e5565b612e4d565b348015610bc257600080fd5b50610bd6610bd1366004614d1c565b612f45565b604080519315158452911515602084015290820152606001610415565b348015610bff57600080fd5b506103a6610c0e366004614d40565b612f94565b6000546201000090046001600160a01b03163314610c44576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c83576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce79190615754565b600081815260026020526040812054919250819003610d1957604051630e4f4df560e11b815260040160405180910390fd5b60006001610d278184615783565b81548110610d3757610d37615796565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610d8a57600080fd5b505af1158015610d9e573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610e1b576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610eab576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0f9190615754565b60008181526002602052604090205490915015610f3f57604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610f6357604051630f85034f60e31b815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000061101d576000604051610f9890614c9f565b604051809103906000f080158015610fb4573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610ffc57600080fd5b505af1158015611010573d6000803e3d6000fd5b5050505080915050611020565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d1906110bd90849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b60606110d5336120e8565b6110f25760405163619c535960e01b815260040160405180910390fd5b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061113492508391506130ef9050565b611140576111406157ac565b6000806111ba8a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525061310f92505050565b9150915081156112cf576111cd816131d6565b1561126757808060200190518101906111e69190615807565b93506111f1846130ef565b611262578661121b5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061126292508c91506014905061322a565b611309565b866112885760405163a85ba64f60e01b815260166004820152602401611212565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061126292508c91506016905061322a565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b606061132533846000856132ab565b90505b92915050565b6000546201000090046001600160a01b0316331461135f576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a9466004820152600090309063b6d200de90602401602060405180830381865afa1580156113bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e1919061583b565b90506000816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa158015611423573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611447919061583b565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe690602401600060405180830381600087803b15801561148e57600080fd5b505af11580156114a2573d6000803e3d6000fd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b6114f881611b1e61322a565b50565b6060611509338585856134e8565b949350505050565b611519614cac565b611328826135f9565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061156792508391506130ef9050565b6115875760405163a85ba64f60e01b815260146004820152602401611212565b89611591816120e8565b6115ae5760405163619c535960e01b815260040160405180910390fd5b60006115ef87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b6101208101519091506001600160a01b031633146116205760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a083015261166c826136c4565b955060006116b28e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c91506137f89050565b96509050801561171157858060200190518101906116d09190615807565b96506116db876130ef565b6116e7576116e76157ac565b6116f087611511565b6001600160a01b0383166060820152925061170a836136c4565b965061171a565b61171a866138b3565b505050505097509795505050505050565b6000546201000090046001600160a01b0316331461175c576040516362e9152760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561179b576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fd9190615858565b1561181b5760405163474e764160e01b815260040160405180910390fd5b6114f8816139be565b600061184e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b03163314611884576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166119f3577f000000000000000000000000000000000000000000000000000000000000000061196a5760006040516118c790614c9f565b604051809103906000f0801580156118e3573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561192b57600080fd5b505af115801561193f573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506119869050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156119d657600080fd5b505af11580156119ea573d6000803e3d6000fd5b50505050611a92565b7f000000000000000000000000000000000000000000000000000000000000000015611a32576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b158015611a7957600080fd5b505af1158015611a8d573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b33600081815260046020526040902054611b03576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054611b3957604051634b5518af60e11b815260040160405180910390fd5b611b42826121ad565b60ff16611b4e826121ad565b60ff1611611b6f57604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba3083611bc786613bf8565b6040518463ffffffff1660e01b8152600401611be593929190615875565b602060405180830381865afa158015611c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c269190615754565b151592915050565b6060611c39336120e8565b611c565760405163619c535960e01b815260040160405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c9892508391506130ef9050565b611ca457611ca46157ac565b6000611ce586868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b9050838161010001818151611cfa9190615899565b905250611d06816136c4565b9695505050505050565b611d22611d1b613c80565b8383613ce8565b5050565b611d22338383613ce8565b6001600160a01b038116600090815260046020526040812054618000161515611328565b6000546201000090046001600160a01b03163314611d86576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611e08336120e8565b611e255760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e6792508391506130ef9050565b611e7357611e736157ac565b600080611eed8a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525061310f92505050565b91509150811561130957611f00816131d6565b15611f205780806020019051810190611f199190615807565b9350611309565b86611f415760405163a85ba64f60e01b815260166004820152602401611212565b6113098a601661322a565b6060611f57336120e8565b611f745760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611fb692508391506130ef9050565b611fc257611fc26157ac565b600061200389898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b905061202a81606001516001600160a01b0316600090815260046020526040902054151590565b801561203e57506001816000015160ff1610155b156120915760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff166120915760405163a85ba64f60e01b8152601e6004820152602401611212565b80518161209d826158c1565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b0380881661012083015284166101408201526120db816136c4565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612129573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214d9190615754565b600081815260026020526040902054909150801580159061150957506001600160a01b038416600161217f8184615783565b8154811061218f5761218f615796565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff16611328565b60606121d9336120e8565b6121f65760405163619c535960e01b815260040160405180910390fd5b600061223785858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b905082816101000181815161224c9190615899565b905250612258816136c4565b95945050505050565b600054610100900460ff16158080156122815750600054600160ff909116105b8061229b5750303b15801561229b575060005460ff166001145b6122b75760405162461bcd60e51b8152600401611212906158e0565b6000805460ff1916600117905580156122da576000805461ff0019166101001790555b80156114f8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611acb565b60008181526002602052604081205480820361234b57604051630e4f4df560e11b815260040160405180910390fd5b612356600182615783565b6001901b19841691505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156123b0576123b0604051806040016040528060028152602001616b3160f01b815250326147d1565b6114f8338261487a565b6000818152600260205260408120548082036123e957604051630e4f4df560e11b815260040160405180910390fd5b60016123f58183615783565b8154811061240557612405615796565b6000918252602090912001546001600160a01b03169392505050565b606061242c336120e8565b6124495760405163619c535960e01b815260040160405180910390fd5b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061248b92508391506130ef9050565b612497576124976157ac565b6124a1848461322a565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061252692508391506130ef9050565b6125465760405163a85ba64f60e01b815260146004820152602401611212565b6001600160a01b03871660009081526004602052604081205488918190036125815760405163163cbe4360e01b815260040160405180910390fd5b6180008116156125a357604051628e12d960e21b815260040160405180910390fd5b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506125e49150839050614949565b90506001600160e01b031981166330d9c91560e01b148061261557506001600160e01b0319811663d86ed3e560e01b145b8061263057506001600160e01b03198116630221347d60e61b145b8061264b57506001600160e01b0319811663230dbd2960e01b145b8061266657506001600160e01b03198116635f9e7d7760e01b145b8061268157506001600160e01b031981166353c11f9960e01b145b1561269f576040516377a14afb60e11b815260040160405180910390fd5b60006126e089898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b6101208101519091506001600160a01b03163314612711576040516311cfdef560e21b815260040160405180910390fd5b60608101805133909152612724826136c4565b975060008061276b8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f91506137f89050565b9150915081156127de57808060200190518101906127899190615807565b99506127948a6130ef565b6127b45760405163a85ba64f60e01b815260146004820152602401611212565b6127bd8a611511565b6001600160a01b038416606082015293506127d7846136c4565b99506127e7565b6127e7816138b3565b50505050505050505095945050505050565b60008181526002602052604081205480820361282857604051630e4f4df560e11b815260040160405180910390fd5b612833600182615783565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156128a9576128a982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503292506147d1915050565b6128b3338461487a565b505050565b600061132583838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506130ef92505050565b600054610100900460ff16158080156129195750600054600160ff909116105b806129335750303b158015612933575060005460ff166001145b61294f5760405162461bcd60e51b8152600401611212906158e0565b6000805460ff191660011790558015612972576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611d22576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156129ff576129ff614eca565b604051908082528060200260200182016040528015612a28578160200160208202803683370190505b50925060009050600091505b600154821015612aba576001821b841615612aaf5760018281548110612a5c57612a5c615796565b6000918252602090912001546001600160a01b03168382612a7c8161592e565b935081518110612a8e57612a8e615796565b60200260200101906001600160a01b031690816001600160a01b0316815250505b816001019150612a34565b825250919050565b816001600160a01b03163b600003612aed5760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612b3757612b37604051806040016040528060028152602001616b3160f01b815250336147d1565b611d22828261487a565b600080600060608060608e8e8e8e8e8e8e8e8e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f890181900481028201810190925287815293995096975094959394509192909150859085908190840183828082843760009201919091525050604080516020601f87018190048102820181019092528581529397509495509293919250849184915081908401838280828437600092019190915250999f50979d50959b50939950919750919550505050505099509950995099509950999350505050565b6000606084848481818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b929a509198505050505050505050565b6003546000906001600160a01b0316612c9557612c956157ac565b7f000000000000000000000000000000000000000000000000000000000000000015612ccb57506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d1e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e919061583b565b816001600160a01b03163b600003612d6d5760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612b37576000612d9e336149a5565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612ddd90309085908790600401615875565b602060405180830381865afa158015612dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1e9190615754565b600114905080612e4157604051630b56455f60e41b815260040160405180910390fd5b5050611d22828261487a565b60606000612ec486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250614a1f92505050565b90506000306001600160a01b031682604051612ee09190615947565b600060405180830381855afa9150503d8060008114612f1b576040519150601f19603f3d011682016040523d82523d6000602084013e612f20565b606091505b50935090508015612f32575050611509565b612f3b836138b3565b5050949350505050565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612f8c57805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612fc5576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b03821661305157600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613028573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304c919061583b565b613053565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b15801561309a57600080fd5b505af11580156130ae573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd391506020016114df565b600081516000141580156113285750600654825160208401201492915050565b600060606001600160a01b038716613129576131296157ac565b6131338484614a1f565b93506001600160401b037f00000000000000000000000000000000000000000000000000000000000000001660008761317657613171898784614ad6565b613181565b613181898784614b67565b9195509093509050836131ca57806131b157866131a6576131a1836138b3565b6131ca565b6131a189600a61322a565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b60006040825110156131ea57506000919050565b602082810151906000908214613204575060009392505050565b50604083015161321381614bc6565b61321e906040615963565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611d22576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b9061329f9084815260200190565b60405180910390a25050565b600654606090156132d25760405163a85ba64f60e01b815260156004820152602401611212565b6001600160a01b038416600090815260046020526040812054859181900361330d5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561332f57604051628e12d960e21b815260040160405180910390fd5b83600061333b82614949565b90506001600160e01b031981166330d9c91560e01b148061336c57506001600160e01b0319811663d86ed3e560e01b145b8061338757506001600160e01b03198116630221347d60e61b145b806133a257506001600160e01b0319811663230dbd2960e01b145b806133bd57506001600160e01b03198116635f9e7d7760e01b145b806133d857506001600160e01b031981166353c11f9960e01b145b156133f6576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a16610120820152610140810182905261346d906136c4565b9050600061347d8a898b856137f8565b9750905080156134cb578680602001905181019061349b9190615807565b91506134a6826130ef565b6134c65760405163a85ba64f60e01b815260146004820152602401611212565b6134d4565b6134d4876138b3565b505060006006555092979650505050505050565b6006546060901561350f5760405163a85ba64f60e01b815260156004820152602401611212565b83613519816120e8565b6135365760405163619c535960e01b815260040160405180910390fd5b600061354185614949565b60408051610160810182526000808252600160208301529293506135c49181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152506136c4565b905060006135d588886000856137f8565b95509050806135e7576135e7856138b3565b50506000600655509095945050505050565b613601614cac565b606080838060200190518101906136189190615976565b8151919350915060009061363590840160209081019085016159d3565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff9091168552825160009250613686919084018101908401615a58565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156136f25760405163a85ba64f60e01b815260286004820152602401611212565b815160208084015160009260ff1664ff000000009190921b161790506000608061371f8560e00151614bff565b6001600160801b0316901b6137378560c00151614bff565b6001600160801b0316179050818460400151856060015186608001518760a0015160405160200161376c959493929190615aa4565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526137d6929160200161521e565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b038616613812576138126157ac565b61381c8584614a1f565b9450856001600160a01b031684866040516138379190615947565b60006040518083038185875af1925050503d8060008114613874576040519150601f19603f3d011682016040523d82523d6000602084013e613879565b606091505b50909250905081156138aa5780516000036138aa5760405163a85ba64f60e01b815260166004820152602401611212565b94509492505050565b6004815110156139055760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611212565b602081015163b1b7848f60e01b6001600160e01b03198216016139b55760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161121291849101614eb7565b81518060208401fd5b60006139e87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603613a3e5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611212565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aa09190615754565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba7414613b1a5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611212565b6001600160a01b0381163003613b725760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611212565b613b9a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611acb565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b600060183610801590613c975750613c9733611ba4565b613cdb5760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401611212565b5060131936013560601c90565b60005b8181101561478f576000838383818110613d0757613d07615796565b9050602002810190613d199190615af0565b613d27906020810190615b06565b905060001963ffffffff821601613e1b57600080858585818110613d4d57613d4d615796565b9050602002810190613d5f9190615af0565b613d6d906040810190615b2c565b810190613d7a9190615573565b91509150858585818110613d9057613d90615796565b9050602002810190613da29190615af0565b613db3906040810190602001614d1c565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613de293929190615875565b600060405180830381600087803b158015613dfc57600080fd5b505af1158015613e10573d6000803e3d6000fd5b505050505050614786565b60011963ffffffff821601613f26576000806000868686818110613e4157613e41615796565b9050602002810190613e539190615af0565b613e61906040810190615b2c565b810190613e6e9190615b72565b925092509250868686818110613e8657613e86615796565b9050602002810190613e989190615af0565b613ea9906040810190602001614d1c565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613f0657600080fd5b505af1158015613f1a573d6000803e3d6000fd5b50505050505050614786565b60021963ffffffff821601613fe5576000806000868686818110613f4c57613f4c615796565b9050602002810190613f5e9190615af0565b613f6c906040810190615b2c565b810190613f799190615bb3565b925092509250868686818110613f9157613f91615796565b9050602002810190613fa39190615af0565b613fb4906040810190602001614d1c565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613eec9493929190615bf5565b60031963ffffffff82160161409e5760008085858581811061400957614009615796565b905060200281019061401b9190615af0565b614029906040810190615b2c565b8101906140369190615573565b9150915085858581811061404c5761404c615796565b905060200281019061405e9190615af0565b61406f906040810190602001614d1c565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613de293929190615875565b60041963ffffffff821601614157576000808585858181106140c2576140c2615796565b90506020028101906140d49190615af0565b6140e2906040810190615b2c565b8101906140ef9190615573565b9150915085858581811061410557614105615796565b90506020028101906141179190615af0565b614128906040810190602001614d1c565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613de293929190615875565b60641963ffffffff82160161424c5783838381811061417857614178615796565b905060200281019061418a9190615af0565b61419b906040810190602001614d1c565b6001600160a01b031663ca789464868686868181106141bc576141bc615796565b90506020028101906141ce9190615af0565b6141dc906040810190615b2c565b8101906141e991906153a0565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561422f57600080fd5b505af1158015614243573d6000803e3d6000fd5b50505050614786565b60651963ffffffff8216016142b15783838381811061426d5761426d615796565b905060200281019061427f9190615af0565b614290906040810190602001614d1c565b6001600160a01b031663245887fc868686868181106141bc576141bc615796565b60661963ffffffff82160161436a576000808585858181106142d5576142d5615796565b90506020028101906142e79190615af0565b6142f5906040810190615b2c565b8101906143029190615573565b9150915085858581811061431857614318615796565b905060200281019061432a9190615af0565b61433b906040810190602001614d1c565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613de293929190615875565b60671963ffffffff8216016144235760008085858581811061438e5761438e615796565b90506020028101906143a09190615af0565b6143ae906040810190615b2c565b8101906143bb9190615573565b915091508585858181106143d1576143d1615796565b90506020028101906143e39190615af0565b6143f4906040810190602001614d1c565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613de293929190615875565b60c81963ffffffff8216016144c05760008085858581811061444757614447615796565b90506020028101906144599190615af0565b614467906040810190615b2c565b8101906144749190615c28565b915091506144b88787878781811061448e5761448e615796565b90506020028101906144a09190615af0565b6144b1906040810190602001614d1c565b84846134e8565b505050614786565b60c91963ffffffff82160161457b57614575858585858181106144e5576144e5615796565b90506020028101906144f79190615af0565b614508906040810190602001614d1c565b4787878781811061451b5761451b615796565b905060200281019061452d9190615af0565b61453b906040810190615b2c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506132ab92505050565b50614786565b61012c1963ffffffff8216016146a3576000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee494478888888181106145d0576145d0615796565b90506020028101906145e29190615af0565b6145f3906040810190602001614d1c565b89898981811061460557614605615796565b90506020028101906146179190615af0565b614625906040810190615b2c565b6040518563ffffffff1660e01b815260040161464393929190615ca2565b60006040518083038185885af1158015614661573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261468a9190810190615cc7565b915091508161469c5761469c816138b3565b5050614786565b61012d1963ffffffff82160161476d576000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec594478888888181106146f8576146f8615796565b905060200281019061470a9190615af0565b61471b906040810190602001614d1c565b8a8a8a8a81811061472e5761472e615796565b90506020028101906147409190615af0565b61474e906040810190615b2c565b6040518663ffffffff1660e01b81526004016146439493929190615d01565b60405163b477011560e01b815260040160405180910390fd5b50600101613ceb565b5047156128b3576040516001600160a01b038416904780156108fc02916000818181858888f193505050501580156147cb573d6000803e3d6000fd5b50505050565b60006147dd8284614c6c565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba9161481a9130918790600401615875565b602060405180830381865afa158015614837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061485b9190615754565b10156128b357604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614891575060ff8116155b8061489f5750618000811615155b156148bd57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054156148f4576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b600060048251101561499d5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401611212565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c001613c63565b815180830151606091908015614a48576040516367e9985b60e01b815260040160405180910390fd5b50601f1981018452825184908481614a5f81614bc6565b614a699190615783565b6001600160401b03811115614a8057614a80614eca565b6040519080825280601f01601f191660200182016040528015614aaa576020820181803683370190505b50604051602001614abe9493929190615d2e565b60405160208183030381529060405291505092915050565b600080606060005a9050866001600160a01b03168587604051614af99190615947565b60006040518083038160008787f1925050503d8060008114614b37576040519150601f19603f3d011682016040523d82523d6000602084013e614b3c565b606091505b50909450915083614b5d57614b52604082615d7c565b5a11614b5d57600192505b5093509350939050565b600080606060005a9050866001600160a01b03168587604051614b8a9190615947565b6000604051808303818686fa925050503d8060008114614b37576040519150601f19603f3d011682016040523d82523d6000602084013e614b3c565b60008082601f1611614bd9576000614bdc565b60015b60ff16614bea602084615d7c565b614bf49190615963565b611328906020615d9e565b60006001600160801b03821115614c685760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401611212565b5090565b60008282604051602001614c81929190615db5565b60405160208183030381529060405280519060200120905092915050565b61024980615e3b83390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146114f857600080fd5b600060208284031215614d2e57600080fd5b8135614d3981614d07565b9392505050565b60008060408385031215614d5357600080fd5b8235614d5e81614d07565b91506020830135614d6e81614d07565b809150509250929050565b60008083601f840112614d8b57600080fd5b5081356001600160401b03811115614da257600080fd5b602083019150836020828501011115614dba57600080fd5b9250929050565b80151581146114f857600080fd5b60008060008060008060808789031215614de857600080fd5b8635614df381614d07565b955060208701356001600160401b03811115614e0e57600080fd5b614e1a89828a01614d79565b9096509450506040870135614e2e81614dc1565b925060608701356001600160401b03811115614e4957600080fd5b614e5589828a01614d79565b979a9699509497509295939492505050565b60005b83811015614e82578181015183820152602001614e6a565b50506000910152565b60008151808452614ea3816020860160208601614e67565b601f01601f19169290920160200192915050565b6020815260006113256020830184614e8b565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614f0857614f08614eca565b604052919050565b60006001600160401b03821115614f2957614f29614eca565b50601f01601f191660200190565b600082601f830112614f4857600080fd5b8135614f5b614f5682614f10565b614ee0565b818152846020838601011115614f7057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614fa057600080fd5b8235614fab81614d07565b915060208301356001600160401b03811115614fc657600080fd5b614fd285828601614f37565b9150509250929050565b600080600060608486031215614ff157600080fd5b8335614ffc81614d07565b925060208401356001600160401b0381111561501757600080fd5b61502386828701614f37565b92505060408401356001600160401b0381111561503f57600080fd5b61504b86828701614f37565b9150509250925092565b60006020828403121561506757600080fd5b81356001600160401b0381111561507d57600080fd5b61150984828501614f37565b6020815261509d60208201835160ff169052565b600060208301516150b3604084018260ff169052565b506040830151606083015260608301516150d860808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a083015161016060c084015261510a610180840182614e8b565b905060c084015160e084015260e08401516101008401526101008401516101208401526101208401516151496101408501826001600160a01b03169052565b506101408401516001600160a01b038116610160850152509392505050565b60008060008060008060006080888a03121561518357600080fd5b873561518e81614d07565b965060208801356001600160401b038111156151a957600080fd5b6151b58a828b01614d79565b90975095505060408801356001600160401b038111156151d457600080fd5b6151e08a828b01614d79565b90955093505060608801356001600160401b038111156151ff57600080fd5b61520b8a828b01614d79565b989b979a50959850939692959293505050565b6040815260006152316040830185614e8b565b82810360208401526122588185614e8b565b60008060006040848603121561525857600080fd5b83356001600160401b0381111561526e57600080fd5b61527a86828701614d79565b909790965060209590950135949350505050565b600080602083850312156152a157600080fd5b82356001600160401b038111156152b757600080fd5b8301601f810185136152c857600080fd5b80356001600160401b038111156152de57600080fd5b8560208260051b84010111156152f357600080fd5b6020919091019590945092505050565b60008060008060008060a0878903121561531c57600080fd5b86356001600160401b0381111561533257600080fd5b61533e89828a01614d79565b909750955050602087013561535281614d07565b93506040870135925060608701359150608087013561537081614d07565b809150509295509295509295565b6000806040838503121561539157600080fd5b50508035926020909101359150565b6000602082840312156153b257600080fd5b5035919050565b600080600080606085870312156153cf57600080fd5b84356001600160401b038111156153e557600080fd5b6153f187828801614d79565b909550935050602085013561540581614d07565b9396929550929360400135925050565b60008060008060006060868803121561542d57600080fd5b853561543881614d07565b945060208601356001600160401b0381111561545357600080fd5b61545f88828901614d79565b90955093505060408601356001600160401b0381111561547e57600080fd5b61548a88828901614d79565b969995985093965092949392505050565b6000806000604084860312156154b057600080fd5b8335925060208401356001600160401b038111156154cd57600080fd5b6154d986828701614d79565b9497909650939450505050565b600080602083850312156154f957600080fd5b82356001600160401b0381111561550f57600080fd5b61551b85828601614d79565b90969095509350505050565b602080825282518282018190526000918401906040840190835b818110156155685783516001600160a01b0316835260209384019390920191600101615541565b509095945050505050565b6000806040838503121561558657600080fd5b823561559181614d07565b946020939093013593505050565b600080600080600080600080600060c08a8c0312156155bd57600080fd5b89356155c881614d07565b985060208a01356155d881614d07565b975060408a0135965060608a01356001600160401b038111156155fa57600080fd5b6156068c828d01614d79565b90975095505060808a01356001600160401b0381111561562557600080fd5b6156318c828d01614d79565b90955093505060a08a01356001600160401b0381111561565057600080fd5b61565c8c828d01614d79565b915080935050809150509295985092959850929598565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906156a690830186614e8b565b82810360808401526156b88186614e8b565b905082810360a08401526120db8185614e8b565b8281526040602082015260006115096040830184614e8b565b600080600080604085870312156156fb57600080fd5b84356001600160401b0381111561571157600080fd5b61571d87828801614d79565b90955093505060208501356001600160401b0381111561573c57600080fd5b61574887828801614d79565b95989497509550505050565b60006020828403121561576657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156113285761132861576d565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f8301126157d357600080fd5b81516157e1614f5682614f10565b8181528460208386010111156157f657600080fd5b611509826020830160208701614e67565b60006020828403121561581957600080fd5b81516001600160401b0381111561582f57600080fd5b611509848285016157c2565b60006020828403121561584d57600080fd5b8151614d3981614d07565b60006020828403121561586a57600080fd5b8151614d3981614dc1565b6001600160a01b039384168152919092166020820152604081019190915260600190565b80820182811260008312801582168215821617156158b9576158b961576d565b505092915050565b600060ff821660ff81036158d7576158d761576d565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000600182016159405761594061576d565b5060010190565b60008251615959818460208701614e67565b9190910192915050565b808201808211156113285761132861576d565b6000806040838503121561598957600080fd5b82516001600160401b0381111561599f57600080fd5b6159ab858286016157c2565b92505060208301516001600160401b038111156159c757600080fd5b614fd2858286016157c2565b600080600080600060a086880312156159eb57600080fd5b8551602087015160408801519196509450615a0581614d07565b60608701519093506001600160e01b031981168114615a2357600080fd5b60808701519092506001600160401b03811115615a3f57600080fd5b615a4b888289016157c2565b9150509295509295909350565b60008060008060808587031215615a6e57600080fd5b8451602086015160408701519195509350615a8881614d07565b6060860151909250615a9981614d07565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a060808201819052600090615ae590830184614e8b565b979650505050505050565b60008235605e1983360301811261595957600080fd5b600060208284031215615b1857600080fd5b813563ffffffff81168114614d3957600080fd5b6000808335601e19843603018112615b4357600080fd5b8301803591506001600160401b03821115615b5d57600080fd5b602001915036819003821315614dba57600080fd5b600080600060608486031215615b8757600080fd5b8335615b9281614d07565b92506020840135615ba281614d07565b929592945050506040919091013590565b600080600060608486031215615bc857600080fd5b8335615bd381614d07565b92506020840135915060408401356001600160401b0381111561503f57600080fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611d0690830184614e8b565b60008060408385031215615c3b57600080fd5b82356001600160401b03811115615c5157600080fd5b615c5d85828601614f37565b92505060208301356001600160401b03811115614fc657600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906122589083018486615c79565b60008060408385031215615cda57600080fd5b8251615ce581614dc1565b60208401519092506001600160401b038111156159c757600080fd5b6001600160a01b03858116825284166020820152606060408201819052600090611d069083018486615c79565b60008551615d40818460208a01614e67565b82018581528451615d58816020808501908901614e67565b8451910190615d6e816020808501908801614e67565b016020019695505050505050565b600082615d9957634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176113285761132861576d565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e06040820152600061150960e0830184614e8b56fe6080604052348015600f57600080fd5b5061022a8061001f6000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea26469706673582212200be7dc4160bd041045497f295bc4dcbce9dd453202fd7b0b470b990a3e32293764736f6c634300081a0033a2646970667358221220b8164659e2de35266f80f551011790e8cd534b5b6395d07a08fe5ecef0e45db964736f6c634300081a0033";
15
+ static readonly bytecode = "0x61010060405234801561001157600080fd5b5060405161622d38038061622d8339810160408190526100309161006e565b92151560805290151560a0526001600160401b031660c0526001600160a01b031660e0526100e0565b8051801515811461006957600080fd5b919050565b6000806000806080858703121561008457600080fd5b61008d85610059565b935061009b60208601610059565b60408601519093506001600160401b03811681146100b857600080fd5b60608601519092506001600160a01b03811681146100d557600080fd5b939692955090935050565b60805160a05160c05160e0516160b9610174600039600081816106370152818161459001526146b80152600081816104c8015261313f01526000818161089e015281816123680152818161284401528181612aef0152612d6f015260008181610ae201528181610c4601528181610f670152818161175e01528181611896015281816119f50152612c9701526160b96000f3fe6080604052600436106103815760003560e01c80638ca48484116101d1578063bd1c448b11610102578063cd312ec4116100a0578063f37330521161006f578063f373305214610b76578063f539866114610b96578063f9f522f414610bb6578063fa6e0cfe14610bf357600080fd5b8063cd312ec414610ad0578063e8dccb7d14610b04578063eb5bf90114610b33578063f2e55caf14610b6157600080fd5b8063c4d66de8116100dc578063c4d66de814610a31578063c56a069d14610a51578063c60944a614610a7e578063c6ae797314610a9e57600080fd5b8063bd1c448b146109dc578063bd3252c8146109fc578063bf42873414610a1157600080fd5b8063ad3915c81161016f578063ba48b5f811610149578063ba48b5f814610940578063bb84cfa114610960578063bbe4fd50146109a9578063bced3ddc146109bc57600080fd5b8063ad3915c8146108e0578063b6d200de14610900578063b724211e1461092057600080fd5b8063989b0c3e116101ab578063989b0c3e146108575780639903ad38146108775780639d297e301461088c578063a5dbbbcd146108c057600080fd5b80638ca48484146107da5780638ceddd7a146107fa5780639378fa131461082557600080fd5b8063486ff0cd116102b657806359a29141116102545780637283100c116102235780637283100c1461075c578063731aed6e1461077c57806374041e021461079a578063768fabb0146107ba57600080fd5b806359a29141146106f6578063670e77e3146107165780636ad3ca7d146107295780636b4f33351461073c57600080fd5b806352d1902d1161029057806352d1902d1461065957806354fbc4931461069657806357121e0c146106b6578063572b6c05146106d657600080fd5b8063486ff0cd146105e557806350d75d251461061057806351e3bb821461062557600080fd5b806333511863116103235780633ca3ad4e116102fd5780633ca3ad4e146105225780633f6c923a1461056a5780634329d2931461059757806346951954146105c557600080fd5b8063335118631461049657806333d608f1146104b657806339255d5b1461050257600080fd5b80631e6d0a841161035f5780631e6d0a84146103e85780631e855cf31461041e578063289b3c0d1461043e5780632f89bf891461047657600080fd5b806306cecba8146103865780630c565075146103a857806315a024e1146103c8575b600080fd5b34801561039257600080fd5b506103a66103a1366004614d1c565b610c13565b005b3480156103b457600080fd5b506103a66103c3366004614d40565b610dea565b3480156103d457600080fd5b506103a66103e3366004614d1c565b610e7a565b3480156103f457600080fd5b50610408610403366004614dcf565b6110ca565b6040516104159190614eb7565b60405180910390f35b34801561042a57600080fd5b50610408610439366004614f8d565b611316565b34801561044a57600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b039091168152602001610415565b34801561048257600080fd5b506103a6610491366004614d1c565b61132e565b3480156104a257600080fd5b506103a66104b1366004614d1c565b6114ec565b3480156104c257600080fd5b506104ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b039091168152602001610415565b34801561050e57600080fd5b5061040861051d366004614fdc565b6114fb565b34801561052e57600080fd5b5061055a61053d366004614d1c565b6001600160a01b0316600090815260046020526040902054151590565b6040519015158152602001610415565b34801561057657600080fd5b5061058a610585366004615055565b611511565b6040516104159190615089565b3480156105a357600080fd5b506105b76105b2366004615168565b611522565b60405161041592919061521e565b3480156105d157600080fd5b506103a66105e0366004614d1c565b61172b565b3480156105f157600080fd5b50604080518082019091526002815261763160f01b6020820152610408565b34801561061c57600080fd5b5061045e611824565b34801561063157600080fd5b5061045e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561066557600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b604051908152602001610415565b3480156106a257600080fd5b506103a66106b1366004614d1c565b611853565b3480156106c257600080fd5b506103a66106d1366004614d1c565b611ad6565b3480156106e257600080fd5b5061055a6106f1366004614d1c565b611ba4565b34801561070257600080fd5b50610408610711366004615243565b611c2e565b6103a661072436600461528e565b611d10565b6103a661073736600461528e565b611d26565b34801561074857600080fd5b5061055a610757366004614d1c565b611d31565b34801561076857600080fd5b506103a6610777366004614d1c565b611d55565b34801561078857600080fd5b506003546001600160a01b031661045e565b3480156107a657600080fd5b506104086107b5366004614dcf565b611dfd565b3480156107c657600080fd5b506104086107d5366004615303565b611f4c565b3480156107e657600080fd5b5061055a6107f5366004614d1c565b6120e8565b34801561080657600080fd5b5061081061010081565b60405163ffffffff9091168152602001610415565b34801561083157600080fd5b50610845610840366004614d1c565b6121ad565b60405160ff9091168152602001610415565b34801561086357600080fd5b50610408610872366004615243565b6121ce565b34801561088357600080fd5b506103a6612261565b34801561089857600080fd5b5061055a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108cc57600080fd5b506106886108db36600461537e565b61231c565b3480156108ec57600080fd5b506103a66108fb3660046153a0565b612366565b34801561090c57600080fd5b5061045e61091b3660046153a0565b6123ba565b34801561092c57600080fd5b5061040861093b3660046153b9565b612421565b34801561094c57600080fd5b5061040861095b366004615415565b6124e2565b34801561096c57600080fd5b5061055a61097b366004614d40565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156109b557600080fd5b5042610688565b3480156109c857600080fd5b506106886109d736600461537e565b6127f9565b3480156109e857600080fd5b506103a66109f736600461549b565b612842565b348015610a0857600080fd5b50610688600181565b348015610a1d57600080fd5b5061055a610a2c3660046154e6565b6128b8565b348015610a3d57600080fd5b506103a6610a4c366004614d1c565b6128f9565b348015610a5d57600080fd5b50610a71610a6c3660046153a0565b6129dd565b6040516104159190615527565b348015610a8a57600080fd5b506103a6610a99366004615573565b612ac2565b348015610aaa57600080fd5b50610abe610ab936600461559f565b612b41565b60405161041596959493929190615673565b348015610adc57600080fd5b5061055a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610b1057600080fd5b5061055a610b1f3660046153a0565b600090815260026020526040902054151590565b348015610b3f57600080fd5b50610b53610b4e36600461549b565b612c2e565b6040516104159291906156cc565b348015610b6d57600080fd5b5061045e612c7a565b348015610b8257600080fd5b506103a6610b91366004615573565b612d42565b348015610ba257600080fd5b50610408610bb13660046156e5565b612e4d565b348015610bc257600080fd5b50610bd6610bd1366004614d1c565b612f45565b604080519315158452911515602084015290820152606001610415565b348015610bff57600080fd5b506103a6610c0e366004614d40565b612f94565b6000546201000090046001600160a01b03163314610c44576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c83576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce79190615754565b600081815260026020526040812054919250819003610d1957604051630e4f4df560e11b815260040160405180910390fd5b60006001610d278184615783565b81548110610d3757610d37615796565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610d8a57600080fd5b505af1158015610d9e573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610e1b576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610eab576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0f9190615754565b60008181526002602052604090205490915015610f3f57604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610f6357604051630f85034f60e31b815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000061101d576000604051610f9890614c9f565b604051809103906000f080158015610fb4573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610ffc57600080fd5b505af1158015611010573d6000803e3d6000fd5b5050505080915050611020565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d1906110bd90849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b60606110d5336120e8565b6110f25760405163619c535960e01b815260040160405180910390fd5b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061113492508391506130ef9050565b611140576111406157ac565b6000806111ba8a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525061310f92505050565b9150915081156112cf576111cd816131d6565b1561126757808060200190518101906111e69190615807565b93506111f1846130ef565b611262578661121b5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061126292508c91506014905061322a565b611309565b866112885760405163a85ba64f60e01b815260166004820152602401611212565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061126292508c91506016905061322a565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b606061132533846000856132ab565b90505b92915050565b6000546201000090046001600160a01b0316331461135f576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a9466004820152600090309063b6d200de90602401602060405180830381865afa1580156113bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e1919061583b565b90506000816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa158015611423573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611447919061583b565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe690602401600060405180830381600087803b15801561148e57600080fd5b505af11580156114a2573d6000803e3d6000fd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b6114f881611b1e61322a565b50565b6060611509338585856134e8565b949350505050565b611519614cac565b611328826135f9565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061156792508391506130ef9050565b6115875760405163a85ba64f60e01b815260146004820152602401611212565b89611591816120e8565b6115ae5760405163619c535960e01b815260040160405180910390fd5b60006115ef87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b6101208101519091506001600160a01b031633146116205760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a083015261166c826136c4565b955060006116b28e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c91506137f89050565b96509050801561171157858060200190518101906116d09190615807565b96506116db876130ef565b6116e7576116e76157ac565b6116f087611511565b6001600160a01b0383166060820152925061170a836136c4565b965061171a565b61171a866138b3565b505050505097509795505050505050565b6000546201000090046001600160a01b0316331461175c576040516362e9152760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561179b576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fd9190615858565b1561181b5760405163474e764160e01b815260040160405180910390fd5b6114f8816139be565b600061184e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b03163314611884576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166119f3577f000000000000000000000000000000000000000000000000000000000000000061196a5760006040516118c790614c9f565b604051809103906000f0801580156118e3573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561192b57600080fd5b505af115801561193f573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506119869050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156119d657600080fd5b505af11580156119ea573d6000803e3d6000fd5b50505050611a92565b7f000000000000000000000000000000000000000000000000000000000000000015611a32576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b158015611a7957600080fd5b505af1158015611a8d573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b33600081815260046020526040902054611b03576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054611b3957604051634b5518af60e11b815260040160405180910390fd5b611b42826121ad565b60ff16611b4e826121ad565b60ff1611611b6f57604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba3083611bc786613bf8565b6040518463ffffffff1660e01b8152600401611be593929190615875565b602060405180830381865afa158015611c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c269190615754565b151592915050565b6060611c39336120e8565b611c565760405163619c535960e01b815260040160405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c9892508391506130ef9050565b611ca457611ca46157ac565b6000611ce586868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b9050838161010001818151611cfa9190615899565b905250611d06816136c4565b9695505050505050565b611d22611d1b613c80565b8383613ce8565b5050565b611d22338383613ce8565b6001600160a01b038116600090815260046020526040812054618000161515611328565b6000546201000090046001600160a01b03163314611d86576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611e08336120e8565b611e255760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e6792508391506130ef9050565b611e7357611e736157ac565b600080611eed8a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525061310f92505050565b91509150811561130957611f00816131d6565b15611f205780806020019051810190611f199190615807565b9350611309565b86611f415760405163a85ba64f60e01b815260166004820152602401611212565b6113098a601661322a565b6060611f57336120e8565b611f745760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611fb692508391506130ef9050565b611fc257611fc26157ac565b600061200389898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b905061202a81606001516001600160a01b0316600090815260046020526040902054151590565b801561203e57506001816000015160ff1610155b156120915760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff166120915760405163a85ba64f60e01b8152601e6004820152602401611212565b80518161209d826158c1565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b0380881661012083015284166101408201526120db816136c4565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612129573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214d9190615754565b600081815260026020526040902054909150801580159061150957506001600160a01b038416600161217f8184615783565b8154811061218f5761218f615796565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff16611328565b60606121d9336120e8565b6121f65760405163619c535960e01b815260040160405180910390fd5b600061223785858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b905082816101000181815161224c9190615899565b905250612258816136c4565b95945050505050565b600054610100900460ff16158080156122815750600054600160ff909116105b8061229b5750303b15801561229b575060005460ff166001145b6122b75760405162461bcd60e51b8152600401611212906158e0565b6000805460ff1916600117905580156122da576000805461ff0019166101001790555b80156114f8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611acb565b60008181526002602052604081205480820361234b57604051630e4f4df560e11b815260040160405180910390fd5b612356600182615783565b6001901b19841691505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156123b0576123b0604051806040016040528060028152602001616b3160f01b815250326147d1565b6114f8338261487a565b6000818152600260205260408120548082036123e957604051630e4f4df560e11b815260040160405180910390fd5b60016123f58183615783565b8154811061240557612405615796565b6000918252602090912001546001600160a01b03169392505050565b606061242c336120e8565b6124495760405163619c535960e01b815260040160405180910390fd5b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061248b92508391506130ef9050565b612497576124976157ac565b6124a1848461322a565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061252692508391506130ef9050565b6125465760405163a85ba64f60e01b815260146004820152602401611212565b6001600160a01b03871660009081526004602052604081205488918190036125815760405163163cbe4360e01b815260040160405180910390fd5b6180008116156125a357604051628e12d960e21b815260040160405180910390fd5b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506125e49150839050614949565b90506001600160e01b031981166330d9c91560e01b148061261557506001600160e01b0319811663d86ed3e560e01b145b8061263057506001600160e01b03198116630221347d60e61b145b8061264b57506001600160e01b0319811663230dbd2960e01b145b8061266657506001600160e01b03198116635f9e7d7760e01b145b8061268157506001600160e01b031981166353c11f9960e01b145b1561269f576040516377a14afb60e11b815260040160405180910390fd5b60006126e089898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061151192505050565b6101208101519091506001600160a01b03163314612711576040516311cfdef560e21b815260040160405180910390fd5b60608101805133909152612724826136c4565b975060008061276b8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f91506137f89050565b9150915081156127de57808060200190518101906127899190615807565b99506127948a6130ef565b6127b45760405163a85ba64f60e01b815260146004820152602401611212565b6127bd8a611511565b6001600160a01b038416606082015293506127d7846136c4565b99506127e7565b6127e7816138b3565b50505050505050505095945050505050565b60008181526002602052604081205480820361282857604051630e4f4df560e11b815260040160405180910390fd5b612833600182615783565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156128a9576128a982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503292506147d1915050565b6128b3338461487a565b505050565b600061132583838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506130ef92505050565b600054610100900460ff16158080156129195750600054600160ff909116105b806129335750303b158015612933575060005460ff166001145b61294f5760405162461bcd60e51b8152600401611212906158e0565b6000805460ff191660011790558015612972576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611d22576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156129ff576129ff614eca565b604051908082528060200260200182016040528015612a28578160200160208202803683370190505b50925060009050600091505b600154821015612aba576001821b841615612aaf5760018281548110612a5c57612a5c615796565b6000918252602090912001546001600160a01b03168382612a7c8161592e565b935081518110612a8e57612a8e615796565b60200260200101906001600160a01b031690816001600160a01b0316815250505b816001019150612a34565b825250919050565b816001600160a01b03163b600003612aed5760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612b3757612b37604051806040016040528060028152602001616b3160f01b815250336147d1565b611d22828261487a565b600080600060608060608e8e8e8e8e8e8e8e8e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f890181900481028201810190925287815293995096975094959394509192909150859085908190840183828082843760009201919091525050604080516020601f87018190048102820181019092528581529397509495509293919250849184915081908401838280828437600092019190915250999f50979d50959b50939950919750919550505050505099509950995099509950999350505050565b6000606084848481818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b929a509198505050505050505050565b6003546000906001600160a01b0316612c9557612c956157ac565b7f000000000000000000000000000000000000000000000000000000000000000015612ccb57506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d1e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e919061583b565b816001600160a01b03163b600003612d6d5760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612b37576000612d9e336149a5565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612ddd90309085908790600401615875565b602060405180830381865afa158015612dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1e9190615754565b600114905080612e4157604051630b56455f60e41b815260040160405180910390fd5b5050611d22828261487a565b60606000612ec486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250614a1f92505050565b90506000306001600160a01b031682604051612ee09190615947565b600060405180830381855afa9150503d8060008114612f1b576040519150601f19603f3d011682016040523d82523d6000602084013e612f20565b606091505b50935090508015612f32575050611509565b612f3b836138b3565b5050949350505050565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612f8c57805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612fc5576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b03821661305157600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613028573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304c919061583b565b613053565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b15801561309a57600080fd5b505af11580156130ae573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd391506020016114df565b600081516000141580156113285750600654825160208401201492915050565b600060606001600160a01b038716613129576131296157ac565b6131338484614a1f565b93506001600160401b037f00000000000000000000000000000000000000000000000000000000000000001660008761317657613171898784614ad6565b613181565b613181898784614b67565b9195509093509050836131ca57806131b157866131a6576131a1836138b3565b6131ca565b6131a189600a61322a565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b60006040825110156131ea57506000919050565b602082810151906000908214613204575060009392505050565b50604083015161321381614bc6565b61321e906040615963565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611d22576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b9061329f9084815260200190565b60405180910390a25050565b600654606090156132d25760405163a85ba64f60e01b815260156004820152602401611212565b6001600160a01b038416600090815260046020526040812054859181900361330d5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561332f57604051628e12d960e21b815260040160405180910390fd5b83600061333b82614949565b90506001600160e01b031981166330d9c91560e01b148061336c57506001600160e01b0319811663d86ed3e560e01b145b8061338757506001600160e01b03198116630221347d60e61b145b806133a257506001600160e01b0319811663230dbd2960e01b145b806133bd57506001600160e01b03198116635f9e7d7760e01b145b806133d857506001600160e01b031981166353c11f9960e01b145b156133f6576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a16610120820152610140810182905261346d906136c4565b9050600061347d8a898b856137f8565b9750905080156134cb578680602001905181019061349b9190615807565b91506134a6826130ef565b6134c65760405163a85ba64f60e01b815260146004820152602401611212565b6134d4565b6134d4876138b3565b505060006006555092979650505050505050565b6006546060901561350f5760405163a85ba64f60e01b815260156004820152602401611212565b83613519816120e8565b6135365760405163619c535960e01b815260040160405180910390fd5b600061354185614949565b60408051610160810182526000808252600160208301529293506135c49181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152506136c4565b905060006135d588886000856137f8565b95509050806135e7576135e7856138b3565b50506000600655509095945050505050565b613601614cac565b606080838060200190518101906136189190615976565b8151919350915060009061363590840160209081019085016159d3565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff9091168552825160009250613686919084018101908401615a58565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156136f25760405163a85ba64f60e01b815260286004820152602401611212565b815160208084015160009260ff1664ff000000009190921b161790506000608061371f8560e00151614bff565b6001600160801b0316901b6137378560c00151614bff565b6001600160801b0316179050818460400151856060015186608001518760a0015160405160200161376c959493929190615aa4565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526137d6929160200161521e565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b038616613812576138126157ac565b61381c8584614a1f565b9450856001600160a01b031684866040516138379190615947565b60006040518083038185875af1925050503d8060008114613874576040519150601f19603f3d011682016040523d82523d6000602084013e613879565b606091505b50909250905081156138aa5780516000036138aa5760405163a85ba64f60e01b815260166004820152602401611212565b94509492505050565b6004815110156139055760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611212565b602081015163b1b7848f60e01b6001600160e01b03198216016139b55760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161121291849101614eb7565b81518060208401fd5b60006139e87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603613a3e5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611212565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aa09190615754565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba7414613b1a5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611212565b6001600160a01b0381163003613b725760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611212565b613b9a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611acb565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b600060183610801590613c975750613c9733611ba4565b613cdb5760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401611212565b5060131936013560601c90565b60005b8181101561478f576000838383818110613d0757613d07615796565b9050602002810190613d199190615af0565b613d27906020810190615b06565b905060001963ffffffff821601613e1b57600080858585818110613d4d57613d4d615796565b9050602002810190613d5f9190615af0565b613d6d906040810190615b2c565b810190613d7a9190615573565b91509150858585818110613d9057613d90615796565b9050602002810190613da29190615af0565b613db3906040810190602001614d1c565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613de293929190615875565b600060405180830381600087803b158015613dfc57600080fd5b505af1158015613e10573d6000803e3d6000fd5b505050505050614786565b60011963ffffffff821601613f26576000806000868686818110613e4157613e41615796565b9050602002810190613e539190615af0565b613e61906040810190615b2c565b810190613e6e9190615b72565b925092509250868686818110613e8657613e86615796565b9050602002810190613e989190615af0565b613ea9906040810190602001614d1c565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613f0657600080fd5b505af1158015613f1a573d6000803e3d6000fd5b50505050505050614786565b60021963ffffffff821601613fe5576000806000868686818110613f4c57613f4c615796565b9050602002810190613f5e9190615af0565b613f6c906040810190615b2c565b810190613f799190615bb3565b925092509250868686818110613f9157613f91615796565b9050602002810190613fa39190615af0565b613fb4906040810190602001614d1c565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613eec9493929190615bf5565b60031963ffffffff82160161409e5760008085858581811061400957614009615796565b905060200281019061401b9190615af0565b614029906040810190615b2c565b8101906140369190615573565b9150915085858581811061404c5761404c615796565b905060200281019061405e9190615af0565b61406f906040810190602001614d1c565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613de293929190615875565b60041963ffffffff821601614157576000808585858181106140c2576140c2615796565b90506020028101906140d49190615af0565b6140e2906040810190615b2c565b8101906140ef9190615573565b9150915085858581811061410557614105615796565b90506020028101906141179190615af0565b614128906040810190602001614d1c565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613de293929190615875565b60641963ffffffff82160161424c5783838381811061417857614178615796565b905060200281019061418a9190615af0565b61419b906040810190602001614d1c565b6001600160a01b031663ca789464868686868181106141bc576141bc615796565b90506020028101906141ce9190615af0565b6141dc906040810190615b2c565b8101906141e991906153a0565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561422f57600080fd5b505af1158015614243573d6000803e3d6000fd5b50505050614786565b60651963ffffffff8216016142b15783838381811061426d5761426d615796565b905060200281019061427f9190615af0565b614290906040810190602001614d1c565b6001600160a01b031663245887fc868686868181106141bc576141bc615796565b60661963ffffffff82160161436a576000808585858181106142d5576142d5615796565b90506020028101906142e79190615af0565b6142f5906040810190615b2c565b8101906143029190615573565b9150915085858581811061431857614318615796565b905060200281019061432a9190615af0565b61433b906040810190602001614d1c565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613de293929190615875565b60671963ffffffff8216016144235760008085858581811061438e5761438e615796565b90506020028101906143a09190615af0565b6143ae906040810190615b2c565b8101906143bb9190615573565b915091508585858181106143d1576143d1615796565b90506020028101906143e39190615af0565b6143f4906040810190602001614d1c565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613de293929190615875565b60c81963ffffffff8216016144c05760008085858581811061444757614447615796565b90506020028101906144599190615af0565b614467906040810190615b2c565b8101906144749190615c28565b915091506144b88787878781811061448e5761448e615796565b90506020028101906144a09190615af0565b6144b1906040810190602001614d1c565b84846134e8565b505050614786565b60c91963ffffffff82160161457b57614575858585858181106144e5576144e5615796565b90506020028101906144f79190615af0565b614508906040810190602001614d1c565b4787878781811061451b5761451b615796565b905060200281019061452d9190615af0565b61453b906040810190615b2c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506132ab92505050565b50614786565b61012c1963ffffffff8216016146a3576000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee494478888888181106145d0576145d0615796565b90506020028101906145e29190615af0565b6145f3906040810190602001614d1c565b89898981811061460557614605615796565b90506020028101906146179190615af0565b614625906040810190615b2c565b6040518563ffffffff1660e01b815260040161464393929190615ca2565b60006040518083038185885af1158015614661573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261468a9190810190615cc7565b915091508161469c5761469c816138b3565b5050614786565b61012d1963ffffffff82160161476d576000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec594478888888181106146f8576146f8615796565b905060200281019061470a9190615af0565b61471b906040810190602001614d1c565b8a8a8a8a81811061472e5761472e615796565b90506020028101906147409190615af0565b61474e906040810190615b2c565b6040518663ffffffff1660e01b81526004016146439493929190615d01565b60405163b477011560e01b815260040160405180910390fd5b50600101613ceb565b5047156128b3576040516001600160a01b038416904780156108fc02916000818181858888f193505050501580156147cb573d6000803e3d6000fd5b50505050565b60006147dd8284614c6c565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba9161481a9130918790600401615875565b602060405180830381865afa158015614837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061485b9190615754565b10156128b357604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614891575060ff8116155b8061489f5750618000811615155b156148bd57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054156148f4576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b600060048251101561499d5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401611212565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c001613c63565b815180830151606091908015614a48576040516367e9985b60e01b815260040160405180910390fd5b50601f1981018452825184908481614a5f81614bc6565b614a699190615783565b6001600160401b03811115614a8057614a80614eca565b6040519080825280601f01601f191660200182016040528015614aaa576020820181803683370190505b50604051602001614abe9493929190615d2e565b60405160208183030381529060405291505092915050565b600080606060005a9050866001600160a01b03168587604051614af99190615947565b60006040518083038160008787f1925050503d8060008114614b37576040519150601f19603f3d011682016040523d82523d6000602084013e614b3c565b606091505b50909450915083614b5d57614b52604082615d7c565b5a11614b5d57600192505b5093509350939050565b600080606060005a9050866001600160a01b03168587604051614b8a9190615947565b6000604051808303818686fa925050503d8060008114614b37576040519150601f19603f3d011682016040523d82523d6000602084013e614b3c565b60008082601f1611614bd9576000614bdc565b60015b60ff16614bea602084615d7c565b614bf49190615963565b611328906020615d9e565b60006001600160801b03821115614c685760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401611212565b5090565b60008282604051602001614c81929190615db5565b60405160208183030381529060405280519060200120905092915050565b61024980615e3b83390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146114f857600080fd5b600060208284031215614d2e57600080fd5b8135614d3981614d07565b9392505050565b60008060408385031215614d5357600080fd5b8235614d5e81614d07565b91506020830135614d6e81614d07565b809150509250929050565b60008083601f840112614d8b57600080fd5b5081356001600160401b03811115614da257600080fd5b602083019150836020828501011115614dba57600080fd5b9250929050565b80151581146114f857600080fd5b60008060008060008060808789031215614de857600080fd5b8635614df381614d07565b955060208701356001600160401b03811115614e0e57600080fd5b614e1a89828a01614d79565b9096509450506040870135614e2e81614dc1565b925060608701356001600160401b03811115614e4957600080fd5b614e5589828a01614d79565b979a9699509497509295939492505050565b60005b83811015614e82578181015183820152602001614e6a565b50506000910152565b60008151808452614ea3816020860160208601614e67565b601f01601f19169290920160200192915050565b6020815260006113256020830184614e8b565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614f0857614f08614eca565b604052919050565b60006001600160401b03821115614f2957614f29614eca565b50601f01601f191660200190565b600082601f830112614f4857600080fd5b8135614f5b614f5682614f10565b614ee0565b818152846020838601011115614f7057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614fa057600080fd5b8235614fab81614d07565b915060208301356001600160401b03811115614fc657600080fd5b614fd285828601614f37565b9150509250929050565b600080600060608486031215614ff157600080fd5b8335614ffc81614d07565b925060208401356001600160401b0381111561501757600080fd5b61502386828701614f37565b92505060408401356001600160401b0381111561503f57600080fd5b61504b86828701614f37565b9150509250925092565b60006020828403121561506757600080fd5b81356001600160401b0381111561507d57600080fd5b61150984828501614f37565b6020815261509d60208201835160ff169052565b600060208301516150b3604084018260ff169052565b506040830151606083015260608301516150d860808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a083015161016060c084015261510a610180840182614e8b565b905060c084015160e084015260e08401516101008401526101008401516101208401526101208401516151496101408501826001600160a01b03169052565b506101408401516001600160a01b038116610160850152509392505050565b60008060008060008060006080888a03121561518357600080fd5b873561518e81614d07565b965060208801356001600160401b038111156151a957600080fd5b6151b58a828b01614d79565b90975095505060408801356001600160401b038111156151d457600080fd5b6151e08a828b01614d79565b90955093505060608801356001600160401b038111156151ff57600080fd5b61520b8a828b01614d79565b989b979a50959850939692959293505050565b6040815260006152316040830185614e8b565b82810360208401526122588185614e8b565b60008060006040848603121561525857600080fd5b83356001600160401b0381111561526e57600080fd5b61527a86828701614d79565b909790965060209590950135949350505050565b600080602083850312156152a157600080fd5b82356001600160401b038111156152b757600080fd5b8301601f810185136152c857600080fd5b80356001600160401b038111156152de57600080fd5b8560208260051b84010111156152f357600080fd5b6020919091019590945092505050565b60008060008060008060a0878903121561531c57600080fd5b86356001600160401b0381111561533257600080fd5b61533e89828a01614d79565b909750955050602087013561535281614d07565b93506040870135925060608701359150608087013561537081614d07565b809150509295509295509295565b6000806040838503121561539157600080fd5b50508035926020909101359150565b6000602082840312156153b257600080fd5b5035919050565b600080600080606085870312156153cf57600080fd5b84356001600160401b038111156153e557600080fd5b6153f187828801614d79565b909550935050602085013561540581614d07565b9396929550929360400135925050565b60008060008060006060868803121561542d57600080fd5b853561543881614d07565b945060208601356001600160401b0381111561545357600080fd5b61545f88828901614d79565b90955093505060408601356001600160401b0381111561547e57600080fd5b61548a88828901614d79565b969995985093965092949392505050565b6000806000604084860312156154b057600080fd5b8335925060208401356001600160401b038111156154cd57600080fd5b6154d986828701614d79565b9497909650939450505050565b600080602083850312156154f957600080fd5b82356001600160401b0381111561550f57600080fd5b61551b85828601614d79565b90969095509350505050565b602080825282518282018190526000918401906040840190835b818110156155685783516001600160a01b0316835260209384019390920191600101615541565b509095945050505050565b6000806040838503121561558657600080fd5b823561559181614d07565b946020939093013593505050565b600080600080600080600080600060c08a8c0312156155bd57600080fd5b89356155c881614d07565b985060208a01356155d881614d07565b975060408a0135965060608a01356001600160401b038111156155fa57600080fd5b6156068c828d01614d79565b90975095505060808a01356001600160401b0381111561562557600080fd5b6156318c828d01614d79565b90955093505060a08a01356001600160401b0381111561565057600080fd5b61565c8c828d01614d79565b915080935050809150509295985092959850929598565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906156a690830186614e8b565b82810360808401526156b88186614e8b565b905082810360a08401526120db8185614e8b565b8281526040602082015260006115096040830184614e8b565b600080600080604085870312156156fb57600080fd5b84356001600160401b0381111561571157600080fd5b61571d87828801614d79565b90955093505060208501356001600160401b0381111561573c57600080fd5b61574887828801614d79565b95989497509550505050565b60006020828403121561576657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156113285761132861576d565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f8301126157d357600080fd5b81516157e1614f5682614f10565b8181528460208386010111156157f657600080fd5b611509826020830160208701614e67565b60006020828403121561581957600080fd5b81516001600160401b0381111561582f57600080fd5b611509848285016157c2565b60006020828403121561584d57600080fd5b8151614d3981614d07565b60006020828403121561586a57600080fd5b8151614d3981614dc1565b6001600160a01b039384168152919092166020820152604081019190915260600190565b80820182811260008312801582168215821617156158b9576158b961576d565b505092915050565b600060ff821660ff81036158d7576158d761576d565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000600182016159405761594061576d565b5060010190565b60008251615959818460208701614e67565b9190910192915050565b808201808211156113285761132861576d565b6000806040838503121561598957600080fd5b82516001600160401b0381111561599f57600080fd5b6159ab858286016157c2565b92505060208301516001600160401b038111156159c757600080fd5b614fd2858286016157c2565b600080600080600060a086880312156159eb57600080fd5b8551602087015160408801519196509450615a0581614d07565b60608701519093506001600160e01b031981168114615a2357600080fd5b60808701519092506001600160401b03811115615a3f57600080fd5b615a4b888289016157c2565b9150509295509295909350565b60008060008060808587031215615a6e57600080fd5b8451602086015160408701519195509350615a8881614d07565b6060860151909250615a9981614d07565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a060808201819052600090615ae590830184614e8b565b979650505050505050565b60008235605e1983360301811261595957600080fd5b600060208284031215615b1857600080fd5b813563ffffffff81168114614d3957600080fd5b6000808335601e19843603018112615b4357600080fd5b8301803591506001600160401b03821115615b5d57600080fd5b602001915036819003821315614dba57600080fd5b600080600060608486031215615b8757600080fd5b8335615b9281614d07565b92506020840135615ba281614d07565b929592945050506040919091013590565b600080600060608486031215615bc857600080fd5b8335615bd381614d07565b92506020840135915060408401356001600160401b0381111561503f57600080fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611d0690830184614e8b565b60008060408385031215615c3b57600080fd5b82356001600160401b03811115615c5157600080fd5b615c5d85828601614f37565b92505060208301356001600160401b03811115614fc657600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906122589083018486615c79565b60008060408385031215615cda57600080fd5b8251615ce581614dc1565b60208401519092506001600160401b038111156159c757600080fd5b6001600160a01b03858116825284166020820152606060408201819052600090611d069083018486615c79565b60008551615d40818460208a01614e67565b82018581528451615d58816020808501908901614e67565b8451910190615d6e816020808501908801614e67565b016020019695505050505050565b600082615d9957634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176113285761132861576d565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e06040820152600061150960e0830184614e8b56fe6080604052348015600f57600080fd5b5061022a8061001f6000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea26469706673582212200be7dc4160bd041045497f295bc4dcbce9dd453202fd7b0b470b990a3e32293764736f6c634300081a0033a2646970667358221220e13910b108097570142f2fbc91c8b0ec69b9cdb74e896ab92f7b2c939ef437c664736f6c634300081a0033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "bool";