@etherisc/gif-next 0.0.2-e875d61-189 → 0.0.2-e9148e0-933
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +179 -26
 - package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
 - package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +176 -23
 - package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
 - package/artifacts/contracts/components/Distribution.sol/Distribution.json +618 -0
 - package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
 - package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +129 -23
 - package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
 - package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +152 -0
 - package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
 - package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +74 -181
 - package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
 - package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +55 -177
 - package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
 - package/artifacts/contracts/components/Pool.sol/Pool.json +397 -70
 - package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
 - package/artifacts/contracts/components/Product.sol/Product.json +444 -73
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +4 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +66 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +4 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +24 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +4 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +42 -0
 - package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
 - package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
 - package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
 - package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
 - package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
 - package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
 - package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
 - package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
 - package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
 - package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1132 -0
 - package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
 - package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
 - package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
 - package/artifacts/contracts/instance/IInstance.sol/IInstance.json +462 -1400
 - package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
 - package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +480 -0
 - package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
 - package/artifacts/contracts/instance/Instance.sol/Instance.json +2412 -1075
 - package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
 - package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1388 -0
 - package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +931 -0
 - package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +508 -0
 - package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +276 -36
 - package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +33 -1
 - package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +27 -158
 - package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +37 -245
 - package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +4 -4
 - package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
 - package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
 - package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IDistribution.sol/IDistribution.json} +2 -2
 - package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
 - package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
 - package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
 - package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/ISetup.sol/ISetup.json} +2 -2
 - package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
 - package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +381 -77
 - package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
 - package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +716 -0
 - package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +444 -0
 - package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +177 -75
 - package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
 - package/artifacts/contracts/instance/{base/ServiceBase.sol/ServiceBase.json → service/IDistributionService.sol/IDistributionService.json} +204 -58
 - package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +235 -50
 - package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +325 -51
 - package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +421 -53
 - package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +448 -0
 - package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +479 -94
 - package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +448 -0
 - package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
 - package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +186 -12
 - package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
 - package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +358 -37
 - package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
 - package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +947 -0
 - package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
 - package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
 - package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
 - package/artifacts/contracts/registry/Registry.sol/Registry.json +466 -129
 - package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
 - package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1293 -0
 - package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +513 -0
 - package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
 - package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +410 -0
 - package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
 - package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
 - package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
 - package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
 - package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
 - package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
 - package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
 - package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -37
 - package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
 - package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +175 -54
 - package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
 - package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +55 -14
 - package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
 - package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
 - package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
 - package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
 - package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
 - package/artifacts/contracts/shared/Registerable.sol/Registerable.json +190 -37
 - package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +4 -0
 - package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/RegisterableUpgradable.sol/RegisterableUpgradable.json} +188 -90
 - package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
 - package/artifacts/contracts/shared/Service.sol/Service.json +468 -0
 - package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
 - package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
 - package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
 - package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
 - package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
 - package/artifacts/contracts/shared/Versionable.sol/Versionable.json +78 -14
 - package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
 - package/artifacts/contracts/test/TestFee.sol/TestFee.json +4 -4
 - package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
 - package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +204 -36
 - package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
 - package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +14 -14
 - package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
 - package/artifacts/contracts/test/TestService.sol/TestService.json +283 -62
 - package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
 - package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
 - package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
 - package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
 - package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
 - package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +103 -23
 - package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
 - package/artifacts/contracts/test/Usdc.sol/USDC.json +91 -53
 - package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
 - package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
 - package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
 - package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
 - package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
 - package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
 - package/artifacts/contracts/types/Fee.sol/FeeLib.json +52 -13
 - package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
 - package/artifacts/contracts/types/Key32.sol/Key32Lib.json +31 -17
 - package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
 - package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
 - package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
 - package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
 - package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
 - package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
 - package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
 - package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
 - package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
 - package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
 - package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
 - package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
 - package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
 - package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +134 -8
 - package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
 - package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
 - package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
 - package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
 - package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
 - package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
 - package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
 - package/artifacts/contracts/types/UFixed.sol/{UFixedMathLib.json → UFixedLib.json} +3 -3
 - package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
 - package/artifacts/contracts/types/Version.sol/VersionLib.json +40 -2
 - package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
 - package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
 - package/contracts/components/BaseComponent.sol +26 -29
 - package/contracts/components/Distribution.sol +159 -0
 - package/contracts/components/IBaseComponent.sol +9 -3
 - package/contracts/components/IDistributionComponent.sol +44 -0
 - package/contracts/components/IPoolComponent.sol +14 -9
 - package/contracts/components/IProductComponent.sol +25 -9
 - package/contracts/components/Pool.sol +89 -38
 - package/contracts/components/Product.sol +196 -46
 - package/contracts/experiment/cloning/Cloner.sol +47 -0
 - package/contracts/instance/AccessManagedSimple.sol +115 -0
 - package/contracts/instance/AccessManagerSimple.sol +692 -0
 - package/contracts/instance/IAccessManagerSimple.sol +391 -0
 - package/contracts/instance/IInstance.sol +34 -43
 - package/contracts/instance/IInstanceService.sol +30 -0
 - package/contracts/instance/Instance.sol +427 -55
 - package/contracts/instance/InstanceAccessManager.sol +288 -0
 - package/contracts/instance/InstanceReader.sol +306 -0
 - package/contracts/instance/InstanceService.sol +192 -0
 - package/contracts/instance/InstanceServiceManager.sol +57 -0
 - package/contracts/instance/base/ComponentServiceBase.sol +92 -10
 - package/contracts/instance/base/IInstanceBase.sol +6 -2
 - package/contracts/instance/base/IKeyValueStore.sol +13 -14
 - package/contracts/instance/base/ILifecycle.sol +3 -3
 - package/contracts/instance/base/KeyValueStore.sol +49 -38
 - package/contracts/instance/base/Lifecycle.sol +11 -3
 - package/contracts/instance/module/IAccess.sol +38 -0
 - package/contracts/instance/module/IBundle.sol +20 -0
 - package/contracts/instance/module/IDistribution.sol +39 -0
 - package/contracts/instance/module/IPolicy.sol +45 -0
 - package/contracts/instance/module/IRisk.sol +11 -0
 - package/contracts/instance/module/ISetup.sol +44 -0
 - package/contracts/instance/module/ITreasury.sol +23 -0
 - package/contracts/instance/service/ComponentOwnerService.sol +238 -76
 - package/contracts/instance/service/DistributionService.sol +88 -0
 - package/contracts/instance/service/DistributionServiceManager.sol +54 -0
 - package/contracts/instance/service/IComponentOwnerService.sol +1 -3
 - package/contracts/instance/service/IDistributionService.sol +12 -0
 - package/contracts/instance/service/IPoolService.sol +8 -1
 - package/contracts/instance/service/IProductService.sol +56 -7
 - package/contracts/instance/service/PoolService.sol +117 -52
 - package/contracts/instance/service/PoolServiceManager.sol +54 -0
 - package/contracts/instance/service/ProductService.sol +351 -169
 - package/contracts/instance/service/ProductServiceManager.sol +54 -0
 - package/contracts/registry/ChainNft.sol +80 -37
 - package/contracts/registry/IRegistry.sol +47 -25
 - package/contracts/registry/IRegistryService.sol +50 -0
 - package/contracts/registry/ITransferInterceptor.sol +6 -0
 - package/contracts/registry/Registry.sol +333 -270
 - package/contracts/registry/RegistryService.sol +358 -0
 - package/contracts/registry/RegistryServiceManager.sol +80 -0
 - package/contracts/registry/TokenRegistry.sol +111 -0
 - package/contracts/shared/ContractDeployerLib.sol +72 -0
 - package/contracts/shared/ERC165.sol +6 -2
 - package/contracts/shared/INftOwnable.sol +22 -0
 - package/contracts/shared/IRegisterable.sol +8 -15
 - package/contracts/{instance/base → shared}/IService.sol +3 -3
 - package/contracts/shared/IVersionable.sol +55 -11
 - package/contracts/shared/NftOwnable.sol +134 -0
 - package/contracts/shared/ProxyManager.sol +94 -0
 - package/contracts/shared/Registerable.sol +63 -59
 - package/contracts/shared/RegisterableUpgradable.sol +16 -0
 - package/contracts/shared/Service.sol +55 -0
 - package/contracts/shared/TokenHandler.sol +27 -0
 - package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
 - package/contracts/shared/Versionable.sol +113 -55
 - package/contracts/test/TestFee.sol +2 -2
 - package/contracts/test/TestRegisterable.sol +5 -6
 - package/contracts/test/TestRoleId.sol +1 -1
 - package/contracts/test/TestService.sol +5 -13
 - package/contracts/types/DistributorType.sol +55 -0
 - package/contracts/types/Fee.sol +10 -5
 - package/contracts/types/Key32.sol +8 -3
 - package/contracts/types/NumberId.sol +52 -0
 - package/contracts/types/ObjectType.sol +40 -11
 - package/contracts/types/Referral.sol +85 -0
 - package/contracts/types/RiskId.sol +43 -0
 - package/contracts/types/RoleId.sol +62 -10
 - package/contracts/types/StateId.sol +5 -1
 - package/contracts/types/Timestamp.sol +7 -3
 - package/contracts/types/UFixed.sol +128 -12
 - package/contracts/types/Version.sol +13 -1
 - package/package.json +4 -3
 - package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
 - package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
 - package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
 - package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
 - package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -265
 - package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -265
 - package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
 - package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
 - package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
 - package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -136
 - package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
 - package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -136
 - package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -273
 - package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -273
 - package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
 - package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
 - package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
 - package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
 - package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
 - package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -531
 - package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
 - package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -531
 - package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
 - package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
 - package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
 - package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
 - package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
 - package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
 - package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
 - package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -455
 - package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
 - package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -436
 - package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
 - package/contracts/experiment/statemachine/README.md +0 -112
 - package/contracts/instance/IInstanceLinked.sol +0 -8
 - package/contracts/instance/base/InstanceBase.sol +0 -84
 - package/contracts/instance/base/ModuleBase.sol +0 -46
 - package/contracts/instance/base/ServiceBase.sol +0 -37
 - package/contracts/instance/module/access/Access.sol +0 -149
 - package/contracts/instance/module/access/IAccess.sol +0 -53
 - package/contracts/instance/module/bundle/BundleModule.sol +0 -135
 - package/contracts/instance/module/bundle/IBundle.sol +0 -51
 - package/contracts/instance/module/compensation/CompensationModule.sol +0 -17
 - package/contracts/instance/module/compensation/ICompensation.sol +0 -10
 - package/contracts/instance/module/component/ComponentModule.sol +0 -81
 - package/contracts/instance/module/component/IComponent.sol +0 -29
 - package/contracts/instance/module/policy/IPolicy.sol +0 -59
 - package/contracts/instance/module/policy/PolicyModule.sol +0 -89
 - package/contracts/instance/module/pool/IPoolModule.sol +0 -40
 - package/contracts/instance/module/pool/PoolModule.sol +0 -90
 - package/contracts/instance/module/risk/IRisk.sol +0 -10
 - package/contracts/instance/module/risk/RiskModule.sol +0 -17
 - package/contracts/instance/module/treasury/ITreasury.sol +0 -96
 - package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
 - package/contracts/instance/module/treasury/TreasuryModule.sol +0 -171
 - package/contracts/registry/IChainNft.sol +0 -21
 - package/contracts/registry/IRegistryLinked.sol +0 -8
 - package/contracts/shared/IOwnable.sol +0 -6
 - package/contracts/test/TestPool.sol +0 -24
 - package/contracts/test/TestProduct.sol +0 -51
 
    
        package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json
    CHANGED
    
    | 
         @@ -14,11 +14,160 @@ 
     | 
|
| 
       14 
14 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
       15 
15 
     | 
    
         
             
                      "name": "registryNftId",
         
     | 
| 
       16 
16 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
      
 17 
     | 
    
         
            +
                    },
         
     | 
| 
      
 18 
     | 
    
         
            +
                    {
         
     | 
| 
      
 19 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 20 
     | 
    
         
            +
                      "name": "initialOwner",
         
     | 
| 
      
 21 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
       17 
22 
     | 
    
         
             
                    }
         
     | 
| 
       18 
23 
     | 
    
         
             
                  ],
         
     | 
| 
       19 
24 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       20 
25 
     | 
    
         
             
                  "type": "constructor"
         
     | 
| 
       21 
26 
     | 
    
         
             
                },
         
     | 
