@etherisc/gif-next 0.0.2-fd4931b-974 → 0.0.2-fd4ee14-428

Sign up to get free protection for your applications and to get access to all the features.
Files changed (393) hide show
  1. package/README.md +2 -1
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +19 -13
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +115 -80
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +81 -54
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +11 -5
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +20 -1
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +32 -101
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +83 -71
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +121 -12
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +105 -85
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +1 -1
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +126 -30
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +195 -64
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +206 -49
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +74 -31
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +248 -118
  32. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  33. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  34. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  35. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  36. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  38. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  39. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +2 -71
  40. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  43. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  47. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  48. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  49. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +10 -0
  50. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  51. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  52. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  53. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  54. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  55. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
  56. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  57. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  58. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  59. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  60. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  61. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +91 -48
  62. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  63. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +69 -38
  64. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  65. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +20 -1
  66. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  67. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +11 -5
  68. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  69. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +35 -1
  70. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  71. package/artifacts/contracts/pool/Pool.sol/Pool.json +18 -12
  72. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  73. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +84 -42
  74. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  75. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +58 -35
  76. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  77. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +79 -36
  78. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  79. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +63 -32
  80. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  81. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +119 -68
  82. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +83 -48
  84. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  85. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +20 -1
  86. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  87. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +20 -1
  88. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  89. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +20 -1
  90. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  91. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +20 -1
  92. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  93. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +11 -5
  94. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  95. package/artifacts/contracts/product/IProductService.sol/IProductService.json +20 -1
  96. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  97. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +97 -46
  98. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  99. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +72 -37
  100. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  101. package/artifacts/contracts/product/PricingService.sol/PricingService.json +105 -62
  102. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  103. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +76 -45
  104. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  105. package/artifacts/contracts/product/Product.sol/Product.json +18 -12
  106. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  107. package/artifacts/contracts/product/ProductService.sol/ProductService.json +61 -26
  108. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  109. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +54 -27
  110. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  111. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  112. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  113. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +82 -45
  114. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  115. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -1
  116. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +129 -0
  118. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  119. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  120. package/artifacts/contracts/registry/Registry.sol/Registry.json +254 -97
  121. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  122. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1901 -0
  123. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  124. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +69 -15
  125. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +46 -30
  127. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  128. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +288 -182
  129. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  130. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +171 -0
  131. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  132. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +187 -0
  133. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  134. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +46 -177
  135. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  136. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1559 -0
  137. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  138. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  139. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  140. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
  141. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  142. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
  143. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  144. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
  145. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  146. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
  147. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  148. package/artifacts/contracts/shared/Component.sol/Component.json +18 -12
  149. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  150. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +120 -70
  151. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +80 -49
  153. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  154. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +20 -1
  155. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  156. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  157. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  158. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1189 -0
  159. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  160. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  161. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  162. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  163. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  164. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +11 -5
  165. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  166. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +27 -1
  167. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  168. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +11 -5
  169. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  170. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +0 -10
  171. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  172. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  173. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
  174. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  175. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  176. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
  177. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  178. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
  180. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  181. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  182. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  183. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  184. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +18 -12
  185. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  186. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +10 -20
  187. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  188. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +6 -6
  189. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
  190. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +27 -35
  191. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  192. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +13 -7
  193. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  194. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  195. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  196. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +35 -16
  197. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  198. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +15 -9
  199. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  200. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  201. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  202. package/artifacts/contracts/shared/Service.sol/Service.json +20 -1
  203. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  204. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  205. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  206. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  207. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  208. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  209. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +247 -579
  210. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  211. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +471 -62
  212. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  213. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  214. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  215. package/artifacts/contracts/staking/Staking.sol/Staking.json +303 -798
  216. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  217. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +81 -164
  218. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  219. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -39
  220. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  221. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +503 -120
  222. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  223. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +67 -43
  224. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  225. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
  226. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  227. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +281 -18
  228. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  229. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  230. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  231. package/artifacts/contracts/type/Amount.sol/AmountLib.json +68 -4
  232. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  233. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +40 -2
  234. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  235. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  236. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  237. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  238. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  239. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
  240. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  241. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  242. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  243. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +28 -4
  244. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  245. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  246. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  247. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +96 -2
  248. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  249. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  250. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  251. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  252. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  254. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  255. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  256. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  257. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +114 -4
  258. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  259. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +52 -2
  260. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  262. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  264. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  265. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  266. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  268. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  269. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +17 -4
  270. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  271. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  274. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
  276. package/contracts/distribution/Distribution.sol +2 -4
  277. package/contracts/distribution/DistributionService.sol +5 -6
  278. package/contracts/distribution/DistributionServiceManager.sol +0 -12
  279. package/contracts/distribution/IDistributionComponent.sol +1 -1
  280. package/contracts/distribution/IDistributionService.sol +1 -1
  281. package/contracts/instance/IInstance.sol +21 -11
  282. package/contracts/instance/IInstanceService.sol +26 -12
  283. package/contracts/instance/Instance.sol +84 -49
  284. package/contracts/instance/InstanceAdmin.sol +331 -0
  285. package/contracts/instance/InstanceAuthorizationsLib.sol +192 -151
  286. package/contracts/instance/InstanceReader.sol +32 -6
  287. package/contracts/instance/InstanceService.sol +119 -47
  288. package/contracts/instance/InstanceStore.sol +29 -20
  289. package/contracts/instance/base/BalanceStore.sol +11 -6
  290. package/contracts/instance/base/Cloneable.sol +2 -25
  291. package/contracts/instance/base/ObjectCounter.sol +21 -0
  292. package/contracts/instance/base/ObjectManager.sol +1 -3
  293. package/contracts/instance/module/IAccess.sol +2 -10
  294. package/contracts/oracle/IOracle.sol +20 -0
  295. package/contracts/oracle/IOracleComponent.sol +32 -0
  296. package/contracts/oracle/IOracleService.sol +65 -0
  297. package/contracts/oracle/Oracle.sol +145 -0
  298. package/contracts/oracle/OracleService.sol +278 -0
  299. package/contracts/oracle/OracleServiceManager.sol +42 -0
  300. package/contracts/pool/BundleService.sol +20 -20
  301. package/contracts/pool/IBundleService.sol +1 -1
  302. package/contracts/pool/IPoolService.sol +4 -1
  303. package/contracts/pool/PoolService.sol +38 -10
  304. package/contracts/product/ApplicationService.sol +6 -6
  305. package/contracts/product/ClaimService.sol +12 -7
  306. package/contracts/product/IApplicationService.sol +1 -1
  307. package/contracts/product/IClaimService.sol +7 -1
  308. package/contracts/product/IPolicyService.sol +1 -1
  309. package/contracts/product/IPricingService.sol +1 -1
  310. package/contracts/product/IProductService.sol +1 -1
  311. package/contracts/product/PolicyService.sol +9 -7
  312. package/contracts/product/PricingService.sol +8 -9
  313. package/contracts/product/Product.sol +1 -1
  314. package/contracts/product/ProductService.sol +6 -6
  315. package/contracts/registry/ChainNft.sol +1 -0
  316. package/contracts/registry/IRegistry.sol +20 -14
  317. package/contracts/registry/IRegistryService.sol +1 -0
  318. package/contracts/registry/IServiceAuthorization.sol +35 -0
  319. package/contracts/registry/Registry.sol +85 -66
  320. package/contracts/registry/RegistryAdmin.sol +333 -0
  321. package/contracts/registry/RegistryService.sol +8 -70
  322. package/contracts/registry/RegistryServiceManager.sol +1 -20
  323. package/contracts/registry/ReleaseManager.sol +218 -221
  324. package/contracts/registry/ServiceAuthorization.sol +86 -0
  325. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  326. package/contracts/registry/TokenRegistry.sol +56 -60
  327. package/contracts/shared/AccessAdmin.sol +759 -0
  328. package/contracts/shared/AccessManagerCustom.sol +741 -0
  329. package/contracts/shared/AccessManagerExtended.sol +481 -0
  330. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  331. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  332. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  333. package/contracts/shared/Component.sol +8 -13
  334. package/contracts/shared/ComponentService.sol +39 -17
  335. package/contracts/shared/ComponentVerifyingService.sol +13 -7
  336. package/contracts/shared/ERC165.sol +1 -1
  337. package/contracts/shared/IAccessAdmin.sol +168 -0
  338. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  339. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  340. package/contracts/shared/IComponent.sol +3 -7
  341. package/contracts/shared/IComponentService.sol +11 -0
  342. package/contracts/shared/IKeyValueStore.sol +1 -1
  343. package/contracts/shared/INftOwnable.sol +1 -1
  344. package/contracts/shared/IService.sol +8 -1
  345. package/contracts/shared/InitializableCustom.sol +177 -0
  346. package/contracts/shared/InstanceLinkedComponent.sol +1 -2
  347. package/contracts/shared/KeyValueStore.sol +1 -4
  348. package/contracts/shared/Lifecycle.sol +11 -2
  349. package/contracts/shared/NftIdSetManager.sol +2 -6
  350. package/contracts/shared/NftOwnable.sol +2 -13
  351. package/contracts/shared/PolicyHolder.sol +2 -1
  352. package/contracts/shared/ProxyManager.sol +6 -2
  353. package/contracts/shared/Service.sol +28 -22
  354. package/contracts/staking/IStaking.sol +93 -38
  355. package/contracts/staking/IStakingService.sol +71 -40
  356. package/contracts/staking/StakeManagerLib.sol +231 -0
  357. package/contracts/staking/Staking.sol +302 -137
  358. package/contracts/staking/StakingManager.sol +22 -20
  359. package/contracts/staking/StakingReader.sol +119 -24
  360. package/contracts/staking/StakingService.sol +193 -76
  361. package/contracts/staking/StakingServiceManager.sol +2 -2
  362. package/contracts/staking/StakingStore.sol +613 -0
  363. package/contracts/staking/TargetManagerLib.sol +76 -10
  364. package/contracts/type/AddressSet.sol +1 -1
  365. package/contracts/type/Amount.sol +15 -1
  366. package/contracts/type/Blocknumber.sol +14 -2
  367. package/contracts/type/Fee.sol +1 -1
  368. package/contracts/type/NftId.sol +9 -9
  369. package/contracts/type/NftIdSet.sol +1 -1
  370. package/contracts/type/ObjectType.sol +139 -67
  371. package/contracts/type/Referral.sol +1 -1
  372. package/contracts/type/RequestId.sol +75 -0
  373. package/contracts/type/RiskId.sol +1 -1
  374. package/contracts/type/RoleId.sol +79 -21
  375. package/contracts/type/Seconds.sol +18 -0
  376. package/contracts/type/Selector.sol +102 -0
  377. package/contracts/type/StateId.sol +12 -0
  378. package/contracts/type/String.sol +53 -0
  379. package/contracts/type/Timestamp.sol +6 -2
  380. package/contracts/type/Version.sol +1 -1
  381. package/package.json +3 -3
  382. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  383. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
  384. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  385. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -298
  386. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  387. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  388. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  389. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  390. package/contracts/instance/InstanceAccessManager.sol +0 -543
  391. package/contracts/registry/RegistryAccessManager.sol +0 -167
  392. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  393. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e4a126ce6401cd78d1e8e897900e2e2d.json"
3
+ "buildInfo": "../../../build-info/6efa1c926ce3374a2355eff3df062902.json"
4
4
  }
@@ -411,7 +411,7 @@
411
411
  "outputs": [
412
412
  {
413
413
  "internalType": "ObjectType",
414
- "name": "",
414
+ "name": "serviceDomain",
415
415
  "type": "uint8"
416
416
  }
417
417
  ],
@@ -507,6 +507,19 @@
507
507
  "stateMutability": "view",
508
508
  "type": "function"
509
509
  },
510
+ {
511
+ "inputs": [],
512
+ "name": "getRoleId",
513
+ "outputs": [
514
+ {
515
+ "internalType": "RoleId",
516
+ "name": "serviceRoleId",
517
+ "type": "uint64"
518
+ }
519
+ ],
520
+ "stateMutability": "pure",
521
+ "type": "function"
522
+ },
510
523
  {
511
524
  "inputs": [],
512
525
  "name": "getVersion",
@@ -653,7 +666,13 @@
653
666
  {
654
667
  "inputs": [],
655
668
  "name": "linkToRegisteredNftId",
656
- "outputs": [],
669
+ "outputs": [
670
+ {
671
+ "internalType": "NftId",
672
+ "name": "nftId",
673
+ "type": "uint96"
674
+ }
675
+ ],
657
676
  "stateMutability": "nonpayable",
658
677
  "type": "function"
659
678
  },
@@ -716,42 +735,42 @@
716
735
  "type": "function"
717
736
  }
