@etherisc/gif-next 0.0.2-db81915-875 → 0.0.2-dc37b66-227
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +32 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1548 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +217 -328
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1557 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +854 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +213 -239
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +157 -302
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +227 -2186
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +198 -74
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +433 -2805
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +716 -389
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +263 -243
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -119
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3581 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1185 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +190 -218
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1093 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +297 -153
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1483 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +822 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +916 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +228 -290
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +476 -53
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1312 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1690 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +766 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1318 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +96 -186
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IClaimService.sol/IClaimService.json} +93 -258
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → product/IPolicyService.sol/IPolicyService.json} +278 -244
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +63 -141
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +985 -0
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +11 -61
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +1017 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/{components → product}/Product.sol/Product.json +396 -287
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +182 -28
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +199 -125
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +443 -43
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +367 -73
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/Component.sol/Component.json +139 -85
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1696 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +27 -95
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +110 -84
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +737 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +17 -6
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1015 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +17 -6
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +470 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +576 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +222 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +591 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +218 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/authorization/IAccessAdmin.sol +136 -0
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/authorization/IServiceAuthorization.sol +38 -0
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +90 -0
- package/contracts/distribution/BasicDistribution.sol +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/{components → distribution}/Distribution.sol +172 -161
- package/contracts/distribution/DistributionService.sol +337 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +52 -0
- package/contracts/{instance/service → distribution}/IDistributionService.sol +36 -38
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +27 -27
- package/contracts/instance/IInstance.sol +54 -70
- package/contracts/instance/IInstanceService.sol +51 -27
- package/contracts/instance/Instance.sol +151 -207
- package/contracts/instance/InstanceAdmin.sol +266 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +148 -60
- package/contracts/instance/InstanceService.sol +282 -317
- package/contracts/instance/InstanceServiceManager.sol +12 -26
- package/contracts/instance/InstanceStore.sol +277 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/base/Cloneable.sol +28 -0
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +106 -0
- package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +18 -21
- package/contracts/instance/module/IAccess.sol +4 -12
- package/contracts/instance/module/IBundle.sol +6 -9
- package/contracts/instance/module/IComponents.sol +20 -10
- package/contracts/instance/module/IDistribution.sol +6 -6
- package/contracts/instance/module/IPolicy.sol +22 -15
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +166 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +164 -0
- package/contracts/pool/BasicPoolAuthorization.sol +55 -0
- package/contracts/pool/BundleService.sol +424 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/{instance/service → pool}/IBundleService.sol +53 -21
- package/contracts/pool/IPoolComponent.sol +58 -0
- package/contracts/pool/IPoolService.sol +158 -0
- package/contracts/pool/Pool.sol +332 -0
- package/contracts/pool/PoolService.sol +549 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +230 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
- package/contracts/product/BasicProduct.sol +82 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +417 -0
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
- package/contracts/{instance/service → product}/IApplicationService.sol +13 -29
- package/contracts/product/IClaimService.sol +99 -0
- package/contracts/product/IPolicyService.sol +78 -0
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +40 -0
- package/contracts/product/IProductService.sol +33 -0
- package/contracts/product/PolicyService.sol +476 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +300 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/{components → product}/Product.sol +152 -131
- package/contracts/product/ProductService.sol +99 -0
- package/contracts/product/ProductServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +8 -1
- package/contracts/registry/IRegistry.sol +59 -26
- package/contracts/registry/IRegistryService.sol +42 -41
- package/contracts/registry/Registry.sol +234 -125
- package/contracts/registry/RegistryAdmin.sol +365 -0
- package/contracts/registry/RegistryService.sol +69 -99
- package/contracts/registry/RegistryServiceManager.sol +23 -32
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- package/contracts/shared/Component.sol +280 -0
- package/contracts/shared/ComponentService.sol +651 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/{components → shared}/IComponent.sol +23 -29
- package/contracts/shared/IComponentService.sol +108 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
- package/contracts/shared/INftOwnable.sol +2 -2
- package/contracts/shared/IPolicyHolder.sol +29 -10
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +12 -3
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +172 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +77 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +5 -18
- package/contracts/shared/PolicyHolder.sol +41 -23
- package/contracts/shared/Registerable.sol +13 -12
- package/contracts/shared/RegistryLinked.sol +0 -5
- package/contracts/shared/Service.sol +32 -22
- package/contracts/shared/TokenHandler.sol +27 -2
- package/contracts/staking/IStaking.sol +167 -0
- package/contracts/staking/IStakingService.sol +160 -0
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +516 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +50 -0
- package/contracts/staking/StakingReader.sol +183 -0
- package/contracts/staking/StakingService.sol +411 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +135 -0
- package/contracts/{types → type}/Blocknumber.sol +20 -3
- package/contracts/{types → type}/Fee.sol +24 -22
- package/contracts/{types → type}/NftId.sol +14 -16
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +271 -0
- package/contracts/{types → type}/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/{types → type}/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +174 -0
- package/contracts/{types → type}/Seconds.sol +40 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/{types → type}/StateId.sol +27 -2
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +6 -2
- package/contracts/{types → type}/UFixed.sol +34 -9
- package/contracts/{types → type}/Version.sol +4 -2
- package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +36 -7
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +1 -1
- package/package.json +8 -5
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1060
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -681
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1266
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -725
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1040
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -685
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1774
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -793
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1511
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -741
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -185
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -179
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -209
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
- package/contracts/components/Component.sol +0 -253
- package/contracts/components/IDistributionComponent.sol +0 -71
- package/contracts/components/IPoolComponent.sol +0 -113
- package/contracts/components/IProductComponent.sol +0 -40
- package/contracts/components/Pool.sol +0 -302
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/instance/Cloneable.sol +0 -51
- package/contracts/instance/InstanceAccessManager.sol +0 -527
- package/contracts/instance/base/ComponentService.sol +0 -121
- package/contracts/instance/base/KeyValueStore.sol +0 -180
- package/contracts/instance/base/Lifecycle.sol +0 -117
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -355
- package/contracts/instance/service/BundleService.sol +0 -436
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ClaimService.sol +0 -239
- package/contracts/instance/service/DistributionService.sol +0 -431
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IClaimService.sol +0 -92
- package/contracts/instance/service/IPolicyService.sol +0 -137
- package/contracts/instance/service/IPoolService.sol +0 -99
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -541
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -303
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -210
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/registry/ReleaseManager.sol +0 -324
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/Amount.sol +0 -65
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -157
- package/contracts/types/RoleId.sol +0 -97
- /package/contracts/{types → type}/ClaimId.sol +0 -0
- /package/contracts/{types → type}/DistributorType.sol +0 -0
- /package/contracts/{types → type}/Key32.sol +0 -0
- /package/contracts/{types → type}/PayoutId.sol +0 -0
@@ -48,17 +48,33 @@
|
|
48
48
|
},
|
49
49
|
{
|
50
50
|
"inputs": [],
|
51
|
-
"name": "
|
51
|
+
"name": "ErrorInstanceServiceAccessManagerZero",
|
52
52
|
"type": "error"
|
53
53
|
},
|
54
54
|
{
|
55
55
|
"inputs": [],
|
56
|
-
"name": "
|
56
|
+
"name": "ErrorInstanceServiceBundleMangerInstanceMismatch",
|
57
57
|
"type": "error"
|
58
58
|
},
|
59
59
|
{
|
60
60
|
"inputs": [],
|
61
|
-
"name": "
|
61
|
+
"name": "ErrorInstanceServiceBundleSetAuthorityMismatch",
|
62
|
+
"type": "error"
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"inputs": [],
|
66
|
+
"name": "ErrorInstanceServiceBundleSetZero",
|
67
|
+
"type": "error"
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"inputs": [
|
71
|
+
{
|
72
|
+
"internalType": "address",
|
73
|
+
"name": "component",
|
74
|
+
"type": "address"
|
75
|
+
}
|
76
|
+
],
|
77
|
+
"name": "ErrorInstanceServiceComponentNotInstanceLinked",
|
62
78
|
"type": "error"
|
63
79
|
},
|
64
80
|
{
|
@@ -74,12 +90,12 @@
|
|
74
90
|
},
|
75
91
|
{
|
76
92
|
"inputs": [],
|
77
|
-
"name": "
|
93
|
+
"name": "ErrorInstanceServiceInstanceAddressZero",
|
78
94
|
"type": "error"
|
79
95
|
},
|
80
96
|
{
|
81
97
|
"inputs": [],
|
82
|
-
"name": "
|
98
|
+
"name": "ErrorInstanceServiceInstanceAdminZero",
|
83
99
|
"type": "error"
|
84
100
|
},
|
85
101
|
{
|
@@ -128,6 +144,32 @@
|
|
128
144
|
"name": "ErrorInstanceServiceInstanceReaderZero",
|
129
145
|
"type": "error"
|
130
146
|
},
|
147
|
+
{
|
148
|
+
"inputs": [],
|
149
|
+
"name": "ErrorInstanceServiceInstanceStoreAuthorityMismatch",
|
150
|
+
"type": "error"
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"inputs": [],
|
154
|
+
"name": "ErrorInstanceServiceInstanceStoreZero",
|
155
|
+
"type": "error"
|
156
|
+
},
|
157
|
+
{
|
158
|
+
"inputs": [
|
159
|
+
{
|
160
|
+
"internalType": "address",
|
161
|
+
"name": "instance",
|
162
|
+
"type": "address"
|
163
|
+
},
|
164
|
+
{
|
165
|
+
"internalType": "VersionPart",
|
166
|
+
"name": "instanceVersion",
|
167
|
+
"type": "uint8"
|
168
|
+
}
|
169
|
+
],
|
170
|
+
"name": "ErrorInstanceServiceInstanceVersionMismatch",
|
171
|
+
"type": "error"
|
172
|
+
},
|
131
173
|
{
|
132
174
|
"inputs": [
|
133
175
|
{
|
@@ -151,12 +193,12 @@
|
|
151
193
|
},
|
152
194
|
{
|
153
195
|
"inputs": [],
|
154
|
-
"name": "
|
196
|
+
"name": "ErrorInstanceServiceMasterBundleSetAlreadySet",
|
155
197
|
"type": "error"
|
156
198
|
},
|
157
199
|
{
|
158
200
|
"inputs": [],
|
159
|
-
"name": "
|
201
|
+
"name": "ErrorInstanceServiceMasterInstanceAdminAlreadySet",
|
160
202
|
"type": "error"
|
161
203
|
},
|
162
204
|
{
|
@@ -170,8 +212,19 @@
|
|
170
212
|
"type": "error"
|
171
213
|
},
|
172
214
|
{
|
173
|
-
"inputs": [
|
174
|
-
|
215
|
+
"inputs": [
|
216
|
+
{
|
217
|
+
"internalType": "address",
|
218
|
+
"name": "instance",
|
219
|
+
"type": "address"
|
220
|
+
},
|
221
|
+
{
|
222
|
+
"internalType": "ObjectType",
|
223
|
+
"name": "objectType",
|
224
|
+
"type": "uint8"
|
225
|
+
}
|
226
|
+
],
|
227
|
+
"name": "ErrorInstanceServiceNotInstance",
|
175
228
|
"type": "error"
|
176
229
|
},
|
177
230
|
{
|
@@ -182,28 +235,18 @@
|
|
182
235
|
"type": "uint96"
|
183
236
|
}
|
184
237
|
],
|
185
|
-
"name": "
|
238
|
+
"name": "ErrorInstanceServiceNotInstanceNftId",
|
186
239
|
"type": "error"
|
187
240
|
},
|
188
241
|
{
|
189
242
|
"inputs": [
|
190
243
|
{
|
191
244
|
"internalType": "address",
|
192
|
-
"name": "
|
245
|
+
"name": "instance",
|
193
246
|
"type": "address"
|
194
|
-
},
|
195
|
-
{
|
196
|
-
"internalType": "NftId",
|
197
|
-
"name": "instanceNftId",
|
198
|
-
"type": "uint96"
|
199
247
|
}
|
200
248
|
],
|
201
|
-
"name": "
|
202
|
-
"type": "error"
|
203
|
-
},
|
204
|
-
{
|
205
|
-
"inputs": [],
|
206
|
-
"name": "ErrorInstanceServiceOzAccessManagerZero",
|
249
|
+
"name": "ErrorInstanceServiceNotRegistered",
|
207
250
|
"type": "error"
|
208
251
|
},
|
209
252
|
{
|
@@ -266,6 +309,11 @@
|
|
266
309
|
"name": "ErrorNotRegistry",
|
267
310
|
"type": "error"
|
268
311
|
},
|
312
|
+
{
|
313
|
+
"inputs": [],
|
314
|
+
"name": "ErrorServiceNotImplemented",
|
315
|
+
"type": "error"
|
316
|
+
},
|
269
317
|
{
|
270
318
|
"inputs": [],
|
271
319
|
"name": "InvalidInitialization",
|
@@ -307,39 +355,15 @@
|
|
307
355
|
"inputs": [
|
308
356
|
{
|
309
357
|
"indexed": false,
|
310
|
-
"internalType": "
|
311
|
-
"name": "
|
312
|
-
"type": "
|
313
|
-
},
|
314
|
-
{
|
315
|
-
"indexed": false,
|
316
|
-
"internalType": "address",
|
317
|
-
"name": "clonedInstanceAccessManager",
|
318
|
-
"type": "address"
|
319
|
-
},
|
320
|
-
{
|
321
|
-
"indexed": false,
|
322
|
-
"internalType": "address",
|
323
|
-
"name": "clonedInstance",
|
324
|
-
"type": "address"
|
325
|
-
},
|
326
|
-
{
|
327
|
-
"indexed": false,
|
328
|
-
"internalType": "address",
|
329
|
-
"name": "clonedBundleManager",
|
330
|
-
"type": "address"
|
358
|
+
"internalType": "NftId",
|
359
|
+
"name": "instanceNftId",
|
360
|
+
"type": "uint96"
|
331
361
|
},
|
332
362
|
{
|
333
363
|
"indexed": false,
|
334
364
|
"internalType": "address",
|
335
|
-
"name": "
|
365
|
+
"name": "instance",
|
336
366
|
"type": "address"
|
337
|
-
},
|
338
|
-
{
|
339
|
-
"indexed": false,
|
340
|
-
"internalType": "NftId",
|
341
|
-
"name": "clonedInstanceNftId",
|
342
|
-
"type": "uint96"
|
343
367
|
}
|
344
368
|
],
|
345
369
|
"name": "LogInstanceCloned",
|
@@ -425,25 +449,48 @@
|
|
425
449
|
"type": "uint64[]"
|
426
450
|
}
|
427
451
|
],
|
428
|
-
"name": "
|
452
|
+
"name": "createComponentTarget",
|
429
453
|
"outputs": [],
|
430
454
|
"stateMutability": "nonpayable",
|
431
455
|
"type": "function"
|
432
456
|
},
|
433
457
|
{
|
434
|
-
"inputs": [
|
435
|
-
"name": "createInstanceClone",
|
436
|
-
"outputs": [
|
458
|
+
"inputs": [
|
437
459
|
{
|
438
|
-
"internalType": "
|
439
|
-
"name": "
|
440
|
-
"type": "
|
460
|
+
"internalType": "NftId",
|
461
|
+
"name": "instanceNftId",
|
462
|
+
"type": "uint96"
|
441
463
|
},
|
442
464
|
{
|
443
|
-
"internalType": "
|
444
|
-
"name": "
|
465
|
+
"internalType": "address",
|
466
|
+
"name": "targetAddress",
|
445
467
|
"type": "address"
|
446
468
|
},
|
469
|
+
{
|
470
|
+
"internalType": "string",
|
471
|
+
"name": "targetName",
|
472
|
+
"type": "string"
|
473
|
+
},
|
474
|
+
{
|
475
|
+
"internalType": "bytes4[][]",
|
476
|
+
"name": "selectors",
|
477
|
+
"type": "bytes4[][]"
|
478
|
+
},
|
479
|
+
{
|
480
|
+
"internalType": "RoleId[]",
|
481
|
+
"name": "roles",
|
482
|
+
"type": "uint64[]"
|
483
|
+
}
|
484
|
+
],
|
485
|
+
"name": "createGifTarget",
|
486
|
+
"outputs": [],
|
487
|
+
"stateMutability": "nonpayable",
|
488
|
+
"type": "function"
|
489
|
+
},
|
490
|
+
{
|
491
|
+
"inputs": [],
|
492
|
+
"name": "createInstance",
|
493
|
+
"outputs": [
|
447
494
|
{
|
448
495
|
"internalType": "contract Instance",
|
449
496
|
"name": "clonedInstance",
|
@@ -453,16 +500,6 @@
|
|
453
500
|
"internalType": "NftId",
|
454
501
|
"name": "clonedInstanceNftId",
|
455
502
|
"type": "uint96"
|
456
|
-
},
|
457
|
-
{
|
458
|
-
"internalType": "contract InstanceReader",
|
459
|
-
"name": "clonedInstanceReader",
|
460
|
-
"type": "address"
|
461
|
-
},
|
462
|
-
{
|
463
|
-
"internalType": "contract BundleManager",
|
464
|
-
"name": "clonedBundleManager",
|
465
|
-
"type": "address"
|
466
503
|
}
|
467
504
|
],
|
468
505
|
"stateMutability": "nonpayable",
|
@@ -474,7 +511,7 @@
|
|
474
511
|
"outputs": [
|
475
512
|
{
|
476
513
|
"internalType": "ObjectType",
|
477
|
-
"name": "",
|
514
|
+
"name": "serviceDomain",
|
478
515
|
"type": "uint8"
|
479
516
|
}
|
480
517
|
],
|
@@ -585,15 +622,15 @@
|
|
585
622
|
},
|
586
623
|
{
|
587
624
|
"inputs": [],
|
588
|
-
"name": "
|
625
|
+
"name": "getRoleId",
|
589
626
|
"outputs": [
|
590
627
|
{
|
591
|
-
"internalType": "
|
592
|
-
"name": "",
|
593
|
-
"type": "
|
628
|
+
"internalType": "RoleId",
|
629
|
+
"name": "serviceRoleId",
|
630
|
+
"type": "uint64"
|
594
631
|
}
|
595
632
|
],
|
596
|
-
"stateMutability": "
|
633
|
+
"stateMutability": "pure",
|
597
634
|
"type": "function"
|
598
635
|
},
|
599
636
|
{
|
@@ -609,6 +646,24 @@
|
|
609
646
|
"stateMutability": "pure",
|
610
647
|
"type": "function"
|
611
648
|
},
|
649
|
+
{
|
650
|
+
"inputs": [
|
651
|
+
{
|
652
|
+
"internalType": "NftId",
|
653
|
+
"name": "instanceNftId",
|
654
|
+
"type": "uint96"
|
655
|
+
},
|
656
|
+
{
|
657
|
+
"internalType": "contract IInstanceLinkedComponent",
|
658
|
+
"name": "component",
|
659
|
+
"type": "address"
|
660
|
+
}
|
661
|
+
],
|
662
|
+
"name": "initializeAuthorization",
|
663
|
+
"outputs": [],
|
664
|
+
"stateMutability": "nonpayable",
|
665
|
+
"type": "function"
|
666
|
+
},
|
612
667
|
{
|
613
668
|
"inputs": [],
|
614
669
|
"name": "initializeERC165",
|
@@ -742,6 +797,30 @@
|
|
742
797
|
{
|
743
798
|
"inputs": [],
|
744
799
|
"name": "linkToRegisteredNftId",
|
800
|
+
"outputs": [
|
801
|
+
{
|
802
|
+
"internalType": "NftId",
|
803
|
+
"name": "nftId",
|
804
|
+
"type": "uint96"
|
805
|
+
}
|
806
|
+
],
|
807
|
+
"stateMutability": "nonpayable",
|
808
|
+
"type": "function"
|
809
|
+
},
|
810
|
+
{
|
811
|
+
"inputs": [
|
812
|
+
{
|
813
|
+
"internalType": "address",
|
814
|
+
"name": "rewardProvider",
|
815
|
+
"type": "address"
|
816
|
+
},
|
817
|
+
{
|
818
|
+
"internalType": "Amount",
|
819
|
+
"name": "dipAmount",
|
820
|
+
"type": "uint96"
|
821
|
+
}
|
822
|
+
],
|
823
|
+
"name": "refillStakingRewardReserves",
|
745
824
|
"outputs": [],
|
746
825
|
"stateMutability": "nonpayable",
|
747
826
|
"type": "function"
|
@@ -807,12 +886,25 @@
|
|
807
886
|
{
|
808
887
|
"inputs": [
|
809
888
|
{
|
810
|
-
"internalType": "
|
811
|
-
"name": "
|
812
|
-
"type": "
|
889
|
+
"internalType": "Seconds",
|
890
|
+
"name": "stakeLockingPeriod",
|
891
|
+
"type": "uint40"
|
813
892
|
}
|
814
893
|
],
|
815
|
-
"name": "
|
894
|
+
"name": "setStakingLockingPeriod",
|
895
|
+
"outputs": [],
|
896
|
+
"stateMutability": "nonpayable",
|
897
|
+
"type": "function"
|
898
|
+
},
|
899
|
+
{
|
900
|
+
"inputs": [
|
901
|
+
{
|
902
|
+
"internalType": "UFixed",
|
903
|
+
"name": "rewardRate",
|
904
|
+
"type": "uint256"
|
905
|
+
}
|
906
|
+
],
|
907
|
+
"name": "setStakingRewardRate",
|
816
908
|
"outputs": [],
|
817
909
|
"stateMutability": "nonpayable",
|
818
910
|
"type": "function"
|
@@ -849,6 +941,19 @@
|
|
849
941
|
"stateMutability": "nonpayable",
|
850
942
|
"type": "function"
|
851
943
|
},
|
944
|
+
{
|
945
|
+
"inputs": [
|
946
|
+
{
|
947
|
+
"internalType": "address",
|
948
|
+
"name": "instanceReaderAddress",
|
949
|
+
"type": "address"
|
950
|
+
}
|
951
|
+
],
|
952
|
+
"name": "upgradeMasterInstanceReader",
|
953
|
+
"outputs": [],
|
954
|
+
"stateMutability": "nonpayable",
|
955
|
+
"type": "function"
|
956
|
+
},
|
852
957
|
{
|
853
958
|
"inputs": [
|
854
959
|
{
|
@@ -861,278 +966,193 @@
|
|
861
966
|
"outputs": [],
|
862
967
|
"stateMutability": "nonpayable",
|
863
968
|
"type": "function"
|
969
|
+
},
|
970
|
+
{
|
971
|
+
"inputs": [
|
972
|
+
{
|
973
|
+
"internalType": "Amount",
|
974
|
+
"name": "dipAmount",
|
975
|
+
"type": "uint96"
|
976
|
+
}
|
977
|
+
],
|
978
|
+
"name": "withdrawStakingRewardReserves",
|
979
|
+
"outputs": [
|
980
|
+
{
|
981
|
+
"internalType": "Amount",
|
982
|
+
"name": "newBalance",
|
983
|
+
"type": "uint96"
|
984
|
+
}
|
985
|
+
],
|
986
|
+
"stateMutability": "nonpayable",
|
987
|
+
"type": "function"
|
864
988
|
}
|
865
989
|
],
|
866
|
-
"bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b615fca80620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637a9e5e4b11610104578063b68d1809116100a2578063eeff428e11610071578063eeff428e14610445578063f21de1e8146102e5578063f7c34ee014610498578063feec1190146104ab57600080fd5b8063b68d1809146103f4578063bf7e214f14610403578063c22f980d14610421578063edabac031461043457600080fd5b80638e32e979116100de5780638e32e979146103985780638fb36037146103ab578063ada9652e146103cc578063b03d2a8e146103e157600080fd5b80637a9e5e4b14610375578063872309c714610388578063893d20e81461039057600080fd5b8063329d6e741161017c578063644c45e01161014b578063644c45e01461030a578063675393bf1461033c5780636a778e731461034f5780636c6fbb281461036257600080fd5b8063329d6e74146102b757806336fc697e146102ca57806349bb9e4b146102d25780635ab1bd53146102e557600080fd5b8063138461e0116101b8578063138461e0146102525780631eff4b221461025c578063214cdb801461029157806327bb7a33146102a457600080fd5b806301ffc9a7146101df5780630d8e6e2c146102215780630fec111c1461023d575b600080fd5b61020c6101ed3660046152d3565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102296104be565b60405162ffffff9091168152602001610218565b610245610548565b6040516102189190615345565b61025a6106f7565b005b6102837f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610218565b61025a61029f3660046152d3565b6108fe565b61025a6102b236600461550a565b61092b565b61025a6102c53660046155a2565b6109b7565b61025a610b04565b61025a6102e03660046155d6565b610b4a565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610218565b600080516020615f35833981519152546001600160601b03165b6040516001600160601b039091168152602001610218565b61025a61034a366004615625565b610c49565b61032461035d366004615625565b610d57565b61025a6103703660046157d0565b6115b2565b61025a610383366004615625565b6117dd565b610283600081565b6102f2611877565b61025a6103a6366004615894565b6119ae565b6103b3611be7565b6040516001600160e01b03199091168152602001610218565b610283600080516020615f3583398151915281565b61025a6103ef3660046158df565b611c1f565b60405160468152602001610218565b600080516020615f55833981519152546001600160a01b03166102f2565b61025a61042f3660046158fc565b611e86565b6005546001600160a01b03166102f2565b61044d6120b2565b604080516001600160a01b0397881681529587166020870152938616938501939093526001600160601b039091166060840152831660808301529190911660a082015260c001610218565b61025a6104a6366004615919565b61281e565b61025a6104b9366004615625565b612895565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af415801561051f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105439190615952565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b909104161515918101919091526001820180549192916060840191906105f390615977565b80601f016020809104026020016040519081016040528092919081815260200182805461061f90615977565b801561066c5780601f106106415761010080835404028352916020019161066c565b820191906000526020600020905b81548152906001019060200180831161064f57829003601f168201915b50505050508152505090506040518060e0016040528061068a600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b031681526020016106db611877565b6001600160a01b03168152602001826060015181525091505090565b6000600080516020615f3583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a91906159bc565b156107bb5780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306107ce6001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a91906159bc565b6108625760405163b9304b0d60e01b81526001600160a01b03821660048201526024016107b2565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da91906159e4565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b610906612a08565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610933612a08565b61093d828761281e565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016109ad8382615a4f565b5050505050505050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6109d96104be565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3d9190615b0e565b600080516020615f758339815191528054600160401b900460ff1680610a70575080546001600160401b03808416911610155b15610a8e5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610ab883612a41565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610b0c612a08565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600080516020615f758339815191528054600160401b810460ff1615906001600160401b0316600081158015610b7d5750825b90506000826001600160401b03166001148015610b995750303b155b905081158015610ba7575080155b15610bc55760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610bef57845460ff60401b1916600160401b1785555b610bf98787612a49565b8315610c4057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b610c51612a08565b806001600160a01b03163b600003610c875760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107b2565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152630a3888e560e31b60048201526301ffc9a790602401602060405180830381865afa925050508015610d01575060408051601f3d908101601f19168201909252610cfe918101906159bc565b60015b610d295760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107b2565b80610d525760405163fdeac91f60e01b81526001600160a01b03831660048201526024016107b2565b505b50565b6000610d61611877565b6001600160a01b0316336001600160a01b031614610d945760405163086391f760e31b81523360048201526024016107b2565b6004546001600160a01b031615610dbe57604051632c237de760e11b815260040160405180910390fd5b6002546001600160a01b031615610de857604051636519f6b960e01b815260040160405180910390fd5b6003546001600160a01b031615610e1257604051630157f74960e01b815260040160405180910390fd5b6006546001600160a01b031615610e3c57604051637f405a2960e01b815260040160405180910390fd5b6001600160a01b038216610e63576040516309353e4560e11b815260040160405180910390fd5b60008290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecc9190615b36565b905060008190506000836001600160a01b031663e5f6cd276040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f379190615b36565b905060008190506000856001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa29190615b36565b905060008190506000876001600160a01b03166361f5f4206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fe9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100d9190615b36565b9050806001600160a01b0387166110375760405163078ddb7760e51b815260040160405180910390fd5b6001600160a01b03851661105e5760405163459e9b9760e01b815260040160405180910390fd5b6001600160a01b0383166110855760405163e267254160e01b815260040160405180910390fd5b6001600160a01b0381166110ac57604051630ddeaef560e11b815260040160405180910390fd5b856001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110e9190615b36565b6001600160a01b0316896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111799190615b36565b6001600160a01b0316146111a0576040516334ddf1a760e21b815260040160405180910390fd5b856001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112029190615b36565b6001600160a01b0316826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611249573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126d9190615b36565b6001600160a01b031614611294576040516326c89a4160e01b815260040160405180910390fd5b886001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113009190615b36565b6001600160a01b031614611327576040516331783c7160e11b815260040160405180910390fd5b886001600160a01b0316826001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113939190615b36565b6001600160a01b0316146113ba57604051631b25e96d60e31b815260040160405180910390fd5b600280546001600160a01b03199081166001600160a01b038a8116919091179092556003805482168884161790556004805482168e8416179055600580548216868416179055600680549091168383161790556001546000911663d39e604360286114236104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115059190615b36565b6004549091506001600160a01b0390811690600090831663026bc43b8361152a611877565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016000604051808303816000875af1158015611577573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261159f9190810190615bc0565b519e9d5050505050505050505050505050565b6001546001600160a01b0316604051632b91e0a960e01b81523360048201526001600160a01b039190911690632b91e0a990602401602060405180830381865afa158015611604573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162891906159bc565b611647576040516302613e9f60e51b81523360048201526024016107b2565b6000806116548787612b69565b915091506000826001600160a01b031663e5f6cd276040518163ffffffff1660e01b8152600401602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190615b36565b60405163044ec4c360e41b81529091506001600160a01b038216906344ec4c30906116ed908a908a90600401615c92565b600060405180830381600087803b15801561170757600080fd5b505af115801561171b573d6000803e3d6000fd5b5050505060005b84518110156117d257816001600160a01b0316630c8ae53e8888848151811061174d5761174d615cb6565b602002602001015188858151811061176757611767615cb6565b60200260200101516040518463ffffffff1660e01b815260040161178d93929190615d11565b600060405180830381600087803b1580156117a757600080fd5b505af11580156117bb573d6000803e3d6000fd5b5050505080806117ca90615d50565b915050611722565b505050505050505050565b336117fd600080516020615f55833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146118385760405162d1953b60e31b81526001600160a01b03821660048201526024016107b2565b816001600160a01b03163b60000361186e576040516361798f2f60e11b81526001600160a01b03831660048201526024016107b2565b610d5282612d19565b600080600080516020615f3583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156118e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190b91906159bc565b15611998576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561196e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119929190615b36565b91505090565b54600160601b90046001600160a01b0316919050565b6119b6612a08565b611a3683846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1c91906159e4565b603c6000856040518060200160405280600081525061092b565b6001600160a01b03821615611a5357611a4e82612d7a565b611bc2565b6000611a676001546001600160a01b031690565b6001600160a01b031663d39e60436028604051632392b61b60e21b81526003600482015273__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af4158015611ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aeb9190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015611b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b549190615b36565b9050611bc0816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bbb9190615b36565b612d7a565b505b611bd2634a531f3360e01b6108fe565b611be263b68d180960e01b6108fe565b505050565b600080516020615f55833981519152805460009190600160a01b900460ff16611c11576000611992565b638fb3603760e01b91505090565b6001546001600160a01b0316604051630bee2f1560e11b81523360048201526001600160a01b0391909116906317dc5e2a90602401602060405180830381865afa158015611c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9591906159bc565b611cb4576040516302613e9f60e51b81523360048201526024016107b2565b336000611cc96001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038481166004830152919250600091831690638b09a5f090602401600060405180830381865afa158015611d15573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d3d9190810190615bc0565b602001516040516305247a1760e51b81526001600160601b03821660048201529091506000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015611d94573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dbc9190810190615bc0565b608001519050806001600160a01b031663e5f6cd276040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e249190615b36565b604051638689231360e01b81526001600160a01b038681166004830152871515602483015291909116906386892313906044015b600060405180830381600087803b158015611e7257600080fd5b505af11580156117d2573d6000803e3d6000fd5b80611e996001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0c9190615b36565b6001600160a01b0316336001600160a01b031614611f3f576040516302613e9f60e51b81523360048201526024016107b2565b6000611f536001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03851660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015611fa6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fce9190810190615bc0565b608081015160055491925090600090611fef906001600160a01b0316612d8b565b60405163189acdbd60e31b81526001600160a01b0384811660048301529192509082169063c4d66de890602401600060405180830381600087803b15801561203657600080fd5b505af115801561204a573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528516925063f7bc431c91506024015b600060405180830381600087803b15801561209257600080fd5b505af11580156120a6573d6000803e3d6000fd5b50505050505050505050565b6000808080808033816120cd6001546001600160a01b031690565b905060006001600160a01b03821663d39e604360286120ea6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801561213f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121639190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156121a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cc9190615b36565b6002549091506121e4906001600160a01b0316612d8b565b60405163189acdbd60e31b81523060048201529099506001600160a01b038a169063c4d66de890602401600060405180830381600087803b15801561222857600080fd5b505af115801561223c573d6000803e3d6000fd5b505060045461225692506001600160a01b03169050612d8b565b60405163c0c53b8b60e01b81526001600160a01b038b81166004830152848116602483015285811660448301529198509088169063c0c53b8b90606401600060405180830381600087803b1580156122ad57600080fd5b505af11580156122c1573d6000803e3d6000fd5b50506005546122db92506001600160a01b03169050612d8b565b60405163189acdbd60e31b81526001600160a01b0389811660048301529196509086169063c4d66de890602401600060405180830381600087803b15801561232257600080fd5b505af1158015612336573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b0388811660048301528a16925063f7bc431c9150602401600060405180830381600087803b15801561237d57600080fd5b505af1158015612391573d6000803e3d6000fd5b50506006546123ab92506001600160a01b03169050612d8b565b60405163189acdbd60e31b81526001600160a01b0389811660048301529195509085169063c4d66de890602401600060405180830381600087803b1580156123f257600080fd5b505af1158015612406573d6000803e3d6000fd5b505060405162422c9d60e81b81526001600160a01b0387811660048301528a16925063422c9d009150602401600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505060035461247a92506001600160a01b03169050612d8b565b9750886001600160a01b03166325c471a0612493612dfd565b604051631517388760e21b81526001600160401b03909116600482015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156124ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125109190615b0e565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038b16602482015260006044820152606401600060405180830381600087803b15801561256757600080fd5b505af115801561257b573d6000803e3d6000fd5b505060405163189acdbd60e31b81526001600160a01b038a811660048301528b16925063c4d66de89150602401600060405180830381600087803b1580156125c257600080fd5b505af11580156125d6573d6000803e3d6000fd5b5050604051630f749a8960e01b81526001600160a01b038b811660048301528a169250630f749a899150602401600060405180830381600087803b15801561261d57600080fd5b505af1158015612631573d6000803e3d6000fd5b5050505061264188888686612e75565b886001600160a01b031663fe0776f5612658612dfd565b604051631517388760e21b81526001600160401b03909116600482015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156126b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d59190615b0e565b306040518363ffffffff1660e01b81526004016126f3929190615d77565b600060405180830381600087803b15801561270d57600080fd5b505af1158015612721573d6000803e3d6000fd5b505060405163026bc43b60e01b81526001600160a01b038a811660048301528681166024830152600093508416915063026bc43b906044016000604051808303816000875af1158015612778573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127a09190810190615bc0565b8051604080516001600160a01b038e811682528d811660208301528c81168284015289811660608301528a1660808201526001600160601b03831660a082015290519199509192507f32cbb66c346aa6f8ad796a2e50fc928da4e8de44cc6eed6df36aae852e5726999181900360c00190a150505050909192939495565b612826612a08565b61282f81610c49565b612837610b04565b6001600160a01b03821661285e5760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020615f3583398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b61289d611877565b6001600160a01b0316336001600160a01b0316146128d05760405163086391f760e31b81523360048201526024016107b2565b6005546001600160a01b03166128f9576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661292057604051631aa1808560e31b815260040160405180910390fd5b6005546001600160a01b039081169082160361294f57604051630666e2a560e01b815260040160405180910390fd5b600480546040805163379ed74560e21b8152905184936001600160a01b039384169385169263de7b5d1492818301926020928290030181865afa15801561299a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129be9190615b36565b6001600160a01b0316146129e55760405163f026367160e01b815260040160405180910390fd5b50600580546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020615f7583398151915254600160401b900460ff16612a3f57604051631afcd79f60e31b815260040160405180910390fd5b565b6101da612a08565b600080516020615f758339815191528054600160401b810460ff1615906001600160401b0316600081158015612a7c5750825b90506000826001600160401b03166001148015612a985750303b155b905081158015612aa6575080155b15612ac45760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315612aee57845460ff60401b1916600160401b1785555b60008087806020019051810190612b059190615d99565b92509050612b158160008b6119ae565b612b25630655ba6560e31b6108fe565b50508315610c4057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610c37565b6000806000612b806001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015612bd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bfb9190810190615bc0565b9050612c198160400151612c0d604690565b60ff9081169116141590565b15612c425760405163e3c2794960e01b81526001600160601b03871660048201526024016107b2565b6040516308b09a5f60e41b81526001600160a01b03868116600483015260009190841690638b09a5f090602401600060405180830381865afa158015612c8c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612cb49190810190615bc0565b9050612cd18160200151886001600160601b039081169116141590565b15612d0557805160405163a811346560e01b81526001600160601b03808a16600483015290911660248201526044016107b2565b608090910151905190969095509350505050565b600080516020615f5583398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b612d82612a08565b610d5481612eea565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116612df8576040516330be1a3d60e21b815260040160405180910390fd5b919050565b6040516368aebf7b60e01b81526000600482018190529073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015612e51573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105439190615b0e565b612e7e84612efb565b612e898484846135bb565b612e9384846136d1565b612e9d8484613b3b565b612ea78484613d6a565b612eb1848461403e565b612ebb84846142a4565b612ec584846144d1565b612ed084848461476e565b612eda8484614ba0565b612ee48482614ef5565b50505050565b612ef2612a08565b610d5481612d19565b806001600160a01b0316634a3a1e00612f12614fef565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526013604482015272496e7374616e636553657276696365526f6c6560681b6064820152608401600060405180830381600087803b158015612f7c57600080fd5b505af1158015612f90573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e00612fab61502b565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601760448201527f446973747269627574696f6e53657276696365526f6c650000000000000000006064820152608401600060405180830381600087803b15801561301f57600080fd5b505af1158015613033573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e0061304e615067565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600f60448201526e506f6f6c53657276696365526f6c6560881b6064820152608401600060405180830381600087803b1580156130b457600080fd5b505af11580156130c8573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e006130e36150a3565b604080516001600160e01b031960e085901b1681526001600160401b039092166004830152602482015260166044820152754170706c69636174696f6e53657276696365526f6c6560501b6064820152608401600060405180830381600087803b15801561315057600080fd5b505af1158015613164573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e0061317f6150df565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601260448201527150726f6475637453657276696365526f6c6560701b6064820152608401600060405180830381600087803b1580156131e857600080fd5b505af11580156131fc573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e0061321761511b565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601060448201526f436c61696d53657276696365526f6c6560801b6064820152608401600060405180830381600087803b15801561327e57600080fd5b505af1158015613292573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e006132ad615157565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526011604482015270506f6c69637953657276696365526f6c6560781b6064820152608401600060405180830381600087803b15801561331557600080fd5b505af1158015613329573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e00613344615193565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601160448201527042756e646c6553657276696365526f6c6560781b6064820152608401600060405180830381600087803b1580156133ac57600080fd5b505af11580156133c0573d6000803e3d6000fd5b50505050806001600160a01b031663f2345aea6133db6151cf565b6133e361520a565b6040516001600160e01b031960e085901b1681526001600160401b039283166004820152606060248201526015606482015274446973747269627574696f6e4f776e6572526f6c6560581b60848201529116604482015260a401600060405180830381600087803b15801561345757600080fd5b505af115801561346b573d6000803e3d6000fd5b50505050806001600160a01b031663f2345aea613486615246565b61348e61520a565b6040516001600160e01b031960e085901b1681526001600160401b03928316600482015260606024820152600d60648201526c506f6f6c4f776e6572526f6c6560981b60848201529116604482015260a401600060405180830381600087803b1580156134fa57600080fd5b505af115801561350e573d6000803e3d6000fd5b50505050806001600160a01b031663f2345aea613529615280565b61353161520a565b6040516001600160e01b031960e085901b1681526001600160401b03928316600482015260606024820152601060648201526f50726f647563744f776e6572526f6c6560801b60848201529116604482015260a401600060405180830381600087803b1580156135a057600080fd5b505af11580156135b4573d6000803e3d6000fd5b5050505050565b6040516312f48f1560e01b81526001600160a01b038416906312f48f15906135e7908690600401615dc8565b600060405180830381600087803b15801561360157600080fd5b505af1158015613615573d6000803e3d6000fd5b50506040516312f48f1560e01b81526001600160a01b03861692506312f48f159150613645908590600401615e0c565b600060405180830381600087803b15801561365f57600080fd5b505af1158015613673573d6000803e3d6000fd5b50506040516312f48f1560e01b81526001600160a01b03861692506312f48f1591506136a3908490600401615e43565b600060405180830381600087803b1580156136bd57600080fd5b505af1158015610c40573d6000803e3d6000fd5b60006136e56001546001600160a01b031690565b6001600160a01b031663d39e604360786136fd6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015613752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137769190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156137bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137df9190615b36565b9050826001600160a01b031663b428b0b06137f861502b565b836040518363ffffffff1660e01b8152600401613816929190615d77565b6020604051808303816000875af1158015613835573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061385991906159bc565b5060408051600b80825261018082019092526000916020820161016080368337019050509050639e90178c60e01b8160008151811061389a5761389a615cb6565b6001600160e01b031990921660209283029190910190910152805163f7b442d160e01b90829060019081106138d1576138d1615cb6565b6001600160e01b0319909216602092830291909101909101528051631850985d60e11b908290600290811061390857613908615cb6565b6001600160e01b03199092166020928302919091019091015280516305a8416b60e41b908290600390811061393f5761393f615cb6565b6001600160e01b031990921660209283029190910190910152805163a284222960e01b908290600490811061397657613976615cb6565b6001600160e01b0319909216602092830291909101909101528051635338a4af60e11b90829060059081106139ad576139ad615cb6565b6001600160e01b0319909216602092830291909101909101528051633ed2a38d60e21b90829060069081106139e4576139e4615cb6565b6001600160e01b03199092166020928302919091019091015280516340529b0f60e01b9082906007908110613a1b57613a1b615cb6565b6001600160e01b0319909216602092830291909101909101528051631941cfe160e31b9082906008908110613a5257613a52615cb6565b6001600160e01b03199092166020928302919091019091015280516330882f0760e11b9082906009908110613a8957613a89615cb6565b6001600160e01b031990921660209283029190910190910152805162af902560e81b908290600a908110613abf57613abf615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af061502b565b6040518363ffffffff1660e01b8152600401613b0d929190615e7f565b600060405180830381600087803b158015613b2757600080fd5b505af11580156109ad573d6000803e3d6000fd5b6000613b4f6001546001600160a01b031690565b6001600160a01b031663d39e6043608c613b676104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015613bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613be09190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c499190615b36565b9050826001600160a01b031663b428b0b0613c62615067565b836040518363ffffffff1660e01b8152600401613c80929190615d77565b6020604051808303816000875af1158015613c9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cc391906159bc565b5060408051600480825260a082019092526000916020820160808036833701905050905063d5c9d77d60e01b81600081518110613d0257613d02615cb6565b6001600160e01b031990921660209283029190910190910152805163a4eeee5960e01b9082906001908110613d3957613d39615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af0615067565b6000613d7e6001546001600160a01b031690565b6001600160a01b031663d39e6043606e613d966104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015613deb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0f9190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e789190615b36565b9050826001600160a01b031663b428b0b0613e916150df565b836040518363ffffffff1660e01b8152600401613eaf929190615d77565b6020604051808303816000875af1158015613ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef291906159bc565b5060408051600580825260c082019092526000916020820160a08036833701905050905063fbc1a3a060e01b81600081518110613f3157613f31615cb6565b6001600160e01b0319909216602092830291909101909101528051630cbc6b8960e01b9082906001908110613f6857613f68615cb6565b6001600160e01b03199092166020928302919091019091015280516317b0844560e11b9082906002908110613f9f57613f9f615cb6565b6001600160e01b03199092166020928302919091019091015280516314eddc0360e31b9082906003908110613fd657613fd6615cb6565b6001600160e01b0319909216602092830291909101909101528051633e77a42160e11b908290600490811061400d5761400d615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af06150df565b60006140526001546001600160a01b031690565b6001600160a01b031663d39e604360d261406a6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156140bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140e39190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614128573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061414c9190615b36565b9050826001600160a01b031663b428b0b06141656150a3565b836040518363ffffffff1660e01b8152600401614183929190615d77565b6020604051808303816000875af11580156141a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141c691906159bc565b50604080516003808252608082019092526000916020820160608036833701905050905063a472a83260e01b8160008151811061420557614205615cb6565b6001600160e01b031990921660209283029190910190910152805163174324cd60e21b908290600190811061423c5761423c615cb6565b6001600160e01b0319909216602092830291909101909101528051630fad0eb160e01b908290600290811061427357614273615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af06150a3565b60006142b86001546001600160a01b031690565b6001600160a01b031663d39e604360d36142d06104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015614325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143499190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561438e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143b29190615b36565b9050826001600160a01b031663b428b0b06143cb615157565b836040518363ffffffff1660e01b81526004016143e9929190615d77565b6020604051808303816000875af1158015614408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061442c91906159bc565b5060408051600280825260608201835260009260208301908036833701905050905063cbe8642560e01b8160008151811061446957614469615cb6565b6001600160e01b0319909216602092830291909101909101528051631750d17360e21b90829060019081106144a0576144a0615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af0615157565b60006144e56001546001600160a01b031690565b6001600160a01b031663d39e604360d46144fd6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015614552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145769190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156145bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145df9190615b36565b9050826001600160a01b031663b428b0b06145f861511b565b836040518363ffffffff1660e01b8152600401614616929190615d77565b6020604051808303816000875af1158015614635573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061465991906159bc565b5060408051600480825260a082019092526000916020820160808036833701905050905063a1ef60e960e01b8160008151811061469857614698615cb6565b6001600160e01b03199092166020928302919091019091015280516314f31fb160e11b90829060019081106146cf576146cf615cb6565b6001600160e01b03199092166020928302919091019091015280516340e1594160e11b908290600290811061470657614706615cb6565b6001600160e01b0319909216602092830291909101909101528051630f6c29ef60e01b908290600390811061473d5761473d615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af061511b565b60006147826001546001600160a01b031690565b6001600160a01b031663d39e604360dc61479a6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156147ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148139190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061487c9190615b36565b9050836001600160a01b031663b428b0b0614895615193565b836040518363ffffffff1660e01b81526004016148b3929190615d77565b6020604051808303816000875af11580156148d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148f691906159bc565b5060408051600380825260808201909252600091602082016060803683370190505090506397affbf560e01b8160008151811061493557614935615cb6565b6001600160e01b0319909216602092830291909101909101528051632cc2921360e11b908290600190811061496c5761496c615cb6565b6001600160e01b0319909216602092830291909101909101528051637f0f8c6b60e11b90829060029081106149a3576149a3615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038516630c8ae53e826149d4615193565b6040518363ffffffff1660e01b81526004016149f1929190615e7f565b600060405180830381600087803b158015614a0b57600080fd5b505af1158015614a1f573d6000803e3d6000fd5b506000925060059150614a2f9050565b604051908082528060200260200182016040528015614a58578160200160208202803683370190505b509050630cc7e61460e01b81600081518110614a7657614a76615cb6565b6001600160e01b0319909216602092830291909101909101528051631351fccf60e31b9082906001908110614aad57614aad615cb6565b6001600160e01b03199092166020928302919091019091015280516346f0e8a760e11b9082906002908110614ae457614ae4615cb6565b6001600160e01b031990921660209283029190910190910152805163b5346af560e01b9082906003908110614b1b57614b1b615cb6565b6001600160e01b03199092166020928302919091019091015280516306fa456560e01b9082906004908110614b5257614b52615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038616630c8ae53e82614b83615193565b6040518363ffffffff1660e01b8152600401612078929190615ed2565b6000614bb46001546001600160a01b031690565b6001600160a01b031663d39e60436046614bcc6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015614c21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c459190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614c8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cae9190615b36565b9050826001600160a01b031663b428b0b0614cc7614fef565b836040518363ffffffff1660e01b8152600401614ce5929190615d77565b6020604051808303816000875af1158015614d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d2891906159bc565b506040805160018082528183019092526000916020808301908036833701905050905063f7bc431c60e01b81600081518110614d6657614d66615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82614d97614fef565b6040518363ffffffff1660e01b8152600401614db4929190615e7f565b600060405180830381600087803b158015614dce57600080fd5b505af1158015614de2573d6000803e3d6000fd5b506000925060039150614df29050565b604051908082528060200260200182016040528015614e1b578160200160208202803683370190505b5090506344ec4c3060e01b81600081518110614e3957614e39615cb6565b6001600160e01b0319909216602092830291909101909101528051638689231360e01b9082906001908110614e7057614e70615cb6565b6001600160e01b0319909216602092830291909101909101528051630645729f60e11b9082906002908110614ea757614ea7615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038516630c8ae53e82614ed8614fef565b6040518363ffffffff1660e01b8152600401611e58929190615eff565b604080516003808252608082019092526000916020820160608036833701905050905063d2192dbf60e01b81600081518110614f3357614f33615cb6565b6001600160e01b03199092166020928302919091019091015280516317ea2ab560e21b9082906001908110614f6a57614f6a615cb6565b6001600160e01b03199092166020928302919091019091015280516329db8c3d60e01b9082906002908110614fa157614fa1615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038316630c8ae53e82614fd261520a565b6040518363ffffffff1660e01b81526004016136a3929190615eff565b6040516368aebf7b60e01b81526107d0600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b8152610834600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b8152610898600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b8152610960600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b81526108fc600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b8152610974600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b815261096a600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b81526109c4600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b81526002600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b815261076c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b815260048082015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b81526005600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b80356001600160e01b031981168114612df857600080fd5b6000602082840312156152e557600080fd5b6152ee826152bb565b9392505050565b60005b838110156153105781810151838201526020016152f8565b50506000910152565b600081518084526153318160208601602086016152f5565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a08301516153ae60c08401826001600160a01b03169052565b5060c083015160e0808401526153c8610100840182615319565b949350505050565b6001600160a01b0381168114610d5457600080fd5b6001600160601b0381168114610d5457600080fd5b60ff81168114610d5457600080fd5b8015158114610d5457600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171561544f5761544f615417565b60405290565b604051601f8201601f191681016001600160401b038111828210171561547d5761547d615417565b604052919050565b60006001600160401b0382111561549e5761549e615417565b50601f01601f191660200190565b60006154bf6154ba84615485565b615455565b90508281528383830111156154d357600080fd5b828260208301376000602084830101529392505050565b600082601f8301126154fb57600080fd5b6152ee838335602085016154ac565b60008060008060008060c0878903121561552357600080fd5b863561552e816153d0565b9550602087013561553e816153e5565b9450604087013561554e816153fa565b9350606087013561555e81615409565b9250608087013561556e816153d0565b915060a08701356001600160401b0381111561558957600080fd5b61559589828a016154ea565b9150509295509295509295565b6000602082840312156155b457600080fd5b81356001600160401b038111156155ca57600080fd5b6153c8848285016154ea565b600080604083850312156155e957600080fd5b82356155f4816153d0565b915060208301356001600160401b0381111561560f57600080fd5b61561b858286016154ea565b9150509250929050565b60006020828403121561563757600080fd5b81356152ee816153d0565b60006001600160401b0382111561565b5761565b615417565b5060051b60200190565b600082601f83011261567657600080fd5b813560206156866154ba83615642565b828152600592831b85018201928282019190878511156156a557600080fd5b8387015b8581101561573f5780356001600160401b038111156156c85760008081fd5b8801603f81018a136156da5760008081fd5b8581013560406156ec6154ba83615642565b82815291851b8301810191888101908d8411156157095760008081fd5b938201935b8385101561572e5761571f856152bb565b8252938901939089019061570e565b8852505050938501935084016156a9565b5090979650505050505050565b6001600160401b0381168114610d5457600080fd5b600082601f83011261577257600080fd5b813560206157826154ba83615642565b82815260059290921b840181019181810190868411156157a157600080fd5b8286015b848110156157c55780356157b88161574c565b83529183019183016157a5565b509695505050505050565b600080600080600060a086880312156157e857600080fd5b85356157f3816153e5565b94506020860135615803816153d0565b935060408601356001600160401b038082111561581f57600080fd5b818801915088601f83011261583357600080fd5b615842898335602085016154ac565b9450606088013591508082111561585857600080fd5b61586489838a01615665565b9350608088013591508082111561587a57600080fd5b5061588788828901615761565b9150509295509295909350565b6000806000606084860312156158a957600080fd5b83356158b4816153d0565b925060208401356158c4816153d0565b915060408401356158d4816153d0565b809150509250925092565b6000602082840312156158f157600080fd5b81356152ee81615409565b60006020828403121561590e57600080fd5b81356152ee816153e5565b6000806040838503121561592c57600080fd5b8235615937816153d0565b91506020830135615947816153d0565b809150509250929050565b60006020828403121561596457600080fd5b815162ffffff811681146152ee57600080fd5b600181811c9082168061598b57607f821691505b6020821081036159ab57634e487b7160e01b600052602260045260246000fd5b50919050565b8051612df881615409565b6000602082840312156159ce57600080fd5b81516152ee81615409565b8051612df8816153e5565b6000602082840312156159f657600080fd5b81516152ee816153e5565b601f821115611be257600081815260208120601f850160051c81016020861015615a285750805b601f850160051c820191505b81811015615a4757828155600101615a34565b505050505050565b81516001600160401b03811115615a6857615a68615417565b615a7c81615a768454615977565b84615a01565b602080601f831160018114615ab15760008415615a995750858301515b600019600386901b1c1916600185901b178555615a47565b600085815260208120601f198616915b82811015615ae057888601518255948401946001909101908401615ac1565b5085821015615afe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215615b2057600080fd5b81516152ee8161574c565b8051612df8816153d0565b600060208284031215615b4857600080fd5b81516152ee816153d0565b8051612df8816153fa565b600060208284031215615b7057600080fd5b81516152ee816153fa565b600082601f830112615b8c57600080fd5b8151615b9a6154ba82615485565b818152846020838601011115615baf57600080fd5b6153c88260208301602087016152f5565b600060208284031215615bd257600080fd5b81516001600160401b0380821115615be957600080fd5b9083019060e08286031215615bfd57600080fd5b615c0561542d565b615c0e836159d9565b8152615c1c602084016159d9565b6020820152615c2d60408401615b53565b6040820152615c3e606084016159b1565b6060820152615c4f60808401615b2b565b6080820152615c6060a08401615b2b565b60a082015260c083015182811115615c7757600080fd5b615c8387828601615b7b565b60c08301525095945050505050565b6001600160a01b03831681526040602082018190526000906153c890830184615319565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015615d065781516001600160e01b03191687529582019590820190600101615ce0565b509495945050505050565b606081526000615d246060830186615319565b8281036020840152615d368186615ccc565b9150506001600160401b0383166040830152949350505050565b600060018201615d7057634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160401b039290921682526001600160a01b0316602082015260400190565b60008060408385031215615dac57600080fd5b8251615db7816153d0565b6020840151909250615947816153d0565b6001600160a01b03821681526040602082018190526015908201527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b60608201526000608082016152ee565b6001600160a01b038216815260406020820181905260089082015267496e7374616e636560c01b60608201526000608082016152ee565b6001600160a01b0382168152604060208201819052600d908201526c213ab7323632a6b0b730b3b2b960991b60608201526000608082016152ee565b606081526000615ea7606083016008815267496e7374616e636560c01b602082015260400190565b8281036020840152615eb98186615ccc565b9150506001600160401b03831660408301529392505050565b606081526000615ea760608301600d81526c213ab7323632a6b0b730b3b2b960991b602082015260400190565b606081526000615ea760608301601581527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b60208201526040019056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212202c6194756b63834c973c83272092787212f5e4f49f4ab8ed4e8ee015f122f87064736f6c63430008140033",
|
867
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c80637a9e5e4b11610104578063b68d1809116100a2578063eeff428e11610071578063eeff428e14610445578063f21de1e8146102e5578063f7c34ee014610498578063feec1190146104ab57600080fd5b8063b68d1809146103f4578063bf7e214f14610403578063c22f980d14610421578063edabac031461043457600080fd5b80638e32e979116100de5780638e32e979146103985780638fb36037146103ab578063ada9652e146103cc578063b03d2a8e146103e157600080fd5b80637a9e5e4b14610375578063872309c714610388578063893d20e81461039057600080fd5b8063329d6e741161017c578063644c45e01161014b578063644c45e01461030a578063675393bf1461033c5780636a778e731461034f5780636c6fbb281461036257600080fd5b8063329d6e74146102b757806336fc697e146102ca57806349bb9e4b146102d25780635ab1bd53146102e557600080fd5b8063138461e0116101b8578063138461e0146102525780631eff4b221461025c578063214cdb801461029157806327bb7a33146102a457600080fd5b806301ffc9a7146101df5780630d8e6e2c146102215780630fec111c1461023d575b600080fd5b61020c6101ed3660046152d3565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102296104be565b60405162ffffff9091168152602001610218565b610245610548565b6040516102189190615345565b61025a6106f7565b005b6102837f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610218565b61025a61029f3660046152d3565b6108fe565b61025a6102b236600461550a565b61092b565b61025a6102c53660046155a2565b6109b7565b61025a610b04565b61025a6102e03660046155d6565b610b4a565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610218565b600080516020615f35833981519152546001600160601b03165b6040516001600160601b039091168152602001610218565b61025a61034a366004615625565b610c49565b61032461035d366004615625565b610d57565b61025a6103703660046157d0565b6115b2565b61025a610383366004615625565b6117dd565b610283600081565b6102f2611877565b61025a6103a6366004615894565b6119ae565b6103b3611be7565b6040516001600160e01b03199091168152602001610218565b610283600080516020615f3583398151915281565b61025a6103ef3660046158df565b611c1f565b60405160468152602001610218565b600080516020615f55833981519152546001600160a01b03166102f2565b61025a61042f3660046158fc565b611e86565b6005546001600160a01b03166102f2565b61044d6120b2565b604080516001600160a01b0397881681529587166020870152938616938501939093526001600160601b039091166060840152831660808301529190911660a082015260c001610218565b61025a6104a6366004615919565b61281e565b61025a6104b9366004615625565b612895565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af415801561051f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105439190615952565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b909104161515918101919091526001820180549192916060840191906105f390615977565b80601f016020809104026020016040519081016040528092919081815260200182805461061f90615977565b801561066c5780601f106106415761010080835404028352916020019161066c565b820191906000526020600020905b81548152906001019060200180831161064f57829003601f168201915b50505050508152505090506040518060e0016040528061068a600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b031681526020016106db611877565b6001600160a01b03168152602001826060015181525091505090565b6000600080516020615f3583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a91906159bc565b156107bb5780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306107ce6001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a91906159bc565b6108625760405163b9304b0d60e01b81526001600160a01b03821660048201526024016107b2565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da91906159e4565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b610906612a08565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610933612a08565b61093d828761281e565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016109ad8382615a4f565b5050505050505050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6109d96104be565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3d9190615b0e565b600080516020615f758339815191528054600160401b900460ff1680610a70575080546001600160401b03808416911610155b15610a8e5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610ab883612a41565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610b0c612a08565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600080516020615f758339815191528054600160401b810460ff1615906001600160401b0316600081158015610b7d5750825b90506000826001600160401b03166001148015610b995750303b155b905081158015610ba7575080155b15610bc55760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610bef57845460ff60401b1916600160401b1785555b610bf98787612a49565b8315610c4057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b610c51612a08565b806001600160a01b03163b600003610c875760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107b2565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152630a3888e560e31b60048201526301ffc9a790602401602060405180830381865afa925050508015610d01575060408051601f3d908101601f19168201909252610cfe918101906159bc565b60015b610d295760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107b2565b80610d525760405163fdeac91f60e01b81526001600160a01b03831660048201526024016107b2565b505b50565b6000610d61611877565b6001600160a01b0316336001600160a01b031614610d945760405163086391f760e31b81523360048201526024016107b2565b6004546001600160a01b031615610dbe57604051632c237de760e11b815260040160405180910390fd5b6002546001600160a01b031615610de857604051636519f6b960e01b815260040160405180910390fd5b6003546001600160a01b031615610e1257604051630157f74960e01b815260040160405180910390fd5b6006546001600160a01b031615610e3c57604051637f405a2960e01b815260040160405180910390fd5b6001600160a01b038216610e63576040516309353e4560e11b815260040160405180910390fd5b60008290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecc9190615b36565b905060008190506000836001600160a01b031663e5f6cd276040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f379190615b36565b905060008190506000856001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa29190615b36565b905060008190506000876001600160a01b03166361f5f4206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fe9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100d9190615b36565b9050806001600160a01b0387166110375760405163078ddb7760e51b815260040160405180910390fd5b6001600160a01b03851661105e5760405163459e9b9760e01b815260040160405180910390fd5b6001600160a01b0383166110855760405163e267254160e01b815260040160405180910390fd5b6001600160a01b0381166110ac57604051630ddeaef560e11b815260040160405180910390fd5b856001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110e9190615b36565b6001600160a01b0316896001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111799190615b36565b6001600160a01b0316146111a0576040516334ddf1a760e21b815260040160405180910390fd5b856001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112029190615b36565b6001600160a01b0316826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611249573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126d9190615b36565b6001600160a01b031614611294576040516326c89a4160e01b815260040160405180910390fd5b886001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113009190615b36565b6001600160a01b031614611327576040516331783c7160e11b815260040160405180910390fd5b886001600160a01b0316826001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113939190615b36565b6001600160a01b0316146113ba57604051631b25e96d60e31b815260040160405180910390fd5b600280546001600160a01b03199081166001600160a01b038a8116919091179092556003805482168884161790556004805482168e8416179055600580548216868416179055600680549091168383161790556001546000911663d39e604360286114236104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115059190615b36565b6004549091506001600160a01b0390811690600090831663026bc43b8361152a611877565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016000604051808303816000875af1158015611577573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261159f9190810190615bc0565b519e9d5050505050505050505050505050565b6001546001600160a01b0316604051632b91e0a960e01b81523360048201526001600160a01b039190911690632b91e0a990602401602060405180830381865afa158015611604573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162891906159bc565b611647576040516302613e9f60e51b81523360048201526024016107b2565b6000806116548787612b69565b915091506000826001600160a01b031663e5f6cd276040518163ffffffff1660e01b8152600401602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190615b36565b60405163044ec4c360e41b81529091506001600160a01b038216906344ec4c30906116ed908a908a90600401615c92565b600060405180830381600087803b15801561170757600080fd5b505af115801561171b573d6000803e3d6000fd5b5050505060005b84518110156117d257816001600160a01b0316630c8ae53e8888848151811061174d5761174d615cb6565b602002602001015188858151811061176757611767615cb6565b60200260200101516040518463ffffffff1660e01b815260040161178d93929190615d11565b600060405180830381600087803b1580156117a757600080fd5b505af11580156117bb573d6000803e3d6000fd5b5050505080806117ca90615d50565b915050611722565b505050505050505050565b336117fd600080516020615f55833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146118385760405162d1953b60e31b81526001600160a01b03821660048201526024016107b2565b816001600160a01b03163b60000361186e576040516361798f2f60e11b81526001600160a01b03831660048201526024016107b2565b610d5282612d19565b600080600080516020615f3583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156118e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190b91906159bc565b15611998576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561196e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119929190615b36565b91505090565b54600160601b90046001600160a01b0316919050565b6119b6612a08565b611a3683846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1c91906159e4565b603c6000856040518060200160405280600081525061092b565b6001600160a01b03821615611a5357611a4e82612d7a565b611bc2565b6000611a676001546001600160a01b031690565b6001600160a01b031663d39e60436028604051632392b61b60e21b81526003600482015273__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af4158015611ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aeb9190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015611b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b549190615b36565b9050611bc0816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bbb9190615b36565b612d7a565b505b611bd2634a531f3360e01b6108fe565b611be263b68d180960e01b6108fe565b505050565b600080516020615f55833981519152805460009190600160a01b900460ff16611c11576000611992565b638fb3603760e01b91505090565b6001546001600160a01b0316604051630bee2f1560e11b81523360048201526001600160a01b0391909116906317dc5e2a90602401602060405180830381865afa158015611c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9591906159bc565b611cb4576040516302613e9f60e51b81523360048201526024016107b2565b336000611cc96001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038481166004830152919250600091831690638b09a5f090602401600060405180830381865afa158015611d15573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d3d9190810190615bc0565b602001516040516305247a1760e51b81526001600160601b03821660048201529091506000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015611d94573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dbc9190810190615bc0565b608001519050806001600160a01b031663e5f6cd276040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e249190615b36565b604051638689231360e01b81526001600160a01b038681166004830152871515602483015291909116906386892313906044015b600060405180830381600087803b158015611e7257600080fd5b505af11580156117d2573d6000803e3d6000fd5b80611e996001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0c9190615b36565b6001600160a01b0316336001600160a01b031614611f3f576040516302613e9f60e51b81523360048201526024016107b2565b6000611f536001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03851660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015611fa6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fce9190810190615bc0565b608081015160055491925090600090611fef906001600160a01b0316612d8b565b60405163189acdbd60e31b81526001600160a01b0384811660048301529192509082169063c4d66de890602401600060405180830381600087803b15801561203657600080fd5b505af115801561204a573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528516925063f7bc431c91506024015b600060405180830381600087803b15801561209257600080fd5b505af11580156120a6573d6000803e3d6000fd5b50505050505050505050565b6000808080808033816120cd6001546001600160a01b031690565b905060006001600160a01b03821663d39e604360286120ea6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801561213f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121639190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156121a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cc9190615b36565b6002549091506121e4906001600160a01b0316612d8b565b60405163189acdbd60e31b81523060048201529099506001600160a01b038a169063c4d66de890602401600060405180830381600087803b15801561222857600080fd5b505af115801561223c573d6000803e3d6000fd5b505060045461225692506001600160a01b03169050612d8b565b60405163c0c53b8b60e01b81526001600160a01b038b81166004830152848116602483015285811660448301529198509088169063c0c53b8b90606401600060405180830381600087803b1580156122ad57600080fd5b505af11580156122c1573d6000803e3d6000fd5b50506005546122db92506001600160a01b03169050612d8b565b60405163189acdbd60e31b81526001600160a01b0389811660048301529196509086169063c4d66de890602401600060405180830381600087803b15801561232257600080fd5b505af1158015612336573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b0388811660048301528a16925063f7bc431c9150602401600060405180830381600087803b15801561237d57600080fd5b505af1158015612391573d6000803e3d6000fd5b50506006546123ab92506001600160a01b03169050612d8b565b60405163189acdbd60e31b81526001600160a01b0389811660048301529195509085169063c4d66de890602401600060405180830381600087803b1580156123f257600080fd5b505af1158015612406573d6000803e3d6000fd5b505060405162422c9d60e81b81526001600160a01b0387811660048301528a16925063422c9d009150602401600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505060035461247a92506001600160a01b03169050612d8b565b9750886001600160a01b03166325c471a0612493612dfd565b604051631517388760e21b81526001600160401b03909116600482015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156124ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125109190615b0e565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038b16602482015260006044820152606401600060405180830381600087803b15801561256757600080fd5b505af115801561257b573d6000803e3d6000fd5b505060405163189acdbd60e31b81526001600160a01b038a811660048301528b16925063c4d66de89150602401600060405180830381600087803b1580156125c257600080fd5b505af11580156125d6573d6000803e3d6000fd5b5050604051630f749a8960e01b81526001600160a01b038b811660048301528a169250630f749a899150602401600060405180830381600087803b15801561261d57600080fd5b505af1158015612631573d6000803e3d6000fd5b5050505061264188888686612e75565b886001600160a01b031663fe0776f5612658612dfd565b604051631517388760e21b81526001600160401b03909116600482015273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156126b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d59190615b0e565b306040518363ffffffff1660e01b81526004016126f3929190615d77565b600060405180830381600087803b15801561270d57600080fd5b505af1158015612721573d6000803e3d6000fd5b505060405163026bc43b60e01b81526001600160a01b038a811660048301528681166024830152600093508416915063026bc43b906044016000604051808303816000875af1158015612778573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127a09190810190615bc0565b8051604080516001600160a01b038e811682528d811660208301528c81168284015289811660608301528a1660808201526001600160601b03831660a082015290519199509192507f32cbb66c346aa6f8ad796a2e50fc928da4e8de44cc6eed6df36aae852e5726999181900360c00190a150505050909192939495565b612826612a08565b61282f81610c49565b612837610b04565b6001600160a01b03821661285e5760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020615f3583398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b61289d611877565b6001600160a01b0316336001600160a01b0316146128d05760405163086391f760e31b81523360048201526024016107b2565b6005546001600160a01b03166128f9576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661292057604051631aa1808560e31b815260040160405180910390fd5b6005546001600160a01b039081169082160361294f57604051630666e2a560e01b815260040160405180910390fd5b600480546040805163379ed74560e21b8152905184936001600160a01b039384169385169263de7b5d1492818301926020928290030181865afa15801561299a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129be9190615b36565b6001600160a01b0316146129e55760405163f026367160e01b815260040160405180910390fd5b50600580546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020615f7583398151915254600160401b900460ff16612a3f57604051631afcd79f60e31b815260040160405180910390fd5b565b6101da612a08565b600080516020615f758339815191528054600160401b810460ff1615906001600160401b0316600081158015612a7c5750825b90506000826001600160401b03166001148015612a985750303b155b905081158015612aa6575080155b15612ac45760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315612aee57845460ff60401b1916600160401b1785555b60008087806020019051810190612b059190615d99565b92509050612b158160008b6119ae565b612b25630655ba6560e31b6108fe565b50508315610c4057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610c37565b6000806000612b806001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa158015612bd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bfb9190810190615bc0565b9050612c198160400151612c0d604690565b60ff9081169116141590565b15612c425760405163e3c2794960e01b81526001600160601b03871660048201526024016107b2565b6040516308b09a5f60e41b81526001600160a01b03868116600483015260009190841690638b09a5f090602401600060405180830381865afa158015612c8c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612cb49190810190615bc0565b9050612cd18160200151886001600160601b039081169116141590565b15612d0557805160405163a811346560e01b81526001600160601b03808a16600483015290911660248201526044016107b2565b608090910151905190969095509350505050565b600080516020615f5583398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b612d82612a08565b610d5481612eea565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116612df8576040516330be1a3d60e21b815260040160405180910390fd5b919050565b6040516368aebf7b60e01b81526000600482018190529073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015612e51573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105439190615b0e565b612e7e84612efb565b612e898484846135bb565b612e9384846136d1565b612e9d8484613b3b565b612ea78484613d6a565b612eb1848461403e565b612ebb84846142a4565b612ec584846144d1565b612ed084848461476e565b612eda8484614ba0565b612ee48482614ef5565b50505050565b612ef2612a08565b610d5481612d19565b806001600160a01b0316634a3a1e00612f12614fef565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526013604482015272496e7374616e636553657276696365526f6c6560681b6064820152608401600060405180830381600087803b158015612f7c57600080fd5b505af1158015612f90573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e00612fab61502b565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601760448201527f446973747269627574696f6e53657276696365526f6c650000000000000000006064820152608401600060405180830381600087803b15801561301f57600080fd5b505af1158015613033573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e0061304e615067565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600f60448201526e506f6f6c53657276696365526f6c6560881b6064820152608401600060405180830381600087803b1580156130b457600080fd5b505af11580156130c8573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e006130e36150a3565b604080516001600160e01b031960e085901b1681526001600160401b039092166004830152602482015260166044820152754170706c69636174696f6e53657276696365526f6c6560501b6064820152608401600060405180830381600087803b15801561315057600080fd5b505af1158015613164573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e0061317f6150df565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601260448201527150726f6475637453657276696365526f6c6560701b6064820152608401600060405180830381600087803b1580156131e857600080fd5b505af11580156131fc573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e0061321761511b565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601060448201526f436c61696d53657276696365526f6c6560801b6064820152608401600060405180830381600087803b15801561327e57600080fd5b505af1158015613292573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e006132ad615157565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526011604482015270506f6c69637953657276696365526f6c6560781b6064820152608401600060405180830381600087803b15801561331557600080fd5b505af1158015613329573d6000803e3d6000fd5b50505050806001600160a01b0316634a3a1e00613344615193565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601160448201527042756e646c6553657276696365526f6c6560781b6064820152608401600060405180830381600087803b1580156133ac57600080fd5b505af11580156133c0573d6000803e3d6000fd5b50505050806001600160a01b031663f2345aea6133db6151cf565b6133e361520a565b6040516001600160e01b031960e085901b1681526001600160401b039283166004820152606060248201526015606482015274446973747269627574696f6e4f776e6572526f6c6560581b60848201529116604482015260a401600060405180830381600087803b15801561345757600080fd5b505af115801561346b573d6000803e3d6000fd5b50505050806001600160a01b031663f2345aea613486615246565b61348e61520a565b6040516001600160e01b031960e085901b1681526001600160401b03928316600482015260606024820152600d60648201526c506f6f6c4f776e6572526f6c6560981b60848201529116604482015260a401600060405180830381600087803b1580156134fa57600080fd5b505af115801561350e573d6000803e3d6000fd5b50505050806001600160a01b031663f2345aea613529615280565b61353161520a565b6040516001600160e01b031960e085901b1681526001600160401b03928316600482015260606024820152601060648201526f50726f647563744f776e6572526f6c6560801b60848201529116604482015260a401600060405180830381600087803b1580156135a057600080fd5b505af11580156135b4573d6000803e3d6000fd5b5050505050565b6040516312f48f1560e01b81526001600160a01b038416906312f48f15906135e7908690600401615dc8565b600060405180830381600087803b15801561360157600080fd5b505af1158015613615573d6000803e3d6000fd5b50506040516312f48f1560e01b81526001600160a01b03861692506312f48f159150613645908590600401615e0c565b600060405180830381600087803b15801561365f57600080fd5b505af1158015613673573d6000803e3d6000fd5b50506040516312f48f1560e01b81526001600160a01b03861692506312f48f1591506136a3908490600401615e43565b600060405180830381600087803b1580156136bd57600080fd5b505af1158015610c40573d6000803e3d6000fd5b60006136e56001546001600160a01b031690565b6001600160a01b031663d39e604360786136fd6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015613752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137769190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156137bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137df9190615b36565b9050826001600160a01b031663b428b0b06137f861502b565b836040518363ffffffff1660e01b8152600401613816929190615d77565b6020604051808303816000875af1158015613835573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061385991906159bc565b5060408051600b80825261018082019092526000916020820161016080368337019050509050639e90178c60e01b8160008151811061389a5761389a615cb6565b6001600160e01b031990921660209283029190910190910152805163f7b442d160e01b90829060019081106138d1576138d1615cb6565b6001600160e01b0319909216602092830291909101909101528051631850985d60e11b908290600290811061390857613908615cb6565b6001600160e01b03199092166020928302919091019091015280516305a8416b60e41b908290600390811061393f5761393f615cb6565b6001600160e01b031990921660209283029190910190910152805163a284222960e01b908290600490811061397657613976615cb6565b6001600160e01b0319909216602092830291909101909101528051635338a4af60e11b90829060059081106139ad576139ad615cb6565b6001600160e01b0319909216602092830291909101909101528051633ed2a38d60e21b90829060069081106139e4576139e4615cb6565b6001600160e01b03199092166020928302919091019091015280516340529b0f60e01b9082906007908110613a1b57613a1b615cb6565b6001600160e01b0319909216602092830291909101909101528051631941cfe160e31b9082906008908110613a5257613a52615cb6565b6001600160e01b03199092166020928302919091019091015280516330882f0760e11b9082906009908110613a8957613a89615cb6565b6001600160e01b031990921660209283029190910190910152805162af902560e81b908290600a908110613abf57613abf615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af061502b565b6040518363ffffffff1660e01b8152600401613b0d929190615e7f565b600060405180830381600087803b158015613b2757600080fd5b505af11580156109ad573d6000803e3d6000fd5b6000613b4f6001546001600160a01b031690565b6001600160a01b031663d39e6043608c613b676104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015613bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613be09190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c499190615b36565b9050826001600160a01b031663b428b0b0613c62615067565b836040518363ffffffff1660e01b8152600401613c80929190615d77565b6020604051808303816000875af1158015613c9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cc391906159bc565b5060408051600480825260a082019092526000916020820160808036833701905050905063d5c9d77d60e01b81600081518110613d0257613d02615cb6565b6001600160e01b031990921660209283029190910190910152805163a4eeee5960e01b9082906001908110613d3957613d39615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af0615067565b6000613d7e6001546001600160a01b031690565b6001600160a01b031663d39e6043606e613d966104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015613deb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0f9190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e789190615b36565b9050826001600160a01b031663b428b0b0613e916150df565b836040518363ffffffff1660e01b8152600401613eaf929190615d77565b6020604051808303816000875af1158015613ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef291906159bc565b5060408051600580825260c082019092526000916020820160a08036833701905050905063fbc1a3a060e01b81600081518110613f3157613f31615cb6565b6001600160e01b0319909216602092830291909101909101528051630cbc6b8960e01b9082906001908110613f6857613f68615cb6565b6001600160e01b03199092166020928302919091019091015280516317b0844560e11b9082906002908110613f9f57613f9f615cb6565b6001600160e01b03199092166020928302919091019091015280516314eddc0360e31b9082906003908110613fd657613fd6615cb6565b6001600160e01b0319909216602092830291909101909101528051633e77a42160e11b908290600490811061400d5761400d615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af06150df565b60006140526001546001600160a01b031690565b6001600160a01b031663d39e604360d261406a6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156140bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140e39190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614128573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061414c9190615b36565b9050826001600160a01b031663b428b0b06141656150a3565b836040518363ffffffff1660e01b8152600401614183929190615d77565b6020604051808303816000875af11580156141a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141c691906159bc565b50604080516003808252608082019092526000916020820160608036833701905050905063a472a83260e01b8160008151811061420557614205615cb6565b6001600160e01b031990921660209283029190910190910152805163174324cd60e21b908290600190811061423c5761423c615cb6565b6001600160e01b0319909216602092830291909101909101528051630fad0eb160e01b908290600290811061427357614273615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af06150a3565b60006142b86001546001600160a01b031690565b6001600160a01b031663d39e604360d36142d06104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015614325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143499190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561438e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143b29190615b36565b9050826001600160a01b031663b428b0b06143cb615157565b836040518363ffffffff1660e01b81526004016143e9929190615d77565b6020604051808303816000875af1158015614408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061442c91906159bc565b5060408051600280825260608201835260009260208301908036833701905050905063cbe8642560e01b8160008151811061446957614469615cb6565b6001600160e01b0319909216602092830291909101909101528051631750d17360e21b90829060019081106144a0576144a0615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af0615157565b60006144e56001546001600160a01b031690565b6001600160a01b031663d39e604360d46144fd6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015614552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145769190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156145bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145df9190615b36565b9050826001600160a01b031663b428b0b06145f861511b565b836040518363ffffffff1660e01b8152600401614616929190615d77565b6020604051808303816000875af1158015614635573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061465991906159bc565b5060408051600480825260a082019092526000916020820160808036833701905050905063a1ef60e960e01b8160008151811061469857614698615cb6565b6001600160e01b03199092166020928302919091019091015280516314f31fb160e11b90829060019081106146cf576146cf615cb6565b6001600160e01b03199092166020928302919091019091015280516340e1594160e11b908290600290811061470657614706615cb6565b6001600160e01b0319909216602092830291909101909101528051630f6c29ef60e01b908290600390811061473d5761473d615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82613af061511b565b60006147826001546001600160a01b031690565b6001600160a01b031663d39e604360dc61479a6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156147ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148139190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061487c9190615b36565b9050836001600160a01b031663b428b0b0614895615193565b836040518363ffffffff1660e01b81526004016148b3929190615d77565b6020604051808303816000875af11580156148d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148f691906159bc565b5060408051600380825260808201909252600091602082016060803683370190505090506397affbf560e01b8160008151811061493557614935615cb6565b6001600160e01b0319909216602092830291909101909101528051632cc2921360e11b908290600190811061496c5761496c615cb6565b6001600160e01b0319909216602092830291909101909101528051637f0f8c6b60e11b90829060029081106149a3576149a3615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038516630c8ae53e826149d4615193565b6040518363ffffffff1660e01b81526004016149f1929190615e7f565b600060405180830381600087803b158015614a0b57600080fd5b505af1158015614a1f573d6000803e3d6000fd5b506000925060059150614a2f9050565b604051908082528060200260200182016040528015614a58578160200160208202803683370190505b509050630cc7e61460e01b81600081518110614a7657614a76615cb6565b6001600160e01b0319909216602092830291909101909101528051631351fccf60e31b9082906001908110614aad57614aad615cb6565b6001600160e01b03199092166020928302919091019091015280516346f0e8a760e11b9082906002908110614ae457614ae4615cb6565b6001600160e01b031990921660209283029190910190910152805163b5346af560e01b9082906003908110614b1b57614b1b615cb6565b6001600160e01b03199092166020928302919091019091015280516306fa456560e01b9082906004908110614b5257614b52615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038616630c8ae53e82614b83615193565b6040518363ffffffff1660e01b8152600401612078929190615ed2565b6000614bb46001546001600160a01b031690565b6001600160a01b031663d39e60436046614bcc6104be565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015614c21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c459190615b5e565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614c8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cae9190615b36565b9050826001600160a01b031663b428b0b0614cc7614fef565b836040518363ffffffff1660e01b8152600401614ce5929190615d77565b6020604051808303816000875af1158015614d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d2891906159bc565b506040805160018082528183019092526000916020808301908036833701905050905063f7bc431c60e01b81600081518110614d6657614d66615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038416630c8ae53e82614d97614fef565b6040518363ffffffff1660e01b8152600401614db4929190615e7f565b600060405180830381600087803b158015614dce57600080fd5b505af1158015614de2573d6000803e3d6000fd5b506000925060039150614df29050565b604051908082528060200260200182016040528015614e1b578160200160208202803683370190505b5090506344ec4c3060e01b81600081518110614e3957614e39615cb6565b6001600160e01b0319909216602092830291909101909101528051638689231360e01b9082906001908110614e7057614e70615cb6565b6001600160e01b0319909216602092830291909101909101528051630645729f60e11b9082906002908110614ea757614ea7615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038516630c8ae53e82614ed8614fef565b6040518363ffffffff1660e01b8152600401611e58929190615eff565b604080516003808252608082019092526000916020820160608036833701905050905063d2192dbf60e01b81600081518110614f3357614f33615cb6565b6001600160e01b03199092166020928302919091019091015280516317ea2ab560e21b9082906001908110614f6a57614f6a615cb6565b6001600160e01b03199092166020928302919091019091015280516329db8c3d60e01b9082906002908110614fa157614fa1615cb6565b6001600160e01b0319909216602092830291909101909101526001600160a01b038316630c8ae53e82614fd261520a565b6040518363ffffffff1660e01b81526004016136a3929190615eff565b6040516368aebf7b60e01b81526107d0600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b8152610834600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b8152610898600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b8152610960600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b81526108fc600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b8152610974600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b815261096a600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b81526109c4600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b81526002600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b815261076c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b815260048082015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b6040516368aebf7b60e01b81526005600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612e34565b80356001600160e01b031981168114612df857600080fd5b6000602082840312156152e557600080fd5b6152ee826152bb565b9392505050565b60005b838110156153105781810151838201526020016152f8565b50506000910152565b600081518084526153318160208601602086016152f5565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a08301516153ae60c08401826001600160a01b03169052565b5060c083015160e0808401526153c8610100840182615319565b949350505050565b6001600160a01b0381168114610d5457600080fd5b6001600160601b0381168114610d5457600080fd5b60ff81168114610d5457600080fd5b8015158114610d5457600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171561544f5761544f615417565b60405290565b604051601f8201601f191681016001600160401b038111828210171561547d5761547d615417565b604052919050565b60006001600160401b0382111561549e5761549e615417565b50601f01601f191660200190565b60006154bf6154ba84615485565b615455565b90508281528383830111156154d357600080fd5b828260208301376000602084830101529392505050565b600082601f8301126154fb57600080fd5b6152ee838335602085016154ac565b60008060008060008060c0878903121561552357600080fd5b863561552e816153d0565b9550602087013561553e816153e5565b9450604087013561554e816153fa565b9350606087013561555e81615409565b9250608087013561556e816153d0565b915060a08701356001600160401b0381111561558957600080fd5b61559589828a016154ea565b9150509295509295509295565b6000602082840312156155b457600080fd5b81356001600160401b038111156155ca57600080fd5b6153c8848285016154ea565b600080604083850312156155e957600080fd5b82356155f4816153d0565b915060208301356001600160401b0381111561560f57600080fd5b61561b858286016154ea565b9150509250929050565b60006020828403121561563757600080fd5b81356152ee816153d0565b60006001600160401b0382111561565b5761565b615417565b5060051b60200190565b600082601f83011261567657600080fd5b813560206156866154ba83615642565b828152600592831b85018201928282019190878511156156a557600080fd5b8387015b8581101561573f5780356001600160401b038111156156c85760008081fd5b8801603f81018a136156da5760008081fd5b8581013560406156ec6154ba83615642565b82815291851b8301810191888101908d8411156157095760008081fd5b938201935b8385101561572e5761571f856152bb565b8252938901939089019061570e565b8852505050938501935084016156a9565b5090979650505050505050565b6001600160401b0381168114610d5457600080fd5b600082601f83011261577257600080fd5b813560206157826154ba83615642565b82815260059290921b840181019181810190868411156157a157600080fd5b8286015b848110156157c55780356157b88161574c565b83529183019183016157a5565b509695505050505050565b600080600080600060a086880312156157e857600080fd5b85356157f3816153e5565b94506020860135615803816153d0565b935060408601356001600160401b038082111561581f57600080fd5b818801915088601f83011261583357600080fd5b615842898335602085016154ac565b9450606088013591508082111561585857600080fd5b61586489838a01615665565b9350608088013591508082111561587a57600080fd5b5061588788828901615761565b9150509295509295909350565b6000806000606084860312156158a957600080fd5b83356158b4816153d0565b925060208401356158c4816153d0565b915060408401356158d4816153d0565b809150509250925092565b6000602082840312156158f157600080fd5b81356152ee81615409565b60006020828403121561590e57600080fd5b81356152ee816153e5565b6000806040838503121561592c57600080fd5b8235615937816153d0565b91506020830135615947816153d0565b809150509250929050565b60006020828403121561596457600080fd5b815162ffffff811681146152ee57600080fd5b600181811c9082168061598b57607f821691505b6020821081036159ab57634e487b7160e01b600052602260045260246000fd5b50919050565b8051612df881615409565b6000602082840312156159ce57600080fd5b81516152ee81615409565b8051612df8816153e5565b6000602082840312156159f657600080fd5b81516152ee816153e5565b601f821115611be257600081815260208120601f850160051c81016020861015615a285750805b601f850160051c820191505b81811015615a4757828155600101615a34565b505050505050565b81516001600160401b03811115615a6857615a68615417565b615a7c81615a768454615977565b84615a01565b602080601f831160018114615ab15760008415615a995750858301515b600019600386901b1c1916600185901b178555615a47565b600085815260208120601f198616915b82811015615ae057888601518255948401946001909101908401615ac1565b5085821015615afe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215615b2057600080fd5b81516152ee8161574c565b8051612df8816153d0565b600060208284031215615b4857600080fd5b81516152ee816153d0565b8051612df8816153fa565b600060208284031215615b7057600080fd5b81516152ee816153fa565b600082601f830112615b8c57600080fd5b8151615b9a6154ba82615485565b818152846020838601011115615baf57600080fd5b6153c88260208301602087016152f5565b600060208284031215615bd257600080fd5b81516001600160401b0380821115615be957600080fd5b9083019060e08286031215615bfd57600080fd5b615c0561542d565b615c0e836159d9565b8152615c1c602084016159d9565b6020820152615c2d60408401615b53565b6040820152615c3e606084016159b1565b6060820152615c4f60808401615b2b565b6080820152615c6060a08401615b2b565b60a082015260c083015182811115615c7757600080fd5b615c8387828601615b7b565b60c08301525095945050505050565b6001600160a01b03831681526040602082018190526000906153c890830184615319565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015615d065781516001600160e01b03191687529582019590820190600101615ce0565b509495945050505050565b606081526000615d246060830186615319565b8281036020840152615d368186615ccc565b9150506001600160401b0383166040830152949350505050565b600060018201615d7057634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160401b039290921682526001600160a01b0316602082015260400190565b60008060408385031215615dac57600080fd5b8251615db7816153d0565b6020840151909250615947816153d0565b6001600160a01b03821681526040602082018190526015908201527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b60608201526000608082016152ee565b6001600160a01b038216815260406020820181905260089082015267496e7374616e636560c01b60608201526000608082016152ee565b6001600160a01b0382168152604060208201819052600d908201526c213ab7323632a6b0b730b3b2b960991b60608201526000608082016152ee565b606081526000615ea7606083016008815267496e7374616e636560c01b602082015260400190565b8281036020840152615eb98186615ccc565b9150506001600160401b03831660408301529392505050565b606081526000615ea760608301600d81526c213ab7323632a6b0b730b3b2b960991b602082015260400190565b606081526000615ea760608301601581527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b60208201526040019056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212202c6194756b63834c973c83272092787212f5e4f49f4ab8ed4e8ee015f122f87064736f6c63430008140033",
|
990
|
+
"bytecode": "0x6080604052348015600e575f80fd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b61493a806100d65f395ff3fe608060405234801561000f575f80fd5b5060043610610213575f3560e01c80636c741e781161011f578063b03d2a8e116100a9578063c22f980d11610079578063c22f980d146104f1578063dd38b49e146103d5578063e52ba1cb14610504578063edabac0314610517578063f7c34ee014610528575f80fd5b8063b03d2a8e146104b4578063b68d1809146104c7578063b7d68519146104d6578063bf7e214f146104e9575f80fd5b80638e32e979116100ef5780638e32e9791461042a5780638fb360371461043d578063a2356b3a1461045e578063ad50146714610471578063ada9652e146104a0575f80fd5b80636c741e78146103e85780637a9e5e4b14610408578063872309c71461041b578063893d20e814610422575f80fd5b8063329d6e74116101a05780635ab1bd53116101705780635ab1bd531461036d578063644c45e014610392578063675393bf146103af5780636a778e73146103c25780636c6fbb28146103d5575f80fd5b8063329d6e741461032c57806336fc697e1461033f5780633931d6da1461034757806349bb9e4b1461035a575f80fd5b80631eff4b22116101e65780631eff4b22146102a9578063214cdb80146102de578063254f6866146102f357806327bb7a33146103065780632d764ef814610319575f80fd5b806301ffc9a7146102175780630d8e6e2c146102585780630fec111c14610274578063138461e014610289575b5f80fd5b610243610225366004613d48565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61026061053b565b60405162ffffff909116815260200161024f565b61027c6105c2565b60405161024f9190613d8f565b610291610780565b6040516001600160601b03909116815260200161024f565b6102d07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161024f565b6102f16102ec366004613d48565b61078a565b005b6102f1610301366004613e37565b6107b6565b6102f1610314366004613f6c565b610931565b6102f1610327366004614011565b6109d6565b6102f161033a36600461402c565b610db4565b6102f1610efe565b6102f161035536600461405d565b610f43565b6102f1610368366004614094565b611087565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161024f565b5f805160206148a5833981519152546001600160601b0316610291565b6102f16103bd366004613e37565b611183565b6102916103d0366004613e37565b611290565b6102f16103e3366004614266565b611b21565b6103f0611b3e565b6040516001600160401b03909116815260200161024f565b6102f1610416366004613e37565b611c34565b6102d05f81565b61037a611cb6565b6102f1610438366004614329565b611de7565b610445611f24565b6040516001600160e01b0319909116815260200161024f565b6102f161046c366004614371565b611f59565b6104796122c7565b604080516001600160a01b0390931683526001600160601b0390911660208301520161024f565b6102d05f805160206148a583398151915281565b6102f16104c236600461439d565b6127c3565b604051600a815260200161024f565b6102f16104e43660046143b8565b6129e7565b61037a612d0f565b6102f16104ff3660046143cf565b612d2a565b6102916105123660046143cf565b612f12565b6007546001600160a01b031661037a565b6102f16105363660046143ea565b613282565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610599573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd9190614406565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091525f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610672573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106969190614433565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016106de611cb6565b6001600160a01b031681526020018260010180546106fb9061444e565b80601f01602080910402602001604051908101604052809291908181526020018280546107279061444e565b80156107725780601f1061074957610100808354040283529160200191610772565b820191905f5260205f20905b81548152906001019060200180831161075557829003601f168201915b505050505081525091505090565b5f6105bd306132f8565b6107926134f1565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b6107be611cb6565b6001600160a01b0316336001600160a01b0316146107f65760405163086391f760e31b81523360048201526024015b60405180910390fd5b6007546001600160a01b031661081f576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661084657604051631aa1808560e31b815260040160405180910390fd5b6007546001600160a01b039081169082160361087557604051630666e2a560e01b815260040160405180910390fd5b6006546040805163379ed74560e21b8152905183926001600160a01b03908116929084169163de7b5d14916004808201926020929091908290030181865afa1580156108c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e79190614486565b6001600160a01b03161461090e5760405163f026367160e01b815260040160405180910390fd5b50600780546001600160a01b0319166001600160a01b0392909216919091179055565b6109396134f1565b6109438287613282565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3016109cc83826144e5565b5050505050505050565b335f6109ea6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610a2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a529190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610aab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acf91906145aa565b15610af8576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f610b0b6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015610b57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b7e9190810190614628565b604001519050610b9781600a5b60ff9081169116141590565b15610bb9578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1a9190614714565b9050610c9f81610c2861053b565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015610c7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b9190614714565b15610cc1578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f610cd46001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610d18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3c9190614433565b60035460405163db1e36e760e01b81526001600160601b038316600482015264ffffffffff891660248201529192506001600160a01b03169063db1e36e7906044015b5f604051808303815f87803b158015610d96575f80fd5b505af1158015610da8573d5f803e3d5ffd5b50505050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c610dd661053b565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610e14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e38919061472f565b5f805160206148e58339815191528054600160401b900460ff1680610e6a575080546001600160401b03808416911610155b15610e885760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610eb283613529565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610f066134f1565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b610f4f335b5f36613531565b5f610f5a8383613627565b5090505f816001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbe9190614486565b9050806001600160a01b031663a76a333a84856001600160a01b0316636bd1c0eb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110309190614486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f87803b158015611075575f80fd5b505af11580156109cc573d5f803e3d5ffd5b5f805160206148e58339815191528054600160401b810460ff1615906001600160401b03165f811580156110b85750825b90505f826001600160401b031660011480156110d35750303b155b9050811580156110e1575080155b156110ff5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561112957845460ff60401b1916600160401b1785555b61113387876137b2565b831561117a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b61118b6134f1565b806001600160a01b03163b5f036111c05760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107ed565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526318788cbb60e11b60048201526301ffc9a790602401602060405180830381865afa92505050801561123a575060408051601f3d908101601f19168201909252611237918101906145aa565b60015b6112625760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107ed565b8061128b5760405163fdeac91f60e01b81526001600160a01b03831660048201526024016107ed565b505b50565b5f611299611cb6565b6001600160a01b0316336001600160a01b0316146112cc5760405163086391f760e31b81523360048201526024016107ed565b6006546001600160a01b0316156112f657604051632c237de760e11b815260040160405180910390fd5b6005546001600160a01b0316156113205760405163ab0cc43960e01b815260040160405180910390fd5b6008546001600160a01b03161561134a5760405163558f4f7b60e11b815260040160405180910390fd5b6001600160a01b038216611371576040516309353e4560e11b815260040160405180910390fd5b5f8290505f816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d69190614486565b90505f826001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611415573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114399190614486565b90505f8190505f846001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a09190614486565b90505f8190505f866001600160a01b0316636dddada46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115079190614486565b90505f8190505f886001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061156e9190614486565b9050806001600160a01b038916611598576040516327ccc33d60e11b815260040160405180910390fd5b6001600160a01b0387166115be576040516295661560e31b815260040160405180910390fd5b6001600160a01b0385166115e55760405163e267254160e01b815260040160405180910390fd5b6001600160a01b03831661160c5760405163bfebabd760e01b815260040160405180910390fd5b6001600160a01b038116611633576040516301fa2a2b60e01b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116939190614486565b6001600160a01b03168a6001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fc9190614486565b6001600160a01b031614611723576040516334ddf1a760e21b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117839190614486565b6001600160a01b0316846001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ec9190614486565b6001600160a01b0316146118135760405163e168da3760e01b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118739190614486565b6001600160a01b0316826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118dc9190614486565b6001600160a01b03161461190357604051631129422760e31b815260040160405180910390fd5b896001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611949573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196d9190614486565b6001600160a01b03161461199457604051631b25e96d60e31b815260040160405180910390fd5b896001600160a01b0316866001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fe9190614486565b6001600160a01b031614611a25576040516331783c7160e11b815260040160405180910390fd5b600480546001600160a01b03199081166001600160a01b038c8116919091179092556005805482168a84161790556006805482168f8416908117909155600780548316898516179055600880548316878516179055600980549092168484161790915560025490915f911663026bc43b83611a9e611cb6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f875af1158015611ae7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b0e9190810190614628565b519e9d5050505050505050505050505050565b611b2a33610f48565b611b378585858486613922565b5050505050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3600a604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015611ba9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcd9190614714565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015611c10573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd919061472f565b33611c3d612d0f565b6001600160a01b0316816001600160a01b031614611c785760405162d1953b60e31b81526001600160a01b03821660048201526024016107ed565b816001600160a01b03163b5f03611cad576040516361798f2f60e11b81526001600160a01b03831660048201526024016107ed565b61128b826139a6565b5f805f805160206148a583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611d22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d4691906145aa565b15611dd1576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611da7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dcb9190614486565b91505090565b54600160601b90046001600160a01b0316919050565b611def6134f1565b611e6b83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e539190614433565b60085f8560405180602001604052805f815250610931565b6001600160a01b03821615611e8857611e8382613a06565b611eff565b5f611e936002613a17565b9050611efd816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ef89190614486565b613a06565b505b611f0f634a531f3360e01b61078a565b611f1f63daf9067160e01b61078a565b505050565b5f805160206148c583398151915280545f9190600160a01b900460ff16611f4b575f611dcb565b638fb3603760e01b91505090565b335f611f6d6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd59190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561202e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205291906145aa565b1561207b576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f61208e6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa1580156120da573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121019190810190614628565b60400151905061211281600a610b8b565b15612134578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612171573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121959190614714565b90506121a381610c2861053b565b156121c5578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f6121d86001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa15801561221c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122409190614433565b600354604051636f61deef60e11b81526001600160601b0380841660048301526001600160a01b038b81166024840152908a16604483015292935091169063dec3bdde906064016020604051808303815f875af11580156122a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cc9190614433565b6004545f908190339082906122e4906001600160a01b0316613b1e565b6005549091505f906122fe906001600160a01b0316613b1e565b60405163189acdbd60e31b81526001600160a01b0380831660048301529192509083169063c4d66de8906024015f604051808303815f87803b158015612342575f80fd5b505af1158015612354573d5f803e3d5ffd5b50505050806001600160a01b031663485cc9558360055f9054906101000a90046001600160a01b03166001600160a01b0316638e5bc2936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123dc9190614486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f87803b158015612421575f80fd5b505af1158015612433573d5f803e3d5ffd5b50506009545f925061244e91506001600160a01b0316613b1e565b6008549091505f90612468906001600160a01b0316613b1e565b6007549091505f90612482906001600160a01b0316613b1e565b60065490915061249a906001600160a01b0316613b1e565b9750876001600160a01b031663cc2a9a5b858585856124c16001546001600160a01b031690565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015293851660248501529184166044840152831660648301528216608482015290891660a482015260c4015f604051808303815f87803b158015612525575f80fd5b505af1158015612537573d5f803e3d5ffd5b505060025460405163026bc43b60e01b81526001600160a01b038c811660048301528a81166024830152909116925063026bc43b91506044015f604051808303815f875af115801561258b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526125b29190810190614628565b5f0151965060035f9054906101000a90046001600160a01b03166001600160a01b03166381d9b45f8873__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63c6edc3dd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612622573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612646919061474a565b73__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63f87bf3736040518163ffffffff1660e01b8152600401602060405180830381865af415801561268d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b19190614765565b6040516001600160e01b031960e086901b1681526001600160601b03909316600484015264ffffffffff909116602483015260448201526064015f604051808303815f87803b158015612702575f80fd5b505af1158015612714573d5f803e3d5ffd5b505060405163776c828f60e01b81526001600160a01b038b811660048301528716925063776c828f91506024015f604051808303815f87803b158015612758575f80fd5b505af115801561276a573d5f803e3d5ffd5b5050604080516001600160601b038b1681526001600160a01b038c1660208201527f5f38ba73d945d51535b3c678f341052a70a580bed77c5db38464d02366c29fa8935001905060405180910390a15050505050509091565b6001546001600160a01b0316604051630bee2f1560e11b81523360048201526001600160a01b0391909116906317dc5e2a90602401602060405180830381865afa158015612813573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061283791906145aa565b612856576040516302613e9f60e51b81523360048201526024016107ed565b6040516301ffc9a760e01b81526376c9b41160e11b6004820152339081906301ffc9a790602401602060405180830381865afa158015612898573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bc91906145aa565b6128e3576040516236c14d60e71b81526001600160a01b03821660048201526024016107ed565b5f6128f66001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b0384811660048301529192505f91831690638b09a5f0906024015f60405180830381865afa15801561293e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129659190810190614628565b602001516040516305247a1760e51b81526001600160601b03821660048201529091505f906001600160a01b0384169063a48f42e0906024015f60405180830381865afa1580156129b8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129df9190810190614628565b505050505050565b335f6129fb6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612a3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a639190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612abc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ae091906145aa565b15612b09576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f612b1c6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015612b68573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b8f9190810190614628565b604001519050612ba081600a610b8b565b15612bc2578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c239190614714565b9050612c3181610c2861053b565b15612c53578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f612c666001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612caa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cce9190614433565b60035460405163545c994560e11b81526001600160601b0383166004820152602481018990529192506001600160a01b03169063a8b9328a90604401610d7f565b5f805160206148c5833981519152546001600160a01b031690565b80612d3d6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612d8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dae9190614486565b6001600160a01b0316336001600160a01b031614612de1576040516302613e9f60e51b81523360048201526024016107ed565b5f612df46001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03851660048201529091505f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa158015612e43573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e6a9190810190614628565b6080810151600754919250905f90612e8a906001600160a01b0316613b1e565b604051636791f7ab60e01b81526001600160a01b03848116600483015291925090821690636791f7ab906024015f604051808303815f87803b158015612ece575f80fd5b505af1158015612ee0573d5f803e3d5ffd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528516925063f7bc431c9150602401610d7f565b5f3381612f276001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612f6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f8f9190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612fe8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061300c91906145aa565b15613035576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f6130486001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015613094573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130bb9190810190614628565b6040015190506130cc81600a610b8b565b156130ee578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561312b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061314f9190614714565b905061315d81610c2861053b565b1561317f578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f6131926001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa1580156131d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131fa9190614433565b6003546040516321ece65760e01b81526001600160601b0380841660048301528a1660248201529192506001600160a01b0316906321ece657906044016020604051808303815f875af1158015613253573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132779190614433565b505050505050919050565b61328a6134f1565b61329381611183565b61329b610efe565b6001600160a01b0382166132c25760405163f17ef42d60e01b815260040160405180910390fd5b505f805160206148a583398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b5f805f805160206148a583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015613364573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061338891906145aa565b156133b45780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016107ed565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015613406573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061342a91906145aa565b6134525760405163b9304b0d60e01b81526001600160a01b03841660048201526024016107ed565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa1580156134a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134c89190614433565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b5f805160206148e583398151915254600160401b900460ff1661352757604051631afcd79f60e31b815260040160405180910390fd5b565b6102136134f1565b5f805160206148c58339815191525f8061356961354c612d0f565b873061355b60045f8a8c61477c565b613564916147a3565b613b8d565b91509150816129df5763ffffffff81161561360457825460ff60a01b1916600160a01b178355613597612d0f565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016135c6939291906147db565b5f604051808303815f87803b1580156135dd575f80fd5b505af11580156135ef573d5f803e3d5ffd5b5050845460ff60a01b19168555506129df9050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016107ed565b5f805f61363c6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091505f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa15801561368b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526136b29190810190614628565b90506136c48160400151610b8b600a90565b156136ed5760405163209839e360e21b81526001600160601b03871660048201526024016107ed565b6040516308b09a5f60e41b81526001600160a01b0386811660048301525f9190841690638b09a5f0906024015f60405180830381865afa158015613733573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261375a9190810190614628565b905061376a816020015188613c95565b1561379e57805160405163a811346560e01b81526001600160601b03808a16600483015290911660248201526044016107ed565b608090910151905190969095509350505050565b5f805160206148e58339815191528054600160401b810460ff1615906001600160401b03165f811580156137e35750825b90505f826001600160401b031660011480156137fe5750303b155b90508115801561380c575080155b1561382a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561385457845460ff60401b1916600160401b1785555b5f808780602001905181019061386a919061481a565b925050915061387a82828b611de7565b6138846002613a17565b600280546001600160a01b0319166001600160a01b03929092169190911790556138ae6003613a17565b600380546001600160a01b0319166001600160a01b03929092169190911790556138de6348b5e69560e01b61078a565b5050831561117a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001611171565b5f61392d8686613627565b5090505f816001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561396d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139919190614486565b90505f5b84518110156109cc57600101613995565b5f805160206148c583398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b613a0e6134f1565b61128d81613d20565b5f613a2a6001546001600160a01b031690565b604051632392b61b60e21b8152600360048201526001600160a01b03919091169063d39e604390849073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015613a8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ab19190614714565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613af4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b189190614486565b92915050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b038116613b88576040516330be1a3d60e21b815260040160405180910390fd5b919050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251613bfb9190614859565b5f60405180830381855afa9150503d805f8114613c33576040519150601f19603f3d011682016040523d82523d5f602084013e613c38565b606091505b50915091508115613c8a576040815110613c6a5780806020019051810190613c60919061486f565b9094509250613c8a565b6020815110613c8a5780806020019051810190613c8791906145aa565b93505b505094509492505050565b6040516399009c5160e01b81526001600160601b038084166004830152821660248201525f9073__$94a2c899be079b00d952d0d84fffaa5c34$__906399009c5190604401602060405180830381865af4158015613cf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d1991906145aa565b9392505050565b613d286134f1565b61128d816139a6565b80356001600160e01b031981168114613b88575f80fd5b5f60208284031215613d58575f80fd5b613d1982613d31565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151613dd7608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152613e1b610100840182613d61565b949350505050565b6001600160a01b038116811461128d575f80fd5b5f60208284031215613e47575f80fd5b8135613d1981613e23565b6001600160601b038116811461128d575f80fd5b60ff8116811461128d575f80fd5b801515811461128d575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715613eb757613eb7613e81565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613ee557613ee5613e81565b604052919050565b5f6001600160401b03821115613f0557613f05613e81565b50601f01601f191660200190565b5f613f25613f2084613eed565b613ebd565b9050828152838383011115613f38575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112613f5d575f80fd5b613d1983833560208501613f13565b5f805f805f8060c08789031215613f81575f80fd5b8635613f8c81613e23565b95506020870135613f9c81613e52565b94506040870135613fac81613e66565b93506060870135613fbc81613e74565b92506080870135613fcc81613e23565b915060a08701356001600160401b03811115613fe6575f80fd5b613ff289828a01613f4e565b9150509295509295509295565b64ffffffffff8116811461128d575f80fd5b5f60208284031215614021575f80fd5b8135613d1981613fff565b5f6020828403121561403c575f80fd5b81356001600160401b03811115614051575f80fd5b613e1b84828501613f4e565b5f806040838503121561406e575f80fd5b823561407981613e52565b9150602083013561408981613e23565b809150509250929050565b5f80604083850312156140a5575f80fd5b82356140b081613e23565b915060208301356001600160401b038111156140ca575f80fd5b6140d685828601613f4e565b9150509250929050565b5f6001600160401b038211156140f8576140f8613e81565b5060051b60200190565b5f82601f830112614111575f80fd5b813561411f613f20826140e0565b8082825260208201915060208360051b860101925085831115614140575f80fd5b602085015b838110156141e45780356001600160401b03811115614162575f80fd5b8601603f81018813614172575f80fd5b6020810135614183613f20826140e0565b808282526020820191506020808460051b8601010192508a8311156141a6575f80fd5b6040840193505b828410156141cf576141be84613d31565b8252602093840193909101906141ad565b86525050602093840193919091019050614145565b5095945050505050565b6001600160401b038116811461128d575f80fd5b5f82601f830112614211575f80fd5b813561421f613f20826140e0565b8082825260208201915060208360051b860101925085831115614240575f80fd5b602085015b838110156141e4578035614258816141ee565b835260209283019201614245565b5f805f805f60a0868803121561427a575f80fd5b853561428581613e52565b9450602086013561429581613e23565b935060408601356001600160401b038111156142af575f80fd5b8601601f810188136142bf575f80fd5b6142ce88823560208401613f13565b93505060608601356001600160401b038111156142e9575f80fd5b6142f588828901614102565b92505060808601356001600160401b03811115614310575f80fd5b61431c88828901614202565b9150509295509295909350565b5f805f6060848603121561433b575f80fd5b833561434681613e23565b9250602084013561435681613e23565b9150604084013561436681613e23565b809150509250925092565b5f8060408385031215614382575f80fd5b823561438d81613e23565b9150602083013561408981613e52565b5f602082840312156143ad575f80fd5b8135613d1981613e74565b5f602082840312156143c8575f80fd5b5035919050565b5f602082840312156143df575f80fd5b8135613d1981613e52565b5f80604083850312156143fb575f80fd5b823561407981613e23565b5f60208284031215614416575f80fd5b815162ffffff81168114613d19575f80fd5b8051613b8881613e52565b5f60208284031215614443575f80fd5b8151613d1981613e52565b600181811c9082168061446257607f821691505b60208210810361448057634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215614496575f80fd5b8151613d1981613e23565b601f821115611f1f57805f5260205f20601f840160051c810160208510156144c65750805b601f840160051c820191505b81811015611b37575f81556001016144d2565b81516001600160401b038111156144fe576144fe613e81565b6145128161450c845461444e565b846144a1565b6020601f821160018114614544575f831561452d5750848201515b5f19600385901b1c1916600184901b178455611b37565b5f84815260208120601f198516915b828110156145735787850151825560209485019460019092019101614553565b508482101561459057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8051613b8881613e74565b5f602082840312156145ba575f80fd5b8151613d1981613e74565b8051613b8881613e66565b8051613b8881613e23565b5f82601f8301126145ea575f80fd5b81516145f8613f2082613eed565b81815284602083860101111561460c575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614638575f80fd5b81516001600160401b0381111561464d575f80fd5b820160e0818503121561465e575f80fd5b614666613e95565b61466f82614428565b815261467d60208301614428565b602082015261468e604083016145c5565b604082015261469f6060830161459f565b60608201526146b0608083016145d0565b60808201526146c160a083016145d0565b60a082015260c08201516001600160401b038111156146de575f80fd5b6146ea868285016145db565b60c083015250949350505050565b6001600160a01b0392909216825260ff16602082015260400190565b5f60208284031215614724575f80fd5b8151613d1981613e66565b5f6020828403121561473f575f80fd5b8151613d19816141ee565b5f6020828403121561475a575f80fd5b8151613d1981613fff565b5f60208284031215614775575f80fd5b5051919050565b5f808585111561478a575f80fd5b83861115614796575f80fd5b5050820193919092039150565b80356001600160e01b031981169060048410156147d4576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f805f6060848603121561482c575f80fd5b835161483781613e23565b602085015190935061484881613e23565b604085015190925061436681613e23565b5f82518060208501845e5f920191825250919050565b5f8060408385031215614880575f80fd5b825161488b81613e74565b602084015190925063ffffffff81168114614089575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220845f59ede6c829c312509c9ae847ac1563707c813657efae836c9fe4745cf87664736f6c634300081a0033",
|
991
|
+
"deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610213575f3560e01c80636c741e781161011f578063b03d2a8e116100a9578063c22f980d11610079578063c22f980d146104f1578063dd38b49e146103d5578063e52ba1cb14610504578063edabac0314610517578063f7c34ee014610528575f80fd5b8063b03d2a8e146104b4578063b68d1809146104c7578063b7d68519146104d6578063bf7e214f146104e9575f80fd5b80638e32e979116100ef5780638e32e9791461042a5780638fb360371461043d578063a2356b3a1461045e578063ad50146714610471578063ada9652e146104a0575f80fd5b80636c741e78146103e85780637a9e5e4b14610408578063872309c71461041b578063893d20e814610422575f80fd5b8063329d6e74116101a05780635ab1bd53116101705780635ab1bd531461036d578063644c45e014610392578063675393bf146103af5780636a778e73146103c25780636c6fbb28146103d5575f80fd5b8063329d6e741461032c57806336fc697e1461033f5780633931d6da1461034757806349bb9e4b1461035a575f80fd5b80631eff4b22116101e65780631eff4b22146102a9578063214cdb80146102de578063254f6866146102f357806327bb7a33146103065780632d764ef814610319575f80fd5b806301ffc9a7146102175780630d8e6e2c146102585780630fec111c14610274578063138461e014610289575b5f80fd5b610243610225366004613d48565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61026061053b565b60405162ffffff909116815260200161024f565b61027c6105c2565b60405161024f9190613d8f565b610291610780565b6040516001600160601b03909116815260200161024f565b6102d07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161024f565b6102f16102ec366004613d48565b61078a565b005b6102f1610301366004613e37565b6107b6565b6102f1610314366004613f6c565b610931565b6102f1610327366004614011565b6109d6565b6102f161033a36600461402c565b610db4565b6102f1610efe565b6102f161035536600461405d565b610f43565b6102f1610368366004614094565b611087565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161024f565b5f805160206148a5833981519152546001600160601b0316610291565b6102f16103bd366004613e37565b611183565b6102916103d0366004613e37565b611290565b6102f16103e3366004614266565b611b21565b6103f0611b3e565b6040516001600160401b03909116815260200161024f565b6102f1610416366004613e37565b611c34565b6102d05f81565b61037a611cb6565b6102f1610438366004614329565b611de7565b610445611f24565b6040516001600160e01b0319909116815260200161024f565b6102f161046c366004614371565b611f59565b6104796122c7565b604080516001600160a01b0390931683526001600160601b0390911660208301520161024f565b6102d05f805160206148a583398151915281565b6102f16104c236600461439d565b6127c3565b604051600a815260200161024f565b6102f16104e43660046143b8565b6129e7565b61037a612d0f565b6102f16104ff3660046143cf565b612d2a565b6102916105123660046143cf565b612f12565b6007546001600160a01b031661037a565b6102f16105363660046143ea565b613282565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610599573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd9190614406565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091525f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610672573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106969190614433565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016106de611cb6565b6001600160a01b031681526020018260010180546106fb9061444e565b80601f01602080910402602001604051908101604052809291908181526020018280546107279061444e565b80156107725780601f1061074957610100808354040283529160200191610772565b820191905f5260205f20905b81548152906001019060200180831161075557829003601f168201915b505050505081525091505090565b5f6105bd306132f8565b6107926134f1565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b6107be611cb6565b6001600160a01b0316336001600160a01b0316146107f65760405163086391f760e31b81523360048201526024015b60405180910390fd5b6007546001600160a01b031661081f576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661084657604051631aa1808560e31b815260040160405180910390fd5b6007546001600160a01b039081169082160361087557604051630666e2a560e01b815260040160405180910390fd5b6006546040805163379ed74560e21b8152905183926001600160a01b03908116929084169163de7b5d14916004808201926020929091908290030181865afa1580156108c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e79190614486565b6001600160a01b03161461090e5760405163f026367160e01b815260040160405180910390fd5b50600780546001600160a01b0319166001600160a01b0392909216919091179055565b6109396134f1565b6109438287613282565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3016109cc83826144e5565b5050505050505050565b335f6109ea6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610a2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a529190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610aab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acf91906145aa565b15610af8576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f610b0b6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015610b57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b7e9190810190614628565b604001519050610b9781600a5b60ff9081169116141590565b15610bb9578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1a9190614714565b9050610c9f81610c2861053b565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015610c7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b9190614714565b15610cc1578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f610cd46001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610d18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3c9190614433565b60035460405163db1e36e760e01b81526001600160601b038316600482015264ffffffffff891660248201529192506001600160a01b03169063db1e36e7906044015b5f604051808303815f87803b158015610d96575f80fd5b505af1158015610da8573d5f803e3d5ffd5b50505050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c610dd661053b565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610e14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e38919061472f565b5f805160206148e58339815191528054600160401b900460ff1680610e6a575080546001600160401b03808416911610155b15610e885760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610eb283613529565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610f066134f1565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b610f4f335b5f36613531565b5f610f5a8383613627565b5090505f816001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbe9190614486565b9050806001600160a01b031663a76a333a84856001600160a01b0316636bd1c0eb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110309190614486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f87803b158015611075575f80fd5b505af11580156109cc573d5f803e3d5ffd5b5f805160206148e58339815191528054600160401b810460ff1615906001600160401b03165f811580156110b85750825b90505f826001600160401b031660011480156110d35750303b155b9050811580156110e1575080155b156110ff5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561112957845460ff60401b1916600160401b1785555b61113387876137b2565b831561117a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b61118b6134f1565b806001600160a01b03163b5f036111c05760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107ed565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526318788cbb60e11b60048201526301ffc9a790602401602060405180830381865afa92505050801561123a575060408051601f3d908101601f19168201909252611237918101906145aa565b60015b6112625760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107ed565b8061128b5760405163fdeac91f60e01b81526001600160a01b03831660048201526024016107ed565b505b50565b5f611299611cb6565b6001600160a01b0316336001600160a01b0316146112cc5760405163086391f760e31b81523360048201526024016107ed565b6006546001600160a01b0316156112f657604051632c237de760e11b815260040160405180910390fd5b6005546001600160a01b0316156113205760405163ab0cc43960e01b815260040160405180910390fd5b6008546001600160a01b03161561134a5760405163558f4f7b60e11b815260040160405180910390fd5b6001600160a01b038216611371576040516309353e4560e11b815260040160405180910390fd5b5f8290505f816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d69190614486565b90505f826001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611415573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114399190614486565b90505f8190505f846001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a09190614486565b90505f8190505f866001600160a01b0316636dddada46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115079190614486565b90505f8190505f886001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061156e9190614486565b9050806001600160a01b038916611598576040516327ccc33d60e11b815260040160405180910390fd5b6001600160a01b0387166115be576040516295661560e31b815260040160405180910390fd5b6001600160a01b0385166115e55760405163e267254160e01b815260040160405180910390fd5b6001600160a01b03831661160c5760405163bfebabd760e01b815260040160405180910390fd5b6001600160a01b038116611633576040516301fa2a2b60e01b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116939190614486565b6001600160a01b03168a6001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fc9190614486565b6001600160a01b031614611723576040516334ddf1a760e21b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117839190614486565b6001600160a01b0316846001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ec9190614486565b6001600160a01b0316146118135760405163e168da3760e01b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118739190614486565b6001600160a01b0316826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118dc9190614486565b6001600160a01b03161461190357604051631129422760e31b815260040160405180910390fd5b896001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611949573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196d9190614486565b6001600160a01b03161461199457604051631b25e96d60e31b815260040160405180910390fd5b896001600160a01b0316866001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fe9190614486565b6001600160a01b031614611a25576040516331783c7160e11b815260040160405180910390fd5b600480546001600160a01b03199081166001600160a01b038c8116919091179092556005805482168a84161790556006805482168f8416908117909155600780548316898516179055600880548316878516179055600980549092168484161790915560025490915f911663026bc43b83611a9e611cb6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f875af1158015611ae7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b0e9190810190614628565b519e9d5050505050505050505050505050565b611b2a33610f48565b611b378585858486613922565b5050505050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3600a604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015611ba9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcd9190614714565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015611c10573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd919061472f565b33611c3d612d0f565b6001600160a01b0316816001600160a01b031614611c785760405162d1953b60e31b81526001600160a01b03821660048201526024016107ed565b816001600160a01b03163b5f03611cad576040516361798f2f60e11b81526001600160a01b03831660048201526024016107ed565b61128b826139a6565b5f805f805160206148a583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611d22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d4691906145aa565b15611dd1576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611da7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dcb9190614486565b91505090565b54600160601b90046001600160a01b0316919050565b611def6134f1565b611e6b83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e539190614433565b60085f8560405180602001604052805f815250610931565b6001600160a01b03821615611e8857611e8382613a06565b611eff565b5f611e936002613a17565b9050611efd816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ef89190614486565b613a06565b505b611f0f634a531f3360e01b61078a565b611f1f63daf9067160e01b61078a565b505050565b5f805160206148c583398151915280545f9190600160a01b900460ff16611f4b575f611dcb565b638fb3603760e01b91505090565b335f611f6d6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd59190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561202e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205291906145aa565b1561207b576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f61208e6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa1580156120da573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121019190810190614628565b60400151905061211281600a610b8b565b15612134578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612171573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121959190614714565b90506121a381610c2861053b565b156121c5578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f6121d86001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa15801561221c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122409190614433565b600354604051636f61deef60e11b81526001600160601b0380841660048301526001600160a01b038b81166024840152908a16604483015292935091169063dec3bdde906064016020604051808303815f875af11580156122a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cc9190614433565b6004545f908190339082906122e4906001600160a01b0316613b1e565b6005549091505f906122fe906001600160a01b0316613b1e565b60405163189acdbd60e31b81526001600160a01b0380831660048301529192509083169063c4d66de8906024015f604051808303815f87803b158015612342575f80fd5b505af1158015612354573d5f803e3d5ffd5b50505050806001600160a01b031663485cc9558360055f9054906101000a90046001600160a01b03166001600160a01b0316638e5bc2936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123dc9190614486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f87803b158015612421575f80fd5b505af1158015612433573d5f803e3d5ffd5b50506009545f925061244e91506001600160a01b0316613b1e565b6008549091505f90612468906001600160a01b0316613b1e565b6007549091505f90612482906001600160a01b0316613b1e565b60065490915061249a906001600160a01b0316613b1e565b9750876001600160a01b031663cc2a9a5b858585856124c16001546001600160a01b031690565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015293851660248501529184166044840152831660648301528216608482015290891660a482015260c4015f604051808303815f87803b158015612525575f80fd5b505af1158015612537573d5f803e3d5ffd5b505060025460405163026bc43b60e01b81526001600160a01b038c811660048301528a81166024830152909116925063026bc43b91506044015f604051808303815f875af115801561258b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526125b29190810190614628565b5f0151965060035f9054906101000a90046001600160a01b03166001600160a01b03166381d9b45f8873__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63c6edc3dd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612622573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612646919061474a565b73__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63f87bf3736040518163ffffffff1660e01b8152600401602060405180830381865af415801561268d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b19190614765565b6040516001600160e01b031960e086901b1681526001600160601b03909316600484015264ffffffffff909116602483015260448201526064015f604051808303815f87803b158015612702575f80fd5b505af1158015612714573d5f803e3d5ffd5b505060405163776c828f60e01b81526001600160a01b038b811660048301528716925063776c828f91506024015f604051808303815f87803b158015612758575f80fd5b505af115801561276a573d5f803e3d5ffd5b5050604080516001600160601b038b1681526001600160a01b038c1660208201527f5f38ba73d945d51535b3c678f341052a70a580bed77c5db38464d02366c29fa8935001905060405180910390a15050505050509091565b6001546001600160a01b0316604051630bee2f1560e11b81523360048201526001600160a01b0391909116906317dc5e2a90602401602060405180830381865afa158015612813573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061283791906145aa565b612856576040516302613e9f60e51b81523360048201526024016107ed565b6040516301ffc9a760e01b81526376c9b41160e11b6004820152339081906301ffc9a790602401602060405180830381865afa158015612898573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bc91906145aa565b6128e3576040516236c14d60e71b81526001600160a01b03821660048201526024016107ed565b5f6128f66001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b0384811660048301529192505f91831690638b09a5f0906024015f60405180830381865afa15801561293e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129659190810190614628565b602001516040516305247a1760e51b81526001600160601b03821660048201529091505f906001600160a01b0384169063a48f42e0906024015f60405180830381865afa1580156129b8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129df9190810190614628565b505050505050565b335f6129fb6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612a3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a639190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612abc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ae091906145aa565b15612b09576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f612b1c6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015612b68573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b8f9190810190614628565b604001519050612ba081600a610b8b565b15612bc2578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c239190614714565b9050612c3181610c2861053b565b15612c53578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f612c666001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612caa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cce9190614433565b60035460405163545c994560e11b81526001600160601b0383166004820152602481018990529192506001600160a01b03169063a8b9328a90604401610d7f565b5f805160206148c5833981519152546001600160a01b031690565b80612d3d6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612d8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dae9190614486565b6001600160a01b0316336001600160a01b031614612de1576040516302613e9f60e51b81523360048201526024016107ed565b5f612df46001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03851660048201529091505f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa158015612e43573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e6a9190810190614628565b6080810151600754919250905f90612e8a906001600160a01b0316613b1e565b604051636791f7ab60e01b81526001600160a01b03848116600483015291925090821690636791f7ab906024015f604051808303815f87803b158015612ece575f80fd5b505af1158015612ee0573d5f803e3d5ffd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528516925063f7bc431c9150602401610d7f565b5f3381612f276001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612f6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f8f9190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612fe8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061300c91906145aa565b15613035576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f6130486001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015613094573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130bb9190810190614628565b6040015190506130cc81600a610b8b565b156130ee578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561312b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061314f9190614714565b905061315d81610c2861053b565b1561317f578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f6131926001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa1580156131d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131fa9190614433565b6003546040516321ece65760e01b81526001600160601b0380841660048301528a1660248201529192506001600160a01b0316906321ece657906044016020604051808303815f875af1158015613253573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132779190614433565b505050505050919050565b61328a6134f1565b61329381611183565b61329b610efe565b6001600160a01b0382166132c25760405163f17ef42d60e01b815260040160405180910390fd5b505f805160206148a583398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b5f805f805160206148a583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015613364573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061338891906145aa565b156133b45780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016107ed565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015613406573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061342a91906145aa565b6134525760405163b9304b0d60e01b81526001600160a01b03841660048201526024016107ed565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa1580156134a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134c89190614433565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b5f805160206148e583398151915254600160401b900460ff1661352757604051631afcd79f60e31b815260040160405180910390fd5b565b6102136134f1565b5f805160206148c58339815191525f8061356961354c612d0f565b873061355b60045f8a8c61477c565b613564916147a3565b613b8d565b91509150816129df5763ffffffff81161561360457825460ff60a01b1916600160a01b178355613597612d0f565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016135c6939291906147db565b5f604051808303815f87803b1580156135dd575f80fd5b505af11580156135ef573d5f803e3d5ffd5b5050845460ff60a01b19168555506129df9050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016107ed565b5f805f61363c6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091505f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa15801561368b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526136b29190810190614628565b90506136c48160400151610b8b600a90565b156136ed5760405163209839e360e21b81526001600160601b03871660048201526024016107ed565b6040516308b09a5f60e41b81526001600160a01b0386811660048301525f9190841690638b09a5f0906024015f60405180830381865afa158015613733573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261375a9190810190614628565b905061376a816020015188613c95565b1561379e57805160405163a811346560e01b81526001600160601b03808a16600483015290911660248201526044016107ed565b608090910151905190969095509350505050565b5f805160206148e58339815191528054600160401b810460ff1615906001600160401b03165f811580156137e35750825b90505f826001600160401b031660011480156137fe5750303b155b90508115801561380c575080155b1561382a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561385457845460ff60401b1916600160401b1785555b5f808780602001905181019061386a919061481a565b925050915061387a82828b611de7565b6138846002613a17565b600280546001600160a01b0319166001600160a01b03929092169190911790556138ae6003613a17565b600380546001600160a01b0319166001600160a01b03929092169190911790556138de6348b5e69560e01b61078a565b5050831561117a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001611171565b5f61392d8686613627565b5090505f816001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561396d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139919190614486565b90505f5b84518110156109cc57600101613995565b5f805160206148c583398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b613a0e6134f1565b61128d81613d20565b5f613a2a6001546001600160a01b031690565b604051632392b61b60e21b8152600360048201526001600160a01b03919091169063d39e604390849073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015613a8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ab19190614714565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613af4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b189190614486565b92915050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b038116613b88576040516330be1a3d60e21b815260040160405180910390fd5b919050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251613bfb9190614859565b5f60405180830381855afa9150503d805f8114613c33576040519150601f19603f3d011682016040523d82523d5f602084013e613c38565b606091505b50915091508115613c8a576040815110613c6a5780806020019051810190613c60919061486f565b9094509250613c8a565b6020815110613c8a5780806020019051810190613c8791906145aa565b93505b505094509492505050565b6040516399009c5160e01b81526001600160601b038084166004830152821660248201525f9073__$94a2c899be079b00d952d0d84fffaa5c34$__906399009c5190604401602060405180830381865af4158015613cf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d1991906145aa565b9392505050565b613d286134f1565b61128d816139a6565b80356001600160e01b031981168114613b88575f80fd5b5f60208284031215613d58575f80fd5b613d1982613d31565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151613dd7608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152613e1b610100840182613d61565b949350505050565b6001600160a01b038116811461128d575f80fd5b5f60208284031215613e47575f80fd5b8135613d1981613e23565b6001600160601b038116811461128d575f80fd5b60ff8116811461128d575f80fd5b801515811461128d575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715613eb757613eb7613e81565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613ee557613ee5613e81565b604052919050565b5f6001600160401b03821115613f0557613f05613e81565b50601f01601f191660200190565b5f613f25613f2084613eed565b613ebd565b9050828152838383011115613f38575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112613f5d575f80fd5b613d1983833560208501613f13565b5f805f805f8060c08789031215613f81575f80fd5b8635613f8c81613e23565b95506020870135613f9c81613e52565b94506040870135613fac81613e66565b93506060870135613fbc81613e74565b92506080870135613fcc81613e23565b915060a08701356001600160401b03811115613fe6575f80fd5b613ff289828a01613f4e565b9150509295509295509295565b64ffffffffff8116811461128d575f80fd5b5f60208284031215614021575f80fd5b8135613d1981613fff565b5f6020828403121561403c575f80fd5b81356001600160401b03811115614051575f80fd5b613e1b84828501613f4e565b5f806040838503121561406e575f80fd5b823561407981613e52565b9150602083013561408981613e23565b809150509250929050565b5f80604083850312156140a5575f80fd5b82356140b081613e23565b915060208301356001600160401b038111156140ca575f80fd5b6140d685828601613f4e565b9150509250929050565b5f6001600160401b038211156140f8576140f8613e81565b5060051b60200190565b5f82601f830112614111575f80fd5b813561411f613f20826140e0565b8082825260208201915060208360051b860101925085831115614140575f80fd5b602085015b838110156141e45780356001600160401b03811115614162575f80fd5b8601603f81018813614172575f80fd5b6020810135614183613f20826140e0565b808282526020820191506020808460051b8601010192508a8311156141a6575f80fd5b6040840193505b828410156141cf576141be84613d31565b8252602093840193909101906141ad565b86525050602093840193919091019050614145565b5095945050505050565b6001600160401b038116811461128d575f80fd5b5f82601f830112614211575f80fd5b813561421f613f20826140e0565b8082825260208201915060208360051b860101925085831115614240575f80fd5b602085015b838110156141e4578035614258816141ee565b835260209283019201614245565b5f805f805f60a0868803121561427a575f80fd5b853561428581613e52565b9450602086013561429581613e23565b935060408601356001600160401b038111156142af575f80fd5b8601601f810188136142bf575f80fd5b6142ce88823560208401613f13565b93505060608601356001600160401b038111156142e9575f80fd5b6142f588828901614102565b92505060808601356001600160401b03811115614310575f80fd5b61431c88828901614202565b9150509295509295909350565b5f805f6060848603121561433b575f80fd5b833561434681613e23565b9250602084013561435681613e23565b9150604084013561436681613e23565b809150509250925092565b5f8060408385031215614382575f80fd5b823561438d81613e23565b9150602083013561408981613e52565b5f602082840312156143ad575f80fd5b8135613d1981613e74565b5f602082840312156143c8575f80fd5b5035919050565b5f602082840312156143df575f80fd5b8135613d1981613e52565b5f80604083850312156143fb575f80fd5b823561407981613e23565b5f60208284031215614416575f80fd5b815162ffffff81168114613d19575f80fd5b8051613b8881613e52565b5f60208284031215614443575f80fd5b8151613d1981613e52565b600181811c9082168061446257607f821691505b60208210810361448057634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215614496575f80fd5b8151613d1981613e23565b601f821115611f1f57805f5260205f20601f840160051c810160208510156144c65750805b601f840160051c820191505b81811015611b37575f81556001016144d2565b81516001600160401b038111156144fe576144fe613e81565b6145128161450c845461444e565b846144a1565b6020601f821160018114614544575f831561452d5750848201515b5f19600385901b1c1916600184901b178455611b37565b5f84815260208120601f198516915b828110156145735787850151825560209485019460019092019101614553565b508482101561459057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8051613b8881613e74565b5f602082840312156145ba575f80fd5b8151613d1981613e74565b8051613b8881613e66565b8051613b8881613e23565b5f82601f8301126145ea575f80fd5b81516145f8613f2082613eed565b81815284602083860101111561460c575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614638575f80fd5b81516001600160401b0381111561464d575f80fd5b820160e0818503121561465e575f80fd5b614666613e95565b61466f82614428565b815261467d60208301614428565b602082015261468e604083016145c5565b604082015261469f6060830161459f565b60608201526146b0608083016145d0565b60808201526146c160a083016145d0565b60a082015260c08201516001600160401b038111156146de575f80fd5b6146ea868285016145db565b60c083015250949350505050565b6001600160a01b0392909216825260ff16602082015260400190565b5f60208284031215614724575f80fd5b8151613d1981613e66565b5f6020828403121561473f575f80fd5b8151613d19816141ee565b5f6020828403121561475a575f80fd5b8151613d1981613fff565b5f60208284031215614775575f80fd5b5051919050565b5f808585111561478a575f80fd5b83861115614796575f80fd5b5050820193919092039150565b80356001600160e01b031981169060048410156147d4576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f805f6060848603121561482c575f80fd5b835161483781613e23565b602085015190935061484881613e23565b604085015190925061436681613e23565b5f82518060208501845e5f920191825250919050565b5f8060408385031215614880575f80fd5b825161488b81613e74565b602084015190925063ffffffff81168114614089575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220845f59ede6c829c312509c9ae847ac1563707c813657efae836c9fe4745cf87664736f6c634300081a0033",
|
868
992
|
"linkReferences": {
|
869
|
-
"contracts/
|
870
|
-
"
|
993
|
+
"contracts/staking/TargetManagerLib.sol": {
|
994
|
+
"TargetManagerLib": [
|
871
995
|
{
|
872
996
|
"length": 20,
|
873
|
-
"start":
|
997
|
+
"start": 9907
|
874
998
|
},
|
875
999
|
{
|
876
1000
|
"length": 20,
|
877
|
-
"start":
|
1001
|
+
"start": 10014
|
878
1002
|
}
|
879
1003
|
]
|
880
1004
|
},
|
881
|
-
"contracts/
|
882
|
-
"
|
883
|
-
{
|
884
|
-
"length": 20,
|
885
|
-
"start": 9624
|
886
|
-
},
|
887
|
-
{
|
888
|
-
"length": 20,
|
889
|
-
"start": 10077
|
890
|
-
},
|
891
|
-
{
|
892
|
-
"length": 20,
|
893
|
-
"start": 12028
|
894
|
-
},
|
895
|
-
{
|
896
|
-
"length": 20,
|
897
|
-
"start": 20719
|
898
|
-
},
|
899
|
-
{
|
900
|
-
"length": 20,
|
901
|
-
"start": 20779
|
902
|
-
},
|
903
|
-
{
|
904
|
-
"length": 20,
|
905
|
-
"start": 20839
|
906
|
-
},
|
1005
|
+
"contracts/type/NftId.sol": {
|
1006
|
+
"NftIdLib": [
|
907
1007
|
{
|
908
1008
|
"length": 20,
|
909
|
-
"start":
|
1009
|
+
"start": 1795
|
910
1010
|
},
|
911
1011
|
{
|
912
1012
|
"length": 20,
|
913
|
-
"start":
|
1013
|
+
"start": 2889
|
914
1014
|
},
|
915
1015
|
{
|
916
1016
|
"length": 20,
|
917
|
-
"start":
|
1017
|
+
"start": 7616
|
918
1018
|
},
|
919
1019
|
{
|
920
1020
|
"length": 20,
|
921
|
-
"start":
|
1021
|
+
"start": 8396
|
922
1022
|
},
|
923
1023
|
{
|
924
1024
|
"length": 20,
|
925
|
-
"start":
|
1025
|
+
"start": 11098
|
926
1026
|
},
|
927
1027
|
{
|
928
1028
|
"length": 20,
|
929
|
-
"start":
|
1029
|
+
"start": 12422
|
930
1030
|
},
|
931
1031
|
{
|
932
1032
|
"length": 20,
|
933
|
-
"start":
|
1033
|
+
"start": 13314
|
934
1034
|
},
|
935
1035
|
{
|
936
1036
|
"length": 20,
|
937
|
-
"start":
|
938
|
-
}
|
1037
|
+
"start": 15763
|
1038
|
+
}
|
1039
|
+
]
|
1040
|
+
},
|
1041
|
+
"contracts/type/RoleId.sol": {
|
1042
|
+
"RoleIdLib": [
|
939
1043
|
{
|
940
1044
|
"length": 20,
|
941
|
-
"start":
|
1045
|
+
"start": 7191
|
942
1046
|
}
|
943
1047
|
]
|
944
1048
|
},
|
945
|
-
"contracts/
|
1049
|
+
"contracts/type/Version.sol": {
|
946
1050
|
"VersionLib": [
|
947
1051
|
{
|
948
1052
|
"length": 20,
|
949
|
-
"start":
|
950
|
-
},
|
951
|
-
{
|
952
|
-
"length": 20,
|
953
|
-
"start": 2719
|
954
|
-
},
|
955
|
-
{
|
956
|
-
"length": 20,
|
957
|
-
"start": 5412
|
958
|
-
},
|
959
|
-
{
|
960
|
-
"length": 20,
|
961
|
-
"start": 8683
|
1053
|
+
"start": 1591
|
962
1054
|
},
|
963
1055
|
{
|
964
1056
|
"length": 20,
|
965
|
-
"start":
|
1057
|
+
"start": 3353
|
966
1058
|
},
|
967
1059
|
{
|
968
1060
|
"length": 20,
|
969
|
-
"start":
|
970
|
-
},
|
971
|
-
{
|
972
|
-
"length": 20,
|
973
|
-
"start": 16023
|
974
|
-
},
|
975
|
-
{
|
976
|
-
"length": 20,
|
977
|
-
"start": 16747
|
978
|
-
},
|
979
|
-
{
|
980
|
-
"length": 20,
|
981
|
-
"start": 17361
|
982
|
-
},
|
983
|
-
{
|
984
|
-
"length": 20,
|
985
|
-
"start": 17918
|
986
|
-
},
|
987
|
-
{
|
988
|
-
"length": 20,
|
989
|
-
"start": 18587
|
990
|
-
},
|
991
|
-
{
|
992
|
-
"length": 20,
|
993
|
-
"start": 19661
|
1061
|
+
"start": 3724
|
994
1062
|
}
|
995
1063
|
],
|
996
1064
|
"VersionPartLib": [
|
997
1065
|
{
|
998
1066
|
"length": 20,
|
999
|
-
"start":
|
1067
|
+
"start": 7239
|
1068
|
+
},
|
1069
|
+
{
|
1070
|
+
"length": 20,
|
1071
|
+
"start": 15147
|
1000
1072
|
}
|
1001
1073
|
]
|
1002
1074
|
}
|
1003
1075
|
},
|
1004
1076
|
"deployedLinkReferences": {
|
1005
|
-
"contracts/
|
1006
|
-
"
|
1077
|
+
"contracts/staking/TargetManagerLib.sol": {
|
1078
|
+
"TargetManagerLib": [
|
1007
1079
|
{
|
1008
1080
|
"length": 20,
|
1009
|
-
"start":
|
1081
|
+
"start": 9693
|
1010
1082
|
},
|
1011
1083
|
{
|
1012
1084
|
"length": 20,
|
1013
|
-
"start":
|
1085
|
+
"start": 9800
|
1014
1086
|
}
|
1015
1087
|
]
|
1016
1088
|
},
|
1017
|
-
"contracts/
|
1018
|
-
"
|
1019
|
-
{
|
1020
|
-
"length": 20,
|
1021
|
-
"start": 9394
|
1022
|
-
},
|
1023
|
-
{
|
1024
|
-
"length": 20,
|
1025
|
-
"start": 9847
|
1026
|
-
},
|
1027
|
-
{
|
1028
|
-
"length": 20,
|
1029
|
-
"start": 11798
|
1030
|
-
},
|
1031
|
-
{
|
1032
|
-
"length": 20,
|
1033
|
-
"start": 20489
|
1034
|
-
},
|
1035
|
-
{
|
1036
|
-
"length": 20,
|
1037
|
-
"start": 20549
|
1038
|
-
},
|
1039
|
-
{
|
1040
|
-
"length": 20,
|
1041
|
-
"start": 20609
|
1042
|
-
},
|
1089
|
+
"contracts/type/NftId.sol": {
|
1090
|
+
"NftIdLib": [
|
1043
1091
|
{
|
1044
1092
|
"length": 20,
|
1045
|
-
"start":
|
1093
|
+
"start": 1581
|
1046
1094
|
},
|
1047
1095
|
{
|
1048
1096
|
"length": 20,
|
1049
|
-
"start":
|
1097
|
+
"start": 2675
|
1050
1098
|
},
|
1051
1099
|
{
|
1052
1100
|
"length": 20,
|
1053
|
-
"start":
|
1101
|
+
"start": 7402
|
1054
1102
|
},
|
1055
1103
|
{
|
1056
1104
|
"length": 20,
|
1057
|
-
"start":
|
1105
|
+
"start": 8182
|
1058
1106
|
},
|
1059
1107
|
{
|
1060
1108
|
"length": 20,
|
1061
|
-
"start":
|
1109
|
+
"start": 10884
|
1062
1110
|
},
|
1063
1111
|
{
|
1064
1112
|
"length": 20,
|
1065
|
-
"start":
|
1113
|
+
"start": 12208
|
1066
1114
|
},
|
1067
1115
|
{
|
1068
1116
|
"length": 20,
|
1069
|
-
"start":
|
1117
|
+
"start": 13100
|
1070
1118
|
},
|
1071
1119
|
{
|
1072
1120
|
"length": 20,
|
1073
|
-
"start":
|
1074
|
-
}
|
1121
|
+
"start": 15549
|
1122
|
+
}
|
1123
|
+
]
|
1124
|
+
},
|
1125
|
+
"contracts/type/RoleId.sol": {
|
1126
|
+
"RoleIdLib": [
|
1075
1127
|
{
|
1076
1128
|
"length": 20,
|
1077
|
-
"start":
|
1129
|
+
"start": 6977
|
1078
1130
|
}
|
1079
1131
|
]
|
1080
1132
|
},
|
1081
|
-
"contracts/
|
1133
|
+
"contracts/type/Version.sol": {
|
1082
1134
|
"VersionLib": [
|
1083
1135
|
{
|
1084
1136
|
"length": 20,
|
1085
|
-
"start":
|
1086
|
-
},
|
1087
|
-
{
|
1088
|
-
"length": 20,
|
1089
|
-
"start": 2489
|
1090
|
-
},
|
1091
|
-
{
|
1092
|
-
"length": 20,
|
1093
|
-
"start": 5182
|
1094
|
-
},
|
1095
|
-
{
|
1096
|
-
"length": 20,
|
1097
|
-
"start": 8453
|
1098
|
-
},
|
1099
|
-
{
|
1100
|
-
"length": 20,
|
1101
|
-
"start": 14104
|
1102
|
-
},
|
1103
|
-
{
|
1104
|
-
"length": 20,
|
1105
|
-
"start": 15234
|
1106
|
-
},
|
1107
|
-
{
|
1108
|
-
"length": 20,
|
1109
|
-
"start": 15793
|
1110
|
-
},
|
1111
|
-
{
|
1112
|
-
"length": 20,
|
1113
|
-
"start": 16517
|
1114
|
-
},
|
1115
|
-
{
|
1116
|
-
"length": 20,
|
1117
|
-
"start": 17131
|
1118
|
-
},
|
1119
|
-
{
|
1120
|
-
"length": 20,
|
1121
|
-
"start": 17688
|
1137
|
+
"start": 1377
|
1122
1138
|
},
|
1123
1139
|
{
|
1124
1140
|
"length": 20,
|
1125
|
-
"start":
|
1141
|
+
"start": 3139
|
1126
1142
|
},
|
1127
1143
|
{
|
1128
1144
|
"length": 20,
|
1129
|
-
"start":
|
1145
|
+
"start": 3510
|
1130
1146
|
}
|
1131
1147
|
],
|
1132
1148
|
"VersionPartLib": [
|
1133
1149
|
{
|
1134
1150
|
"length": 20,
|
1135
|
-
"start":
|
1151
|
+
"start": 7025
|
1152
|
+
},
|
1153
|
+
{
|
1154
|
+
"length": 20,
|
1155
|
+
"start": 14933
|
1136
1156
|
}
|
1137
1157
|
]
|
1138
1158
|
}
|