| 
      
 27 
     | 
    
         
            +
                {
         
     | 
| 
      
 28 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 29 
     | 
    
         
            +
                  "name": "CollateralizationLevelIsZero",
         
     | 
| 
      
 30 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 31 
     | 
    
         
            +
                },
         
     | 
| 
      
 32 
     | 
    
         
            +
                {
         
     | 
| 
      
 33 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 34 
     | 
    
         
            +
                    {
         
     | 
| 
      
 35 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 36 
     | 
    
         
            +
                      "name": "registry",
         
     | 
| 
      
 37 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 38 
     | 
    
         
            +
                    },
         
     | 
| 
      
 39 
     | 
    
         
            +
                    {
         
     | 
| 
      
 40 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 41 
     | 
    
         
            +
                      "name": "nftId",
         
     | 
| 
      
 42 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 43 
     | 
    
         
            +
                    }
         
     | 
| 
      
 44 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 45 
     | 
    
         
            +
                  "name": "ErrorAlreadyLinked",
         
     | 
| 
      
 46 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 47 
     | 
    
         
            +
                },
         
     | 
| 
      
 48 
     | 
    
         
            +
                {
         
     | 
| 
      
 49 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 50 
     | 
    
         
            +
                    {
         
     | 
| 
      
 51 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 52 
     | 
    
         
            +
                      "name": "contractAddress",
         
     | 
| 
      
 53 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 54 
     | 
    
         
            +
                    }
         
     | 
| 
      
 55 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 56 
     | 
    
         
            +
                  "name": "ErrorContractNotRegistered",
         
     | 
| 
      
 57 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 58 
     | 
    
         
            +
                },
         
     | 
| 
      
 59 
     | 
    
         
            +
                {
         
     | 
| 
      
 60 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 61 
     | 
    
         
            +
                    {
         
     | 
| 
      
 62 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 63 
     | 
    
         
            +
                      "name": "account",
         
     | 
| 
      
 64 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 65 
     | 
    
         
            +
                    }
         
     | 
| 
      
 66 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 67 
     | 
    
         
            +
                  "name": "ErrorNotOwner",
         
     | 
| 
      
 68 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 69 
     | 
    
         
            +
                },
         
     | 
| 
      
 70 
     | 
    
         
            +
                {
         
     | 
| 
      
 71 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 72 
     | 
    
         
            +
                    {
         
     | 
| 
      
 73 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 74 
     | 
    
         
            +
                      "name": "registryAddress",
         
     | 
| 
      
 75 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 76 
     | 
    
         
            +
                    }
         
     | 
| 
      
 77 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 78 
     | 
    
         
            +
                  "name": "ErrorNotRegistry",
         
     | 
| 
      
 79 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 80 
     | 
    
         
            +
                },
         
     | 
| 
      
 81 
     | 
    
         
            +
                {
         
     | 
| 
      
 82 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 83 
     | 
    
         
            +
                    {
         
     | 
| 
      
 84 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 85 
     | 
    
         
            +
                      "name": "registryAddress",
         
     | 
| 
      
 86 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 87 
     | 
    
         
            +
                    }
         
     | 
| 
      
 88 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 89 
     | 
    
         
            +
                  "name": "ErrorRegisterableNotRegistry",
         
     | 
| 
      
 90 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 91 
     | 
    
         
            +
                },
         
     | 
| 
      
 92 
     | 
    
         
            +
                {
         
     | 
| 
      
 93 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 94 
     | 
    
         
            +
                  "name": "ErrorRegistryAddressZero",
         
     | 
| 
      
 95 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 96 
     | 
    
         
            +
                },
         
     | 
| 
      
 97 
     | 
    
         
            +
                {
         
     | 
| 
      
 98 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 99 
     | 
    
         
            +
                    {
         
     | 
| 
      
 100 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 101 
     | 
    
         
            +
                      "name": "registry",
         
     | 
| 
      
 102 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 103 
     | 
    
         
            +
                    }
         
     | 
| 
      
 104 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 105 
     | 
    
         
            +
                  "name": "ErrorRegistryAlreadyInitialized",
         
     | 
| 
      
 106 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 107 
     | 
    
         
            +
                },
         
     | 
| 
      
 108 
     | 
    
         
            +
                {
         
     | 
| 
      
 109 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 110 
     | 
    
         
            +
                  "name": "ErrorRegistryNotInitialized",
         
     | 
| 
      
 111 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 112 
     | 
    
         
            +
                },
         
     | 
| 
      
 113 
     | 
    
         
            +
                {
         
     | 
| 
      
 114 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 115 
     | 
    
         
            +
                  "name": "InvalidDistribution",
         
     | 
| 
      
 116 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 117 
     | 
    
         
            +
                },
         
     | 
| 
      
 118 
     | 
    
         
            +
                {
         
     | 
| 
      
 119 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 120 
     | 
    
         
            +
                  "name": "InvalidDistributionsInstance",
         
     | 
| 
      
 121 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 122 
     | 
    
         
            +
                },
         
     | 
| 
      
 123 
     | 
    
         
            +
                {
         
     | 
| 
      
 124 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 125 
     | 
    
         
            +
                  "name": "InvalidInitialization",
         
     | 
| 
      
 126 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 127 
     | 
    
         
            +
                },
         
     | 
| 
      
 128 
     | 
    
         
            +
                {
         
     | 
| 
      
 129 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 130 
     | 
    
         
            +
                  "name": "InvalidPool",
         
     | 
| 
      
 131 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 132 
     | 
    
         
            +
                },
         
     | 
| 
      
 133 
     | 
    
         
            +
                {
         
     | 
| 
      
 134 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 135 
     | 
    
         
            +
                  "name": "InvalidPoolsInstance",
         
     | 
| 
      
 136 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 137 
     | 
    
         
            +
                },
         
     | 
| 
      
 138 
     | 
    
         
            +
                {
         
     | 
| 
      
 139 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 140 
     | 
    
         
            +
                  "name": "InvalidToken",
         
     | 
| 
      
 141 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 142 
     | 
    
         
            +
                },
         
     | 
| 
      
 143 
     | 
    
         
            +
                {
         
     | 
| 
      
 144 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 145 
     | 
    
         
            +
                  "name": "MissingTypeRole",
         
     | 
| 
      
 146 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 147 
     | 
    
         
            +
                },
         
     | 
| 
      
 148 
     | 
    
         
            +
                {
         
     | 
| 
      
 149 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 150 
     | 
    
         
            +
                  "name": "NotInitializing",
         
     | 
| 
      
 151 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 152 
     | 
    
         
            +
                },
         
     | 
| 
      
 153 
     | 
    
         
            +
                {
         
     | 
| 
      
 154 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 155 
     | 
    
         
            +
                  "name": "WalletIsZero",
         
     | 
| 
      
 156 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 157 
     | 
    
         
            +
                },
         
     | 
| 
      
 158 
     | 
    
         
            +
                {
         
     | 
| 
      
 159 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 160 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 161 
     | 
    
         
            +
                    {
         
     | 
| 
      
 162 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 163 
     | 
    
         
            +
                      "internalType": "uint64",
         
     | 
| 
      
 164 
     | 
    
         
            +
                      "name": "version",
         
     | 
| 
      
 165 
     | 
    
         
            +
                      "type": "uint64"
         
     | 
| 
      
 166 
     | 
    
         
            +
                    }
         
     | 
| 
      
 167 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 168 
     | 
    
         
            +
                  "name": "Initialized",
         
     | 
| 
      
 169 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 170 
     | 
    
         
            +
                },
         
     | 
| 
       22 
171 
     | 
    
         
             
                {
         
     | 
| 
       23 
172 
     | 
    
         
             
                  "anonymous": false,
         
     | 
| 
       24 
173 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
         @@ -41,7 +190,7 @@ 
     | 
|
| 
       41 
190 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       42 
191 
     | 
    
         
             
                    }
         
     | 
| 
       43 
192 
     | 
    
         
             
                  ],
         
     | 
| 
       44 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 193 
     | 
    
         
            +
                  "name": "LogVersionableInitialized",
         
     | 
| 
       45 
194 
     | 
    
         
             
                  "type": "event"
         
     | 
| 
       46 
195 
     | 
    
         
             
                },
         
     | 
| 
       47 
196 
     | 
    
         
             
                {
         
     | 
| 
         @@ -58,27 +207,64 @@ 
     | 
|
| 
       58 
207 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       59 
208 
     | 
    
         
             
                },
         
     | 
| 
       60 
209 
     | 
    
         
             
                {
         
     | 
| 
       61 
     | 
    
         
            -
                  "inputs": [
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
       64 
     | 
    
         
            -
                      "name": "implementation",
         
     | 
| 
       65 
     | 
    
         
            -
                      "type": "address"
         
     | 
| 
       66 
     | 
    
         
            -
                    },
         
     | 
| 
      
 210 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 211 
     | 
    
         
            +
                  "name": "REGISTERABLE_LOCATION_V1",
         
     | 
| 
      
 212 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
       67 
213 
     | 
    
         
             
                    {
         
     | 
| 
       68 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       69 
     | 
    
         
            -
                      "name": " 
     | 
| 
       70 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 214 
     | 
    
         
            +
                      "internalType": "bytes32",
         
     | 
| 
      
 215 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
      
 216 
     | 
    
         
            +
                      "type": "bytes32"
         
     | 
| 
       71 
217 
     | 
    
         
             
                    }
         
     | 
| 
       72 
218 
     | 
    
         
             
                  ],
         
     | 
| 
       73 
     | 
    
         
            -
                  " 
     | 
| 
       74 
     | 
    
         
            -
                  "outputs": [],
         
     | 
| 
       75 
     | 
    
         
            -
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 219 
     | 
    
         
            +
                  "stateMutability": "view",
         
     | 
| 
       76 
220 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       77 
221 
     | 
    
         
             
                },
         
     | 
| 
       78 
