@etherisc/gif-next 0.0.2-8bdd2eb-413 → 0.0.2-8c1d8cd-727

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 (528) hide show
  1. package/README.md +49 -4
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  16. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  17. package/artifacts/contracts/{shared/AccessManagerCustom.sol/AccessManagerCustom.json → authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json} +28 -25
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1402 -0
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +133 -501
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +319 -229
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +115 -103
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +164 -210
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +194 -47
  34. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  36. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1538 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2077 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  44. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1471 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -0
  54. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  55. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  56. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +105 -103
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +163 -111
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +108 -243
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1210 -265
  64. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
  66. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +682 -189
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +210 -268
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +83 -95
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +502 -282
  74. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  75. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  76. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  77. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  78. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  80. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  82. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  84. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  85. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  90. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  91. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  92. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1039 -0
  94. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  96. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  98. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +788 -0
  100. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
  102. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +907 -0
  104. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +966 -0
  106. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +722 -0
  108. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  109. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1299 -0
  110. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  111. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +470 -0
  112. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  113. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +517 -157
  114. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  115. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +176 -88
  116. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  117. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +271 -1
  118. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  119. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +125 -319
  120. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  121. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +410 -192
  122. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  123. package/artifacts/contracts/pool/Pool.sol/Pool.json +165 -632
  124. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  125. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +524 -331
  126. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +111 -83
  128. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  129. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +95 -158
  130. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +79 -91
  132. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  133. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1173 -0
  134. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  135. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  136. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  137. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +322 -169
  138. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  139. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +126 -98
  140. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  141. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +47 -0
  142. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  143. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +189 -6
  144. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  145. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +336 -118
  146. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  147. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +127 -85
  148. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  149. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +154 -137
  150. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  151. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +44 -2
  152. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  153. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +451 -295
  154. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  155. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +123 -95
  156. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  157. package/artifacts/contracts/product/PricingService.sol/PricingService.json +207 -283
  158. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  159. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +96 -112
  160. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  161. package/artifacts/contracts/product/Product.sol/Product.json +168 -434
  162. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  163. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  164. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
  166. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  167. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  168. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  169. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +311 -55
  170. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  171. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +55 -146
  172. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  173. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  174. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/Registry.sol/Registry.json +537 -112
  176. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  177. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1640 -161
  178. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  179. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +96 -265
  180. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  181. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +74 -70
  182. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  183. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  184. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  185. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  186. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  187. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  188. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  190. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  191. package/artifacts/contracts/shared/Component.sol/Component.json +65 -236
  192. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  193. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +532 -239
  194. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  195. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +136 -110
  196. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  197. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +51 -103
  198. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  200. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +55 -54
  202. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +487 -12
  204. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +98 -80
  206. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  207. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  208. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  209. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  210. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  211. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  212. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  213. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  214. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +29 -0
  216. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  217. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  218. package/artifacts/contracts/shared/IService.sol/IService.json +42 -0
  219. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  220. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  221. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  222. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +111 -318
  223. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  224. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  225. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  226. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  227. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  228. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  229. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  230. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  231. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  232. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  233. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +58 -89
  235. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  236. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  237. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  238. package/artifacts/contracts/shared/Service.sol/Service.json +51 -103
  239. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  240. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +330 -11
  241. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  242. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  243. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  244. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +82 -55
  245. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  246. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +78 -28
  247. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  248. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +97 -101
  249. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  250. package/artifacts/contracts/staking/Staking.sol/Staking.json +168 -325
  251. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  252. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  253. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  254. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +103 -104
  255. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  256. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -12
  257. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  258. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +123 -198
  259. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  260. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +76 -92
  261. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  262. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +241 -147
  263. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  264. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
  265. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  266. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  267. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/Amount.sol/AmountLib.json +61 -8
  269. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  271. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  273. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  275. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
  277. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  278. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  279. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  280. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -4
  281. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  282. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  283. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
  285. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  286. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  287. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  289. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  290. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  291. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
  293. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
  295. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  297. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  298. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  299. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  300. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  301. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  303. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  304. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  305. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  307. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  309. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
  311. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  313. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  315. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  316. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  317. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  318. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +602 -0
  319. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  320. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  321. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  322. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  323. package/contracts/authorization/AccessAdmin.sol +596 -0
  324. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  325. package/contracts/authorization/Authorization.sol +289 -0
  326. package/contracts/authorization/IAccess.sol +49 -0
  327. package/contracts/authorization/IAccessAdmin.sol +137 -0
  328. package/contracts/authorization/IAuthorization.sol +60 -0
  329. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  330. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  331. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  332. package/contracts/distribution/BasicDistribution.sol +139 -0
  333. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  334. package/contracts/distribution/Distribution.sol +140 -116
  335. package/contracts/distribution/DistributionService.sol +140 -83
  336. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  337. package/contracts/distribution/IDistributionComponent.sol +26 -40
  338. package/contracts/distribution/IDistributionService.sol +23 -3
  339. package/contracts/examples/fire/DamageLevel.sol +59 -0
  340. package/contracts/examples/fire/FirePool.sol +75 -0
  341. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  342. package/contracts/examples/fire/FireProduct.sol +418 -0
  343. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  344. package/contracts/examples/fire/FireUSD.sol +26 -0
  345. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  346. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  347. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  348. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  349. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  350. package/contracts/instance/IInstance.sol +28 -41
  351. package/contracts/instance/IInstanceService.sol +27 -36
  352. package/contracts/instance/Instance.sol +124 -127
  353. package/contracts/instance/InstanceAdmin.sol +216 -270
  354. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  355. package/contracts/instance/InstanceReader.sol +162 -32
  356. package/contracts/instance/InstanceService.sol +177 -128
  357. package/contracts/instance/InstanceServiceManager.sol +8 -13
  358. package/contracts/instance/InstanceStore.sol +49 -22
  359. package/contracts/instance/base/BalanceStore.sol +11 -6
  360. package/contracts/instance/base/Cloneable.sol +2 -25
  361. package/contracts/instance/base/ObjectCounter.sol +21 -0
  362. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  363. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
  364. package/contracts/instance/module/IBundle.sol +1 -1
  365. package/contracts/instance/module/IComponents.sol +10 -11
  366. package/contracts/instance/module/IDistribution.sol +0 -1
  367. package/contracts/instance/module/IPolicy.sol +24 -24
  368. package/contracts/mock/Dip.sol +1 -1
  369. package/contracts/oracle/BasicOracle.sol +47 -0
  370. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  371. package/contracts/oracle/IOracle.sol +36 -0
  372. package/contracts/oracle/IOracleComponent.sol +33 -0
  373. package/contracts/oracle/IOracleService.sol +66 -0
  374. package/contracts/oracle/Oracle.sol +156 -0
  375. package/contracts/oracle/OracleService.sol +291 -0
  376. package/contracts/oracle/OracleServiceManager.sol +39 -0
  377. package/contracts/pool/BasicPool.sol +154 -0
  378. package/contracts/pool/BasicPoolAuthorization.sol +57 -0
  379. package/contracts/pool/BundleService.sol +284 -87
  380. package/contracts/pool/BundleServiceManager.sol +8 -11
  381. package/contracts/pool/IBundleService.sol +42 -5
  382. package/contracts/pool/IPoolComponent.sol +24 -68
  383. package/contracts/pool/IPoolService.sol +56 -39
  384. package/contracts/pool/Pool.sol +184 -148
  385. package/contracts/pool/PoolService.sol +262 -171
  386. package/contracts/pool/PoolServiceManager.sol +6 -9
  387. package/contracts/product/ApplicationService.sol +75 -70
  388. package/contracts/product/ApplicationServiceManager.sol +6 -6
  389. package/contracts/product/BasicProduct.sol +53 -0
  390. package/contracts/product/BasicProductAuthorization.sol +42 -0
  391. package/contracts/product/ClaimService.sol +321 -151
  392. package/contracts/product/ClaimServiceManager.sol +6 -6
  393. package/contracts/product/IApplicationService.sol +1 -0
  394. package/contracts/product/IClaimService.sol +34 -4
  395. package/contracts/product/IPolicyService.sol +34 -32
  396. package/contracts/product/IPricingService.sol +10 -10
  397. package/contracts/product/IProductComponent.sol +26 -9
  398. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  399. package/contracts/product/PolicyService.sol +424 -202
  400. package/contracts/product/PolicyServiceManager.sol +6 -9
  401. package/contracts/product/PricingService.sol +59 -60
  402. package/contracts/product/PricingServiceManager.sol +5 -8
  403. package/contracts/product/Product.sol +211 -133
  404. package/contracts/product/{ProductService.sol → RiskService.sol} +18 -46
  405. package/contracts/product/RiskServiceManager.sol +39 -0
  406. package/contracts/registry/ChainNft.sol +68 -38
  407. package/contracts/registry/IRegistry.sol +69 -22
  408. package/contracts/registry/IRegistryService.sol +3 -10
  409. package/contracts/registry/ITransferInterceptor.sol +1 -2
  410. package/contracts/registry/Registry.sol +354 -213
  411. package/contracts/registry/RegistryAdmin.sol +360 -149
  412. package/contracts/registry/RegistryService.sol +44 -69
  413. package/contracts/registry/RegistryServiceManager.sol +4 -9
  414. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  415. package/contracts/registry/ReleaseRegistry.sol +501 -0
  416. package/contracts/registry/ServiceAuthorizationV3.sol +194 -0
  417. package/contracts/registry/TokenRegistry.sol +2 -2
  418. package/contracts/shared/Component.sol +48 -61
  419. package/contracts/shared/ComponentService.sol +322 -173
  420. package/contracts/shared/ComponentServiceManager.sol +10 -7
  421. package/contracts/shared/ComponentVerifyingService.sol +36 -21
  422. package/contracts/shared/ContractLib.sol +38 -0
  423. package/contracts/shared/IComponent.sol +10 -6
  424. package/contracts/shared/IComponentService.sol +40 -11
  425. package/contracts/shared/IInstanceLinkedComponent.sol +11 -16
  426. package/contracts/shared/IKeyValueStore.sol +1 -0
  427. package/contracts/shared/ILifecycle.sol +3 -2
  428. package/contracts/shared/INftOwnable.sol +2 -0
  429. package/contracts/shared/IPolicyHolder.sol +12 -22
  430. package/contracts/shared/IRegisterable.sol +11 -0
  431. package/contracts/shared/IService.sol +8 -1
  432. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
  433. package/contracts/shared/InstanceLinkedComponent.sol +106 -37
  434. package/contracts/shared/KeyValueStore.sol +7 -3
  435. package/contracts/shared/Lifecycle.sol +30 -63
  436. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  437. package/contracts/shared/NftOwnable.sol +29 -9
  438. package/contracts/shared/PolicyHolder.sol +17 -57
  439. package/contracts/shared/Registerable.sol +19 -9
  440. package/contracts/shared/RegistryLinked.sol +3 -2
  441. package/contracts/shared/Service.sol +43 -36
  442. package/contracts/shared/TokenHandler.sol +100 -19
  443. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  444. package/contracts/staking/IStaking.sol +3 -3
  445. package/contracts/staking/IStakingService.sol +22 -14
  446. package/contracts/staking/StakeManagerLib.sol +70 -25
  447. package/contracts/staking/Staking.sol +86 -140
  448. package/contracts/staking/StakingLifecycle.sol +23 -0
  449. package/contracts/staking/StakingManager.sol +10 -12
  450. package/contracts/staking/StakingReader.sol +23 -20
  451. package/contracts/staking/StakingService.sol +69 -82
  452. package/contracts/staking/StakingServiceManager.sol +4 -5
  453. package/contracts/staking/StakingStore.sol +93 -60
  454. package/contracts/staking/TargetManagerLib.sol +7 -3
  455. package/contracts/type/Amount.sol +27 -5
  456. package/contracts/type/Blocknumber.sol +7 -1
  457. package/contracts/type/ClaimId.sol +6 -1
  458. package/contracts/type/NftId.sol +1 -0
  459. package/contracts/type/ObjectType.sol +175 -68
  460. package/contracts/type/PayoutId.sol +10 -10
  461. package/contracts/type/Referral.sol +1 -0
  462. package/contracts/type/RequestId.sol +75 -0
  463. package/contracts/type/RiskId.sol +15 -1
  464. package/contracts/type/RoleId.sol +97 -78
  465. package/contracts/type/Seconds.sol +21 -1
  466. package/contracts/type/Selector.sol +102 -0
  467. package/contracts/type/StateId.sol +27 -1
  468. package/contracts/type/String.sol +53 -0
  469. package/contracts/type/Timestamp.sol +17 -3
  470. package/contracts/type/UFixed.sol +38 -9
  471. package/contracts/type/Version.sol +3 -1
  472. package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
  473. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  474. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  475. package/package.json +9 -5
  476. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  477. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  478. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  479. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -204
  480. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  481. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  482. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  483. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  484. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
  485. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  486. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
  487. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  488. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
  489. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  490. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  491. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  492. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  493. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  494. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  495. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  496. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  497. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
  498. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  499. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
  500. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  501. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  502. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  503. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  504. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  505. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  506. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  507. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  508. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  509. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  510. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  511. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  512. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  513. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  514. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  515. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  516. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -349
  517. package/contracts/product/ProductServiceManager.sol +0 -42
  518. package/contracts/registry/ReleaseManager.sol +0 -599
  519. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  520. package/contracts/shared/AccessManagerCustom.sol +0 -736
  521. package/contracts/shared/AccessManagerExtended.sol +0 -470
  522. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  523. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  524. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  525. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  526. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  527. package/contracts/shared/InitializableCustom.sol +0 -177
  528. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -13,6 +13,68 @@
13
13
  "name": "ErrorInstanceReaderInstanceAddressZero",
14
14
  "type": "error"
15
15
  },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "NftId",