718
737
  ],
719
- "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b61397780620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063644c45e0116100b85780638fb360371161007c5780638fb36037146102db578063ada9652e146102fc578063b68d180914610311578063bf7e214f14610320578063f4bfe53a1461033e578063f7c34ee01461035e57600080fd5b8063644c45e014610272578063675393bf1461029a5780637a9e5e4b146102ad578063893d20e8146102c05780638e32e979146102c857600080fd5b8063214cdb801161010a578063214cdb80146101f957806327bb7a331461020c578063329d6e741461021f57806336fc697e1461023257806349bb9e4b1461023a5780635ab1bd531461024d57600080fd5b806301ffc9a7146101475780630d8e6e2c146101895780630fec111c146101a5578063138461e0146101ba5780631eff4b22146101c4575b600080fd5b610174610155366004612a38565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610191610371565b60405162ffffff9091168152602001610180565b6101ad6103fb565b6040516101809190612ab2565b6101c26105bf565b005b6101eb7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610180565b6101c2610207366004612a38565b6107c6565b6101c261021a366004612cce565b6107f3565b6101c261022d366004612d66565b610898565b6101c26109e5565b6101c2610248366004612d9a565b610a2b565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610180565b6000805160206138e2833981519152546040516001600160601b039091168152602001610180565b6101c26102a8366004612ddf565b610b2a565b6101c26102bb366004612ddf565b610c38565b61025a610cd2565b6101c26102d6366004612dfc565b610e09565b6102e3611042565b6040516001600160e01b03199091168152602001610180565b6101eb6000805160206138e283398151915281565b60405160e68152602001610180565b600080516020613902833981519152546001600160a01b031661025a565b61035161034c366004612e70565b61107a565b6040516101809190612f1e565b6101c261036c36600461300d565b6114c6565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af41580156103d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f69190613046565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915260007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156104af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d3919061307b565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161051b610cd2565b6001600160a01b0316815260200182600101805461053890613098565b80601f016020809104026020016040519081016040528092919081815260200182805461056490613098565b80156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505081525091505090565b60006000805160206138e283398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561062e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065291906130dd565b156106835780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306106966001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa1580156106de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070291906130dd565b61072a5760405163b9304b0d60e01b81526001600160a01b038216600482015260240161067a565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa15801561077e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a2919061307b565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b6107ce61153d565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b6107fb61153d565b61080582876114c6565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30161088e8382613148565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c6108ba610371565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e9190613207565b6000805160206139228339815191528054600160401b900460ff1680610951575080546001600160401b03808416911610155b1561096f5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561099983611576565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b6109ed61153d565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b6000805160206139228339815191528054600160401b810460ff1615906001600160401b0316600081158015610a5e5750825b90506000826001600160401b03166001148015610a7a5750303b155b905081158015610a88575080155b15610aa65760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610ad057845460ff60401b1916600160401b1785555b610ada878761157e565b8315610b2157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b610b3261153d565b806001600160a01b03163b600003610b685760405163fdeac91f60e01b81526001600160a01b038216600482015260240161067a565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152633135064760e11b60048201526301ffc9a790602401602060405180830381865afa925050508015610be2575060408051601f3d908101601f19168201909252610bdf918101906130dd565b60015b610c0a5760405163fdeac91f60e01b81526001600160a01b038216600482015260240161067a565b80610c335760405163fdeac91f60e01b81526001600160a01b038316600482015260240161067a565b505b50565b33610c58600080516020613902833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b031614610c935760405162d1953b60e31b81526001600160a01b038216600482015260240161067a565b816001600160a01b03163b600003610cc9576040516361798f2f60e11b81526001600160a01b038316600482015260240161067a565b610c33826116c8565b6000806000805160206138e283398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6691906130dd565b15610df3576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ded919061323b565b91505090565b54600160601b90046001600160a01b0316919050565b610e1161153d565b610e9183846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e77919061307b565b603c600085604051806020016040528060008152506107f3565b6001600160a01b03821615610eae57610ea982611729565b61101d565b6000610ec26001546001600160a01b031690565b6001600160a01b031663d39e60436028604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f469190613263565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf919061323b565b905061101b816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611016919061323b565b611729565b505b61102d634a531f3360e01b6107c6565b61103d63b68d180960e01b6107c6565b505050565b600080516020613902833981519152805460009190600160a01b900460ff1661106c576000610ded565b638fb3603760e01b91505090565b611082612992565b60008080806110928c606e61173a565b91509150806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f8919061323b565b6080830151604051633c5e741960e21b81529195506001600160a01b03169063f179d06490611131908d908f908e908e90600401613280565b602060405180830381865afa15801561114e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611172919061307b565b6040516302d764c760e21b81526001600160601b038e166004820152909350600092506001600160a01b0385169150630b5d931c9060240161020060405180830381865afa1580156111c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ec9190613319565b604051634793b4ab60e01b81526001600160601b03881660048201529091506000906001600160a01b03851690634793b4ab90602401600060405180830381865afa15801561123f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112679190810190613429565b905061127b8160000151836020015161190b565b156112bb57805160208301516040516311db892d60e01b81526001600160601b03808b16600483015292831660248201529116604482015260640161067a565b6112c6838383611922565b94506112d3858383611ad2565b94506112e185838887611e0a565b94506112ec8561239f565b945061139373__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968760a001516040518263ffffffff1660e01b815260040161132e91815260200190565b602060405180830381865af415801561134b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136f919061307b565b61138e611384886000015189602001516125cf565b88604001516125cf565b612656565b156113b157604051630f96c23560e01b815260040160405180910390fd5b8160a0015160200151856101c001511015611426576101208501516101a08601516101c08701516101e08801516102008901516102208a0151604051637bee97c760e11b81526004810196909652602486019490945260448501929092526064840152608483015260a482015260c40161067a565b846102000151856101e001518661022001516114429190613508565b61144c9190613508565b856101a00151146114b7576101208501516101a08601516101c08701516101e08801516102008901516102208a0151604051637bee97c760e11b81526004810196909652602486019490945260448501929092526064840152608483015260a482015260c40161067a565b50505050979650505050505050565b6114ce61153d565b6114d781610b2a565b6114df6109e5565b6001600160a01b0382166115065760405163f17ef42d60e01b815260040160405180910390fd5b506000805160206138e283398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b60008051602061392283398151915254600160401b900460ff1661157457604051631afcd79f60e31b815260040160405180910390fd5b565b61014261153d565b6000805160206139228339815191528054600160401b810460ff1615906001600160401b03166000811580156115b15750825b90506000826001600160401b031660011480156115cd5750303b155b9050811580156115db575080155b156115f95760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561162357845460ff60401b1916600160401b1785555b6000808780602001905181019061163a919061351b565b925050915061164a82828b610e09565b61165a637a5ff29d60e11b6107c6565b61166460786126e5565b600280546001600160a01b0319166001600160a01b039290921691909117905550508315610b2157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610b18565b60008051602061390283398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b61173161153d565b610c35816127f2565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082015260015490919081906001600160a01b03166040516305247a1760e51b81526001600160601b03871660048201529091506001600160a01b0382169063a48f42e090602401600060405180830381865afa1580156117d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117fa919081019061355d565b925060ff841660641461185857604083015160ff85811691161461185357604080840151905163b83d92cb60e01b81526001600160601b038716600482015260ff8087166024830152909116604482015260640161067a565b6118f4565b6118738360400151611868606e90565b60ff90811691161490565b8061188957506118898360400151611868608c90565b8061189f575061189f8360400151611868607890565b806118b557506118b58360400151611868608290565b6118f457604080840151905163b83d92cb60e01b81526001600160601b038716600482015260ff8087166024830152909116604482015260640161067a565b6119018360200151612803565b9150509250929050565b6001600160601b0382811690821614155b92915050565b61192a612992565b60405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af4158015611982573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a6919061362f565b606082015260405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af4158015611a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a27919061362f565b6080820181815260408501516020015160c0840181905291829190611a4d908390613508565b9052505060c08301516020015160e08201819052608082018051829190611a75908390613508565b9052505060208083015101516101008201819052608082018051829190611a9d908390613508565b905250506080808401516020015161012083018190529082018051829190611ac6908390613508565b90525090949350505050565b611ada612992565b60608401516040516322f5db0f60e11b815260009173__$bf7bc340cbb9229ef1de2c568356e67902$__916345ebb61e91611b1b9160040190815260200190565b602060405180830381865af4158015611b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5c919061362f565b90506000611b7282866040015160000151612898565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be7919061362f565b61014087018190526080870180519192508291611c05908390613508565b90525060c085015151611c19908390612898565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611c6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8e919061362f565b61016087018190526080870180519192508291611cac908390613508565b905250602084015151611cc0908390612898565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d35919061362f565b61018087018190526080870180519192508291611d53908390613508565b905250608085015151611d67908390612898565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddc919061362f565b6101a087018190526080870180519192508291611dfa908390613508565b90525085925050505b9392505050565b611e12612992565b60025484516040516309741ce160e21b81526001600160601b0390911660048201526001600160c01b0319851660248201526001600160a01b03909116906325d0738490604401602060405180830381865afa158015611e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9a91906130dd565b611ec757506101208401516101c08501526101a08401516101e0850152608084015160a085015283612397565b60a0840151604051631d3be47760e01b81526001600160c01b0319851660048201526000906001600160a01b03851690631d3be47790602401600060405180830381865afa158015611f1d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f45919081019061365c565b80516040516313d8ebc960e11b81526001600160601b0390911660048201529091506000906001600160a01b038616906327b1d79290602401600060405180830381865afa158015611f9b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fc39190810190613708565b80516040516368322c6360e11b81526001600160c01b031990911660048201529091506000906001600160a01b0387169063d06458c690602401600060405180830381865afa15801561201a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261204291908101906137c1565b9050600073__$bf7bc340cbb9229ef1de2c568356e67902$__6345ebb61e8b606001516040518263ffffffff1660e01b815260040161208391815260200190565b602060405180830381865af41580156120a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c4919061362f565b60608301516040516332292b2760e21b815273__$bf7bc340cbb9229ef1de2c568356e67902$__9263c8a4ac9c9261210792600401918252602082015260400190565b602060405180830381865af4158015612124573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612148919061362f565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015612199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bd919061362f565b6102008b0181905260808b01516040516322f5db0f60e11b815291925073__$bf7bc340cbb9229ef1de2c568356e67902$__916345ebb61e916122069160040190815260200190565b602060405180830381865af4158015612223573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612247919061362f565b60408086015190516332292b2760e21b815273__$bf7bc340cbb9229ef1de2c568356e67902$__9263c8a4ac9c9261228a92600401918252602082015260400190565b602060405180830381865af41580156122a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cb919061362f565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af415801561231c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612340919061362f565b6102208b0181905260208601516101c08c01526101a08b01516123649083906138b8565b61236e91906138b8565b6101e08b01526102208a015160808b015161238991906138b8565b60a08b015250889450505050505b949350505050565b6123a7612992565b73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968361014001518460c001516123d69190613508565b6040518263ffffffff1660e01b81526004016123f491815260200190565b602060405180830381865af4158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061307b565b6001600160601b031682526102008201516101e083015161012084015173__$3bac17678db7ae928afa209f2f44deec9c$__92634c41dd9692909161247a9190613508565b6124849190613508565b6040518263ffffffff1660e01b81526004016124a291815260200190565b602060405180830381865af41580156124bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e3919061307b565b82602001906001600160601b031690816001600160601b03168152505073__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968361018001518461010001518561016001518660e0015187606001516125409190613508565b61254a9190613508565b6125549190613508565b61255e9190613508565b6040518263ffffffff1660e01b815260040161257c91815260200190565b602060405180830381865af4158015612599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125bd919061307b565b6001600160601b031660408301525090565b60405163274acb3560e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063274acb3590604401602060405180830381865af4158015612632573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e03919061307b565b60405163c4cade9d60e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063c4cade9d90604401602060405180830381865af41580156126b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126dd91906130dd565b159392505050565b60006126f96001546001600160a01b031690565b6001600160a01b031663d39e604383612710610371565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015612765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127899190613263565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156127ce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191c919061323b565b6127fa61153d565b610c35816116c8565b60006128176001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015612866573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261288e919081019061355d565b6080015192915050565b6000611e038383670de0b6b3a764000060008080600019858709858702925082811083820303915050806000036128e2578382816128d8576128d86138cb565b0492505050611e03565b8084116129295760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640161067a565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60405180610240016040528060006001600160601b0316815260200160006001600160601b0316815260200160006001600160601b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215612a4a57600080fd5b81356001600160e01b031981168114611e0357600080fd5b60005b83811015612a7d578181015183820152602001612a65565b50506000910152565b60008151808452612a9e816020860160208601612a62565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a0830151612b1b60c08401826001600160a01b03169052565b5060c083015160e080840152612397610100840182612a86565b6001600160a01b0381168114610c3557600080fd5b6001600160601b0381168114610c3557600080fd5b60ff81168114610c3557600080fd5b8015158114610c3557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612bb557612bb5612b7c565b60405290565b60405160c081016001600160401b0381118282101715612bb557612bb5612b7c565b60405160e081016001600160401b0381118282101715612bb557612bb5612b7c565b60405160a081016001600160401b0381118282101715612bb557612bb5612b7c565b604051601f8201601f191681016001600160401b0381118282101715612c4957612c49612b7c565b604052919050565b60006001600160401b03821115612c6a57612c6a612b7c565b50601f01601f191660200190565b600082601f830112612c8957600080fd5b8135612c9c612c9782612c51565b612c21565b818152846020838601011115612cb157600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c08789031215612ce757600080fd5b8635612cf281612b35565b95506020870135612d0281612b4a565b94506040870135612d1281612b5f565b93506060870135612d2281612b6e565b92506080870135612d3281612b35565b915060a08701356001600160401b03811115612d4d57600080fd5b612d5989828a01612c78565b9150509295509295509295565b600060208284031215612d7857600080fd5b81356001600160401b03811115612d8e57600080fd5b61239784828501612c78565b60008060408385031215612dad57600080fd5b8235612db881612b35565b915060208301356001600160401b03811115612dd357600080fd5b61190185828601612c78565b600060208284031215612df157600080fd5b8135611e0381612b35565b600080600060608486031215612e1157600080fd5b8335612e1c81612b35565b92506020840135612e2c81612b35565b91506040840135612e3c81612b35565b809150509250925092565b6001600160c01b031981168114610c3557600080fd5b64ffffffffff81168114610c3557600080fd5b600080600080600080600060e0888a031215612e8b57600080fd5b8735612e9681612b4a565b96506020880135612ea681612e47565b95506040880135612eb681612b4a565b94506060880135612ec681612e5d565b935060808801356001600160401b03811115612ee157600080fd5b612eed8a828b01612c78565b93505060a0880135612efe81612b4a565b915060c0880135612f0e81612e47565b8091505092959891949750929550565b81516001600160601b0316815261024081016020830151612f4a60208401826001600160601b03169052565b506040830151612f6560408401826001600160601b03169052565b50606083810151908301526080808401519083015260a0808401519083015260c0808401519083015260e08084015190830152610100808401519083015261012080840151908301526101408084015190830152610160808401519083015261018080840151908301526101a080840151908301526101c080840151908301526101e08084015190830152610200808401519083015261022092830151929091019190915290565b6000806040838503121561302057600080fd5b823561302b81612b35565b9150602083013561303b81612b35565b809150509250929050565b60006020828403121561305857600080fd5b815162ffffff81168114611e0357600080fd5b805161307681612b4a565b919050565b60006020828403121561308d57600080fd5b8151611e0381612b4a565b600181811c908216806130ac57607f821691505b6020821081036130cc57634e487b7160e01b600052602260045260246000fd5b50919050565b805161307681612b6e565b6000602082840312156130ef57600080fd5b8151611e0381612b6e565b601f82111561103d57600081815260208120601f850160051c810160208610156131215750805b601f850160051c820191505b818110156131405782815560010161312d565b505050505050565b81516001600160401b0381111561316157613161612b7c565b6131758161316f8454613098565b846130fa565b602080601f8311600181146131aa57600084156131925750858301515b600019600386901b1c1916600185901b178555613140565b600085815260208120601f198616915b828110156131d9578886015182559484019460019091019084016131ba565b50858210156131f75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561321957600080fd5b81516001600160401b0381168114611e0357600080fd5b805161307681612b35565b60006020828403121561324d57600080fd5b8151611e0381612b35565b805161307681612b5f565b60006020828403121561327557600080fd5b8151611e0381612b5f565b6001600160601b03851681526001600160401b0360c01b8416602082015264ffffffffff831660408201526080606082015260006132c16080830184612a86565b9695505050505050565b6000604082840312156132dd57600080fd5b604051604081018181106001600160401b03821117156132ff576132ff612b7c565b604052825181526020928301519281019290925250919050565b6000610200828403121561332c57600080fd5b613334612b92565b61333d8361306b565b815261334b6020840161306b565b602082015261335d84604085016132cb565b604082015261336f84608085016132cb565b60608201526133818460c085016132cb565b6080820152610100613395858286016132cb565b60a08301526133a88561014086016132cb565b60c08301526133bb8561018086016132cb565b60e08301526133ce856101c086016132cb565b908201529392505050565b600082601f8301126133ea57600080fd5b81516133f8612c9782612c51565b81815284602083860101111561340d57600080fd5b612397826020830160208701612a62565b805161307681612e5d565b60006020828403121561343b57600080fd5b81516001600160401b038082111561345257600080fd5b9083019060e0828603121561346657600080fd5b61346e612bbb565b825161347981612b4a565b815261348886602085016132cb565b602082015260608301518281111561349f57600080fd5b6134ab878286016133d9565b604083015250608083015191506134c182612e5d565b8160608201526134d360a0840161341e565b60808201526134e460c0840161341e565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561191c5761191c6134f2565b60008060006060848603121561353057600080fd5b835161353b81612b35565b602085015190935061354c81612b35565b6040850151909250612e3c81612b35565b60006020828403121561356f57600080fd5b81516001600160401b038082111561358657600080fd5b9083019060e0828603121561359a57600080fd5b6135a2612bdd565b6135ab8361306b565b81526135b96020840161306b565b60208201526135ca60408401613258565b60408201526135db606084016130d2565b60608201526135ec60808401613230565b60808201526135fd60a08401613230565b60a082015260c08301518281111561361457600080fd5b613620878286016133d9565b60c08301525095945050505050565b60006020828403121561364157600080fd5b5051919050565b805163ffffffff8116811461307657600080fd5b60006020828403121561366e57600080fd5b81516001600160401b038082111561368557600080fd5b9083019060e0828603121561369957600080fd5b6136a1612bdd565b6136aa8361306b565b81526020830151828111156136be57600080fd5b6136ca878286016133d9565b602083015250604083015160408201526136e660608401613648565b60608201526136f760808401613648565b60808201526135fd60a0840161341e565b60006020828403121561371a57600080fd5b81516001600160401b038082111561373157600080fd5b9083019060a0828603121561374557600080fd5b61374d612bff565b825161375881612e47565b8152602083015161376881612b6e565b602082015260408301518281111561377f57600080fd5b61378b878286016133d9565b604083015250606083015191506137a182612b4a565b8160608201526137b360808401613648565b608082015295945050505050565b6000602082840312156137d357600080fd5b81516001600160401b03808211156137ea57600080fd5b9083019061012082860312156137ff57600080fd5b613807612b92565b82518281111561381657600080fd5b613822878286016133d9565b82525060208301516020820152604083015160408201526060830151606082015261384f60808401613648565b608082015261386060a08401613648565b60a082015261387160c084016130d2565b60c082015261388260e084016130d2565b60e0820152610100808401518381111561389b57600080fd5b6138a7888287016133d9565b918301919091525095945050505050565b8181038181111561191c5761191c6134f2565b634e487b7160e01b600052601260045260246000fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220bef786b22ed53fa9e585a7d6ae4e2bdb5b59316ef36122b6ba6bc1bbb08dd27564736f6c63430008140033",
720
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c8063644c45e0116100b85780638fb360371161007c5780638fb36037146102db578063ada9652e146102fc578063b68d180914610311578063bf7e214f14610320578063f4bfe53a1461033e578063f7c34ee01461035e57600080fd5b8063644c45e014610272578063675393bf1461029a5780637a9e5e4b146102ad578063893d20e8146102c05780638e32e979146102c857600080fd5b8063214cdb801161010a578063214cdb80146101f957806327bb7a331461020c578063329d6e741461021f57806336fc697e1461023257806349bb9e4b1461023a5780635ab1bd531461024d57600080fd5b806301ffc9a7146101475780630d8e6e2c146101895780630fec111c146101a5578063138461e0146101ba5780631eff4b22146101c4575b600080fd5b610174610155366004612a38565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610191610371565b60405162ffffff9091168152602001610180565b6101ad6103fb565b6040516101809190612ab2565b6101c26105bf565b005b6101eb7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610180565b6101c2610207366004612a38565b6107c6565b6101c261021a366004612cce565b6107f3565b6101c261022d366004612d66565b610898565b6101c26109e5565b6101c2610248366004612d9a565b610a2b565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610180565b6000805160206138e2833981519152546040516001600160601b039091168152602001610180565b6101c26102a8366004612ddf565b610b2a565b6101c26102bb366004612ddf565b610c38565b61025a610cd2565b6101c26102d6366004612dfc565b610e09565b6102e3611042565b6040516001600160e01b03199091168152602001610180565b6101eb6000805160206138e283398151915281565b60405160e68152602001610180565b600080516020613902833981519152546001600160a01b031661025a565b61035161034c366004612e70565b61107a565b6040516101809190612f1e565b6101c261036c36600461300d565b6114c6565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af41580156103d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f69190613046565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915260007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156104af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d3919061307b565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161051b610cd2565b6001600160a01b0316815260200182600101805461053890613098565b80601f016020809104026020016040519081016040528092919081815260200182805461056490613098565b80156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505081525091505090565b60006000805160206138e283398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561062e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065291906130dd565b156106835780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306106966001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa1580156106de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070291906130dd565b61072a5760405163b9304b0d60e01b81526001600160a01b038216600482015260240161067a565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa15801561077e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a2919061307b565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b6107ce61153d565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b6107fb61153d565b61080582876114c6565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30161088e8382613148565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c6108ba610371565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e9190613207565b6000805160206139228339815191528054600160401b900460ff1680610951575080546001600160401b03808416911610155b1561096f5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561099983611576565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b6109ed61153d565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b6000805160206139228339815191528054600160401b810460ff1615906001600160401b0316600081158015610a5e5750825b90506000826001600160401b03166001148015610a7a5750303b155b905081158015610a88575080155b15610aa65760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610ad057845460ff60401b1916600160401b1785555b610ada878761157e565b8315610b2157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b610b3261153d565b806001600160a01b03163b600003610b685760405163fdeac91f60e01b81526001600160a01b038216600482015260240161067a565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152633135064760e11b60048201526301ffc9a790602401602060405180830381865afa925050508015610be2575060408051601f3d908101601f19168201909252610bdf918101906130dd565b60015b610c0a5760405163fdeac91f60e01b81526001600160a01b038216600482015260240161067a565b80610c335760405163fdeac91f60e01b81526001600160a01b038316600482015260240161067a565b505b50565b33610c58600080516020613902833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b031614610c935760405162d1953b60e31b81526001600160a01b038216600482015260240161067a565b816001600160a01b03163b600003610cc9576040516361798f2f60e11b81526001600160a01b038316600482015260240161067a565b610c33826116c8565b6000806000805160206138e283398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6691906130dd565b15610df3576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ded919061323b565b91505090565b54600160601b90046001600160a01b0316919050565b610e1161153d565b610e9183846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e77919061307b565b603c600085604051806020016040528060008152506107f3565b6001600160a01b03821615610eae57610ea982611729565b61101d565b6000610ec26001546001600160a01b031690565b6001600160a01b031663d39e60436028604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f469190613263565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf919061323b565b905061101b816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611016919061323b565b611729565b505b61102d634a531f3360e01b6107c6565b61103d63b68d180960e01b6107c6565b505050565b600080516020613902833981519152805460009190600160a01b900460ff1661106c576000610ded565b638fb3603760e01b91505090565b611082612992565b60008080806110928c606e61173a565b91509150806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f8919061323b565b6080830151604051633c5e741960e21b81529195506001600160a01b03169063f179d06490611131908d908f908e908e90600401613280565b602060405180830381865afa15801561114e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611172919061307b565b6040516302d764c760e21b81526001600160601b038e166004820152909350600092506001600160a01b0385169150630b5d931c9060240161020060405180830381865afa1580156111c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ec9190613319565b604051634793b4ab60e01b81526001600160601b03881660048201529091506000906001600160a01b03851690634793b4ab90602401600060405180830381865afa15801561123f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112679190810190613429565b905061127b8160000151836020015161190b565b156112bb57805160208301516040516311db892d60e01b81526001600160601b03808b16600483015292831660248201529116604482015260640161067a565b6112c6838383611922565b94506112d3858383611ad2565b94506112e185838887611e0a565b94506112ec8561239f565b945061139373__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968760a001516040518263ffffffff1660e01b815260040161132e91815260200190565b602060405180830381865af415801561134b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136f919061307b565b61138e611384886000015189602001516125cf565b88604001516125cf565b612656565b156113b157604051630f96c23560e01b815260040160405180910390fd5b8160a0015160200151856101c001511015611426576101208501516101a08601516101c08701516101e08801516102008901516102208a0151604051637bee97c760e11b81526004810196909652602486019490945260448501929092526064840152608483015260a482015260c40161067a565b846102000151856101e001518661022001516114429190613508565b61144c9190613508565b856101a00151146114b7576101208501516101a08601516101c08701516101e08801516102008901516102208a0151604051637bee97c760e11b81526004810196909652602486019490945260448501929092526064840152608483015260a482015260c40161067a565b50505050979650505050505050565b6114ce61153d565b6114d781610b2a565b6114df6109e5565b6001600160a01b0382166115065760405163f17ef42d60e01b815260040160405180910390fd5b506000805160206138e283398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b60008051602061392283398151915254600160401b900460ff1661157457604051631afcd79f60e31b815260040160405180910390fd5b565b61014261153d565b6000805160206139228339815191528054600160401b810460ff1615906001600160401b03166000811580156115b15750825b90506000826001600160401b031660011480156115cd5750303b155b9050811580156115db575080155b156115f95760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561162357845460ff60401b1916600160401b1785555b6000808780602001905181019061163a919061351b565b925050915061164a82828b610e09565b61165a637a5ff29d60e11b6107c6565b61166460786126e5565b600280546001600160a01b0319166001600160a01b039290921691909117905550508315610b2157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610b18565b60008051602061390283398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b61173161153d565b610c35816127f2565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082015260015490919081906001600160a01b03166040516305247a1760e51b81526001600160601b03871660048201529091506001600160a01b0382169063a48f42e090602401600060405180830381865afa1580156117d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117fa919081019061355d565b925060ff841660641461185857604083015160ff85811691161461185357604080840151905163b83d92cb60e01b81526001600160601b038716600482015260ff8087166024830152909116604482015260640161067a565b6118f4565b6118738360400151611868606e90565b60ff90811691161490565b8061188957506118898360400151611868608c90565b8061189f575061189f8360400151611868607890565b806118b557506118b58360400151611868608290565b6118f457604080840151905163b83d92cb60e01b81526001600160601b038716600482015260ff8087166024830152909116604482015260640161067a565b6119018360200151612803565b9150509250929050565b6001600160601b0382811690821614155b92915050565b61192a612992565b60405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af4158015611982573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a6919061362f565b606082015260405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af4158015611a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a27919061362f565b6080820181815260408501516020015160c0840181905291829190611a4d908390613508565b9052505060c08301516020015160e08201819052608082018051829190611a75908390613508565b9052505060208083015101516101008201819052608082018051829190611a9d908390613508565b905250506080808401516020015161012083018190529082018051829190611ac6908390613508565b90525090949350505050565b611ada612992565b60608401516040516322f5db0f60e11b815260009173__$bf7bc340cbb9229ef1de2c568356e67902$__916345ebb61e91611b1b9160040190815260200190565b602060405180830381865af4158015611b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5c919061362f565b90506000611b7282866040015160000151612898565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be7919061362f565b61014087018190526080870180519192508291611c05908390613508565b90525060c085015151611c19908390612898565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611c6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8e919061362f565b61016087018190526080870180519192508291611cac908390613508565b905250602084015151611cc0908390612898565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d35919061362f565b61018087018190526080870180519192508291611d53908390613508565b905250608085015151611d67908390612898565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddc919061362f565b6101a087018190526080870180519192508291611dfa908390613508565b90525085925050505b9392505050565b611e12612992565b60025484516040516309741ce160e21b81526001600160601b0390911660048201526001600160c01b0319851660248201526001600160a01b03909116906325d0738490604401602060405180830381865afa158015611e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9a91906130dd565b611ec757506101208401516101c08501526101a08401516101e0850152608084015160a085015283612397565b60a0840151604051631d3be47760e01b81526001600160c01b0319851660048201526000906001600160a01b03851690631d3be47790602401600060405180830381865afa158015611f1d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f45919081019061365c565b80516040516313d8ebc960e11b81526001600160601b0390911660048201529091506000906001600160a01b038616906327b1d79290602401600060405180830381865afa158015611f9b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fc39190810190613708565b80516040516368322c6360e11b81526001600160c01b031990911660048201529091506000906001600160a01b0387169063d06458c690602401600060405180830381865afa15801561201a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261204291908101906137c1565b9050600073__$bf7bc340cbb9229ef1de2c568356e67902$__6345ebb61e8b606001516040518263ffffffff1660e01b815260040161208391815260200190565b602060405180830381865af41580156120a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c4919061362f565b60608301516040516332292b2760e21b815273__$bf7bc340cbb9229ef1de2c568356e67902$__9263c8a4ac9c9261210792600401918252602082015260400190565b602060405180830381865af4158015612124573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612148919061362f565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015612199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bd919061362f565b6102008b0181905260808b01516040516322f5db0f60e11b815291925073__$bf7bc340cbb9229ef1de2c568356e67902$__916345ebb61e916122069160040190815260200190565b602060405180830381865af4158015612223573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612247919061362f565b60408086015190516332292b2760e21b815273__$bf7bc340cbb9229ef1de2c568356e67902$__9263c8a4ac9c9261228a92600401918252602082015260400190565b602060405180830381865af41580156122a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cb919061362f565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af415801561231c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612340919061362f565b6102208b0181905260208601516101c08c01526101a08b01516123649083906138b8565b61236e91906138b8565b6101e08b01526102208a015160808b015161238991906138b8565b60a08b015250889450505050505b949350505050565b6123a7612992565b73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968361014001518460c001516123d69190613508565b6040518263ffffffff1660e01b81526004016123f491815260200190565b602060405180830381865af4158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061307b565b6001600160601b031682526102008201516101e083015161012084015173__$3bac17678db7ae928afa209f2f44deec9c$__92634c41dd9692909161247a9190613508565b6124849190613508565b6040518263ffffffff1660e01b81526004016124a291815260200190565b602060405180830381865af41580156124bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e3919061307b565b82602001906001600160601b031690816001600160601b03168152505073__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968361018001518461010001518561016001518660e0015187606001516125409190613508565b61254a9190613508565b6125549190613508565b61255e9190613508565b6040518263ffffffff1660e01b815260040161257c91815260200190565b602060405180830381865af4158015612599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125bd919061307b565b6001600160601b031660408301525090565b60405163274acb3560e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063274acb3590604401602060405180830381865af4158015612632573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e03919061307b565b60405163c4cade9d60e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063c4cade9d90604401602060405180830381865af41580156126b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126dd91906130dd565b159392505050565b60006126f96001546001600160a01b031690565b6001600160a01b031663d39e604383612710610371565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015612765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127899190613263565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156127ce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191c919061323b565b6127fa61153d565b610c35816116c8565b60006128176001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015612866573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261288e919081019061355d565b6080015192915050565b6000611e038383670de0b6b3a764000060008080600019858709858702925082811083820303915050806000036128e2578382816128d8576128d86138cb565b0492505050611e03565b8084116129295760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640161067a565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60405180610240016040528060006001600160601b0316815260200160006001600160601b0316815260200160006001600160601b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215612a4a57600080fd5b81356001600160e01b031981168114611e0357600080fd5b60005b83811015612a7d578181015183820152602001612a65565b50506000910152565b60008151808452612a9e816020860160208601612a62565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a0830151612b1b60c08401826001600160a01b03169052565b5060c083015160e080840152612397610100840182612a86565b6001600160a01b0381168114610c3557600080fd5b6001600160601b0381168114610c3557600080fd5b60ff81168114610c3557600080fd5b8015158114610c3557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612bb557612bb5612b7c565b60405290565b60405160c081016001600160401b0381118282101715612bb557612bb5612b7c565b60405160e081016001600160401b0381118282101715612bb557612bb5612b7c565b60405160a081016001600160401b0381118282101715612bb557612bb5612b7c565b604051601f8201601f191681016001600160401b0381118282101715612c4957612c49612b7c565b604052919050565b60006001600160401b03821115612c6a57612c6a612b7c565b50601f01601f191660200190565b600082601f830112612c8957600080fd5b8135612c9c612c9782612c51565b612c21565b818152846020838601011115612cb157600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c08789031215612ce757600080fd5b8635612cf281612b35565b95506020870135612d0281612b4a565b94506040870135612d1281612b5f565b93506060870135612d2281612b6e565b92506080870135612d3281612b35565b915060a08701356001600160401b03811115612d4d57600080fd5b612d5989828a01612c78565b9150509295509295509295565b600060208284031215612d7857600080fd5b81356001600160401b03811115612d8e57600080fd5b61239784828501612c78565b60008060408385031215612dad57600080fd5b8235612db881612b35565b915060208301356001600160401b03811115612dd357600080fd5b61190185828601612c78565b600060208284031215612df157600080fd5b8135611e0381612b35565b600080600060608486031215612e1157600080fd5b8335612e1c81612b35565b92506020840135612e2c81612b35565b91506040840135612e3c81612b35565b809150509250925092565b6001600160c01b031981168114610c3557600080fd5b64ffffffffff81168114610c3557600080fd5b600080600080600080600060e0888a031215612e8b57600080fd5b8735612e9681612b4a565b96506020880135612ea681612e47565b95506040880135612eb681612b4a565b94506060880135612ec681612e5d565b935060808801356001600160401b03811115612ee157600080fd5b612eed8a828b01612c78565b93505060a0880135612efe81612b4a565b915060c0880135612f0e81612e47565b8091505092959891949750929550565b81516001600160601b0316815261024081016020830151612f4a60208401826001600160601b03169052565b506040830151612f6560408401826001600160601b03169052565b50606083810151908301526080808401519083015260a0808401519083015260c0808401519083015260e08084015190830152610100808401519083015261012080840151908301526101408084015190830152610160808401519083015261018080840151908301526101a080840151908301526101c080840151908301526101e08084015190830152610200808401519083015261022092830151929091019190915290565b6000806040838503121561302057600080fd5b823561302b81612b35565b9150602083013561303b81612b35565b809150509250929050565b60006020828403121561305857600080fd5b815162ffffff81168114611e0357600080fd5b805161307681612b4a565b919050565b60006020828403121561308d57600080fd5b8151611e0381612b4a565b600181811c908216806130ac57607f821691505b6020821081036130cc57634e487b7160e01b600052602260045260246000fd5b50919050565b805161307681612b6e565b6000602082840312156130ef57600080fd5b8151611e0381612b6e565b601f82111561103d57600081815260208120601f850160051c810160208610156131215750805b601f850160051c820191505b818110156131405782815560010161312d565b505050505050565b81516001600160401b0381111561316157613161612b7c565b6131758161316f8454613098565b846130fa565b602080601f8311600181146131aa57600084156131925750858301515b600019600386901b1c1916600185901b178555613140565b600085815260208120601f198616915b828110156131d9578886015182559484019460019091019084016131ba565b50858210156131f75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561321957600080fd5b81516001600160401b0381168114611e0357600080fd5b805161307681612b35565b60006020828403121561324d57600080fd5b8151611e0381612b35565b805161307681612b5f565b60006020828403121561327557600080fd5b8151611e0381612b5f565b6001600160601b03851681526001600160401b0360c01b8416602082015264ffffffffff831660408201526080606082015260006132c16080830184612a86565b9695505050505050565b6000604082840312156132dd57600080fd5b604051604081018181106001600160401b03821117156132ff576132ff612b7c565b604052825181526020928301519281019290925250919050565b6000610200828403121561332c57600080fd5b613334612b92565b61333d8361306b565b815261334b6020840161306b565b602082015261335d84604085016132cb565b604082015261336f84608085016132cb565b60608201526133818460c085016132cb565b6080820152610100613395858286016132cb565b60a08301526133a88561014086016132cb565b60c08301526133bb8561018086016132cb565b60e08301526133ce856101c086016132cb565b908201529392505050565b600082601f8301126133ea57600080fd5b81516133f8612c9782612c51565b81815284602083860101111561340d57600080fd5b612397826020830160208701612a62565b805161307681612e5d565b60006020828403121561343b57600080fd5b81516001600160401b038082111561345257600080fd5b9083019060e0828603121561346657600080fd5b61346e612bbb565b825161347981612b4a565b815261348886602085016132cb565b602082015260608301518281111561349f57600080fd5b6134ab878286016133d9565b604083015250608083015191506134c182612e5d565b8160608201526134d360a0840161341e565b60808201526134e460c0840161341e565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561191c5761191c6134f2565b60008060006060848603121561353057600080fd5b835161353b81612b35565b602085015190935061354c81612b35565b6040850151909250612e3c81612b35565b60006020828403121561356f57600080fd5b81516001600160401b038082111561358657600080fd5b9083019060e0828603121561359a57600080fd5b6135a2612bdd565b6135ab8361306b565b81526135b96020840161306b565b60208201526135ca60408401613258565b60408201526135db606084016130d2565b60608201526135ec60808401613230565b60808201526135fd60a08401613230565b60a082015260c08301518281111561361457600080fd5b613620878286016133d9565b60c08301525095945050505050565b60006020828403121561364157600080fd5b5051919050565b805163ffffffff8116811461307657600080fd5b60006020828403121561366e57600080fd5b81516001600160401b038082111561368557600080fd5b9083019060e0828603121561369957600080fd5b6136a1612bdd565b6136aa8361306b565b81526020830151828111156136be57600080fd5b6136ca878286016133d9565b602083015250604083015160408201526136e660608401613648565b60608201526136f760808401613648565b60808201526135fd60a0840161341e565b60006020828403121561371a57600080fd5b81516001600160401b038082111561373157600080fd5b9083019060a0828603121561374557600080fd5b61374d612bff565b825161375881612e47565b8152602083015161376881612b6e565b602082015260408301518281111561377f57600080fd5b61378b878286016133d9565b604083015250606083015191506137a182612b4a565b8160608201526137b360808401613648565b608082015295945050505050565b6000602082840312156137d357600080fd5b81516001600160401b03808211156137ea57600080fd5b9083019061012082860312156137ff57600080fd5b613807612b92565b82518281111561381657600080fd5b613822878286016133d9565b82525060208301516020820152604083015160408201526060830151606082015261384f60808401613648565b608082015261386060a08401613648565b60a082015261387160c084016130d2565b60c082015261388260e084016130d2565b60e0820152610100808401518381111561389b57600080fd5b6138a7888287016133d9565b918301919091525095945050505050565b8181038181111561191c5761191c6134f2565b634e487b7160e01b600052601260045260246000fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220bef786b22ed53fa9e585a7d6ae4e2bdb5b59316ef36122b6ba6bc1bbb08dd27564736f6c63430008140033",
738
+ "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b613b4980620000e66000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063644c45e0116100c35780638fb360371161007c5780638fb3603714610314578063ada9652e14610335578063b68d18091461034a578063bf7e214f14610359578063f4bfe53a14610377578063f7c34ee01461039757600080fd5b8063644c45e014610295578063675393bf146102b35780636c741e78146102c65780637a9e5e4b146102e6578063893d20e8146102f95780638e32e9791461030157600080fd5b8063214cdb8011610115578063214cdb801461021a57806327bb7a331461022f578063329d6e741461024257806336fc697e1461025557806349bb9e4b1461025d5780635ab1bd531461027057600080fd5b806301ffc9a7146101525780630d8e6e2c146101945780630fec111c146101b0578063138461e0146101c55780631eff4b22146101e5575b600080fd5b61017f610160366004612bf7565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61019c6103aa565b60405162ffffff909116815260200161018b565b6101b8610434565b60405161018b9190612c71565b6101cd6105f8565b6040516001600160601b03909116815260200161018b565b61020c7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161018b565b61022d610228366004612bf7565b610603565b005b61022d61023d366004612e8d565b610630565b61022d610250366004612f25565b6106d5565b61022d610822565b61022d61026b366004612f59565b610868565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161018b565b600080516020613ab4833981519152546001600160601b03166101cd565b61022d6102c1366004612fa8565b610967565b6102ce610a7a565b6040516001600160401b03909116815260200161018b565b61022d6102f4366004612fa8565b610b75565b61027d610c0f565b61022d61030f366004612fc5565b610d46565b61031c610e8a565b6040516001600160e01b0319909116815260200161018b565b61020c600080516020613ab483398151915281565b6040516019815260200161018b565b600080516020613ad4833981519152546001600160a01b031661027d565b61038a610385366004613039565b610ec2565b60405161018b91906130e7565b61022d6103a53660046131d6565b611310565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af415801561040b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042f919061320f565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915260007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156104e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050c9190613244565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610554610c0f565b6001600160a01b0316815260200182600101805461057190613261565b80601f016020809104026020016040519081016040528092919081815260200182805461059d90613261565b80156105ea5780601f106105bf576101008083540402835291602001916105ea565b820191906000526020600020905b8154815290600101906020018083116105cd57829003601f168201915b505050505081525091505090565b600061042f30611387565b61060b611588565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610638611588565b6106428287611310565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3016106cb83826132e9565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c6106f76103aa565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075b91906133bd565b600080516020613af48339815191528054600160401b900460ff168061078e575080546001600160401b03808416911610155b156107ac5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b1781556107d6836115c1565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b61082a611588565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600080516020613af48339815191528054600160401b810460ff1615906001600160401b031660008115801561089b5750825b90506000826001600160401b031660011480156108b75750303b155b9050811580156108c5575080155b156108e35760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561090d57845460ff60401b1916600160401b1785555b61091787876115c9565b831561095e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b61096f611588565b806001600160a01b03163b6000036109aa5760405163fdeac91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263e607072160e01b60048201526301ffc9a790602401602060405180830381865afa925050508015610a24575060408051601f3d908101601f19168201909252610a21918101906133e5565b60015b610a4c5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016109a1565b80610a755760405163fdeac91f60e01b81526001600160a01b03831660048201526024016109a1565b505b50565b600073__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d36019604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0c919061340d565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015610b51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042f91906133bd565b33610b95600080516020613ad4833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b031614610bd05760405162d1953b60e31b81526001600160a01b03821660048201526024016109a1565b816001600160a01b03163b600003610c06576040516361798f2f60e11b81526001600160a01b03831660048201526024016109a1565b610a7582611713565b600080600080516020613ab483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610c7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca391906133e5565b15610d30576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2a9190613435565b91505090565b54600160601b90046001600160a01b0316919050565b610d4e611588565b610dce83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db49190613244565b600960008560405180602001604052806000815250610630565b6001600160a01b03821615610deb57610de682611774565b610e65565b6000610df76002611785565b9050610e63816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5e9190613435565b611774565b505b610e75634a531f3360e01b610603565b610e8563daf9067160e01b610603565b505050565b600080516020613ad4833981519152805460009190600160a01b900460ff16610eb4576000610d2a565b638fb3603760e01b91505090565b610eca612b51565b6000808080610edc8c600c6000611891565b91509150806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f429190613435565b6080830151604051633c5e741960e21b81529195506001600160a01b03169063f179d06490610f7b908d908f908e908e90600401613452565b602060405180830381865afa158015610f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbc9190613244565b6040516302d764c760e21b81526001600160601b038e166004820152909350600092506001600160a01b0385169150630b5d931c9060240161020060405180830381865afa158015611012573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103691906134eb565b604051634793b4ab60e01b81526001600160601b03881660048201529091506000906001600160a01b03851690634793b4ab90602401600060405180830381865afa158015611089573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b191908101906135fb565b90506110c581600001518360200151611b63565b1561110557805160208301516040516311db892d60e01b81526001600160601b03808b1660048301529283166024820152911660448201526064016109a1565b611110838383611bf1565b945061111d858383611da1565b945061112b858388876120d6565b94506111368561266b565b94506111dd73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968760a001516040518263ffffffff1660e01b815260040161117891815260200190565b602060405180830381865af4158015611195573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b99190613244565b6111d86111ce8860000151896020015161289b565b886040015161289b565b612922565b156111fb57604051630f96c23560e01b815260040160405180910390fd5b8160a0015160200151856101c001511015611270576101208501516101a08601516101c08701516101e08801516102008901516102208a0151604051637bee97c760e11b81526004810196909652602486019490945260448501929092526064840152608483015260a482015260c4016109a1565b846102000151856101e0015186610220015161128c91906136da565b61129691906136da565b856101a0015114611301576101208501516101a08601516101c08701516101e08801516102008901516102208a0151604051637bee97c760e11b81526004810196909652602486019490945260448501929092526064840152608483015260a482015260c4016109a1565b50505050979650505050505050565b611318611588565b61132181610967565b611329610822565b6001600160a01b0382166113505760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020613ab483398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b600080600080516020613ab483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156113f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141b91906133e5565b156114475780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016109a1565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa15801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bf91906133e5565b6114e75760405163b9304b0d60e01b81526001600160a01b03841660048201526024016109a1565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa15801561153b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155f9190613244565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b600080516020613af483398151915254600160401b900460ff166115bf57604051631afcd79f60e31b815260040160405180910390fd5b565b61014d611588565b600080516020613af48339815191528054600160401b810460ff1615906001600160401b03166000811580156115fc5750825b90506000826001600160401b031660011480156116185750303b155b905081158015611626575080155b156116445760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561166e57845460ff60401b1916600160401b1785555b6000808780602001905181019061168591906136ed565b925050915061169582828b610d46565b6116a5637a5ff29d60e11b610603565b6116af600e611785565b600280546001600160a01b0319166001600160a01b03929092169190911790555050831561095e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610955565b600080516020613ad483398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b61177c611588565b610a77816129b1565b60006117996001546001600160a01b031690565b604051632392b61b60e21b8152600360048201526001600160a01b03919091169063d39e604390849073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af41580156117fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611822919061340d565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015611867573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188b9190613435565b92915050565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082015260015490919081906001600160a01b03166040516305247a1760e51b81526001600160601b03881660048201529091506001600160a01b0382169063a48f42e090602401600060405180830381865afa158015611929573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611951919081019061372f565b925060ff8516600b146119af57604083015160ff8681169116146119aa57604080840151905163b83d92cb60e01b81526001600160601b038816600482015260ff808816602483015290911660448201526064016109a1565b611a4b565b6119ca83604001516119bf600c90565b60ff90811691161490565b806119e057506119e083604001516119bf600f90565b806119f657506119f683604001516119bf600e90565b80611a0c5750611a0c83604001516119bf600d90565b611a4b57604080840151905163b83d92cb60e01b81526001600160601b038816600482015260ff808816602483015290911660448201526064016109a1565b611a5883602001516129c2565b91508315611b5a57816001600160a01b031663e5f6cd276040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac29190613435565b608084015160405163a166aa8960e01b81526001600160a01b03918216600482015291169063a166aa8990602401602060405180830381865afa158015611b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3191906133e5565b15611b5a57604051637d71120960e11b81526001600160601b03871660048201526024016109a1565b50935093915050565b6040516399009c5160e01b81526001600160601b0380841660048301528216602482015260009073__$94a2c899be079b00d952d0d84fffaa5c34$__906399009c5190604401602060405180830381865af4158015611bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bea91906133e5565b9392505050565b611bf9612b51565b60405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af4158015611c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c759190613801565b606082015260405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af4158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190613801565b6080820181815260408501516020015160c0840181905291829190611d1c9083906136da565b9052505060c08301516020015160e08201819052608082018051829190611d449083906136da565b9052505060208083015101516101008201819052608082018051829190611d6c9083906136da565b905250506080808401516020015161012083018190529082018051829190611d959083906136da565b90525090949350505050565b611da9612b51565b60608401516040516322f5db0f60e11b815260009173__$bf7bc340cbb9229ef1de2c568356e67902$__916345ebb61e91611dea9160040190815260200190565b602060405180830381865af4158015611e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2b9190613801565b90506000611e4182866040015160000151612a57565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611e92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb69190613801565b61014087018190526080870180519192508291611ed49083906136da565b90525060c085015151611ee8908390612a57565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613801565b61016087018190526080870180519192508291611f7b9083906136da565b905250602084015151611f8f908390612a57565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611fe0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120049190613801565b610180870181905260808701805191925082916120229083906136da565b905250608085015151612036908390612a57565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015612087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ab9190613801565b6101a0870181905260808701805191925082916120c99083906136da565b9052509495945050505050565b6120de612b51565b60025484516040516309741ce160e21b81526001600160601b0390911660048201526001600160c01b0319851660248201526001600160a01b03909116906325d0738490604401602060405180830381865afa158015612142573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216691906133e5565b61219357506101208401516101c08501526101a08401516101e0850152608084015160a085015283612663565b60a0840151604051631d3be47760e01b81526001600160c01b0319851660048201526000906001600160a01b03851690631d3be47790602401600060405180830381865afa1580156121e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612211919081019061382e565b80516040516313d8ebc960e11b81526001600160601b0390911660048201529091506000906001600160a01b038616906327b1d79290602401600060405180830381865afa158015612267573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261228f91908101906138da565b80516040516368322c6360e11b81526001600160c01b031990911660048201529091506000906001600160a01b0387169063d06458c690602401600060405180830381865afa1580156122e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261230e9190810190613993565b9050600073__$bf7bc340cbb9229ef1de2c568356e67902$__6345ebb61e8b606001516040518263ffffffff1660e01b815260040161234f91815260200190565b602060405180830381865af415801561236c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123909190613801565b60608301516040516332292b2760e21b815273__$bf7bc340cbb9229ef1de2c568356e67902$__9263c8a4ac9c926123d392600401918252602082015260400190565b602060405180830381865af41580156123f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124149190613801565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015612465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124899190613801565b6102008b0181905260808b01516040516322f5db0f60e11b815291925073__$bf7bc340cbb9229ef1de2c568356e67902$__916345ebb61e916124d29160040190815260200190565b602060405180830381865af41580156124ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125139190613801565b60408086015190516332292b2760e21b815273__$bf7bc340cbb9229ef1de2c568356e67902$__9263c8a4ac9c9261255692600401918252602082015260400190565b602060405180830381865af4158015612573573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125979190613801565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af41580156125e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260c9190613801565b6102208b0181905260208601516101c08c01526101a08b0151612630908390613a8a565b61263a9190613a8a565b6101e08b01526102208a015160808b01516126559190613a8a565b60a08b015250889450505050505b949350505050565b612673612b51565b73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968361014001518460c001516126a291906136da565b6040518263ffffffff1660e01b81526004016126c091815260200190565b602060405180830381865af41580156126dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127019190613244565b6001600160601b031682526102008201516101e083015161012084015173__$3bac17678db7ae928afa209f2f44deec9c$__92634c41dd9692909161274691906136da565b61275091906136da565b6040518263ffffffff1660e01b815260040161276e91815260200190565b602060405180830381865af415801561278b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127af9190613244565b82602001906001600160601b031690816001600160601b03168152505073__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968361018001518461010001518561016001518660e00151876060015161280c91906136da565b61281691906136da565b61282091906136da565b61282a91906136da565b6040518263ffffffff1660e01b815260040161284891815260200190565b602060405180830381865af4158015612865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128899190613244565b6001600160601b031660408301525090565b60405163274acb3560e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063274acb3590604401602060405180830381865af41580156128fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bea9190613244565b60405163c4cade9d60e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063c4cade9d90604401602060405180830381865af4158015612985573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129a991906133e5565b159392505050565b6129b9611588565b610a7781611713565b60006129d66001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015612a25573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a4d919081019061372f565b6080015192915050565b6000611bea8383670de0b6b3a76400006000808060001985870985870292508281108382030391505080600003612aa157838281612a9757612a97613a9d565b0492505050611bea565b808411612ae85760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016109a1565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60405180610240016040528060006001600160601b0316815260200160006001600160601b0316815260200160006001600160601b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215612c0957600080fd5b81356001600160e01b031981168114611bea57600080fd5b60005b83811015612c3c578181015183820152602001612c24565b50506000910152565b60008151808452612c5d816020860160208601612c21565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a0830151612cda60c08401826001600160a01b03169052565b5060c083015160e080840152612663610100840182612c45565b6001600160a01b0381168114610a7757600080fd5b6001600160601b0381168114610a7757600080fd5b60ff81168114610a7757600080fd5b8015158114610a7757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612d7457612d74612d3b565b60405290565b60405160c081016001600160401b0381118282101715612d7457612d74612d3b565b60405160e081016001600160401b0381118282101715612d7457612d74612d3b565b60405160a081016001600160401b0381118282101715612d7457612d74612d3b565b604051601f8201601f191681016001600160401b0381118282101715612e0857612e08612d3b565b604052919050565b60006001600160401b03821115612e2957612e29612d3b565b50601f01601f191660200190565b600082601f830112612e4857600080fd5b8135612e5b612e5682612e10565b612de0565b818152846020838601011115612e7057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c08789031215612ea657600080fd5b8635612eb181612cf4565b95506020870135612ec181612d09565b94506040870135612ed181612d1e565b93506060870135612ee181612d2d565b92506080870135612ef181612cf4565b915060a08701356001600160401b03811115612f0c57600080fd5b612f1889828a01612e37565b9150509295509295509295565b600060208284031215612f3757600080fd5b81356001600160401b03811115612f4d57600080fd5b61266384828501612e37565b60008060408385031215612f6c57600080fd5b8235612f7781612cf4565b915060208301356001600160401b03811115612f9257600080fd5b612f9e85828601612e37565b9150509250929050565b600060208284031215612fba57600080fd5b8135611bea81612cf4565b600080600060608486031215612fda57600080fd5b8335612fe581612cf4565b92506020840135612ff581612cf4565b9150604084013561300581612cf4565b809150509250925092565b6001600160c01b031981168114610a7757600080fd5b64ffffffffff81168114610a7757600080fd5b600080600080600080600060e0888a03121561305457600080fd5b873561305f81612d09565b9650602088013561306f81613010565b9550604088013561307f81612d09565b9450606088013561308f81613026565b935060808801356001600160401b038111156130aa57600080fd5b6130b68a828b01612e37565b93505060a08801356130c781612d09565b915060c08801356130d781613010565b8091505092959891949750929550565b81516001600160601b031681526102408101602083015161311360208401826001600160601b03169052565b50604083015161312e60408401826001600160601b03169052565b50606083810151908301526080808401519083015260a0808401519083015260c0808401519083015260e08084015190830152610100808401519083015261012080840151908301526101408084015190830152610160808401519083015261018080840151908301526101a080840151908301526101c080840151908301526101e08084015190830152610200808401519083015261022092830151929091019190915290565b600080604083850312156131e957600080fd5b82356131f481612cf4565b9150602083013561320481612cf4565b809150509250929050565b60006020828403121561322157600080fd5b815162ffffff81168114611bea57600080fd5b805161323f81612d09565b919050565b60006020828403121561325657600080fd5b8151611bea81612d09565b600181811c9082168061327557607f821691505b60208210810361329557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610e8557600081815260208120601f850160051c810160208610156132c25750805b601f850160051c820191505b818110156132e1578281556001016132ce565b505050505050565b81516001600160401b0381111561330257613302612d3b565b613316816133108454613261565b8461329b565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e1565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b0381168114610a7757600080fd5b6000602082840312156133cf57600080fd5b8151611bea816133a8565b805161323f81612d2d565b6000602082840312156133f757600080fd5b8151611bea81612d2d565b805161323f81612d1e565b60006020828403121561341f57600080fd5b8151611bea81612d1e565b805161323f81612cf4565b60006020828403121561344757600080fd5b8151611bea81612cf4565b6001600160601b03851681526001600160401b0360c01b8416602082015264ffffffffff831660408201526080606082015260006134936080830184612c45565b9695505050505050565b6000604082840312156134af57600080fd5b604051604081018181106001600160401b03821117156134d1576134d1612d3b565b604052825181526020928301519281019290925250919050565b600061020082840312156134fe57600080fd5b613506612d51565b61350f83613234565b815261351d60208401613234565b602082015261352f846040850161349d565b6040820152613541846080850161349d565b60608201526135538460c0850161349d565b60808201526101006135678582860161349d565b60a083015261357a85610140860161349d565b60c083015261358d85610180860161349d565b60e08301526135a0856101c0860161349d565b908201529392505050565b600082601f8301126135bc57600080fd5b81516135ca612e5682612e10565b8181528460208386010111156135df57600080fd5b612663826020830160208701612c21565b805161323f81613026565b60006020828403121561360d57600080fd5b81516001600160401b038082111561362457600080fd5b9083019060e0828603121561363857600080fd5b613640612d7a565b825161364b81612d09565b815261365a866020850161349d565b602082015260608301518281111561367157600080fd5b61367d878286016135ab565b6040830152506080830151915061369382613026565b8160608201526136a560a084016135f0565b60808201526136b660c084016135f0565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561188b5761188b6136c4565b60008060006060848603121561370257600080fd5b835161370d81612cf4565b602085015190935061371e81612cf4565b604085015190925061300581612cf4565b60006020828403121561374157600080fd5b81516001600160401b038082111561375857600080fd5b9083019060e0828603121561376c57600080fd5b613774612d9c565b61377d83613234565b815261378b60208401613234565b602082015261379c60408401613402565b60408201526137ad606084016133da565b60608201526137be6080840161342a565b60808201526137cf60a0840161342a565b60a082015260c0830151828111156137e657600080fd5b6137f2878286016135ab565b60c08301525095945050505050565b60006020828403121561381357600080fd5b5051919050565b805163ffffffff8116811461323f57600080fd5b60006020828403121561384057600080fd5b81516001600160401b038082111561385757600080fd5b9083019060e0828603121561386b57600080fd5b613873612d9c565b61387c83613234565b815260208301518281111561389057600080fd5b61389c878286016135ab565b602083015250604083015160408201526138b86060840161381a565b60608201526138c96080840161381a565b60808201526137cf60a084016135f0565b6000602082840312156138ec57600080fd5b81516001600160401b038082111561390357600080fd5b9083019060a0828603121561391757600080fd5b61391f612dbe565b825161392a81613010565b8152602083015161393a81612d2d565b602082015260408301518281111561395157600080fd5b61395d878286016135ab565b6040830152506060830151915061397382612d09565b8160608201526139856080840161381a565b608082015295945050505050565b6000602082840312156139a557600080fd5b81516001600160401b03808211156139bc57600080fd5b9083019061012082860312156139d157600080fd5b6139d9612d51565b8251828111156139e857600080fd5b6139f4878286016135ab565b825250602083015160208201526040830151604082015260608301516060820152613a216080840161381a565b6080820152613a3260a0840161381a565b60a0820152613a4360c084016133da565b60c0820152613a5460e084016133da565b60e08201526101008084015183811115613a6d57600080fd5b613a79888287016135ab565b918301919091525095945050505050565b8181038181111561188b5761188b6136c4565b634e487b7160e01b600052601260045260246000fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220d3620ce0ab319ff4324b7538990e5d7272ba7002455c74c91fd655164191964e64736f6c63430008140033",
739
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063644c45e0116100c35780638fb360371161007c5780638fb3603714610314578063ada9652e14610335578063b68d18091461034a578063bf7e214f14610359578063f4bfe53a14610377578063f7c34ee01461039757600080fd5b8063644c45e014610295578063675393bf146102b35780636c741e78146102c65780637a9e5e4b146102e6578063893d20e8146102f95780638e32e9791461030157600080fd5b8063214cdb8011610115578063214cdb801461021a57806327bb7a331461022f578063329d6e741461024257806336fc697e1461025557806349bb9e4b1461025d5780635ab1bd531461027057600080fd5b806301ffc9a7146101525780630d8e6e2c146101945780630fec111c146101b0578063138461e0146101c55780631eff4b22146101e5575b600080fd5b61017f610160366004612bf7565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61019c6103aa565b60405162ffffff909116815260200161018b565b6101b8610434565b60405161018b9190612c71565b6101cd6105f8565b6040516001600160601b03909116815260200161018b565b61020c7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161018b565b61022d610228366004612bf7565b610603565b005b61022d61023d366004612e8d565b610630565b61022d610250366004612f25565b6106d5565b61022d610822565b61022d61026b366004612f59565b610868565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161018b565b600080516020613ab4833981519152546001600160601b03166101cd565b61022d6102c1366004612fa8565b610967565b6102ce610a7a565b6040516001600160401b03909116815260200161018b565b61022d6102f4366004612fa8565b610b75565b61027d610c0f565b61022d61030f366004612fc5565b610d46565b61031c610e8a565b6040516001600160e01b0319909116815260200161018b565b61020c600080516020613ab483398151915281565b6040516019815260200161018b565b600080516020613ad4833981519152546001600160a01b031661027d565b61038a610385366004613039565b610ec2565b60405161018b91906130e7565b61022d6103a53660046131d6565b611310565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af415801561040b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042f919061320f565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915260007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156104e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050c9190613244565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610554610c0f565b6001600160a01b0316815260200182600101805461057190613261565b80601f016020809104026020016040519081016040528092919081815260200182805461059d90613261565b80156105ea5780601f106105bf576101008083540402835291602001916105ea565b820191906000526020600020905b8154815290600101906020018083116105cd57829003601f168201915b505050505081525091505090565b600061042f30611387565b61060b611588565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610638611588565b6106428287611310565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3016106cb83826132e9565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c6106f76103aa565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075b91906133bd565b600080516020613af48339815191528054600160401b900460ff168061078e575080546001600160401b03808416911610155b156107ac5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b1781556107d6836115c1565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b61082a611588565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600080516020613af48339815191528054600160401b810460ff1615906001600160401b031660008115801561089b5750825b90506000826001600160401b031660011480156108b75750303b155b9050811580156108c5575080155b156108e35760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561090d57845460ff60401b1916600160401b1785555b61091787876115c9565b831561095e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b61096f611588565b806001600160a01b03163b6000036109aa5760405163fdeac91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263e607072160e01b60048201526301ffc9a790602401602060405180830381865afa925050508015610a24575060408051601f3d908101601f19168201909252610a21918101906133e5565b60015b610a4c5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016109a1565b80610a755760405163fdeac91f60e01b81526001600160a01b03831660048201526024016109a1565b505b50565b600073__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d36019604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0c919061340d565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015610b51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042f91906133bd565b33610b95600080516020613ad4833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b031614610bd05760405162d1953b60e31b81526001600160a01b03821660048201526024016109a1565b816001600160a01b03163b600003610c06576040516361798f2f60e11b81526001600160a01b03831660048201526024016109a1565b610a7582611713565b600080600080516020613ab483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610c7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca391906133e5565b15610d30576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2a9190613435565b91505090565b54600160601b90046001600160a01b0316919050565b610d4e611588565b610dce83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db49190613244565b600960008560405180602001604052806000815250610630565b6001600160a01b03821615610deb57610de682611774565b610e65565b6000610df76002611785565b9050610e63816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5e9190613435565b611774565b505b610e75634a531f3360e01b610603565b610e8563daf9067160e01b610603565b505050565b600080516020613ad4833981519152805460009190600160a01b900460ff16610eb4576000610d2a565b638fb3603760e01b91505090565b610eca612b51565b6000808080610edc8c600c6000611891565b91509150806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f429190613435565b6080830151604051633c5e741960e21b81529195506001600160a01b03169063f179d06490610f7b908d908f908e908e90600401613452565b602060405180830381865afa158015610f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbc9190613244565b6040516302d764c760e21b81526001600160601b038e166004820152909350600092506001600160a01b0385169150630b5d931c9060240161020060405180830381865afa158015611012573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103691906134eb565b604051634793b4ab60e01b81526001600160601b03881660048201529091506000906001600160a01b03851690634793b4ab90602401600060405180830381865afa158015611089573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b191908101906135fb565b90506110c581600001518360200151611b63565b1561110557805160208301516040516311db892d60e01b81526001600160601b03808b1660048301529283166024820152911660448201526064016109a1565b611110838383611bf1565b945061111d858383611da1565b945061112b858388876120d6565b94506111368561266b565b94506111dd73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968760a001516040518263ffffffff1660e01b815260040161117891815260200190565b602060405180830381865af4158015611195573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b99190613244565b6111d86111ce8860000151896020015161289b565b886040015161289b565b612922565b156111fb57604051630f96c23560e01b815260040160405180910390fd5b8160a0015160200151856101c001511015611270576101208501516101a08601516101c08701516101e08801516102008901516102208a0151604051637bee97c760e11b81526004810196909652602486019490945260448501929092526064840152608483015260a482015260c4016109a1565b846102000151856101e0015186610220015161128c91906136da565b61129691906136da565b856101a0015114611301576101208501516101a08601516101c08701516101e08801516102008901516102208a0151604051637bee97c760e11b81526004810196909652602486019490945260448501929092526064840152608483015260a482015260c4016109a1565b50505050979650505050505050565b611318611588565b61132181610967565b611329610822565b6001600160a01b0382166113505760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020613ab483398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b600080600080516020613ab483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156113f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141b91906133e5565b156114475780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016109a1565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa15801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bf91906133e5565b6114e75760405163b9304b0d60e01b81526001600160a01b03841660048201526024016109a1565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa15801561153b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155f9190613244565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b600080516020613af483398151915254600160401b900460ff166115bf57604051631afcd79f60e31b815260040160405180910390fd5b565b61014d611588565b600080516020613af48339815191528054600160401b810460ff1615906001600160401b03166000811580156115fc5750825b90506000826001600160401b031660011480156116185750303b155b905081158015611626575080155b156116445760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561166e57845460ff60401b1916600160401b1785555b6000808780602001905181019061168591906136ed565b925050915061169582828b610d46565b6116a5637a5ff29d60e11b610603565b6116af600e611785565b600280546001600160a01b0319166001600160a01b03929092169190911790555050831561095e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610955565b600080516020613ad483398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b61177c611588565b610a77816129b1565b60006117996001546001600160a01b031690565b604051632392b61b60e21b8152600360048201526001600160a01b03919091169063d39e604390849073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af41580156117fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611822919061340d565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015611867573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188b9190613435565b92915050565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082015260015490919081906001600160a01b03166040516305247a1760e51b81526001600160601b03881660048201529091506001600160a01b0382169063a48f42e090602401600060405180830381865afa158015611929573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611951919081019061372f565b925060ff8516600b146119af57604083015160ff8681169116146119aa57604080840151905163b83d92cb60e01b81526001600160601b038816600482015260ff808816602483015290911660448201526064016109a1565b611a4b565b6119ca83604001516119bf600c90565b60ff90811691161490565b806119e057506119e083604001516119bf600f90565b806119f657506119f683604001516119bf600e90565b80611a0c5750611a0c83604001516119bf600d90565b611a4b57604080840151905163b83d92cb60e01b81526001600160601b038816600482015260ff808816602483015290911660448201526064016109a1565b611a5883602001516129c2565b91508315611b5a57816001600160a01b031663e5f6cd276040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac29190613435565b608084015160405163a166aa8960e01b81526001600160a01b03918216600482015291169063a166aa8990602401602060405180830381865afa158015611b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3191906133e5565b15611b5a57604051637d71120960e11b81526001600160601b03871660048201526024016109a1565b50935093915050565b6040516399009c5160e01b81526001600160601b0380841660048301528216602482015260009073__$94a2c899be079b00d952d0d84fffaa5c34$__906399009c5190604401602060405180830381865af4158015611bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bea91906133e5565b9392505050565b611bf9612b51565b60405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af4158015611c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c759190613801565b606082015260405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af4158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190613801565b6080820181815260408501516020015160c0840181905291829190611d1c9083906136da565b9052505060c08301516020015160e08201819052608082018051829190611d449083906136da565b9052505060208083015101516101008201819052608082018051829190611d6c9083906136da565b905250506080808401516020015161012083018190529082018051829190611d959083906136da565b90525090949350505050565b611da9612b51565b60608401516040516322f5db0f60e11b815260009173__$bf7bc340cbb9229ef1de2c568356e67902$__916345ebb61e91611dea9160040190815260200190565b602060405180830381865af4158015611e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2b9190613801565b90506000611e4182866040015160000151612a57565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611e92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb69190613801565b61014087018190526080870180519192508291611ed49083906136da565b90525060c085015151611ee8908390612a57565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613801565b61016087018190526080870180519192508291611f7b9083906136da565b905250602084015151611f8f908390612a57565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015611fe0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120049190613801565b610180870181905260808701805191925082916120229083906136da565b905250608085015151612036908390612a57565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015612087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ab9190613801565b6101a0870181905260808701805191925082916120c99083906136da565b9052509495945050505050565b6120de612b51565b60025484516040516309741ce160e21b81526001600160601b0390911660048201526001600160c01b0319851660248201526001600160a01b03909116906325d0738490604401602060405180830381865afa158015612142573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216691906133e5565b61219357506101208401516101c08501526101a08401516101e0850152608084015160a085015283612663565b60a0840151604051631d3be47760e01b81526001600160c01b0319851660048201526000906001600160a01b03851690631d3be47790602401600060405180830381865afa1580156121e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612211919081019061382e565b80516040516313d8ebc960e11b81526001600160601b0390911660048201529091506000906001600160a01b038616906327b1d79290602401600060405180830381865afa158015612267573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261228f91908101906138da565b80516040516368322c6360e11b81526001600160c01b031990911660048201529091506000906001600160a01b0387169063d06458c690602401600060405180830381865afa1580156122e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261230e9190810190613993565b9050600073__$bf7bc340cbb9229ef1de2c568356e67902$__6345ebb61e8b606001516040518263ffffffff1660e01b815260040161234f91815260200190565b602060405180830381865af415801561236c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123909190613801565b60608301516040516332292b2760e21b815273__$bf7bc340cbb9229ef1de2c568356e67902$__9263c8a4ac9c926123d392600401918252602082015260400190565b602060405180830381865af41580156123f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124149190613801565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015612465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124899190613801565b6102008b0181905260808b01516040516322f5db0f60e11b815291925073__$bf7bc340cbb9229ef1de2c568356e67902$__916345ebb61e916124d29160040190815260200190565b602060405180830381865af41580156124ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125139190613801565b60408086015190516332292b2760e21b815273__$bf7bc340cbb9229ef1de2c568356e67902$__9263c8a4ac9c9261255692600401918252602082015260400190565b602060405180830381865af4158015612573573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125979190613801565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af41580156125e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260c9190613801565b6102208b0181905260208601516101c08c01526101a08b0151612630908390613a8a565b61263a9190613a8a565b6101e08b01526102208a015160808b01516126559190613a8a565b60a08b015250889450505050505b949350505050565b612673612b51565b73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968361014001518460c001516126a291906136da565b6040518263ffffffff1660e01b81526004016126c091815260200190565b602060405180830381865af41580156126dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127019190613244565b6001600160601b031682526102008201516101e083015161012084015173__$3bac17678db7ae928afa209f2f44deec9c$__92634c41dd9692909161274691906136da565b61275091906136da565b6040518263ffffffff1660e01b815260040161276e91815260200190565b602060405180830381865af415801561278b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127af9190613244565b82602001906001600160601b031690816001600160601b03168152505073__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd968361018001518461010001518561016001518660e00151876060015161280c91906136da565b61281691906136da565b61282091906136da565b61282a91906136da565b6040518263ffffffff1660e01b815260040161284891815260200190565b602060405180830381865af4158015612865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128899190613244565b6001600160601b031660408301525090565b60405163274acb3560e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063274acb3590604401602060405180830381865af41580156128fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bea9190613244565b60405163c4cade9d60e01b81526001600160601b0380841660048301528216602482015260009073__$3bac17678db7ae928afa209f2f44deec9c$__9063c4cade9d90604401602060405180830381865af4158015612985573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129a991906133e5565b159392505050565b6129b9611588565b610a7781611713565b60006129d66001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015612a25573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a4d919081019061372f565b6080015192915050565b6000611bea8383670de0b6b3a76400006000808060001985870985870292508281108382030391505080600003612aa157838281612a9757612a97613a9d565b0492505050611bea565b808411612ae85760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016109a1565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60405180610240016040528060006001600160601b0316815260200160006001600160601b0316815260200160006001600160601b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215612c0957600080fd5b81356001600160e01b031981168114611bea57600080fd5b60005b83811015612c3c578181015183820152602001612c24565b50506000910152565b60008151808452612c5d816020860160208601612c21565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a0830151612cda60c08401826001600160a01b03169052565b5060c083015160e080840152612663610100840182612c45565b6001600160a01b0381168114610a7757600080fd5b6001600160601b0381168114610a7757600080fd5b60ff81168114610a7757600080fd5b8015158114610a7757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612d7457612d74612d3b565b60405290565b60405160c081016001600160401b0381118282101715612d7457612d74612d3b565b60405160e081016001600160401b0381118282101715612d7457612d74612d3b565b60405160a081016001600160401b0381118282101715612d7457612d74612d3b565b604051601f8201601f191681016001600160401b0381118282101715612e0857612e08612d3b565b604052919050565b60006001600160401b03821115612e2957612e29612d3b565b50601f01601f191660200190565b600082601f830112612e4857600080fd5b8135612e5b612e5682612e10565b612de0565b818152846020838601011115612e7057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c08789031215612ea657600080fd5b8635612eb181612cf4565b95506020870135612ec181612d09565b94506040870135612ed181612d1e565b93506060870135612ee181612d2d565b92506080870135612ef181612cf4565b915060a08701356001600160401b03811115612f0c57600080fd5b612f1889828a01612e37565b9150509295509295509295565b600060208284031215612f3757600080fd5b81356001600160401b03811115612f4d57600080fd5b61266384828501612e37565b60008060408385031215612f6c57600080fd5b8235612f7781612cf4565b915060208301356001600160401b03811115612f9257600080fd5b612f9e85828601612e37565b9150509250929050565b600060208284031215612fba57600080fd5b8135611bea81612cf4565b600080600060608486031215612fda57600080fd5b8335612fe581612cf4565b92506020840135612ff581612cf4565b9150604084013561300581612cf4565b809150509250925092565b6001600160c01b031981168114610a7757600080fd5b64ffffffffff81168114610a7757600080fd5b600080600080600080600060e0888a03121561305457600080fd5b873561305f81612d09565b9650602088013561306f81613010565b9550604088013561307f81612d09565b9450606088013561308f81613026565b935060808801356001600160401b038111156130aa57600080fd5b6130b68a828b01612e37565b93505060a08801356130c781612d09565b915060c08801356130d781613010565b8091505092959891949750929550565b81516001600160601b031681526102408101602083015161311360208401826001600160601b03169052565b50604083015161312e60408401826001600160601b03169052565b50606083810151908301526080808401519083015260a0808401519083015260c0808401519083015260e08084015190830152610100808401519083015261012080840151908301526101408084015190830152610160808401519083015261018080840151908301526101a080840151908301526101c080840151908301526101e08084015190830152610200808401519083015261022092830151929091019190915290565b600080604083850312156131e957600080fd5b82356131f481612cf4565b9150602083013561320481612cf4565b809150509250929050565b60006020828403121561322157600080fd5b815162ffffff81168114611bea57600080fd5b805161323f81612d09565b919050565b60006020828403121561325657600080fd5b8151611bea81612d09565b600181811c9082168061327557607f821691505b60208210810361329557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610e8557600081815260208120601f850160051c810160208610156132c25750805b601f850160051c820191505b818110156132e1578281556001016132ce565b505050505050565b81516001600160401b0381111561330257613302612d3b565b613316816133108454613261565b8461329b565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e1565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b0381168114610a7757600080fd5b6000602082840312156133cf57600080fd5b8151611bea816133a8565b805161323f81612d2d565b6000602082840312156133f757600080fd5b8151611bea81612d2d565b805161323f81612d1e565b60006020828403121561341f57600080fd5b8151611bea81612d1e565b805161323f81612cf4565b60006020828403121561344757600080fd5b8151611bea81612cf4565b6001600160601b03851681526001600160401b0360c01b8416602082015264ffffffffff831660408201526080606082015260006134936080830184612c45565b9695505050505050565b6000604082840312156134af57600080fd5b604051604081018181106001600160401b03821117156134d1576134d1612d3b565b604052825181526020928301519281019290925250919050565b600061020082840312156134fe57600080fd5b613506612d51565b61350f83613234565b815261351d60208401613234565b602082015261352f846040850161349d565b6040820152613541846080850161349d565b60608201526135538460c0850161349d565b60808201526101006135678582860161349d565b60a083015261357a85610140860161349d565b60c083015261358d85610180860161349d565b60e08301526135a0856101c0860161349d565b908201529392505050565b600082601f8301126135bc57600080fd5b81516135ca612e5682612e10565b8181528460208386010111156135df57600080fd5b612663826020830160208701612c21565b805161323f81613026565b60006020828403121561360d57600080fd5b81516001600160401b038082111561362457600080fd5b9083019060e0828603121561363857600080fd5b613640612d7a565b825161364b81612d09565b815261365a866020850161349d565b602082015260608301518281111561367157600080fd5b61367d878286016135ab565b6040830152506080830151915061369382613026565b8160608201526136a560a084016135f0565b60808201526136b660c084016135f0565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561188b5761188b6136c4565b60008060006060848603121561370257600080fd5b835161370d81612cf4565b602085015190935061371e81612cf4565b604085015190925061300581612cf4565b60006020828403121561374157600080fd5b81516001600160401b038082111561375857600080fd5b9083019060e0828603121561376c57600080fd5b613774612d9c565b61377d83613234565b815261378b60208401613234565b602082015261379c60408401613402565b60408201526137ad606084016133da565b60608201526137be6080840161342a565b60808201526137cf60a0840161342a565b60a082015260c0830151828111156137e657600080fd5b6137f2878286016135ab565b60c08301525095945050505050565b60006020828403121561381357600080fd5b5051919050565b805163ffffffff8116811461323f57600080fd5b60006020828403121561384057600080fd5b81516001600160401b038082111561385757600080fd5b9083019060e0828603121561386b57600080fd5b613873612d9c565b61387c83613234565b815260208301518281111561389057600080fd5b61389c878286016135ab565b602083015250604083015160408201526138b86060840161381a565b60608201526138c96080840161381a565b60808201526137cf60a084016135f0565b6000602082840312156138ec57600080fd5b81516001600160401b038082111561390357600080fd5b9083019060a0828603121561391757600080fd5b61391f612dbe565b825161392a81613010565b8152602083015161393a81612d2d565b602082015260408301518281111561395157600080fd5b61395d878286016135ab565b6040830152506060830151915061397382612d09565b8160608201526139856080840161381a565b608082015295945050505050565b6000602082840312156139a557600080fd5b81516001600160401b03808211156139bc57600080fd5b9083019061012082860312156139d157600080fd5b6139d9612d51565b8251828111156139e857600080fd5b6139f4878286016135ab565b825250602083015160208201526040830151604082015260608301516060820152613a216080840161381a565b6080820152613a3260a0840161381a565b60a0820152613a4360c084016133da565b60c0820152613a5460e084016133da565b60e08201526101008084015183811115613a6d57600080fd5b613a79888287016135ab565b918301919091525095945050505050565b8181038181111561188b5761188b6136c4565b634e487b7160e01b600052601260045260246000fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220d3620ce0ab319ff4324b7538990e5d7272ba7002455c74c91fd655164191964e64736f6c63430008140033",
721
740
  "linkReferences": {
722
741
  "contracts/type/Amount.sol": {
723
742
  "AmountLib": [
724
743
  {
725
744
  "length": 20,
726
- "start": 5081
745
+ "start": 4643
727
746
  },
728
747
  {
729
748
  "length": 20,
730
- "start": 6702
749
+ "start": 7421
731
750
  },
732
751
  {
733
752
  "length": 20,
734
- "start": 6831
753
+ "start": 7550
735
754
  },
736
755
  {
737
756
  "length": 20,
738
- "start": 9359
757
+ "start": 10075
739
758
  },
740
759
  {
741
760
  "length": 20,
742
- "start": 9530
761
+ "start": 10246
743
762
  },
744
763
  {
745
764
  "length": 20,
746
- "start": 9704
765
+ "start": 10420
747
766
  },
748
767
  {
749
768
  "length": 20,
750
- "start": 9950
769
+ "start": 10666
751
770
  },
752
771
  {
753
772
  "length": 20,
754
- "start": 10085
773
+ "start": 10801
755
774
  }
756
775
  ]
757
776
  },
@@ -759,15 +778,27 @@
759
778
  "NftIdLib": [
760
779
  {
761
780
  "length": 20,
762
- "start": 1358
781
+ "start": 1415
782
+ },
783
+ {
784
+ "length": 20,
785
+ "start": 3371
763
786
  },
764
787
  {
765
788
  "length": 20,
766
- "start": 1754
789
+ "start": 5283
767
790
  },
768
791
  {
769
792
  "length": 20,
770
- "start": 3566
793
+ "start": 7282
794
+ }
795
+ ]
796
+ },
797
+ "contracts/type/RoleId.sol": {
798
+ "RoleIdLib": [
799
+ {
800
+ "length": 20,
801
+ "start": 2916
771
802
  }
772
803
  ]
773
804
  },