222 
     | 
    
         
             
                {
         
     | 
| 
       79 
223 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       80 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 224 
     | 
    
         
            +
                  "name": "getInitialInfo",
         
     | 
| 
       81 
225 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
      
 226 
     | 
    
         
            +
                    {
         
     | 
| 
      
 227 
     | 
    
         
            +
                      "components": [
         
     | 
| 
      
 228 
     | 
    
         
            +
                        {
         
     | 
| 
      
 229 
     | 
    
         
            +
                          "internalType": "NftId",
         
     | 
| 
      
 230 
     | 
    
         
            +
                          "name": "nftId",
         
     | 
| 
      
 231 
     | 
    
         
            +
                          "type": "uint96"
         
     | 
| 
      
 232 
     | 
    
         
            +
                        },
         
     | 
| 
      
 233 
     | 
    
         
            +
                        {
         
     | 
| 
      
 234 
     | 
    
         
            +
                          "internalType": "NftId",
         
     | 
| 
      
 235 
     | 
    
         
            +
                          "name": "parentNftId",
         
     | 
| 
      
 236 
     | 
    
         
            +
                          "type": "uint96"
         
     | 
| 
      
 237 
     | 
    
         
            +
                        },
         
     | 
| 
      
 238 
     | 
    
         
            +
                        {
         
     | 
| 
      
 239 
     | 
    
         
            +
                          "internalType": "ObjectType",
         
     | 
| 
      
 240 
     | 
    
         
            +
                          "name": "objectType",
         
     | 
| 
      
 241 
     | 
    
         
            +
                          "type": "uint8"
         
     | 
| 
      
 242 
     | 
    
         
            +
                        },
         
     | 
| 
      
 243 
     | 
    
         
            +
                        {
         
     | 
| 
      
 244 
     | 
    
         
            +
                          "internalType": "bool",
         
     | 
| 
      
 245 
     | 
    
         
            +
                          "name": "isInterceptor",
         
     | 
| 
      
 246 
     | 
    
         
            +
                          "type": "bool"
         
     | 
| 
      
 247 
     | 
    
         
            +
                        },
         
     | 
| 
      
 248 
     | 
    
         
            +
                        {
         
     | 
| 
      
 249 
     | 
    
         
            +
                          "internalType": "address",
         
     | 
| 
      
 250 
     | 
    
         
            +
                          "name": "objectAddress",
         
     | 
| 
      
 251 
     | 
    
         
            +
                          "type": "address"
         
     | 
| 
      
 252 
     | 
    
         
            +
                        },
         
     | 
| 
      
 253 
     | 
    
         
            +
                        {
         
     | 
| 
      
 254 
     | 
    
         
            +
                          "internalType": "address",
         
     | 
| 
      
 255 
     | 
    
         
            +
                          "name": "initialOwner",
         
     | 
| 
      
 256 
     | 
    
         
            +
                          "type": "address"
         
     | 
| 
      
 257 
     | 
    
         
            +
                        },
         
     | 
| 
      
 258 
     | 
    
         
            +
                        {
         
     | 
| 
      
 259 
     | 
    
         
            +
                          "internalType": "bytes",
         
     | 
| 
      
 260 
     | 
    
         
            +
                          "name": "data",
         
     | 
| 
      
 261 
     | 
    
         
            +
                          "type": "bytes"
         
     | 
| 
      
 262 
     | 
    
         
            +
                        }
         
     | 
| 
      
 263 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 264 
     | 
    
         
            +
                      "internalType": "struct IRegistry.ObjectInfo",
         
     | 
| 
      
 265 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
      
 266 
     | 
    
         
            +
                      "type": "tuple"
         
     | 
| 
      
 267 
     | 
    
         
            +
                    },
         
     | 
| 
       82 
268 
     | 
    
         
             
                    {
         
     | 
| 
       83 
269 
     | 
    
         
             
                      "internalType": "bytes",
         
     | 
| 
       84 
270 
     | 
    
         
             
                      "name": "data",
         
     | 
| 
         @@ -88,6 +274,19 @@ 
     | 
|
| 
       88 
274 
     | 
    
         
             
                  "stateMutability": "view",
         
     | 
| 
       89 
275 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       90 
276 
     | 
    
         
             
                },
         
     | 
| 
      
 277 
     | 
    
         
            +
                {
         
     | 
| 
      
 278 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 279 
     | 
    
         
            +
                  "name": "getInitializedVersion",
         
     | 
| 
      
 280 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 281 
     | 
    
         
            +
                    {
         
     | 
| 
      
 282 
     | 
    
         
            +
                      "internalType": "uint64",
         
     | 
| 
      
 283 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
      
 284 
     | 
    
         
            +
                      "type": "uint64"
         
     | 
| 
      
 285 
     | 
    
         
            +
                    }
         
     | 
| 
      
 286 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 287 
     | 
    
         
            +
                  "stateMutability": "view",
         
     | 
| 
      
 288 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 289 
     | 
    
         
            +
                },
         
     | 
| 
       91 
290 
     | 
    
         
             
                {
         
     | 
| 
       92 
291 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       93 
292 
     | 
    
         
             
                  "name": "getMajorVersion",
         
     | 
| 
         @@ -120,7 +319,7 @@ 
     | 
|
| 
       120 
319 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       121 
320 
     | 
    
         
             
                    {
         
     | 
| 
       122 
321 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
       123 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 322 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
       124 
323 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       125 
324 
     | 
    
         
             
                    }
         
     | 
| 
       126 
325 
     | 
    
         
             
                  ],
         
     | 
| 
         @@ -133,7 +332,7 @@ 
     | 
|
| 
       133 
332 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       134 
333 
     | 
    
         
             
                    {
         
     | 
| 
       135 
334 
     | 
    
         
             
                      "internalType": "address",
         
     | 
| 
       136 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 335 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
       137 
336 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       138 
337 
     | 
    
         
             
                    }
         
     | 
| 
       139 
338 
     | 
    
         
             
                  ],
         
     | 
| 
         @@ -142,12 +341,12 @@ 
     | 
|
| 
       142 
341 
     | 
    
         
             
                },
         
     | 
| 
       143 
342 
     | 
    
         
             
                {
         
     | 
| 
       144 
343 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       145 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 344 
     | 
    
         
            +
                  "name": "getRegistry",
         
     | 
| 
       146 
345 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       147 
346 
     | 
    
         
             
                    {
         
     | 
| 
       148 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       149 
     | 
    
         
            -
                      "name": " 
     | 
| 
       150 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 347 
     | 
    
         
            +
                      "internalType": "contract IRegistry",
         
     | 
| 
      
 348 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
      
 349 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
       151 
350 
     | 
    
         
             
                    }
         
     | 
| 
       152 
351 
     | 
    
         
             
                  ],
         
     | 
| 
       153 
352 
     | 
    
         
             
                  "stateMutability": "view",
         
     | 
| 
         @@ -155,11 +354,11 @@ 
     | 
|
| 
       155 
354 
     | 
    
         
             
                },
         
     | 
| 
       156 
355 
     | 
    
         
             
                {
         
     | 
| 
       157 
356 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       158 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 357 
     | 
    
         
            +
                  "name": "getRegistryService",
         
     | 
| 
       159 
358 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       160 
359 
     | 
    
         
             
                    {
         
     | 
| 
       161 
     | 
    
         
            -
                      "internalType": "contract  
     | 
| 
       162 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 360 
     | 
    
         
            +
                      "internalType": "contract IRegistryService",
         
     | 
| 
      
 361 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
       163 
362 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       164 
363 
     | 
    
         
             
                    }
         
     | 
| 
       165 
364 
     | 
    
         
             
                  ],
         
     | 
| 
         @@ -179,20 +378,7 @@ 
     | 
|
| 
       179 
378 
     | 
    
         
             
                    {
         
     | 
| 
       180 
379 
     | 
    
         
             
                      "internalType": "RoleId",
         
     | 
| 
       181 
380 
     | 
    
         
             
                      "name": "role",
         
     | 
| 
       182 
     | 
    
         
            -
                      "type": " 
     | 
| 
       183 
     | 
    
         
            -
                    }
         
     | 
| 
       184 
     | 
    
         
            -
                  ],
         
     | 
| 
       185 
     | 
    
         
            -
                  "stateMutability": "pure",
         
     | 
| 
       186 
     | 
    
         
            -
                  "type": "function"
         
     | 
| 
       187 
     | 
    
         
            -
                },
         
     | 
| 
       188 
     | 
    
         
            -
                {
         
     | 
| 
       189 
     | 
    
         
            -
                  "inputs": [],
         
     | 
| 
       190 
     | 
    
         
            -
                  "name": "getType",
         
     | 
| 
       191 
     | 
    
         
            -
                  "outputs": [
         
     | 
| 
       192 
     | 
    
         
            -
                    {
         
     | 
| 
       193 
     | 
    
         
            -
                      "internalType": "ObjectType",
         
     | 
| 
       194 
     | 
    
         
            -
                      "name": "",
         
     | 
| 
       195 
     | 
    
         
            -
                      "type": "uint8"
         
     | 
| 
      
 381 
     | 
    
         
            +
                      "type": "uint64"
         
     | 
| 
       196 
382 
     | 
    
         
             
                    }
         
     | 
| 
       197 
383 
     | 
    
         
             
                  ],
         
     | 
| 
       198 
384 
     | 
    
         
             
                  "stateMutability": "pure",
         
     | 
| 
         @@ -289,6 +475,29 @@ 
     | 
|
| 
       289 
475 
     | 
    
         
             
                  "stateMutability": "view",
         
     | 
| 
       290 
476 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       291 
477 
     | 
    
         
             
                },
         
     | 
| 
      
 478 
     | 
    
         
            +
                {
         
     | 
| 
      
 479 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 480 
     | 
    
         
            +
                    {
         
     | 
| 
      
 481 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 482 
     | 
    
         
            +
                      "name": "implementation",
         
     | 
| 
      
 483 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 484 
     | 
    
         
            +
                    },
         
     | 
| 
      
 485 
     | 
    
         
            +
                    {
         
     | 
| 
      
 486 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 487 
     | 
    
         
            +
                      "name": "activatedBy",
         
     | 
| 
      
 488 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 489 
     | 
    
         
            +
                    },
         
     | 
| 
      
 490 
     | 
    
         
            +
                    {
         
     | 
| 
      
 491 
     | 
    
         
            +
                      "internalType": "bytes",
         
     | 
| 
      
 492 
     | 
    
         
            +
                      "name": "data",
         
     | 
| 
      
 493 
     | 
    
         
            +
                      "type": "bytes"
         
     | 
| 
      
 494 
     | 
    
         
            +
                    }
         
     | 
| 
      
 495 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 496 
     | 
    
         
            +
                  "name": "initialize",
         
     | 
| 
      
 497 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 498 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 499 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 500 
     | 
    
         
            +
                },
         
     | 
| 
       292 
501 
     | 
    
         
             
                {
         
     | 
| 
       293 
502 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       294 
503 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -297,7 +506,7 @@ 
     | 
|
| 
       297 
506 
     | 
    
         
             
                      "type": "uint24"
         
     | 
| 
       298 
507 
     | 
    
         
             
                    }
         
     | 
| 
       299 
508 
     | 
    
         
             
                  ],
         
     | 
| 
       300 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 509 
     | 
    
         
            +
                  "name": "isInitialized",
         
     | 
| 
       301 
510 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       302 
511 
     | 
    
         
             
                    {
         
     | 
| 
       303 
512 
     | 
    
         
             
                      "internalType": "bool",
         
     | 
| 
         @@ -308,6 +517,13 @@ 
     | 
|
| 
       308 
517 
     | 
    
         
             
                  "stateMutability": "view",
         
     | 
| 
       309 
518 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       310 
519 
     | 
    
         
             
                },
         
     | 
| 
      
 520 
     | 
    
         
            +
                {
         
     | 
| 
      
 521 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 522 
     | 
    
         
            +
                  "name": "linkToRegisteredNftId",
         
     | 
| 
      
 523 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 524 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 525 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 526 
     | 
    
         
            +
                },
         
     | 
| 
       311 
527 
     | 
    
         
             
                {
         
     | 
| 
       312 
528 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       313 
529 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -322,8 +538,14 @@ 
     | 
|
| 
       322 
538 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       323 
539 
     | 
    
         
             
                },
         
     | 
| 
       324 
