@etherisc/gif-next 3.0.0-ab0fcb2-112 → 3.0.0-b216819-597
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +9 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +72 -139
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +116 -110
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +33 -72
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +70 -105
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +65 -20
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +10 -20
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +75 -126
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -72
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +139 -198
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -84
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +32 -71
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +104 -166
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +138 -200
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +251 -56
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +260 -162
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +112 -41
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +108 -170
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +447 -793
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +113 -42
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -159
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +106 -163
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -177
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +114 -171
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +54 -49
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +25 -77
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +44 -83
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +50 -144
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +95 -36
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +75 -138
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +8 -3
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +81 -132
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +66 -94
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -82
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -88
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +117 -176
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +32 -71
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +72 -100
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +86 -94
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -88
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +247 -24
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +165 -233
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -72
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +64 -82
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -84
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +127 -173
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +57 -72
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
- 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 +56 -155
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
- 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 +96 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +187 -135
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +39 -84
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +345 -164
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +38 -96
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -96
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +251 -82
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -84
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +28 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -72
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +34 -15
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +81 -101
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +36 -75
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +134 -170
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -26
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +65 -132
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -27
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +6 -5
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +25 -47
- package/contracts/authorization/AccessAdminLib.sol +27 -13
- package/contracts/authorization/AccessManagerCloneable.sol +48 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +20 -24
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- package/contracts/examples/flight/FlightLib.sol +90 -75
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +72 -9
- package/contracts/examples/flight/FlightOracleAuthorization.sol +28 -5
- package/contracts/examples/flight/FlightPool.sol +5 -1
- package/contracts/examples/flight/FlightProduct.sol +283 -246
- package/contracts/examples/flight/FlightProductAuthorization.sol +35 -10
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
- package/contracts/instance/Instance.sol +11 -7
- package/contracts/instance/InstanceAdmin.sol +17 -11
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +31 -19
- package/contracts/instance/InstanceService.sol +20 -18
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +4 -0
- package/contracts/oracle/Oracle.sol +6 -5
- package/contracts/oracle/OracleService.sol +67 -37
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +19 -25
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IPoolService.sol +6 -5
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +4 -5
- package/contracts/product/ClaimService.sol +34 -10
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IPolicyService.sol +1 -0
- package/contracts/product/PolicyService.sol +57 -44
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/PolicyServiceManager.sol +6 -4
- package/contracts/product/PricingService.sol +8 -7
- package/contracts/product/PricingServiceManager.sol +6 -4
- package/contracts/product/Product.sol +2 -0
- package/contracts/product/RiskService.sol +40 -8
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +14 -20
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +78 -124
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -4
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +23 -9
- package/contracts/registry/ReleaseRegistry.sol +74 -64
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +15 -6
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +135 -45
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/IComponent.sol +3 -5
- package/contracts/shared/IComponentService.sol +15 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +7 -3
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +64 -29
- package/contracts/shared/NftOwnable.sol +22 -9
- package/contracts/shared/PolicyHolder.sol +4 -2
- package/contracts/shared/Registerable.sol +20 -37
- package/contracts/shared/RegistryLinked.sol +23 -4
- package/contracts/shared/Service.sol +9 -8
- package/contracts/shared/TokenHandler.sol +1 -4
- package/contracts/staking/IStaking.sol +4 -2
- package/contracts/staking/Staking.sol +34 -28
- package/contracts/staking/StakingLib.sol +1 -3
- package/contracts/staking/StakingManager.sol +6 -3
- package/contracts/staking/StakingReader.sol +17 -9
- package/contracts/staking/StakingService.sol +13 -16
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +5 -4
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -5,6 +5,11 @@
|
|
5
5
|
"abi": [
|
6
6
|
{
|
7
7
|
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "address",
|
10
|
+
"name": "registry",
|
11
|
+
"type": "address"
|
12
|
+
},
|
8
13
|
{
|
9
14
|
"internalType": "NftId",
|
10
15
|
"name": "fireProductNftId",
|
@@ -115,24 +120,35 @@
|
|
115
120
|
"type": "error"
|
116
121
|
},
|
117
122
|
{
|
118
|
-
"inputs": [
|
119
|
-
|
123
|
+
"inputs": [
|
124
|
+
{
|
125
|
+
"internalType": "NftId",
|
126
|
+
"name": "nftId",
|
127
|
+
"type": "uint96"
|
128
|
+
},
|
129
|
+
{
|
130
|
+
"internalType": "ObjectType",
|
131
|
+
"name": "objectType",
|
132
|
+
"type": "uint8"
|
133
|
+
}
|
134
|
+
],
|
135
|
+
"name": "ErrorInstanceLinkedComponentNotProduct",
|
120
136
|
"type": "error"
|
121
137
|
},
|
122
138
|
{
|
123
139
|
"inputs": [
|
124
140
|
{
|
125
|
-
"internalType": "
|
126
|
-
"name": "
|
141
|
+
"internalType": "ObjectType",
|
142
|
+
"name": "requiredType",
|
127
143
|
"type": "uint8"
|
128
144
|
},
|
129
145
|
{
|
130
|
-
"internalType": "
|
131
|
-
"name": "
|
146
|
+
"internalType": "ObjectType",
|
147
|
+
"name": "objectType",
|
132
148
|
"type": "uint8"
|
133
149
|
}
|
134
150
|
],
|
135
|
-
"name": "
|
151
|
+
"name": "ErrorInstanceLinkedComponentTypeMismatch",
|
136
152
|
"type": "error"
|
137
153
|
},
|
138
154
|
{
|
@@ -162,116 +178,85 @@
|
|
162
178
|
"name": "ErrorNftOwnableInitialOwnerZero",
|
163
179
|
"type": "error"
|
164
180
|
},
|
165
|
-
{
|
166
|
-
"inputs": [
|
167
|
-
{
|
168
|
-
"internalType": "address",
|
169
|
-
"name": "account",
|
170
|
-
"type": "address"
|
171
|
-
}
|
172
|
-
],
|
173
|
-
"name": "ErrorNftOwnableNotOwner",
|
174
|
-
"type": "error"
|
175
|
-
},
|
176
181
|
{
|
177
182
|
"inputs": [
|
178
183
|
{
|
179
184
|
"internalType": "NftId",
|
180
|
-
"name": "
|
185
|
+
"name": "nftId",
|
181
186
|
"type": "uint96"
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"internalType": "ObjectType",
|
190
|
+
"name": "expectedObjectType",
|
191
|
+
"type": "uint8"
|
182
192
|
}
|
183
193
|
],
|
184
|
-
"name": "
|
194
|
+
"name": "ErrorNftOwnableInvalidType",
|
185
195
|
"type": "error"
|
186
196
|
},
|
187
197
|
{
|
188
198
|
"inputs": [
|
189
|
-
{
|
190
|
-
"internalType": "NftId",
|
191
|
-
"name": "bundleNftId",
|
192
|
-
"type": "uint96"
|
193
|
-
},
|
194
199
|
{
|
195
200
|
"internalType": "address",
|
196
|
-
"name": "
|
201
|
+
"name": "account",
|
197
202
|
"type": "address"
|
198
203
|
}
|
199
204
|
],
|
200
|
-
"name": "
|
205
|
+
"name": "ErrorNftOwnableNotOwner",
|
201
206
|
"type": "error"
|
202
207
|
},
|
203
208
|
{
|
204
209
|
"inputs": [
|
205
210
|
{
|
206
211
|
"internalType": "address",
|
207
|
-
"name": "
|
212
|
+
"name": "registryAddress",
|
208
213
|
"type": "address"
|
209
214
|
}
|
210
215
|
],
|
211
|
-
"name": "
|
216
|
+
"name": "ErrorNotRegistry",
|
212
217
|
"type": "error"
|
213
218
|
},
|
214
219
|
{
|
215
220
|
"inputs": [
|
216
221
|
{
|
217
222
|
"internalType": "NftId",
|
218
|
-
"name": "
|
223
|
+
"name": "applicationNftId",
|
219
224
|
"type": "uint96"
|
220
|
-
},
|
221
|
-
{
|
222
|
-
"internalType": "ObjectType",
|
223
|
-
"name": "expectedType",
|
224
|
-
"type": "uint8"
|
225
|
-
},
|
226
|
-
{
|
227
|
-
"internalType": "VersionPart",
|
228
|
-
"name": "expectedRelease",
|
229
|
-
"type": "uint8"
|
230
225
|
}
|
231
226
|
],
|
232
|
-
"name": "
|
233
|
-
"type": "error"
|
234
|
-
},
|
235
|
-
{
|
236
|
-
"inputs": [],
|
237
|
-
"name": "ErrorRegisterableNotActive",
|
227
|
+
"name": "ErrorPoolApplicationBundleMismatch",
|
238
228
|
"type": "error"
|
239
229
|
},
|
240
230
|
{
|
241
231
|
"inputs": [
|
242
232
|
{
|
243
|
-
"internalType": "
|
244
|
-
"name": "
|
245
|
-
"type": "
|
233
|
+
"internalType": "NftId",
|
234
|
+
"name": "bundleNftId",
|
235
|
+
"type": "uint96"
|
246
236
|
},
|
247
237
|
{
|
248
|
-
"internalType": "
|
249
|
-
"name": "
|
250
|
-
"type": "
|
238
|
+
"internalType": "address",
|
239
|
+
"name": "caller",
|
240
|
+
"type": "address"
|
251
241
|
}
|
252
242
|
],
|
253
|
-
"name": "
|
243
|
+
"name": "ErrorPoolNotBundleOwner",
|
254
244
|
"type": "error"
|
255
245
|
},
|
256
246
|
{
|
257
247
|
"inputs": [
|
258
248
|
{
|
259
249
|
"internalType": "address",
|
260
|
-
"name": "
|
250
|
+
"name": "caller",
|
261
251
|
"type": "address"
|
262
|
-
},
|
263
|
-
{
|
264
|
-
"internalType": "VersionPart",
|
265
|
-
"name": "expected",
|
266
|
-
"type": "uint8"
|
267
|
-
},
|
268
|
-
{
|
269
|
-
"internalType": "VersionPart",
|
270
|
-
"name": "actual",
|
271
|
-
"type": "uint8"
|
272
252
|
}
|
273
253
|
],
|
274
|
-
"name": "
|
254
|
+
"name": "ErrorPoolNotPoolService",
|
255
|
+
"type": "error"
|
256
|
+
},
|
257
|
+
{
|
258
|
+
"inputs": [],
|
259
|
+
"name": "ErrorRegisterableNotActive",
|
275
260
|
"type": "error"
|
276
261
|
},
|
277
262
|
{
|
@@ -729,19 +714,6 @@
|
|
729
714
|
"stateMutability": "view",
|
730
715
|
"type": "function"
|
731
716
|
},
|
732
|
-
{
|
733
|
-
"inputs": [],
|
734
|
-
"name": "getInitialData",
|
735
|
-
"outputs": [
|
736
|
-
{
|
737
|
-
"internalType": "bytes",
|
738
|
-
"name": "data",
|
739
|
-
"type": "bytes"
|
740
|
-
}
|
741
|
-
],
|
742
|
-
"stateMutability": "view",
|
743
|
-
"type": "function"
|
744
|
-
},
|
745
717
|
{
|
746
718
|
"inputs": [],
|
747
719
|
"name": "getInitialInfo",
|
@@ -763,11 +735,6 @@
|
|
763
735
|
"name": "objectType",
|
764
736
|
"type": "uint8"
|
765
737
|
},
|
766
|
-
{
|
767
|
-
"internalType": "VersionPart",
|
768
|
-
"name": "release",
|
769
|
-
"type": "uint8"
|
770
|
-
},
|
771
738
|
{
|
772
739
|
"internalType": "bool",
|
773
740
|
"name": "isInterceptor",
|
@@ -777,6 +744,16 @@
|
|
777
744
|
"internalType": "address",
|
778
745
|
"name": "objectAddress",
|
779
746
|
"type": "address"
|
747
|
+
},
|
748
|
+
{
|
749
|
+
"internalType": "address",
|
750
|
+
"name": "initialOwner",
|
751
|
+
"type": "address"
|
752
|
+
},
|
753
|
+
{
|
754
|
+
"internalType": "bytes",
|
755
|
+
"name": "data",
|
756
|
+
"type": "bytes"
|
780
757
|
}
|
781
758
|
],
|
782
759
|
"internalType": "struct IRegistry.ObjectInfo",
|
@@ -899,7 +876,7 @@
|
|
899
876
|
"type": "address"
|
900
877
|
}
|
901
878
|
],
|
902
|
-
"stateMutability": "
|
879
|
+
"stateMutability": "view",
|
903
880
|
"type": "function"
|
904
881
|
},
|
905
882
|
{
|
@@ -908,11 +885,11 @@
|
|
908
885
|
"outputs": [
|
909
886
|
{
|
910
887
|
"internalType": "VersionPart",
|
911
|
-
"name": "",
|
888
|
+
"name": "release",
|
912
889
|
"type": "uint8"
|
913
890
|
}
|
914
891
|
],
|
915
|
-
"stateMutability": "
|
892
|
+
"stateMutability": "view",
|
916
893
|
"type": "function"
|
917
894
|
},
|
918
895
|
{
|
@@ -947,11 +924,11 @@
|
|
947
924
|
"outputs": [
|
948
925
|
{
|
949
926
|
"internalType": "Version",
|
950
|
-
"name": "",
|
927
|
+
"name": "version",
|
951
928
|
"type": "uint24"
|
952
929
|
}
|
953
930
|
],
|
954
|
-
"stateMutability": "
|
931
|
+
"stateMutability": "view",
|
955
932
|
"type": "function"
|
956
933
|
},
|
957
934
|
{
|
@@ -993,6 +970,19 @@
|
|
993
970
|
"stateMutability": "view",
|
994
971
|
"type": "function"
|
995
972
|
},
|
973
|
+
{
|
974
|
+
"inputs": [],
|
975
|
+
"name": "isNftInterceptor",
|
976
|
+
"outputs": [
|
977
|
+
{
|
978
|
+
"internalType": "bool",
|
979
|
+
"name": "isInterceptor",
|
980
|
+
"type": "bool"
|
981
|
+
}
|
982
|
+
],
|
983
|
+
"stateMutability": "view",
|
984
|
+
"type": "function"
|
985
|
+
},
|
996
986
|
{
|
997
987
|
"inputs": [],
|
998
988
|
"name": "isRegistered",
|
@@ -1351,14 +1341,18 @@
|
|
1351
1341
|
"type": "function"
|
1352
1342
|
}
|
1353
1343
|
],
|
1354
|
-
"bytecode": "0x608060405234801561000f575f80fd5b50604051614ca7380380614ca783398101604081905261002e91611002565b5f3390506101cd84846040518060e0016040528073__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015610089573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ad91906110b7565b6001600160601b0316815260200173__$bf7bc340cbb9229ef1de2c568356e67902$__63901717d16040518163ffffffff1660e01b8152600401602060405180830381865af4158015610102573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061012691906110d9565b6001600160a01b0316815260200173__$bf7bc340cbb9229ef1de2c568356e67902$__63901717d16040518163ffffffff1660e01b8152600401602060405180830381865af415801561017b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019f91906110d9565b6001600160a01b031681525f60208201819052604082018190526060820181905260809091015285856101d6565b5050505061134a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f8115801561021f5750825b90505f826001600160401b0316600114801561023a5750303b155b905081158015610248575080155b156102665760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561029457845460ff60401b1916680100000000000000001785555b6102a18a8a8a8a8a6102f3565b83156102e757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b6102fb61030f565b610308858585858561035f565b5050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661035d57604051631afcd79f60e31b815260040160405180910390fd5b565b61036761030f565b61037b8585600f60608701518690866104f4565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58300845160208601516001600160601b039091166c010000000000000000000000006001600160a01b03928316021782556040860151600183018054606089015160808a015160a08b015160c08c0151959096166001600160a81b031990931692909217600160a01b911515919091021761ffff60a81b1916600160a81b9115159190910260ff60b01b191617600160b01b931515939093029290921760ff60b81b1916600160b81b91151591909102179055905061046061045b600f90565b610668565b6003820180546001600160a01b0319166001600160a01b039290921691909117905561048d61045b601690565b6004820180546001600160a01b0319166001600160a01b03929092169190911790556104ba61045b600b90565b6002820180546001600160a01b0319166001600160a01b03929092169190911790556104ec635a48579360e11b6106f9565b505050505050565b6104fc61030f565b5f610507878661072c565b905061058b816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610548573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056c91906110d9565b888888878760405180602001604052805f8152506108d960201b60201c565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0080546001600160a01b038381166001600160a01b03199283161783557fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f018054918816919092161790556105ff600b610668565b6002820180546001600160a01b0319166001600160a01b039290921691909117905561062c61045b600d90565b6003820180546001600160a01b0319166001600160a01b039290921691909117905561065e63379ed74560e21b6106f9565b5050505050505050565b5f73345ca3e014aaf5dca488057592ee47305d9b3e1063d39e60438361068c6109a7565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156106cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f391906110d9565b92915050565b61070161030f565b610729816001600160e01b0319165f908152602081905260409020805460ff19166001179055565b50565b5f8073345ca3e014aaf5dca488057592ee47305d9b3e1060ff8416600c03610756578491506107cb565b60405163677d3feb60e11b81526001600160601b038616600482015285906001600160a01b0383169063cefa7fd690602401602060405180830381865afa1580156107a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c791906110b7565b9250505b6040516305247a1760e51b81526001600160601b03831660048201525f906001600160a01b0383169063a48f42e09060240160c060405180830381865afa158015610818573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190611111565b90506108608160400151610854610a2860201b60201c565b60ff9081169116141590565b1561087e57604051630d94d03f60e21b815260040160405180910390fd5b606081015161088f906108546109a7565b156108cc5760608101516108a16109a7565b60405163b587ea6f60e01b815260ff9283166004820152911660248201526044015b60405180910390fd5b60a0015195945050505050565b6108e161030f565b84515f036109025760405163591eebf360e11b815260040160405180910390fd5b610910878786868686610a2d565b7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f007fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0161095c878261123a565b50610967600b610668565b81546001600160a01b0319166001600160a01b0391909116178155610992634a531f3360e01b6106f9565b61065e637c65eb8160e01b6106f9565b905090565b5f6109b0610beb565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e29906024015b602060405180830381865af4158015610a04573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a291906112f4565b600a90565b610a3561030f565b604051632330f24760e01b81526001600160a01b038716600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90632330f24790602401602060405180830381865af4158015610a8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aaf919061130f565b610ad75760405163cf6935e560e01b81526001600160a01b03871660048201526024016108c3565b5f866001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3891906112f4565b9050610b4387610cf0565b610b4c83610d01565b610b5581610d89565b5f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0389166001600160681b0319909116176c0100000000000000000000000060ff8916021760ff60681b19166d010000000000000000000000000087151502178155835190915015610bdb5760018101610bd9848261123a565b505b61065e634a531f3360e01b6106f9565b5f73__$8eede297b65ed5a56eb3f84d8232ae93f5$__6353a54552610c0e610e3e565b604051632b10f60d60e21b815260ff909116600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610c5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8391906112f4565b6040516001600160e01b031960e084901b16815260ff90911660048201525f602482018190526044820152606401602060405180830381865af4158015610ccc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a29190611328565b610cf861030f565b61072981610e76565b610d0961030f565b610d11610e87565b6001600160a01b038116610d385760405163f17ef42d60e01b815260040160405180910390fd5b7f07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f0080546001600160601b03166c010000000000000000000000006001600160a01b0390931692909202919091179055565b5f610d926109a7565b60405163a52ec52960e01b815260ff8216600482015290915073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063a52ec52990602401602060405180830381865af4158015610de5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e09919061130f565b610e3157604051633837223d60e11b815230600482015260ff821660248201526044016108c3565b610e3a82610ecf565b5050565b604051627d985f60e11b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9062fb30be906024016109e9565b610e7e61030f565b61072981610f13565b610e8f61030f565b61035d6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b5f610ed86109a7565b905060ff80821690831614610e3a5760405163c6493b7d60e01b815230600482015260ff8084166024830152821660448201526064016108c3565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6001600160601b0381168114610729575f80fd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715610fd657610fd6610f9a565b604052919050565b6001600160a01b0381168114610729575f80fd5b8051610ffd81610fde565b919050565b5f805f60608486031215611014575f80fd5b835161101f81610f86565b60208501519093506001600160401b0381111561103a575f80fd5b8401601f8101861361104a575f80fd5b80516001600160401b0381111561106357611063610f9a565b611076601f8201601f1916602001610fae565b81815287602083850101111561108a575f80fd5b8160208401602083015e5f602083830101528094505050506110ae60408501610ff2565b90509250925092565b5f602082840312156110c7575f80fd5b81516110d281610f86565b9392505050565b5f602082840312156110e9575f80fd5b81516110d281610fde565b60ff81168114610729575f80fd5b80518015158114610ffd575f80fd5b5f60c0828403128015611122575f80fd5b5060405160c081016001600160401b038111828210171561114557611145610f9a565b604052825161115381610f86565b8152602083015161116381610f86565b60208201526040830151611176816110f4565b60408201526060830151611189816110f4565b606082015261119a60808401611102565b608082015260a08301516111ad81610fde565b60a08201529392505050565b600181811c908216806111cd57607f821691505b6020821081036111eb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561123557805f5260205f20601f840160051c810160208510156112165750805b601f840160051c820191505b81811015610308575f8155600101611222565b505050565b81516001600160401b0381111561125357611253610f9a565b6112678161126184546111b9565b846111f1565b6020601f821160018114611299575f83156112825750848201515b5f19600385901b1c1916600184901b178455610308565b5f84815260208120601f198516915b828110156112c857878501518255602094850194600190920191016112a8565b50848210156112e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215611304575f80fd5b81516110d2816110f4565b5f6020828403121561131f575f80fd5b6110d282611102565b5f60208284031215611338575f80fd5b815162ffffff811681146110d2575f80fd5b613950806113575f395ff3fe608060405234801561000f575f80fd5b506004361061028c575f3560e01c806368d2b3201161016157806392f37d78116100ca578063d0d63b0911610084578063d0d63b0914610781578063de7b5d1414610794578063deaa59df146107c4578063ea15869f146107d7578063ee378463146107eb578063f3d0e5d2146107fe575f80fd5b806392f37d7814610724578063ad12ad6014610737578063ada9652e1461074a578063b423086c1461075e578063bca99e3914610766578063bf7e214f14610779575f80fd5b80637cb73c681161011b5780637cb73c68146105af57806385ba8344146105e2578063893d20e8146106d35780638d9a753f146106db5780638fb36037146106ee57806390edbd351461070f575f80fd5b806368d2b320146105245780636bd1c0eb146105375780636c1e9dff146105675780636e8dba911461057a57806376b707b7146105825780637a9e5e4b1461059c575f80fd5b8063223668441161020357806343d752d3116101bd57806343d752d3146104b35780634deed579146104bb57806354e50779146104ce5780635ab1bd53146104e15780635e1767ea146104f4578063644c45e014610507575f80fd5b8063223668441461044357806322f3e2d41461044b57806326889b09146104535780632eb3e6f41461046657806337dd18a51461048d578063419197fe146104a0575f80fd5b8063138461e011610254578063138461e0146103b757806317d7de7c146103d75780631c6b2190146103ec5780631eff4b22146103ff578063211e28b61461042657806321df0da71461043b575f80fd5b806301ffc9a7146102905780630d8e6e2c146102d15780630fec111c146102ed5780630ffeecca146103625780631329960414610397575b5f80fd5b6102bc61029e366004612bc8565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102d9610827565b60405162ffffff90911681526020016102c8565b6102f5610931565b6040516102c891905f60c0820190506001600160601b0383511682526001600160601b03602084015116602083015260ff604084015116604083015260ff606084015116606083015260808301511515608083015260018060a01b0360a08401511660a083015292915050565b6103897f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830081565b6040519081526020016102c8565b61039f610a55565b6040516001600160a01b0390911681526020016102c8565b6103bf610abd565b6040516001600160601b0390911681526020016102c8565b6103df610ac7565b6040516102c89190612c24565b6103bf6103fa366004612c4a565b610ad7565b6103897f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b610439610434366004612c72565b610b35565b005b61039f610b7c565b6102bc610bc0565b6102bc610cb2565b610439610461366004612c8d565b610d29565b6103897fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0081565b61043961049b366004612dc9565b610e06565b6104396104ae366004612dfd565b610ee2565b61039f610f35565b6104396104c9366004612e19565b610f47565b6103bf6104dc366004612c8d565b6110db565b5f805160206138fb83398151915261039f565b610389610502366004612ed9565b6111bb565b5f8051602061387b833981519152546001600160601b03166103bf565b610439610532366004612f12565b611204565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b031661039f565b610439610575366004612c8d565b6112d9565b6103df6113ae565b61058a611460565b60405160ff90911681526020016102c8565b6104396105aa366004612f3e565b6114e1565b6105c26105bd366004612f6b565b611567565b604080516001600160601b039384168152929091166020830152016102c8565b6106c66040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091527f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006040805160e08101825282546001600160601b03811682526001600160a01b03600160601b909104811660208301526001909301549283169181019190915260ff600160a01b8304811615156060830152600160a81b8304811615156080830152600160b01b83048116151560a0830152600160b81b909204909116151560c0820152919050565b6040516102c89190612fa7565b61039f6115a7565b6104396106e936600461302d565b6116da565b6106f6611729565b6040516001600160e01b031990911681526020016102c8565b61071761175e565b6040516102c89190613070565b6102bc6107323660046130ac565b61178f565b610439610745366004613147565b6117ba565b6103895f8051602061387b83398151915281565b61071761185f565b610439610774366004612c4a565b61187b565b61039f6118c8565b61043961078f366004612c4a565b6118e3565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00546001600160a01b031661039f565b6104396107d2366004612f3e565b6119b7565b6103895f8051602061389b83398151915281565b6104396107f93660046131a6565b611a04565b61081161080c3660046131d3565b611a1a565b60405164ffffffffff90911681526020016102c8565b5f73__$8eede297b65ed5a56eb3f84d8232ae93f5$__6353a5455261084a611af0565b604051632b10f60d60e21b815260ff909116600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af415801561089b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bf919061320d565b6040516001600160e01b031960e084901b16815260ff90911660048201525f602482018190526044820152606401602060405180830381865af4158015610908573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c9190613228565b905090565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101829052907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060c0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156109d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109fb9190613255565b6001600160601b03908116825283549081166020830152600160601b900460ff166040820152606001610a2c611460565b60ff90811682529254600160681b90049092161515602083015230604090920191909152919050565b5f610a5e610f35565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a99573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c9190613270565b5f61092c30611b28565b6060610ad161175e565b51919050565b5f610ae4335b5f36611d68565b610aec6115a7565b6001600160a01b0316336001600160a01b031614610b245760405163086391f760e31b81523360048201526024015b60405180910390fd5b610b2d82611e5e565b90505b919050565b610b3d6115a7565b6001600160a01b0316336001600160a01b031614610b705760405163086391f760e31b8152336004820152602401610b1b565b610b7981611edf565b50565b5f610b85610f35565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a99573d5f803e3d5ffd5b5f5f805160206138fb833981519152604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610c13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c379190613255565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610c8e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c919061328b565b5f610cbb6118c8565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610cff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d23919061328b565b15905090565b610d3233610add565b815f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610d8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db29190613270565b6001600160a01b0316336001600160a01b031614610de7578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b826016610df48282611f42565b610dfe8585612094565b505050505050565b610e0f33610add565b815f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610e6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8f9190613270565b6001600160a01b0316336001600160a01b031614610ec4578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b826016610ed18282611f42565b610edb8585612126565b5050505050565b610eeb33610add565b610ef36115a7565b6001600160a01b0316336001600160a01b031614610f265760405163086391f760e31b8152336004820152602401610b1b565b610f3082826121a0565b505050565b5f610f3e61175e565b60200151905090565b610f5033610add565b826015610f5d8282611f42565b5f610f66612318565b60405163bd7d9d8560e01b81526001600160601b03881660048201529091506110629087906001600160a01b0384169063bd7d9d85906024015f60405180830381865afa158015610fb9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fe09190810190613349565b6101c00151604051634793b4ab60e01b81526001600160601b038916600482015288906001600160a01b03861690634793b4ab906024015f60405180830381865afa158015611031573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110589190810190613511565b60a001518861178f565b61108a57604051636b468c9b60e01b81526001600160601b0387166004820152602401610b1b565b604080513081526001600160601b03888116602083015286168183015290517fcca48a0200c526a7c48f1e770c739ef8e82d7b30e26825735858705fbcda4e079181900360600190a1505050505050565b5f6110e533610add565b825f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611141573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111659190613270565b6001600160a01b0316336001600160a01b03161461119a578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b8360166111a78282611f42565b6111b1868661237e565b9695505050505050565b805160208201205f9060ff19906111d4906001906135d5565b6040516020016111e691815260200190565b60405160208183030381529060405280519060200120169050919050565b61120d33610add565b815f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611269573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128d9190613270565b6001600160a01b0316336001600160a01b0316146112c2578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b8260166112cf8282611f42565b610edb85856123cb565b6112e233610add565b815f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561133e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113629190613270565b6001600160a01b0316336001600160a01b031614611397578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b8260166113a48282611f42565b610dfe858561242b565b60607f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30060010180546113df906135f4565b80601f016020809104026020016040519081016040528092919081815260200182805461140b906135f4565b80156114565780601f1061142d57610100808354040283529160200191611456565b820191905f5260205f20905b81548152906001019060200180831161143957829003601f168201915b5050505050905090565b5f611469610827565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e29906024015b602060405180830381865af41580156114bd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c919061320d565b336114ea6118c8565b6001600160a01b0316816001600160a01b0316146115255760405162d1953b60e31b81526001600160a01b0382166004820152602401610b1b565b816001600160a01b03163b5f0361155a576040516361798f2f60e11b81526001600160a01b0383166004820152602401610b1b565b61156382612478565b5050565b5f8061157233610add565b5f33905061159081878660405180602001604052805f8152506124d8565b925061159c838661242b565b915050935093915050565b5f805f8051602061387b83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611613573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611637919061328b565b156116c4575f805160206138fb8339815191528154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561169a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116be9190613270565b91505090565b54600160601b90046001600160a01b0316919050565b6116e333610add565b6116eb6115a7565b6001600160a01b0316336001600160a01b03161461171e5760405163086391f760e31b8152336004820152602401610b1b565b610f30838383612576565b5f805160206138bb83398151915280545f9190600160a01b900460ff16611750575f6116be565b638fb3603760e01b91505090565b60408051808201909152606081525f602082015261177a610bc0565b156117875761092c6125fb565b61092c61185f565b5f85601561179d8282611f42565b8560166117aa8282611f42565b5060019998505050505050505050565b5f805160206138fb8339815191526001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611803573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118279190613270565b6001600160a01b0316336001600160a01b0316146118595760405162f0630960e01b8152336004820152602401610b1b565b50505050565b60408051808201909152606081525f602082015261092c6125fb565b61188433610add565b61188c6115a7565b6001600160a01b0316336001600160a01b0316146118bf5760405163086391f760e31b8152336004820152602401610b1b565b610b79816127cc565b5f805160206138bb833981519152546001600160a01b031690565b6118ec33610add565b805f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613270565b6001600160a01b0316336001600160a01b0316146119a1578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b8160166119ae8282611f42565b61185984612811565b6119c033610add565b6119c86115a7565b6001600160a01b0316336001600160a01b0316146119fb5760405163086391f760e31b8152336004820152602401610b1b565b610b7981612856565b611a0d33610add565b826015610edb8282611f42565b5f611a2433610add565b825f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611a80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aa49190613270565b6001600160a01b0316336001600160a01b031614611ad9578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b836016611ae68282611f42565b6111b186866128cb565b604051627d985f60e11b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9062fb30be906024016114a2565b5f805f8051602061387b83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb8919061328b565b15611be45780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610b1b565b5f5f805160206138fb833981519152604051632f2a35f760e11b81526001600160a01b0386811660048301529190911690635e546bee90602401602060405180830381865afa158015611c39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5d9190613255565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015611cb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cda919061328b565b15611d035760405163b9304b0d60e01b81526001600160a01b0385166004820152602401610b1b565b81546bffffffffffffffffffffffff19166001600160601b0382161782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5481611d4b6115a7565b604051611d599291906132a6565b60405180910390a19392505050565b5f805160206138bb8339815191525f80611da0611d836118c8565b8730611d9260045f8a8c61362c565b611d9b91613653565b612971565b9150915081610dfe5763ffffffff811615611e3b57825460ff60a01b1916600160a01b178355611dce6118c8565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611dfd93929190613689565b5f604051808303815f87803b158015611e14575f80fd5b505af1158015611e26573d5f803e3d5ffd5b5050845460ff60a01b1916855550610dfe9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610b1b565b5f5f8051602061389b833981519152546040516301c6b21960e41b81526001600160601b03841660048201526001600160a01b0390911690631c6b2190906024016020604051808303815f875af1158015611ebb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2d9190613255565b5f8051602061389b8339815191525460405163108f145b60e11b815282151560048201526001600160a01b039091169063211e28b6906024015b5f604051808303815f87803b158015611f30575f80fd5b505af1158015610edb573d5f803e3d5ffd5b5f611f4b611460565b60405163037c8cb160e51b815260ff8416600482015290915073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636f91962090602401602060405180830381865af4158015611f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc2919061328b565b8061205a57505f805160206138fb8339815191526040516334a67fa960e21b81526001600160601b038516600482015260ff8085166024830152831660448201526001600160a01b03919091169063d299fea490606401602060405180830381865afa158015612034573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612058919061328b565b155b15610f3057604051636289956160e11b81526001600160601b038416600482015260ff808416602483015282166044820152606401610b1b565b5f805160206138db833981519152546040516326889b0960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906326889b09906044015b6020604051808303815f875af11580156120f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211d9190613255565b90505b92915050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163a5fbe47960e01b81526001600160a01b039091169063a5fbe4799061217790859085906004016136e9565b5f604051808303815f87803b15801561218e575f80fd5b505af1158015610dfe573d5f803e3d5ffd5b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e6121d2610f35565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa15801561221a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061223e9190613706565b6040518263ffffffff1660e01b815260040161225c91815260200190565b602060405180830381865af4158015612277573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229b9190613255565b90505f8051602061389b833981519152546040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b03851660248301529091169063419197fe906044015f604051808303815f87803b1580156122fc575f80fd5b505af115801561230e573d5f803e3d5ffd5b5050505092915050565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0054604080516302cd307160e01b815290515f926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610a99573d5f803e3d5ffd5b5f805160206138db833981519152546040516354e5077960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906354e50779906044016120dd565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163d42a24b160e01b81526001600160601b038416600482015282151560248201526001600160a01b039091169063d42a24b190604401612177565b5f805160206138db83398151915254604051636c1e9dff60e01b81526001600160601b038481166004830152831660248201525f916001600160a01b031690636c1e9dff906044016120dd565b5f805160206138bb83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830454604051637eddc94b60e11b81525f916001600160a01b03169063fdbb92969061252d90889088908890889060040161371d565b6020604051808303815f875af1158015612549573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061256d9190613255565b95945050505050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583025460405163cf2f336560e01b81526001600160a01b039091169063cf2f3365906125c990869086908690600401613758565b5f604051808303815f87803b1580156125e0575f80fd5b505af11580156125f2573d5f803e3d5ffd5b50505050505050565b60408051808201909152606081525f60208201525f6126245f805160206138fb83398151915290565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015612668573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061268c9190613255565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156126e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612709919061328b565b156127c457612716612318565b6001600160a01b031663f0ea17c36127425f8051602061387b833981519152546001600160601b031690565b6040516001600160e01b031960e084901b1681526001600160601b0390911660048201526024015f60405180830381865afa158015612783573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526127aa9190810190613780565b60208101519092506001600160a01b0316156127c4575090565b6116be612a79565b5f805160206138db8339815191525460405163bca99e3960e01b81526001600160601b03831660048201526001600160a01b039091169063bca99e3990602401611f19565b5f805160206138db8339815191525460405163d0d63b0960e01b81526001600160601b03831660048201526001600160a01b039091169063d0d63b0990602401611f19565b61285e6115a7565b6001600160a01b0316336001600160a01b0316146128915760405163086391f760e31b8152336004820152602401610b1b565b61289b600b612b44565b60405163deaa59df60e01b81526001600160a01b038381166004830152919091169063deaa59df90602401611f19565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006004908101546040516379e872e960e11b81526001600160601b0386169281019290925264ffffffffff841660248301526001600160a01b03169063f3d0e5d2906044016020604051808303815f875af115801561294d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211d9190613814565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516129df919061382f565b5f60405180830381855afa9150503d805f8114612a17576040519150601f19603f3d011682016040523d82523d5f602084013e612a1c565b606091505b50915091508115612a6e576040815110612a4e5780806020019051810190612a449190613845565b9094509250612a6e565b6020815110612a6e5780806020019051810190612a6b919061328b565b93505b505094509492505050565b60408051808201909152606081525f60208201525f5f8051602061389b83398151915290506040518060400160405280826001018054612ab8906135f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612ae4906135f4565b8015612b2f5780601f10612b0657610100808354040283529160200191612b2f565b820191905f5260205f20905b815481529060010190602001808311612b1257829003601f168201915b50505091835250505f60209091015292915050565b5f5f805160206138fb83398151915263d39e604383612b61611460565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612ba4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2d9190613270565b5f60208284031215612bd8575f80fd5b81356001600160e01b031981168114612bef575f80fd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61211d6020830184612bf6565b6001600160601b0381168114610b79575f80fd5b5f60208284031215612c5a575f80fd5b8135612bef81612c36565b8015158114610b79575f80fd5b5f60208284031215612c82575f80fd5b8135612bef81612c65565b5f8060408385031215612c9e575f80fd5b8235612ca981612c36565b91506020830135612cb981612c36565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612cfa57612cfa612cc4565b60405290565b60405161020081016001600160401b0381118282101715612cfa57612cfa612cc4565b60405160c081016001600160401b0381118282101715612cfa57612cfa612cc4565b604051601f8201601f191681016001600160401b0381118282101715612d6d57612d6d612cc4565b604052919050565b6001600160a01b0381168114610b79575f80fd5b5f60408284031215612d99575f80fd5b612da1612cd8565b90508135612dae81612d75565b81526020820135612dbe81612c36565b602082015292915050565b5f8060608385031215612dda575f80fd5b8235612de581612c36565b9150612df48460208501612d89565b90509250929050565b5f8060408385031215612e0e575f80fd5b8235612ca981612d75565b5f805f60608486031215612e2b575f80fd5b8335612e3681612c36565b92506020840135612e4681612c36565b91506040840135612e5681612c36565b809150509250925092565b5f6001600160401b03821115612e7957612e79612cc4565b50601f01601f191660200190565b5f82601f830112612e96575f80fd5b8135612ea9612ea482612e61565b612d45565b818152846020838601011115612ebd575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215612ee9575f80fd5b81356001600160401b03811115612efe575f80fd5b612f0a84828501612e87565b949350505050565b5f8060408385031215612f23575f80fd5b8235612f2e81612c36565b91506020830135612cb981612c65565b5f60208284031215612f4e575f80fd5b8135612bef81612d75565b64ffffffffff81168114610b79575f80fd5b5f805f60808486031215612f7d575f80fd5b612f878585612d89565b92506040840135612f9781612c36565b91506060840135612e5681612f59565b5f60e0820190506001600160601b03835116825260018060a01b03602084015116602083015260018060a01b0360408401511660408301526060830151151560608301526080830151612ffe608084018215159052565b5060a083015161301260a084018215159052565b5060c083015161302660c084018215159052565b5092915050565b5f805f60c0848603121561303f575f80fd5b6130498585612d89565b92506130588560408601612d89565b91506130678560808601612d89565b90509250925092565b602081525f82516040602084015261308b6060840182612bf6565b602094909401516001600160a01b0316604093909301929092525090919050565b5f805f805f60a086880312156130c0575f80fd5b85356130cb81612c36565b945060208601356001600160401b038111156130e5575f80fd5b6130f188828901612e87565b945050604086013561310281612c36565b925060608601356001600160401b0381111561311c575f80fd5b61312888828901612e87565b925050608086013561313981612c36565b809150509295509295909350565b5f805f806080858703121561315a575f80fd5b843561316581612d75565b9350602085013561317581612d75565b925060408501359150606085013561318c81612d75565b939692955090935050565b61ffff81168114610b79575f80fd5b5f805f606084860312156131b8575f80fd5b83356131c381612c36565b92506020840135612e4681613197565b5f80604083850312156131e4575f80fd5b82356131ef81612c36565b91506020830135612cb981612f59565b60ff81168114610b79575f80fd5b5f6020828403121561321d575f80fd5b8151612bef816131ff565b5f60208284031215613238575f80fd5b815162ffffff81168114612bef575f80fd5b8051610b3081612c36565b5f60208284031215613265575f80fd5b8151612bef81612c36565b5f60208284031215613280575f80fd5b8151612bef81612d75565b5f6020828403121561329b575f80fd5b8151612bef81612c65565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516001600160c01b031981168114610b30575f80fd5b8051610b3081613197565b8051610b3081612f59565b5f613302612ea484612e61565b9050828152838383011115613315575f80fd5b8282602083015e5f602084830101529392505050565b5f82601f83011261333a575f80fd5b61211d838351602085016132f5565b5f60208284031215613359575f80fd5b81516001600160401b0381111561336e575f80fd5b82016102008185031215613380575f80fd5b613388612d00565b6133918261324a565b815261339f6020830161324a565b60208201526133b0604083016132c8565b60408201526133c16060830161324a565b60608201526133d26080830161324a565b60808201526133e360a083016132c8565b60a08201526133f460c083016132df565b60c082015261340560e083016132df565b60e0820152613417610100830161324a565b61010082015261342a610120830161324a565b61012082015261343d61014083016132ea565b61014082015261345061016083016132ea565b61016082015261346361018083016132ea565b6101808201526134766101a083016132ea565b6101a08201526101c08201516001600160401b03811115613495575f80fd5b6134a18682850161332b565b6101c0830152506101e08201516001600160401b038111156134c1575f80fd5b6134cd8682850161332b565b6101e083015250949350505050565b5f604082840312156134ec575f80fd5b6134f4612cd8565b9050815161350181612d75565b81526020820151612dbe81612c36565b5f60208284031215613521575f80fd5b81516001600160401b03811115613536575f80fd5b820160e08185031215613547575f80fd5b61354f612d23565b815161355a81612f59565b8152602082015161356a81612f59565b602082015261357b604083016132ea565b604082015261358c6060830161324a565b606082015261359e85608084016134dc565b608082015260c08201516001600160401b038111156135bb575f80fd5b6135c78682850161332b565b60a083015250949350505050565b8181038181111561212057634e487b7160e01b5f52601160045260245ffd5b600181811c9082168061360857607f821691505b60208210810361362657634e487b7160e01b5f52602260045260245ffd5b50919050565b5f808585111561363a575f80fd5b83861115613646575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015613026576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b80516001600160a01b031682526020908101516001600160601b0316910152565b6001600160601b038316815260608101612bef60208301846136c8565b5f60208284031215613716575f80fd5b5051919050565b6001600160a01b038516815261373660208201856136c8565b64ffffffffff8316606082015260a060808201525f6111b160a0830184612bf6565b60c0810161376682866136c8565b61377360408301856136c8565b612f0a60808301846136c8565b5f60208284031215613790575f80fd5b81516001600160401b038111156137a5575f80fd5b8201604081850312156137b6575f80fd5b6137be612cd8565b81516001600160401b038111156137d3575f80fd5b8201601f810186136137e3575f80fd5b6137f2868251602084016132f5565b8252506020820151915061380582612d75565b60208101919091529392505050565b5f60208284031215613824575f80fd5b8151612bef81612f59565b5f82518060208501845e5f920191825250919050565b5f8060408385031215613856575f80fd5b825161386181612c65565b602084015190925063ffffffff81168114612cb9575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00ffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0025e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58303000000000000000000000000345ca3e014aaf5dca488057592ee47305d9b3e10a26469706673582212203ab748c907e49da31e63db8adb8146c35d915c295c274a14bb89de22afbda40864736f6c634300081a0033",
|
1355
|
-
"deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061028c575f3560e01c806368d2b3201161016157806392f37d78116100ca578063d0d63b0911610084578063d0d63b0914610781578063de7b5d1414610794578063deaa59df146107c4578063ea15869f146107d7578063ee378463146107eb578063f3d0e5d2146107fe575f80fd5b806392f37d7814610724578063ad12ad6014610737578063ada9652e1461074a578063b423086c1461075e578063bca99e3914610766578063bf7e214f14610779575f80fd5b80637cb73c681161011b5780637cb73c68146105af57806385ba8344146105e2578063893d20e8146106d35780638d9a753f146106db5780638fb36037146106ee57806390edbd351461070f575f80fd5b806368d2b320146105245780636bd1c0eb146105375780636c1e9dff146105675780636e8dba911461057a57806376b707b7146105825780637a9e5e4b1461059c575f80fd5b8063223668441161020357806343d752d3116101bd57806343d752d3146104b35780634deed579146104bb57806354e50779146104ce5780635ab1bd53146104e15780635e1767ea146104f4578063644c45e014610507575f80fd5b8063223668441461044357806322f3e2d41461044b57806326889b09146104535780632eb3e6f41461046657806337dd18a51461048d578063419197fe146104a0575f80fd5b8063138461e011610254578063138461e0146103b757806317d7de7c146103d75780631c6b2190146103ec5780631eff4b22146103ff578063211e28b61461042657806321df0da71461043b575f80fd5b806301ffc9a7146102905780630d8e6e2c146102d15780630fec111c146102ed5780630ffeecca146103625780631329960414610397575b5f80fd5b6102bc61029e366004612bc8565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102d9610827565b60405162ffffff90911681526020016102c8565b6102f5610931565b6040516102c891905f60c0820190506001600160601b0383511682526001600160601b03602084015116602083015260ff604084015116604083015260ff606084015116606083015260808301511515608083015260018060a01b0360a08401511660a083015292915050565b6103897f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830081565b6040519081526020016102c8565b61039f610a55565b6040516001600160a01b0390911681526020016102c8565b6103bf610abd565b6040516001600160601b0390911681526020016102c8565b6103df610ac7565b6040516102c89190612c24565b6103bf6103fa366004612c4a565b610ad7565b6103897f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b610439610434366004612c72565b610b35565b005b61039f610b7c565b6102bc610bc0565b6102bc610cb2565b610439610461366004612c8d565b610d29565b6103897fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0081565b61043961049b366004612dc9565b610e06565b6104396104ae366004612dfd565b610ee2565b61039f610f35565b6104396104c9366004612e19565b610f47565b6103bf6104dc366004612c8d565b6110db565b5f805160206138fb83398151915261039f565b610389610502366004612ed9565b6111bb565b5f8051602061387b833981519152546001600160601b03166103bf565b610439610532366004612f12565b611204565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b031661039f565b610439610575366004612c8d565b6112d9565b6103df6113ae565b61058a611460565b60405160ff90911681526020016102c8565b6104396105aa366004612f3e565b6114e1565b6105c26105bd366004612f6b565b611567565b604080516001600160601b039384168152929091166020830152016102c8565b6106c66040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091527f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006040805160e08101825282546001600160601b03811682526001600160a01b03600160601b909104811660208301526001909301549283169181019190915260ff600160a01b8304811615156060830152600160a81b8304811615156080830152600160b01b83048116151560a0830152600160b81b909204909116151560c0820152919050565b6040516102c89190612fa7565b61039f6115a7565b6104396106e936600461302d565b6116da565b6106f6611729565b6040516001600160e01b031990911681526020016102c8565b61071761175e565b6040516102c89190613070565b6102bc6107323660046130ac565b61178f565b610439610745366004613147565b6117ba565b6103895f8051602061387b83398151915281565b61071761185f565b610439610774366004612c4a565b61187b565b61039f6118c8565b61043961078f366004612c4a565b6118e3565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00546001600160a01b031661039f565b6104396107d2366004612f3e565b6119b7565b6103895f8051602061389b83398151915281565b6104396107f93660046131a6565b611a04565b61081161080c3660046131d3565b611a1a565b60405164ffffffffff90911681526020016102c8565b5f73__$8eede297b65ed5a56eb3f84d8232ae93f5$__6353a5455261084a611af0565b604051632b10f60d60e21b815260ff909116600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af415801561089b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bf919061320d565b6040516001600160e01b031960e084901b16815260ff90911660048201525f602482018190526044820152606401602060405180830381865af4158015610908573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c9190613228565b905090565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101829052907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060c0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156109d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109fb9190613255565b6001600160601b03908116825283549081166020830152600160601b900460ff166040820152606001610a2c611460565b60ff90811682529254600160681b90049092161515602083015230604090920191909152919050565b5f610a5e610f35565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a99573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c9190613270565b5f61092c30611b28565b6060610ad161175e565b51919050565b5f610ae4335b5f36611d68565b610aec6115a7565b6001600160a01b0316336001600160a01b031614610b245760405163086391f760e31b81523360048201526024015b60405180910390fd5b610b2d82611e5e565b90505b919050565b610b3d6115a7565b6001600160a01b0316336001600160a01b031614610b705760405163086391f760e31b8152336004820152602401610b1b565b610b7981611edf565b50565b5f610b85610f35565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a99573d5f803e3d5ffd5b5f5f805160206138fb833981519152604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610c13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c379190613255565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610c8e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c919061328b565b5f610cbb6118c8565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610cff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d23919061328b565b15905090565b610d3233610add565b815f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610d8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db29190613270565b6001600160a01b0316336001600160a01b031614610de7578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b826016610df48282611f42565b610dfe8585612094565b505050505050565b610e0f33610add565b815f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610e6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8f9190613270565b6001600160a01b0316336001600160a01b031614610ec4578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b826016610ed18282611f42565b610edb8585612126565b5050505050565b610eeb33610add565b610ef36115a7565b6001600160a01b0316336001600160a01b031614610f265760405163086391f760e31b8152336004820152602401610b1b565b610f3082826121a0565b505050565b5f610f3e61175e565b60200151905090565b610f5033610add565b826015610f5d8282611f42565b5f610f66612318565b60405163bd7d9d8560e01b81526001600160601b03881660048201529091506110629087906001600160a01b0384169063bd7d9d85906024015f60405180830381865afa158015610fb9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fe09190810190613349565b6101c00151604051634793b4ab60e01b81526001600160601b038916600482015288906001600160a01b03861690634793b4ab906024015f60405180830381865afa158015611031573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110589190810190613511565b60a001518861178f565b61108a57604051636b468c9b60e01b81526001600160601b0387166004820152602401610b1b565b604080513081526001600160601b03888116602083015286168183015290517fcca48a0200c526a7c48f1e770c739ef8e82d7b30e26825735858705fbcda4e079181900360600190a1505050505050565b5f6110e533610add565b825f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611141573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111659190613270565b6001600160a01b0316336001600160a01b03161461119a578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b8360166111a78282611f42565b6111b1868661237e565b9695505050505050565b805160208201205f9060ff19906111d4906001906135d5565b6040516020016111e691815260200190565b60405160208183030381529060405280519060200120169050919050565b61120d33610add565b815f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611269573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128d9190613270565b6001600160a01b0316336001600160a01b0316146112c2578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b8260166112cf8282611f42565b610edb85856123cb565b6112e233610add565b815f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561133e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113629190613270565b6001600160a01b0316336001600160a01b031614611397578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b8260166113a48282611f42565b610dfe858561242b565b60607f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30060010180546113df906135f4565b80601f016020809104026020016040519081016040528092919081815260200182805461140b906135f4565b80156114565780601f1061142d57610100808354040283529160200191611456565b820191905f5260205f20905b81548152906001019060200180831161143957829003601f168201915b5050505050905090565b5f611469610827565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e29906024015b602060405180830381865af41580156114bd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c919061320d565b336114ea6118c8565b6001600160a01b0316816001600160a01b0316146115255760405162d1953b60e31b81526001600160a01b0382166004820152602401610b1b565b816001600160a01b03163b5f0361155a576040516361798f2f60e11b81526001600160a01b0383166004820152602401610b1b565b61156382612478565b5050565b5f8061157233610add565b5f33905061159081878660405180602001604052805f8152506124d8565b925061159c838661242b565b915050935093915050565b5f805f8051602061387b83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611613573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611637919061328b565b156116c4575f805160206138fb8339815191528154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561169a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116be9190613270565b91505090565b54600160601b90046001600160a01b0316919050565b6116e333610add565b6116eb6115a7565b6001600160a01b0316336001600160a01b03161461171e5760405163086391f760e31b8152336004820152602401610b1b565b610f30838383612576565b5f805160206138bb83398151915280545f9190600160a01b900460ff16611750575f6116be565b638fb3603760e01b91505090565b60408051808201909152606081525f602082015261177a610bc0565b156117875761092c6125fb565b61092c61185f565b5f85601561179d8282611f42565b8560166117aa8282611f42565b5060019998505050505050505050565b5f805160206138fb8339815191526001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611803573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118279190613270565b6001600160a01b0316336001600160a01b0316146118595760405162f0630960e01b8152336004820152602401610b1b565b50505050565b60408051808201909152606081525f602082015261092c6125fb565b61188433610add565b61188c6115a7565b6001600160a01b0316336001600160a01b0316146118bf5760405163086391f760e31b8152336004820152602401610b1b565b610b79816127cc565b5f805160206138bb833981519152546001600160a01b031690565b6118ec33610add565b805f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613270565b6001600160a01b0316336001600160a01b0316146119a1578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b8160166119ae8282611f42565b61185984612811565b6119c033610add565b6119c86115a7565b6001600160a01b0316336001600160a01b0316146119fb5760405163086391f760e31b8152336004820152602401610b1b565b610b7981612856565b611a0d33610add565b826015610edb8282611f42565b5f611a2433610add565b825f805160206138fb833981519152604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611a80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aa49190613270565b6001600160a01b0316336001600160a01b031614611ad9578033604051636efdd32b60e11b8152600401610b1b9291906132a6565b836016611ae68282611f42565b6111b186866128cb565b604051627d985f60e11b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9062fb30be906024016114a2565b5f805f8051602061387b83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb8919061328b565b15611be45780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610b1b565b5f5f805160206138fb833981519152604051632f2a35f760e11b81526001600160a01b0386811660048301529190911690635e546bee90602401602060405180830381865afa158015611c39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5d9190613255565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015611cb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cda919061328b565b15611d035760405163b9304b0d60e01b81526001600160a01b0385166004820152602401610b1b565b81546bffffffffffffffffffffffff19166001600160601b0382161782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5481611d4b6115a7565b604051611d599291906132a6565b60405180910390a19392505050565b5f805160206138bb8339815191525f80611da0611d836118c8565b8730611d9260045f8a8c61362c565b611d9b91613653565b612971565b9150915081610dfe5763ffffffff811615611e3b57825460ff60a01b1916600160a01b178355611dce6118c8565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611dfd93929190613689565b5f604051808303815f87803b158015611e14575f80fd5b505af1158015611e26573d5f803e3d5ffd5b5050845460ff60a01b1916855550610dfe9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610b1b565b5f5f8051602061389b833981519152546040516301c6b21960e41b81526001600160601b03841660048201526001600160a01b0390911690631c6b2190906024016020604051808303815f875af1158015611ebb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2d9190613255565b5f8051602061389b8339815191525460405163108f145b60e11b815282151560048201526001600160a01b039091169063211e28b6906024015b5f604051808303815f87803b158015611f30575f80fd5b505af1158015610edb573d5f803e3d5ffd5b5f611f4b611460565b60405163037c8cb160e51b815260ff8416600482015290915073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636f91962090602401602060405180830381865af4158015611f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc2919061328b565b8061205a57505f805160206138fb8339815191526040516334a67fa960e21b81526001600160601b038516600482015260ff8085166024830152831660448201526001600160a01b03919091169063d299fea490606401602060405180830381865afa158015612034573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612058919061328b565b155b15610f3057604051636289956160e11b81526001600160601b038416600482015260ff808416602483015282166044820152606401610b1b565b5f805160206138db833981519152546040516326889b0960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906326889b09906044015b6020604051808303815f875af11580156120f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211d9190613255565b90505b92915050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163a5fbe47960e01b81526001600160a01b039091169063a5fbe4799061217790859085906004016136e9565b5f604051808303815f87803b15801561218e575f80fd5b505af1158015610dfe573d5f803e3d5ffd5b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e6121d2610f35565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa15801561221a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061223e9190613706565b6040518263ffffffff1660e01b815260040161225c91815260200190565b602060405180830381865af4158015612277573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229b9190613255565b90505f8051602061389b833981519152546040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b03851660248301529091169063419197fe906044015f604051808303815f87803b1580156122fc575f80fd5b505af115801561230e573d5f803e3d5ffd5b5050505092915050565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0054604080516302cd307160e01b815290515f926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610a99573d5f803e3d5ffd5b5f805160206138db833981519152546040516354e5077960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906354e50779906044016120dd565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163d42a24b160e01b81526001600160601b038416600482015282151560248201526001600160a01b039091169063d42a24b190604401612177565b5f805160206138db83398151915254604051636c1e9dff60e01b81526001600160601b038481166004830152831660248201525f916001600160a01b031690636c1e9dff906044016120dd565b5f805160206138bb83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830454604051637eddc94b60e11b81525f916001600160a01b03169063fdbb92969061252d90889088908890889060040161371d565b6020604051808303815f875af1158015612549573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061256d9190613255565b95945050505050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583025460405163cf2f336560e01b81526001600160a01b039091169063cf2f3365906125c990869086908690600401613758565b5f604051808303815f87803b1580156125e0575f80fd5b505af11580156125f2573d5f803e3d5ffd5b50505050505050565b60408051808201909152606081525f60208201525f6126245f805160206138fb83398151915290565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015612668573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061268c9190613255565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156126e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612709919061328b565b156127c457612716612318565b6001600160a01b031663f0ea17c36127425f8051602061387b833981519152546001600160601b031690565b6040516001600160e01b031960e084901b1681526001600160601b0390911660048201526024015f60405180830381865afa158015612783573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526127aa9190810190613780565b60208101519092506001600160a01b0316156127c4575090565b6116be612a79565b5f805160206138db8339815191525460405163bca99e3960e01b81526001600160601b03831660048201526001600160a01b039091169063bca99e3990602401611f19565b5f805160206138db8339815191525460405163d0d63b0960e01b81526001600160601b03831660048201526001600160a01b039091169063d0d63b0990602401611f19565b61285e6115a7565b6001600160a01b0316336001600160a01b0316146128915760405163086391f760e31b8152336004820152602401610b1b565b61289b600b612b44565b60405163deaa59df60e01b81526001600160a01b038381166004830152919091169063deaa59df90602401611f19565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006004908101546040516379e872e960e11b81526001600160601b0386169281019290925264ffffffffff841660248301526001600160a01b03169063f3d0e5d2906044016020604051808303815f875af115801561294d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211d9190613814565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516129df919061382f565b5f60405180830381855afa9150503d805f8114612a17576040519150601f19603f3d011682016040523d82523d5f602084013e612a1c565b606091505b50915091508115612a6e576040815110612a4e5780806020019051810190612a449190613845565b9094509250612a6e565b6020815110612a6e5780806020019051810190612a6b919061328b565b93505b505094509492505050565b60408051808201909152606081525f60208201525f5f8051602061389b83398151915290506040518060400160405280826001018054612ab8906135f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612ae4906135f4565b8015612b2f5780601f10612b0657610100808354040283529160200191612b2f565b820191905f5260205f20905b815481529060010190602001808311612b1257829003601f168201915b50505091835250505f60209091015292915050565b5f5f805160206138fb83398151915263d39e604383612b61611460565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612ba4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2d9190613270565b5f60208284031215612bd8575f80fd5b81356001600160e01b031981168114612bef575f80fd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61211d6020830184612bf6565b6001600160601b0381168114610b79575f80fd5b5f60208284031215612c5a575f80fd5b8135612bef81612c36565b8015158114610b79575f80fd5b5f60208284031215612c82575f80fd5b8135612bef81612c65565b5f8060408385031215612c9e575f80fd5b8235612ca981612c36565b91506020830135612cb981612c36565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612cfa57612cfa612cc4565b60405290565b60405161020081016001600160401b0381118282101715612cfa57612cfa612cc4565b60405160c081016001600160401b0381118282101715612cfa57612cfa612cc4565b604051601f8201601f191681016001600160401b0381118282101715612d6d57612d6d612cc4565b604052919050565b6001600160a01b0381168114610b79575f80fd5b5f60408284031215612d99575f80fd5b612da1612cd8565b90508135612dae81612d75565b81526020820135612dbe81612c36565b602082015292915050565b5f8060608385031215612dda575f80fd5b8235612de581612c36565b9150612df48460208501612d89565b90509250929050565b5f8060408385031215612e0e575f80fd5b8235612ca981612d75565b5f805f60608486031215612e2b575f80fd5b8335612e3681612c36565b92506020840135612e4681612c36565b91506040840135612e5681612c36565b809150509250925092565b5f6001600160401b03821115612e7957612e79612cc4565b50601f01601f191660200190565b5f82601f830112612e96575f80fd5b8135612ea9612ea482612e61565b612d45565b818152846020838601011115612ebd575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215612ee9575f80fd5b81356001600160401b03811115612efe575f80fd5b612f0a84828501612e87565b949350505050565b5f8060408385031215612f23575f80fd5b8235612f2e81612c36565b91506020830135612cb981612c65565b5f60208284031215612f4e575f80fd5b8135612bef81612d75565b64ffffffffff81168114610b79575f80fd5b5f805f60808486031215612f7d575f80fd5b612f878585612d89565b92506040840135612f9781612c36565b91506060840135612e5681612f59565b5f60e0820190506001600160601b03835116825260018060a01b03602084015116602083015260018060a01b0360408401511660408301526060830151151560608301526080830151612ffe608084018215159052565b5060a083015161301260a084018215159052565b5060c083015161302660c084018215159052565b5092915050565b5f805f60c0848603121561303f575f80fd5b6130498585612d89565b92506130588560408601612d89565b91506130678560808601612d89565b90509250925092565b602081525f82516040602084015261308b6060840182612bf6565b602094909401516001600160a01b0316604093909301929092525090919050565b5f805f805f60a086880312156130c0575f80fd5b85356130cb81612c36565b945060208601356001600160401b038111156130e5575f80fd5b6130f188828901612e87565b945050604086013561310281612c36565b925060608601356001600160401b0381111561311c575f80fd5b61312888828901612e87565b925050608086013561313981612c36565b809150509295509295909350565b5f805f806080858703121561315a575f80fd5b843561316581612d75565b9350602085013561317581612d75565b925060408501359150606085013561318c81612d75565b939692955090935050565b61ffff81168114610b79575f80fd5b5f805f606084860312156131b8575f80fd5b83356131c381612c36565b92506020840135612e4681613197565b5f80604083850312156131e4575f80fd5b82356131ef81612c36565b91506020830135612cb981612f59565b60ff81168114610b79575f80fd5b5f6020828403121561321d575f80fd5b8151612bef816131ff565b5f60208284031215613238575f80fd5b815162ffffff81168114612bef575f80fd5b8051610b3081612c36565b5f60208284031215613265575f80fd5b8151612bef81612c36565b5f60208284031215613280575f80fd5b8151612bef81612d75565b5f6020828403121561329b575f80fd5b8151612bef81612c65565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516001600160c01b031981168114610b30575f80fd5b8051610b3081613197565b8051610b3081612f59565b5f613302612ea484612e61565b9050828152838383011115613315575f80fd5b8282602083015e5f602084830101529392505050565b5f82601f83011261333a575f80fd5b61211d838351602085016132f5565b5f60208284031215613359575f80fd5b81516001600160401b0381111561336e575f80fd5b82016102008185031215613380575f80fd5b613388612d00565b6133918261324a565b815261339f6020830161324a565b60208201526133b0604083016132c8565b60408201526133c16060830161324a565b60608201526133d26080830161324a565b60808201526133e360a083016132c8565b60a08201526133f460c083016132df565b60c082015261340560e083016132df565b60e0820152613417610100830161324a565b61010082015261342a610120830161324a565b61012082015261343d61014083016132ea565b61014082015261345061016083016132ea565b61016082015261346361018083016132ea565b6101808201526134766101a083016132ea565b6101a08201526101c08201516001600160401b03811115613495575f80fd5b6134a18682850161332b565b6101c0830152506101e08201516001600160401b038111156134c1575f80fd5b6134cd8682850161332b565b6101e083015250949350505050565b5f604082840312156134ec575f80fd5b6134f4612cd8565b9050815161350181612d75565b81526020820151612dbe81612c36565b5f60208284031215613521575f80fd5b81516001600160401b03811115613536575f80fd5b820160e08185031215613547575f80fd5b61354f612d23565b815161355a81612f59565b8152602082015161356a81612f59565b602082015261357b604083016132ea565b604082015261358c6060830161324a565b606082015261359e85608084016134dc565b608082015260c08201516001600160401b038111156135bb575f80fd5b6135c78682850161332b565b60a083015250949350505050565b8181038181111561212057634e487b7160e01b5f52601160045260245ffd5b600181811c9082168061360857607f821691505b60208210810361362657634e487b7160e01b5f52602260045260245ffd5b50919050565b5f808585111561363a575f80fd5b83861115613646575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015613026576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b80516001600160a01b031682526020908101516001600160601b0316910152565b6001600160601b038316815260608101612bef60208301846136c8565b5f60208284031215613716575f80fd5b5051919050565b6001600160a01b038516815261373660208201856136c8565b64ffffffffff8316606082015260a060808201525f6111b160a0830184612bf6565b60c0810161376682866136c8565b61377360408301856136c8565b612f0a60808301846136c8565b5f60208284031215613790575f80fd5b81516001600160401b038111156137a5575f80fd5b8201604081850312156137b6575f80fd5b6137be612cd8565b81516001600160401b038111156137d3575f80fd5b8201601f810186136137e3575f80fd5b6137f2868251602084016132f5565b8252506020820151915061380582612d75565b60208101919091529392505050565b5f60208284031215613824575f80fd5b8151612bef81612f59565b5f82518060208501845e5f920191825250919050565b5f8060408385031215613856575f80fd5b825161386181612c65565b602084015190925063ffffffff81168114612cb9575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00ffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0025e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58303000000000000000000000000345ca3e014aaf5dca488057592ee47305d9b3e10a26469706673582212203ab748c907e49da31e63db8adb8146c35d915c295c274a14bb89de22afbda40864736f6c634300081a0033",
|
1344
|
+
"bytecode": "0x608060405234801561000f575f80fd5b50604051614d11380380614d1183398101604081905261002e91610f78565b5f3390506101ce8585856040518060e0016040528073__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af415801561008a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ae9190610ffd565b6001600160601b0316815260200173__$bf7bc340cbb9229ef1de2c568356e67902$__63901717d16040518163ffffffff1660e01b8152600401602060405180830381865af4158015610103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101279190611018565b6001600160a01b0316815260200173__$bf7bc340cbb9229ef1de2c568356e67902$__63901717d16040518163ffffffff1660e01b8152600401602060405180830381865af415801561017c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a09190611018565b6001600160a01b031681525f60208201819052604082018190526060820181905260809091015286866101d8565b50505050506112bb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f811580156102215750825b90505f826001600160401b0316600114801561023c5750303b155b90508115801561024a575080155b156102685760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561029657845460ff60401b1916680100000000000000001785555b6102a48b8b8b8b8b8b6102f7565b83156102ea57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b6102ff610315565b61030d868686868686610365565b505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661036357604051631afcd79f60e31b815260040160405180910390fd5b565b61036d610315565b610382868686600f60608801518790876104fc565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58300845160208601516001600160601b039091166c010000000000000000000000006001600160a01b03928316021782556040860151600183018054606089015160808a015160a08b015160c08c0151959096166001600160a81b031990931692909217600160a01b911515919091021761ffff60a81b1916600160a81b9115159190910260ff60b01b191617600160b01b931515939093029290921760ff60b81b1916600160b81b911515919091021790559050610467610462600f90565b610757565b6003820180546001600160a01b0319166001600160a01b0392909216919091179055610494610462601690565b6004820180546001600160a01b0319166001600160a01b03929092169190911790556104c1610462600b90565b6002820180546001600160a01b0319166001600160a01b03929092169190911790556104f3635a48579360e11b6107ee565b50505050505050565b610504610315565b5f610510888887610821565b90505f7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0060405163bf8e179760e01b81526001600160601b03841660048201529091506001600160a01b038a169063bf8e179790602401602060405180830381865afa158015610582573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a69190611018565b81546001600160a01b0319166001600160a01b039190911690811782556040805163bf7e214f60e01b81529051610644929163bf7e214f9160048083019260209291908290030181865afa158015610600573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106249190611018565b8a8a8a8a898960405180602001604052805f8152506108cc60201b60201c565b8054604080516302cd307160e01b815290516001600160a01b03909216916302cd3071916004808201926020929091908290030181865afa15801561068b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106af9190611018565b6001820180546001600160a01b03199081166001600160a01b03938416179091556002830180549091169187169190911790556106ed610462600b90565b6003820180546001600160a01b0319166001600160a01b039290921691909117905561071a610462600d90565b6004820180546001600160a01b0319166001600160a01b039290921691909117905561074c6330841f2160e21b6107ee565b505050505050505050565b5f61076a6001546001600160a01b031690565b6001600160a01b031663d39e604383610781610995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156107c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e89190611018565b92915050565b6107f6610315565b61081e816001600160e01b0319165f908152602081905260409020805460ff19166001179055565b50565b5f60ff8216600c03610842576108398484600a610a2b565b508290506108c5565b5f61084f8585600c610a2b565b60405163677d3feb60e11b81526001600160601b03861660048201529091506001600160a01b0382169063cefa7fd690602401602060405180830381865afa15801561089d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c19190610ffd565b9150505b9392505050565b6108d4610315565b84515f036108f55760405163591eebf360e11b815260040160405180910390fd5b61090488888887878787610af5565b7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f008061093087826110b7565b5060018101805460ff191685151517905561094c610462600b90565b6001820180546001600160a01b039290921661010002610100600160a81b0319909216919091179055610985634a531f3360e01b6107ee565b61074c6306e9e5ff60e31b6107ee565b5f6109c77ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a26919061118a565b905090565b6040516305247a1760e51b81526001600160601b038316600482015283905f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa158015610a79573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610aa091908101906111d2565b9050610ab781604001518460ff9081169116141590565b15610aed57604080820151905163b0c1f6eb60e01b815260ff808616600483015290911660248201526044015b60405180910390fd5b509392505050565b610afd610315565b604051632330f24760e01b81526001600160a01b038816600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90632330f24790602401602060405180830381865af4158015610b53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7791906112a2565b610b9f5760405163cf6935e560e01b81526001600160a01b0388166004820152602401610ae4565b610ba887610c49565b610bb28683610c5a565b5f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101610c2e83826110b7565b50610c3f634a531f3360e01b6107ee565b5050505050505050565b610c51610315565b61081e81610cec565b610c62610315565b610c6a610cfd565b610c7382610d45565b6001600160a01b038116610c9a5760405163f17ef42d60e01b815260040160405180910390fd5b7f07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f0080546001600160601b03166c010000000000000000000000006001600160a01b039093169290920291909117905550565b610cf4610315565b61081e81610e11565b610d05610315565b6103636301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b610d4d610315565b604051633334d16b60e01b81526001600160a01b038216600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90633334d16b90602401602060405180830381865af4158015610da3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc791906112a2565b610def5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610ae4565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6001600160a01b038116811461081e575f80fd5b8051610ea381610e84565b919050565b6001600160601b038116811461081e575f80fd5b8051610ea381610ea8565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715610efd57610efd610ec7565b60405290565b5f806001600160401b03841115610f1c57610f1c610ec7565b50604051601f19601f85018116603f011681018181106001600160401b0382111715610f4a57610f4a610ec7565b604052838152905080828401851015610f61575f80fd5b8383602083015e5f60208583010152509392505050565b5f805f8060808587031215610f8b575f80fd5b8451610f9681610e84565b6020860151909450610fa781610ea8565b60408601519093506001600160401b03811115610fc2575f80fd5b8501601f81018713610fd2575f80fd5b610fe187825160208401610f03565b9250506060850151610ff281610e84565b939692955090935050565b5f6020828403121561100d575f80fd5b81516108c581610ea8565b5f60208284031215611028575f80fd5b81516108c581610e84565b600181811c9082168061104757607f821691505b60208210810361106557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156110b257805f5260205f20601f840160051c810160208510156110905750805b601f840160051c820191505b818110156110af575f815560010161109c565b50505b505050565b81516001600160401b038111156110d0576110d0610ec7565b6110e4816110de8454611033565b8461106b565b6020601f821160018114611116575f83156110ff5750848201515b5f19600385901b1c1916600184901b1784556110af565b5f84815260208120601f198516915b828110156111455787850151825560209485019460019092019101611125565b508482101561116257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60ff8116811461081e575f80fd5b8051610ea381611171565b5f6020828403121561119a575f80fd5b81516108c581611171565b80518015158114610ea3575f80fd5b5f82601f8301126111c3575f80fd5b6108c583835160208501610f03565b5f602082840312156111e2575f80fd5b81516001600160401b038111156111f7575f80fd5b820160e08185031215611208575f80fd5b611210610edb565b61121982610ebc565b815261122760208301610ebc565b60208201526112386040830161117f565b6040820152611249606083016111a5565b606082015261125a60808301610e98565b608082015261126b60a08301610e98565b60a082015260c08201516001600160401b03811115611288575f80fd5b611294868285016111b4565b60c083015250949350505050565b5f602082840312156112b2575f80fd5b6108c5826111a5565b613a49806112c85f395ff3fe608060405234801561000f575f80fd5b506004361061028c575f3560e01c8063644c45e01161016157806392f37d78116100ca578063d0d63b0911610084578063d0d63b091461071f578063de7b5d1414610732578063deaa59df14610762578063ea15869f14610775578063ee37846314610789578063f3d0e5d21461079c575f80fd5b806392f37d78146106c2578063ad12ad60146106d5578063ada9652e146106e8578063b423086c146106fc578063bca99e3914610704578063bf7e214f14610717575f80fd5b80637cb73c681161011b5780637cb73c681461054d57806385ba834414610580578063893d20e8146106715780638d9a753f146106795780638fb360371461068c57806390edbd35146106ad575f80fd5b8063644c45e0146104ad57806368d2b320146104ca5780636bd1c0eb146104dd5780636c1e9dff1461050d57806376b707b7146105205780637a9e5e4b1461053a575f80fd5b8063223668441161020357806343d752d3116101bd57806343d752d3146104535780634deed5791461045b57806354e507791461046e5780635741e5e9146104815780635ab1bd53146104895780635e1767ea1461049a575f80fd5b806322366844146103e357806322f3e2d4146103eb57806326889b09146103f35780632eb3e6f41461040657806337dd18a51461042d578063419197fe14610440575f80fd5b8063138461e011610254578063138461e01461035757806317d7de7c146103775780631c6b21901461038c5780631eff4b221461039f578063211e28b6146103c657806321df0da7146103db575f80fd5b806301ffc9a7146102905780630d8e6e2c146102d15780630fec111c146102ed5780630ffeecca146103025780631329960414610337575b5f80fd5b6102bc61029e366004612b42565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102d96107c5565b60405162ffffff90911681526020016102c8565b6102f561084c565b6040516102c89190612b9e565b6103297f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830081565b6040519081526020016102c8565b61033f610a06565b6040516001600160a01b0390911681526020016102c8565b61035f610a6e565b6040516001600160601b0390911681526020016102c8565b61037f610a78565b6040516102c89190612c32565b61035f61039a366004612c58565b610a88565b6103297f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6103d96103d4366004612c80565b610ae6565b005b61033f610b2d565b6102bc610b71565b6102bc610c67565b6103d9610401366004612c9b565b610cde565b6103297fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0081565b6103d961043b366004612df9565b610dbf565b6103d961044e366004612e2d565b610e9f565b61033f610ef2565b6103d9610469366004612e49565b610f04565b61035f61047c366004612c9b565b6110c1565b6102bc6111a5565b6001546001600160a01b031661033f565b6103296104a8366004612f09565b61125b565b5f80516020613994833981519152546001600160601b031661035f565b6103d96104d8366004612f3a565b6112a4565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f02546001600160a01b031661033f565b6103d961051b366004612c9b565b61137d565b610528611456565b60405160ff90911681526020016102c8565b6103d9610548366004612f66565b6114be565b61056061055b366004612f93565b611544565b604080516001600160601b039384168152929091166020830152016102c8565b6106646040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091527f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006040805160e08101825282546001600160601b03811682526001600160a01b03600160601b909104811660208301526001909301549283169181019190915260ff600160a01b8304811615156060830152600160a81b8304811615156080830152600160b01b83048116151560a0830152600160b81b909204909116151560c0820152919050565b6040516102c89190612fcf565b61033f611584565b6103d9610687366004613055565b6116b5565b610694611704565b6040516001600160e01b031990911681526020016102c8565b6106b5611739565b6040516102c89190613098565b6102bc6106d03660046130d4565b61176a565b6103d96106e336600461316f565b611795565b6103295f8051602061399483398151915281565b6106b5611838565b6103d9610712366004612c58565b611854565b61033f6118a1565b6103d961072d366004612c58565b6118bc565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00546001600160a01b031661033f565b6103d9610770366004612f66565b611994565b6103295f805160206139b483398151915281565b6103d96107973660046131ce565b6119e1565b6107af6107aa3660046131fb565b6119f7565b60405164ffffffffff90911681526020016102c8565b604051632efe011360e01b8152600160048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610823573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108479190613227565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156108f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091c9190613254565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610964611584565b6001600160a01b031681526020018260010180546109819061326f565b80601f01602080910402602001604051908101604052809291908181526020018280546109ad9061326f565b80156109f85780601f106109cf576101008083540402835291602001916109f8565b820191905f5260205f20905b8154815290600101906020018083116109db57829003601f168201915b505050505081525091505090565b5f610a0f610ef2565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084791906132b2565b5f61084730611ad1565b6060610a82611739565b51919050565b5f610a95335b5f36611d13565b610a9d611584565b6001600160a01b0316336001600160a01b031614610ad55760405163086391f760e31b81523360048201526024015b60405180910390fd5b610ade82611e09565b90505b919050565b610aee611584565b6001600160a01b0316336001600160a01b031614610b215760405163086391f760e31b8152336004820152602401610acc565b610b2a81611ea0565b50565b5f610b36610ef2565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4a573d5f803e3d5ffd5b5f610b846001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610bc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bec9190613254565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610c43573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084791906132d8565b5f610c706118a1565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610cb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd891906132d8565b15905090565b610ce733610a8e565b81610cfa6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610d47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6b91906132b2565b6001600160a01b0316336001600160a01b031614610da0578033604051636efdd32b60e11b8152600401610acc9291906132f3565b826016610dad8282611f0a565b610db7858561203e565b505050505050565b610dc833610a8e565b81610ddb6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4c91906132b2565b6001600160a01b0316336001600160a01b031614610e81578033604051636efdd32b60e11b8152600401610acc9291906132f3565b826016610e8e8282611f0a565b610e9885856120d0565b5050505050565b610ea833610a8e565b610eb0611584565b6001600160a01b0316336001600160a01b031614610ee35760405163086391f760e31b8152336004820152602401610acc565b610eed828261214a565b505050565b5f610efb611739565b60200151905090565b610f0d33610a8e565b826015610f1a8282611f0a565b5f610f4c7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b031690565b60405163bd7d9d8560e01b81526001600160601b03881660048201529091506110489087906001600160a01b0384169063bd7d9d85906024015f60405180830381865afa158015610f9f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fc69190810190613396565b6101c00151604051634793b4ab60e01b81526001600160601b038916600482015288906001600160a01b03861690634793b4ab906024015f60405180830381865afa158015611017573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261103e919081019061355e565b60a001518861176a565b61107057604051636b468c9b60e01b81526001600160601b0387166004820152602401610acc565b604080513081526001600160601b03888116602083015286168183015290517fcca48a0200c526a7c48f1e770c739ef8e82d7b30e26825735858705fbcda4e079181900360600190a1505050505050565b5f6110cb33610a8e565b826110de6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561112b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061114f91906132b2565b6001600160a01b0316336001600160a01b031614611184578033604051636efdd32b60e11b8152600401610acc9291906132f3565b8360166111918282611f0a565b61119b86866122cb565b9695505050505050565b5f6111ae610b71565b15611232576001546001600160a01b03166040516308b09a5f60e41b81523060048201526001600160a01b039190911690638b09a5f0906024015f60405180830381865afa158015611202573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611229919081019061363b565b60600151905090565b507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f015460ff1690565b805160208201205f9060ff19906112749060019061370b565b60405160200161128691815260200190565b60405160208183030381529060405280519060200120169050919050565b6112ad33610a8e565b816112c06001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561130d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133191906132b2565b6001600160a01b0316336001600160a01b031614611366578033604051636efdd32b60e11b8152600401610acc9291906132f3565b8260166113738282611f0a565b610e988585612318565b61138633610a8e565b816113996001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156113e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140a91906132b2565b6001600160a01b0316336001600160a01b03161461143f578033604051636efdd32b60e11b8152600401610acc9291906132f3565b82601661144c8282611f0a565b610db78585612378565b5f61145f6118a1565b6001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610847919061372a565b336114c76118a1565b6001600160a01b0316816001600160a01b0316146115025760405162d1953b60e31b81526001600160a01b0382166004820152602401610acc565b816001600160a01b03163b5f03611537576040516361798f2f60e11b81526001600160a01b0383166004820152602401610acc565b611540826123c5565b5050565b5f8061154f33610a8e565b5f33905061156d81878660405180602001604052805f815250612425565b92506115798386612378565b915050935093915050565b5f805f8051602061399483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156115f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061161491906132d8565b1561169f576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611675573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169991906132b2565b91505090565b54600160601b90046001600160a01b0316919050565b6116be33610a8e565b6116c6611584565b6001600160a01b0316336001600160a01b0316146116f95760405163086391f760e31b8152336004820152602401610acc565b610eed8383836124c3565b5f805160206139d483398151915280545f9190600160a01b900460ff1661172b575f611699565b638fb3603760e01b91505090565b60408051808201909152606081525f6020820152611755610b71565b1561176257610847612548565b610847611838565b5f8560156117788282611f0a565b8560166117858282611f0a565b5060019998505050505050505050565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117dc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180091906132b2565b6001600160a01b0316336001600160a01b0316146118325760405162f0630960e01b8152336004820152602401610acc565b50505050565b60408051808201909152606081525f6020820152610847612548565b61185d33610a8e565b611865611584565b6001600160a01b0316336001600160a01b0316146118985760405163086391f760e31b8152336004820152602401610acc565b610b2a8161273a565b5f805160206139d4833981519152546001600160a01b031690565b6118c533610a8e565b806118d86001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611925573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061194991906132b2565b6001600160a01b0316336001600160a01b03161461197e578033604051636efdd32b60e11b8152600401610acc9291906132f3565b81601661198b8282611f0a565b6118328461277f565b61199d33610a8e565b6119a5611584565b6001600160a01b0316336001600160a01b0316146119d85760405163086391f760e31b8152336004820152602401610acc565b610b2a816127c4565b6119ea33610a8e565b826015610e988282611f0a565b5f611a0133610a8e565b82611a146001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611a61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8591906132b2565b6001600160a01b0316336001600160a01b031614611aba578033604051636efdd32b60e11b8152600401610acc9291906132f3565b836016611ac78282611f0a565b61119b8686612839565b5f805f8051602061399483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611b3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6191906132d8565b15611b8d5780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610acc565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015611bdf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c0391906132d8565b611c2b5760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610acc565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015611c7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca19190613254565b81546bffffffffffffffffffffffff19166001600160601b039190911690811782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5490611ced611584565b604051611cfb9291906132f3565b60405180910390a1546001600160601b031692915050565b5f805160206139d48339815191525f80611d4b611d2e6118a1565b8730611d3d60045f8a8c613745565b611d469161376c565b6128df565b9150915081610db75763ffffffff811615611de657825460ff60a01b1916600160a01b178355611d796118a1565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611da8939291906137a2565b5f604051808303815f87803b158015611dbf575f80fd5b505af1158015611dd1573d5f803e3d5ffd5b5050845460ff60a01b1916855550610db79050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610acc565b5f7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00600301546040516301c6b21960e41b81526001600160601b03841660048201526001600160a01b0390911690631c6b2190906024016020604051808303815f875af1158015611e7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ade9190613254565b5f805160206139b48339815191526001015460405163108f145b60e11b815282151560048201526101009091046001600160a01b03169063211e28b6906024015b5f604051808303815f87803b158015611ef8575f80fd5b505af1158015610e98573d5f803e3d5ffd5b60405163037c8cb160e51b815260ff8216600482015273__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636f91962090602401602060405180830381865af4158015611f5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7e91906132d8565b8061200c57506001546001600160a01b0316604051635b12715d60e11b81526001600160601b038416600482015260ff831660248201526001600160a01b03919091169063b624e2ba90604401602060405180830381865afa158015611fe6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061200a91906132d8565b155b156115405760405163d711af7560e01b81526001600160601b038316600482015260ff82166024820152604401610acc565b5f805160206139f4833981519152546040516326889b0960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906326889b09906044015b6020604051808303815f875af11580156120a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120c79190613254565b90505b92915050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163a5fbe47960e01b81526001600160a01b039091169063a5fbe479906121219085908590600401613802565b5f604051808303815f87803b158015612138575f80fd5b505af1158015610db7573d5f803e3d5ffd5b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e61217c610ef2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa1580156121c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121e8919061381f565b6040518263ffffffff1660e01b815260040161220691815260200190565b602060405180830381865af4158015612221573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122459190613254565b90505f805160206139b4833981519152600101546040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b03851660248301526101009092049091169063419197fe906044015f604051808303815f87803b1580156122af575f80fd5b505af11580156122c1573d5f803e3d5ffd5b5050505092915050565b5f805160206139f4833981519152546040516354e5077960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906354e5077990604401612087565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163d42a24b160e01b81526001600160601b038416600482015282151560248201526001600160a01b039091169063d42a24b190604401612121565b5f805160206139f483398151915254604051636c1e9dff60e01b81526001600160601b038481166004830152831660248201525f916001600160a01b031690636c1e9dff90604401612087565b5f805160206139d483398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830454604051637eddc94b60e11b81525f916001600160a01b03169063fdbb92969061247a908890889088908890600401613836565b6020604051808303815f875af1158015612496573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ba9190613254565b95945050505050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583025460405163cf2f336560e01b81526001600160a01b039091169063cf2f33659061251690869086908690600401613871565b5f604051808303815f87803b15801561252d575f80fd5b505af115801561253f573d5f803e3d5ffd5b50505050505050565b60408051808201909152606081525f60208201525f61256f6001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa1580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613254565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015612630573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061265491906132d8565b15612732577fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b03166001600160a01b031663f0ea17c36126b05f80516020613994833981519152546001600160601b031690565b6040516001600160e01b031960e084901b1681526001600160601b0390911660048201526024015f60405180830381865afa1580156126f1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526127189190810190613899565b60208101519092506001600160a01b031615612732575090565b6116996129e7565b5f805160206139f48339815191525460405163bca99e3960e01b81526001600160601b03831660048201526001600160a01b039091169063bca99e3990602401611ee1565b5f805160206139f48339815191525460405163d0d63b0960e01b81526001600160601b03831660048201526001600160a01b039091169063d0d63b0990602401611ee1565b6127cc611584565b6001600160a01b0316336001600160a01b0316146127ff5760405163086391f760e31b8152336004820152602401610acc565b612809600b612ab1565b60405163deaa59df60e01b81526001600160a01b038381166004830152919091169063deaa59df90602401611ee1565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006004908101546040516379e872e960e11b81526001600160601b0386169281019290925264ffffffffff841660248301526001600160a01b03169063f3d0e5d2906044016020604051808303815f875af11580156128bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120c7919061392d565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161294d9190613948565b5f60405180830381855afa9150503d805f8114612985576040519150601f19603f3d011682016040523d82523d5f602084013e61298a565b606091505b509150915081156129dc5760408151106129bc57808060200190518101906129b2919061395e565b90945092506129dc565b60208151106129dc57808060200190518101906129d991906132d8565b93505b505094509492505050565b60408051808201909152606081525f60208201525f5f805160206139b483398151915290506040518060400160405280825f018054612a259061326f565b80601f0160208091040260200160405190810160405280929190818152602001828054612a519061326f565b8015612a9c5780601f10612a7357610100808354040283529160200191612a9c565b820191905f5260205f20905b815481529060010190602001808311612a7f57829003601f168201915b50505091835250505f60209091015292915050565b5f612ac46001546001600160a01b031690565b6001600160a01b031663d39e604383612adb611456565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612b1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ade91906132b2565b5f60208284031215612b52575f80fd5b81356001600160e01b031981168114612b69575f80fd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151612be6608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152612c2a610100840182612b70565b949350505050565b602081525f6120c76020830184612b70565b6001600160601b0381168114610b2a575f80fd5b5f60208284031215612c68575f80fd5b8135612b6981612c44565b8015158114610b2a575f80fd5b5f60208284031215612c90575f80fd5b8135612b6981612c73565b5f8060408385031215612cac575f80fd5b8235612cb781612c44565b91506020830135612cc781612c44565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612d0857612d08612cd2565b60405290565b60405161020081016001600160401b0381118282101715612d0857612d08612cd2565b60405160c081016001600160401b0381118282101715612d0857612d08612cd2565b60405160e081016001600160401b0381118282101715612d0857612d08612cd2565b604051601f8201601f191681016001600160401b0381118282101715612d9d57612d9d612cd2565b604052919050565b6001600160a01b0381168114610b2a575f80fd5b5f60408284031215612dc9575f80fd5b612dd1612ce6565b90508135612dde81612da5565b81526020820135612dee81612c44565b602082015292915050565b5f8060608385031215612e0a575f80fd5b8235612e1581612c44565b9150612e248460208501612db9565b90509250929050565b5f8060408385031215612e3e575f80fd5b8235612cb781612da5565b5f805f60608486031215612e5b575f80fd5b8335612e6681612c44565b92506020840135612e7681612c44565b91506040840135612e8681612c44565b809150509250925092565b5f6001600160401b03821115612ea957612ea9612cd2565b50601f01601f191660200190565b5f82601f830112612ec6575f80fd5b8135612ed9612ed482612e91565b612d75565b818152846020838601011115612eed575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215612f19575f80fd5b81356001600160401b03811115612f2e575f80fd5b612c2a84828501612eb7565b5f8060408385031215612f4b575f80fd5b8235612f5681612c44565b91506020830135612cc781612c73565b5f60208284031215612f76575f80fd5b8135612b6981612da5565b64ffffffffff81168114610b2a575f80fd5b5f805f60808486031215612fa5575f80fd5b612faf8585612db9565b92506040840135612fbf81612c44565b91506060840135612e8681612f81565b5f60e0820190506001600160601b03835116825260018060a01b03602084015116602083015260018060a01b0360408401511660408301526060830151151560608301526080830151613026608084018215159052565b5060a083015161303a60a084018215159052565b5060c083015161304e60c084018215159052565b5092915050565b5f805f60c08486031215613067575f80fd5b6130718585612db9565b92506130808560408601612db9565b915061308f8560808601612db9565b90509250925092565b602081525f8251604060208401526130b36060840182612b70565b602094909401516001600160a01b0316604093909301929092525090919050565b5f805f805f60a086880312156130e8575f80fd5b85356130f381612c44565b945060208601356001600160401b0381111561310d575f80fd5b61311988828901612eb7565b945050604086013561312a81612c44565b925060608601356001600160401b03811115613144575f80fd5b61315088828901612eb7565b925050608086013561316181612c44565b809150509295509295909350565b5f805f8060808587031215613182575f80fd5b843561318d81612da5565b9350602085013561319d81612da5565b92506040850135915060608501356131b481612da5565b939692955090935050565b61ffff81168114610b2a575f80fd5b5f805f606084860312156131e0575f80fd5b83356131eb81612c44565b92506020840135612e76816131bf565b5f806040838503121561320c575f80fd5b823561321781612c44565b91506020830135612cc781612f81565b5f60208284031215613237575f80fd5b815162ffffff81168114612b69575f80fd5b8051610ae181612c44565b5f60208284031215613264575f80fd5b8151612b6981612c44565b600181811c9082168061328357607f821691505b6020821081036132a157634e487b7160e01b5f52602260045260245ffd5b50919050565b8051610ae181612da5565b5f602082840312156132c2575f80fd5b8151612b6981612da5565b8051610ae181612c73565b5f602082840312156132e8575f80fd5b8151612b6981612c73565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516001600160c01b031981168114610ae1575f80fd5b8051610ae1816131bf565b8051610ae181612f81565b5f61334f612ed484612e91565b9050828152838383011115613362575f80fd5b8282602083015e5f602084830101529392505050565b5f82601f830112613387575f80fd5b6120c783835160208501613342565b5f602082840312156133a6575f80fd5b81516001600160401b038111156133bb575f80fd5b820161020081850312156133cd575f80fd5b6133d5612d0e565b6133de82613249565b81526133ec60208301613249565b60208201526133fd60408301613315565b604082015261340e60608301613249565b606082015261341f60808301613249565b608082015261343060a08301613315565b60a082015261344160c0830161332c565b60c082015261345260e0830161332c565b60e08201526134646101008301613249565b6101008201526134776101208301613249565b61012082015261348a6101408301613337565b61014082015261349d6101608301613337565b6101608201526134b06101808301613337565b6101808201526134c36101a08301613337565b6101a08201526101c08201516001600160401b038111156134e2575f80fd5b6134ee86828501613378565b6101c0830152506101e08201516001600160401b0381111561350e575f80fd5b61351a86828501613378565b6101e083015250949350505050565b5f60408284031215613539575f80fd5b613541612ce6565b9050815161354e81612da5565b81526020820151612dee81612c44565b5f6020828403121561356e575f80fd5b81516001600160401b03811115613583575f80fd5b820160e08185031215613594575f80fd5b61359c612d31565b81516135a781612f81565b815260208201516135b781612f81565b60208201526135c860408301613337565b60408201526135d960608301613249565b60608201526135eb8560808401613529565b608082015260c08201516001600160401b03811115613608575f80fd5b61361486828501613378565b60a083015250949350505050565b60ff81168114610b2a575f80fd5b8051610ae181613622565b5f6020828403121561364b575f80fd5b81516001600160401b03811115613660575f80fd5b820160e08185031215613671575f80fd5b613679612d53565b61368282613249565b815261369060208301613249565b60208201526136a160408301613630565b60408201526136b2606083016132cd565b60608201526136c3608083016132a7565b60808201526136d460a083016132a7565b60a082015260c08201516001600160401b038111156136f1575f80fd5b6136fd86828501613378565b60c083015250949350505050565b818103818111156120ca57634e487b7160e01b5f52601160045260245ffd5b5f6020828403121561373a575f80fd5b8151612b6981613622565b5f8085851115613753575f80fd5b8386111561375f575f80fd5b5050820193919092039150565b80356001600160e01b0319811690600484101561304e576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b80516001600160a01b031682526020908101516001600160601b0316910152565b6001600160601b038316815260608101612b6960208301846137e1565b5f6020828403121561382f575f80fd5b5051919050565b6001600160a01b038516815261384f60208201856137e1565b64ffffffffff8316606082015260a060808201525f61119b60a0830184612b70565b60c0810161387f82866137e1565b61388c60408301856137e1565b612c2a60808301846137e1565b5f602082840312156138a9575f80fd5b81516001600160401b038111156138be575f80fd5b8201604081850312156138cf575f80fd5b6138d7612ce6565b81516001600160401b038111156138ec575f80fd5b8201601f810186136138fc575f80fd5b61390b86825160208401613342565b8252506020820151915061391e82612da5565b60208101919091529392505050565b5f6020828403121561393d575f80fd5b8151612b6981612f81565b5f82518060208501845e5f920191825250919050565b5f806040838503121561396f575f80fd5b825161397a81612c73565b602084015190925063ffffffff81168114612cc7575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00ffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0025e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58303a26469706673582212205037206a76d642e13891774d90bd22b4a63ae24dd92b0872b348daf6d36e308864736f6c634300081a0033",
|
1345
|
+
"deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061028c575f3560e01c8063644c45e01161016157806392f37d78116100ca578063d0d63b0911610084578063d0d63b091461071f578063de7b5d1414610732578063deaa59df14610762578063ea15869f14610775578063ee37846314610789578063f3d0e5d21461079c575f80fd5b806392f37d78146106c2578063ad12ad60146106d5578063ada9652e146106e8578063b423086c146106fc578063bca99e3914610704578063bf7e214f14610717575f80fd5b80637cb73c681161011b5780637cb73c681461054d57806385ba834414610580578063893d20e8146106715780638d9a753f146106795780638fb360371461068c57806390edbd35146106ad575f80fd5b8063644c45e0146104ad57806368d2b320146104ca5780636bd1c0eb146104dd5780636c1e9dff1461050d57806376b707b7146105205780637a9e5e4b1461053a575f80fd5b8063223668441161020357806343d752d3116101bd57806343d752d3146104535780634deed5791461045b57806354e507791461046e5780635741e5e9146104815780635ab1bd53146104895780635e1767ea1461049a575f80fd5b806322366844146103e357806322f3e2d4146103eb57806326889b09146103f35780632eb3e6f41461040657806337dd18a51461042d578063419197fe14610440575f80fd5b8063138461e011610254578063138461e01461035757806317d7de7c146103775780631c6b21901461038c5780631eff4b221461039f578063211e28b6146103c657806321df0da7146103db575f80fd5b806301ffc9a7146102905780630d8e6e2c146102d15780630fec111c146102ed5780630ffeecca146103025780631329960414610337575b5f80fd5b6102bc61029e366004612b42565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102d96107c5565b60405162ffffff90911681526020016102c8565b6102f561084c565b6040516102c89190612b9e565b6103297f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830081565b6040519081526020016102c8565b61033f610a06565b6040516001600160a01b0390911681526020016102c8565b61035f610a6e565b6040516001600160601b0390911681526020016102c8565b61037f610a78565b6040516102c89190612c32565b61035f61039a366004612c58565b610a88565b6103297f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6103d96103d4366004612c80565b610ae6565b005b61033f610b2d565b6102bc610b71565b6102bc610c67565b6103d9610401366004612c9b565b610cde565b6103297fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f0081565b6103d961043b366004612df9565b610dbf565b6103d961044e366004612e2d565b610e9f565b61033f610ef2565b6103d9610469366004612e49565b610f04565b61035f61047c366004612c9b565b6110c1565b6102bc6111a5565b6001546001600160a01b031661033f565b6103296104a8366004612f09565b61125b565b5f80516020613994833981519152546001600160601b031661035f565b6103d96104d8366004612f3a565b6112a4565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f02546001600160a01b031661033f565b6103d961051b366004612c9b565b61137d565b610528611456565b60405160ff90911681526020016102c8565b6103d9610548366004612f66565b6114be565b61056061055b366004612f93565b611544565b604080516001600160601b039384168152929091166020830152016102c8565b6106646040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091527f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006040805160e08101825282546001600160601b03811682526001600160a01b03600160601b909104811660208301526001909301549283169181019190915260ff600160a01b8304811615156060830152600160a81b8304811615156080830152600160b01b83048116151560a0830152600160b81b909204909116151560c0820152919050565b6040516102c89190612fcf565b61033f611584565b6103d9610687366004613055565b6116b5565b610694611704565b6040516001600160e01b031990911681526020016102c8565b6106b5611739565b6040516102c89190613098565b6102bc6106d03660046130d4565b61176a565b6103d96106e336600461316f565b611795565b6103295f8051602061399483398151915281565b6106b5611838565b6103d9610712366004612c58565b611854565b61033f6118a1565b6103d961072d366004612c58565b6118bc565b7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00546001600160a01b031661033f565b6103d9610770366004612f66565b611994565b6103295f805160206139b483398151915281565b6103d96107973660046131ce565b6119e1565b6107af6107aa3660046131fb565b6119f7565b60405164ffffffffff90911681526020016102c8565b604051632efe011360e01b8152600160048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610823573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108479190613227565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156108f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091c9190613254565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610964611584565b6001600160a01b031681526020018260010180546109819061326f565b80601f01602080910402602001604051908101604052809291908181526020018280546109ad9061326f565b80156109f85780601f106109cf576101008083540402835291602001916109f8565b820191905f5260205f20905b8154815290600101906020018083116109db57829003601f168201915b505050505081525091505090565b5f610a0f610ef2565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084791906132b2565b5f61084730611ad1565b6060610a82611739565b51919050565b5f610a95335b5f36611d13565b610a9d611584565b6001600160a01b0316336001600160a01b031614610ad55760405163086391f760e31b81523360048201526024015b60405180910390fd5b610ade82611e09565b90505b919050565b610aee611584565b6001600160a01b0316336001600160a01b031614610b215760405163086391f760e31b8152336004820152602401610acc565b610b2a81611ea0565b50565b5f610b36610ef2565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4a573d5f803e3d5ffd5b5f610b846001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610bc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bec9190613254565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610c43573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084791906132d8565b5f610c706118a1565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610cb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd891906132d8565b15905090565b610ce733610a8e565b81610cfa6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610d47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6b91906132b2565b6001600160a01b0316336001600160a01b031614610da0578033604051636efdd32b60e11b8152600401610acc9291906132f3565b826016610dad8282611f0a565b610db7858561203e565b505050505050565b610dc833610a8e565b81610ddb6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4c91906132b2565b6001600160a01b0316336001600160a01b031614610e81578033604051636efdd32b60e11b8152600401610acc9291906132f3565b826016610e8e8282611f0a565b610e9885856120d0565b5050505050565b610ea833610a8e565b610eb0611584565b6001600160a01b0316336001600160a01b031614610ee35760405163086391f760e31b8152336004820152602401610acc565b610eed828261214a565b505050565b5f610efb611739565b60200151905090565b610f0d33610a8e565b826015610f1a8282611f0a565b5f610f4c7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b031690565b60405163bd7d9d8560e01b81526001600160601b03881660048201529091506110489087906001600160a01b0384169063bd7d9d85906024015f60405180830381865afa158015610f9f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fc69190810190613396565b6101c00151604051634793b4ab60e01b81526001600160601b038916600482015288906001600160a01b03861690634793b4ab906024015f60405180830381865afa158015611017573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261103e919081019061355e565b60a001518861176a565b61107057604051636b468c9b60e01b81526001600160601b0387166004820152602401610acc565b604080513081526001600160601b03888116602083015286168183015290517fcca48a0200c526a7c48f1e770c739ef8e82d7b30e26825735858705fbcda4e079181900360600190a1505050505050565b5f6110cb33610a8e565b826110de6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561112b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061114f91906132b2565b6001600160a01b0316336001600160a01b031614611184578033604051636efdd32b60e11b8152600401610acc9291906132f3565b8360166111918282611f0a565b61119b86866122cb565b9695505050505050565b5f6111ae610b71565b15611232576001546001600160a01b03166040516308b09a5f60e41b81523060048201526001600160a01b039190911690638b09a5f0906024015f60405180830381865afa158015611202573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611229919081019061363b565b60600151905090565b507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f015460ff1690565b805160208201205f9060ff19906112749060019061370b565b60405160200161128691815260200190565b60405160208183030381529060405280519060200120169050919050565b6112ad33610a8e565b816112c06001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561130d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133191906132b2565b6001600160a01b0316336001600160a01b031614611366578033604051636efdd32b60e11b8152600401610acc9291906132f3565b8260166113738282611f0a565b610e988585612318565b61138633610a8e565b816113996001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156113e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140a91906132b2565b6001600160a01b0316336001600160a01b03161461143f578033604051636efdd32b60e11b8152600401610acc9291906132f3565b82601661144c8282611f0a565b610db78585612378565b5f61145f6118a1565b6001600160a01b03166376b707b76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610847919061372a565b336114c76118a1565b6001600160a01b0316816001600160a01b0316146115025760405162d1953b60e31b81526001600160a01b0382166004820152602401610acc565b816001600160a01b03163b5f03611537576040516361798f2f60e11b81526001600160a01b0383166004820152602401610acc565b611540826123c5565b5050565b5f8061154f33610a8e565b5f33905061156d81878660405180602001604052805f815250612425565b92506115798386612378565b915050935093915050565b5f805f8051602061399483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156115f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061161491906132d8565b1561169f576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611675573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169991906132b2565b91505090565b54600160601b90046001600160a01b0316919050565b6116be33610a8e565b6116c6611584565b6001600160a01b0316336001600160a01b0316146116f95760405163086391f760e31b8152336004820152602401610acc565b610eed8383836124c3565b5f805160206139d483398151915280545f9190600160a01b900460ff1661172b575f611699565b638fb3603760e01b91505090565b60408051808201909152606081525f6020820152611755610b71565b1561176257610847612548565b610847611838565b5f8560156117788282611f0a565b8560166117858282611f0a565b5060019998505050505050505050565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117dc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180091906132b2565b6001600160a01b0316336001600160a01b0316146118325760405162f0630960e01b8152336004820152602401610acc565b50505050565b60408051808201909152606081525f6020820152610847612548565b61185d33610a8e565b611865611584565b6001600160a01b0316336001600160a01b0316146118985760405163086391f760e31b8152336004820152602401610acc565b610b2a8161273a565b5f805160206139d4833981519152546001600160a01b031690565b6118c533610a8e565b806118d86001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611925573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061194991906132b2565b6001600160a01b0316336001600160a01b03161461197e578033604051636efdd32b60e11b8152600401610acc9291906132f3565b81601661198b8282611f0a565b6118328461277f565b61199d33610a8e565b6119a5611584565b6001600160a01b0316336001600160a01b0316146119d85760405163086391f760e31b8152336004820152602401610acc565b610b2a816127c4565b6119ea33610a8e565b826015610e988282611f0a565b5f611a0133610a8e565b82611a146001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611a61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8591906132b2565b6001600160a01b0316336001600160a01b031614611aba578033604051636efdd32b60e11b8152600401610acc9291906132f3565b836016611ac78282611f0a565b61119b8686612839565b5f805f8051602061399483398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611b3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6191906132d8565b15611b8d5780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610acc565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015611bdf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c0391906132d8565b611c2b5760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610acc565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015611c7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca19190613254565b81546bffffffffffffffffffffffff19166001600160601b039190911690811782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5490611ced611584565b604051611cfb9291906132f3565b60405180910390a1546001600160601b031692915050565b5f805160206139d48339815191525f80611d4b611d2e6118a1565b8730611d3d60045f8a8c613745565b611d469161376c565b6128df565b9150915081610db75763ffffffff811615611de657825460ff60a01b1916600160a01b178355611d796118a1565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611da8939291906137a2565b5f604051808303815f87803b158015611dbf575f80fd5b505af1158015611dd1573d5f803e3d5ffd5b5050845460ff60a01b1916855550610db79050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610acc565b5f7fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f00600301546040516301c6b21960e41b81526001600160601b03841660048201526001600160a01b0390911690631c6b2190906024016020604051808303815f875af1158015611e7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ade9190613254565b5f805160206139b48339815191526001015460405163108f145b60e11b815282151560048201526101009091046001600160a01b03169063211e28b6906024015b5f604051808303815f87803b158015611ef8575f80fd5b505af1158015610e98573d5f803e3d5ffd5b60405163037c8cb160e51b815260ff8216600482015273__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636f91962090602401602060405180830381865af4158015611f5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7e91906132d8565b8061200c57506001546001600160a01b0316604051635b12715d60e11b81526001600160601b038416600482015260ff831660248201526001600160a01b03919091169063b624e2ba90604401602060405180830381865afa158015611fe6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061200a91906132d8565b155b156115405760405163d711af7560e01b81526001600160601b038316600482015260ff82166024820152604401610acc565b5f805160206139f4833981519152546040516326889b0960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906326889b09906044015b6020604051808303815f875af11580156120a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120c79190613254565b90505b92915050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163a5fbe47960e01b81526001600160a01b039091169063a5fbe479906121219085908590600401613802565b5f604051808303815f87803b158015612138575f80fd5b505af1158015610db7573d5f803e3d5ffd5b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e61217c610ef2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa1580156121c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121e8919061381f565b6040518263ffffffff1660e01b815260040161220691815260200190565b602060405180830381865af4158015612221573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122459190613254565b90505f805160206139b4833981519152600101546040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b03851660248301526101009092049091169063419197fe906044015f604051808303815f87803b1580156122af575f80fd5b505af11580156122c1573d5f803e3d5ffd5b5050505092915050565b5f805160206139f4833981519152546040516354e5077960e01b81526001600160601b038481166004830152831660248201525f916001600160a01b0316906354e5077990604401612087565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583045460405163d42a24b160e01b81526001600160601b038416600482015282151560248201526001600160a01b039091169063d42a24b190604401612121565b5f805160206139f483398151915254604051636c1e9dff60e01b81526001600160601b038481166004830152831660248201525f916001600160a01b031690636c1e9dff90604401612087565b5f805160206139d483398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c5830454604051637eddc94b60e11b81525f916001600160a01b03169063fdbb92969061247a908890889088908890600401613836565b6020604051808303815f875af1158015612496573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ba9190613254565b95945050505050565b7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583025460405163cf2f336560e01b81526001600160a01b039091169063cf2f33659061251690869086908690600401613871565b5f604051808303815f87803b15801561252d575f80fd5b505af115801561253f573d5f803e3d5ffd5b50505050505050565b60408051808201909152606081525f60208201525f61256f6001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa1580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613254565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015612630573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061265491906132d8565b15612732577fffe3d4462bded26a47154f4b8f6db494d2f772496965791d25bd456e342b7f01546001600160a01b03166001600160a01b031663f0ea17c36126b05f80516020613994833981519152546001600160601b031690565b6040516001600160e01b031960e084901b1681526001600160601b0390911660048201526024015f60405180830381865afa1580156126f1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526127189190810190613899565b60208101519092506001600160a01b031615612732575090565b6116996129e7565b5f805160206139f48339815191525460405163bca99e3960e01b81526001600160601b03831660048201526001600160a01b039091169063bca99e3990602401611ee1565b5f805160206139f48339815191525460405163d0d63b0960e01b81526001600160601b03831660048201526001600160a01b039091169063d0d63b0990602401611ee1565b6127cc611584565b6001600160a01b0316336001600160a01b0316146127ff5760405163086391f760e31b8152336004820152602401610acc565b612809600b612ab1565b60405163deaa59df60e01b81526001600160a01b038381166004830152919091169063deaa59df90602401611ee1565b5f7f25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c583006004908101546040516379e872e960e11b81526001600160601b0386169281019290925264ffffffffff841660248301526001600160a01b03169063f3d0e5d2906044016020604051808303815f875af11580156128bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120c7919061392d565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161294d9190613948565b5f60405180830381855afa9150503d805f8114612985576040519150601f19603f3d011682016040523d82523d5f602084013e61298a565b606091505b509150915081156129dc5760408151106129bc57808060200190518101906129b2919061395e565b90945092506129dc565b60208151106129dc57808060200190518101906129d991906132d8565b93505b505094509492505050565b60408051808201909152606081525f60208201525f5f805160206139b483398151915290506040518060400160405280825f018054612a259061326f565b80601f0160208091040260200160405190810160405280929190818152602001828054612a519061326f565b8015612a9c5780601f10612a7357610100808354040283529160200191612a9c565b820191905f5260205f20905b815481529060010190602001808311612a7f57829003601f168201915b50505091835250505f60209091015292915050565b5f612ac46001546001600160a01b031690565b6001600160a01b031663d39e604383612adb611456565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612b1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ade91906132b2565b5f60208284031215612b52575f80fd5b81356001600160e01b031981168114612b69575f80fd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151612be6608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152612c2a610100840182612b70565b949350505050565b602081525f6120c76020830184612b70565b6001600160601b0381168114610b2a575f80fd5b5f60208284031215612c68575f80fd5b8135612b6981612c44565b8015158114610b2a575f80fd5b5f60208284031215612c90575f80fd5b8135612b6981612c73565b5f8060408385031215612cac575f80fd5b8235612cb781612c44565b91506020830135612cc781612c44565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612d0857612d08612cd2565b60405290565b60405161020081016001600160401b0381118282101715612d0857612d08612cd2565b60405160c081016001600160401b0381118282101715612d0857612d08612cd2565b60405160e081016001600160401b0381118282101715612d0857612d08612cd2565b604051601f8201601f191681016001600160401b0381118282101715612d9d57612d9d612cd2565b604052919050565b6001600160a01b0381168114610b2a575f80fd5b5f60408284031215612dc9575f80fd5b612dd1612ce6565b90508135612dde81612da5565b81526020820135612dee81612c44565b602082015292915050565b5f8060608385031215612e0a575f80fd5b8235612e1581612c44565b9150612e248460208501612db9565b90509250929050565b5f8060408385031215612e3e575f80fd5b8235612cb781612da5565b5f805f60608486031215612e5b575f80fd5b8335612e6681612c44565b92506020840135612e7681612c44565b91506040840135612e8681612c44565b809150509250925092565b5f6001600160401b03821115612ea957612ea9612cd2565b50601f01601f191660200190565b5f82601f830112612ec6575f80fd5b8135612ed9612ed482612e91565b612d75565b818152846020838601011115612eed575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215612f19575f80fd5b81356001600160401b03811115612f2e575f80fd5b612c2a84828501612eb7565b5f8060408385031215612f4b575f80fd5b8235612f5681612c44565b91506020830135612cc781612c73565b5f60208284031215612f76575f80fd5b8135612b6981612da5565b64ffffffffff81168114610b2a575f80fd5b5f805f60808486031215612fa5575f80fd5b612faf8585612db9565b92506040840135612fbf81612c44565b91506060840135612e8681612f81565b5f60e0820190506001600160601b03835116825260018060a01b03602084015116602083015260018060a01b0360408401511660408301526060830151151560608301526080830151613026608084018215159052565b5060a083015161303a60a084018215159052565b5060c083015161304e60c084018215159052565b5092915050565b5f805f60c08486031215613067575f80fd5b6130718585612db9565b92506130808560408601612db9565b915061308f8560808601612db9565b90509250925092565b602081525f8251604060208401526130b36060840182612b70565b602094909401516001600160a01b0316604093909301929092525090919050565b5f805f805f60a086880312156130e8575f80fd5b85356130f381612c44565b945060208601356001600160401b0381111561310d575f80fd5b61311988828901612eb7565b945050604086013561312a81612c44565b925060608601356001600160401b03811115613144575f80fd5b61315088828901612eb7565b925050608086013561316181612c44565b809150509295509295909350565b5f805f8060808587031215613182575f80fd5b843561318d81612da5565b9350602085013561319d81612da5565b92506040850135915060608501356131b481612da5565b939692955090935050565b61ffff81168114610b2a575f80fd5b5f805f606084860312156131e0575f80fd5b83356131eb81612c44565b92506020840135612e76816131bf565b5f806040838503121561320c575f80fd5b823561321781612c44565b91506020830135612cc781612f81565b5f60208284031215613237575f80fd5b815162ffffff81168114612b69575f80fd5b8051610ae181612c44565b5f60208284031215613264575f80fd5b8151612b6981612c44565b600181811c9082168061328357607f821691505b6020821081036132a157634e487b7160e01b5f52602260045260245ffd5b50919050565b8051610ae181612da5565b5f602082840312156132c2575f80fd5b8151612b6981612da5565b8051610ae181612c73565b5f602082840312156132e8575f80fd5b8151612b6981612c73565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516001600160c01b031981168114610ae1575f80fd5b8051610ae1816131bf565b8051610ae181612f81565b5f61334f612ed484612e91565b9050828152838383011115613362575f80fd5b8282602083015e5f602084830101529392505050565b5f82601f830112613387575f80fd5b6120c783835160208501613342565b5f602082840312156133a6575f80fd5b81516001600160401b038111156133bb575f80fd5b820161020081850312156133cd575f80fd5b6133d5612d0e565b6133de82613249565b81526133ec60208301613249565b60208201526133fd60408301613315565b604082015261340e60608301613249565b606082015261341f60808301613249565b608082015261343060a08301613315565b60a082015261344160c0830161332c565b60c082015261345260e0830161332c565b60e08201526134646101008301613249565b6101008201526134776101208301613249565b61012082015261348a6101408301613337565b61014082015261349d6101608301613337565b6101608201526134b06101808301613337565b6101808201526134c36101a08301613337565b6101a08201526101c08201516001600160401b038111156134e2575f80fd5b6134ee86828501613378565b6101c0830152506101e08201516001600160401b0381111561350e575f80fd5b61351a86828501613378565b6101e083015250949350505050565b5f60408284031215613539575f80fd5b613541612ce6565b9050815161354e81612da5565b81526020820151612dee81612c44565b5f6020828403121561356e575f80fd5b81516001600160401b03811115613583575f80fd5b820160e08185031215613594575f80fd5b61359c612d31565b81516135a781612f81565b815260208201516135b781612f81565b60208201526135c860408301613337565b60408201526135d960608301613249565b60608201526135eb8560808401613529565b608082015260c08201516001600160401b03811115613608575f80fd5b61361486828501613378565b60a083015250949350505050565b60ff81168114610b2a575f80fd5b8051610ae181613622565b5f6020828403121561364b575f80fd5b81516001600160401b03811115613660575f80fd5b820160e08185031215613671575f80fd5b613679612d53565b61368282613249565b815261369060208301613249565b60208201526136a160408301613630565b60408201526136b2606083016132cd565b60608201526136c3608083016132a7565b60808201526136d460a083016132a7565b60a082015260c08201516001600160401b038111156136f1575f80fd5b6136fd86828501613378565b60c083015250949350505050565b818103818111156120ca57634e487b7160e01b5f52601160045260245ffd5b5f6020828403121561373a575f80fd5b8151612b6981613622565b5f8085851115613753575f80fd5b8386111561375f575f80fd5b5050820193919092039150565b80356001600160e01b0319811690600484101561304e576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b80516001600160a01b031682526020908101516001600160601b0316910152565b6001600160601b038316815260608101612b6960208301846137e1565b5f6020828403121561382f575f80fd5b5051919050565b6001600160a01b038516815261384f60208201856137e1565b64ffffffffff8316606082015260a060808201525f61119b60a0830184612b70565b60c0810161387f82866137e1565b61388c60408301856137e1565b612c2a60808301846137e1565b5f602082840312156138a9575f80fd5b81516001600160401b038111156138be575f80fd5b8201604081850312156138cf575f80fd5b6138d7612ce6565b81516001600160401b038111156138ec575f80fd5b8201601f810186136138fc575f80fd5b61390b86825160208401613342565b8252506020820151915061391e82612da5565b60208101919091529392505050565b5f6020828403121561393d575f80fd5b8151612b6981612f81565b5f82518060208501845e5f920191825250919050565b5f806040838503121561396f575f80fd5b825161397a81612c73565b602084015190925063ffffffff81168114612cc7575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00ffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0025e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58303a26469706673582212205037206a76d642e13891774d90bd22b4a63ae24dd92b0872b348daf6d36e308864736f6c634300081a0033",
|
1356
1346
|
"linkReferences": {
|
1357
1347
|
"contracts/shared/ContractLib.sol": {
|
1358
1348
|
"ContractLib": [
|
1359
1349
|
{
|
1360
1350
|
"length": 20,
|
1361
|
-
"start":
|
1351
|
+
"start": 2843
|
1352
|
+
},
|
1353
|
+
{
|
1354
|
+
"length": 20,
|
1355
|
+
"start": 3435
|
1362
1356
|
}
|
1363
1357
|
]
|
1364
1358
|
},
|
@@ -1366,11 +1360,11 @@
|
|
1366
1360
|
"AmountLib": [
|
1367
1361
|
{
|
1368
1362
|
"length": 20,
|
1369
|
-
"start":
|
1363
|
+
"start": 69
|
1370
1364
|
},
|
1371
1365
|
{
|
1372
1366
|
"length": 20,
|
1373
|
-
"start":
|
1367
|
+
"start": 13333
|
1374
1368
|
}
|
1375
1369
|
]
|
1376
1370
|
},
|
@@ -1378,27 +1372,23 @@
|
|
1378
1372
|
"NftIdLib": [
|
1379
1373
|
{
|
1380
1374
|
"length": 20,
|
1381
|
-
"start":
|
1382
|
-
},
|
1383
|
-
{
|
1384
|
-
"length": 20,
|
1385
|
-
"start": 8109
|
1375
|
+
"start": 7035
|
1386
1376
|
},
|
1387
1377
|
{
|
1388
1378
|
"length": 20,
|
1389
|
-
"start":
|
1379
|
+
"start": 7891
|
1390
1380
|
},
|
1391
1381
|
{
|
1392
1382
|
"length": 20,
|
1393
|
-
"start":
|
1383
|
+
"start": 10368
|
1394
1384
|
},
|
1395
1385
|
{
|
1396
1386
|
"length": 20,
|
1397
|
-
"start":
|
1387
|
+
"start": 11725
|
1398
1388
|
},
|
1399
1389
|
{
|
1400
1390
|
"length": 20,
|
1401
|
-
"start":
|
1391
|
+
"start": 14528
|
1402
1392
|
}
|
1403
1393
|
]
|
1404
1394
|
},
|
@@ -1406,7 +1396,7 @@
|
|
1406
1396
|
"ObjectTypeLib": [
|
1407
1397
|
{
|
1408
1398
|
"length": 20,
|
1409
|
-
"start":
|
1399
|
+
"start": 12778
|
1410
1400
|
}
|
1411
1401
|
]
|
1412
1402
|
},
|
@@ -1414,11 +1404,11 @@
|
|
1414
1404
|
"UFixedLib": [
|
1415
1405
|
{
|
1416
1406
|
"length": 20,
|
1417
|
-
"start":
|
1407
|
+
"start": 190
|
1418
1408
|
},
|
1419
1409
|
{
|
1420
1410
|
"length": 20,
|
1421
|
-
"start":
|
1411
|
+
"start": 311
|
1422
1412
|
}
|
1423
1413
|
]
|
1424
1414
|
},
|
@@ -1426,41 +1416,7 @@
|
|
1426
1416
|
"VersionLib": [
|
1427
1417
|
{
|
1428
1418
|
"length": 20,
|
1429
|
-
"start":
|
1430
|
-
},
|
1431
|
-
{
|
1432
|
-
"length": 20,
|
1433
|
-
"start": 3054
|
1434
|
-
},
|
1435
|
-
{
|
1436
|
-
"length": 20,
|
1437
|
-
"start": 7041
|
1438
|
-
},
|
1439
|
-
{
|
1440
|
-
"length": 20,
|
1441
|
-
"start": 10203
|
1442
|
-
}
|
1443
|
-
],
|
1444
|
-
"VersionPartLib": [
|
1445
|
-
{
|
1446
|
-
"length": 20,
|
1447
|
-
"start": 3111
|
1448
|
-
},
|
1449
|
-
{
|
1450
|
-
"length": 20,
|
1451
|
-
"start": 3501
|
1452
|
-
},
|
1453
|
-
{
|
1454
|
-
"length": 20,
|
1455
|
-
"start": 3669
|
1456
|
-
},
|
1457
|
-
{
|
1458
|
-
"length": 20,
|
1459
|
-
"start": 7098
|
1460
|
-
},
|
1461
|
-
{
|
1462
|
-
"length": 20,
|
1463
|
-
"start": 11870
|
1419
|
+
"start": 6835
|
1464
1420
|
}
|
1465
1421
|
]
|
1466
1422
|
}
|
@@ -1470,7 +1426,7 @@
|
|
1470
1426
|
"AmountLib": [
|
1471
1427
|
{
|
1472
1428
|
"length": 20,
|
1473
|
-
"start":
|
1429
|
+
"start": 8525
|
1474
1430
|
}
|
1475
1431
|
]
|
1476
1432
|
},
|
@@ -1478,27 +1434,23 @@
|
|
1478
1434
|
"NftIdLib": [
|
1479
1435
|
{
|
1480
1436
|
"length": 20,
|
1481
|
-
"start":
|
1482
|
-
},
|
1483
|
-
{
|
1484
|
-
"length": 20,
|
1485
|
-
"start": 3158
|
1437
|
+
"start": 2227
|
1486
1438
|
},
|
1487
1439
|
{
|
1488
1440
|
"length": 20,
|
1489
|
-
"start":
|
1441
|
+
"start": 3083
|
1490
1442
|
},
|
1491
1443
|
{
|
1492
1444
|
"length": 20,
|
1493
|
-
"start":
|
1445
|
+
"start": 5560
|
1494
1446
|
},
|
1495
1447
|
{
|
1496
1448
|
"length": 20,
|
1497
|
-
"start":
|
1449
|
+
"start": 6917
|
1498
1450
|
},
|
1499
1451
|
{
|
1500
1452
|
"length": 20,
|
1501
|
-
"start":
|
1453
|
+
"start": 9720
|
1502
1454
|
}
|
1503
1455
|
]
|
1504
1456
|
},
|
@@ -1506,7 +1458,7 @@
|
|
1506
1458
|
"ObjectTypeLib": [
|
1507
1459
|
{
|
1508
1460
|
"length": 20,
|
1509
|
-
"start":
|
1461
|
+
"start": 7970
|
1510
1462
|
}
|
1511
1463
|
]
|
1512
1464
|
},
|
@@ -1514,21 +1466,7 @@
|
|
1514
1466
|
"VersionLib": [
|
1515
1467
|
{
|
1516
1468
|
"length": 20,
|
1517
|
-
"start":
|
1518
|
-
},
|
1519
|
-
{
|
1520
|
-
"length": 20,
|
1521
|
-
"start": 5252
|
1522
|
-
}
|
1523
|
-
],
|
1524
|
-
"VersionPartLib": [
|
1525
|
-
{
|
1526
|
-
"length": 20,
|
1527
|
-
"start": 2147
|
1528
|
-
},
|
1529
|
-
{
|
1530
|
-
"length": 20,
|
1531
|
-
"start": 6919
|
1469
|
+
"start": 2027
|
1532
1470
|
}
|
1533
1471
|
]
|
1534
1472
|
}
|