@etherisc/gif-next 0.0.2-a9ccad5-356 → 0.0.2-a9f5983-610

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 (347) hide show
  1. package/README.md +73 -1
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  3. package/artifacts/contracts/components/Component.sol/Component.json +774 -0
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +758 -192
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/{BaseComponent.sol/BaseComponent.json → IComponent.sol/IComponent.json} +103 -109
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +725 -0
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +814 -60
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +592 -9
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +833 -321
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +461 -149
  18. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  19. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +38 -49
  20. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
  21. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  22. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +911 -115
  23. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  24. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +178 -165
  25. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  26. package/artifacts/contracts/instance/Instance.sol/Instance.json +797 -1007
  27. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  28. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +211 -144
  29. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  30. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +70 -101
  31. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  32. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +395 -330
  33. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +297 -116
  35. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  36. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +8 -19
  37. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
  38. package/artifacts/contracts/instance/base/{ComponentServiceBase.sol/ComponentServiceBase.json → ComponentService.sol/ComponentService.json} +181 -180
  39. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  40. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  41. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  42. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +2 -2
  43. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  44. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
  45. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +59 -16
  47. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  48. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  49. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  50. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  51. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  52. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  53. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  54. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +858 -0
  55. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  56. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +657 -0
  57. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  58. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1085 -0
  59. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  60. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +661 -0
  61. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
  62. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +743 -0
  63. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  64. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +637 -0
  65. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  66. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +434 -215
  67. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  68. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +316 -83
  69. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  70. package/artifacts/contracts/instance/service/{IComponentOwnerService.sol/IComponentOwnerService.json → IApplicationService.sol/IApplicationService.json} +200 -204
  71. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  72. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +622 -0
  73. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
  74. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → instance/service/IClaimService.sol/IClaimService.json} +154 -124
  75. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  76. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +197 -163
  77. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  78. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +572 -0
  79. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +24 -416
  81. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  82. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +30 -417
  83. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  84. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1109 -0
  85. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  86. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +717 -0
  87. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  88. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +178 -511
  89. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  90. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +293 -108
  91. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  92. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +190 -571
  93. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  94. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +286 -125
  95. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  96. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  97. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  98. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +225 -133
  99. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  100. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +149 -217
  101. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  102. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  103. package/artifacts/contracts/registry/Registry.sol/Registry.json +238 -235
  104. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  105. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  106. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  107. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +195 -322
  108. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  109. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +298 -145
  110. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  111. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +547 -0
  112. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  113. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +141 -53
  114. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  115. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  116. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  117. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  118. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +40 -29
  119. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  120. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
  121. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  122. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +21 -34
  123. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  124. package/artifacts/contracts/{experiment/inheritance/IB.sol/IB.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +18 -20
  125. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  126. package/artifacts/contracts/shared/IService.sol/IService.json +23 -186
  127. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  128. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  129. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  130. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +120 -27
  131. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  132. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +248 -0
  133. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  134. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +294 -61
  135. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  136. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +129 -51
  137. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  138. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +84 -0
  139. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  140. package/artifacts/contracts/shared/Service.sol/Service.json +120 -174
  141. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  142. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  143. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  144. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  145. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  146. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  147. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  148. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +129 -51
  149. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  150. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
  151. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  152. package/artifacts/contracts/test/TestService.sol/TestService.json +141 -231
  153. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  154. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  155. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  156. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
  157. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  158. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  159. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  160. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  161. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  162. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +100 -0
  163. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  164. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
  165. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  166. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  167. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  168. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  169. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  170. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  171. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  172. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  173. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  174. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  175. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  176. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +100 -0
  177. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  178. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +2 -2
  179. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  181. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  182. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  183. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
  184. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
  185. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  186. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  187. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +25 -7
  188. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  189. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  190. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  191. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  192. package/contracts/components/Component.sol +221 -0
  193. package/contracts/components/Distribution.sol +209 -64
  194. package/contracts/components/IComponent.sol +68 -0
  195. package/contracts/components/IDistributionComponent.sol +59 -3
  196. package/contracts/components/IPoolComponent.sol +124 -39
  197. package/contracts/components/IProductComponent.sol +10 -5
  198. package/contracts/components/Pool.sol +283 -172
  199. package/contracts/components/Product.sol +125 -121
  200. package/contracts/instance/BundleManager.sol +8 -12
  201. package/contracts/instance/IInstance.sol +46 -10
  202. package/contracts/instance/IInstanceService.sol +30 -3
  203. package/contracts/instance/Instance.sol +99 -262
  204. package/contracts/instance/InstanceAccessManager.sol +87 -78
  205. package/contracts/instance/InstanceReader.sol +3 -25
  206. package/contracts/instance/InstanceService.sol +381 -123
  207. package/contracts/instance/InstanceServiceManager.sol +6 -9
  208. package/contracts/instance/ObjectManager.sol +8 -19
  209. package/contracts/instance/base/ComponentService.sol +134 -0
  210. package/contracts/instance/module/IAccess.sol +27 -18
  211. package/contracts/instance/module/IBundle.sol +2 -1
  212. package/contracts/instance/module/IPolicy.sol +6 -3
  213. package/contracts/instance/module/ISetup.sol +6 -4
  214. package/contracts/instance/service/ApplicationService.sol +269 -0
  215. package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
  216. package/contracts/instance/service/BundleService.sol +299 -0
  217. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  218. package/contracts/instance/service/ClaimService.sol +151 -0
  219. package/contracts/instance/service/ClaimServiceManager.sol +35 -0
  220. package/contracts/instance/service/DistributionService.sol +216 -27
  221. package/contracts/instance/service/DistributionServiceManager.sol +7 -10
  222. package/contracts/instance/service/IApplicationService.sol +83 -0
  223. package/contracts/instance/service/IBundleService.sol +55 -0
  224. package/contracts/instance/service/IClaimService.sol +61 -0
  225. package/contracts/instance/service/IDistributionService.sol +53 -0
  226. package/contracts/instance/service/IPolicyService.sol +90 -0
  227. package/contracts/instance/service/IPoolService.sol +2 -33
  228. package/contracts/instance/service/IProductService.sol +2 -72
  229. package/contracts/instance/service/PolicyService.sol +476 -0
  230. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  231. package/contracts/instance/service/PoolService.sol +34 -212
  232. package/contracts/instance/service/PoolServiceManager.sol +6 -9
  233. package/contracts/instance/service/ProductService.sol +123 -460
  234. package/contracts/instance/service/ProductServiceManager.sol +2 -2
  235. package/contracts/registry/ChainNft.sol +1 -1
  236. package/contracts/registry/IRegistry.sol +37 -19
  237. package/contracts/registry/IRegistryService.sol +30 -13
  238. package/contracts/registry/Registry.sol +233 -217
  239. package/contracts/registry/RegistryAccessManager.sol +216 -0
  240. package/contracts/registry/RegistryService.sol +96 -171
  241. package/contracts/registry/RegistryServiceManager.sol +21 -39
  242. package/contracts/registry/ReleaseManager.sol +322 -0
  243. package/contracts/registry/TokenRegistry.sol +22 -17
  244. package/contracts/shared/ERC165.sol +14 -12
  245. package/contracts/shared/INftOwnable.sol +11 -10
  246. package/contracts/shared/IPolicyHolder.sol +26 -0
  247. package/contracts/shared/IRegisterable.sol +4 -6
  248. package/contracts/shared/IRegistryLinked.sol +12 -0
  249. package/contracts/shared/IService.sol +2 -1
  250. package/contracts/shared/IVersionable.sol +4 -47
  251. package/contracts/shared/NftOwnable.sol +66 -80
  252. package/contracts/shared/PolicyHolder.sol +81 -0
  253. package/contracts/shared/ProxyManager.sol +100 -25
  254. package/contracts/shared/Registerable.sol +16 -32
  255. package/contracts/shared/RegistryLinked.sol +48 -0
  256. package/contracts/shared/Service.sol +25 -22
  257. package/contracts/shared/Versionable.sol +4 -92
  258. package/contracts/test/TestRegisterable.sol +1 -1
  259. package/contracts/test/TestService.sol +4 -3
  260. package/contracts/types/ClaimId.sol +52 -0
  261. package/contracts/types/DistributorType.sol +2 -2
  262. package/contracts/types/ObjectType.sol +9 -5
  263. package/contracts/types/PayoutId.sol +54 -0
  264. package/contracts/types/RoleId.sol +19 -14
  265. package/contracts/types/Seconds.sol +54 -0
  266. package/contracts/types/Timestamp.sol +12 -13
  267. package/package.json +3 -3
  268. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  269. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  270. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  271. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  272. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  273. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  274. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  275. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  276. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  277. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  278. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  279. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  280. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  281. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  282. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  283. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  284. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  285. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  286. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  287. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  288. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  289. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  290. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  291. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  292. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  293. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  294. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  295. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  296. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  297. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  298. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  299. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  300. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  301. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  302. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  303. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  304. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  305. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  306. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  307. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  308. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  309. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  310. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +0 -101
  311. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  312. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  313. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  314. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  315. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  316. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  317. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  318. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  319. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  320. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  321. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  322. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  323. package/contracts/components/BaseComponent.sol +0 -129
  324. package/contracts/components/IBaseComponent.sol +0 -31
  325. package/contracts/experiment/cloning/Cloner.sol +0 -47
  326. package/contracts/experiment/errors/Require.sol +0 -38
  327. package/contracts/experiment/errors/Revert.sol +0 -44
  328. package/contracts/experiment/inheritance/A.sol +0 -53
  329. package/contracts/experiment/inheritance/B.sol +0 -28
  330. package/contracts/experiment/inheritance/C.sol +0 -34
  331. package/contracts/experiment/inheritance/IA.sol +0 -13
  332. package/contracts/experiment/inheritance/IB.sol +0 -10
  333. package/contracts/experiment/inheritance/IC.sol +0 -12
  334. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  335. package/contracts/experiment/statemachine/ISM.sol +0 -25
  336. package/contracts/experiment/statemachine/SM.sol +0 -57
  337. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  338. package/contracts/experiment/types/TypeA.sol +0 -47
  339. package/contracts/experiment/types/TypeB.sol +0 -29
  340. package/contracts/instance/AccessManagedSimple.sol +0 -115
  341. package/contracts/instance/AccessManagerSimple.sol +0 -692
  342. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  343. package/contracts/instance/base/ComponentServiceBase.sol +0 -134
  344. package/contracts/instance/base/IInstanceBase.sol +0 -23
  345. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  346. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  347. package/contracts/shared/RegisterableUpgradable.sol +0 -16
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cb3b86c7c1e7bdb7bf776a7deae54eac.json"
3
+ "buildInfo": "../../../build-info/2feb17560f035cbba2aef2f5c9f9b3a5.json"
4
4
  }