540 
     | 
    
         
             
                {
         
     | 
| 
       325 
     | 
    
         
            -
                  "inputs": [ 
     | 
| 
       326 
     | 
    
         
            -
             
     | 
| 
      
 541 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 542 
     | 
    
         
            +
                    {
         
     | 
| 
      
 543 
     | 
    
         
            +
                      "internalType": "contract IBaseComponent",
         
     | 
| 
      
 544 
     | 
    
         
            +
                      "name": "distribution",
         
     | 
| 
      
 545 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 546 
     | 
    
         
            +
                    }
         
     | 
| 
      
 547 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 548 
     | 
    
         
            +
                  "name": "registerDistribution",
         
     | 
| 
       327 
549 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       328 
550 
     | 
    
         
             
                    {
         
     | 
| 
       329 
551 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
         @@ -338,11 +560,30 @@ 
     | 
|
| 
       338 
560 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       339 
561 
     | 
    
         
             
                    {
         
     | 
| 
       340 
562 
     | 
    
         
             
                      "internalType": "contract IBaseComponent",
         
     | 
| 
       341 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 563 
     | 
    
         
            +
                      "name": "pool",
         
     | 
| 
       342 
564 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       343 
565 
     | 
    
         
             
                    }
         
     | 
| 
       344 
566 
     | 
    
         
             
                  ],
         
     | 
| 
       345 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 567 
     | 
    
         
            +
                  "name": "registerPool",
         
     | 
| 
      
 568 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 569 
     | 
    
         
            +
                    {
         
     | 
| 
      
 570 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 571 
     | 
    
         
            +
                      "name": "nftId",
         
     | 
| 
      
 572 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 573 
     | 
    
         
            +
                    }
         
     | 
| 
      
 574 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 575 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 576 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 577 
     | 
    
         
            +
                },
         
     | 
| 
      
 578 
     | 
    
         
            +
                {
         
     | 
| 
      
 579 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 580 
     | 
    
         
            +
                    {
         
     | 
| 
      
 581 
     | 
    
         
            +
                      "internalType": "contract IBaseComponent",
         
     | 
| 
      
 582 
     | 
    
         
            +
                      "name": "product",
         
     | 
| 
      
 583 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 584 
     | 
    
         
            +
                    }
         
     | 
| 
      
 585 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 586 
     | 
    
         
            +
                  "name": "registerProduct",
         
     | 
| 
       346 
587 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       347 
588 
     | 
    
         
             
                    {
         
     | 
| 
       348 
589 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
         @@ -384,20 +625,39 @@ 
     | 
|
| 
       384 
625 
     | 
    
         
             
                  "outputs": [],
         
     | 
| 
       385 
626 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       386 
627 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
      
 628 
     | 
    
         
            +
                },
         
     | 
| 
      
 629 
     | 
    
         
            +
                {
         
     | 
| 
      
 630 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 631 
     | 
    
         
            +
                    {
         
     | 
| 
      
 632 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 633 
     | 
    
         
            +
                      "name": "implementation",
         
     | 
| 
      
 634 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 635 
     | 
    
         
            +
                    },
         
     | 
| 
      
 636 
     | 
    
         
            +
                    {
         
     | 
| 
      
 637 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 638 
     | 
    
         
            +
                      "name": "activatedBy",
         
     | 
| 
      
 639 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 640 
     | 
    
         
            +
                    },
         
     | 
| 
      
 641 
     | 
    
         
            +
                    {
         
     | 
| 
      
 642 
     | 
    
         
            +
                      "internalType": "bytes",
         
     | 
| 
      
 643 
     | 
    
         
            +
                      "name": "data",
         
     | 
| 
      
 644 
     | 
    
         
            +
                      "type": "bytes"
         
     | 
| 
      
 645 
     | 
    
         
            +
                    }
         
     | 
| 
      
 646 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 647 
     | 
    
         
            +
                  "name": "upgrade",
         
     | 
| 
      
 648 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 649 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 650 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
       387 
651 
     | 
    
         
             
                }
         
     | 
| 
       388 
652 
     | 
    
         
             
              ],
         
     | 
| 
       389 
     | 
    
         
            -
              "bytecode": "0x60e06040523480156200001157600080fd5b5060405162002c0138038062002c0183398101604081905262000034916200071f565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055818181816001600160a01b038216620000d05760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040516301ffc9a760e01b81526306ecd8ef60e01b60048201526301ffc9a790602401602060405180830381865afa15801562000120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000146919062000774565b620001945760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f52454749535452590000000000006044820152606401620000c7565b6001600160601b03811660a081905260805160405163e74d052f60e01b815260048101929092526001600160a01b03169063e74d052f90602401602060405180830381865afa158015620001ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000212919062000774565b6200026c5760405162461bcd60e51b815260206004820152602360248201527f4552524f523a5247422d3031323a504152454e545f4e4f545f5245474953544560448201526214915160ea1b6064820152608401620000c7565b3360c052631dfba64760e11b60009081526020527f95e5a2564f7af40498dc043c6da135e06324c5edb1f60c2bf4dcdf2da207fa45805460ff1916600117905550620002bc905060003362000302565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff191660011790555050505062000818565b60006200030e620005da565b90506200031b8162000667565b156200037a5760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b6064820152608401620000c7565b600254156200043b57600280546000919062000399906001906200079f565b81548110620003ac57620003ac620007c1565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050620003df82826200070d565b620004395760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401620000c7565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101620004c54290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441990620005cd9083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200063c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006629190620007d7565b905090565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015620006e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007069190620007fe565b1192915050565b62ffffff808216908316115b92915050565b600080604083850312156200073357600080fd5b82516001600160a01b03811681146200074b57600080fd5b60208401519092506001600160601b03811681146200076957600080fd5b809150509250929050565b6000602082840312156200078757600080fd5b815180151581146200079857600080fd5b9392505050565b818103818111156200071957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215620007ea57600080fd5b815162ffffff811681146200079857600080fd5b6000602082840312156200081157600080fd5b5051919050565b60805160a05160c05161238162000880600039600061151c0152600061023301526000818161038f0152818161063a015281816106d301528181610c6201528181610fe60152818161142e0152818161149f0152818161155f015261172801526123816000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80634d459c90116100b85780639555c4db1161007c5780639555c4db146103e8578063a3f4df7e146103fb578063b88da7591461042f578063cde749f414610442578063f435f5a71461044a578063fc0ae0541461045d57600080fd5b80634d459c901461027e5780635ab1bd531461038d578063644c45e0146103c7578063893d20e8146103cf578063946dfcfe146103d757600080fd5b80631aa3a008116100ff5780631aa3a008146101fc5780632f6c493c1461021c57806331b62a3b146102315780633bc5de30146102575780634420e4861461026b57600080fd5b806301ffc9a71461013c5780630abd84341461017e5780630d8e6e2c1461019157806315dae03e146101ad57806317d7de7c146101c2575b600080fd5b61016961014a366004611e48565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61016961018c366004611e8d565b610489565b61019961052c565b60405162ffffff9091168152602001610175565b60285b60405160ff9091168152602001610175565b604080518082019091526015815274436f6d706f6e656e744f776e65725365727669636560581b60208201525b6040516101759190611efa565b6102046105b6565b6040516001600160601b039091168152602001610175565b61022f61022a366004611f22565b6106af565b005b7f0000000000000000000000000000000000000000000000000000000000000000610204565b6040805160208101909152600081526101ef565b610204610279366004611f22565b6109e3565b61033061028c366004611e8d565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610175565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610175565b610204611416565b6103af61147d565b600254604051908152602001610175565b61022f6103f6366004611f3f565b6115d8565b6101ef60405180604001604052806015815260200174436f6d706f6e656e744f776e65725365727669636560581b81525081565b61019961043d366004611f78565b6115e6565b6101b0611627565b61022f610458366004611f22565b611704565b61047061046b366004611fa0565b6119db565b6040516001600160c01b03199091168152602001610175565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105259190611fbd565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af415801561058d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b19190611fd6565b905090565b60006105c061147d565b6001600160a01b0316336001600160a01b0316146106255760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af115801561068b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b1919061200a565b604051636939560f60e11b81526001600160a01b03808316600483015282916000917f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa15801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e919061200a565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190612025565b6108095760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00604482015260640161061c565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086d9190612047565b90506000846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d3919061200a565b9050600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190611fbd565b90506001600160a01b03831663a238accd8260645b6040516001600160e01b031960e085901b168152600481019290925260ff166024820152604401600060405180830381600087803b1580156109c357600080fd5b505af11580156109d7573d6000803e3d6000fd5b50505050505050505050565b600080826001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190612047565b9050336001600160a01b03841614610aa25760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a434f532d3030333a4e4f545f434f4d504f4e454e540000000000604482015260640161061c565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190612047565b90506000846001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6c9190612064565b90506000610b79826119db565b6040516399fd467760e01b81526001600160c01b0319821660048201526001600160a01b038681166024830152919250908416906399fd467790604401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190612025565b610c435760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434d502d3030343a545950455f524f4c455f4d495353494e4700604482015260640161061c565b604051632210724360e11b81526001600160a01b0387811660048301527f00000000000000000000000000000000000000000000000000000000000000001690634420e486906024016020604051808303816000875af1158015610cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccf919061200a565b94506000866001600160a01b03166321df0da76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d359190612047565b9050836001600160a01b031663ea5fa54b87838a6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190612047565b6040516001600160e01b031960e086901b1681526001600160601b0390931660048401526001600160a01b039182166024840152166044820152606401600060405180830381600087803b158015610e0157600080fd5b505af1158015610e15573d6000803e3d6000fd5b50505050610e8c876001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7e9190612064565b606e5b60ff90811691161490565b1561125a5760008790506000816001600160a01b0316631bdd6b766040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efa919061200a565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f799190612025565b610fc55760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a434d502d3030353a504f4f4c5f554e4b4e4f574e000000000000604482015260640161061c565b6040516305247a1760e51b81526001600160601b03821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611035573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261105d9190810190612148565b6060015190506000876001600160a01b0316634afd126b8b838689896001600160a01b031663bc74aab06040518163ffffffff1660e01b81526004016040805180830381865afa1580156110b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d99190612210565b8a6001600160a01b031663daafed406040518163ffffffff1660e01b81526004016040805180830381865afa158015611116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113a9190612210565b896001600160a01b0316634b270a466040518163ffffffff1660e01b81526004016040805180830381865afa158015611177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119b9190612210565b8a6001600160a01b031663235c36036040518163ffffffff1660e01b81526004016040805180830381865afa1580156111d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fc9190612210565b6040518963ffffffff1660e01b815260040161121f98979695949392919061225f565b600060405180830381600087803b15801561123957600080fd5b505af115801561124d573d6000803e3d6000fd5b505050505050505061140c565b6112c6876001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf9190612064565b608c610e81565b1561140c576000879050846001600160a01b031663e03eeb8588836001600160a01b03166387ef9ba06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561131e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113429190612025565b846001600160a01b03166354afef636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a49190611fbd565b6040516001600160e01b031960e086901b1681526001600160601b03909316600484015290151560248301526044820152606401600060405180830381600087803b1580156113f257600080fd5b505af1158015611406573d6000803e3d6000fd5b50505050505b5050505050919050565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa15801561068b573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a919061200a565b90506001600160601b038116611541577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa1580156115ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d29190612047565b91505090565b6115e28282611a30565b5050565b6000600282815481106115fb576115fb6122ea565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168b9190611fd6565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156116e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b19190612064565b604051636939560f60e11b81526001600160a01b03808316600483015282916000917f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa15801561176f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611793919061200a565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156117ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118129190612025565b61185e5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00604482015260640161061c565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561189e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c29190612047565b90506000846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611904573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611928919061200a565b9050600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af415801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c29190611fbd565b90506001600160a01b03831663a238accd82606e610982565b60006119e882606e610e81565b156119fb576119f5611cfe565b92915050565b611a0682608c610e81565b15611a13576119f5611d96565b611a1e826082610e81565b15611a2b576119f5611dee565b919050565b6000611a3a61052c565b9050611a4581610489565b15611aa25760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b606482015260840161061c565b60025415611b61576002805460009190611abe90600190612300565b81548110611ace57611ace6122ea565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050611b07828262ffffff90811691161190565b611b5f5760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b606482015260840161061c565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101611bea4290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441990611cf19083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b60405163e14787cb60e01b815260206004820152601060248201526f50726f647563744f776e6572526f6c6560801b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb906064015b602060405180830381865af4158015611d72573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b19190612321565b60405163e14787cb60e01b815260206004820152600d60248201526c506f6f6c4f776e6572526f6c6560981b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb90606401611d55565b60405163e14787cb60e01b815260206004820152600f60248201526e4f7261636c654f776e6572526f6c6560881b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb90606401611d55565b600060208284031215611e5a57600080fd5b81356001600160e01b031981168114611e7257600080fd5b9392505050565b62ffffff81168114611e8a57600080fd5b50565b600060208284031215611e9f57600080fd5b8135611e7281611e79565b60005b83811015611ec5578181015183820152602001611ead565b50506000910152565b60008151808452611ee6816020860160208601611eaa565b601f01601f19169290920160200192915050565b602081526000611e726020830184611ece565b6001600160a01b0381168114611e8a57600080fd5b600060208284031215611f3457600080fd5b8135611e7281611f0d565b60008060408385031215611f5257600080fd5b8235611f5d81611f0d565b91506020830135611f6d81611f0d565b809150509250929050565b600060208284031215611f8a57600080fd5b5035919050565b60ff81168114611e8a57600080fd5b600060208284031215611fb257600080fd5b8135611e7281611f91565b600060208284031215611fcf57600080fd5b5051919050565b600060208284031215611fe857600080fd5b8151611e7281611e79565b80516001600160601b0381168114611a2b57600080fd5b60006020828403121561201c57600080fd5b611e7282611ff3565b60006020828403121561203757600080fd5b81518015158114611e7257600080fd5b60006020828403121561205957600080fd5b8151611e7281611f0d565b60006020828403121561207657600080fd5b8151611e7281611f91565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156120ba576120ba612081565b60405290565b600082601f8301126120d157600080fd5b815167ffffffffffffffff808211156120ec576120ec612081565b604051601f8301601f19908116603f0116810190828211818310171561211457612114612081565b8160405283815286602085880101111561212d57600080fd5b61213e846020830160208901611eaa565b9695505050505050565b60006020828403121561215a57600080fd5b815167ffffffffffffffff8082111561217257600080fd5b9083019060c0828603121561218657600080fd5b61218e612097565b61219783611ff3565b81526121a560208401611ff3565b602082015260408301516121b881611f91565b604082015260608301516121cb81611f0d565b606082015260808301516121de81611f0d565b608082015260a0830151828111156121f557600080fd5b612201878286016120c0565b60a08301525095945050505050565b60006040828403121561222257600080fd5b6040516040810181811067ffffffffffffffff8211171561224557612245612081565b604052825181526020928301519281019290925250919050565b6001600160601b0389811682528881166020830152871660408201526001600160a01b038616606082015261018081016122a6608083018780518252602090810151910152565b845160c0830152602085015160e083015283516101008301526020840151610120830152825161014083015260208301516101608301529998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b818103818111156119f557634e487b7160e01b600052601160045260246000fd5b60006020828403121561233357600080fd5b81516001600160c01b031981168114611e7257600080fdfea2646970667358221220708bb586468986d33026672899319ab0671a1b708dad77b6c19ac6837ba7546e64736f6c63430008140033",
         
     | 
| 
       390 
     | 
    
         
            -
              "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80634d459c90116100b85780639555c4db1161007c5780639555c4db146103e8578063a3f4df7e146103fb578063b88da7591461042f578063cde749f414610442578063f435f5a71461044a578063fc0ae0541461045d57600080fd5b80634d459c901461027e5780635ab1bd531461038d578063644c45e0146103c7578063893d20e8146103cf578063946dfcfe146103d757600080fd5b80631aa3a008116100ff5780631aa3a008146101fc5780632f6c493c1461021c57806331b62a3b146102315780633bc5de30146102575780634420e4861461026b57600080fd5b806301ffc9a71461013c5780630abd84341461017e5780630d8e6e2c1461019157806315dae03e146101ad57806317d7de7c146101c2575b600080fd5b61016961014a366004611e48565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61016961018c366004611e8d565b610489565b61019961052c565b60405162ffffff9091168152602001610175565b60285b60405160ff9091168152602001610175565b604080518082019091526015815274436f6d706f6e656e744f776e65725365727669636560581b60208201525b6040516101759190611efa565b6102046105b6565b6040516001600160601b039091168152602001610175565b61022f61022a366004611f22565b6106af565b005b7f0000000000000000000000000000000000000000000000000000000000000000610204565b6040805160208101909152600081526101ef565b610204610279366004611f22565b6109e3565b61033061028c366004611e8d565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610175565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610175565b610204611416565b6103af61147d565b600254604051908152602001610175565b61022f6103f6366004611f3f565b6115d8565b6101ef60405180604001604052806015815260200174436f6d706f6e656e744f776e65725365727669636560581b81525081565b61019961043d366004611f78565b6115e6565b6101b0611627565b61022f610458366004611f22565b611704565b61047061046b366004611fa0565b6119db565b6040516001600160c01b03199091168152602001610175565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105259190611fbd565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af415801561058d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b19190611fd6565b905090565b60006105c061147d565b6001600160a01b0316336001600160a01b0316146106255760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af115801561068b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b1919061200a565b604051636939560f60e11b81526001600160a01b03808316600483015282916000917f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa15801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e919061200a565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190612025565b6108095760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00604482015260640161061c565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086d9190612047565b90506000846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d3919061200a565b9050600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190611fbd565b90506001600160a01b03831663a238accd8260645b6040516001600160e01b031960e085901b168152600481019290925260ff166024820152604401600060405180830381600087803b1580156109c357600080fd5b505af11580156109d7573d6000803e3d6000fd5b50505050505050505050565b600080826001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190612047565b9050336001600160a01b03841614610aa25760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a434f532d3030333a4e4f545f434f4d504f4e454e540000000000604482015260640161061c565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190612047565b90506000846001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6c9190612064565b90506000610b79826119db565b6040516399fd467760e01b81526001600160c01b0319821660048201526001600160a01b038681166024830152919250908416906399fd467790604401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190612025565b610c435760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434d502d3030343a545950455f524f4c455f4d495353494e4700604482015260640161061c565b604051632210724360e11b81526001600160a01b0387811660048301527f00000000000000000000000000000000000000000000000000000000000000001690634420e486906024016020604051808303816000875af1158015610cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccf919061200a565b94506000866001600160a01b03166321df0da76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d359190612047565b9050836001600160a01b031663ea5fa54b87838a6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190612047565b6040516001600160e01b031960e086901b1681526001600160601b0390931660048401526001600160a01b039182166024840152166044820152606401600060405180830381600087803b158015610e0157600080fd5b505af1158015610e15573d6000803e3d6000fd5b50505050610e8c876001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7e9190612064565b606e5b60ff90811691161490565b1561125a5760008790506000816001600160a01b0316631bdd6b766040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efa919061200a565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f799190612025565b610fc55760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a434d502d3030353a504f4f4c5f554e4b4e4f574e000000000000604482015260640161061c565b6040516305247a1760e51b81526001600160601b03821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611035573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261105d9190810190612148565b6060015190506000876001600160a01b0316634afd126b8b838689896001600160a01b031663bc74aab06040518163ffffffff1660e01b81526004016040805180830381865afa1580156110b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d99190612210565b8a6001600160a01b031663daafed406040518163ffffffff1660e01b81526004016040805180830381865afa158015611116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113a9190612210565b896001600160a01b0316634b270a466040518163ffffffff1660e01b81526004016040805180830381865afa158015611177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119b9190612210565b8a6001600160a01b031663235c36036040518163ffffffff1660e01b81526004016040805180830381865afa1580156111d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fc9190612210565b6040518963ffffffff1660e01b815260040161121f98979695949392919061225f565b600060405180830381600087803b15801561123957600080fd5b505af115801561124d573d6000803e3d6000fd5b505050505050505061140c565b6112c6876001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf9190612064565b608c610e81565b1561140c576000879050846001600160a01b031663e03eeb8588836001600160a01b03166387ef9ba06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561131e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113429190612025565b846001600160a01b03166354afef636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a49190611fbd565b6040516001600160e01b031960e086901b1681526001600160601b03909316600484015290151560248301526044820152606401600060405180830381600087803b1580156113f257600080fd5b505af1158015611406573d6000803e3d6000fd5b50505050505b5050505050919050565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa15801561068b573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a919061200a565b90506001600160601b038116611541577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa1580156115ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d29190612047565b91505090565b6115e28282611a30565b5050565b6000600282815481106115fb576115fb6122ea565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168b9190611fd6565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156116e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b19190612064565b604051636939560f60e11b81526001600160a01b03808316600483015282916000917f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa15801561176f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611793919061200a565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156117ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118129190612025565b61185e5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00604482015260640161061c565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561189e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c29190612047565b90506000846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611904573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611928919061200a565b9050600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af415801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c29190611fbd565b90506001600160a01b03831663a238accd82606e610982565b60006119e882606e610e81565b156119fb576119f5611cfe565b92915050565b611a0682608c610e81565b15611a13576119f5611d96565b611a1e826082610e81565b15611a2b576119f5611dee565b919050565b6000611a3a61052c565b9050611a4581610489565b15611aa25760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b606482015260840161061c565b60025415611b61576002805460009190611abe90600190612300565b81548110611ace57611ace6122ea565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050611b07828262ffffff90811691161190565b611b5f5760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b606482015260840161061c565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101611bea4290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441990611cf19083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b60405163e14787cb60e01b815260206004820152601060248201526f50726f647563744f776e6572526f6c6560801b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb906064015b602060405180830381865af4158015611d72573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b19190612321565b60405163e14787cb60e01b815260206004820152600d60248201526c506f6f6c4f776e6572526f6c6560981b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb90606401611d55565b60405163e14787cb60e01b815260206004820152600f60248201526e4f7261636c654f776e6572526f6c6560881b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb90606401611d55565b600060208284031215611e5a57600080fd5b81356001600160e01b031981168114611e7257600080fd5b9392505050565b62ffffff81168114611e8a57600080fd5b50565b600060208284031215611e9f57600080fd5b8135611e7281611e79565b60005b83811015611ec5578181015183820152602001611ead565b50506000910152565b60008151808452611ee6816020860160208601611eaa565b601f01601f19169290920160200192915050565b602081526000611e726020830184611ece565b6001600160a01b0381168114611e8a57600080fd5b600060208284031215611f3457600080fd5b8135611e7281611f0d565b60008060408385031215611f5257600080fd5b8235611f5d81611f0d565b91506020830135611f6d81611f0d565b809150509250929050565b600060208284031215611f8a57600080fd5b5035919050565b60ff81168114611e8a57600080fd5b600060208284031215611fb257600080fd5b8135611e7281611f91565b600060208284031215611fcf57600080fd5b5051919050565b600060208284031215611fe857600080fd5b8151611e7281611e79565b80516001600160601b0381168114611a2b57600080fd5b60006020828403121561201c57600080fd5b611e7282611ff3565b60006020828403121561203757600080fd5b81518015158114611e7257600080fd5b60006020828403121561205957600080fd5b8151611e7281611f0d565b60006020828403121561207657600080fd5b8151611e7281611f91565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156120ba576120ba612081565b60405290565b600082601f8301126120d157600080fd5b815167ffffffffffffffff808211156120ec576120ec612081565b604051601f8301601f19908116603f0116810190828211818310171561211457612114612081565b8160405283815286602085880101111561212d57600080fd5b61213e846020830160208901611eaa565b9695505050505050565b60006020828403121561215a57600080fd5b815167ffffffffffffffff8082111561217257600080fd5b9083019060c0828603121561218657600080fd5b61218e612097565b61219783611ff3565b81526121a560208401611ff3565b602082015260408301516121b881611f91565b604082015260608301516121cb81611f0d565b606082015260808301516121de81611f0d565b608082015260a0830151828111156121f557600080fd5b612201878286016120c0565b60a08301525095945050505050565b60006040828403121561222257600080fd5b6040516040810181811067ffffffffffffffff8211171561224557612245612081565b604052825181526020928301519281019290925250919050565b6001600160601b0389811682528881166020830152871660408201526001600160a01b038616606082015261018081016122a6608083018780518252602090810151910152565b845160c0830152602085015160e083015283516101008301526020840151610120830152825161014083015260208301516101608301529998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b818103818111156119f557634e487b7160e01b600052601160045260246000fd5b60006020828403121561233357600080fd5b81516001600160c01b031981168114611e7257600080fdfea2646970667358221220708bb586468986d33026672899319ab0671a1b708dad77b6c19ac6837ba7546e64736f6c63430008140033",
         
     | 
| 
      
 653 
     | 
    
         
            +
              "bytecode": "0x60806040523480156200001157600080fd5b506040516200315b3803806200315b83398101604081905262000034916200070a565b620000656301ffc9a760e01b60009081526020526000805160206200313b833981519152805460ff19166001179055565b600280546001600160a01b0319163317905562000081620000d2565b6200008d838262000186565b6327535ccf60e01b60009081526020527fdf85129a843b1189784b76e4b72b0cde3e9c7821233b206b7eed6ac5a2fce6f7805460ff19166001179055505050620009b4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620001235760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001835780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000620001c360408051808201909152601581527f436f6d706f6e656e744f776e6572536572766963650000000000000000000000602082015290565b620001cd62000257565b604051602001620001e092919062000754565b60408051601f1981840301815291905290506000620001ff84620002e4565b90506000620002148583603c84888862000358565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff191660011790555050505050565b6000620002636200045a565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620007ae565b905090565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa1580156200032c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003529190620007da565b92915050565b620003896301ffc9a760e01b60009081526020526000805160206200313b833981519152805460ff19166001179055565b620003958287620004e2565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d0100000000000000000000000000861515021781559050600181016200041483826200089d565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015620004bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df919062000969565b6001600160a01b0382166200053e5760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b038416179055620005648162000568565b5050565b6001546001600160a01b031615620005a35760015460405163fcdbf2d960e01b81526001600160a01b03909116600482015260240162000535565b6001600160a01b038116620005cb5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620006035760405163fdeac91f60e01b81526001600160a01b038216600482015260240162000535565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526376ceea7360e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000680575060408051601f3d908101601f191682019092526200067d9181019062000990565b60015b620006aa5760405163fdeac91f60e01b81526001600160a01b038216600482015260240162000535565b80620005645760405163fdeac91f60e01b81526001600160a01b038316600482015260240162000535565b80516001600160a01b0381168114620006ed57600080fd5b919050565b80516001600160601b0381168114620006ed57600080fd5b6000806000606084860312156200072057600080fd5b6200072b84620006d5565b92506200073b60208501620006f2565b91506200074b60408501620006d5565b90509250925092565b604081526000835180604084015260005b8181101562000784576020818701810151606086840101520162000765565b506000606082850101526060601f19601f83011684010191505060ff831660208301529392505050565b600060208284031215620007c157600080fd5b815160ff81168114620007d357600080fd5b9392505050565b600060208284031215620007ed57600080fd5b620007d382620006f2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200082357607f821691505b6020821081036200084457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200089857600081815260208120601f850160051c81016020861015620008735750805b601f850160051c820191505b8181101562000894578281556001016200087f565b5050505b505050565b81516001600160401b03811115620008b957620008b9620007f8565b620008d181620008ca84546200080e565b846200084a565b602080601f831160018114620009095760008415620008f05750858301515b600019600386901b1c1916600185901b17855562000894565b600085815260208120601f198616915b828110156200093a5788860151825594840194600190910190840162000919565b5085821015620009595787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200097c57600080fd5b815162ffffff81168114620007d357600080fd5b600060208284031215620009a357600080fd5b81518015158114620007d357600080fd5b61277780620009c46000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806387dbfec3116100de578063b3c6501511610097578063cde749f411610071578063cde749f4146104e3578063cf7a1d77146104fd578063f435f5a714610290578063fc0ae0541461051057600080fd5b8063b3c65015146104a8578063b88da759146104c8578063caf4e3d4146104db57600080fd5b806387dbfec31461040c578063893d20e81461041f578063946dfcfe14610427578063a3f4df7e1461044e578063a745e3df14610482578063abd908461461049557600080fd5b80632d46f5df116101305780632d46f5df146102655780632f6c493c146102905780634d459c90146102a35780634f421333146103bc5780635ab1bd53146103cf578063644c45e0146103f457600080fd5b806301ffc9a7146101785780630d8e6e2c146101ba5780630fec111c146101d6578063138461e0146101ec57806317d7de7c146101f65780631eff4b2214610230575b600080fd5b6101a5610186366004611ca3565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6101c2610523565b60405162ffffff90911681526020016101b1565b6101de6105ad565b6040516101b1929190611d24565b6101f461072f565b005b604080518082019091526015815274436f6d706f6e656e744f776e65725365727669636560581b60208201525b6040516101b19190611dcb565b6102577f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6040519081526020016101b1565b610278610273366004611df6565b610951565b6040516001600160601b0390911681526020016101b1565b6101f461029e366004611df6565b610a9b565b61035f6102b1366004611e24565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061272283398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016101b1565b6101a56103ca366004611e24565b610d54565b6001546001600160a01b03165b6040516001600160a01b0390911681526020016101b1565b600154600160a01b90046001600160601b0316610278565b61027861041a366004611df6565b610e07565b6103dc610f41565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed90154610257565b61022360405180604001604052806015815260200174436f6d706f6e656e744f776e65725365727669636560581b81525081565b6101f4610490366004611f1c565b61105a565b6102786104a3366004611df6565b6111b4565b6104b06112f3565b6040516001600160401b0390911681526020016101b1565b6101c26104d6366004611fc0565b611314565b6103dc611365565b6104eb611420565b60405160ff90911681526020016101b1565b6101f461050b366004611f1c565b6114a3565b6104b061051e366004611fe8565b6115ac565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a89190612005565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806106306001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610678610f41565b6001600160a01b0316815260200182600101805461069590612022565b80601f01602080910402602001604051908101604052809291908181526020018280546106c190612022565b801561070e5780601f106106e35761010080835404028352916020019161070e565b820191906000526020600020905b8154815290600101906020018083116106f157829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b5919061206c565b156107fc576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166108255760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa15801561086e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610892919061206c565b6108ba576040516372657a5160e01b81526001600160a01b03821660048201526024016107f3565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610928919061209e565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b600080600061095e611365565b604051635d96628960e01b81526001600160a01b0386811660048301523360248301529190911690635d966289906044016000604051808303816000875af11580156109ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d691908101906121c9565b6020820151919350915060006109f46001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015610a43573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6b919081019061222c565b608001519050806000610a7e606e6115ac565b9050610a90866000015185848861161a565b505050505050919050565b806000610ab06001546001600160a01b031690565b604051636939560f60e11b81526001600160a01b038481166004830152919091169063d272ac1e90602401602060405180830381865afa158015610af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1c919061209e565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061206c565b610be75760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e0060448201526064016107f3565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190612260565b90506000846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061209e565b9050600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b919061227d565b50505050505050565b60008060008051602061272283398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e00919061227d565b1192915050565b6000806000610e14611365565b604051638fbc2d8160e01b81526001600160a01b0386811660048301523360248301529190911690638fbc2d81906044016000604051808303816000875af1158015610e64573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e8c91908101906121c9565b602082015191935091506000610eaa6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015610ef9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f21919081019061222c565b608001519050806000610f3460786115ac565b9050505050505050919050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fca919061206c565b1561104a57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015611026573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a89190612260565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c61107c610523565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156110bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e091906122ab565b6000805160206127028339815191528054600160401b900460ff1680611113575080546001600160401b03808416911610155b156111315760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561115c858561169a565b61116583611939565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60008060006111c1611365565b604051637286e5e560e01b81526001600160a01b0386811660048301523360248301529190911690637286e5e5906044016000604051808303816000875af1158015611211573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261123991908101906121c9565b6020820151919350915060006112576001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa1580156112a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112ce919081019061222c565b6080015190508060006112e1608c6115ac565b9050610a908660000151858488611941565b60006105a8600080516020612702833981519152546001600160401b031690565b60006000805160206127228339815191526001018281548110611339576113396122c8565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60008061137a6001546001600160a01b031690565b6001600160a01b031663a3bcd81d611390611420565b604080516001600160e01b031960e085901b1681526004810191909152600f60448201526e52656769737472795365727669636560881b606482015260ff9091166024820152608401602060405180830381865afa1580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a9190612260565b92915050565b600061142a610523565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a891906122de565b6000805160206127028339815191528054600160401b810460ff1615906001600160401b03166000811580156114d65750825b90506000826001600160401b031660011480156114f25750303b155b905081158015611500575080155b1561151e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561154857845460ff60401b1916600160401b1785555b611552888861169a565b61155c8787611939565b83156115a257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b60006115c082606e5b60ff90811691161490565b156115cd5761141a611b3f565b6115d882608c6115b5565b156115e55761141a611bb8565b6115f08260786115b5565b156115fd5761141a611bf4565b6116088260826115b5565b156116155761141a611c2f565b919050565b6000818060200190518101906116309190612349565b604051637353912760e01b81529091506001600160a01b03841690637353912790611661908890859060040161241a565b600060405180830381600087803b15801561167b57600080fd5b505af115801561168f573d6000803e3d6000fd5b505050505050505050565b6116a2611c6a565b60008051602061272283398151915260006116d2600080516020612702833981519152546001600160401b031690565b905060006116de610523565b9050816001600160401b031660010361170b5760028301805462ffffff191662ffffff8316179055611759565b600283015462ffffff908116908216116117595760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016107f3565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af415801561180d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118319190612518565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906111a59083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b610173611c6a565b60008060008380602001905181019061195a919061253f565b50505092509250925060006119776001546001600160a01b031690565b90506001600160a01b0383166119a0576040516361a02c4f60e11b815260040160405180910390fd5b6040516308b09a5f60e41b81526001600160a01b03838116600483015260009190831690638b09a5f090602401600060405180830381865afa1580156119ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a12919081019061222c565b60400151905060ff8116603214611a3c5760405163c1ab6dc160e01b815260040160405180910390fd5b604085810151905163753b14a560e01b8152600481019190915273__$5ac3274b8cf1e01ea223bf093142af05b0$__9063753b14a590602401602060405180830381865af4158015611a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab6919061206c565b15611ad4576040516313e89cb760e31b815260040160405180910390fd5b6040516357f9680560e01b81526001600160a01b038816906357f9680590611b02908c90899060040161264f565b600060405180830381600087803b158015611b1c57600080fd5b505af1158015611b30573d6000803e3d6000fd5b50505050505050505050505050565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015611b94573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a891906122ab565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b6040516368aebf7b60e01b815260c8600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b60008051602061270283398151915254600160401b900460ff16611ca157604051631afcd79f60e31b815260040160405180910390fd5b565b600060208284031215611cb557600080fd5b81356001600160e01b031981168114611ccd57600080fd5b9392505050565b60005b83811015611cef578181015183820152602001611cd7565b50506000910152565b60008151808452611d10816020860160208601611cd4565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151611d6860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152611dae610120840182611cf8565b90508281036020840152611dc28185611cf8565b95945050505050565b602081526000611ccd6020830184611cf8565b6001600160a01b0381168114611df357600080fd5b50565b600060208284031215611e0857600080fd5b8135611ccd81611dde565b62ffffff81168114611df357600080fd5b600060208284031215611e3657600080fd5b8135611ccd81611e13565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715611e7957611e79611e41565b60405290565b60405161014081016001600160401b0381118282101715611e7957611e79611e41565b60405161010081016001600160401b0381118282101715611e7957611e79611e41565b604051601f8201601f191681016001600160401b0381118282101715611eed57611eed611e41565b604052919050565b60006001600160401b03821115611f0e57611f0e611e41565b50601f01601f191660200190565b600080600060608486031215611f3157600080fd5b8335611f3c81611dde565b92506020840135611f4c81611dde565b915060408401356001600160401b03811115611f6757600080fd5b8401601f81018613611f7857600080fd5b8035611f8b611f8682611ef5565b611ec5565b818152876020838501011115611fa057600080fd5b816020840160208301376000602083830101528093505050509250925092565b600060208284031215611fd257600080fd5b5035919050565b60ff81168114611df357600080fd5b600060208284031215611ffa57600080fd5b8135611ccd81611fd9565b60006020828403121561201757600080fd5b8151611ccd81611e13565b600181811c9082168061203657607f821691505b60208210810361205657634e487b7160e01b600052602260045260246000fd5b50919050565b8051801515811461161557600080fd5b60006020828403121561207e57600080fd5b611ccd8261205c565b80516001600160601b038116811461161557600080fd5b6000602082840312156120b057600080fd5b611ccd82612087565b805161161581611fd9565b805161161581611dde565b600082601f8301126120e057600080fd5b81516120ee611f8682611ef5565b81815284602083860101111561210357600080fd5b612114826020830160208701611cd4565b949350505050565b600060e0828403121561212e57600080fd5b612136611e57565b905061214182612087565b815261214f60208301612087565b6020820152612160604083016120b9565b60408201526121716060830161205c565b6060820152612182608083016120c4565b608082015261219360a083016120c4565b60a082015260c08201516001600160401b038111156121b157600080fd5b6121bd848285016120cf565b60c08301525092915050565b600080604083850312156121dc57600080fd5b82516001600160401b03808211156121f357600080fd5b6121ff8683870161211c565b9350602085015191508082111561221557600080fd5b50612222858286016120cf565b9150509250929050565b60006020828403121561223e57600080fd5b81516001600160401b0381111561225457600080fd5b6121148482850161211c565b60006020828403121561227257600080fd5b8151611ccd81611dde565b60006020828403121561228f57600080fd5b5051919050565b6001600160401b0381168114611df357600080fd5b6000602082840312156122bd57600080fd5b8151611ccd81612296565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156122f057600080fd5b8151611ccd81611fd9565b60006040828403121561230d57600080fd5b604051604081018181106001600160401b038211171561232f5761232f611e41565b604052825181526020928301519281019290925250919050565b6000610200828403121561235c57600080fd5b612364611e7f565b61236d836120c4565b815261237b602084016120c4565b602082015261238c60408401612087565b604082015261239d60608401612087565b60608201526123af84608085016122fb565b60808201526123c18460c085016122fb565b60a08201526101006123d5858286016122fb565b60c08301526123e88561014086016122fb565b60e08301526123fb8561018086016122fb565b9082015261240d846101c085016122fb565b6101208201529392505050565b6001600160601b038316815281516001600160a01b03166020820152610220810160208301516001600160a01b03811660408401525060408301516001600160601b03811660608401525060608301516001600160601b0381166080840152506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c08301516101206124c78185018380518252602090810151910152565b60e0850151805161016086015260209081015161018086015261010086015180516101a08701528101516101c08601529085015180516101e08601529081015161020085015290505b509392505050565b60006020828403121561252a57600080fd5b815164ffffffffff81168114611ccd57600080fd5b60008060008060008086880361026081121561255a57600080fd5b6101608082121561256a57600080fd5b612572611ea2565b915061257d89612087565b825261258b60208a016120c4565b6020830152604089015160408301526125a78a60608b016122fb565b60608301526125b98a60a08b016122fb565b60808301526125cb8a60e08b016122fb565b60a08301526125dd6101208a0161205c565b60c08301526125ef6101408a016120c4565b60e0830152819750612602818a016120c4565b9650505061261361018088016120c4565b9350612623886101a089016122fb565b9250612633886101e089016122fb565b91506126438861022089016122fb565b90509295509295509295565b6000610180820190506001600160601b0380851683528084511660208401525060018060a01b0360208401511660408301526040830151606083015260608301516126a7608084018280518252602090810151910152565b506080830151805160c0840152602081015160e08401525060a0830151805161010084015260208101516101208401525060c08301518015156101408401525060e08301516001600160a01b03811661016084015261251056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220d30d41ed9d367fa3b1e5490f35ad25d1a141daf8df5d4d49153e5e73fe5e665a64736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
         
     | 
| 
      
 654 
     | 
    
         
            +
              "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c806387dbfec3116100de578063b3c6501511610097578063cde749f411610071578063cde749f4146104e3578063cf7a1d77146104fd578063f435f5a714610290578063fc0ae0541461051057600080fd5b8063b3c65015146104a8578063b88da759146104c8578063caf4e3d4146104db57600080fd5b806387dbfec31461040c578063893d20e81461041f578063946dfcfe14610427578063a3f4df7e1461044e578063a745e3df14610482578063abd908461461049557600080fd5b80632d46f5df116101305780632d46f5df146102655780632f6c493c146102905780634d459c90146102a35780634f421333146103bc5780635ab1bd53146103cf578063644c45e0146103f457600080fd5b806301ffc9a7146101785780630d8e6e2c146101ba5780630fec111c146101d6578063138461e0146101ec57806317d7de7c146101f65780631eff4b2214610230575b600080fd5b6101a5610186366004611ca3565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6101c2610523565b60405162ffffff90911681526020016101b1565b6101de6105ad565b6040516101b1929190611d24565b6101f461072f565b005b604080518082019091526015815274436f6d706f6e656e744f776e65725365727669636560581b60208201525b6040516101b19190611dcb565b6102577f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6040519081526020016101b1565b610278610273366004611df6565b610951565b6040516001600160601b0390911681526020016101b1565b6101f461029e366004611df6565b610a9b565b61035f6102b1366004611e24565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061272283398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016101b1565b6101a56103ca366004611e24565b610d54565b6001546001600160a01b03165b6040516001600160a01b0390911681526020016101b1565b600154600160a01b90046001600160601b0316610278565b61027861041a366004611df6565b610e07565b6103dc610f41565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed90154610257565b61022360405180604001604052806015815260200174436f6d706f6e656e744f776e65725365727669636560581b81525081565b6101f4610490366004611f1c565b61105a565b6102786104a3366004611df6565b6111b4565b6104b06112f3565b6040516001600160401b0390911681526020016101b1565b6101c26104d6366004611fc0565b611314565b6103dc611365565b6104eb611420565b60405160ff90911681526020016101b1565b6101f461050b366004611f1c565b6114a3565b6104b061051e366004611fe8565b6115ac565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a89190612005565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806106306001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610678610f41565b6001600160a01b0316815260200182600101805461069590612022565b80601f01602080910402602001604051908101604052809291908181526020018280546106c190612022565b801561070e5780601f106106e35761010080835404028352916020019161070e565b820191906000526020600020905b8154815290600101906020018083116106f157829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b5919061206c565b156107fc576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166108255760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa15801561086e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610892919061206c565b6108ba576040516372657a5160e01b81526001600160a01b03821660048201526024016107f3565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610928919061209e565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b600080600061095e611365565b604051635d96628960e01b81526001600160a01b0386811660048301523360248301529190911690635d966289906044016000604051808303816000875af11580156109ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d691908101906121c9565b6020820151919350915060006109f46001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015610a43573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6b919081019061222c565b608001519050806000610a7e606e6115ac565b9050610a90866000015185848861161a565b505050505050919050565b806000610ab06001546001600160a01b031690565b604051636939560f60e11b81526001600160a01b038481166004830152919091169063d272ac1e90602401602060405180830381865afa158015610af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1c919061209e565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061206c565b610be75760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e0060448201526064016107f3565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190612260565b90506000846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061209e565b9050600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b919061227d565b50505050505050565b60008060008051602061272283398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e00919061227d565b1192915050565b6000806000610e14611365565b604051638fbc2d8160e01b81526001600160a01b0386811660048301523360248301529190911690638fbc2d81906044016000604051808303816000875af1158015610e64573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e8c91908101906121c9565b602082015191935091506000610eaa6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015610ef9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f21919081019061222c565b608001519050806000610f3460786115ac565b9050505050505050919050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fca919061206c565b1561104a57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015611026573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a89190612260565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c61107c610523565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156110bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e091906122ab565b6000805160206127028339815191528054600160401b900460ff1680611113575080546001600160401b03808416911610155b156111315760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561115c858561169a565b61116583611939565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60008060006111c1611365565b604051637286e5e560e01b81526001600160a01b0386811660048301523360248301529190911690637286e5e5906044016000604051808303816000875af1158015611211573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261123991908101906121c9565b6020820151919350915060006112576001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa1580156112a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112ce919081019061222c565b6080015190508060006112e1608c6115ac565b9050610a908660000151858488611941565b60006105a8600080516020612702833981519152546001600160401b031690565b60006000805160206127228339815191526001018281548110611339576113396122c8565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60008061137a6001546001600160a01b031690565b6001600160a01b031663a3bcd81d611390611420565b604080516001600160e01b031960e085901b1681526004810191909152600f60448201526e52656769737472795365727669636560881b606482015260ff9091166024820152608401602060405180830381865afa1580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a9190612260565b92915050565b600061142a610523565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a891906122de565b6000805160206127028339815191528054600160401b810460ff1615906001600160401b03166000811580156114d65750825b90506000826001600160401b031660011480156114f25750303b155b905081158015611500575080155b1561151e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561154857845460ff60401b1916600160401b1785555b611552888861169a565b61155c8787611939565b83156115a257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b60006115c082606e5b60ff90811691161490565b156115cd5761141a611b3f565b6115d882608c6115b5565b156115e55761141a611bb8565b6115f08260786115b5565b156115fd5761141a611bf4565b6116088260826115b5565b156116155761141a611c2f565b919050565b6000818060200190518101906116309190612349565b604051637353912760e01b81529091506001600160a01b03841690637353912790611661908890859060040161241a565b600060405180830381600087803b15801561167b57600080fd5b505af115801561168f573d6000803e3d6000fd5b505050505050505050565b6116a2611c6a565b60008051602061272283398151915260006116d2600080516020612702833981519152546001600160401b031690565b905060006116de610523565b9050816001600160401b031660010361170b5760028301805462ffffff191662ffffff8316179055611759565b600283015462ffffff908116908216116117595760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016107f3565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af415801561180d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118319190612518565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906111a59083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b610173611c6a565b60008060008380602001905181019061195a919061253f565b50505092509250925060006119776001546001600160a01b031690565b90506001600160a01b0383166119a0576040516361a02c4f60e11b815260040160405180910390fd5b6040516308b09a5f60e41b81526001600160a01b03838116600483015260009190831690638b09a5f090602401600060405180830381865afa1580156119ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a12919081019061222c565b60400151905060ff8116603214611a3c5760405163c1ab6dc160e01b815260040160405180910390fd5b604085810151905163753b14a560e01b8152600481019190915273__$5ac3274b8cf1e01ea223bf093142af05b0$__9063753b14a590602401602060405180830381865af4158015611a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab6919061206c565b15611ad4576040516313e89cb760e31b815260040160405180910390fd5b6040516357f9680560e01b81526001600160a01b038816906357f9680590611b02908c90899060040161264f565b600060405180830381600087803b158015611b1c57600080fd5b505af1158015611b30573d6000803e3d6000fd5b50505050505050505050505050565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015611b94573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a891906122ab565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b6040516368aebf7b60e01b815260c8600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401611b77565b60008051602061270283398151915254600160401b900460ff16611ca157604051631afcd79f60e31b815260040160405180910390fd5b565b600060208284031215611cb557600080fd5b81356001600160e01b031981168114611ccd57600080fd5b9392505050565b60005b83811015611cef578181015183820152602001611cd7565b50506000910152565b60008151808452611d10816020860160208601611cd4565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151611d6860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152611dae610120840182611cf8565b90508281036020840152611dc28185611cf8565b95945050505050565b602081526000611ccd6020830184611cf8565b6001600160a01b0381168114611df357600080fd5b50565b600060208284031215611e0857600080fd5b8135611ccd81611dde565b62ffffff81168114611df357600080fd5b600060208284031215611e3657600080fd5b8135611ccd81611e13565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715611e7957611e79611e41565b60405290565b60405161014081016001600160401b0381118282101715611e7957611e79611e41565b60405161010081016001600160401b0381118282101715611e7957611e79611e41565b604051601f8201601f191681016001600160401b0381118282101715611eed57611eed611e41565b604052919050565b60006001600160401b03821115611f0e57611f0e611e41565b50601f01601f191660200190565b600080600060608486031215611f3157600080fd5b8335611f3c81611dde565b92506020840135611f4c81611dde565b915060408401356001600160401b03811115611f6757600080fd5b8401601f81018613611f7857600080fd5b8035611f8b611f8682611ef5565b611ec5565b818152876020838501011115611fa057600080fd5b816020840160208301376000602083830101528093505050509250925092565b600060208284031215611fd257600080fd5b5035919050565b60ff81168114611df357600080fd5b600060208284031215611ffa57600080fd5b8135611ccd81611fd9565b60006020828403121561201757600080fd5b8151611ccd81611e13565b600181811c9082168061203657607f821691505b60208210810361205657634e487b7160e01b600052602260045260246000fd5b50919050565b8051801515811461161557600080fd5b60006020828403121561207e57600080fd5b611ccd8261205c565b80516001600160601b038116811461161557600080fd5b6000602082840312156120b057600080fd5b611ccd82612087565b805161161581611fd9565b805161161581611dde565b600082601f8301126120e057600080fd5b81516120ee611f8682611ef5565b81815284602083860101111561210357600080fd5b612114826020830160208701611cd4565b949350505050565b600060e0828403121561212e57600080fd5b612136611e57565b905061214182612087565b815261214f60208301612087565b6020820152612160604083016120b9565b60408201526121716060830161205c565b6060820152612182608083016120c4565b608082015261219360a083016120c4565b60a082015260c08201516001600160401b038111156121b157600080fd5b6121bd848285016120cf565b60c08301525092915050565b600080604083850312156121dc57600080fd5b82516001600160401b03808211156121f357600080fd5b6121ff8683870161211c565b9350602085015191508082111561221557600080fd5b50612222858286016120cf565b9150509250929050565b60006020828403121561223e57600080fd5b81516001600160401b0381111561225457600080fd5b6121148482850161211c565b60006020828403121561227257600080fd5b8151611ccd81611dde565b60006020828403121561228f57600080fd5b5051919050565b6001600160401b0381168114611df357600080fd5b6000602082840312156122bd57600080fd5b8151611ccd81612296565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156122f057600080fd5b8151611ccd81611fd9565b60006040828403121561230d57600080fd5b604051604081018181106001600160401b038211171561232f5761232f611e41565b604052825181526020928301519281019290925250919050565b6000610200828403121561235c57600080fd5b612364611e7f565b61236d836120c4565b815261237b602084016120c4565b602082015261238c60408401612087565b604082015261239d60608401612087565b60608201526123af84608085016122fb565b60808201526123c18460c085016122fb565b60a08201526101006123d5858286016122fb565b60c08301526123e88561014086016122fb565b60e08301526123fb8561018086016122fb565b9082015261240d846101c085016122fb565b6101208201529392505050565b6001600160601b038316815281516001600160a01b03166020820152610220810160208301516001600160a01b03811660408401525060408301516001600160601b03811660608401525060608301516001600160601b0381166080840152506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c08301516101206124c78185018380518252602090810151910152565b60e0850151805161016086015260209081015161018086015261010086015180516101a08701528101516101c08601529085015180516101e08601529081015161020085015290505b509392505050565b60006020828403121561252a57600080fd5b815164ffffffffff81168114611ccd57600080fd5b60008060008060008086880361026081121561255a57600080fd5b6101608082121561256a57600080fd5b612572611ea2565b915061257d89612087565b825261258b60208a016120c4565b6020830152604089015160408301526125a78a60608b016122fb565b60608301526125b98a60a08b016122fb565b60808301526125cb8a60e08b016122fb565b60a08301526125dd6101208a0161205c565b60c08301526125ef6101408a016120c4565b60e0830152819750612602818a016120c4565b9650505061261361018088016120c4565b9350612623886101a089016122fb565b9250612633886101e089016122fb565b91506126438861022089016122fb565b90509295509295509295565b6000610180820190506001600160601b0380851683528084511660208401525060018060a01b0360208401511660408301526040830151606083015260608301516126a7608084018280518252602090810151910152565b506080830151805160c0840152602081015160e08401525060a0830151805161010084015260208101516101208401525060c08301518015156101408401525060e08301516001600160a01b03811661016084015261251056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220d30d41ed9d367fa3b1e5490f35ad25d1a141daf8df5d4d49153e5e73fe5e665a64736f6c63430008140033",
         
     | 
| 
       391 
655 
     | 
    
         
             
              "linkReferences": {
         
     | 
| 
       392 
656 
     | 
    
         
             
                "contracts/types/Blocknumber.sol": {
         
     | 
| 
       393 
657 
     | 
    
         
             
                  "BlocknumberLib": [
         
     | 
| 
       394 
658 
     | 
    
         
             
                    {
         
     | 
| 
       395 
659 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       396 
     | 
    
         
            -
                      "start":  
     | 
| 
       397 
     | 
    
         
            -
                    },
         
     | 
| 
       398 
     | 
    
         
            -
                    {
         
     | 
| 
       399 
     | 
    
         
            -
                      "length": 20,
         
     | 
| 
       400 
     | 
    
         
            -
                      "start": 3399
         
     | 
| 
      
 660 
     | 
    
         
            +
                      "start": 5990
         
     | 
| 
       401 
661 
     | 
    
         
             
                    }
         
     | 
| 
       402 
662 
     | 
    
         
             
                  ]
         
     | 
| 
       403 
663 
     | 
    
         
             
                },
         
     | 
| 
         @@ -405,23 +665,19 @@ 
     | 
|
| 
       405 
665 
     | 
    
         
             
                  "NftIdLib": [
         
     | 
| 
       406 
666 
     | 
    
         
             
                    {
         
     | 
| 
       407 
667 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       408 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 668 
     | 
    
         
            +
                      "start": 4379
         
     | 
| 
       409 
669 
     | 
    
         
             
                    },
         
     | 
| 
       410 
670 
     | 
    
         
             
                    {
         
     | 
| 
       411 
671 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       412 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 672 
     | 
    
         
            +
                      "start": 5377
         
     | 
| 
       413 
673 
     | 
    
         
             
                    },
         
     | 
| 
       414 
674 
     | 
    
         
             
                    {
         
     | 
| 
       415 
675 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       416 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 676 
     | 
    
         
            +
                      "start": 5755
         
     | 
| 
       417 
677 
     | 
    
         
             
                    },
         
     | 
| 
       418 
678 
     | 
    
         
             
                    {
         
     | 
| 
       419 
679 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       420 
     | 
    
         
            -
                      "start":  
     | 
| 
       421 
     | 
    
         
            -
                    },
         
     | 
| 
       422 
     | 
    
         
            -
                    {
         
     | 
| 
       423 
     | 
    
         
            -
                      "length": 20,
         
     | 
| 
       424 
     | 
    
         
            -
                      "start": 8622
         
     | 
| 
      
 680 
     | 
    
         
            +
                      "start": 6448
         
     | 
| 
       425 
681 
     | 
    
         
             
                    }
         
     | 
| 
       426 
682 
     | 
    
         
             
                  ]
         
     | 
| 
       427 
683 
     | 
    
         
             
                },
         
     | 
| 
         @@ -429,15 +685,35 @@ 
     | 
|
| 
       429 
685 
     | 
    
         
             
                  "RoleIdLib": [
         
     | 
| 
       430 
686 
     | 
    
         
             
                    {
         
     | 
| 
       431 
687 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       432 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 688 
     | 
    
         
            +
                      "start": 9501
         
     | 
| 
      
 689 
     | 
    
         
            +
                    },
         
     | 
| 
      
 690 
     | 
    
         
            +
                    {
         
     | 
| 
      
 691 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 692 
     | 
    
         
            +
                      "start": 9622
         
     | 
| 
       433 
693 
     | 
    
         
             
                    },
         
     | 
| 
       434 
694 
     | 
    
         
             
                    {
         
     | 
| 
       435 
695 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       436 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 696 
     | 
    
         
            +
                      "start": 9681
         
     | 
| 
       437 
697 
     | 
    
         
             
                    },
         
     | 
| 
       438 
698 
     | 
    
         
             
                    {
         
     | 
| 
       439 
699 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       440 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 700 
     | 
    
         
            +
                      "start": 9740
         
     | 
| 
      
 701 
     | 
    
         
            +
                    }
         
     | 
| 
      
 702 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 703 
     | 
    
         
            +
                },
         
     | 
| 
      
 704 
     | 
    
         
            +
                "contracts/types/Timestamp.sol": {
         
     | 
| 
      
 705 
     | 
    
         
            +
                  "TimestampLib": [
         
     | 
| 
      
 706 
     | 
    
         
            +
                    {
         
     | 
| 
      
 707 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 708 
     | 
    
         
            +
                      "start": 8599
         
     | 
| 
      
 709 
     | 
    
         
            +
                    }
         
     | 
| 
      
 710 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 711 
     | 
    
         
            +
                },
         
     | 
| 
      
 712 
     | 
    
         
            +
                "contracts/types/UFixed.sol": {
         
     | 
| 
      
 713 
     | 
    
         
            +
                  "UFixedLib": [
         
     | 
| 
      
 714 
     | 
    
         
            +
                    {
         
     | 
| 
      
 715 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 716 
     | 
    
         
            +
                      "start": 9244
         
     | 
| 
       441 
717 
     | 
    
         
             
                    }
         
     | 
| 
       442 
718 
     | 
    
         
             
                  ]
         
     | 
| 
       443 
719 
     | 
    
         
             
                },
         
     | 
| 
         @@ -445,15 +721,23 @@ 
     | 
|
| 
       445 
721 
     | 
    
         
             
                  "VersionLib": [
         
     | 
| 
       446 
722 
     | 
    
         
             
                    {
         
     | 
| 
       447 
723 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       448 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 724 
     | 
    
         
            +
                      "start": 638
         
     | 
| 
      
 725 
     | 
    
         
            +
                    },
         
     | 
| 
      
 726 
     | 
    
         
            +
                    {
         
     | 
| 
      
 727 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 728 
     | 
    
         
            +
                      "start": 1153
         
     | 
| 
       449 
729 
     | 
    
         
             
                    },
         
     | 
| 
       450 
730 
     | 
    
         
             
                    {
         
     | 
| 
       451 
731 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       452 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 732 
     | 
    
         
            +
                      "start": 3854
         
     | 
| 
       453 
733 
     | 
    
         
             
                    },
         
     | 
| 
       454 
734 
     | 
    
         
             
                    {
         
     | 
| 
       455 
735 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       456 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 736 
     | 
    
         
            +
                      "start": 6688
         
     | 
| 
      
 737 
     | 
    
         
            +
                    },
         
     | 
| 
      
 738 
     | 
    
         
            +
                    {
         
     | 
| 
      
 739 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 740 
     | 
    
         
            +
                      "start": 7689
         
     | 
| 
       457 
741 
     | 
    
         
             
                    }
         
     | 
| 
       458 
742 
     | 
    
         
             
                  ]
         
     | 
| 
       459 
743 
     | 
    
         
             
                }
         
     | 
| 
         @@ -463,7 +747,7 @@ 
     | 
|
| 
       463 
747 
     | 
    
         
             
                  "BlocknumberLib": [
         
     | 
| 
       464 
748 
     | 
    
         
             
                    {
         
     | 
| 
       465 
749 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       466 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 750 
     | 
    
         
            +
                      "start": 3490
         
     | 
| 
       467 
751 
     | 
    
         
             
                    }
         
     | 
| 
       468 
752 
     | 
    
         
             
                  ]
         
     | 
| 
       469 
753 
     | 
    
         
             
                },
         
     | 