20
+ "name": "poolNftId",
21
+ "type": "uint96"
22
+ }
23
+ ],
24
+ "name": "activeBundles",
25
+ "outputs": [
26
+ {
27
+ "internalType": "uint256",
28
+ "name": "bundles",
29
+ "type": "uint256"
30
+ }
31
+ ],
32
+ "stateMutability": "view",
33
+ "type": "function"
34
+ },
35
+ {
36
+ "inputs": [
37
+ {
38
+ "internalType": "NftId",
39
+ "name": "policyNftId",
40
+ "type": "uint96"
41
+ }
42
+ ],
43
+ "name": "claims",
44
+ "outputs": [
45
+ {
46
+ "internalType": "uint16",
47
+ "name": "claims",
48
+ "type": "uint16"
49
+ }
50
+ ],
51
+ "stateMutability": "view",
52
+ "type": "function"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "NftId",
58
+ "name": "poolNftId",
59
+ "type": "uint96"
60
+ },
61
+ {
62
+ "internalType": "uint256",
63
+ "name": "idx",
64
+ "type": "uint256"
65
+ }
66
+ ],
67
+ "name": "getActiveBundleNftId",
68
+ "outputs": [
69
+ {
70
+ "internalType": "NftId",
71
+ "name": "bundleNftId",
72
+ "type": "uint96"
73
+ }
74
+ ],
75
+ "stateMutability": "view",
76
+ "type": "function"
77
+ },
16
78
  {
17
79
  "inputs": [
18
80
  {
@@ -72,8 +134,8 @@
72
134
  "type": "bytes"
73
135
  },
74
136
  {
75
- "internalType": "Seconds",
76
- "name": "lifetime",
137
+ "internalType": "Timestamp",
138
+ "name": "activatedAt",
77
139
  "type": "uint40"
78
140
  },
79
141
  {
@@ -95,6 +157,44 @@
95
157
  "stateMutability": "view",
96
158
  "type": "function"
97
159
  },
160
+ {
161
+ "inputs": [
162
+ {
163
+ "internalType": "NftId",
164
+ "name": "bundleNftId",
165
+ "type": "uint96"
166
+ }
167
+ ],
168
+ "name": "getBundleState",
169
+ "outputs": [
170
+ {
171
+ "internalType": "StateId",
172
+ "name": "state",
173
+ "type": "uint8"
174
+ }
175
+ ],
176
+ "stateMutability": "view",
177
+ "type": "function"
178
+ },
179
+ {
180
+ "inputs": [
181
+ {
182
+ "internalType": "uint256",
183
+ "name": "idx",
184
+ "type": "uint256"
185
+ }
186
+ ],
187
+ "name": "getClaimId",
188
+ "outputs": [
189
+ {
190
+ "internalType": "ClaimId",
191
+ "name": "claimId",
192
+ "type": "uint16"
193
+ }
194
+ ],
195
+ "stateMutability": "view",
196
+ "type": "function"
197
+ },
98
198
  {
99
199
  "inputs": [
100
200
  {
@@ -123,14 +223,14 @@
123
223
  "type": "uint96"
124
224
  },
125
225
  {
126
- "internalType": "uint8",
226
+ "internalType": "uint24",
127
227
  "name": "payoutsCount",
128
- "type": "uint8"
228
+ "type": "uint24"
129
229
  },
130
230
  {
131
- "internalType": "uint8",
231
+ "internalType": "uint24",
132
232
  "name": "openPayoutsCount",
133
- "type": "uint8"
233
+ "type": "uint24"
134
234
  },
135
235
  {
136
236
  "internalType": "bytes",
@@ -197,11 +297,6 @@
197
297
  "name": "name",
198
298
  "type": "string"
199
299
  },
200
- {
201
- "internalType": "NftId",
202
- "name": "productNftId",
203
- "type": "uint96"
204
- },
205
300
  {
206
301
  "internalType": "contract IERC20Metadata",
207
302
  "name": "token",
@@ -282,11 +377,6 @@
282
377
  "name": "data",
283
378
  "type": "bytes"
284
379
  },
285
- {
286
- "internalType": "Amount",
287
- "name": "commissionAmount",
288
- "type": "uint96"
289
- },
290
380
  {
291
381
  "internalType": "uint32",
292
382
  "name": "numPoliciesSold",
@@ -472,6 +562,30 @@
472
562
  "stateMutability": "view",
473
563
  "type": "function"
474
564
  },
565
+ {
566
+ "inputs": [
567
+ {
568
+ "internalType": "ClaimId",
569
+ "name": "claimId",
570
+ "type": "uint16"
571
+ },
572
+ {
573
+ "internalType": "uint24",
574
+ "name": "idx",
575
+ "type": "uint24"
576
+ }
577
+ ],
578
+ "name": "getPayoutId",
579
+ "outputs": [
580
+ {
581
+ "internalType": "PayoutId",
582
+ "name": "payoutId",
583
+ "type": "uint40"
584
+ }
585
+ ],
586
+ "stateMutability": "view",
587
+ "type": "function"
588
+ },
475
589
  {
476
590
  "inputs": [
477
591
  {
@@ -482,7 +596,7 @@
482
596
  {
483
597
  "internalType": "PayoutId",
484
598
  "name": "payoutId",
485
- "type": "uint24"
599
+ "type": "uint40"
486
600
  }
487
601
  ],
488
602
  "name": "getPayoutInfo",
@@ -499,6 +613,11 @@
499
613
  "name": "amount",
500
614
  "type": "uint96"
501
615
  },
616
+ {
617
+ "internalType": "address",
618
+ "name": "beneficiary",
619
+ "type": "address"
620
+ },
502
621
  {
503
622
  "internalType": "bytes",
504
623
  "name": "data",
@@ -528,7 +647,7 @@
528
647
  {
529
648
  "internalType": "PayoutId",
530
649
  "name": "payoutId",
531
- "type": "uint24"
650
+ "type": "uint40"
532
651
  }
533
652
  ],
534
653
  "name": "getPayoutState",
@@ -584,11 +703,6 @@
584
703
  "name": "premiumAmount",
585
704
  "type": "uint96"
586
705
  },
587
- {
588
- "internalType": "Amount",
589
- "name": "premiumPaidAmount",
590
- "type": "uint96"
591
- },
592
706
  {
593
707
  "internalType": "Seconds",
594
708
  "name": "lifetime",
@@ -680,8 +794,8 @@
680
794
  {
681
795
  "components": [
682
796
  {
683
- "internalType": "NftId",
684
- "name": "productNftId",
797
+ "internalType": "Amount",
798
+ "name": "maxBalanceAmount",
685
799
  "type": "uint96"
686
800
  },
687
801
  {
@@ -690,13 +804,13 @@
690
804
  "type": "uint64"
691
805
  },
692
806
  {
693
- "internalType": "Amount",
694
- "name": "maxCapitalAmount",
695
- "type": "uint96"
807
+ "internalType": "bool",
808
+ "name": "isInterceptingBundleTransfers",
809
+ "type": "bool"
696
810
  },
697
811
  {
698
812
  "internalType": "bool",
699
- "name": "isInterceptingBundleTransfers",
813
+ "name": "isProcessingConfirmedClaims",
700
814
  "type": "bool"
701
815
  },
702
816
  {
@@ -718,57 +832,6 @@
718
832
  "internalType": "UFixed",
719
833
  "name": "retentionLevel",
720
834
  "type": "uint256"
721
- },
722
- {
723
- "components": [
724
- {
725
- "internalType": "UFixed",
726
- "name": "fractionalFee",
727
- "type": "uint256"
728
- },
729
- {
730
- "internalType": "uint256",
731
- "name": "fixedFee",
732
- "type": "uint256"
733
- }
734
- ],
735
- "internalType": "struct Fee",
736
- "name": "poolFee",
737
- "type": "tuple"
738
- },
739
- {
740
- "components": [
741
- {
742
- "internalType": "UFixed",
743
- "name": "fractionalFee",
744
- "type": "uint256"
745
- },
746
- {
747
- "internalType": "uint256",
748
- "name": "fixedFee",
749
- "type": "uint256"
750
- }
751
- ],
752
- "internalType": "struct Fee",
753
- "name": "stakingFee",
754
- "type": "tuple"
755
- },
756
- {
757
- "components": [
758
- {
759
- "internalType": "UFixed",
760
- "name": "fractionalFee",
761
- "type": "uint256"
762
- },
763
- {
764
- "internalType": "uint256",
765
- "name": "fixedFee",
766
- "type": "uint256"
767
- }
768
- ],
769
- "internalType": "struct Fee",
770
- "name": "performanceFee",
771
- "type": "tuple"
772
835
  }
773
836
  ],
774
837
  "internalType": "struct IComponents.PoolInfo",
@@ -783,74 +846,229 @@
783
846
  "inputs": [
784
847
  {
785
848
  "internalType": "NftId",
786
- "name": "productNftId",
849
+ "name": "policyNftId",
787
850
  "type": "uint96"
788
851
  }
789
852
  ],
790
- "name": "getProductInfo",
853
+ "name": "getPremiumInfo",
791
854
  "outputs": [
792
855
  {
793
856
  "components": [
794
857
  {
795
- "internalType": "NftId",
796
- "name": "distributionNftId",
858
+ "internalType": "Amount",
859
+ "name": "productFeeAmount",
797
860
  "type": "uint96"
798
861
  },
799
862
  {
800
- "internalType": "NftId",
801
- "name": "poolNftId",
863
+ "internalType": "Amount",
864
+ "name": "distributionFeeAndCommissionAmount",
802
865
  "type": "uint96"
803
866
  },
804
867
  {
805
- "components": [
806
- {
807
- "internalType": "UFixed",
808
- "name": "fractionalFee",
809
- "type": "uint256"
810
- },
811
- {
812
- "internalType": "uint256",
813
- "name": "fixedFee",
814
- "type": "uint256"
815
- }
816
- ],
817
- "internalType": "struct Fee",
818
- "name": "productFee",
819
- "type": "tuple"
868
+ "internalType": "Amount",
869
+ "name": "poolPremiumAndFeeAmount",
870
+ "type": "uint96"
820
871
  },
821
872
  {
822
- "components": [
823
- {
824
- "internalType": "UFixed",
825
- "name": "fractionalFee",
826
- "type": "uint256"
827
- },
828
- {
829
- "internalType": "uint256",
830
- "name": "fixedFee",
831
- "type": "uint256"
832
- }
833
- ],
834
- "internalType": "struct Fee",
835
- "name": "processingFee",
836
- "type": "tuple"
873
+ "internalType": "Amount",
874
+ "name": "netPremiumAmount",
875
+ "type": "uint96"
837
876
  },
838
877
  {
839
- "components": [
840
- {
841
- "internalType": "UFixed",
842
- "name": "fractionalFee",
843
- "type": "uint256"
844
- },
845
- {
846
- "internalType": "uint256",
847
- "name": "fixedFee",
848
- "type": "uint256"
849
- }
850
- ],
851
- "internalType": "struct Fee",
852
- "name": "distributionFee",
853
- "type": "tuple"
878
+ "internalType": "Amount",
879
+ "name": "fullPremiumAmount",
880
+ "type": "uint96"
881
+ },
882
+ {
883
+ "internalType": "Amount",
884
+ "name": "premiumAmount",
885
+ "type": "uint96"
886
+ },
887
+ {
888
+ "internalType": "Amount",
889
+ "name": "productFeeFixAmount",
890
+ "type": "uint96"
891
+ },
892
+ {
893
+ "internalType": "Amount",
894
+ "name": "poolFeeFixAmount",
895
+ "type": "uint96"
896
+ },
897
+ {
898
+ "internalType": "Amount",
899
+ "name": "bundleFeeFixAmount",
900
+ "type": "uint96"
901
+ },
902
+ {
903
+ "internalType": "Amount",
904
+ "name": "distributionFeeFixAmount",
905
+ "type": "uint96"
906
+ },
907
+ {
908
+ "internalType": "Amount",
909
+ "name": "productFeeVarAmount",
910
+ "type": "uint96"
911
+ },
912
+ {
913
+ "internalType": "Amount",
914
+ "name": "poolFeeVarAmount",
915
+ "type": "uint96"
916
+ },
917
+ {
918
+ "internalType": "Amount",
919
+ "name": "bundleFeeVarAmount",
920
+ "type": "uint96"
921
+ },
922
+ {
923
+ "internalType": "Amount",
924
+ "name": "distributionFeeVarAmount",
925
+ "type": "uint96"
926
+ },
927
+ {
928
+ "internalType": "Amount",
929
+ "name": "distributionOwnerFeeFixAmount",
930
+ "type": "uint96"
931
+ },
932
+ {
933
+ "internalType": "Amount",
934
+ "name": "distributionOwnerFeeVarAmount",
935
+ "type": "uint96"
936
+ },
937
+ {
938
+ "internalType": "Amount",
939
+ "name": "commissionAmount",
940
+ "type": "uint96"
941
+ },
942
+ {
943
+ "internalType": "Amount",
944
+ "name": "discountAmount",
945
+ "type": "uint96"
946
+ }
947
+ ],
948
+ "internalType": "struct IPolicy.PremiumInfo",
949
+ "name": "info",
950
+ "type": "tuple"
951
+ }
952
+ ],
953
+ "stateMutability": "view",
954
+ "type": "function"
955
+ },
956
+ {
957
+ "inputs": [
958
+ {
959
+ "internalType": "NftId",
960
+ "name": "policyNftId",
961
+ "type": "uint96"
962
+ }
963
+ ],
964
+ "name": "getPremiumInfoState",
965
+ "outputs": [
966
+ {
967
+ "internalType": "StateId",
968
+ "name": "state",
969
+ "type": "uint8"
970
+ }
971
+ ],
972
+ "stateMutability": "view",
973
+ "type": "function"
974
+ },
975
+ {
976
+ "inputs": [
977
+ {
978
+ "internalType": "NftId",
979
+ "name": "productNftId",
980
+ "type": "uint96"
981
+ }
982
+ ],
983
+ "name": "getProductInfo",
984
+ "outputs": [
985
+ {
986
+ "components": [
987
+ {
988
+ "internalType": "bool",
989
+ "name": "isProcessingFundedClaims",
990
+ "type": "bool"
991
+ },
992
+ {
993
+ "internalType": "bool",
994
+ "name": "hasDistribution",
995
+ "type": "bool"
996
+ },
997
+ {
998
+ "internalType": "uint8",
999
+ "name": "expectedNumberOfOracles",
1000
+ "type": "uint8"
1001
+ },
1002
+ {
1003
+ "internalType": "uint8",
1004
+ "name": "numberOfOracles",
1005
+ "type": "uint8"
1006
+ },
1007
+ {
1008
+ "internalType": "NftId",
1009
+ "name": "poolNftId",
1010
+ "type": "uint96"
1011
+ },
1012
+ {
1013
+ "internalType": "NftId",
1014
+ "name": "distributionNftId",
1015
+ "type": "uint96"
1016
+ },
1017
+ {
1018
+ "internalType": "NftId[]",
1019
+ "name": "oracleNftId",
1020
+ "type": "uint96[]"
1021
+ },
1022
+ {
1023
+ "components": [
1024
+ {
1025
+ "internalType": "UFixed",
1026
+ "name": "fractionalFee",
1027
+ "type": "uint256"
1028
+ },
1029
+ {
1030
+ "internalType": "uint256",
1031
+ "name": "fixedFee",
1032
+ "type": "uint256"
1033
+ }
1034
+ ],
1035
+ "internalType": "struct Fee",
1036
+ "name": "productFee",
1037
+ "type": "tuple"
1038
+ },
1039
+ {
1040
+ "components": [
1041
+ {
1042
+ "internalType": "UFixed",
1043
+ "name": "fractionalFee",
1044
+ "type": "uint256"
1045
+ },
1046
+ {
1047
+ "internalType": "uint256",
1048
+ "name": "fixedFee",
1049
+ "type": "uint256"
1050
+ }
1051
+ ],
1052
+ "internalType": "struct Fee",
1053
+ "name": "processingFee",
1054
+ "type": "tuple"
1055
+ },
1056
+ {
1057
+ "components": [
1058
+ {
1059
+ "internalType": "UFixed",
1060
+ "name": "fractionalFee",
1061
+ "type": "uint256"
1062
+ },
1063
+ {
1064
+ "internalType": "uint256",
1065
+ "name": "fixedFee",
1066
+ "type": "uint256"
1067
+ }
1068
+ ],
1069
+ "internalType": "struct Fee",
1070
+ "name": "distributionFee",
1071
+ "type": "tuple"
854
1072
  },
855
1073
  {
856
1074
  "components": [
@@ -985,6 +1203,86 @@
985
1203
  "stateMutability": "view",
986
1204
  "type": "function"
987
1205
  },
1206
+ {
1207
+ "inputs": [
1208
+ {
1209
+ "internalType": "NftId",
1210
+ "name": "policyNftId",
1211
+ "type": "uint96"
1212
+ }
1213
+ ],
1214
+ "name": "getRemainingClaimableAmount",
1215
+ "outputs": [
1216
+ {
1217
+ "internalType": "Amount",
1218
+ "name": "remainingClaimableAmount",
1219
+ "type": "uint96"
1220
+ }
1221
+ ],
1222
+ "stateMutability": "view",
1223
+ "type": "function"
1224
+ },
1225
+ {
1226
+ "inputs": [
1227
+ {
1228
+ "internalType": "RequestId",
1229
+ "name": "requestId",
1230
+ "type": "uint64"
1231
+ }
1232
+ ],
1233
+ "name": "getRequestInfo",
1234
+ "outputs": [
1235
+ {
1236
+ "components": [
1237
+ {
1238
+ "internalType": "NftId",
1239
+ "name": "requesterNftId",
1240
+ "type": "uint96"
1241
+ },
1242
+ {
1243
+ "internalType": "string",
1244
+ "name": "callbackMethodName",
1245
+ "type": "string"
1246
+ },
1247
+ {
1248
+ "internalType": "NftId",
1249
+ "name": "oracleNftId",
1250
+ "type": "uint96"
1251
+ },
1252
+ {
1253
+ "internalType": "bytes",
1254
+ "name": "requestData",
1255
+ "type": "bytes"
1256
+ },
1257
+ {
1258
+ "internalType": "bytes",
1259
+ "name": "responseData",
1260
+ "type": "bytes"
1261
+ },
1262
+ {
1263
+ "internalType": "Timestamp",
1264
+ "name": "respondedAt",
1265
+ "type": "uint40"
1266
+ },
1267
+ {
1268
+ "internalType": "Timestamp",
1269
+ "name": "expiredAt",
1270
+ "type": "uint40"
1271
+ },
1272
+ {
1273
+ "internalType": "bool",
1274
+ "name": "isCancelled",
1275
+ "type": "bool"
1276
+ }
1277
+ ],
1278
+ "internalType": "struct IOracle.RequestInfo",
1279
+ "name": "requestInfo",
1280
+ "type": "tuple"
1281
+ }
1282
+ ],
1283
+ "stateMutability": "view",
1284
+ "type": "function"
1285
+ },
988
1286
  {
989
1287
  "inputs": [
990
1288
  {
@@ -1016,6 +1314,25 @@
1016
1314
  "stateMutability": "view",
1017
1315
  "type": "function"
1018
1316
  },
1317
+ {
1318
+ "inputs": [
1319
+ {
1320
+ "internalType": "Key32",
1321
+ "name": "key",
1322
+ "type": "bytes32"
1323
+ }
1324
+ ],
1325
+ "name": "getState",
1326
+ "outputs": [
1327
+ {
1328
+ "internalType": "StateId",
1329
+ "name": "state",
1330
+ "type": "uint8"
1331
+ }
1332
+ ],
1333
+ "stateMutability": "view",
1334
+ "type": "function"
1335
+ },
1019
1336
  {
1020
1337
  "inputs": [
1021
1338
  {
@@ -1037,17 +1354,134 @@
1037
1354
  },
1038
1355
  {
1039
1356
  "inputs": [
1357
+ {
1358
+ "internalType": "NftId",
1359
+ "name": "componentNftId",
1360
+ "type": "uint96"
1361
+ }
1362
+ ],
1363
+ "name": "getWallet",
1364
+ "outputs": [
1040
1365
  {
1041
1366
  "internalType": "address",
1042
- "name": "instance",
1367
+ "name": "tokenHandler",
1368
+ "type": "address"
1369
+ }
1370
+ ],
1371
+ "stateMutability": "view",
1372
+ "type": "function"
1373
+ },
1374
+ {
1375
+ "inputs": [
1376
+ {
1377
+ "internalType": "address",
1378
+ "name": "account",
1379
+ "type": "address"
1380
+ },
1381
+ {
1382
+ "internalType": "RoleId",
1383
+ "name": "roleId",
1384
+ "type": "uint64"
1385
+ }
1386
+ ],
1387
+ "name": "hasAdminRole",
1388
+ "outputs": [
1389
+ {
1390
+ "internalType": "bool",
1391
+ "name": "isMember",
1392
+ "type": "bool"
1393
+ }
1394
+ ],
1395
+ "stateMutability": "view",
1396
+ "type": "function"
1397
+ },
1398
+ {
1399
+ "inputs": [
1400
+ {
1401
+ "internalType": "address",
1402
+ "name": "account",
1043
1403
  "type": "address"
1404
+ },
1405
+ {
1406
+ "internalType": "RoleId",
1407
+ "name": "roleId",
1408
+ "type": "uint64"
1409
+ }
1410
+ ],
1411
+ "name": "hasRole",
1412
+ "outputs": [
1413
+ {
1414
+ "internalType": "bool",
1415
+ "name": "isMember",
1416
+ "type": "bool"
1044
1417
  }
1045
1418
  ],
1419
+ "stateMutability": "view",
1420
+ "type": "function"
1421
+ },
1422
+ {
1423
+ "inputs": [],
1046
1424
  "name": "initialize",
1047
1425
  "outputs": [],
1048
1426
  "stateMutability": "nonpayable",
1049
1427
  "type": "function"
1050
1428
  },
1429
+ {
1430
+ "inputs": [
1431
+ {
1432
+ "internalType": "address",
1433
+ "name": "instanceAddress",
1434
+ "type": "address"
1435
+ }
1436
+ ],
1437
+ "name": "initializeWithInstance",
1438
+ "outputs": [],
1439
+ "stateMutability": "nonpayable",
1440
+ "type": "function"
1441
+ },
1442
+ {
1443
+ "inputs": [
1444
+ {
1445
+ "internalType": "address",
1446
+ "name": "target",
1447
+ "type": "address"
1448
+ }
1449
+ ],
1450
+ "name": "isTargetLocked",
1451
+ "outputs": [
1452
+ {
1453
+ "internalType": "bool",
1454
+ "name": "",
1455
+ "type": "bool"
1456
+ }
1457
+ ],
1458
+ "stateMutability": "view",
1459
+ "type": "function"
1460
+ },
1461
+ {
1462
+ "inputs": [
1463
+ {
1464
+ "internalType": "NftId",
1465
+ "name": "policyNftId",
1466
+ "type": "uint96"
1467
+ },
1468
+ {
1469
+ "internalType": "ClaimId",
1470
+ "name": "claimId",
1471
+ "type": "uint16"
1472
+ }
1473
+ ],
1474
+ "name": "payouts",
1475
+ "outputs": [
1476
+ {
1477
+ "internalType": "uint24",
1478
+ "name": "payouts",
1479
+ "type": "uint24"
1480
+ }
1481
+ ],
1482
+ "stateMutability": "view",
1483
+ "type": "function"
1484
+ },
1051
1485
  {
1052
1486
  "inputs": [
1053
1487
  {
@@ -1056,7 +1490,7 @@
1056
1490
  "type": "uint96"
1057
1491
  }
1058
1492
  ],
1059
- "name": "policyIsCloseable",
1493
+ "name": "policyIsActive",
1060
1494
  "outputs": [
1061
1495
  {
1062
1496
  "internalType": "bool",
@@ -1200,6 +1634,25 @@
1200
1634
  "stateMutability": "pure",
1201
1635
  "type": "function"
1202
1636
  },
1637
+ {
1638
+ "inputs": [
1639
+ {
1640
+ "internalType": "NftId",
1641
+ "name": "policyNftId",
1642
+ "type": "uint96"
1643
+ }
1644
+ ],
1645
+ "name": "toPremiumKey",
1646
+ "outputs": [
1647
+ {
1648
+ "internalType": "Key32",
1649
+ "name": "",
1650
+ "type": "bytes32"
1651
+ }
1652
+ ],
1653
+ "stateMutability": "pure",
1654
+ "type": "function"
1655
+ },
1203
1656
  {
1204
1657
  "inputs": [
1205
1658
  {
@@ -1268,14 +1721,14 @@
1268
1721
  "type": "function"
1269
1722
  }
1270
1723
  ],
1271
- "bytecode": "0x608060405234801561001057600080fd5b50613853806100206000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80637bfd32171161011a578063b82d7ef5116100ad578063d4cda0d81161007c578063d4cda0d814610595578063dd26287a146105a6578063de7b5d14146105b9578063f0ea17c3146105cf578063f7f318d3146105ef57600080fd5b8063b82d7ef514610516578063bd7d9d8514610540578063c4d66de814610560578063d06458c61461057557600080fd5b80639096a1f3116100e95780639096a1f31461045b578063a310e2a31461046e578063a5961b4c14610499578063a7ef3d21146104f657600080fd5b80637bfd3217146104025780637e54602a14610415578063887b1fa9146104285780638eb9000d1461044857600080fd5b80633f093cd61161019d57806357f80bbf1161016c57806357f80bbf146103745780635da894021461039457806364eb3a9b146103b957806375d357df146103cc57806378ae9350146103ef57600080fd5b80633f093cd61461030257806344aa68361461032e5780634793b4ab146103415780634fb784f51461036157600080fd5b8063228e42ec116101d9578063228e42ec1461029c57806327b1d792146102af57806335898f5d146102cf57806339bb60cd146102e257600080fd5b80630232ca491461020b5780630b5d931c1461023b5780631488c8451461025b5780631d3be4771461027c575b600080fd5b61021e6102193660046120f1565b610602565b6040516001600160601b0390911681526020015b60405180910390f35b61024e6102493660046120f1565b61067f565b604051610232919061210e565b61026e6102693660046121f1565b610732565b604051908152602001610232565b61028f61028a36600461223d565b6107b1565b60405161023291906122aa565b61021e6102aa3660046120f1565b6108fd565b6102c26102bd3660046120f1565b610937565b6040516102329190612345565b61026e6102dd3660046120f1565b610a01565b6102f56102f03660046123b2565b610a9b565b60405161023291906123e8565b6103156103103660046125c8565b610bed565b6040516001600160c01b03199091168152602001610232565b61026e61033c36600461265a565b610c6a565b61035461034f3660046120f1565b610ca5565b6040516102329190612673565b61026e61036f3660046120f1565b610d4b565b6103876103823660046120f1565b610d78565b60405161023291906126f9565b6103a76103a23660046123b2565b610e1e565b60405160ff9091168152602001610232565b61026e6103c73660046120f1565b610f1b565b6103df6103da3660046120f1565b610f48565b6040519015158152602001610232565b6103a76103fd3660046127fc565b6111d7565b61026e6104103660046120f1565b611237565b61026e6104233660046120f1565b611264565b61043b61043636600461223d565b611291565b604051610232919061282a565b61021e6104563660046120f1565b6113ba565b6103a76104693660046120f1565b6113f4565b61048161047c3660046120f1565b611470565b6040516001600160a01b039091168152602001610232565b6104ac6104a736600461265a565b61151e565b6040516102329190600060808201905060ff835116825260ff6020840151166020830152604083015163ffffffff8082166040850152806060860151166060850152505092915050565b6105096105043660046127fc565b6115ab565b6040516102329190612860565b61052961052436600461223d565b611700565b6040805192835260ff909116602083015201610232565b61055361054e3660046120f1565b6119a8565b6040516102329190612900565b61057361056e366004612ac6565b611ace565b005b61058861058336600461223d565b611be7565b6040516102329190612ae3565b6001546001600160a01b0316610481565b61026e6105b43660046120f1565b611d5a565b60005461010090046001600160a01b0316610481565b6105e26105dd3660046120f1565b611d87565b6040516102329190612b93565b61026e6105fd3660046120f1565b611e55565b600154604051630232ca4960e01b81526001600160601b03831660048201526000916001600160a01b031690630232ca49906024015b602060405180830381865afa158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190612c1d565b92915050565b610687611f09565b6001546000906001600160a01b03166354f6127f6106a485611237565b6040518263ffffffff1660e01b81526004016106c291815260200190565b600060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107079190810190612c7f565b80519091501561072c57808060200190518101906107259190612ce3565b9392505050565b50919050565b604051631488c84560e01b815260048101839052600082810b60248301529073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c84590604401602060405180830381865af415801561078d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107259190612da3565b6040805160e08101825260008082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526001546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$05887d5853069c88bcd4c0a2107db45f29$__906355ee627590602401602060405180830381865af4158015610858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087c9190612da3565b6040518263ffffffff1660e01b815260040161089a91815260200190565b600060405180830381865afa1580156108b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108df9190810190612c7f565b80519091501561072c57808060200190518101906107259190612df7565b6001546040516308a390bb60e21b81526001600160601b03831660048201526000916001600160a01b03169063228e42ec90602401610638565b6040805160a081018252600080825260208201819052606092820183905291810182905260808101919091526001546000906001600160a01b03166354f6127f61098085611264565b6040518263ffffffff1660e01b815260040161099e91815260200190565b600060405180830381865afa1580156109bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109e39190810190612c7f565b80519091501561072c57808060200190518101906107259190612ef0565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660785b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af4158015610a77573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190612da3565b60408051608081018252600080825260208201819052606092820183905291810191909152600154604051635927341160e01b815262ffffff841660048201526001600160601b03851660248201526000916001600160a01b0316906354f6127f9073__$0f9396e6447a4be57af83e53f51d234633$__90635927341190604401602060405180830381865af4158015610b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5d9190612da3565b6040518263ffffffff1660e01b8152600401610b7b91815260200190565b600060405180830381865afa158015610b98573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bc09190810190612c7f565b805190915015610be65780806020019051810190610bde9190612fb8565b915050610679565b5092915050565b604051631f849e6b60e11b815260009073__$05887d5853069c88bcd4c0a2107db45f29$__90633f093cd690610c299086908690600401613061565b602060405180830381865af4158015610c46573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107259190613083565b604051632255341b60e11b81526004810182905260009073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401610a5a565b610cad612023565b6001546000906001600160a01b03166354f6127f610cca85611e55565b6040518263ffffffff1660e01b8152600401610ce891815260200190565b600060405180830381865afa158015610d05573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d2d9190810190612c7f565b80519091501561072c578080602001905181019061072591906130a0565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166064610a2a565b610d8061207e565b6001546000906001600160a01b03166354f6127f610d9d85611d5a565b6040518263ffffffff1660e01b8152600401610dbb91815260200190565b600060405180830381865afa158015610dd8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e009190810190612c7f565b80519091501561072c57808060200190518101906107259190613180565b600154604051635927341160e01b815262ffffff831660048201526001600160601b03841660248201526000916001600160a01b0316906309648a9d9073__$0f9396e6447a4be57af83e53f51d234633$__906359273411906044015b602060405180830381865af4158015610e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebc9190612da3565b6040518263ffffffff1660e01b8152600401610eda91815260200190565b602060405180830381865afa158015610ef7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610725919061325f565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660d3610a2a565b600080610f54836119a8565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd6919061327c565b15610fe45750600092915050565b6101c081015160405163790a38ad60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015611041573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611065919061327c565b156110735750600092915050565b610200810151604051638d38cd4b60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af41580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f4919061327c565b156111025750600092915050565b61016081015161ffff161561111a5750600092915050565b61112d8161018001518260800151611e82565b1561113b5750600192915050565b6111c073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ab9190613297565b826101e0015164ffffffffff90811691161090565b156111ce5750600092915050565b50600192915050565b600154604051637d56159160e11b815261ffff831660048201526001600160601b03841660248201526000916001600160a01b0316906309648a9d9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401610e7b565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416606e610a2a565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416607a610a2a565b6040805180820190915260008152606060208201526001546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590602401602060405180830381865af4158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113399190612da3565b6040518263ffffffff1660e01b815260040161135791815260200190565b600060405180830381865afa158015611374573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261139c9190810190612c7f565b80519091501561072c578080602001905181019061072591906132b4565b600154604051638eb9000d60e01b81526001600160601b03831660048201526000916001600160a01b031690638eb9000d90602401610638565b6001546000906001600160a01b03166309648a9d61141184610f1b565b6040518263ffffffff1660e01b815260040161142f91815260200190565b602060405180830381865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610679919061325f565b60015460009081906001600160a01b03166354f6127f61148f85610d4b565b6040518263ffffffff1660e01b81526004016114ad91815260200190565b600060405180830381865afa1580156114ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114f29190810190612c7f565b80519091501561072c57600081806020019051810190611512919061333e565b60600151949350505050565b604080516080810182526000808252602082018190528183018190526060820152600154915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c90602401608060405180830381865afa158015611587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613412565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082015260c0810191909152600154604051637d56159160e11b815261ffff841660048201526001600160601b03851660248201526000916001600160a01b0316906354f6127f9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401602060405180830381865af415801561165b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167f9190612da3565b6040518263ffffffff1660e01b815260040161169d91815260200190565b600060405180830381865afa1580156116ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116e29190810190612c7f565b805190915015610be65780806020019051810190610bde9190613479565b600080600061170e846107b1565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af415801561176d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611791919061327c565b156118105773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156117df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118039190612da3565b60645b9250925050915091565b6118948160a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611861573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118859190613297565b64ffffffffff90811691161090565b1561190d5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190612da3565b606e611806565b806060015163ffffffff16816080015163ffffffff161061199c5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119959190612da3565b6078611806565b6040810151600a611806565b604080516102208101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018190526101208201526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e081018290526102008101919091526001546000906001600160a01b03166354f6127f611a4d85610f1b565b6040518263ffffffff1660e01b8152600401611a6b91815260200190565b600060405180830381865afa158015611a88573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ab09190810190612c7f565b80519091501561072c5780806020019051810190610725919061355e565b60005460ff1615611af25760405163ae9eff1b60e01b815260040160405180910390fd5b6001600160a01b038116611b1957604051630cc51a5560e21b815260040160405180910390fd5b80600060016101000a8154816001600160a01b0302191690836001600160a01b03160217905550600060019054906101000a90046001600160a01b03166001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb79190613709565b600180546001600160a01b0319166001600160a01b03929092169190911781556000805460ff1916909117905550565b611c4660405180610120016040528060608152602001600081526020016000815260200160008152602001600063ffffffff168152602001600063ffffffff168152602001600015158152602001600015158152602001606081525090565b6001546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$1919c6d2c69d787ccb2653a371d7e5737d$__906355ee627590602401602060405180830381865af4158015611cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd99190612da3565b6040518263ffffffff1660e01b8152600401611cf791815260200190565b600060405180830381865afa158015611d14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d3c9190810190612c7f565b80519091501561072c57808060200190518101906107259190613726565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416608c610a2a565b6040805160c08101825260608082526000602083018190529282018390528082018390526080820183905260a08201526001549091906001600160a01b03166354f6127f611dd485610d4b565b6040518263ffffffff1660e01b8152600401611df291815260200190565b600060405180830381865afa158015611e0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e379190810190612c7f565b80519091501561072c5780806020019051810190610725919061333e565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660dc610a2a565b60405163c4cade9d60e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063c4cade9d90604401602060405180830381865af4158015611ee5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610725919061327c565b60405180610120016040528060006001600160601b0316815260200160006001600160601b03168152602001611f52604051806040016040528060008152602001600081525090565b8152602001611f74604051806040016040528060008152602001600081525090565b8152602001611f96604051806040016040528060008152602001600081525090565b8152602001611fb8604051806040016040528060008152602001600081525090565b8152602001611fda604051806040016040528060008152602001600081525090565b8152602001611ffc604051806040016040528060008152602001600081525090565b815260200161201e604051806040016040528060008152602001600081525090565b905290565b6040518060c0016040528060006001600160601b0316815260200161205b604051806040016040528060008152602001600081525090565b815260606020820181905260006040830181905290820181905260809091015290565b604080516101608101825260008082526020808301829052828401829052606083018290526080830182905260a0830182905260c0830182905260e08301829052835180850190945281845283015290610100820190611fda565b6001600160601b03811681146120ee57600080fd5b50565b60006020828403121561210357600080fd5b8135610725816120d9565b81516001600160601b0316815260208083015161020083019161213b908401826001600160601b03169052565b506040830151612158604084018280518252602090810151910152565b50606083015180516080840152602081015160a0840152506080830151805160c0840152602081015160e08401525060a08301516101006121a58185018380518252602090810151910152565b60c0850151805161014086015260209081015161016086015260e086015180516101808701528101516101a08601529085015180516101c0860152908101516101e08501529050610be6565b6000806040838503121561220457600080fd5b8235915060208301358060000b811461221c57600080fd5b809150509250929050565b6001600160c01b0319811681146120ee57600080fd5b60006020828403121561224f57600080fd5b813561072581612227565b60005b8381101561227557818101518382015260200161225d565b50506000910152565b6000815180845261229681602086016020860161225a565b601f01601f19169290920160200192915050565b602081526001600160601b0382511660208201526000602083015160e060408401526122da61010084018261227e565b90506040840151606084015263ffffffff6060850151166080840152608084015161230d60a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e085015261233c828261227e565b95945050505050565b602081526001600160401b0360c01b82511660208201526020820151151560408201526000604083015160a0606084015261238360c084018261227e565b90506001600160601b03606085015116608084015263ffffffff60808501511660a08401528091505092915050565b600080604083850312156123c557600080fd5b82356123d0816120d9565b9150602083013562ffffff8116811461221c57600080fd5b6020815261ffff82511660208201526001600160601b036020830151166040820152600060408301516080606084015261242560a084018261227e565b905064ffffffffff60608501511660808401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561247a5761247a612442565b60405290565b60405161012081016001600160401b038111828210171561247a5761247a612442565b60405160e081016001600160401b038111828210171561247a5761247a612442565b60405160a081016001600160401b038111828210171561247a5761247a612442565b604051608081016001600160401b038111828210171561247a5761247a612442565b60405160c081016001600160401b038111828210171561247a5761247a612442565b60405161016081016001600160401b038111828210171561247a5761247a612442565b60405161022081016001600160401b038111828210171561247a5761247a612442565b604051601f8201601f191681016001600160401b038111828210171561259957612599612442565b604052919050565b60006001600160401b038211156125ba576125ba612442565b50601f01601f191660200190565b600080604083850312156125db57600080fd5b82356125e6816120d9565b915060208301356001600160401b0381111561260157600080fd5b8301601f8101851361261257600080fd5b8035612625612620826125a1565b612571565b81815286602083850101111561263a57600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020828403121561266c57600080fd5b5035919050565b602081526001600160601b038251166020820152600060208301516126a5604084018280518252602090810151910152565b50604083015160e060808401526126c061010084018261227e565b9050606084015164ffffffffff80821660a08601528060808701511660c08601528060a08701511660e086015250508091505092915050565b81516001600160601b031681526101c08101602083015161272560208401826001600160401b03169052565b50604083015161274060408401826001600160601b03169052565b506060830151612754606084018215159052565b506080830151612768608084018215159052565b5060a083015161277c60a084018215159052565b5060c083015160c083015260e083015160e0830152610100808401516127ae8285018280518252602090810151910152565b50506101208301516101406127cf8185018380518252602090810151910152565b840151805161018085015260208101516101a08501529050610be6565b61ffff811681146120ee57600080fd5b6000806040838503121561280f57600080fd5b823561281a816120d9565b9150602083013561221c816127ec565b602081526001600160601b03825116602082015260006020830151604080840152612858606084018261227e565b949350505050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301516128a5608084018260ff169052565b50608083015160e060a08401526128c061010084018261227e565b905060a0840151601f198483030160c08501526128dd828261227e565b91505060c08401516128f860e085018264ffffffffff169052565b509392505050565b6020815261291a6020820183516001600160601b03169052565b6000602083015161293660408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b0319811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c08301516001600160601b03811660e08401525060e08301516101006129bc8185018364ffffffffff169052565b8085015191505061022061012081818601526129dc61024086018461227e565b9250808601519050610140601f1986850301818701526129fc848361227e565b935080870151915050610160612a178187018361ffff169052565b8601519050610180612a2e8682018361ffff169052565b86015190506101a0612a4a868201836001600160601b03169052565b86015190506101c0612a66868201836001600160601b03169052565b86015190506101e0612a808682018364ffffffffff169052565b8601519050610200612a9a8682018364ffffffffff169052565b9095015164ffffffffff1693019290925250919050565b6001600160a01b03811681146120ee57600080fd5b600060208284031215612ad857600080fd5b813561072581612ab1565b6020815260008251610120806020850152612b0261014085018361227e565b91506020850151604085015260408501516060850152606085015160808501526080850151612b3960a086018263ffffffff169052565b5060a085015163ffffffff811660c08601525060c085015180151560e08601525060e0850151610100612b6f8187018315159052565b860151858403601f1901838701529050612b89838261227e565b9695505050505050565b602081526000825160c06020840152612baf60e084018261227e565b90506001600160601b036020850151166040840152604084015160018060a01b0380821660608601528060608701511660808601528060808701511660a0860152505060a0840151601f198483030160c085015261233c828261227e565b8051612c18816120d9565b919050565b600060208284031215612c2f57600080fd5b8151610725816120d9565b600082601f830112612c4b57600080fd5b8151612c59612620826125a1565b818152846020838601011115612c6e57600080fd5b61285882602083016020870161225a565b600060208284031215612c9157600080fd5b81516001600160401b03811115612ca757600080fd5b61285884828501612c3a565b600060408284031215612cc557600080fd5b612ccd612458565b9050815181526020820151602082015292915050565b60006102008284031215612cf657600080fd5b612cfe612480565b612d0783612c0d565b8152612d1560208401612c0d565b6020820152612d278460408501612cb3565b6040820152612d398460808501612cb3565b6060820152612d4b8460c08501612cb3565b6080820152610100612d5f85828601612cb3565b60a0830152612d72856101408601612cb3565b60c0830152612d85856101808601612cb3565b60e0830152612d98856101c08601612cb3565b908201529392505050565b600060208284031215612db557600080fd5b5051919050565b63ffffffff811681146120ee57600080fd5b8051612c1881612dbc565b64ffffffffff811681146120ee57600080fd5b8051612c1881612dd9565b600060208284031215612e0957600080fd5b81516001600160401b0380821115612e2057600080fd5b9083019060e08286031215612e3457600080fd5b612e3c6124a3565b612e4583612c0d565b8152602083015182811115612e5957600080fd5b612e6587828601612c3a565b60208301525060408301516040820152612e8160608401612dce565b6060820152612e9260808401612dce565b6080820152612ea360a08401612dec565b60a082015260c083015182811115612eba57600080fd5b612ec687828601612c3a565b60c08301525095945050505050565b8051612c1881612227565b80518015158114612c1857600080fd5b600060208284031215612f0257600080fd5b81516001600160401b0380821115612f1957600080fd5b9083019060a08286031215612f2d57600080fd5b612f356124c5565b8251612f4081612227565b8152612f4e60208401612ee0565b6020820152604083015182811115612f6557600080fd5b612f7187828601612c3a565b60408301525060608301519150612f87826120d9565b81606082015260808301519250612f9d83612dbc565b6080810192909252509392505050565b8051612c18816127ec565b600060208284031215612fca57600080fd5b81516001600160401b0380821115612fe157600080fd5b9083019060808286031215612ff557600080fd5b612ffd6124e7565b8251613008816127ec565b81526020830151613018816120d9565b602082015260408301518281111561302f57600080fd5b61303b87828601612c3a565b6040830152506060830151925061305183612dd9565b6060810192909252509392505050565b6001600160601b0383168152604060208201526000612858604083018461227e565b60006020828403121561309557600080fd5b815161072581612227565b6000602082840312156130b257600080fd5b81516001600160401b03808211156130c957600080fd5b9083019060e082860312156130dd57600080fd5b6130e5612509565b82516130f0816120d9565b81526130ff8660208501612cb3565b602082015260608301518281111561311657600080fd5b61312287828601612c3a565b6040830152506080830151915061313882612dd9565b81606082015261314a60a08401612dec565b608082015261315b60c08401612dec565b60a082015295945050505050565b80516001600160401b0381168114612c1857600080fd5b60006101c0828403121561319357600080fd5b61319b61252b565b6131a483612c0d565b81526131b260208401613169565b60208201526131c360408401612c0d565b60408201526131d460608401612ee0565b60608201526131e560808401612ee0565b60808201526131f660a08401612ee0565b60a082015260c083015160c082015260e083015160e082015261010061321e85828601612cb3565b9082015261014061323185858301612cb3565b610120830152612d98856101808601612cb3565b60ff811681146120ee57600080fd5b8051612c1881613245565b60006020828403121561327157600080fd5b815161072581613245565b60006020828403121561328e57600080fd5b61072582612ee0565b6000602082840312156132a957600080fd5b815161072581612dd9565b6000602082840312156132c657600080fd5b81516001600160401b03808211156132dd57600080fd5b90830190604082860312156132f157600080fd5b6132f9612458565b8251613304816120d9565b815260208301518281111561331857600080fd5b61332487828601612c3a565b60208301525095945050505050565b8051612c1881612ab1565b60006020828403121561335057600080fd5b81516001600160401b038082111561336757600080fd5b9083019060c0828603121561337b57600080fd5b613383612509565b82518281111561339257600080fd5b61339e87828601612c3a565b8252506133ad60208401612c0d565b60208201526133be60408401613333565b60408201526133cf60608401613333565b60608201526133e060808401613333565b608082015260a0830151828111156133f757600080fd5b61340387828601612c3a565b60a08301525095945050505050565b60006080828403121561342457600080fd5b61342c6124e7565b825161343781613245565b8152602083015161344781613245565b6020820152604083015161345a81612dbc565b6040820152606083015161346d81612dbc565b60608201529392505050565b60006020828403121561348b57600080fd5b81516001600160401b03808211156134a257600080fd5b9083019060e082860312156134b657600080fd5b6134be6124a3565b6134c783612c0d565b81526134d560208401612c0d565b60208201526134e660408401613254565b60408201526134f760608401613254565b606082015260808301518281111561350e57600080fd5b61351a87828601612c3a565b60808301525060a08301518281111561353257600080fd5b61353e87828601612c3a565b60a08301525061355060c08401612dec565b60c082015295945050505050565b60006020828403121561357057600080fd5b81516001600160401b038082111561358757600080fd5b90830190610220828603121561359c57600080fd5b6135a461254e565b6135ad83612c0d565b81526135bb60208401612c0d565b60208201526135cc60408401612ed5565b60408201526135dd60608401612ed5565b60608201526135ee60808401612c0d565b60808201526135ff60a08401612c0d565b60a082015261361060c08401612c0d565b60c082015261362160e08401612dec565b60e0820152610100808401518381111561363a57600080fd5b61364688828701612c3a565b828401525050610120808401518381111561366057600080fd5b61366c88828701612c3a565b8284015250506101409150613682828401612fad565b828201526101609150613696828401612fad565b8282015261018091506136aa828401612c0d565b828201526101a091506136be828401612c0d565b828201526101c091506136d2828401612dec565b828201526101e091506136e6828401612dec565b8282015261020091506136fa828401612dec565b91810191909152949350505050565b60006020828403121561371b57600080fd5b815161072581612ab1565b60006020828403121561373857600080fd5b81516001600160401b038082111561374f57600080fd5b90830190610120828603121561376457600080fd5b61376c612480565b82518281111561377b57600080fd5b61378787828601612c3a565b8252506020830151602082015260408301516040820152606083015160608201526137b460808401612dce565b60808201526137c560a08401612dce565b60a08201526137d660c08401612ee0565b60c08201526137e760e08401612ee0565b60e0820152610100808401518381111561380057600080fd5b61380c88828701612c3a565b91830191909152509594505050505056fea26469706673582212207aa4193b549e3824d7b75ffbed8543066757962cb73192c11439d91168c3e5ed64736f6c63430008140033",
1272
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102065760003560e01c80637bfd32171161011a578063b82d7ef5116100ad578063d4cda0d81161007c578063d4cda0d814610595578063dd26287a146105a6578063de7b5d14146105b9578063f0ea17c3146105cf578063f7f318d3146105ef57600080fd5b8063b82d7ef514610516578063bd7d9d8514610540578063c4d66de814610560578063d06458c61461057557600080fd5b80639096a1f3116100e95780639096a1f31461045b578063a310e2a31461046e578063a5961b4c14610499578063a7ef3d21146104f657600080fd5b80637bfd3217146104025780637e54602a14610415578063887b1fa9146104285780638eb9000d1461044857600080fd5b80633f093cd61161019d57806357f80bbf1161016c57806357f80bbf146103745780635da894021461039457806364eb3a9b146103b957806375d357df146103cc57806378ae9350146103ef57600080fd5b80633f093cd61461030257806344aa68361461032e5780634793b4ab146103415780634fb784f51461036157600080fd5b8063228e42ec116101d9578063228e42ec1461029c57806327b1d792146102af57806335898f5d146102cf57806339bb60cd146102e257600080fd5b80630232ca491461020b5780630b5d931c1461023b5780631488c8451461025b5780631d3be4771461027c575b600080fd5b61021e6102193660046120f1565b610602565b6040516001600160601b0390911681526020015b60405180910390f35b61024e6102493660046120f1565b61067f565b604051610232919061210e565b61026e6102693660046121f1565b610732565b604051908152602001610232565b61028f61028a36600461223d565b6107b1565b60405161023291906122aa565b61021e6102aa3660046120f1565b6108fd565b6102c26102bd3660046120f1565b610937565b6040516102329190612345565b61026e6102dd3660046120f1565b610a01565b6102f56102f03660046123b2565b610a9b565b60405161023291906123e8565b6103156103103660046125c8565b610bed565b6040516001600160c01b03199091168152602001610232565b61026e61033c36600461265a565b610c6a565b61035461034f3660046120f1565b610ca5565b6040516102329190612673565b61026e61036f3660046120f1565b610d4b565b6103876103823660046120f1565b610d78565b60405161023291906126f9565b6103a76103a23660046123b2565b610e1e565b60405160ff9091168152602001610232565b61026e6103c73660046120f1565b610f1b565b6103df6103da3660046120f1565b610f48565b6040519015158152602001610232565b6103a76103fd3660046127fc565b6111d7565b61026e6104103660046120f1565b611237565b61026e6104233660046120f1565b611264565b61043b61043636600461223d565b611291565b604051610232919061282a565b61021e6104563660046120f1565b6113ba565b6103a76104693660046120f1565b6113f4565b61048161047c3660046120f1565b611470565b6040516001600160a01b039091168152602001610232565b6104ac6104a736600461265a565b61151e565b6040516102329190600060808201905060ff835116825260ff6020840151166020830152604083015163ffffffff8082166040850152806060860151166060850152505092915050565b6105096105043660046127fc565b6115ab565b6040516102329190612860565b61052961052436600461223d565b611700565b6040805192835260ff909116602083015201610232565b61055361054e3660046120f1565b6119a8565b6040516102329190612900565b61057361056e366004612ac6565b611ace565b005b61058861058336600461223d565b611be7565b6040516102329190612ae3565b6001546001600160a01b0316610481565b61026e6105b43660046120f1565b611d5a565b60005461010090046001600160a01b0316610481565b6105e26105dd3660046120f1565b611d87565b6040516102329190612b93565b61026e6105fd3660046120f1565b611e55565b600154604051630232ca4960e01b81526001600160601b03831660048201526000916001600160a01b031690630232ca49906024015b602060405180830381865afa158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190612c1d565b92915050565b610687611f09565b6001546000906001600160a01b03166354f6127f6106a485611237565b6040518263ffffffff1660e01b81526004016106c291815260200190565b600060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107079190810190612c7f565b80519091501561072c57808060200190518101906107259190612ce3565b9392505050565b50919050565b604051631488c84560e01b815260048101839052600082810b60248301529073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c84590604401602060405180830381865af415801561078d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107259190612da3565b6040805160e08101825260008082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526001546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$05887d5853069c88bcd4c0a2107db45f29$__906355ee627590602401602060405180830381865af4158015610858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087c9190612da3565b6040518263ffffffff1660e01b815260040161089a91815260200190565b600060405180830381865afa1580156108b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108df9190810190612c7f565b80519091501561072c57808060200190518101906107259190612df7565b6001546040516308a390bb60e21b81526001600160601b03831660048201526000916001600160a01b03169063228e42ec90602401610638565b6040805160a081018252600080825260208201819052606092820183905291810182905260808101919091526001546000906001600160a01b03166354f6127f61098085611264565b6040518263ffffffff1660e01b815260040161099e91815260200190565b600060405180830381865afa1580156109bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109e39190810190612c7f565b80519091501561072c57808060200190518101906107259190612ef0565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660785b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af4158015610a77573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190612da3565b60408051608081018252600080825260208201819052606092820183905291810191909152600154604051635927341160e01b815262ffffff841660048201526001600160601b03851660248201526000916001600160a01b0316906354f6127f9073__$0f9396e6447a4be57af83e53f51d234633$__90635927341190604401602060405180830381865af4158015610b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5d9190612da3565b6040518263ffffffff1660e01b8152600401610b7b91815260200190565b600060405180830381865afa158015610b98573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bc09190810190612c7f565b805190915015610be65780806020019051810190610bde9190612fb8565b915050610679565b5092915050565b604051631f849e6b60e11b815260009073__$05887d5853069c88bcd4c0a2107db45f29$__90633f093cd690610c299086908690600401613061565b602060405180830381865af4158015610c46573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107259190613083565b604051632255341b60e11b81526004810182905260009073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401610a5a565b610cad612023565b6001546000906001600160a01b03166354f6127f610cca85611e55565b6040518263ffffffff1660e01b8152600401610ce891815260200190565b600060405180830381865afa158015610d05573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d2d9190810190612c7f565b80519091501561072c578080602001905181019061072591906130a0565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166064610a2a565b610d8061207e565b6001546000906001600160a01b03166354f6127f610d9d85611d5a565b6040518263ffffffff1660e01b8152600401610dbb91815260200190565b600060405180830381865afa158015610dd8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e009190810190612c7f565b80519091501561072c57808060200190518101906107259190613180565b600154604051635927341160e01b815262ffffff831660048201526001600160601b03841660248201526000916001600160a01b0316906309648a9d9073__$0f9396e6447a4be57af83e53f51d234633$__906359273411906044015b602060405180830381865af4158015610e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebc9190612da3565b6040518263ffffffff1660e01b8152600401610eda91815260200190565b602060405180830381865afa158015610ef7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610725919061325f565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660d3610a2a565b600080610f54836119a8565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd6919061327c565b15610fe45750600092915050565b6101c081015160405163790a38ad60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015611041573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611065919061327c565b156110735750600092915050565b610200810151604051638d38cd4b60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af41580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f4919061327c565b156111025750600092915050565b61016081015161ffff161561111a5750600092915050565b61112d8161018001518260800151611e82565b1561113b5750600192915050565b6111c073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ab9190613297565b826101e0015164ffffffffff90811691161090565b156111ce5750600092915050565b50600192915050565b600154604051637d56159160e11b815261ffff831660048201526001600160601b03841660248201526000916001600160a01b0316906309648a9d9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401610e7b565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416606e610a2a565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416607a610a2a565b6040805180820190915260008152606060208201526001546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590602401602060405180830381865af4158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113399190612da3565b6040518263ffffffff1660e01b815260040161135791815260200190565b600060405180830381865afa158015611374573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261139c9190810190612c7f565b80519091501561072c578080602001905181019061072591906132b4565b600154604051638eb9000d60e01b81526001600160601b03831660048201526000916001600160a01b031690638eb9000d90602401610638565b6001546000906001600160a01b03166309648a9d61141184610f1b565b6040518263ffffffff1660e01b815260040161142f91815260200190565b602060405180830381865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610679919061325f565b60015460009081906001600160a01b03166354f6127f61148f85610d4b565b6040518263ffffffff1660e01b81526004016114ad91815260200190565b600060405180830381865afa1580156114ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114f29190810190612c7f565b80519091501561072c57600081806020019051810190611512919061333e565b60600151949350505050565b604080516080810182526000808252602082018190528183018190526060820152600154915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c90602401608060405180830381865afa158015611587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613412565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082015260c0810191909152600154604051637d56159160e11b815261ffff841660048201526001600160601b03851660248201526000916001600160a01b0316906354f6127f9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401602060405180830381865af415801561165b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167f9190612da3565b6040518263ffffffff1660e01b815260040161169d91815260200190565b600060405180830381865afa1580156116ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116e29190810190612c7f565b805190915015610be65780806020019051810190610bde9190613479565b600080600061170e846107b1565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af415801561176d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611791919061327c565b156118105773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156117df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118039190612da3565b60645b9250925050915091565b6118948160a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611861573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118859190613297565b64ffffffffff90811691161090565b1561190d5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190612da3565b606e611806565b806060015163ffffffff16816080015163ffffffff161061199c5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119959190612da3565b6078611806565b6040810151600a611806565b604080516102208101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018190526101208201526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e081018290526102008101919091526001546000906001600160a01b03166354f6127f611a4d85610f1b565b6040518263ffffffff1660e01b8152600401611a6b91815260200190565b600060405180830381865afa158015611a88573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ab09190810190612c7f565b80519091501561072c5780806020019051810190610725919061355e565b60005460ff1615611af25760405163ae9eff1b60e01b815260040160405180910390fd5b6001600160a01b038116611b1957604051630cc51a5560e21b815260040160405180910390fd5b80600060016101000a8154816001600160a01b0302191690836001600160a01b03160217905550600060019054906101000a90046001600160a01b03166001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb79190613709565b600180546001600160a01b0319166001600160a01b03929092169190911781556000805460ff1916909117905550565b611c4660405180610120016040528060608152602001600081526020016000815260200160008152602001600063ffffffff168152602001600063ffffffff168152602001600015158152602001600015158152602001606081525090565b6001546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$1919c6d2c69d787ccb2653a371d7e5737d$__906355ee627590602401602060405180830381865af4158015611cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd99190612da3565b6040518263ffffffff1660e01b8152600401611cf791815260200190565b600060405180830381865afa158015611d14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d3c9190810190612c7f565b80519091501561072c57808060200190518101906107259190613726565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416608c610a2a565b6040805160c08101825260608082526000602083018190529282018390528082018390526080820183905260a08201526001549091906001600160a01b03166354f6127f611dd485610d4b565b6040518263ffffffff1660e01b8152600401611df291815260200190565b600060405180830381865afa158015611e0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e379190810190612c7f565b80519091501561072c5780806020019051810190610725919061333e565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660dc610a2a565b60405163c4cade9d60e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063c4cade9d90604401602060405180830381865af4158015611ee5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610725919061327c565b60405180610120016040528060006001600160601b0316815260200160006001600160601b03168152602001611f52604051806040016040528060008152602001600081525090565b8152602001611f74604051806040016040528060008152602001600081525090565b8152602001611f96604051806040016040528060008152602001600081525090565b8152602001611fb8604051806040016040528060008152602001600081525090565b8152602001611fda604051806040016040528060008152602001600081525090565b8152602001611ffc604051806040016040528060008152602001600081525090565b815260200161201e604051806040016040528060008152602001600081525090565b905290565b6040518060c0016040528060006001600160601b0316815260200161205b604051806040016040528060008152602001600081525090565b815260606020820181905260006040830181905290820181905260809091015290565b604080516101608101825260008082526020808301829052828401829052606083018290526080830182905260a0830182905260c0830182905260e08301829052835180850190945281845283015290610100820190611fda565b6001600160601b03811681146120ee57600080fd5b50565b60006020828403121561210357600080fd5b8135610725816120d9565b81516001600160601b0316815260208083015161020083019161213b908401826001600160601b03169052565b506040830151612158604084018280518252602090810151910152565b50606083015180516080840152602081015160a0840152506080830151805160c0840152602081015160e08401525060a08301516101006121a58185018380518252602090810151910152565b60c0850151805161014086015260209081015161016086015260e086015180516101808701528101516101a08601529085015180516101c0860152908101516101e08501529050610be6565b6000806040838503121561220457600080fd5b8235915060208301358060000b811461221c57600080fd5b809150509250929050565b6001600160c01b0319811681146120ee57600080fd5b60006020828403121561224f57600080fd5b813561072581612227565b60005b8381101561227557818101518382015260200161225d565b50506000910152565b6000815180845261229681602086016020860161225a565b601f01601f19169290920160200192915050565b602081526001600160601b0382511660208201526000602083015160e060408401526122da61010084018261227e565b90506040840151606084015263ffffffff6060850151166080840152608084015161230d60a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e085015261233c828261227e565b95945050505050565b602081526001600160401b0360c01b82511660208201526020820151151560408201526000604083015160a0606084015261238360c084018261227e565b90506001600160601b03606085015116608084015263ffffffff60808501511660a08401528091505092915050565b600080604083850312156123c557600080fd5b82356123d0816120d9565b9150602083013562ffffff8116811461221c57600080fd5b6020815261ffff82511660208201526001600160601b036020830151166040820152600060408301516080606084015261242560a084018261227e565b905064ffffffffff60608501511660808401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561247a5761247a612442565b60405290565b60405161012081016001600160401b038111828210171561247a5761247a612442565b60405160e081016001600160401b038111828210171561247a5761247a612442565b60405160a081016001600160401b038111828210171561247a5761247a612442565b604051608081016001600160401b038111828210171561247a5761247a612442565b60405160c081016001600160401b038111828210171561247a5761247a612442565b60405161016081016001600160401b038111828210171561247a5761247a612442565b60405161022081016001600160401b038111828210171561247a5761247a612442565b604051601f8201601f191681016001600160401b038111828210171561259957612599612442565b604052919050565b60006001600160401b038211156125ba576125ba612442565b50601f01601f191660200190565b600080604083850312156125db57600080fd5b82356125e6816120d9565b915060208301356001600160401b0381111561260157600080fd5b8301601f8101851361261257600080fd5b8035612625612620826125a1565b612571565b81815286602083850101111561263a57600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020828403121561266c57600080fd5b5035919050565b602081526001600160601b038251166020820152600060208301516126a5604084018280518252602090810151910152565b50604083015160e060808401526126c061010084018261227e565b9050606084015164ffffffffff80821660a08601528060808701511660c08601528060a08701511660e086015250508091505092915050565b81516001600160601b031681526101c08101602083015161272560208401826001600160401b03169052565b50604083015161274060408401826001600160601b03169052565b506060830151612754606084018215159052565b506080830151612768608084018215159052565b5060a083015161277c60a084018215159052565b5060c083015160c083015260e083015160e0830152610100808401516127ae8285018280518252602090810151910152565b50506101208301516101406127cf8185018380518252602090810151910152565b840151805161018085015260208101516101a08501529050610be6565b61ffff811681146120ee57600080fd5b6000806040838503121561280f57600080fd5b823561281a816120d9565b9150602083013561221c816127ec565b602081526001600160601b03825116602082015260006020830151604080840152612858606084018261227e565b949350505050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301516128a5608084018260ff169052565b50608083015160e060a08401526128c061010084018261227e565b905060a0840151601f198483030160c08501526128dd828261227e565b91505060c08401516128f860e085018264ffffffffff169052565b509392505050565b6020815261291a6020820183516001600160601b03169052565b6000602083015161293660408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b0319811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c08301516001600160601b03811660e08401525060e08301516101006129bc8185018364ffffffffff169052565b8085015191505061022061012081818601526129dc61024086018461227e565b9250808601519050610140601f1986850301818701526129fc848361227e565b935080870151915050610160612a178187018361ffff169052565b8601519050610180612a2e8682018361ffff169052565b86015190506101a0612a4a868201836001600160601b03169052565b86015190506101c0612a66868201836001600160601b03169052565b86015190506101e0612a808682018364ffffffffff169052565b8601519050610200612a9a8682018364ffffffffff169052565b9095015164ffffffffff1693019290925250919050565b6001600160a01b03811681146120ee57600080fd5b600060208284031215612ad857600080fd5b813561072581612ab1565b6020815260008251610120806020850152612b0261014085018361227e565b91506020850151604085015260408501516060850152606085015160808501526080850151612b3960a086018263ffffffff169052565b5060a085015163ffffffff811660c08601525060c085015180151560e08601525060e0850151610100612b6f8187018315159052565b860151858403601f1901838701529050612b89838261227e565b9695505050505050565b602081526000825160c06020840152612baf60e084018261227e565b90506001600160601b036020850151166040840152604084015160018060a01b0380821660608601528060608701511660808601528060808701511660a0860152505060a0840151601f198483030160c085015261233c828261227e565b8051612c18816120d9565b919050565b600060208284031215612c2f57600080fd5b8151610725816120d9565b600082601f830112612c4b57600080fd5b8151612c59612620826125a1565b818152846020838601011115612c6e57600080fd5b61285882602083016020870161225a565b600060208284031215612c9157600080fd5b81516001600160401b03811115612ca757600080fd5b61285884828501612c3a565b600060408284031215612cc557600080fd5b612ccd612458565b9050815181526020820151602082015292915050565b60006102008284031215612cf657600080fd5b612cfe612480565b612d0783612c0d565b8152612d1560208401612c0d565b6020820152612d278460408501612cb3565b6040820152612d398460808501612cb3565b6060820152612d4b8460c08501612cb3565b6080820152610100612d5f85828601612cb3565b60a0830152612d72856101408601612cb3565b60c0830152612d85856101808601612cb3565b60e0830152612d98856101c08601612cb3565b908201529392505050565b600060208284031215612db557600080fd5b5051919050565b63ffffffff811681146120ee57600080fd5b8051612c1881612dbc565b64ffffffffff811681146120ee57600080fd5b8051612c1881612dd9565b600060208284031215612e0957600080fd5b81516001600160401b0380821115612e2057600080fd5b9083019060e08286031215612e3457600080fd5b612e3c6124a3565b612e4583612c0d565b8152602083015182811115612e5957600080fd5b612e6587828601612c3a565b60208301525060408301516040820152612e8160608401612dce565b6060820152612e9260808401612dce565b6080820152612ea360a08401612dec565b60a082015260c083015182811115612eba57600080fd5b612ec687828601612c3a565b60c08301525095945050505050565b8051612c1881612227565b80518015158114612c1857600080fd5b600060208284031215612f0257600080fd5b81516001600160401b0380821115612f1957600080fd5b9083019060a08286031215612f2d57600080fd5b612f356124c5565b8251612f4081612227565b8152612f4e60208401612ee0565b6020820152604083015182811115612f6557600080fd5b612f7187828601612c3a565b60408301525060608301519150612f87826120d9565b81606082015260808301519250612f9d83612dbc565b6080810192909252509392505050565b8051612c18816127ec565b600060208284031215612fca57600080fd5b81516001600160401b0380821115612fe157600080fd5b9083019060808286031215612ff557600080fd5b612ffd6124e7565b8251613008816127ec565b81526020830151613018816120d9565b602082015260408301518281111561302f57600080fd5b61303b87828601612c3a565b6040830152506060830151925061305183612dd9565b6060810192909252509392505050565b6001600160601b0383168152604060208201526000612858604083018461227e565b60006020828403121561309557600080fd5b815161072581612227565b6000602082840312156130b257600080fd5b81516001600160401b03808211156130c957600080fd5b9083019060e082860312156130dd57600080fd5b6130e5612509565b82516130f0816120d9565b81526130ff8660208501612cb3565b602082015260608301518281111561311657600080fd5b61312287828601612c3a565b6040830152506080830151915061313882612dd9565b81606082015261314a60a08401612dec565b608082015261315b60c08401612dec565b60a082015295945050505050565b80516001600160401b0381168114612c1857600080fd5b60006101c0828403121561319357600080fd5b61319b61252b565b6131a483612c0d565b81526131b260208401613169565b60208201526131c360408401612c0d565b60408201526131d460608401612ee0565b60608201526131e560808401612ee0565b60808201526131f660a08401612ee0565b60a082015260c083015160c082015260e083015160e082015261010061321e85828601612cb3565b9082015261014061323185858301612cb3565b610120830152612d98856101808601612cb3565b60ff811681146120ee57600080fd5b8051612c1881613245565b60006020828403121561327157600080fd5b815161072581613245565b60006020828403121561328e57600080fd5b61072582612ee0565b6000602082840312156132a957600080fd5b815161072581612dd9565b6000602082840312156132c657600080fd5b81516001600160401b03808211156132dd57600080fd5b90830190604082860312156132f157600080fd5b6132f9612458565b8251613304816120d9565b815260208301518281111561331857600080fd5b61332487828601612c3a565b60208301525095945050505050565b8051612c1881612ab1565b60006020828403121561335057600080fd5b81516001600160401b038082111561336757600080fd5b9083019060c0828603121561337b57600080fd5b613383612509565b82518281111561339257600080fd5b61339e87828601612c3a565b8252506133ad60208401612c0d565b60208201526133be60408401613333565b60408201526133cf60608401613333565b60608201526133e060808401613333565b608082015260a0830151828111156133f757600080fd5b61340387828601612c3a565b60a08301525095945050505050565b60006080828403121561342457600080fd5b61342c6124e7565b825161343781613245565b8152602083015161344781613245565b6020820152604083015161345a81612dbc565b6040820152606083015161346d81612dbc565b60608201529392505050565b60006020828403121561348b57600080fd5b81516001600160401b03808211156134a257600080fd5b9083019060e082860312156134b657600080fd5b6134be6124a3565b6134c783612c0d565b81526134d560208401612c0d565b60208201526134e660408401613254565b60408201526134f760608401613254565b606082015260808301518281111561350e57600080fd5b61351a87828601612c3a565b60808301525060a08301518281111561353257600080fd5b61353e87828601612c3a565b60a08301525061355060c08401612dec565b60c082015295945050505050565b60006020828403121561357057600080fd5b81516001600160401b038082111561358757600080fd5b90830190610220828603121561359c57600080fd5b6135a461254e565b6135ad83612c0d565b81526135bb60208401612c0d565b60208201526135cc60408401612ed5565b60408201526135dd60608401612ed5565b60608201526135ee60808401612c0d565b60808201526135ff60a08401612c0d565b60a082015261361060c08401612c0d565b60c082015261362160e08401612dec565b60e0820152610100808401518381111561363a57600080fd5b61364688828701612c3a565b828401525050610120808401518381111561366057600080fd5b61366c88828701612c3a565b8284015250506101409150613682828401612fad565b828201526101609150613696828401612fad565b8282015261018091506136aa828401612c0d565b828201526101a091506136be828401612c0d565b828201526101c091506136d2828401612dec565b828201526101e091506136e6828401612dec565b8282015261020091506136fa828401612dec565b91810191909152949350505050565b60006020828403121561371b57600080fd5b815161072581612ab1565b60006020828403121561373857600080fd5b81516001600160401b038082111561374f57600080fd5b90830190610120828603121561376457600080fd5b61376c612480565b82518281111561377b57600080fd5b61378787828601612c3a565b8252506020830151602082015260408301516040820152606083015160608201526137b460808401612dce565b60808201526137c560a08401612dce565b60a08201526137d660c08401612ee0565b60c08201526137e760e08401612ee0565b60e0820152610100808401518381111561380057600080fd5b61380c88828701612c3a565b91830191909152509594505050505056fea26469706673582212207aa4193b549e3824d7b75ffbed8543066757962cb73192c11439d91168c3e5ed64736f6c63430008140033",
1724
+ "bytecode": "0x60806040525f805460ff191690553480156017575f80fd5b506149b5806100255f395ff3fe608060405234801561000f575f80fd5b50600436106102ff575f3560e01c80637d8f1e8111610195578063cd55e51b116100e4578063e98413ff1161009e578063f7f318d311610079578063f7f318d314610834578063fad77c3b14610847578063fd8024921461085a578063febe92af1461087a575f80fd5b8063e98413ff146107d8578063f0ea17c314610801578063f3ed991914610821575f80fd5b8063cd55e51b1461074c578063d06458c61461075f578063d4cda0d81461077f578063dd26287a14610790578063de7b5d14146107a3578063e444c3df146107b8575f80fd5b806394b9929b1161014f578063a7ef3d211161012a578063a7ef3d21146106cf578063b82d7ef5146106ef578063ba579bdc14610719578063bd7d9d851461072c575f80fd5b806394b9929b1461064d578063a310e2a314610660578063a5961b4c14610673575f80fd5b80637d8f1e81146105d95780637e54602a146105ec5780638129fc1c146105ff578063887b1fa9146106075780638eb9000d146106275780639096a1f31461063a575f80fd5b80633b046f091161025157806357f80bbf1161020b5780636791f7ab116101e65780636791f7ab1461058b5780636ebed908146105a057806378ae9350146105b35780637bfd3217146105c6575f80fd5b806357f80bbf1461054557806364eb3a9b1461056557806364fc314214610578575f80fd5b80633b046f09146104825780633f093cd6146104a857806344aa6836146104d45780634793b4ab146104e75780634d21a63d146105075780634fb784f514610532575f80fd5b80631d3be477116102bc57806327b1d7921161029757806327b1d792146104295780632c0cd0601461044957806334bd5be31461045c57806335898f5d1461046f575f80fd5b80631d3be477146103d3578063228e42ec146103f357806326decd4014610406575f80fd5b80630232ca491461030357806309648a9d1461033357806309c5844f146103585780630b5d931c1461036b57806310bf267b1461038b5780631488c845146103b2575b5f80fd5b610316610311366004612b4e565b61089a565b6040516001600160601b0390911681526020015b60405180910390f35b610346610341366004612b69565b610914565b60405160ff909116815260200161032a565b610346610366366004612b4e565b610989565b61037e610379366004612b4e565b610a02565b60405161032a9190612bc3565b61039e610399366004612d1d565b610b7e565b60405162ffffff909116815260200161032a565b6103c56103c0366004612d54565b610b94565b60405190815260200161032a565b6103e66103e1366004612d91565b610c10565b60405161032a9190612dda565b610316610401366004612b4e565b610d54565b610419610414366004612e88565b610d8d565b604051901515815260200161032a565b61043c610437366004612b4e565b610e6b565b60405161032a9190612ea3565b610316610457366004612b4e565b610f28565b6103c561046a366004612b4e565b610f48565b6103c561047d366004612b4e565b610fdf565b610495610490366004612b4e565b61100b565b60405161ffff909116815260200161032a565b6104bb6104b63660046130c5565b611020565b6040516001600160c01b0319909116815260200161032a565b6103c56104e2366004612b69565b61109a565b6104fa6104f5366004612b4e565b6110d4565b60405161032a9190613151565b61051a610515366004612b4e565b611175565b6040516001600160a01b03909116815260200161032a565b6103c5610540366004612b4e565b61121d565b610558610553366004612b4e565b611249565b60405161032a91906131dc565b6103c5610573366004612b4e565b611322565b61041961058636600461327a565b61134e565b61059e610599366004612e88565b61143d565b005b6103166105ae3660046132a6565b611594565b6103466105c1366004612d1d565b61160e565b6103c56105d4366004612b4e565b611705565b6103466105e7366004612b4e565b611731565b6103c56105fa366004612b4e565b61174d565b61059e611779565b61061a610615366004612d91565b6117a7565b60405161032a91906132d0565b610316610635366004612b4e565b6118c8565b610346610648366004612b4e565b611901565b6103c561065b366004612b4e565b61191d565b61051a61066e366004612b4e565b61196c565b610686610681366004612b69565b611a14565b60405161032a91905f60808201905060ff835116825260ff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015292915050565b6106e26106dd366004612d1d565b611a9e565b60405161032a9190613305565b6107026106fd366004612d91565b611bfa565b6040805192835260ff90911660208301520161032a565b610419610727366004612b4e565b611e96565b61073f61073a366004612b4e565b6120e4565b60405161032a91906133a7565b61041961075a36600461327a565b6121fc565b61077261076d366004612d91565b6122b0565b60405161032a919061351f565b6001546001600160a01b031661051a565b6103c561079e366004612b4e565b612415565b5f5461010090046001600160a01b031661051a565b6107cb6107c6366004612b4e565b612441565b60405161032a91906135c0565b6107eb6107e63660046137c0565b61256a565b60405164ffffffffff909116815260200161032a565b61081461080f366004612b4e565b6125fc565b60405161032a91906137ec565b61034661082f366004613869565b6126df565b6103c5610842366004612b4e565b612741565b610495610855366004612b69565b61276d565b61086d610868366004613869565b6127f0565b60405161032a9190613895565b61088d610888366004613900565b612932565b60405161032a919061391b565b600154604051630232ca4960e01b81526001600160601b03831660048201525f916001600160a01b031690630232ca49906024015b602060405180830381865afa1580156108ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e91906139f9565b92915050565b60015460405163296586d360e21b8152600481018390525f916001600160a01b03169063a5961b4c90602401608060405180830381865afa15801561095b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097f9190613a49565b6020015192915050565b6001545f906001600160a01b03166309648a9d6109a584610f48565b6040518263ffffffff1660e01b81526004016109c391815260200190565b602060405180830381865afa1580156109de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190613ab0565b610ad8604080516101c0810182525f808252602080830182905282840182905260608084018390526080840183905260a0840183905260c08401528351808501855282815280820183905260e084015283518085018552828152808201839052610100840152835180850185528281528082018390526101208401528351808501855282815280820183905261014084015283518085018552828152808201839052610160840152835180850185528281528082018390526101808401528351808501909452818452830152906101a082015290565b6001545f906001600160a01b03166354f6127f610af485611705565b6040518263ffffffff1660e01b8152600401610b1291815260200190565b5f60405180830381865afa158015610b2c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b539190810190613b1a565b805190915015610b785780806020019051810190610b719190613c11565b9392505050565b50919050565b5f610b898383611a9e565b604001519392505050565b604051631488c84560e01b8152600481018390525f82810b60248301529073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c84590604401602060405180830381865af4158015610bec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613d6c565b6040805160e0810182525f8082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$05887d5853069c88bcd4c0a2107db45f29$__906355ee627590602401602060405180830381865af4158015610cb3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd79190613d6c565b6040518263ffffffff1660e01b8152600401610cf591815260200190565b5f60405180830381865afa158015610d0f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d369190810190613b1a565b805190915015610b785780806020019051810190610b719190613d8e565b6001546040516308a390bb60e21b81526001600160601b03831660048201525f916001600160a01b03169063228e42ec906024016108cf565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dde573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e029190613e70565b604051629b7b3560e61b81526001600160a01b03848116600483015291909116906326decd4090602401602060405180830381865afa158015610e47573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190613e8b565b604080516080810182525f808252602082018190526060928201839052918101919091526001545f906001600160a01b03166354f6127f610eab8561174d565b6040518263ffffffff1660e01b8152600401610ec991815260200190565b5f60405180830381865afa158015610ee3573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f0a9190810190613b1a565b805190915015610b785780806020019051810190610b719190613eaf565b5f80610f33836120e4565b9050610b718160800151826101600151612a80565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660165b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af4158015610fbb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190613d6c565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600e610f70565b5f611015826120e4565b610120015192915050565b604051631f849e6b60e11b81525f9073__$05887d5853069c88bcd4c0a2107db45f29$__90633f093cd69061105b9086908690600401613f54565b602060405180830381865af4158015611076573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613f75565b604051632255341b60e11b8152600481018290525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401610fa0565b6110dc612ae0565b6001545f906001600160a01b03166354f6127f6110f885612741565b6040518263ffffffff1660e01b815260040161111691815260200190565b5f60405180830381865afa158015611130573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111579190810190613b1a565b805190915015610b785780806020019051810190610b719190613f90565b6001545f9081906001600160a01b03166354f6127f6111938561121d565b6040518263ffffffff1660e01b81526004016111b191815260200190565b5f60405180830381865afa1580156111cb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111f29190810190613b1a565b805190915015610b78575f81806020019051810190611211919061405f565b60600151949350505050565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600b610f70565b60408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091526001545f906001600160a01b03166354f6127f6112a585612415565b6040518263ffffffff1660e01b81526004016112c391815260200190565b5f60405180830381865afa1580156112dd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113049190810190613b1a565b805190915015610b785780806020019051810190610b719190614135565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166015610f70565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561139f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c39190613e70565b60405163327e18a160e11b81526001600160a01b0385811660048301526001600160401b038516602483015291909116906364fc3142906044015b602060405180830381865afa158015611419573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613e8b565b5f5460ff16156114605760405163ae9eff1b60e01b815260040160405180910390fd5b5f80546001600160a01b038084166101009081026001600160a81b0319909316929092176001179283905560408051631a99b41b60e31b8152905192909304169163d4cda0d89160048083019260209291908290030181865afa1580156114c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ed9190613e70565b600180546001600160a01b0319166001600160a01b039283161790555f5460408051631b776b6960e21b8152905161010090920490921691636dddada49160048083019260209291908290030181865afa15801561154d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115719190613e70565b600280546001600160a01b0319166001600160a01b039290921691909117905550565b600254604051630dd7db2160e31b81526001600160601b0384166004820152602481018390525f916001600160a01b031690636ebed90890604401602060405180830381865afa1580156115ea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7191906139f9565b600154604051637d56159160e11b815261ffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b22906044015b602060405180830381865af4158015611684573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116a89190613d6c565b6040518263ffffffff1660e01b81526004016116c691815260200190565b602060405180830381865afa1580156116e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613ab0565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600c610f70565b6001545f906001600160a01b03166309648a9d6109a584612741565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601d610f70565b5f5460ff161561179c5760405163ae9eff1b60e01b815260040160405180910390fd5b6117a53361143d565b565b604080518082019091525f8152606060208201526001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590602401602060405180830381865af4158015611827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184b9190613d6c565b6040518263ffffffff1660e01b815260040161186991815260200190565b5f60405180830381865afa158015611883573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118aa9190810190613b1a565b805190915015610b785780806020019051810190610b7191906141cf565b600154604051638eb9000d60e01b81526001600160601b03831660048201525f916001600160a01b031690638eb9000d906024016108cf565b6001545f906001600160a01b03166309648a9d6109a584611322565b6002546040516394b9929b60e01b81526001600160601b03831660048201525f916001600160a01b0316906394b9929b90602401602060405180830381865afa158015610fbb573d5f803e3d5ffd5b6001545f9081906001600160a01b03166354f6127f61198a8561121d565b6040518263ffffffff1660e01b81526004016119a891815260200190565b5f60405180830381865afa1580156119c2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119e99190810190613b1a565b805190915015610b78575f81806020019051810190611a08919061405f565b60400151949350505050565b604080516080810182525f808252602082018190528183018190526060820152600154915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c90602401608060405180830381865afa158015611a7a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190613a49565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820181905260a082015260c0810191909152600154604051637d56159160e11b815261ffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401602060405180830381865af4158015611b4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6e9190613d6c565b6040518263ffffffff1660e01b8152600401611b8c91815260200190565b5f60405180830381865afa158015611ba6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611bcd9190810190613b1a565b805190915015611bf35780806020019051810190611beb9190614257565b91505061090e565b5092915050565b5f805f611c0684610c10565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015611c63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c879190613e8b565b15611d045773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611cd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cf79190613d6c565b60645b9250925050915091565b611d868160a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d779190614340565b64ffffffffff90811691161090565b15611dfd5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611dd2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df69190613d6c565b606e611cfa565b806060015163ffffffff16816080015163ffffffff1610611e8a5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611e5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e839190613d6c565b6078611cfa565b6040810151600a611cfa565b5f80611ea1836120e4565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015611efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f219190613e8b565b15611f2e57505f92915050565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015611f89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fad9190613e8b565b15611fba57505f92915050565b61203d816101a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561200a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061202e9190614340565b64ffffffffff90811691161190565b1561204a57505f92915050565b6120ce816101c0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561209a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120be9190614340565b64ffffffffff9081169116111590565b156120db57505f92915050565b50600192915050565b60408051610200810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820181905261010082015261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101919091526001545f906001600160a01b03166354f6127f61217f85611322565b6040518263ffffffff1660e01b815260040161219d91815260200190565b5f60405180830381865afa1580156121b7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121de9190810190613b1a565b805190915015610b785780806020019051810190610b719190614366565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561224d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122719190613e70565b60405163cd55e51b60e01b81526001600160a01b0385811660048301526001600160401b0385166024830152919091169063cd55e51b906044016113fe565b612308604051806101200160405280606081526020015f81526020015f81526020015f81526020015f63ffffffff1681526020015f63ffffffff1681526020015f151581526020015f15158152602001606081525090565b6001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$1919c6d2c69d787ccb2653a371d7e5737d$__906355ee627590602401602060405180830381865af4158015612374573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123989190613d6c565b6040518263ffffffff1660e01b81526004016123b691815260200190565b5f60405180830381865afa1580156123d0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526123f79190810190613b1a565b805190915015610b785780806020019051810190610b7191906144f9565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600f610f70565b60408051610240810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e0810182905261020081018290526102208101919091526001545f906001600160a01b03166354f6127f6124ed85610f48565b6040518263ffffffff1660e01b815260040161250b91815260200190565b5f60405180830381865afa158015612525573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261254c9190810190613b1a565b805190915015610b785780806020019051810190610b7191906145f2565b5f73__$0f9396e6447a4be57af83e53f51d234633$__6359fad7ca84612591856001614768565b6040516001600160e01b031960e085901b16815261ffff909216600483015262ffffff166024820152604401602060405180830381865af41580156125d8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190614340565b6126466040518060a00160405280606081526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001606081525090565b6001545f906001600160a01b03166354f6127f6126628561121d565b6040518263ffffffff1660e01b815260040161268091815260200190565b5f60405180830381865afa15801561269a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126c19190810190613b1a565b805190915015610b785780806020019051810190610b71919061405f565b600154604051632867b75960e21b815264ffffffffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$0f9396e6447a4be57af83e53f51d234633$__9063a19edd6490604401611669565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601f610f70565b5f73__$9e81531fe4994e01e99541f86b55500b4b$__639cc45a36612793846001614783565b6040518263ffffffff1660e01b81526004016127b191815260200190565b602060405180830381865af41580156127cc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190614796565b6040805160a0810182525f808252602082018190529181018290526060808201526080810191909152600154604051632867b75960e21b815264ffffffffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$0f9396e6447a4be57af83e53f51d234633$__9063a19edd6490604401602060405180830381865af4158015612891573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128b59190613d6c565b6040518263ffffffff1660e01b81526004016128d391815260200190565b5f60405180830381865afa1580156128ed573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129149190810190613b1a565b805190915015611bf35780806020019051810190611beb91906147b1565b60408051610100810182525f808252606060208301819052928201819052828201839052608082019290925260a0810182905260c0810182905260e0810191909152600154604051630f37f38f60e41b81526001600160401b03841660048201525f916001600160a01b0316906354f6127f9073__$b4c16f233b92c2c4124fb22a521f86c95b$__9063f37f38f090602401602060405180830381865af41580156129df573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a039190613d6c565b6040518263ffffffff1660e01b8152600401612a2191815260200190565b5f60405180830381865afa158015612a3b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612a629190810190613b1a565b805190915015610b785780806020019051810190610b71919061486b565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af41580156115ea573d5f803e3d5ffd5b6040518060c001604052805f6001600160601b03168152602001612b1560405180604001604052805f81526020015f81525090565b81526060602082018190525f6040830181905290820181905260809091015290565b6001600160601b0381168114612b4b575f80fd5b50565b5f60208284031215612b5e575f80fd5b8135610b7181612b37565b5f60208284031215612b79575f80fd5b5035919050565b5f8151808452602084019350602083015f5b82811015612bb95781516001600160601b0316865260209586019590910190600101612b92565b5093949350505050565b60208152612bd660208201835115159052565b5f6020830151612bea604084018215159052565b50604083015160ff8116606084015250606083015160ff811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c08301516102a060e0840152612c4e6102c0840182612b80565b60e085015180516101008601526020810151610120860152909150506101008401518051610140850152602081015161016085015250610120840151805161018085015260208101516101a08501525061014084015180516101c085015260208101516101e085015250610160840151805161020085015260208101516102208501525061018084015180516102408501526020810151610260850152506101a0840151805161028085015260208101516102a08501525b509392505050565b61ffff81168114612b4b575f80fd5b5f8060408385031215612d2e575f80fd5b8235612d3981612b37565b91506020830135612d4981612d0e565b809150509250929050565b5f8060408385031215612d65575f80fd5b8235915060208301355f81900b8114612d49575f80fd5b6001600160c01b031981168114612b4b575f80fd5b5f60208284031215612da1575f80fd5b8135610b7181612d7c565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201525f602083015160e06040840152612e09610100840182612dac565b90506040840151606084015263ffffffff60608501511660808401526080840151612e3c60a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e0850152612e6b8282612dac565b95945050505050565b6001600160a01b0381168114612b4b575f80fd5b5f60208284031215612e98575f80fd5b8135610b7181612e74565b602081526001600160401b0360c01b82511660208201526020820151151560408201525f604083015160806060840152612ee060a0840182612dac565b905063ffffffff60608501511660808401528091505092915050565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b0381118282101715612f3257612f32612efc565b60405290565b604080519081016001600160401b0381118282101715612f3257612f32612efc565b6040516101c081016001600160401b0381118282101715612f3257612f32612efc565b60405160e081016001600160401b0381118282101715612f3257612f32612efc565b60405160c081016001600160401b0381118282101715612f3257612f32612efc565b60405160a081016001600160401b0381118282101715612f3257612f32612efc565b60405161010081016001600160401b0381118282101715612f3257612f32612efc565b60405161020081016001600160401b0381118282101715612f3257612f32612efc565b60405161012081016001600160401b0381118282101715612f3257612f32612efc565b60405161024081016001600160401b0381118282101715612f3257612f32612efc565b604051601f8201601f191681016001600160401b038111828210171561309757613097612efc565b604052919050565b5f6001600160401b038211156130b7576130b7612efc565b50601f01601f191660200190565b5f80604083850312156130d6575f80fd5b82356130e181612b37565b915060208301356001600160401b038111156130fb575f80fd5b8301601f8101851361310b575f80fd5b803561311e6131198261309f565b61306f565b818152866020838501011115613132575f80fd5b816020840160208301375f602083830101528093505050509250929050565b602081526001600160601b0382511660208201525f6020830151613182604084018280518252602090810151910152565b50604083015160e0608084015261319d610100840182612dac565b905064ffffffffff60608501511660a084015264ffffffffff60808501511660c084015264ffffffffff60a08501511660e08401528091505092915050565b5f610100820190506001600160601b0383511682526001600160401b0360208401511660208301526040830151151560408301526060830151613223606084018215159052565b506080830151613237608084018215159052565b5060a083015161324b60a084018215159052565b5060c083015160c083015260e083015160e083015292915050565b6001600160401b0381168114612b4b575f80fd5b5f806040838503121561328b575f80fd5b823561329681612e74565b91506020830135612d4981613266565b5f80604083850312156132b7575f80fd5b82356132c281612b37565b946020939093013593505050565b602081526001600160601b0382511660208201525f60208301516040808401526132fd6060840182612dac565b949350505050565b602081526001600160601b0382511660208201526001600160601b0360208301511660408201525f6040830151613343606084018262ffffff169052565b50606083015162ffffff8116608084015250608083015160e060a084015261336f610100840182612dac565b905060a0840151601f198483030160c085015261338c8282612dac565b91505060c0840151612d0660e085018264ffffffffff169052565b602081526133c16020820183516001600160601b03169052565b5f60208301516133dc60408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b0319811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c083015164ffffffffff811660e08401525060e0830151610200610100840152613462610220840182612dac565b9050610100840151601f19848303016101208501526134818282612dac565b91505061012084015161349b61014085018261ffff169052565b5061014084015161ffff8116610160850152506101608401516001600160601b038116610180850152506101808401516001600160601b0381166101a0850152506101a084015164ffffffffff81166101c0850152506101c084015164ffffffffff81166101e0850152506101e084015164ffffffffff8116610200850152612d06565b602081525f8251610120602084015261353c610140840182612dac565b9050602084015160408401526040840151606084015260608401516080840152608084015161357360a085018263ffffffff169052565b5060a084015163ffffffff811660c08501525060c084015180151560e08501525060e084015180151561010085015250610100840151838203601f1901610120850152612e6b8282612dac565b81516001600160601b03168152610240810160208301516135ec60208401826001600160601b03169052565b50604083015161360760408401826001600160601b03169052565b50606083015161362260608401826001600160601b03169052565b50608083015161363d60808401826001600160601b03169052565b5060a083015161365860a08401826001600160601b03169052565b5060c083015161367360c08401826001600160601b03169052565b5060e083015161368e60e08401826001600160601b03169052565b506101008301516136ab6101008401826001600160601b03169052565b506101208301516136c86101208401826001600160601b03169052565b506101408301516136e56101408401826001600160601b03169052565b506101608301516137026101608401826001600160601b03169052565b5061018083015161371f6101808401826001600160601b03169052565b506101a083015161373c6101a08401826001600160601b03169052565b506101c08301516137596101c08401826001600160601b03169052565b506101e08301516137766101e08401826001600160601b03169052565b506102008301516137936102008401826001600160601b03169052565b50610220830151611bf36102208401826001600160601b03169052565b62ffffff81168114612b4b575f80fd5b5f80604083850312156137d1575f80fd5b82356137dc81612d0e565b91506020830135612d49816137b0565b602081525f825160a0602084015261380760c0840182612dac565b60208501516001600160a01b03908116604086810191909152860151811660608087019190915286015116608080860191909152850151848203601f190160a0860152909150612e6b8282612dac565b64ffffffffff81168114612b4b575f80fd5b5f806040838503121561387a575f80fd5b823561388581612b37565b91506020830135612d4981613857565b6020815261ffff82511660208201526001600160601b03602083015116604082015260018060a01b0360408301511660608201525f606083015160a060808401526138e360c0840182612dac565b905064ffffffffff60808501511660a08401528091505092915050565b5f60208284031215613910575f80fd5b8135610b7181613266565b602081526139356020820183516001600160601b03169052565b5f60208301516101006040840152613951610120840182612dac565b9050604084015161396d60608501826001600160601b03169052565b506060840151838203601f190160808501526139898282612dac565b9150506080840151601f198483030160a08501526139a78282612dac565b91505060a08401516139c260c085018264ffffffffff169052565b5060c084015164ffffffffff811660e08501525060e0840151801515610100850152612d06565b80516139f481612b37565b919050565b5f60208284031215613a09575f80fd5b8151610b7181612b37565b60ff81168114612b4b575f80fd5b80516139f481613a14565b63ffffffff81168114612b4b575f80fd5b80516139f481613a2d565b5f6080828403128015613a5a575f80fd5b50613a63612f10565b8251613a6e81613a14565b81526020830151613a7e81613a14565b60208201526040830151613a9181613a2d565b60408201526060830151613aa481613a2d565b60608201529392505050565b5f60208284031215613ac0575f80fd5b8151610b7181613a14565b5f82601f830112613ada575f80fd5b8151602083015f613aed6131198461309f565b9050828152858383011115613b00575f80fd5b8282602083015e5f92810160200192909252509392505050565b5f60208284031215613b2a575f80fd5b81516001600160401b03811115613b3f575f80fd5b6132fd84828501613acb565b805180151581146139f4575f80fd5b5f82601f830112613b69575f80fd5b81516001600160401b03811115613b8257613b82612efc565b8060051b613b926020820161306f565b91825260208185018101929081019086841115613bad575f80fd5b6020860192505b83831015613bd8578251613bc781612b37565b825260209283019290910190613bb4565b9695505050505050565b5f60408284031215613bf2575f80fd5b613bfa612f38565b825181526020928301519281019290925250919050565b5f60208284031215613c21575f80fd5b81516001600160401b03811115613c36575f80fd5b82016102a08185031215613c48575f80fd5b613c50612f5a565b613c5982613b4b565b8152613c6760208301613b4b565b6020820152613c7860408301613a22565b6040820152613c8960608301613a22565b6060820152613c9a608083016139e9565b6080820152613cab60a083016139e9565b60a082015260c08201516001600160401b03811115613cc8575f80fd5b613cd486828501613b5a565b60c083015250613ce78560e08401613be2565b60e0820152613cfa856101208401613be2565b610100820152613d0e856101608401613be2565b610120820152613d22856101a08401613be2565b610140820152613d36856101e08401613be2565b610160820152613d4a856102208401613be2565b610180820152613d5e856102608401613be2565b6101a0820152949350505050565b5f60208284031215613d7c575f80fd5b5051919050565b80516139f481613857565b5f60208284031215613d9e575f80fd5b81516001600160401b03811115613db3575f80fd5b820160e08185031215613dc4575f80fd5b613dcc612f7d565b613dd5826139e9565b815260208201516001600160401b03811115613def575f80fd5b613dfb86828501613acb565b60208301525060408281015190820152613e1760608301613a3e565b6060820152613e2860808301613a3e565b6080820152613e3960a08301613d83565b60a082015260c08201516001600160401b03811115613e56575f80fd5b613e6286828501613acb565b60c083015250949350505050565b5f60208284031215613e80575f80fd5b8151610b7181612e74565b5f60208284031215613e9b575f80fd5b610b7182613b4b565b80516139f481612d7c565b5f60208284031215613ebf575f80fd5b81516001600160401b03811115613ed4575f80fd5b820160808185031215613ee5575f80fd5b613eed612f10565b8151613ef881612d7c565b8152613f0660208301613b4b565b602082015260408201516001600160401b03811115613f23575f80fd5b613f2f86828501613acb565b60408301525060608201519150613f4582613a2d565b60608101919091529392505050565b6001600160601b0383168152604060208201525f6132fd6040830184612dac565b5f60208284031215613f85575f80fd5b8151610b7181612d7c565b5f60208284031215613fa0575f80fd5b81516001600160401b03811115613fb5575f80fd5b820160e08185031215613fc6575f80fd5b613fce612f9f565b8151613fd981612b37565b8152613fe88560208401613be2565b602082015260608201516001600160401b03811115614005575f80fd5b61401186828501613acb565b604083015250608082015161402581613857565b606082015261403660a08301613d83565b608082015261404760c08301613d83565b60a0820152949350505050565b80516139f481612e74565b5f6020828403121561406f575f80fd5b81516001600160401b03811115614084575f80fd5b820160a08185031215614095575f80fd5b61409d612fc1565b81516001600160401b038111156140b2575f80fd5b6140be86828501613acb565b82525060208201516140cf81612e74565b602082015260408201516140e281612e74565b60408201526140f360608301614054565b606082015260808201516001600160401b03811115614110575f80fd5b61411c86828501613acb565b608083015250949350505050565b80516139f481613266565b5f610100828403128015614147575f80fd5b50614150612fe3565b825161415b81612b37565b81526141696020840161412a565b602082015261417a60408401613b4b565b604082015261418b60608401613b4b565b606082015261419c60808401613b4b565b60808201526141ad60a08401613b4b565b60a082015260c0838101519082015260e0928301519281019290925250919050565b5f602082840312156141df575f80fd5b81516001600160401b038111156141f4575f80fd5b820160408185031215614205575f80fd5b61420d612f38565b815161421881612b37565b815260208201516001600160401b03811115614232575f80fd5b61423e86828501613acb565b602083015250949350505050565b80516139f4816137b0565b5f60208284031215614267575f80fd5b81516001600160401b0381111561427c575f80fd5b820160e0818503121561428d575f80fd5b614295612f7d565b61429e826139e9565b81526142ac602083016139e9565b60208201526142bd6040830161424c565b60408201526142ce6060830161424c565b606082015260808201516001600160401b038111156142eb575f80fd5b6142f786828501613acb565b60808301525060a08201516001600160401b03811115614315575f80fd5b61432186828501613acb565b60a08301525061433360c08301613d83565b60c0820152949350505050565b5f60208284031215614350575f80fd5b8151610b7181613857565b80516139f481612d0e565b5f60208284031215614376575f80fd5b81516001600160401b0381111561438b575f80fd5b8201610200818503121561439d575f80fd5b6143a5613006565b6143ae826139e9565b81526143bc602083016139e9565b60208201526143cd60408301613ea4565b60408201526143de60608301613ea4565b60608201526143ef608083016139e9565b608082015261440060a083016139e9565b60a082015261441160c08301613d83565b60c082015260e08201516001600160401b0381111561442e575f80fd5b61443a86828501613acb565b60e0830152506101008201516001600160401b03811115614459575f80fd5b61446586828501613acb565b61010083015250614479610120830161435b565b61012082015261448c610140830161435b565b61014082015261449f61016083016139e9565b6101608201526144b261018083016139e9565b6101808201526144c56101a08301613d83565b6101a08201526144d86101c08301613d83565b6101c08201526144eb6101e08301613d83565b6101e0820152949350505050565b5f60208284031215614509575f80fd5b81516001600160401b0381111561451e575f80fd5b82016101208185031215614530575f80fd5b614538613029565b81516001600160401b0381111561454d575f80fd5b61455986828501613acb565b82525060208281015190820152604080830151908201526060808301519082015261458660808301613a3e565b608082015261459760a08301613a3e565b60a08201526145a860c08301613b4b565b60c08201526145b960e08301613b4b565b60e08201526101008201516001600160401b038111156145d7575f80fd5b6145e386828501613acb565b61010083015250949350505050565b5f610240828403128015614604575f80fd5b5061460d61304c565b614616836139e9565b8152614624602084016139e9565b6020820152614635604084016139e9565b6040820152614646606084016139e9565b6060820152614657608084016139e9565b608082015261466860a084016139e9565b60a082015261467960c084016139e9565b60c082015261468a60e084016139e9565b60e082015261469c61010084016139e9565b6101008201526146af61012084016139e9565b6101208201526146c261014084016139e9565b6101408201526146d561016084016139e9565b6101608201526146e861018084016139e9565b6101808201526146fb6101a084016139e9565b6101a082015261470e6101c084016139e9565b6101c08201526147216101e084016139e9565b6101e082015261473461020084016139e9565b61020082015261474761022084016139e9565b6102208201529392505050565b634e487b7160e01b5f52601160045260245ffd5b62ffffff818116838216019081111561090e5761090e614754565b8082018082111561090e5761090e614754565b5f602082840312156147a6575f80fd5b8151610b7181612d0e565b5f602082840312156147c1575f80fd5b81516001600160401b038111156147d6575f80fd5b820160a081850312156147e7575f80fd5b6147ef612fc1565b81516147fa81612d0e565b8152602082015161480a81612b37565b6020820152604082015161481d81612e74565b604082015260608201516001600160401b0381111561483a575f80fd5b61484686828501613acb565b6060830152506080820151915061485c82613857565b60808101919091529392505050565b5f6020828403121561487b575f80fd5b81516001600160401b03811115614890575f80fd5b820161010081850312156148a2575f80fd5b6148aa612fe3565b6148b3826139e9565b815260208201516001600160401b038111156148cd575f80fd5b6148d986828501613acb565b6020830152506148eb604083016139e9565b604082015260608201516001600160401b03811115614908575f80fd5b61491486828501613acb565b60608301525060808201516001600160401b03811115614932575f80fd5b61493e86828501613acb565b60808301525061495060a08301613d83565b60a082015261496160c08301613d83565b60c082015261497260e08301613b4b565b60e082015294935050505056fea26469706673582212206eebd646d9e802173433049c59efdc639e1b730b375ff9deda78b8cf8692f56f64736f6c634300081a0033",
1725
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106102ff575f3560e01c80637d8f1e8111610195578063cd55e51b116100e4578063e98413ff1161009e578063f7f318d311610079578063f7f318d314610834578063fad77c3b14610847578063fd8024921461085a578063febe92af1461087a575f80fd5b8063e98413ff146107d8578063f0ea17c314610801578063f3ed991914610821575f80fd5b8063cd55e51b1461074c578063d06458c61461075f578063d4cda0d81461077f578063dd26287a14610790578063de7b5d14146107a3578063e444c3df146107b8575f80fd5b806394b9929b1161014f578063a7ef3d211161012a578063a7ef3d21146106cf578063b82d7ef5146106ef578063ba579bdc14610719578063bd7d9d851461072c575f80fd5b806394b9929b1461064d578063a310e2a314610660578063a5961b4c14610673575f80fd5b80637d8f1e81146105d95780637e54602a146105ec5780638129fc1c146105ff578063887b1fa9146106075780638eb9000d146106275780639096a1f31461063a575f80fd5b80633b046f091161025157806357f80bbf1161020b5780636791f7ab116101e65780636791f7ab1461058b5780636ebed908146105a057806378ae9350146105b35780637bfd3217146105c6575f80fd5b806357f80bbf1461054557806364eb3a9b1461056557806364fc314214610578575f80fd5b80633b046f09146104825780633f093cd6146104a857806344aa6836146104d45780634793b4ab146104e75780634d21a63d146105075780634fb784f514610532575f80fd5b80631d3be477116102bc57806327b1d7921161029757806327b1d792146104295780632c0cd0601461044957806334bd5be31461045c57806335898f5d1461046f575f80fd5b80631d3be477146103d3578063228e42ec146103f357806326decd4014610406575f80fd5b80630232ca491461030357806309648a9d1461033357806309c5844f146103585780630b5d931c1461036b57806310bf267b1461038b5780631488c845146103b2575b5f80fd5b610316610311366004612b4e565b61089a565b6040516001600160601b0390911681526020015b60405180910390f35b610346610341366004612b69565b610914565b60405160ff909116815260200161032a565b610346610366366004612b4e565b610989565b61037e610379366004612b4e565b610a02565b60405161032a9190612bc3565b61039e610399366004612d1d565b610b7e565b60405162ffffff909116815260200161032a565b6103c56103c0366004612d54565b610b94565b60405190815260200161032a565b6103e66103e1366004612d91565b610c10565b60405161032a9190612dda565b610316610401366004612b4e565b610d54565b610419610414366004612e88565b610d8d565b604051901515815260200161032a565b61043c610437366004612b4e565b610e6b565b60405161032a9190612ea3565b610316610457366004612b4e565b610f28565b6103c561046a366004612b4e565b610f48565b6103c561047d366004612b4e565b610fdf565b610495610490366004612b4e565b61100b565b60405161ffff909116815260200161032a565b6104bb6104b63660046130c5565b611020565b6040516001600160c01b0319909116815260200161032a565b6103c56104e2366004612b69565b61109a565b6104fa6104f5366004612b4e565b6110d4565b60405161032a9190613151565b61051a610515366004612b4e565b611175565b6040516001600160a01b03909116815260200161032a565b6103c5610540366004612b4e565b61121d565b610558610553366004612b4e565b611249565b60405161032a91906131dc565b6103c5610573366004612b4e565b611322565b61041961058636600461327a565b61134e565b61059e610599366004612e88565b61143d565b005b6103166105ae3660046132a6565b611594565b6103466105c1366004612d1d565b61160e565b6103c56105d4366004612b4e565b611705565b6103466105e7366004612b4e565b611731565b6103c56105fa366004612b4e565b61174d565b61059e611779565b61061a610615366004612d91565b6117a7565b60405161032a91906132d0565b610316610635366004612b4e565b6118c8565b610346610648366004612b4e565b611901565b6103c561065b366004612b4e565b61191d565b61051a61066e366004612b4e565b61196c565b610686610681366004612b69565b611a14565b60405161032a91905f60808201905060ff835116825260ff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015292915050565b6106e26106dd366004612d1d565b611a9e565b60405161032a9190613305565b6107026106fd366004612d91565b611bfa565b6040805192835260ff90911660208301520161032a565b610419610727366004612b4e565b611e96565b61073f61073a366004612b4e565b6120e4565b60405161032a91906133a7565b61041961075a36600461327a565b6121fc565b61077261076d366004612d91565b6122b0565b60405161032a919061351f565b6001546001600160a01b031661051a565b6103c561079e366004612b4e565b612415565b5f5461010090046001600160a01b031661051a565b6107cb6107c6366004612b4e565b612441565b60405161032a91906135c0565b6107eb6107e63660046137c0565b61256a565b60405164ffffffffff909116815260200161032a565b61081461080f366004612b4e565b6125fc565b60405161032a91906137ec565b61034661082f366004613869565b6126df565b6103c5610842366004612b4e565b612741565b610495610855366004612b69565b61276d565b61086d610868366004613869565b6127f0565b60405161032a9190613895565b61088d610888366004613900565b612932565b60405161032a919061391b565b600154604051630232ca4960e01b81526001600160601b03831660048201525f916001600160a01b031690630232ca49906024015b602060405180830381865afa1580156108ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e91906139f9565b92915050565b60015460405163296586d360e21b8152600481018390525f916001600160a01b03169063a5961b4c90602401608060405180830381865afa15801561095b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097f9190613a49565b6020015192915050565b6001545f906001600160a01b03166309648a9d6109a584610f48565b6040518263ffffffff1660e01b81526004016109c391815260200190565b602060405180830381865afa1580156109de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190613ab0565b610ad8604080516101c0810182525f808252602080830182905282840182905260608084018390526080840183905260a0840183905260c08401528351808501855282815280820183905260e084015283518085018552828152808201839052610100840152835180850185528281528082018390526101208401528351808501855282815280820183905261014084015283518085018552828152808201839052610160840152835180850185528281528082018390526101808401528351808501909452818452830152906101a082015290565b6001545f906001600160a01b03166354f6127f610af485611705565b6040518263ffffffff1660e01b8152600401610b1291815260200190565b5f60405180830381865afa158015610b2c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b539190810190613b1a565b805190915015610b785780806020019051810190610b719190613c11565b9392505050565b50919050565b5f610b898383611a9e565b604001519392505050565b604051631488c84560e01b8152600481018390525f82810b60248301529073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c84590604401602060405180830381865af4158015610bec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613d6c565b6040805160e0810182525f8082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$05887d5853069c88bcd4c0a2107db45f29$__906355ee627590602401602060405180830381865af4158015610cb3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd79190613d6c565b6040518263ffffffff1660e01b8152600401610cf591815260200190565b5f60405180830381865afa158015610d0f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d369190810190613b1a565b805190915015610b785780806020019051810190610b719190613d8e565b6001546040516308a390bb60e21b81526001600160601b03831660048201525f916001600160a01b03169063228e42ec906024016108cf565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dde573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e029190613e70565b604051629b7b3560e61b81526001600160a01b03848116600483015291909116906326decd4090602401602060405180830381865afa158015610e47573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190613e8b565b604080516080810182525f808252602082018190526060928201839052918101919091526001545f906001600160a01b03166354f6127f610eab8561174d565b6040518263ffffffff1660e01b8152600401610ec991815260200190565b5f60405180830381865afa158015610ee3573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f0a9190810190613b1a565b805190915015610b785780806020019051810190610b719190613eaf565b5f80610f33836120e4565b9050610b718160800151826101600151612a80565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660165b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af4158015610fbb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190613d6c565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600e610f70565b5f611015826120e4565b610120015192915050565b604051631f849e6b60e11b81525f9073__$05887d5853069c88bcd4c0a2107db45f29$__90633f093cd69061105b9086908690600401613f54565b602060405180830381865af4158015611076573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613f75565b604051632255341b60e11b8152600481018290525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401610fa0565b6110dc612ae0565b6001545f906001600160a01b03166354f6127f6110f885612741565b6040518263ffffffff1660e01b815260040161111691815260200190565b5f60405180830381865afa158015611130573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111579190810190613b1a565b805190915015610b785780806020019051810190610b719190613f90565b6001545f9081906001600160a01b03166354f6127f6111938561121d565b6040518263ffffffff1660e01b81526004016111b191815260200190565b5f60405180830381865afa1580156111cb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111f29190810190613b1a565b805190915015610b78575f81806020019051810190611211919061405f565b60600151949350505050565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600b610f70565b60408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091526001545f906001600160a01b03166354f6127f6112a585612415565b6040518263ffffffff1660e01b81526004016112c391815260200190565b5f60405180830381865afa1580156112dd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113049190810190613b1a565b805190915015610b785780806020019051810190610b719190614135565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166015610f70565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561139f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c39190613e70565b60405163327e18a160e11b81526001600160a01b0385811660048301526001600160401b038516602483015291909116906364fc3142906044015b602060405180830381865afa158015611419573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613e8b565b5f5460ff16156114605760405163ae9eff1b60e01b815260040160405180910390fd5b5f80546001600160a01b038084166101009081026001600160a81b0319909316929092176001179283905560408051631a99b41b60e31b8152905192909304169163d4cda0d89160048083019260209291908290030181865afa1580156114c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ed9190613e70565b600180546001600160a01b0319166001600160a01b039283161790555f5460408051631b776b6960e21b8152905161010090920490921691636dddada49160048083019260209291908290030181865afa15801561154d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115719190613e70565b600280546001600160a01b0319166001600160a01b039290921691909117905550565b600254604051630dd7db2160e31b81526001600160601b0384166004820152602481018390525f916001600160a01b031690636ebed90890604401602060405180830381865afa1580156115ea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7191906139f9565b600154604051637d56159160e11b815261ffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b22906044015b602060405180830381865af4158015611684573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116a89190613d6c565b6040518263ffffffff1660e01b81526004016116c691815260200190565b602060405180830381865afa1580156116e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613ab0565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600c610f70565b6001545f906001600160a01b03166309648a9d6109a584612741565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601d610f70565b5f5460ff161561179c5760405163ae9eff1b60e01b815260040160405180910390fd5b6117a53361143d565b565b604080518082019091525f8152606060208201526001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590602401602060405180830381865af4158015611827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184b9190613d6c565b6040518263ffffffff1660e01b815260040161186991815260200190565b5f60405180830381865afa158015611883573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118aa9190810190613b1a565b805190915015610b785780806020019051810190610b7191906141cf565b600154604051638eb9000d60e01b81526001600160601b03831660048201525f916001600160a01b031690638eb9000d906024016108cf565b6001545f906001600160a01b03166309648a9d6109a584611322565b6002546040516394b9929b60e01b81526001600160601b03831660048201525f916001600160a01b0316906394b9929b90602401602060405180830381865afa158015610fbb573d5f803e3d5ffd5b6001545f9081906001600160a01b03166354f6127f61198a8561121d565b6040518263ffffffff1660e01b81526004016119a891815260200190565b5f60405180830381865afa1580156119c2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119e99190810190613b1a565b805190915015610b78575f81806020019051810190611a08919061405f565b60400151949350505050565b604080516080810182525f808252602082018190528183018190526060820152600154915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c90602401608060405180830381865afa158015611a7a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190613a49565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820181905260a082015260c0810191909152600154604051637d56159160e11b815261ffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401602060405180830381865af4158015611b4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6e9190613d6c565b6040518263ffffffff1660e01b8152600401611b8c91815260200190565b5f60405180830381865afa158015611ba6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611bcd9190810190613b1a565b805190915015611bf35780806020019051810190611beb9190614257565b91505061090e565b5092915050565b5f805f611c0684610c10565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015611c63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c879190613e8b565b15611d045773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611cd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cf79190613d6c565b60645b9250925050915091565b611d868160a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d779190614340565b64ffffffffff90811691161090565b15611dfd5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611dd2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df69190613d6c565b606e611cfa565b806060015163ffffffff16816080015163ffffffff1610611e8a5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611e5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e839190613d6c565b6078611cfa565b6040810151600a611cfa565b5f80611ea1836120e4565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015611efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f219190613e8b565b15611f2e57505f92915050565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015611f89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fad9190613e8b565b15611fba57505f92915050565b61203d816101a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561200a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061202e9190614340565b64ffffffffff90811691161190565b1561204a57505f92915050565b6120ce816101c0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af415801561209a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120be9190614340565b64ffffffffff9081169116111590565b156120db57505f92915050565b50600192915050565b60408051610200810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820181905261010082015261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101919091526001545f906001600160a01b03166354f6127f61217f85611322565b6040518263ffffffff1660e01b815260040161219d91815260200190565b5f60405180830381865afa1580156121b7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121de9190810190613b1a565b805190915015610b785780806020019051810190610b719190614366565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561224d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122719190613e70565b60405163cd55e51b60e01b81526001600160a01b0385811660048301526001600160401b0385166024830152919091169063cd55e51b906044016113fe565b612308604051806101200160405280606081526020015f81526020015f81526020015f81526020015f63ffffffff1681526020015f63ffffffff1681526020015f151581526020015f15158152602001606081525090565b6001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$1919c6d2c69d787ccb2653a371d7e5737d$__906355ee627590602401602060405180830381865af4158015612374573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123989190613d6c565b6040518263ffffffff1660e01b81526004016123b691815260200190565b5f60405180830381865afa1580156123d0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526123f79190810190613b1a565b805190915015610b785780806020019051810190610b7191906144f9565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600f610f70565b60408051610240810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e0810182905261020081018290526102208101919091526001545f906001600160a01b03166354f6127f6124ed85610f48565b6040518263ffffffff1660e01b815260040161250b91815260200190565b5f60405180830381865afa158015612525573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261254c9190810190613b1a565b805190915015610b785780806020019051810190610b7191906145f2565b5f73__$0f9396e6447a4be57af83e53f51d234633$__6359fad7ca84612591856001614768565b6040516001600160e01b031960e085901b16815261ffff909216600483015262ffffff166024820152604401602060405180830381865af41580156125d8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190614340565b6126466040518060a00160405280606081526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001606081525090565b6001545f906001600160a01b03166354f6127f6126628561121d565b6040518263ffffffff1660e01b815260040161268091815260200190565b5f60405180830381865afa15801561269a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126c19190810190613b1a565b805190915015610b785780806020019051810190610b71919061405f565b600154604051632867b75960e21b815264ffffffffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$0f9396e6447a4be57af83e53f51d234633$__9063a19edd6490604401611669565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601f610f70565b5f73__$9e81531fe4994e01e99541f86b55500b4b$__639cc45a36612793846001614783565b6040518263ffffffff1660e01b81526004016127b191815260200190565b602060405180830381865af41580156127cc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090e9190614796565b6040805160a0810182525f808252602082018190529181018290526060808201526080810191909152600154604051632867b75960e21b815264ffffffffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$0f9396e6447a4be57af83e53f51d234633$__9063a19edd6490604401602060405180830381865af4158015612891573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128b59190613d6c565b6040518263ffffffff1660e01b81526004016128d391815260200190565b5f60405180830381865afa1580156128ed573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129149190810190613b1a565b805190915015611bf35780806020019051810190611beb91906147b1565b60408051610100810182525f808252606060208301819052928201819052828201839052608082019290925260a0810182905260c0810182905260e0810191909152600154604051630f37f38f60e41b81526001600160401b03841660048201525f916001600160a01b0316906354f6127f9073__$b4c16f233b92c2c4124fb22a521f86c95b$__9063f37f38f090602401602060405180830381865af41580156129df573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a039190613d6c565b6040518263ffffffff1660e01b8152600401612a2191815260200190565b5f60405180830381865afa158015612a3b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612a629190810190613b1a565b805190915015610b785780806020019051810190610b71919061486b565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af41580156115ea573d5f803e3d5ffd5b6040518060c001604052805f6001600160601b03168152602001612b1560405180604001604052805f81526020015f81525090565b81526060602082018190525f6040830181905290820181905260809091015290565b6001600160601b0381168114612b4b575f80fd5b50565b5f60208284031215612b5e575f80fd5b8135610b7181612b37565b5f60208284031215612b79575f80fd5b5035919050565b5f8151808452602084019350602083015f5b82811015612bb95781516001600160601b0316865260209586019590910190600101612b92565b5093949350505050565b60208152612bd660208201835115159052565b5f6020830151612bea604084018215159052565b50604083015160ff8116606084015250606083015160ff811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c08301516102a060e0840152612c4e6102c0840182612b80565b60e085015180516101008601526020810151610120860152909150506101008401518051610140850152602081015161016085015250610120840151805161018085015260208101516101a08501525061014084015180516101c085015260208101516101e085015250610160840151805161020085015260208101516102208501525061018084015180516102408501526020810151610260850152506101a0840151805161028085015260208101516102a08501525b509392505050565b61ffff81168114612b4b575f80fd5b5f8060408385031215612d2e575f80fd5b8235612d3981612b37565b91506020830135612d4981612d0e565b809150509250929050565b5f8060408385031215612d65575f80fd5b8235915060208301355f81900b8114612d49575f80fd5b6001600160c01b031981168114612b4b575f80fd5b5f60208284031215612da1575f80fd5b8135610b7181612d7c565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201525f602083015160e06040840152612e09610100840182612dac565b90506040840151606084015263ffffffff60608501511660808401526080840151612e3c60a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e0850152612e6b8282612dac565b95945050505050565b6001600160a01b0381168114612b4b575f80fd5b5f60208284031215612e98575f80fd5b8135610b7181612e74565b602081526001600160401b0360c01b82511660208201526020820151151560408201525f604083015160806060840152612ee060a0840182612dac565b905063ffffffff60608501511660808401528091505092915050565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b0381118282101715612f3257612f32612efc565b60405290565b604080519081016001600160401b0381118282101715612f3257612f32612efc565b6040516101c081016001600160401b0381118282101715612f3257612f32612efc565b60405160e081016001600160401b0381118282101715612f3257612f32612efc565b60405160c081016001600160401b0381118282101715612f3257612f32612efc565b60405160a081016001600160401b0381118282101715612f3257612f32612efc565b60405161010081016001600160401b0381118282101715612f3257612f32612efc565b60405161020081016001600160401b0381118282101715612f3257612f32612efc565b60405161012081016001600160401b0381118282101715612f3257612f32612efc565b60405161024081016001600160401b0381118282101715612f3257612f32612efc565b604051601f8201601f191681016001600160401b038111828210171561309757613097612efc565b604052919050565b5f6001600160401b038211156130b7576130b7612efc565b50601f01601f191660200190565b5f80604083850312156130d6575f80fd5b82356130e181612b37565b915060208301356001600160401b038111156130fb575f80fd5b8301601f8101851361310b575f80fd5b803561311e6131198261309f565b61306f565b818152866020838501011115613132575f80fd5b816020840160208301375f602083830101528093505050509250929050565b602081526001600160601b0382511660208201525f6020830151613182604084018280518252602090810151910152565b50604083015160e0608084015261319d610100840182612dac565b905064ffffffffff60608501511660a084015264ffffffffff60808501511660c084015264ffffffffff60a08501511660e08401528091505092915050565b5f610100820190506001600160601b0383511682526001600160401b0360208401511660208301526040830151151560408301526060830151613223606084018215159052565b506080830151613237608084018215159052565b5060a083015161324b60a084018215159052565b5060c083015160c083015260e083015160e083015292915050565b6001600160401b0381168114612b4b575f80fd5b5f806040838503121561328b575f80fd5b823561329681612e74565b91506020830135612d4981613266565b5f80604083850312156132b7575f80fd5b82356132c281612b37565b946020939093013593505050565b602081526001600160601b0382511660208201525f60208301516040808401526132fd6060840182612dac565b949350505050565b602081526001600160601b0382511660208201526001600160601b0360208301511660408201525f6040830151613343606084018262ffffff169052565b50606083015162ffffff8116608084015250608083015160e060a084015261336f610100840182612dac565b905060a0840151601f198483030160c085015261338c8282612dac565b91505060c0840151612d0660e085018264ffffffffff169052565b602081526133c16020820183516001600160601b03169052565b5f60208301516133dc60408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b0319811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c083015164ffffffffff811660e08401525060e0830151610200610100840152613462610220840182612dac565b9050610100840151601f19848303016101208501526134818282612dac565b91505061012084015161349b61014085018261ffff169052565b5061014084015161ffff8116610160850152506101608401516001600160601b038116610180850152506101808401516001600160601b0381166101a0850152506101a084015164ffffffffff81166101c0850152506101c084015164ffffffffff81166101e0850152506101e084015164ffffffffff8116610200850152612d06565b602081525f8251610120602084015261353c610140840182612dac565b9050602084015160408401526040840151606084015260608401516080840152608084015161357360a085018263ffffffff169052565b5060a084015163ffffffff811660c08501525060c084015180151560e08501525060e084015180151561010085015250610100840151838203601f1901610120850152612e6b8282612dac565b81516001600160601b03168152610240810160208301516135ec60208401826001600160601b03169052565b50604083015161360760408401826001600160601b03169052565b50606083015161362260608401826001600160601b03169052565b50608083015161363d60808401826001600160601b03169052565b5060a083015161365860a08401826001600160601b03169052565b5060c083015161367360c08401826001600160601b03169052565b5060e083015161368e60e08401826001600160601b03169052565b506101008301516136ab6101008401826001600160601b03169052565b506101208301516136c86101208401826001600160601b03169052565b506101408301516136e56101408401826001600160601b03169052565b506101608301516137026101608401826001600160601b03169052565b5061018083015161371f6101808401826001600160601b03169052565b506101a083015161373c6101a08401826001600160601b03169052565b506101c08301516137596101c08401826001600160601b03169052565b506101e08301516137766101e08401826001600160601b03169052565b506102008301516137936102008401826001600160601b03169052565b50610220830151611bf36102208401826001600160601b03169052565b62ffffff81168114612b4b575f80fd5b5f80604083850312156137d1575f80fd5b82356137dc81612d0e565b91506020830135612d49816137b0565b602081525f825160a0602084015261380760c0840182612dac565b60208501516001600160a01b03908116604086810191909152860151811660608087019190915286015116608080860191909152850151848203601f190160a0860152909150612e6b8282612dac565b64ffffffffff81168114612b4b575f80fd5b5f806040838503121561387a575f80fd5b823561388581612b37565b91506020830135612d4981613857565b6020815261ffff82511660208201526001600160601b03602083015116604082015260018060a01b0360408301511660608201525f606083015160a060808401526138e360c0840182612dac565b905064ffffffffff60808501511660a08401528091505092915050565b5f60208284031215613910575f80fd5b8135610b7181613266565b602081526139356020820183516001600160601b03169052565b5f60208301516101006040840152613951610120840182612dac565b9050604084015161396d60608501826001600160601b03169052565b506060840151838203601f190160808501526139898282612dac565b9150506080840151601f198483030160a08501526139a78282612dac565b91505060a08401516139c260c085018264ffffffffff169052565b5060c084015164ffffffffff811660e08501525060e0840151801515610100850152612d06565b80516139f481612b37565b919050565b5f60208284031215613a09575f80fd5b8151610b7181612b37565b60ff81168114612b4b575f80fd5b80516139f481613a14565b63ffffffff81168114612b4b575f80fd5b80516139f481613a2d565b5f6080828403128015613a5a575f80fd5b50613a63612f10565b8251613a6e81613a14565b81526020830151613a7e81613a14565b60208201526040830151613a9181613a2d565b60408201526060830151613aa481613a2d565b60608201529392505050565b5f60208284031215613ac0575f80fd5b8151610b7181613a14565b5f82601f830112613ada575f80fd5b8151602083015f613aed6131198461309f565b9050828152858383011115613b00575f80fd5b8282602083015e5f92810160200192909252509392505050565b5f60208284031215613b2a575f80fd5b81516001600160401b03811115613b3f575f80fd5b6132fd84828501613acb565b805180151581146139f4575f80fd5b5f82601f830112613b69575f80fd5b81516001600160401b03811115613b8257613b82612efc565b8060051b613b926020820161306f565b91825260208185018101929081019086841115613bad575f80fd5b6020860192505b83831015613bd8578251613bc781612b37565b825260209283019290910190613bb4565b9695505050505050565b5f60408284031215613bf2575f80fd5b613bfa612f38565b825181526020928301519281019290925250919050565b5f60208284031215613c21575f80fd5b81516001600160401b03811115613c36575f80fd5b82016102a08185031215613c48575f80fd5b613c50612f5a565b613c5982613b4b565b8152613c6760208301613b4b565b6020820152613c7860408301613a22565b6040820152613c8960608301613a22565b6060820152613c9a608083016139e9565b6080820152613cab60a083016139e9565b60a082015260c08201516001600160401b03811115613cc8575f80fd5b613cd486828501613b5a565b60c083015250613ce78560e08401613be2565b60e0820152613cfa856101208401613be2565b610100820152613d0e856101608401613be2565b610120820152613d22856101a08401613be2565b610140820152613d36856101e08401613be2565b610160820152613d4a856102208401613be2565b610180820152613d5e856102608401613be2565b6101a0820152949350505050565b5f60208284031215613d7c575f80fd5b5051919050565b80516139f481613857565b5f60208284031215613d9e575f80fd5b81516001600160401b03811115613db3575f80fd5b820160e08185031215613dc4575f80fd5b613dcc612f7d565b613dd5826139e9565b815260208201516001600160401b03811115613def575f80fd5b613dfb86828501613acb565b60208301525060408281015190820152613e1760608301613a3e565b6060820152613e2860808301613a3e565b6080820152613e3960a08301613d83565b60a082015260c08201516001600160401b03811115613e56575f80fd5b613e6286828501613acb565b60c083015250949350505050565b5f60208284031215613e80575f80fd5b8151610b7181612e74565b5f60208284031215613e9b575f80fd5b610b7182613b4b565b80516139f481612d7c565b5f60208284031215613ebf575f80fd5b81516001600160401b03811115613ed4575f80fd5b820160808185031215613ee5575f80fd5b613eed612f10565b8151613ef881612d7c565b8152613f0660208301613b4b565b602082015260408201516001600160401b03811115613f23575f80fd5b613f2f86828501613acb565b60408301525060608201519150613f4582613a2d565b60608101919091529392505050565b6001600160601b0383168152604060208201525f6132fd6040830184612dac565b5f60208284031215613f85575f80fd5b8151610b7181612d7c565b5f60208284031215613fa0575f80fd5b81516001600160401b03811115613fb5575f80fd5b820160e08185031215613fc6575f80fd5b613fce612f9f565b8151613fd981612b37565b8152613fe88560208401613be2565b602082015260608201516001600160401b03811115614005575f80fd5b61401186828501613acb565b604083015250608082015161402581613857565b606082015261403660a08301613d83565b608082015261404760c08301613d83565b60a0820152949350505050565b80516139f481612e74565b5f6020828403121561406f575f80fd5b81516001600160401b03811115614084575f80fd5b820160a08185031215614095575f80fd5b61409d612fc1565b81516001600160401b038111156140b2575f80fd5b6140be86828501613acb565b82525060208201516140cf81612e74565b602082015260408201516140e281612e74565b60408201526140f360608301614054565b606082015260808201516001600160401b03811115614110575f80fd5b61411c86828501613acb565b608083015250949350505050565b80516139f481613266565b5f610100828403128015614147575f80fd5b50614150612fe3565b825161415b81612b37565b81526141696020840161412a565b602082015261417a60408401613b4b565b604082015261418b60608401613b4b565b606082015261419c60808401613b4b565b60808201526141ad60a08401613b4b565b60a082015260c0838101519082015260e0928301519281019290925250919050565b5f602082840312156141df575f80fd5b81516001600160401b038111156141f4575f80fd5b820160408185031215614205575f80fd5b61420d612f38565b815161421881612b37565b815260208201516001600160401b03811115614232575f80fd5b61423e86828501613acb565b602083015250949350505050565b80516139f4816137b0565b5f60208284031215614267575f80fd5b81516001600160401b0381111561427c575f80fd5b820160e0818503121561428d575f80fd5b614295612f7d565b61429e826139e9565b81526142ac602083016139e9565b60208201526142bd6040830161424c565b60408201526142ce6060830161424c565b606082015260808201516001600160401b038111156142eb575f80fd5b6142f786828501613acb565b60808301525060a08201516001600160401b03811115614315575f80fd5b61432186828501613acb565b60a08301525061433360c08301613d83565b60c0820152949350505050565b5f60208284031215614350575f80fd5b8151610b7181613857565b80516139f481612d0e565b5f60208284031215614376575f80fd5b81516001600160401b0381111561438b575f80fd5b8201610200818503121561439d575f80fd5b6143a5613006565b6143ae826139e9565b81526143bc602083016139e9565b60208201526143cd60408301613ea4565b60408201526143de60608301613ea4565b60608201526143ef608083016139e9565b608082015261440060a083016139e9565b60a082015261441160c08301613d83565b60c082015260e08201516001600160401b0381111561442e575f80fd5b61443a86828501613acb565b60e0830152506101008201516001600160401b03811115614459575f80fd5b61446586828501613acb565b61010083015250614479610120830161435b565b61012082015261448c610140830161435b565b61014082015261449f61016083016139e9565b6101608201526144b261018083016139e9565b6101808201526144c56101a08301613d83565b6101a08201526144d86101c08301613d83565b6101c08201526144eb6101e08301613d83565b6101e0820152949350505050565b5f60208284031215614509575f80fd5b81516001600160401b0381111561451e575f80fd5b82016101208185031215614530575f80fd5b614538613029565b81516001600160401b0381111561454d575f80fd5b61455986828501613acb565b82525060208281015190820152604080830151908201526060808301519082015261458660808301613a3e565b608082015261459760a08301613a3e565b60a08201526145a860c08301613b4b565b60c08201526145b960e08301613b4b565b60e08201526101008201516001600160401b038111156145d7575f80fd5b6145e386828501613acb565b61010083015250949350505050565b5f610240828403128015614604575f80fd5b5061460d61304c565b614616836139e9565b8152614624602084016139e9565b6020820152614635604084016139e9565b6040820152614646606084016139e9565b6060820152614657608084016139e9565b608082015261466860a084016139e9565b60a082015261467960c084016139e9565b60c082015261468a60e084016139e9565b60e082015261469c61010084016139e9565b6101008201526146af61012084016139e9565b6101208201526146c261014084016139e9565b6101408201526146d561016084016139e9565b6101608201526146e861018084016139e9565b6101808201526146fb6101a084016139e9565b6101a082015261470e6101c084016139e9565b6101c08201526147216101e084016139e9565b6101e082015261473461020084016139e9565b61020082015261474761022084016139e9565b6102208201529392505050565b634e487b7160e01b5f52601160045260245ffd5b62ffffff818116838216019081111561090e5761090e614754565b8082018082111561090e5761090e614754565b5f602082840312156147a6575f80fd5b8151610b7181612d0e565b5f602082840312156147c1575f80fd5b81516001600160401b038111156147d6575f80fd5b820160a081850312156147e7575f80fd5b6147ef612fc1565b81516147fa81612d0e565b8152602082015161480a81612b37565b6020820152604082015161481d81612e74565b604082015260608201516001600160401b0381111561483a575f80fd5b61484686828501613acb565b6060830152506080820151915061485c82613857565b60808101919091529392505050565b5f6020828403121561487b575f80fd5b81516001600160401b03811115614890575f80fd5b820161010081850312156148a2575f80fd5b6148aa612fe3565b6148b3826139e9565b815260208201516001600160401b038111156148cd575f80fd5b6148d986828501613acb565b6020830152506148eb604083016139e9565b604082015260608201516001600160401b03811115614908575f80fd5b61491486828501613acb565b60608301525060808201516001600160401b03811115614932575f80fd5b61493e86828501613acb565b60808301525061495060a08301613d83565b60a082015261496160c08301613d83565b60c082015261497260e08301613b4b565b60e082015294935050505056fea26469706673582212206eebd646d9e802173433049c59efdc639e1b730b375ff9deda78b8cf8692f56f64736f6c634300081a0033",
1273
1726
  "linkReferences": {
1274
1727
  "contracts/type/Amount.sol": {
1275
1728
  "AmountLib": [
1276
1729
  {
1277
1730
  "length": 20,
1278
- "start": 7883
1731
+ "start": 10957
1279
1732
  }
1280
1733
  ]
1281
1734
  },
@@ -1283,11 +1736,15 @@
1283
1736
  "ClaimIdLib": [
1284
1737
  {
1285
1738
  "length": 20,
1286
- "start": 4661
1739
+ "start": 5744
1740
+ },
1741
+ {
1742
+ "length": 20,
1743
+ "start": 6967
1287
1744
  },
1288
1745
  {
1289
1746
  "length": 20,
1290
- "start": 5697
1747
+ "start": 10133
1291
1748
  }
1292
1749
  ]
1293
1750
  },
@@ -1295,7 +1752,7 @@
1295
1752
  "DistributorTypeLib": [
1296
1753
  {
1297
1754
  "length": 20,
1298
- "start": 7323
1755
+ "start": 9057
1299
1756
  }
1300
1757
  ]
1301
1758
  },
@@ -1303,35 +1760,39 @@
1303
1760
  "NftIdLib": [
1304
1761
  {
1305
1762
  "length": 20,
1306
- "start": 2597
1763
+ "start": 3952
1764
+ },
1765
+ {
1766
+ "length": 20,
1767
+ "start": 4103
1307
1768
  },
1308
1769
  {
1309
1770
  "length": 20,
1310
- "start": 3439
1771
+ "start": 4677
1311
1772
  },
1312
1773
  {
1313
1774
  "length": 20,
1314
- "start": 3903
1775
+ "start": 4938
1315
1776
  },
1316
1777
  {
1317
1778
  "length": 20,
1318
- "start": 3992
1779
+ "start": 5933
1319
1780
  },
1320
1781
  {
1321
1782
  "length": 20,
1322
- "start": 4699
1783
+ "start": 6005
1323
1784
  },
1324
1785
  {
1325
1786
  "length": 20,
1326
- "start": 4744
1787
+ "start": 7914
1327
1788
  },
1328
1789
  {
1329
1790
  "length": 20,
1330
- "start": 7550
1791
+ "start": 9277
1331
1792
  },
1332
1793
  {
1333
1794
  "length": 20,
1334
- "start": 7801
1795
+ "start": 10089
1335
1796
  }
1336
1797
  ]
1337
1798
  },
@@ -1339,11 +1800,15 @@
1339
1800
  "PayoutIdLib": [
1340
1801
  {
1341
1802
  "length": 20,
1342
- "start": 2847
1803
+ "start": 9618
1343
1804
  },
1344
1805
  {
1345
1806
  "length": 20,
1346
- "start": 3709
1807
+ "start": 10052
1808
+ },
1809
+ {
1810
+ "length": 20,
1811
+ "start": 10366
1347
1812
  }
1348
1813
  ]
1349
1814
  },
@@ -1351,11 +1816,19 @@
1351
1816
  "ReferralLib": [
1352
1817
  {
1353
1818
  "length": 20,
1354
- "start": 2110
1819
+ "start": 3232
1355
1820
  },
1356
1821
  {
1357
1822
  "length": 20,
1358
- "start": 3103
1823
+ "start": 4182
1824
+ }
1825
+ ]
1826
+ },
1827
+ "contracts/type/RequestId.sol": {
1828
+ "RequestIdLib": [
1829
+ {
1830
+ "length": 20,
1831
+ "start": 10700
1359
1832
  }
1360
1833
  ]
1361
1834
  },
@@ -1363,7 +1836,7 @@
1363
1836
  "RiskIdLib": [
1364
1837
  {
1365
1838
  "length": 20,
1366
- "start": 4859
1839
+ "start": 6164
1367
1840
  }
1368
1841
  ]
1369
1842
  },
@@ -1371,23 +1844,23 @@
1371
1844
  "TimestampLib": [
1372
1845
  {
1373
1846
  "length": 20,
1374
- "start": 4135
1847
+ "start": 7248
1375
1848
  },
1376
1849
  {
1377
1850
  "length": 20,
1378
- "start": 4278
1851
+ "start": 7475
1379
1852
  },
1380
1853
  {
1381
1854
  "length": 20,
1382
- "start": 4448
1855
+ "start": 8054
1383
1856
  },
1384
1857
  {
1385
1858
  "length": 20,
1386
- "start": 5971
1859
+ "start": 8170
1387
1860
  },
1388
1861
  {
1389
1862
  "length": 20,
1390
- "start": 6202
1863
+ "start": 8314
1391
1864
  }
1392
1865
  ]
1393
1866
  },
@@ -1395,23 +1868,23 @@
1395
1868
  "UFixedLib": [
1396
1869
  {
1397
1870
  "length": 20,
1398
- "start": 1907
1871
+ "start": 3033
1399
1872
  },
1400
1873
  {
1401
1874
  "length": 20,
1402
- "start": 3235
1875
+ "start": 4311
1403
1876
  },
1404
1877
  {
1405
1878
  "length": 20,
1406
- "start": 6072
1879
+ "start": 7347
1407
1880
  },
1408
1881
  {
1409
1882
  "length": 20,
1410
- "start": 6331
1883
+ "start": 7602
1411
1884
  },
1412
1885
  {
1413
1886
  "length": 20,
1414
- "start": 6474
1887
+ "start": 7743
1415
1888
  }
1416
1889
  ]
1417
1890
  }
@@ -1421,7 +1894,7 @@
1421
1894
  "AmountLib": [
1422
1895
  {
1423
1896
  "length": 20,
1424
- "start": 7851
1897
+ "start": 10920
1425
1898
  }
1426
1899
  ]
1427
1900
  },
@@ -1429,11 +1902,15 @@
1429
1902
  "ClaimIdLib": [
1430
1903
  {
1431
1904
  "length": 20,
1432
- "start": 4629
1905
+ "start": 5707
1906
+ },
1907
+ {
1908
+ "length": 20,
1909
+ "start": 6930
1433
1910
  },
1434
1911
  {
1435
1912
  "length": 20,
1436
- "start": 5665
1913
+ "start": 10096
1437
1914
  }
1438
1915
  ]
1439
1916
  },
@@ -1441,7 +1918,7 @@
1441
1918
  "DistributorTypeLib": [
1442
1919
  {
1443
1920
  "length": 20,
1444
- "start": 7291
1921
+ "start": 9020
1445
1922
  }
1446
1923
  ]
1447
1924
  },
@@ -1449,35 +1926,39 @@
1449
1926
  "NftIdLib": [
1450
1927
  {
1451
1928
  "length": 20,
1452
- "start": 2565
1929
+ "start": 3915
1453
1930
  },
1454
1931
  {
1455
1932
  "length": 20,
1456
- "start": 3407
1933
+ "start": 4066
1457
1934
  },
1458
1935
  {
1459
1936
  "length": 20,
1460
- "start": 3871
1937
+ "start": 4640
1461
1938
  },
1462
1939
  {
1463
1940
  "length": 20,
1464
- "start": 3960
1941
+ "start": 4901
1465
1942
  },
1466
1943
  {
1467
1944
  "length": 20,
1468
- "start": 4667
1945
+ "start": 5896
1469
1946
  },
1470
1947
  {
1471
1948
  "length": 20,
1472
- "start": 4712
1949
+ "start": 5968
1473
1950
  },
1474
1951
  {
1475
1952
  "length": 20,
1476
- "start": 7518
1953
+ "start": 7877
1477
1954
  },
1478
1955
  {
1479
1956
  "length": 20,
1480
- "start": 7769
1957
+ "start": 9240
1958
+ },
1959
+ {
1960
+ "length": 20,
1961
+ "start": 10052
1481
1962
  }
1482
1963
  ]
1483
1964
  },
@@ -1485,11 +1966,15 @@
1485
1966
  "PayoutIdLib": [
1486
1967
  {
1487
1968
  "length": 20,
1488
- "start": 2815
1969
+ "start": 9581
1970
+ },
1971
+ {
1972
+ "length": 20,
1973
+ "start": 10015
1489
1974
  },
1490
1975
  {
1491
1976
  "length": 20,
1492
- "start": 3677
1977
+ "start": 10329
1493
1978
  }
1494
1979
  ]
1495
1980
  },
@@ -1497,11 +1982,19 @@
1497
1982
  "ReferralLib": [
1498
1983
  {
1499
1984
  "length": 20,
1500
- "start": 2078
1985
+ "start": 3195
1501
1986
  },
1502
1987
  {
1503
1988
  "length": 20,
1504
- "start": 3071
1989
+ "start": 4145
1990
+ }
1991
+ ]
1992
+ },
1993
+ "contracts/type/RequestId.sol": {
1994
+ "RequestIdLib": [
1995
+ {
1996
+ "length": 20,
1997
+ "start": 10663
1505
1998
  }
1506
1999
  ]
1507
2000
  },
@@ -1509,7 +2002,7 @@
1509
2002
  "RiskIdLib": [
1510
2003
  {
1511
2004
  "length": 20,
1512
- "start": 4827
2005
+ "start": 6127
1513
2006
  }
1514
2007
  ]
1515
2008
  },
@@ -1517,23 +2010,23 @@
1517
2010
  "TimestampLib": [
1518
2011
  {
1519
2012
  "length": 20,
1520
- "start": 4103
2013
+ "start": 7211
1521
2014
  },
1522
2015
  {
1523
2016
  "length": 20,
1524
- "start": 4246
2017
+ "start": 7438
1525
2018
  },
1526
2019
  {
1527
2020
  "length": 20,
1528
- "start": 4416
2021
+ "start": 8017
1529
2022
  },
1530
2023
  {
1531
2024
  "length": 20,
1532
- "start": 5939
2025
+ "start": 8133
1533
2026
  },
1534
2027
  {
1535
2028
  "length": 20,
1536
- "start": 6170
2029
+ "start": 8277
1537
2030
  }
1538
2031
  ]
1539
2032
  },
@@ -1541,23 +2034,23 @@
1541
2034
  "UFixedLib": [
1542
2035
  {
1543
2036
  "length": 20,
1544
- "start": 1875
2037
+ "start": 2996
1545
2038
  },
1546
2039
  {
1547
2040
  "length": 20,
1548
- "start": 3203
2041
+ "start": 4274
1549
2042
  },
1550
2043
  {
1551
2044
  "length": 20,
1552
- "start": 6040
2045
+ "start": 7310
1553
2046
  },
1554
2047
  {
1555
2048
  "length": 20,
1556
- "start": 6299
2049
+ "start": 7565
1557
2050
  },
1558
2051
  {
1559
2052
  "length": 20,
1560
- "start": 6442
2053
+ "start": 7706
1561
2054
  }
1562
2055
  ]
1563
2056
  }