@@ -775,47 +806,47 @@
775
806
  "UFixedLib": [
776
807
  {
777
808
  "length": 20,
778
- "start": 7127
809
+ "start": 7846
779
810
  },
780
811
  {
781
812
  "length": 20,
782
- "start": 7279
813
+ "start": 7998
783
814
  },
784
815
  {
785
816
  "length": 20,
786
- "start": 7446
817
+ "start": 8165
787
818
  },
788
819
  {
789
820
  "length": 20,
790
- "start": 7613
821
+ "start": 8332
791
822
  },
792
823
  {
793
824
  "length": 20,
794
- "start": 7780
825
+ "start": 8499
795
826
  },
796
827
  {
797
828
  "length": 20,
798
- "start": 8494
829
+ "start": 9210
799
830
  },
800
831
  {
801
832
  "length": 20,
802
- "start": 8638
833
+ "start": 9354
803
834
  },
804
835
  {
805
836
  "length": 20,
806
- "start": 8773
837
+ "start": 9489
807
838
  },
808
839
  {
809
840
  "length": 20,
810
- "start": 8898
841
+ "start": 9614
811
842
  },
812
843
  {
813
844
  "length": 20,
814
- "start": 9025
845
+ "start": 9741
815
846
  },
816
847
  {
817
848
  "length": 20,
818
- "start": 9160
849
+ "start": 9876
819
850
  }
820
851
  ]