| 
         @@ -471,23 +755,19 @@ 
     | 
|
| 
       471 
755 
     | 
    
         
             
                  "NftIdLib": [
         
     | 
| 
       472 
756 
     | 
    
         
             
                    {
         
     | 
| 
       473 
757 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       474 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 758 
     | 
    
         
            +
                      "start": 1879
         
     | 
| 
       475 
759 
     | 
    
         
             
                    },
         
     | 
| 
       476 
760 
     | 
    
         
             
                    {
         
     | 
| 
       477 
761 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       478 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 762 
     | 
    
         
            +
                      "start": 2877
         
     | 
| 
       479 
763 
     | 
    
         
             
                    },
         
     | 
| 
       480 
764 
     | 
    
         
             
                    {
         
     | 
| 
       481 
765 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       482 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 766 
     | 
    
         
            +
                      "start": 3255
         
     | 
| 
       483 
767 
     | 
    
         
             
                    },
         
     | 
| 
       484 
768 
     | 
    
         
             
                    {
         
     | 
| 
       485 
769 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       486 
     | 
    
         
            -
                      "start":  
     | 
| 
       487 
     | 
    
         
            -
                    },
         
     | 
| 
       488 
     | 
    
         
            -
                    {
         
     | 
| 
       489 
     | 
    
         
            -
                      "length": 20,
         
     | 
| 
       490 
     | 
    
         
            -
                      "start": 6446
         
     | 
| 
      
 770 
     | 
    
         
            +
                      "start": 3948
         
     | 
| 
       491 
771 
     | 
    
         
             
                    }
         
     | 
| 
       492 
772 
     | 
    
         
             
                  ]
         
     | 