@@ -3,11 +3,6 @@
3
3
  "contractName": "BundleManager",
4
4
  "sourceName": "contracts/instance/BundleManager.sol",
5
5
  "abi": [
6
- {
7
- "inputs": [],
8
- "stateMutability": "nonpayable",
9
- "type": "constructor"
10
- },
11
6
  {
12
7
  "inputs": [
13
8
  {
@@ -313,16 +308,10 @@
313
308
  {
314
309
  "anonymous": false,
315
310
  "inputs": [
316
- {
317
- "indexed": false,
318
- "internalType": "NftId",
319
- "name": "instanceNftId",
320
- "type": "uint96"
321
- },
322
311
  {
323
312
  "indexed": false,
324
313
  "internalType": "address",
325
- "name": "instanceReader",
314
+ "name": "instance",
326
315
  "type": "address"
327
316
  }
328
317
  ],
@@ -486,10 +475,10 @@
486
475
  },
487
476
  {
488
477
  "inputs": [],
489
- "name": "getInstanceReader",
478
+ "name": "getInstance",
490
479
  "outputs": [
491
480
  {
492
- "internalType": "contract InstanceReader",
481
+ "internalType": "contract IInstance",
493
482
  "name": "",
494
483
  "type": "address"
495
484
  }
@@ -541,9 +530,9 @@
541
530
  "type": "address"
542
531
  },
543
532
  {
544
- "internalType": "NftId",
545
- "name": "instanceNftId",
546
- "type": "uint96"
533
+ "internalType": "address",
534
+ "name": "instance",
535
+ "type": "address"
547
536
  }
548
537
  ],
549
538
  "name": "initialize",
@@ -630,14 +619,14 @@
630
619
  "type": "function"
631
620
  }
632
621
  ],
633
- "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319908116909155600380549091169055611e858061003c6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638de1d14e116100a2578063b5346af511610071578063b5346af51461025d578063bf7e214f14610270578063c861c25014610278578063db70354c1461028b578063dbacaaaf1461029e57600080fd5b80638de1d14e146102035780638fb360371461021657806394b9929b146102375780639a8fe6781461024a57600080fd5b806345983a8a116100e957806345983a8a1461018e578063485cc955146101a15780635ab1bd53146101b45780636ebed908146101c55780637a9e5e4b146101f057600080fd5b806302cd30711461011b57806306fa4565146101455780630cc7e6141461015a57806313ab148d1461016d575b600080fd5b6003546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6101586101533660046116c0565b6102b1565b005b6101586101683660046116c0565b61038d565b61018061017b3660046116c0565b6105b0565b60405190815260200161013c565b61018061019c3660046116c0565b6105c1565b6101586101af3660046116f2565b61064d565b6000546001600160a01b0316610128565b6101d86101d336600461172b565b6107ef565b6040516001600160601b03909116815260200161013c565b6101586101fe366004611757565b610802565b6101586102113660046116c0565b610889565b61021e6109fe565b6040516001600160e01b0319909116815260200161013c565b6101806102453660046116c0565b610a37565b6101586102583660046116c0565b610a42565b61015861026b3660046116c0565b610c68565b610128610d38565b610158610286366004611774565b610d54565b6101d861029936600461172b565b610ef3565b6101d86102ac36600461172b565b610eff565b6102be335b600036610f92565b600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610310573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103389190810190611966565b5190506103458183611098565b604080516001600160601b038084168252841660208201527f8481dca68853151d9f39783b09bf4144fd4fadcbf056b07e508ca3f873f2b89891015b60405180910390a15050565b610396336102b6565b60035460405163bd7d9d8560e01b81526001600160601b03831660048201526000916001600160a01b03169063bd7d9d8590602401600060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104109190810190611a71565b60200151600354604051634793b4ab60e01b81526001600160601b03831660048201529192506000916001600160a01b0390911690634793b4ab90602401600060405180830381865afa15801561046b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104939190810190611966565b5190506104a0818361111b565b6104d55760405163324bcb1160e11b81526001600160601b038084166004830152841660248201526044015b60405180910390fd5b6001600160601b0382166000908152600460208190526040918290209151631461054360e31b815273__$0dc988b1672de335b826773df9015af2da$__9263a3082a1892610537928891019182526001600160601b0316602082015260400190565b60006040518083038186803b15801561054f57600080fd5b505af4158015610563573d6000803e3d6000fd5b5050604080516001600160601b038087168252871660208201527f5cb68c560151617390da8ac6298cbe334b6a6e27a8bdea1f03a939de82a59b2a935001905060405180910390a1505050565b60006105bb826111be565b92915050565b6001600160601b03811660009081526004602081905260408083209051638b6233dd60e01b81529182015273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd906024015b602060405180830381865af4158015610629573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bb9190611bd7565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156106935750825b905060008267ffffffffffffffff1660011480156106b05750303b155b9050811580156106be575080155b156106dc5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561070657845460ff60401b1916600160401b1785555b61070f8761120f565b856001600160a01b03163b6000036107455760405163071669cf60e21b81526001600160a01b03871660048201526024016104cc565b600080546001600160a01b0319166001600160a01b0388811691821790925560408051928a16835260208301919091527fa6804c76412ae2d729353ed187a48b0b95177ee5c111049b80878fd127224412910160405180910390a183156107e657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b60006107fb8383611223565b9392505050565b3361080b610d38565b6001600160a01b0316816001600160a01b0316146108465760405162d1953b60e31b81526001600160a01b03821660048201526024016104cc565b816001600160a01b03163b60000361087c576040516361798f2f60e11b81526001600160a01b03831660048201526024016104cc565b6108858261127b565b5050565b610892336102b6565b600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa1580156108e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261090c9190810190611966565b51604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015610968573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098c9190611c00565b156109b457604051620852e560e41b81526001600160601b03831660048201526024016104cc565b6109be81836112d5565b604080516001600160601b038084168252841660208201527f559277c2e6b13df1c45b0a6a50bea96df5fc3499ee767963594bdd7cb5cc10359101610381565b600080516020611e30833981519152805460009190600160a01b900460ff16610a28576000610a31565b638fb3603760e01b5b91505090565b60006105bb826113dd565b610a4b336102b6565b60035460405163bd7d9d8560e01b81526001600160601b03831660048201526000916001600160a01b03169063bd7d9d8590602401600060405180830381865afa158015610a9d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ac59190810190611a71565b6020810151600354604051634793b4ab60e01b81526001600160601b038316600482015292935090916000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610b21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b499190810190611966565b519050610b56818361142e565b610b7e576040516352500dd960e01b81526001600160601b03831660048201526024016104cc565b6001600160601b038216600090815260046020819052604091829020915163539eabab60e11b815273__$0dc988b1672de335b826773df9015af2da$__9263a73d575692610be0928991019182526001600160601b0316602082015260400190565b60006040518083038186803b158015610bf857600080fd5b505af4158015610c0c573d6000803e3d6000fd5b505050507fb0b509518a18f79abc72ff294f3a785a37721a790e8f0f53d8b991dac386102d836020015185604051610c5a9291906001600160601b0392831681529116602082015260400190565b60405180910390a150505050565b610c71336102b6565b600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610cc3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ceb9190810190611966565b519050610cf88183611490565b604080516001600160601b038084168252841660208201527fb153f926e58e76caa7d661713867b8f1bbfcbda82504931fab2dccc2610a98dd9101610381565b600080516020611e30833981519152546001600160a01b031690565b610d5e838361064d565b600080546040516305247a1760e51b81526001600160601b03841660048201526001600160a01b039091169063a48f42e090602401600060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dd89190810190611c37565b9050610df68160400151610dea604690565b60ff9081169116141590565b15610e1f57604051632295742160e21b81526001600160601b03831660048201526024016104cc565b600081608001519050806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a9190611d0a565b600380546001600160a01b0319166001600160a01b03929092169182179055604080516001600160601b038616815260208101929092527fc23472ef19cd3719232c2fbc22eb87b48424eba43454acefd67a6578fda49d90910160405180910390a15050505050565b60006107fb83836114eb565b6001600160601b0382166000908152600460208190526040808320905163e797d89960e01b8152918201526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d899906044015b602060405180830381865af4158015610f6e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190611d27565b600080516020611e30833981519152600080610fcd610faf610d38565b8730610fbf600460008a8c611d44565b610fc891611d6e565b611543565b91509150816110905763ffffffff81161561106d57825460ff60a01b1916600160a01b178355610ffb610d38565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b815260040161102a93929190611d9e565b600060405180830381600087803b15801561104457600080fd5b505af1158015611058573d6000803e3d6000fd5b5050845460ff60a01b19168555506110909050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016104cc565b505050505050565b6001600160601b03828116600090815260016020526040908190209051631461054360e31b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a3082a18906044015b60006040518083038186803b15801561110757600080fd5b505af4158015611090573d6000803e3d6000fd5b6001600160601b0382166000908152600160205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b99161117d919086906004019182526001600160601b0316602082015260400190565b602060405180830381865af415801561119a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190611c00565b6001600160601b0381166000908152600260205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd9060240161060c565b61121761164f565b6112208161169a565b50565b6001600160601b038216600090815260016020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401610f51565b600080516020611e3083398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001610381565b6001600160601b0382811660009081526002602090815260408083206001909252918290209151631461054360e31b81526004810182905292841660248401529173__$0dc988b1672de335b826773df9015af2da$__9063a3082a189060440160006040518083038186803b15801561134d57600080fd5b505af4158015611361573d6000803e3d6000fd5b5050604051631461054360e31b8152600481018490526001600160601b038616602482015273__$0dc988b1672de335b826773df9015af2da$__925063a3082a18915060440160006040518083038186803b1580156113bf57600080fd5b505af41580156113d3573d6000803e3d6000fd5b5050505050505050565b6001600160601b0381166000908152600160205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd9060240161060c565b6001600160601b0382166000908152600260205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b99161117d919086906004019182526001600160601b0316602082015260400190565b6001600160601b0382811660009081526001602052604090819020905163539eabab60e11b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a73d5756906044016110ef565b6001600160601b038216600090815260026020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401610f51565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516115b29190611dde565b600060405180830381855afa9150503d80600081146115ed576040519150601f19603f3d011682016040523d82523d6000602084013e6115f2565b606091505b50915091508115611644576040815110611624578080602001905181019061161a9190611dfa565b9094509250611644565b602081511061164457808060200190518101906116419190611c00565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661169857604051631afcd79f60e31b815260040160405180910390fd5b565b6116a261164f565b6112208161127b565b6001600160601b038116811461122057600080fd5b6000602082840312156116d257600080fd5b81356107fb816116ab565b6001600160a01b038116811461122057600080fd5b6000806040838503121561170557600080fd5b8235611710816116dd565b91506020830135611720816116dd565b809150509250929050565b6000806040838503121561173e57600080fd5b8235611749816116ab565b946020939093013593505050565b60006020828403121561176957600080fd5b81356107fb816116dd565b60008060006060848603121561178957600080fd5b8335611794816116dd565b925060208401356117a4816116dd565b915060408401356117b4816116ab565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156117f9576117f96117bf565b60405290565b604051610200810167ffffffffffffffff811182821017156117f9576117f96117bf565b60405160e0810167ffffffffffffffff811182821017156117f9576117f96117bf565b8051611851816116ab565b919050565b60006040828403121561186857600080fd5b6040516040810181811067ffffffffffffffff8211171561188b5761188b6117bf565b604052825181526020928301519281019290925250919050565b60005b838110156118c05781810151838201526020016118a8565b50506000910152565b600082601f8301126118da57600080fd5b815167ffffffffffffffff808211156118f5576118f56117bf565b604051601f8301601f19908116603f0116810190828211818310171561191d5761191d6117bf565b8160405283815286602085880101111561193657600080fd5b6119478460208301602089016118a5565b9695505050505050565b805164ffffffffff8116811461185157600080fd5b60006020828403121561197857600080fd5b815167ffffffffffffffff8082111561199057600080fd5b9083019061014082860312156119a557600080fd5b6119ad6117d5565b6119b683611846565b81526119c58660208501611856565b60208201526060830151828111156119dc57600080fd5b6119e8878286016118c9565b6040830152506080830151606082015260a0830151608082015260c083015160a082015260e083015160c08201526101009150611a26828401611951565b60e0820152611a386101208401611951565b91810191909152949350505050565b80516001600160c01b03198116811461185157600080fd5b805161ffff8116811461185157600080fd5b600060208284031215611a8357600080fd5b815167ffffffffffffffff80821115611a9b57600080fd5b908301906102008286031215611ab057600080fd5b611ab86117ff565b611ac183611846565b8152611acf60208401611846565b6020820152611ae060408401611a47565b6040820152611af160608401611a47565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015183811115611b3257600080fd5b611b3e888287016118c9565b8284015250506101208084015183811115611b5857600080fd5b611b64888287016118c9565b8284015250506101409150611b7a828401611a5f565b828201526101609150611b8e828401611a5f565b82820152610180915081830151828201526101a09150611baf828401611951565b828201526101c09150611bc3828401611951565b828201526101e09150611a38828401611951565b600060208284031215611be957600080fd5b5051919050565b8051801515811461185157600080fd5b600060208284031215611c1257600080fd5b6107fb82611bf0565b805160ff8116811461185157600080fd5b8051611851816116dd565b600060208284031215611c4957600080fd5b815167ffffffffffffffff80821115611c6157600080fd5b9083019060e08286031215611c7557600080fd5b611c7d611823565b611c8683611846565b8152611c9460208401611846565b6020820152611ca560408401611c1b565b6040820152611cb660608401611bf0565b6060820152611cc760808401611c2c565b6080820152611cd860a08401611c2c565b60a082015260c083015182811115611cef57600080fd5b611cfb878286016118c9565b60c08301525095945050505050565b600060208284031215611d1c57600080fd5b81516107fb816116dd565b600060208284031215611d3957600080fd5b81516107fb816116ab565b60008085851115611d5457600080fd5b83861115611d6157600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611d965780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251611df08184602087016118a5565b9190910192915050565b60008060408385031215611e0d57600080fd5b611e1683611bf0565b9150602083015163ffffffff8116811461172057600080fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220df6697b68b9b0f4a614fc4eb90e83d549ac71a9e94bf7c7afd6cb62739031da664736f6c63430008140033",
634
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638de1d14e116100a2578063b5346af511610071578063b5346af51461025d578063bf7e214f14610270578063c861c25014610278578063db70354c1461028b578063dbacaaaf1461029e57600080fd5b80638de1d14e146102035780638fb360371461021657806394b9929b146102375780639a8fe6781461024a57600080fd5b806345983a8a116100e957806345983a8a1461018e578063485cc955146101a15780635ab1bd53146101b45780636ebed908146101c55780637a9e5e4b146101f057600080fd5b806302cd30711461011b57806306fa4565146101455780630cc7e6141461015a57806313ab148d1461016d575b600080fd5b6003546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6101586101533660046116c0565b6102b1565b005b6101586101683660046116c0565b61038d565b61018061017b3660046116c0565b6105b0565b60405190815260200161013c565b61018061019c3660046116c0565b6105c1565b6101586101af3660046116f2565b61064d565b6000546001600160a01b0316610128565b6101d86101d336600461172b565b6107ef565b6040516001600160601b03909116815260200161013c565b6101586101fe366004611757565b610802565b6101586102113660046116c0565b610889565b61021e6109fe565b6040516001600160e01b0319909116815260200161013c565b6101806102453660046116c0565b610a37565b6101586102583660046116c0565b610a42565b61015861026b3660046116c0565b610c68565b610128610d38565b610158610286366004611774565b610d54565b6101d861029936600461172b565b610ef3565b6101d86102ac36600461172b565b610eff565b6102be335b600036610f92565b600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610310573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103389190810190611966565b5190506103458183611098565b604080516001600160601b038084168252841660208201527f8481dca68853151d9f39783b09bf4144fd4fadcbf056b07e508ca3f873f2b89891015b60405180910390a15050565b610396336102b6565b60035460405163bd7d9d8560e01b81526001600160601b03831660048201526000916001600160a01b03169063bd7d9d8590602401600060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104109190810190611a71565b60200151600354604051634793b4ab60e01b81526001600160601b03831660048201529192506000916001600160a01b0390911690634793b4ab90602401600060405180830381865afa15801561046b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104939190810190611966565b5190506104a0818361111b565b6104d55760405163324bcb1160e11b81526001600160601b038084166004830152841660248201526044015b60405180910390fd5b6001600160601b0382166000908152600460208190526040918290209151631461054360e31b815273__$0dc988b1672de335b826773df9015af2da$__9263a3082a1892610537928891019182526001600160601b0316602082015260400190565b60006040518083038186803b15801561054f57600080fd5b505af4158015610563573d6000803e3d6000fd5b5050604080516001600160601b038087168252871660208201527f5cb68c560151617390da8ac6298cbe334b6a6e27a8bdea1f03a939de82a59b2a935001905060405180910390a1505050565b60006105bb826111be565b92915050565b6001600160601b03811660009081526004602081905260408083209051638b6233dd60e01b81529182015273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd906024015b602060405180830381865af4158015610629573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bb9190611bd7565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156106935750825b905060008267ffffffffffffffff1660011480156106b05750303b155b9050811580156106be575080155b156106dc5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561070657845460ff60401b1916600160401b1785555b61070f8761120f565b856001600160a01b03163b6000036107455760405163071669cf60e21b81526001600160a01b03871660048201526024016104cc565b600080546001600160a01b0319166001600160a01b0388811691821790925560408051928a16835260208301919091527fa6804c76412ae2d729353ed187a48b0b95177ee5c111049b80878fd127224412910160405180910390a183156107e657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b60006107fb8383611223565b9392505050565b3361080b610d38565b6001600160a01b0316816001600160a01b0316146108465760405162d1953b60e31b81526001600160a01b03821660048201526024016104cc565b816001600160a01b03163b60000361087c576040516361798f2f60e11b81526001600160a01b03831660048201526024016104cc565b6108858261127b565b5050565b610892336102b6565b600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa1580156108e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261090c9190810190611966565b51604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015610968573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098c9190611c00565b156109b457604051620852e560e41b81526001600160601b03831660048201526024016104cc565b6109be81836112d5565b604080516001600160601b038084168252841660208201527f559277c2e6b13df1c45b0a6a50bea96df5fc3499ee767963594bdd7cb5cc10359101610381565b600080516020611e30833981519152805460009190600160a01b900460ff16610a28576000610a31565b638fb3603760e01b5b91505090565b60006105bb826113dd565b610a4b336102b6565b60035460405163bd7d9d8560e01b81526001600160601b03831660048201526000916001600160a01b03169063bd7d9d8590602401600060405180830381865afa158015610a9d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ac59190810190611a71565b6020810151600354604051634793b4ab60e01b81526001600160601b038316600482015292935090916000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610b21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b499190810190611966565b519050610b56818361142e565b610b7e576040516352500dd960e01b81526001600160601b03831660048201526024016104cc565b6001600160601b038216600090815260046020819052604091829020915163539eabab60e11b815273__$0dc988b1672de335b826773df9015af2da$__9263a73d575692610be0928991019182526001600160601b0316602082015260400190565b60006040518083038186803b158015610bf857600080fd5b505af4158015610c0c573d6000803e3d6000fd5b505050507fb0b509518a18f79abc72ff294f3a785a37721a790e8f0f53d8b991dac386102d836020015185604051610c5a9291906001600160601b0392831681529116602082015260400190565b60405180910390a150505050565b610c71336102b6565b600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610cc3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ceb9190810190611966565b519050610cf88183611490565b604080516001600160601b038084168252841660208201527fb153f926e58e76caa7d661713867b8f1bbfcbda82504931fab2dccc2610a98dd9101610381565b600080516020611e30833981519152546001600160a01b031690565b610d5e838361064d565b600080546040516305247a1760e51b81526001600160601b03841660048201526001600160a01b039091169063a48f42e090602401600060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dd89190810190611c37565b9050610df68160400151610dea604690565b60ff9081169116141590565b15610e1f57604051632295742160e21b81526001600160601b03831660048201526024016104cc565b600081608001519050806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a9190611d0a565b600380546001600160a01b0319166001600160a01b03929092169182179055604080516001600160601b038616815260208101929092527fc23472ef19cd3719232c2fbc22eb87b48424eba43454acefd67a6578fda49d90910160405180910390a15050505050565b60006107fb83836114eb565b6001600160601b0382166000908152600460208190526040808320905163e797d89960e01b8152918201526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d899906044015b602060405180830381865af4158015610f6e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190611d27565b600080516020611e30833981519152600080610fcd610faf610d38565b8730610fbf600460008a8c611d44565b610fc891611d6e565b611543565b91509150816110905763ffffffff81161561106d57825460ff60a01b1916600160a01b178355610ffb610d38565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b815260040161102a93929190611d9e565b600060405180830381600087803b15801561104457600080fd5b505af1158015611058573d6000803e3d6000fd5b5050845460ff60a01b19168555506110909050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016104cc565b505050505050565b6001600160601b03828116600090815260016020526040908190209051631461054360e31b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a3082a18906044015b60006040518083038186803b15801561110757600080fd5b505af4158015611090573d6000803e3d6000fd5b6001600160601b0382166000908152600160205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b99161117d919086906004019182526001600160601b0316602082015260400190565b602060405180830381865af415801561119a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190611c00565b6001600160601b0381166000908152600260205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd9060240161060c565b61121761164f565b6112208161169a565b50565b6001600160601b038216600090815260016020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401610f51565b600080516020611e3083398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001610381565b6001600160601b0382811660009081526002602090815260408083206001909252918290209151631461054360e31b81526004810182905292841660248401529173__$0dc988b1672de335b826773df9015af2da$__9063a3082a189060440160006040518083038186803b15801561134d57600080fd5b505af4158015611361573d6000803e3d6000fd5b5050604051631461054360e31b8152600481018490526001600160601b038616602482015273__$0dc988b1672de335b826773df9015af2da$__925063a3082a18915060440160006040518083038186803b1580156113bf57600080fd5b505af41580156113d3573d6000803e3d6000fd5b5050505050505050565b6001600160601b0381166000908152600160205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd9060240161060c565b6001600160601b0382166000908152600260205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b99161117d919086906004019182526001600160601b0316602082015260400190565b6001600160601b0382811660009081526001602052604090819020905163539eabab60e11b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a73d5756906044016110ef565b6001600160601b038216600090815260026020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401610f51565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516115b29190611dde565b600060405180830381855afa9150503d80600081146115ed576040519150601f19603f3d011682016040523d82523d6000602084013e6115f2565b606091505b50915091508115611644576040815110611624578080602001905181019061161a9190611dfa565b9094509250611644565b602081511061164457808060200190518101906116419190611c00565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661169857604051631afcd79f60e31b815260040160405180910390fd5b565b6116a261164f565b6112208161127b565b6001600160601b038116811461122057600080fd5b6000602082840312156116d257600080fd5b81356107fb816116ab565b6001600160a01b038116811461122057600080fd5b6000806040838503121561170557600080fd5b8235611710816116dd565b91506020830135611720816116dd565b809150509250929050565b6000806040838503121561173e57600080fd5b8235611749816116ab565b946020939093013593505050565b60006020828403121561176957600080fd5b81356107fb816116dd565b60008060006060848603121561178957600080fd5b8335611794816116dd565b925060208401356117a4816116dd565b915060408401356117b4816116ab565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156117f9576117f96117bf565b60405290565b604051610200810167ffffffffffffffff811182821017156117f9576117f96117bf565b60405160e0810167ffffffffffffffff811182821017156117f9576117f96117bf565b8051611851816116ab565b919050565b60006040828403121561186857600080fd5b6040516040810181811067ffffffffffffffff8211171561188b5761188b6117bf565b604052825181526020928301519281019290925250919050565b60005b838110156118c05781810151838201526020016118a8565b50506000910152565b600082601f8301126118da57600080fd5b815167ffffffffffffffff808211156118f5576118f56117bf565b604051601f8301601f19908116603f0116810190828211818310171561191d5761191d6117bf565b8160405283815286602085880101111561193657600080fd5b6119478460208301602089016118a5565b9695505050505050565b805164ffffffffff8116811461185157600080fd5b60006020828403121561197857600080fd5b815167ffffffffffffffff8082111561199057600080fd5b9083019061014082860312156119a557600080fd5b6119ad6117d5565b6119b683611846565b81526119c58660208501611856565b60208201526060830151828111156119dc57600080fd5b6119e8878286016118c9565b6040830152506080830151606082015260a0830151608082015260c083015160a082015260e083015160c08201526101009150611a26828401611951565b60e0820152611a386101208401611951565b91810191909152949350505050565b80516001600160c01b03198116811461185157600080fd5b805161ffff8116811461185157600080fd5b600060208284031215611a8357600080fd5b815167ffffffffffffffff80821115611a9b57600080fd5b908301906102008286031215611ab057600080fd5b611ab86117ff565b611ac183611846565b8152611acf60208401611846565b6020820152611ae060408401611a47565b6040820152611af160608401611a47565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015183811115611b3257600080fd5b611b3e888287016118c9565b8284015250506101208084015183811115611b5857600080fd5b611b64888287016118c9565b8284015250506101409150611b7a828401611a5f565b828201526101609150611b8e828401611a5f565b82820152610180915081830151828201526101a09150611baf828401611951565b828201526101c09150611bc3828401611951565b828201526101e09150611a38828401611951565b600060208284031215611be957600080fd5b5051919050565b8051801515811461185157600080fd5b600060208284031215611c1257600080fd5b6107fb82611bf0565b805160ff8116811461185157600080fd5b8051611851816116dd565b600060208284031215611c4957600080fd5b815167ffffffffffffffff80821115611c6157600080fd5b9083019060e08286031215611c7557600080fd5b611c7d611823565b611c8683611846565b8152611c9460208401611846565b6020820152611ca560408401611c1b565b6040820152611cb660608401611bf0565b6060820152611cc760808401611c2c565b6080820152611cd860a08401611c2c565b60a082015260c083015182811115611cef57600080fd5b611cfb878286016118c9565b60c08301525095945050505050565b600060208284031215611d1c57600080fd5b81516107fb816116dd565b600060208284031215611d3957600080fd5b81516107fb816116ab565b60008085851115611d5457600080fd5b83861115611d6157600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611d965780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251611df08184602087016118a5565b9190910192915050565b60008060408385031215611e0d57600080fd5b611e1683611bf0565b9150602083015163ffffffff8116811461172057600080fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220df6697b68b9b0f4a614fc4eb90e83d549ac71a9e94bf7c7afd6cb62739031da664736f6c63430008140033",
622
+ "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319169055611f30806100306000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638fb36037116100a2578063bf7e214f11610071578063bf7e214f1461025f578063c0c53b8b14610267578063db70354c1461027a578063dbacaaaf1461028d578063de7b5d14146102a057600080fd5b80638fb360371461020557806394b9929b146102265780639a8fe67814610239578063b5346af51461024c57600080fd5b8063485cc955116100e9578063485cc9551461017c5780635ab1bd531461018f5780636ebed908146101b45780637a9e5e4b146101df5780638de1d14e146101f257600080fd5b806306fa45651461011b5780630cc7e6141461013057806313ab148d1461014357806345983a8a14610169575b600080fd5b61012e61012936600461186f565b6102b1565b005b61012e61013e36600461186f565b6103f8565b61015661015136600461186f565b6106fa565b6040519081526020015b60405180910390f35b61015661017736600461186f565b61070b565b61012e61018a3660046118a1565b610797565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610160565b6101c76101c23660046118da565b610939565b6040516001600160601b039091168152602001610160565b61012e6101ed366004611906565b61094c565b61012e61020036600461186f565b6109d3565b61020d610bb3565b6040516001600160e01b03199091168152602001610160565b61015661023436600461186f565b610bec565b61012e61024736600461186f565b610bf7565b61012e61025a36600461186f565b610ef3565b61019c61102e565b61012e610275366004611923565b61104a565b6101c76102883660046118da565b6110a2565b6101c761029b3660046118da565b6110ae565b6003546001600160a01b031661019c565b6102be335b600036611141565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa15801561037b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103a39190810190611b0f565b5190506103b08183611247565b604080516001600160601b038084168252841660208201527f8481dca68853151d9f39783b09bf4144fd4fadcbf056b07e508ca3f873f2b89891015b60405180910390a15050565b610401336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa15801561044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046f919061196e565b60405163bd7d9d8560e01b81526001600160601b03841660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa1580156104be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104e69190810190611c21565b6020015190506000600360009054906101000a90046001600160a01b03166001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610565919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa1580156105b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105dc9190810190611b0f565b5190506105e981836112ca565b61061e5760405163324bcb1160e11b81526001600160601b038084166004830152841660248201526044015b60405180910390fd5b6001600160601b0382166000908152600460208190526040918290209151631461054360e31b815273__$0dc988b1672de335b826773df9015af2da$__9263a3082a1892610680928891019182526001600160601b0316602082015260400190565b60006040518083038186803b15801561069857600080fd5b505af41580156106ac573d6000803e3d6000fd5b5050604080516001600160601b038087168252871660208201527f5cb68c560151617390da8ac6298cbe334b6a6e27a8bdea1f03a939de82a59b2a93500190505b60405180910390a1505050565b60006107058261136d565b92915050565b6001600160601b03811660009081526004602081905260408083209051638b6233dd60e01b81529182015273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd906024015b602060405180830381865af4158015610773573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107059190611d8e565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156107dd5750825b905060008267ffffffffffffffff1660011480156107fa5750303b155b905081158015610808575080155b156108265760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561085057845460ff60401b1916600160401b1785555b610859876113be565b856001600160a01b03163b60000361088f5760405163071669cf60e21b81526001600160a01b0387166004820152602401610615565b600080546001600160a01b0319166001600160a01b0388811691821790925560408051928a16835260208301919091527fa6804c76412ae2d729353ed187a48b0b95177ee5c111049b80878fd127224412910160405180910390a1831561093057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600061094583836113d2565b9392505050565b3361095561102e565b6001600160a01b0316816001600160a01b0316146109905760405162d1953b60e31b81526001600160a01b0382166004820152602401610615565b816001600160a01b03163b6000036109c6576040516361798f2f60e11b81526001600160a01b0383166004820152602401610615565b6109cf8261142a565b5050565b6109dc336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610a99573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ac19190810190611b0f565b51604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190611db7565b15610b6957604051620852e560e41b81526001600160601b0383166004820152602401610615565b610b738183611484565b604080516001600160601b038084168252841660208201527f559277c2e6b13df1c45b0a6a50bea96df5fc3499ee767963594bdd7cb5cc103591016103ec565b600080516020611edb833981519152805460009190600160a01b900460ff16610bdd576000610be6565b638fb3603760e01b5b91505090565b60006107058261158c565b610c00336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6e919061196e565b60405163bd7d9d8560e01b81526001600160601b03841660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa158015610cbd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ce59190810190611c21565b602080820151600354604080516302cd307160e01b8152905194955091936000936001600160a01b03909216926302cd30719260048083019391928290030181865afa158015610d39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5d919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610dac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dd49190810190611b0f565b519050610de181836115dd565b610e09576040516352500dd960e01b81526001600160601b0383166004820152602401610615565b6001600160601b038216600090815260046020819052604091829020915163539eabab60e11b815273__$0dc988b1672de335b826773df9015af2da$__9263a73d575692610e6b928991019182526001600160601b0316602082015260400190565b60006040518083038186803b158015610e8357600080fd5b505af4158015610e97573d6000803e3d6000fd5b505050507fb0b509518a18f79abc72ff294f3a785a37721a790e8f0f53d8b991dac386102d836020015185604051610ee59291906001600160601b0392831681529116602082015260400190565b60405180910390a150505050565b610efc336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610fb9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fe19190810190611b0f565b519050610fee818361163f565b604080516001600160601b038084168252841660208201527fb153f926e58e76caa7d661713867b8f1bbfcbda82504931fab2dccc2610a98dd91016103ec565b600080516020611edb833981519152546001600160a01b031690565b6110548383610797565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527fe89455dcb69bf4efd41cbb10c8064808f360b87b03ae8c96349c71f4934ffa0f906020016106ed565b6000610945838361169a565b6001600160601b0382166000908152600460208190526040808320905163e797d89960e01b8152918201526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d899906044015b602060405180830381865af415801561111d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109459190611dd2565b600080516020611edb83398151915260008061117c61115e61102e565b873061116e600460008a8c611def565b61117791611e19565b6116f2565b915091508161123f5763ffffffff81161561121c57825460ff60a01b1916600160a01b1783556111aa61102e565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016111d993929190611e49565b600060405180830381600087803b1580156111f357600080fd5b505af1158015611207573d6000803e3d6000fd5b5050845460ff60a01b191685555061123f9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610615565b505050505050565b6001600160601b03828116600090815260016020526040908190209051631461054360e31b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a3082a18906044015b60006040518083038186803b1580156112b657600080fd5b505af415801561123f573d6000803e3d6000fd5b6001600160601b0382166000908152600160205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b99161132c919086906004019182526001600160601b0316602082015260400190565b602060405180830381865af4158015611349573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109459190611db7565b6001600160601b0381166000908152600260205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd90602401610756565b6113c66117fe565b6113cf81611849565b50565b6001600160601b038216600090815260016020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401611100565b600080516020611edb83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016103ec565b6001600160601b0382811660009081526002602090815260408083206001909252918290209151631461054360e31b81526004810182905292841660248401529173__$0dc988b1672de335b826773df9015af2da$__9063a3082a189060440160006040518083038186803b1580156114fc57600080fd5b505af4158015611510573d6000803e3d6000fd5b5050604051631461054360e31b8152600481018490526001600160601b038616602482015273__$0dc988b1672de335b826773df9015af2da$__925063a3082a18915060440160006040518083038186803b15801561156e57600080fd5b505af4158015611582573d6000803e3d6000fd5b5050505050505050565b6001600160601b0381166000908152600160205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd90602401610756565b6001600160601b0382166000908152600260205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b99161132c919086906004019182526001600160601b0316602082015260400190565b6001600160601b0382811660009081526001602052604090819020905163539eabab60e11b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a73d57569060440161129e565b6001600160601b038216600090815260026020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401611100565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516117619190611e89565b600060405180830381855afa9150503d806000811461179c576040519150601f19603f3d011682016040523d82523d6000602084013e6117a1565b606091505b509150915081156117f35760408151106117d357808060200190518101906117c99190611ea5565b90945092506117f3565b60208151106117f357808060200190518101906117f09190611db7565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661184757604051631afcd79f60e31b815260040160405180910390fd5b565b6118516117fe565b6113cf8161142a565b6001600160601b03811681146113cf57600080fd5b60006020828403121561188157600080fd5b81356109458161185a565b6001600160a01b03811681146113cf57600080fd5b600080604083850312156118b457600080fd5b82356118bf8161188c565b915060208301356118cf8161188c565b809150509250929050565b600080604083850312156118ed57600080fd5b82356118f88161185a565b946020939093013593505050565b60006020828403121561191857600080fd5b81356109458161188c565b60008060006060848603121561193857600080fd5b83356119438161188c565b925060208401356119538161188c565b915060408401356119638161188c565b809150509250925092565b60006020828403121561198057600080fd5b81516109458161188c565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156119c5576119c561198b565b60405290565b604051610200810167ffffffffffffffff811182821017156119c5576119c561198b565b80516119fa8161185a565b919050565b600060408284031215611a1157600080fd5b6040516040810181811067ffffffffffffffff82111715611a3457611a3461198b565b604052825181526020928301519281019290925250919050565b60005b83811015611a69578181015183820152602001611a51565b50506000910152565b600082601f830112611a8357600080fd5b815167ffffffffffffffff80821115611a9e57611a9e61198b565b604051601f8301601f19908116603f01168101908282118183101715611ac657611ac661198b565b81604052838152866020858801011115611adf57600080fd5b611af0846020830160208901611a4e565b9695505050505050565b805164ffffffffff811681146119fa57600080fd5b600060208284031215611b2157600080fd5b815167ffffffffffffffff80821115611b3957600080fd5b908301906101408286031215611b4e57600080fd5b611b566119a1565b611b5f836119ef565b8152611b6e86602085016119ff565b6020820152606083015182811115611b8557600080fd5b611b9187828601611a72565b6040830152506080830151606082015260a0830151608082015260c083015160a0820152611bc160e08401611afa565b60c08201526101009150611bd6828401611afa565b60e0820152611be86101208401611afa565b91810191909152949350505050565b80516001600160c01b0319811681146119fa57600080fd5b805161ffff811681146119fa57600080fd5b600060208284031215611c3357600080fd5b815167ffffffffffffffff80821115611c4b57600080fd5b908301906102008286031215611c6057600080fd5b611c686119cb565b611c71836119ef565b8152611c7f602084016119ef565b6020820152611c9060408401611bf7565b6040820152611ca160608401611bf7565b60608201526080830151608082015260a083015160a082015260c083015160c0820152611cd060e08401611afa565b60e08201526101008084015183811115611ce957600080fd5b611cf588828701611a72565b8284015250506101208084015183811115611d0f57600080fd5b611d1b88828701611a72565b8284015250506101409150611d31828401611c0f565b828201526101609150611d45828401611c0f565b82820152610180915081830151828201526101a09150611d66828401611afa565b828201526101c09150611d7a828401611afa565b828201526101e09150611be8828401611afa565b600060208284031215611da057600080fd5b5051919050565b805180151581146119fa57600080fd5b600060208284031215611dc957600080fd5b61094582611da7565b600060208284031215611de457600080fd5b81516109458161185a565b60008085851115611dff57600080fd5b83861115611e0c57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611e415780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251611e9b818460208701611a4e565b9190910192915050565b60008060408385031215611eb857600080fd5b611ec183611da7565b9150602083015163ffffffff811681146118cf57600080fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220600d6492b352373e416a68b941fb2fe305f54020d7b1fa2ef7ab9c8180d277f864736f6c63430008140033",
623
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638fb36037116100a2578063bf7e214f11610071578063bf7e214f1461025f578063c0c53b8b14610267578063db70354c1461027a578063dbacaaaf1461028d578063de7b5d14146102a057600080fd5b80638fb360371461020557806394b9929b146102265780639a8fe67814610239578063b5346af51461024c57600080fd5b8063485cc955116100e9578063485cc9551461017c5780635ab1bd531461018f5780636ebed908146101b45780637a9e5e4b146101df5780638de1d14e146101f257600080fd5b806306fa45651461011b5780630cc7e6141461013057806313ab148d1461014357806345983a8a14610169575b600080fd5b61012e61012936600461186f565b6102b1565b005b61012e61013e36600461186f565b6103f8565b61015661015136600461186f565b6106fa565b6040519081526020015b60405180910390f35b61015661017736600461186f565b61070b565b61012e61018a3660046118a1565b610797565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610160565b6101c76101c23660046118da565b610939565b6040516001600160601b039091168152602001610160565b61012e6101ed366004611906565b61094c565b61012e61020036600461186f565b6109d3565b61020d610bb3565b6040516001600160e01b03199091168152602001610160565b61015661023436600461186f565b610bec565b61012e61024736600461186f565b610bf7565b61012e61025a36600461186f565b610ef3565b61019c61102e565b61012e610275366004611923565b61104a565b6101c76102883660046118da565b6110a2565b6101c761029b3660046118da565b6110ae565b6003546001600160a01b031661019c565b6102be335b600036611141565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa15801561037b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103a39190810190611b0f565b5190506103b08183611247565b604080516001600160601b038084168252841660208201527f8481dca68853151d9f39783b09bf4144fd4fadcbf056b07e508ca3f873f2b89891015b60405180910390a15050565b610401336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa15801561044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046f919061196e565b60405163bd7d9d8560e01b81526001600160601b03841660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa1580156104be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104e69190810190611c21565b6020015190506000600360009054906101000a90046001600160a01b03166001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610565919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa1580156105b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105dc9190810190611b0f565b5190506105e981836112ca565b61061e5760405163324bcb1160e11b81526001600160601b038084166004830152841660248201526044015b60405180910390fd5b6001600160601b0382166000908152600460208190526040918290209151631461054360e31b815273__$0dc988b1672de335b826773df9015af2da$__9263a3082a1892610680928891019182526001600160601b0316602082015260400190565b60006040518083038186803b15801561069857600080fd5b505af41580156106ac573d6000803e3d6000fd5b5050604080516001600160601b038087168252871660208201527f5cb68c560151617390da8ac6298cbe334b6a6e27a8bdea1f03a939de82a59b2a93500190505b60405180910390a1505050565b60006107058261136d565b92915050565b6001600160601b03811660009081526004602081905260408083209051638b6233dd60e01b81529182015273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd906024015b602060405180830381865af4158015610773573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107059190611d8e565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156107dd5750825b905060008267ffffffffffffffff1660011480156107fa5750303b155b905081158015610808575080155b156108265760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561085057845460ff60401b1916600160401b1785555b610859876113be565b856001600160a01b03163b60000361088f5760405163071669cf60e21b81526001600160a01b0387166004820152602401610615565b600080546001600160a01b0319166001600160a01b0388811691821790925560408051928a16835260208301919091527fa6804c76412ae2d729353ed187a48b0b95177ee5c111049b80878fd127224412910160405180910390a1831561093057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600061094583836113d2565b9392505050565b3361095561102e565b6001600160a01b0316816001600160a01b0316146109905760405162d1953b60e31b81526001600160a01b0382166004820152602401610615565b816001600160a01b03163b6000036109c6576040516361798f2f60e11b81526001600160a01b0383166004820152602401610615565b6109cf8261142a565b5050565b6109dc336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610a99573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ac19190810190611b0f565b51604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190611db7565b15610b6957604051620852e560e41b81526001600160601b0383166004820152602401610615565b610b738183611484565b604080516001600160601b038084168252841660208201527f559277c2e6b13df1c45b0a6a50bea96df5fc3499ee767963594bdd7cb5cc103591016103ec565b600080516020611edb833981519152805460009190600160a01b900460ff16610bdd576000610be6565b638fb3603760e01b5b91505090565b60006107058261158c565b610c00336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6e919061196e565b60405163bd7d9d8560e01b81526001600160601b03841660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa158015610cbd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ce59190810190611c21565b602080820151600354604080516302cd307160e01b8152905194955091936000936001600160a01b03909216926302cd30719260048083019391928290030181865afa158015610d39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5d919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610dac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dd49190810190611b0f565b519050610de181836115dd565b610e09576040516352500dd960e01b81526001600160601b0383166004820152602401610615565b6001600160601b038216600090815260046020819052604091829020915163539eabab60e11b815273__$0dc988b1672de335b826773df9015af2da$__9263a73d575692610e6b928991019182526001600160601b0316602082015260400190565b60006040518083038186803b158015610e8357600080fd5b505af4158015610e97573d6000803e3d6000fd5b505050507fb0b509518a18f79abc72ff294f3a785a37721a790e8f0f53d8b991dac386102d836020015185604051610ee59291906001600160601b0392831681529116602082015260400190565b60405180910390a150505050565b610efc336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061196e565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610fb9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fe19190810190611b0f565b519050610fee818361163f565b604080516001600160601b038084168252841660208201527fb153f926e58e76caa7d661713867b8f1bbfcbda82504931fab2dccc2610a98dd91016103ec565b600080516020611edb833981519152546001600160a01b031690565b6110548383610797565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527fe89455dcb69bf4efd41cbb10c8064808f360b87b03ae8c96349c71f4934ffa0f906020016106ed565b6000610945838361169a565b6001600160601b0382166000908152600460208190526040808320905163e797d89960e01b8152918201526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d899906044015b602060405180830381865af415801561111d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109459190611dd2565b600080516020611edb83398151915260008061117c61115e61102e565b873061116e600460008a8c611def565b61117791611e19565b6116f2565b915091508161123f5763ffffffff81161561121c57825460ff60a01b1916600160a01b1783556111aa61102e565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016111d993929190611e49565b600060405180830381600087803b1580156111f357600080fd5b505af1158015611207573d6000803e3d6000fd5b5050845460ff60a01b191685555061123f9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610615565b505050505050565b6001600160601b03828116600090815260016020526040908190209051631461054360e31b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a3082a18906044015b60006040518083038186803b1580156112b657600080fd5b505af415801561123f573d6000803e3d6000fd5b6001600160601b0382166000908152600160205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b99161132c919086906004019182526001600160601b0316602082015260400190565b602060405180830381865af4158015611349573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109459190611db7565b6001600160601b0381166000908152600260205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd90602401610756565b6113c66117fe565b6113cf81611849565b50565b6001600160601b038216600090815260016020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401611100565b600080516020611edb83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016103ec565b6001600160601b0382811660009081526002602090815260408083206001909252918290209151631461054360e31b81526004810182905292841660248401529173__$0dc988b1672de335b826773df9015af2da$__9063a3082a189060440160006040518083038186803b1580156114fc57600080fd5b505af4158015611510573d6000803e3d6000fd5b5050604051631461054360e31b8152600481018490526001600160601b038616602482015273__$0dc988b1672de335b826773df9015af2da$__925063a3082a18915060440160006040518083038186803b15801561156e57600080fd5b505af4158015611582573d6000803e3d6000fd5b5050505050505050565b6001600160601b0381166000908152600160205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd90602401610756565b6001600160601b0382166000908152600260205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b99161132c919086906004019182526001600160601b0316602082015260400190565b6001600160601b0382811660009081526001602052604090819020905163539eabab60e11b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a73d57569060440161129e565b6001600160601b038216600090815260026020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401611100565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516117619190611e89565b600060405180830381855afa9150503d806000811461179c576040519150601f19603f3d011682016040523d82523d6000602084013e6117a1565b606091505b509150915081156117f35760408151106117d357808060200190518101906117c99190611ea5565b90945092506117f3565b60208151106117f357808060200190518101906117f09190611db7565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661184757604051631afcd79f60e31b815260040160405180910390fd5b565b6118516117fe565b6113cf8161142a565b6001600160601b03811681146113cf57600080fd5b60006020828403121561188157600080fd5b81356109458161185a565b6001600160a01b03811681146113cf57600080fd5b600080604083850312156118b457600080fd5b82356118bf8161188c565b915060208301356118cf8161188c565b809150509250929050565b600080604083850312156118ed57600080fd5b82356118f88161185a565b946020939093013593505050565b60006020828403121561191857600080fd5b81356109458161188c565b60008060006060848603121561193857600080fd5b83356119438161188c565b925060208401356119538161188c565b915060408401356119638161188c565b809150509250925092565b60006020828403121561198057600080fd5b81516109458161188c565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156119c5576119c561198b565b60405290565b604051610200810167ffffffffffffffff811182821017156119c5576119c561198b565b80516119fa8161185a565b919050565b600060408284031215611a1157600080fd5b6040516040810181811067ffffffffffffffff82111715611a3457611a3461198b565b604052825181526020928301519281019290925250919050565b60005b83811015611a69578181015183820152602001611a51565b50506000910152565b600082601f830112611a8357600080fd5b815167ffffffffffffffff80821115611a9e57611a9e61198b565b604051601f8301601f19908116603f01168101908282118183101715611ac657611ac661198b565b81604052838152866020858801011115611adf57600080fd5b611af0846020830160208901611a4e565b9695505050505050565b805164ffffffffff811681146119fa57600080fd5b600060208284031215611b2157600080fd5b815167ffffffffffffffff80821115611b3957600080fd5b908301906101408286031215611b4e57600080fd5b611b566119a1565b611b5f836119ef565b8152611b6e86602085016119ff565b6020820152606083015182811115611b8557600080fd5b611b9187828601611a72565b6040830152506080830151606082015260a0830151608082015260c083015160a0820152611bc160e08401611afa565b60c08201526101009150611bd6828401611afa565b60e0820152611be86101208401611afa565b91810191909152949350505050565b80516001600160c01b0319811681146119fa57600080fd5b805161ffff811681146119fa57600080fd5b600060208284031215611c3357600080fd5b815167ffffffffffffffff80821115611c4b57600080fd5b908301906102008286031215611c6057600080fd5b611c686119cb565b611c71836119ef565b8152611c7f602084016119ef565b6020820152611c9060408401611bf7565b6040820152611ca160608401611bf7565b60608201526080830151608082015260a083015160a082015260c083015160c0820152611cd060e08401611afa565b60e08201526101008084015183811115611ce957600080fd5b611cf588828701611a72565b8284015250506101208084015183811115611d0f57600080fd5b611d1b88828701611a72565b8284015250506101409150611d31828401611c0f565b828201526101609150611d45828401611c0f565b82820152610180915081830151828201526101a09150611d66828401611afa565b828201526101c09150611d7a828401611afa565b828201526101e09150611be8828401611afa565b600060208284031215611da057600080fd5b5051919050565b805180151581146119fa57600080fd5b600060208284031215611dc957600080fd5b61094582611da7565b600060208284031215611de457600080fd5b81516109458161185a565b60008085851115611dff57600080fd5b83861115611e0c57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611e415780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251611e9b818460208701611a4e565b9190910192915050565b60008060408385031215611eb857600080fd5b611ec183611da7565b9150602083015163ffffffff811681146118cf57600080fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220600d6492b352373e416a68b941fb2fe305f54020d7b1fa2ef7ab9c8180d277f864736f6c63430008140033",
635
624
  "linkReferences": {
636
625
  "contracts/types/NftId.sol": {
637
626
  "NftIdLib": [
638
627
  {
639
628
  "length": 20,
640
- "start": 2410
629
+ "start": 2835
641
630
  }
642
631
  ]
643
632
  },
@@ -645,59 +634,59 @@
645
634
  "LibNftIdSet": [
646
635
  {
647
636
  "length": 20,
648
- "start": 1339
637
+ "start": 1656
649
638
  },
650
639
  {
651
640
  "length": 20,
652
- "start": 1578
641
+ "start": 1896
653
642
  },
654
643
  {
655
644
  "length": 20,
656
- "start": 3044
645
+ "start": 3683
657
646
  },
658
647
  {
659
648
  "length": 20,
660
- "start": 3951
649
+ "start": 4370
661
650
  },
662
651
  {
663
652
  "length": 20,
664
- "start": 4365
653
+ "start": 4784
665
654
  },
666
655
  {
667
656
  "length": 20,
668
- "start": 4478
657
+ "start": 4897
669
658
  },
670
659
  {
671
660
  "length": 20,
672
- "start": 4649
661
+ "start": 5068
673
662
  },
674
663
  {
675
664
  "length": 20,
676
- "start": 4757
665
+ "start": 5176
677
666
  },
678
667
  {
679
668
  "length": 20,
680
- "start": 4948
669
+ "start": 5367
681
670
  },
682
671
  {
683
672
  "length": 20,
684
- "start": 5060
673
+ "start": 5479
685
674
  },
686
675
  {
687
676
  "length": 20,
688
- "start": 5192
677
+ "start": 5611
689
678
  },
690
679
  {
691
680
  "length": 20,
692
- "start": 5265
681
+ "start": 5684
693
682
  },
694
683
  {
695
684
  "length": 20,
696
- "start": 5381
685
+ "start": 5800
697
686
  },
698
687
  {
699
688
  "length": 20,
700
- "start": 5469
689
+ "start": 5888
701
690
  }
702
691
  ]
703
692
  }
@@ -707,7 +696,7 @@
707
696
  "NftIdLib": [
708
697
  {
709
698
  "length": 20,
710
- "start": 2350
699
+ "start": 2787
711
700
  }
712
701
  ]
713
702
  },
@@ -715,59 +704,59 @@
715
704
  "LibNftIdSet": [
716
705
  {
717
706
  "length": 20,
718
- "start": 1279
707
+ "start": 1608
719
708
  },
720
709
  {
721
710
  "length": 20,
722
- "start": 1518
711
+ "start": 1848
723
712
  },
724
713
  {
725
714
  "length": 20,
726
- "start": 2984
715
+ "start": 3635
727
716
  },
728
717
  {
729
718
  "length": 20,
730
- "start": 3891
719
+ "start": 4322
731
720
  },
732
721
  {
733
722
  "length": 20,
734
- "start": 4305
723
+ "start": 4736
735
724
  },
736
725
  {
737
726
  "length": 20,
738
- "start": 4418
727
+ "start": 4849
739
728
  },
740
729
  {
741
730
  "length": 20,
742
- "start": 4589
731
+ "start": 5020
743
732
  },
744
733
  {
745
734
  "length": 20,
746
- "start": 4697
735
+ "start": 5128
747
736
  },
748
737
  {
749
738
  "length": 20,
750
- "start": 4888
739
+ "start": 5319
751
740
  },
752
741
  {
753
742
  "length": 20,
754
- "start": 5000
743
+ "start": 5431
755
744
  },
756
745
  {
757
746
  "length": 20,
758
- "start": 5132
747
+ "start": 5563
759
748
  },
760
749
  {
761
750
  "length": 20,
762
- "start": 5205
751
+ "start": 5636
763
752
  },
764
753
  {
765
754
  "length": 20,
766
- "start": 5321
755
+ "start": 5752
767
756
  },
768
757
  {
769
758
  "length": 20,
770
- "start": 5409
759
+ "start": 5840
771
760
  }
772
761
  ]
773
762
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cb3b86c7c1e7bdb7bf776a7deae54eac.json"
3
+ "buildInfo": "../../../build-info/2feb17560f035cbba2aef2f5c9f9b3a5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/cb3b86c7c1e7bdb7bf776a7deae54eac.json"
3
+ "buildInfo": "../../../build-info/2feb17560f035cbba2aef2f5c9f9b3a5.json"
4
4
  }