821
852
  },
@@ -823,21 +854,21 @@
823
854
  "VersionLib": [
824
855
  {
825
856
  "length": 20,
826
- "start": 1150
827
- },
828
- {
829
- "length": 20,
830
- "start": 2432
857
+ "start": 1207
831
858
  },
832
859
  {
833
860
  "length": 20,
834
- "start": 10257
861
+ "start": 1981
835
862
  }
836
863
  ],
837
864
  "VersionPartLib": [
838
865
  {
839
866
  "length": 20,
840
- "start": 4046
867
+ "start": 2964
868
+ },
869
+ {
870
+ "length": 20,
871
+ "start": 6314
841
872
  }
842
873
  ]
843
874
  }
@@ -847,35 +878,35 @@
847
878
  "AmountLib": [
848
879
  {
849
880
  "length": 20,
850
- "start": 4851
881
+ "start": 4413
851
882
  },
852
883
  {
853
884
  "length": 20,
854
- "start": 6472
885
+ "start": 7191
855
886
  },
856
887
  {
857
888
  "length": 20,
858
- "start": 6601
889
+ "start": 7320
859
890
  },
860
891
  {
861
892
  "length": 20,
862
- "start": 9129
893
+ "start": 9845
863
894
  },
864
895
  {
865
896
  "length": 20,
866
- "start": 9300
897
+ "start": 10016
867
898
  },
868
899
  {
869
900
  "length": 20,
870
- "start": 9474
901
+ "start": 10190
871
902
  },
872
903
  {
873
904
  "length": 20,
874
- "start": 9720
905
+ "start": 10436
875
906
  },
876
907
  {
877
908
  "length": 20,
878
- "start": 9855
909
+ "start": 10571
879
910
  }
880
911
  ]