| 
       493 
773 
     | 
    
         
             
                },
         
     | 
| 
         @@ -495,15 +775,35 @@ 
     | 
|
| 
       495 
775 
     | 
    
         
             
                  "RoleIdLib": [
         
     | 
| 
       496 
776 
     | 
    
         
             
                    {
         
     | 
| 
       497 
777 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       498 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 778 
     | 
    
         
            +
                      "start": 7001
         
     | 
| 
      
 779 
     | 
    
         
            +
                    },
         
     | 
| 
      
 780 
     | 
    
         
            +
                    {
         
     | 
| 
      
 781 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 782 
     | 
    
         
            +
                      "start": 7122
         
     | 
| 
       499 
783 
     | 
    
         
             
                    },
         
     | 
| 
       500 
784 
     | 
    
         
             
                    {
         
     | 
| 
       501 
785 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       502 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 786 
     | 
    
         
            +
                      "start": 7181
         
     | 
| 
       503 
787 
     | 
    
         
             
                    },
         
     | 
| 
       504 
788 
     | 
    
         
             
                    {
         
     | 
| 
       505 
789 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       506 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 790 
     | 
    
         
            +
                      "start": 7240
         
     | 
| 
      
 791 
     | 
    
         
            +
                    }
         
     | 
| 
      
 792 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 793 
     | 
    
         
            +
                },
         
     | 