881
912
  },
@@ -883,15 +914,27 @@
883
914
  "NftIdLib": [
884
915
  {
885
916
  "length": 20,
886
- "start": 1128
917
+ "start": 1185
918
+ },
919
+ {
920
+ "length": 20,
921
+ "start": 3141
887
922
  },
888
923
  {
889
924
  "length": 20,
890
- "start": 1524
925
+ "start": 5053
891
926
  },
892
927
  {
893
928
  "length": 20,
894
- "start": 3336
929
+ "start": 7052
930
+ }
931
+ ]
932
+ },
933
+ "contracts/type/RoleId.sol": {
934
+ "RoleIdLib": [
935
+ {
936
+ "length": 20,
937
+ "start": 2686
895
938
  }
896
939
  ]
897
940
  },
@@ -899,47 +942,47 @@
899
942
  "UFixedLib": [
900
943
  {
901
944
  "length": 20,
902
- "start": 6897
945
+ "start": 7616
903
946
  },
904
947
  {
905
948
  "length": 20,
906
- "start": 7049
949
+ "start": 7768
907
950
  },
908
951
  {
909
952
  "length": 20,
910
- "start": 7216
953
+ "start": 7935
911
954
  },
912
955
  {
913
956
  "length": 20,
914
- "start": 7383
957
+ "start": 8102
915
958
  },
916
959
  {
917
960
  "length": 20,
918
- "start": 7550
961
+ "start": 8269
919
962
  },
920
963
  {
921
964
  "length": 20,
922
- "start": 8264
965
+ "start": 8980
923
966
  },
924
967
  {
925
968
  "length": 20,
926
- "start": 8408
969
+ "start": 9124
927
970
  },
928
971
  {
929
972
  "length": 20,
930
- "start": 8543
973
+ "start": 9259
931
974
  },
932
975
  {
933
976
  "length": 20,
934
- "start": 8668
977
+ "start": 9384
935
978
  },
936
979
  {
937
980
  "length": 20,
938
- "start": 8795
981
+ "start": 9511
939
982
  },
940
983
  {
941
984
  "length": 20,
942
- "start": 8930
985
+ "start": 9646
943
986
  }
944
987
  ]
945
988
  },
@@ -947,21 +990,21 @@
947
990
  "VersionLib": [
948
991
  {
949
992
  "length": 20,
950
- "start": 920
993
+ "start": 977
951
994
  },
952
995
  {
953
996
  "length": 20,
954
- "start": 2202
955
- },
956
- {
957
- "length": 20,
958
- "start": 10027
997
+ "start": 1751
959
998
  }
960
999
  ],
961
1000
  "VersionPartLib": [
962
1001
  {
963
1002
  "length": 20,
964
- "start": 3816
1003
+ "start": 2734
1004
+ },
1005
+ {
1006
+ "length": 20,
1007
+ "start": 6084
965
1008
  }
966
1009
  ]
967
1010
  }