| 
      
 794 
     | 
    
         
            +
                "contracts/types/Timestamp.sol": {
         
     | 
| 
      
 795 
     | 
    
         
            +
                  "TimestampLib": [
         
     | 
| 
      
 796 
     | 
    
         
            +
                    {
         
     | 
| 
      
 797 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 798 
     | 
    
         
            +
                      "start": 6099
         
     | 
| 
      
 799 
     | 
    
         
            +
                    }
         
     | 
| 
      
 800 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 801 
     | 
    
         
            +
                },
         
     | 
| 
      
 802 
     | 
    
         
            +
                "contracts/types/UFixed.sol": {
         
     | 
| 
      
 803 
     | 
    
         
            +
                  "UFixedLib": [
         
     | 
| 
      
 804 
     | 
    
         
            +
                    {
         
     | 
| 
      
 805 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 806 
     | 
    
         
            +
                      "start": 6744
         
     | 
| 
       507 
807 
     | 
    
         
             
                    }
         
     | 
| 
       508 
808 
     | 
    
         
             
                  ]
         
     | 
| 
       509 
809 
     | 
    
         
             
                },
         
     | 
| 
         @@ -511,11 +811,15 @@ 
     | 
|
| 
       511 
811 
     | 
    
         
             
                  "VersionLib": [
         
     | 
| 
       512 
812 
     | 
    
         
             
                    {
         
     | 
| 
       513 
813 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       514 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 814 
     | 
    
         
            +
                      "start": 1354
         
     | 
| 
      
 815 
     | 
    
         
            +
                    },
         
     | 
| 
      
 816 
     | 
    
         
            +
                    {
         
     | 
| 
      
 817 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 818 
     | 
    
         
            +
                      "start": 4188
         
     | 
| 
       515 
819 
     | 
    
         
             
                    },
         
     | 
| 
       516 
820 
     | 
    
         
             
                    {
         
     | 
| 
       517 
821 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       518 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 822 
     | 
    
         
            +
                      "start": 5189
         
     | 
| 
       519 
823 
     | 
    
         
             
                    }
         
     | 
| 
       520 
824 
     | 
    
         
             
                  ]
         
     | 
| 
       521 
825 
     | 
    
         
             
                }
         
     |