@decaf-ts/for-fabric 0.12.10 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/for-fabric.cjs +2 -3804
- package/dist/for-fabric.cjs.map +1 -0
- package/dist/for-fabric.js +2 -3908
- package/dist/for-fabric.js.map +1 -0
- package/lib/cjs/bin/cli.cjs +2 -2
- package/lib/cjs/bin/cli.cjs.map +1 -0
- package/lib/cjs/cli-module.cjs +2 -2
- package/lib/cjs/cli-module.cjs.map +1 -0
- package/lib/cjs/cli-utils.cjs +2 -2
- package/lib/cjs/cli-utils.cjs.map +1 -0
- package/lib/cjs/client/FabricClientAdapter.cjs +149 -66
- package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -0
- package/lib/cjs/client/FabricClientContext.cjs +30 -0
- package/lib/cjs/client/FabricClientContext.cjs.map +1 -0
- package/lib/cjs/client/FabricClientDispatch.cjs +2 -2
- package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
- package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
- package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
- package/lib/cjs/client/FabricClientRepository.cjs +3 -3
- package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
- package/lib/cjs/client/FabricClientStatement.cjs +5 -4
- package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
- package/lib/cjs/client/collections/generation.cjs +2 -2
- package/lib/cjs/client/collections/generation.cjs.map +1 -0
- package/lib/cjs/client/collections/index.cjs +2 -2
- package/lib/cjs/client/collections/index.cjs.map +1 -0
- package/lib/cjs/client/constants.cjs +3 -2
- package/lib/cjs/client/constants.cjs.map +1 -0
- package/lib/cjs/client/crypto.cjs +2 -2
- package/lib/cjs/client/crypto.cjs.map +1 -0
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
- package/lib/cjs/client/erc20/index.cjs +2 -2
- package/lib/cjs/client/erc20/index.cjs.map +1 -0
- package/lib/cjs/client/fabric-fs.cjs +2 -2
- package/lib/cjs/client/fabric-fs.cjs.map +1 -0
- package/lib/cjs/client/fabric-hsm.cjs +2 -2
- package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
- package/lib/cjs/client/ids/id-extraction.cjs +2 -2
- package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
- package/lib/cjs/client/ids/index.cjs +2 -2
- package/lib/cjs/client/ids/index.cjs.map +1 -0
- package/lib/cjs/client/index.cjs +3 -2
- package/lib/cjs/client/index.cjs.map +1 -0
- package/lib/cjs/client/indexes/generation.cjs +3 -15
- package/lib/cjs/client/indexes/generation.cjs.map +1 -0
- package/lib/cjs/client/indexes/index.cjs +2 -2
- package/lib/cjs/client/indexes/index.cjs.map +1 -0
- package/lib/cjs/client/logging.cjs +2 -2
- package/lib/cjs/client/logging.cjs.map +1 -0
- package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
- package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
- package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
- package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
- package/lib/cjs/client/services/constants.cjs +2 -2
- package/lib/cjs/client/services/constants.cjs.map +1 -0
- package/lib/cjs/client/services/index.cjs +2 -2
- package/lib/cjs/client/services/index.cjs.map +1 -0
- package/lib/cjs/client/types.cjs +2 -2
- package/lib/cjs/client/types.cjs.map +1 -0
- package/lib/cjs/client/utils.cjs +2 -2
- package/lib/cjs/client/utils.cjs.map +1 -0
- package/lib/cjs/contract/Address.cjs +2 -2
- package/lib/cjs/contract/Address.cjs.map +1 -0
- package/lib/cjs/contract/AddressContract.cjs +2 -2
- package/lib/cjs/contract/AddressContract.cjs.map +1 -0
- package/lib/cjs/contract/AuditContract.cjs +2 -2
- package/lib/cjs/contract/AuditContract.cjs.map +1 -0
- package/lib/cjs/contract/BatchContract.cjs +2 -2
- package/lib/cjs/contract/BatchContract.cjs.map +1 -0
- package/lib/cjs/contract/MarketContract.cjs +2 -2
- package/lib/cjs/contract/MarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
- package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
- package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherLeafletContract.cjs +2 -2
- package/lib/cjs/contract/OtherLeafletContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherLeafletFileContract.cjs +2 -2
- package/lib/cjs/contract/OtherLeafletFileContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
- package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/Product.cjs +2 -2
- package/lib/cjs/contract/Product.cjs.map +1 -0
- package/lib/cjs/contract/ProductContract.cjs +2 -2
- package/lib/cjs/contract/ProductContract.cjs.map +1 -0
- package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/User.cjs +2 -2
- package/lib/cjs/contract/User.cjs.map +1 -0
- package/lib/cjs/contract/UserContract.cjs +2 -2
- package/lib/cjs/contract/UserContract.cjs.map +1 -0
- package/lib/cjs/contract/index.cjs +2 -2
- package/lib/cjs/contract/index.cjs.map +1 -0
- package/lib/cjs/contract/logging-context.cjs +2 -2
- package/lib/cjs/contract/logging-context.cjs.map +1 -0
- package/lib/cjs/contract/models/Audit.cjs +3 -5
- package/lib/cjs/contract/models/Audit.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
- package/lib/cjs/contract/models/Batch.cjs +2 -2
- package/lib/cjs/contract/models/Batch.cjs.map +1 -0
- package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
- package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
- package/lib/cjs/contract/models/History.cjs +4 -78
- package/lib/cjs/contract/models/History.cjs.map +1 -0
- package/lib/cjs/contract/models/Leaflet.cjs +2 -2
- package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/Market.cjs +2 -2
- package/lib/cjs/contract/models/Market.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherAudit.cjs +2 -2
- package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherBatchShared.cjs +5 -240
- package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeaflet.cjs +7 -119
- package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +4 -68
- package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherMarket.cjs +4 -87
- package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProduct.cjs +4 -80
- package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductImage.cjs +4 -62
- package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductShared.cjs +4 -102
- package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductStrength.cjs +4 -88
- package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/Product.cjs +2 -2
- package/lib/cjs/contract/models/Product.cjs.map +1 -0
- package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
- package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/SegregatedDocument.cjs +4 -10
- package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
- package/lib/cjs/contract/models/constants.cjs +2 -2
- package/lib/cjs/contract/models/constants.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators-private.cjs +2 -2
- package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators.cjs +2 -5
- package/lib/cjs/contract/models/decorators.cjs.map +1 -0
- package/lib/cjs/contract/models/gtin.cjs +2 -2
- package/lib/cjs/contract/models/gtin.cjs.map +1 -0
- package/lib/cjs/contract/models/history-dec.cjs +2 -2
- package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/History.cjs +2 -2
- package/lib/cjs/contract/trackedModels/History.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs +129 -0
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs.map +1 -0
- package/lib/cjs/contracts/ContractAdapter.cjs +41 -9
- package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
- package/lib/cjs/contracts/ContractContext.cjs +2 -2
- package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
- package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
- package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
- package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
- package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
- package/lib/cjs/contracts/MigrationContract.cjs +6 -7
- package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
- package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
- package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
- package/lib/cjs/contracts/auth/decorators.cjs +2 -2
- package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
- package/lib/cjs/contracts/auth/index.cjs +2 -2
- package/lib/cjs/contracts/auth/index.cjs.map +1 -0
- package/lib/cjs/contracts/bootstrap.cjs +2 -2
- package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
- package/lib/cjs/contracts/crud/crud-contract.cjs +27 -23
- package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/crud/index.cjs +2 -2
- package/lib/cjs/contracts/crud/index.cjs.map +1 -0
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
- package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/index.cjs +2 -2
- package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/models.cjs +2 -2
- package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
- package/lib/cjs/contracts/fabric-overrides.cjs +2 -2
- package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
- package/lib/cjs/contracts/index.cjs +2 -2
- package/lib/cjs/contracts/index.cjs.map +1 -0
- package/lib/cjs/contracts/logging.cjs +2 -2
- package/lib/cjs/contracts/logging.cjs.map +1 -0
- package/lib/cjs/contracts/overrides.cjs +2 -2
- package/lib/cjs/contracts/overrides.cjs.map +1 -0
- package/lib/cjs/contracts/types.cjs +2 -2
- package/lib/cjs/contracts/types.cjs.map +1 -0
- package/lib/cjs/contracts/uuid.cjs +2 -2
- package/lib/cjs/contracts/uuid.cjs.map +1 -0
- package/lib/cjs/index.cjs +2 -2
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/shared/ClientSerializer.cjs +2 -2
- package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
- package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/constants.cjs +6 -2
- package/lib/cjs/shared/constants.cjs.map +1 -0
- package/lib/cjs/shared/decorators.cjs +24 -3
- package/lib/cjs/shared/decorators.cjs.map +1 -0
- package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
- package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
- package/lib/cjs/shared/erc20/index.cjs +2 -2
- package/lib/cjs/shared/erc20/index.cjs.map +1 -0
- package/lib/cjs/shared/errors.cjs +2 -2
- package/lib/cjs/shared/errors.cjs.map +1 -0
- package/lib/cjs/shared/events.cjs +2 -2
- package/lib/cjs/shared/events.cjs.map +1 -0
- package/lib/cjs/shared/fabric-types.cjs +2 -2
- package/lib/cjs/shared/fabric-types.cjs.map +1 -0
- package/lib/cjs/shared/index.cjs +2 -2
- package/lib/cjs/shared/index.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
- package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/index.cjs +2 -2
- package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
- package/lib/cjs/shared/math.cjs +2 -2
- package/lib/cjs/shared/math.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/Identity.cjs +2 -2
- package/lib/cjs/shared/model/Identity.cjs.map +1 -0
- package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
- package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
- package/lib/cjs/shared/model/index.cjs +2 -2
- package/lib/cjs/shared/model/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/Model.cjs +2 -2
- package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
- package/lib/cjs/shared/overrides/index.cjs +2 -2
- package/lib/cjs/shared/overrides/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/overrides.cjs +36 -2
- package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
- package/lib/cjs/shared/types.cjs +2 -2
- package/lib/cjs/shared/types.cjs.map +1 -0
- package/lib/cjs/version.cjs +5 -5
- package/lib/cjs/version.cjs.map +1 -0
- package/lib/esm/bin/cli.js +1 -1
- package/lib/esm/bin/cli.js.map +1 -0
- package/lib/esm/cli-module.js +1 -1
- package/lib/esm/cli-module.js.map +1 -0
- package/lib/esm/cli-utils.js +1 -1
- package/lib/esm/cli-utils.js.map +1 -0
- package/lib/esm/client/FabricClientAdapter.js +149 -66
- package/lib/esm/client/FabricClientAdapter.js.map +1 -0
- package/lib/esm/client/FabricClientContext.js +25 -0
- package/lib/esm/client/FabricClientContext.js.map +1 -0
- package/lib/esm/client/FabricClientDispatch.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js.map +1 -0
- package/lib/esm/client/FabricClientPaginator.js +1 -1
- package/lib/esm/client/FabricClientPaginator.js.map +1 -0
- package/lib/esm/client/FabricClientRepository.js +2 -2
- package/lib/esm/client/FabricClientRepository.js.map +1 -0
- package/lib/esm/client/FabricClientStatement.js +4 -3
- package/lib/esm/client/FabricClientStatement.js.map +1 -0
- package/lib/esm/client/collections/generation.js +1 -1
- package/lib/esm/client/collections/generation.js.map +1 -0
- package/lib/esm/client/collections/index.js +1 -1
- package/lib/esm/client/collections/index.js.map +1 -0
- package/lib/esm/client/constants.js +2 -1
- package/lib/esm/client/constants.js.map +1 -0
- package/lib/esm/client/crypto.js +1 -1
- package/lib/esm/client/crypto.js.map +1 -0
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
- package/lib/esm/client/erc20/index.js +1 -1
- package/lib/esm/client/erc20/index.js.map +1 -0
- package/lib/esm/client/fabric-fs.js +1 -1
- package/lib/esm/client/fabric-fs.js.map +1 -0
- package/lib/esm/client/fabric-hsm.js +1 -1
- package/lib/esm/client/fabric-hsm.js.map +1 -0
- package/lib/esm/client/ids/id-extraction.js +1 -1
- package/lib/esm/client/ids/id-extraction.js.map +1 -0
- package/lib/esm/client/ids/index.js +1 -1
- package/lib/esm/client/ids/index.js.map +1 -0
- package/lib/esm/client/index.js +2 -1
- package/lib/esm/client/index.js.map +1 -0
- package/lib/esm/client/indexes/generation.js +2 -14
- package/lib/esm/client/indexes/generation.js.map +1 -0
- package/lib/esm/client/indexes/index.js +1 -1
- package/lib/esm/client/indexes/index.js.map +1 -0
- package/lib/esm/client/logging.js +1 -1
- package/lib/esm/client/logging.js.map +1 -0
- package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
- package/lib/esm/client/services/FabricIdentityService.js +1 -1
- package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
- package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
- package/lib/esm/client/services/constants.js +1 -1
- package/lib/esm/client/services/constants.js.map +1 -0
- package/lib/esm/client/services/index.js +1 -1
- package/lib/esm/client/services/index.js.map +1 -0
- package/lib/esm/client/types.js +1 -1
- package/lib/esm/client/types.js.map +1 -0
- package/lib/esm/client/utils.js +1 -1
- package/lib/esm/client/utils.js.map +1 -0
- package/lib/esm/contract/Address.js +1 -1
- package/lib/esm/contract/Address.js.map +1 -0
- package/lib/esm/contract/AddressContract.js +1 -1
- package/lib/esm/contract/AddressContract.js.map +1 -0
- package/lib/esm/contract/AuditContract.js +1 -1
- package/lib/esm/contract/AuditContract.js.map +1 -0
- package/lib/esm/contract/BatchContract.js +1 -1
- package/lib/esm/contract/BatchContract.js.map +1 -0
- package/lib/esm/contract/MarketContract.js +1 -1
- package/lib/esm/contract/MarketContract.js.map +1 -0
- package/lib/esm/contract/OtherAuditContract.js +1 -1
- package/lib/esm/contract/OtherAuditContract.js.map +1 -0
- package/lib/esm/contract/OtherBatchContract.js +1 -1
- package/lib/esm/contract/OtherBatchContract.js.map +1 -0
- package/lib/esm/contract/OtherLeafletContract.js +1 -1
- package/lib/esm/contract/OtherLeafletContract.js.map +1 -0
- package/lib/esm/contract/OtherLeafletFileContract.js +1 -1
- package/lib/esm/contract/OtherLeafletFileContract.js.map +1 -0
- package/lib/esm/contract/OtherMarketContract.js +1 -1
- package/lib/esm/contract/OtherMarketContract.js.map +1 -0
- package/lib/esm/contract/OtherProductContract.js +1 -1
- package/lib/esm/contract/OtherProductContract.js.map +1 -0
- package/lib/esm/contract/OtherProductImageContract.js +1 -1
- package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
- package/lib/esm/contract/OtherProductSharedContract.js +1 -1
- package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
- package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
- package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/Product.js +1 -1
- package/lib/esm/contract/Product.js.map +1 -0
- package/lib/esm/contract/ProductContract.js +1 -1
- package/lib/esm/contract/ProductContract.js.map +1 -0
- package/lib/esm/contract/ProductStrengthContract.js +1 -1
- package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
- package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
- package/lib/esm/contract/User.js +1 -1
- package/lib/esm/contract/User.js.map +1 -0
- package/lib/esm/contract/UserContract.js +1 -1
- package/lib/esm/contract/UserContract.js.map +1 -0
- package/lib/esm/contract/index.js +1 -1
- package/lib/esm/contract/index.js.map +1 -0
- package/lib/esm/contract/logging-context.js +1 -1
- package/lib/esm/contract/logging-context.js.map +1 -0
- package/lib/esm/contract/models/Audit.js +3 -5
- package/lib/esm/contract/models/Audit.js.map +1 -0
- package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
- package/lib/esm/contract/models/BaseModel.js +1 -1
- package/lib/esm/contract/models/BaseModel.js.map +1 -0
- package/lib/esm/contract/models/Batch.js +1 -1
- package/lib/esm/contract/models/Batch.js.map +1 -0
- package/lib/esm/contract/models/GtinOwner.js +1 -1
- package/lib/esm/contract/models/GtinOwner.js.map +1 -0
- package/lib/esm/contract/models/History.js +2 -72
- package/lib/esm/contract/models/History.js.map +1 -0
- package/lib/esm/contract/models/Leaflet.js +1 -1
- package/lib/esm/contract/models/Leaflet.js.map +1 -0
- package/lib/esm/contract/models/LeafletFile.js +1 -1
- package/lib/esm/contract/models/LeafletFile.js.map +1 -0
- package/lib/esm/contract/models/Market.js +1 -1
- package/lib/esm/contract/models/Market.js.map +1 -0
- package/lib/esm/contract/models/OtherAudit.js +1 -1
- package/lib/esm/contract/models/OtherAudit.js.map +1 -0
- package/lib/esm/contract/models/OtherBatchShared.js +2 -232
- package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
- package/lib/esm/contract/models/OtherLeaflet.js +3 -112
- package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
- package/lib/esm/contract/models/OtherLeafletFile.js +2 -62
- package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
- package/lib/esm/contract/models/OtherMarket.js +2 -81
- package/lib/esm/contract/models/OtherMarket.js.map +1 -0
- package/lib/esm/contract/models/OtherProduct.js +2 -74
- package/lib/esm/contract/models/OtherProduct.js.map +1 -0
- package/lib/esm/contract/models/OtherProductImage.js +2 -56
- package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
- package/lib/esm/contract/models/OtherProductShared.js +2 -96
- package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
- package/lib/esm/contract/models/OtherProductStrength.js +2 -82
- package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
- package/lib/esm/contract/models/Product.js +1 -1
- package/lib/esm/contract/models/Product.js.map +1 -0
- package/lib/esm/contract/models/ProductStrength.js +2 -2
- package/lib/esm/contract/models/ProductStrength.js.map +1 -0
- package/lib/esm/contract/models/SegregatedDocument.js +4 -10
- package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
- package/lib/esm/contract/models/constants.js +1 -1
- package/lib/esm/contract/models/constants.js.map +1 -0
- package/lib/esm/contract/models/decorators-private.js +1 -1
- package/lib/esm/contract/models/decorators-private.js.map +1 -0
- package/lib/esm/contract/models/decorators.js +1 -4
- package/lib/esm/contract/models/decorators.js.map +1 -0
- package/lib/esm/contract/models/gtin.js +1 -1
- package/lib/esm/contract/models/gtin.js.map +1 -0
- package/lib/esm/contract/models/history-dec.js +1 -1
- package/lib/esm/contract/models/history-dec.js.map +1 -0
- package/lib/esm/contract/trackedModels/History.js +1 -1
- package/lib/esm/contract/trackedModels/History.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherAudit.js +1 -1
- package/lib/esm/contract/trackedModels/OtherAudit.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherBatchShared.js +120 -0
- package/lib/esm/contract/trackedModels/OtherBatchShared.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherLeaflet.js +1 -1
- package/lib/esm/contract/trackedModels/OtherLeaflet.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js +1 -1
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherMarket.js +1 -1
- package/lib/esm/contract/trackedModels/OtherMarket.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProduct.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProduct.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductImage.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductImage.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductShared.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductShared.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductStrength.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductStrength.js.map +1 -0
- package/lib/esm/contracts/ContractAdapter.js +41 -9
- package/lib/esm/contracts/ContractAdapter.js.map +1 -0
- package/lib/esm/contracts/ContractContext.js +1 -1
- package/lib/esm/contracts/ContractContext.js.map +1 -0
- package/lib/esm/contracts/FabricContractDispatch.js +1 -1
- package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
- package/lib/esm/contracts/FabricContractPaginator.js +1 -1
- package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepository.js +1 -1
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
- package/lib/esm/contracts/FabricContractSequence.js +1 -1
- package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
- package/lib/esm/contracts/FabricContractStatement.js +1 -1
- package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
- package/lib/esm/contracts/MigrationContract.js +5 -6
- package/lib/esm/contracts/MigrationContract.js.map +1 -0
- package/lib/esm/contracts/PrivateSequence.js +1 -1
- package/lib/esm/contracts/PrivateSequence.js.map +1 -0
- package/lib/esm/contracts/auth/decorators.js +1 -1
- package/lib/esm/contracts/auth/decorators.js.map +1 -0
- package/lib/esm/contracts/auth/index.js +1 -1
- package/lib/esm/contracts/auth/index.js.map +1 -0
- package/lib/esm/contracts/bootstrap.js +1 -1
- package/lib/esm/contracts/bootstrap.js.map +1 -0
- package/lib/esm/contracts/crud/crud-contract.js +28 -24
- package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
- package/lib/esm/contracts/crud/index.js +1 -1
- package/lib/esm/contracts/crud/index.js.map +1 -0
- package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
- package/lib/esm/contracts/erc20/erc20contract.js +1 -1
- package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
- package/lib/esm/contracts/erc20/index.js +1 -1
- package/lib/esm/contracts/erc20/index.js.map +1 -0
- package/lib/esm/contracts/erc20/models.js +1 -1
- package/lib/esm/contracts/erc20/models.js.map +1 -0
- package/lib/esm/contracts/fabric-overrides.js +1 -1
- package/lib/esm/contracts/fabric-overrides.js.map +1 -0
- package/lib/esm/contracts/index.js +1 -1
- package/lib/esm/contracts/index.js.map +1 -0
- package/lib/esm/contracts/logging.js +1 -1
- package/lib/esm/contracts/logging.js.map +1 -0
- package/lib/esm/contracts/overrides.js +1 -1
- package/lib/esm/contracts/overrides.js.map +1 -0
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/types.js.map +1 -0
- package/lib/esm/contracts/uuid.js +1 -1
- package/lib/esm/contracts/uuid.js.map +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/shared/ClientSerializer.js +1 -1
- package/lib/esm/shared/ClientSerializer.js.map +1 -0
- package/lib/esm/shared/DeterministicSerializer.js +1 -1
- package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/constants.js +5 -1
- package/lib/esm/shared/constants.js.map +1 -0
- package/lib/esm/shared/decorators.js +18 -1
- package/lib/esm/shared/decorators.js.map +1 -0
- package/lib/esm/shared/erc20/erc20-constants.js +1 -1
- package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
- package/lib/esm/shared/erc20/index.js +1 -1
- package/lib/esm/shared/erc20/index.js.map +1 -0
- package/lib/esm/shared/errors.js +1 -1
- package/lib/esm/shared/errors.js.map +1 -0
- package/lib/esm/shared/events.js +1 -1
- package/lib/esm/shared/events.js.map +1 -0
- package/lib/esm/shared/fabric-types.js +1 -1
- package/lib/esm/shared/fabric-types.js.map +1 -0
- package/lib/esm/shared/index.js +1 -1
- package/lib/esm/shared/index.js.map +1 -0
- package/lib/esm/shared/interfaces/Checkable.js +1 -1
- package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
- package/lib/esm/shared/interfaces/index.js +1 -1
- package/lib/esm/shared/interfaces/index.js.map +1 -0
- package/lib/esm/shared/math.js +1 -1
- package/lib/esm/shared/math.js.map +1 -0
- package/lib/esm/shared/model/FabricBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
- package/lib/esm/shared/model/Identity.js +1 -1
- package/lib/esm/shared/model/Identity.js.map +1 -0
- package/lib/esm/shared/model/IdentityCredentials.js +1 -1
- package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
- package/lib/esm/shared/model/index.js +1 -1
- package/lib/esm/shared/model/index.js.map +1 -0
- package/lib/esm/shared/overrides/Model.js +1 -1
- package/lib/esm/shared/overrides/Model.js.map +1 -0
- package/lib/esm/shared/overrides/index.js +1 -1
- package/lib/esm/shared/overrides/index.js.map +1 -0
- package/lib/esm/shared/overrides/overrides.js +36 -2
- package/lib/esm/shared/overrides/overrides.js.map +1 -0
- package/lib/esm/shared/types.js +1 -1
- package/lib/esm/shared/types.js.map +1 -0
- package/lib/esm/version.js +4 -4
- package/lib/esm/version.js.map +1 -0
- package/lib/types/client/FabricClientAdapter.d.cts +43 -33
- package/lib/types/client/FabricClientAdapter.d.mts +43 -33
- package/lib/types/client/FabricClientContext.d.cts +11 -0
- package/lib/types/client/FabricClientContext.d.mts +11 -0
- package/lib/types/client/FabricClientDispatch.d.cts +5 -5
- package/lib/types/client/FabricClientDispatch.d.mts +5 -5
- package/lib/types/client/FabricClientStatement.d.cts +6 -6
- package/lib/types/client/FabricClientStatement.d.mts +6 -6
- package/lib/types/client/index.d.cts +1 -0
- package/lib/types/client/index.d.mts +1 -0
- package/lib/types/client/types.d.cts +2 -0
- package/lib/types/client/types.d.mts +2 -0
- package/lib/types/contract/models/History.d.cts +1 -9
- package/lib/types/contract/models/History.d.mts +1 -9
- package/lib/types/contract/models/OtherBatchShared.d.cts +1 -55
- package/lib/types/contract/models/OtherBatchShared.d.mts +1 -55
- package/lib/types/contract/models/OtherLeaflet.d.cts +2 -16
- package/lib/types/contract/models/OtherLeaflet.d.mts +2 -16
- package/lib/types/contract/models/OtherLeafletFile.d.cts +1 -10
- package/lib/types/contract/models/OtherLeafletFile.d.mts +1 -10
- package/lib/types/contract/models/OtherMarket.d.cts +1 -13
- package/lib/types/contract/models/OtherMarket.d.mts +1 -13
- package/lib/types/contract/models/OtherProduct.d.cts +1 -12
- package/lib/types/contract/models/OtherProduct.d.mts +1 -12
- package/lib/types/contract/models/OtherProductImage.d.cts +1 -9
- package/lib/types/contract/models/OtherProductImage.d.mts +1 -9
- package/lib/types/contract/models/OtherProductShared.d.cts +1 -18
- package/lib/types/contract/models/OtherProductShared.d.mts +1 -18
- package/lib/types/contract/models/OtherProductStrength.d.cts +1 -12
- package/lib/types/contract/models/OtherProductStrength.d.mts +1 -12
- package/lib/types/contract/trackedModels/OtherBatchShared.d.cts +19 -0
- package/lib/types/contract/trackedModels/OtherBatchShared.d.mts +19 -0
- package/lib/types/contracts/ContractAdapter.d.cts +1 -0
- package/lib/types/contracts/ContractAdapter.d.mts +1 -0
- package/lib/types/contracts/FabricContractStatement.d.cts +1 -2
- package/lib/types/contracts/FabricContractStatement.d.mts +1 -2
- package/lib/types/contracts/MigrationContract.d.cts +1 -1
- package/lib/types/contracts/MigrationContract.d.mts +1 -1
- package/lib/types/contracts/crud/crud-contract.d.cts +3 -1
- package/lib/types/contracts/crud/crud-contract.d.mts +3 -1
- package/lib/types/contracts/types.d.cts +1 -0
- package/lib/types/contracts/types.d.mts +1 -0
- package/lib/types/shared/constants.d.cts +5 -1
- package/lib/types/shared/constants.d.mts +5 -1
- package/lib/types/shared/decorators.d.cts +9 -1
- package/lib/types/shared/decorators.d.mts +9 -1
- package/lib/types/shared/overrides/Model.d.cts +4 -0
- package/lib/types/shared/overrides/Model.d.mts +4 -0
- package/lib/types/version.d.cts +3 -3
- package/lib/types/version.d.mts +3 -3
- package/package.json +1 -1
|
@@ -162,5 +162,5 @@ class HSMSignerFactoryCustom {
|
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
exports.HSMSignerFactoryCustom = HSMSignerFactoryCustom;
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLWhzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvZmFicmljLWhzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxVQUFVLENBQUM7QUFDOUIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsOEJBQXlCO0FBQ3JELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTyxHQUF5QixJQUFJLENBQUM7SUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFNUIsWUFBWSxPQUFlO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQyxzQkFBc0IsQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckQsc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQztnQkFDSCxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDaEQsQ0FBQztZQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7Z0JBQ3BCLGtFQUFrRTtnQkFDbEUsSUFBSyxDQUFTLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO29CQUNoRSxNQUFNLENBQUMsQ0FBQztnQkFDVixDQUFDO1lBQ0gsQ0FBQztZQUNELHNCQUFzQixDQUFDLFlB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RUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2QyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBOEI7UUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUN4RCxXQUFXLENBQUMsU0FBUyxDQUN0QixDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGtjczExIGZyb20gXCJwa2NzMTFqc1wiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IE1pc3NpbmdQS0NTUzExTGliIH0gZnJvbSBcIi4uL3NoYXJlZC9lcnJvcnNcIjtcbmltcG9ydCBjcnlwdG8gZnJvbSBcImNyeXB0b1wiO1xuaW1wb3J0IHsgcDI1NiB9IGZyb20gXCJAbm9ibGUvY3VydmVzL25pc3RcIjtcblxuZXhwb3J0IGNsYXNzIEhTTVNpZ25lckZhY3RvcnlDdXN0b20ge1xuICBzdGF0aWMgI3BrY3MxMTogcGtjczExLlBLQ1MxMSB8IG51bGwgPSBudWxsO1xuICBzdGF0aWMgI2luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IobGlicmFyeTogc3RyaW5nKSB7XG4gICAgaWYgKCFIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEpIHtcbiAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSA9IG5ldyBwa2NzMTEuUEtDUzExKCk7XG4gICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEubG9hZCh0aGlzLmZpbmRIU01QS0NTMTFMaWIobGlicmFyeSkpO1xuICAgIH1cblxuICAgIGlmICghSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMS5DX0luaXRpYWxpemUoKTtcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgLy8gaWdub3JlIFwiYWxyZWFkeSBpbml0aWFsaXplZFwiIGlmIHRlc3RzIC8gaG90IHJlbG9hZHMgY2F1c2UgcmV1c2VcbiAgICAgICAgaWYgKChlIGFzIGFueSkuY29kZSAhPT0gcGtjczExLkNLUl9DUllQVE9LSV9BTFJFQURZX0lOSVRJQUxJWkVEKSB7XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluZEhTTVBLQ1MxMUxpYihsaWI/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbW1vblNvZnRIU01QYXRoTmFtZXMgPSBbXG4gICAgICBcIi91c3IvbGliL3NvZnRoc20vbGlic29mdGhzbTIuc29cIixcbiAgICAgIFwiL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9zb2Z0aHNtL2xpYnNvZnRoc20yLnNvXCIsXG4gICAgICBcIi91c3IvbG9jYWwvbGliL3NvZnRoc20vbGlic29mdGhzbTIuc29cIixcbiAgICAgIFwiL3Vzci9saWIvbGliYWNzcC1wa2NzMTEuc29cIixcbiAgICAgIFwiL29wdC9ob21lYnJldy9saWIvc29mdGhzbS9saWJzb2Z0aHNtMi5zb1wiLFxuICAgIF07XG5cbiAgICBpZiAobGliKSBjb21tb25Tb2Z0SFNNUGF0aE5hbWVzLnB1c2gobGliKTtcblxuICAgIGZvciAoY29uc3QgcGF0aG5hbWVUb1RyeSBvZiBjb21tb25Tb2Z0SFNNUGF0aE5hbWVzKSB7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhwYXRobmFtZVRvVHJ5KSkge1xuICAgICAgICByZXR1cm4gcGF0aG5hbWVUb1RyeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgTWlzc2luZ1BLQ1NTMTFMaWIoXCJVbmFibGUgdG8gZmluZCBQS0NTMTEgbGlicmFyeVwiKTtcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIS5DX0ZpbmFsaXplKCk7XG4gIH1cblxuICBwcml2YXRlIHNhbml0aXplT3B0aW9ucyhoc21TaWduZXJPcHRpb25zOiBIU01Db25maWcpIHtcbiAgICBjb25zdCBvcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgdXNlclR5cGU6IHBrY3MxMS5DS1VfVVNFUixcbiAgICAgIH0sXG4gICAgICBoc21TaWduZXJPcHRpb25zXG4gICAgKTtcbiAgICB0aGlzLmFzc2VydE5vdEVtcHR5KG9wdGlvbnMubGFiZWwsIFwibGFiZWxcIik7XG4gICAgdGhpcy5hc3NlcnROb3RFbXB0eShvcHRpb25zLnBpbiwgXCJwaW5cIik7XG4gICAgdGhpcy5hc3NlcnROb3RFbXB0eShvcHRpb25zLmlkZW50aWZpZXIgYXMgdW5rbm93biBhcyBzdHJpbmcsIFwiaWRlbnRpZmllclwiKTtcbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgYXNzZXJ0Tm90RW1wdHkocHJvcGVydHk6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCFwcm9wZXJ0eSB8fCBwcm9wZXJ0eS50b1N0cmluZygpLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBwcm9wZXJ0eSBtdXN0IGJlIHByb3ZpZGVkYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kU2xvdEZvckxhYmVsKHBrY3MxMUxhYmVsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzbG90cyA9IChcbiAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSBhcyBwa2NzMTEuUEtDUzExXG4gICAgKS5DX0dldFNsb3RMaXN0KHRydWUpO1xuICAgIGlmIChzbG90cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHBrY3MxMSBzbG90cyBjYW4gYmUgZm91bmRcIik7XG4gICAgfVxuICAgIGNvbnN0IHNsb3QgPSBzbG90cy5maW5kKChzbG90VG9DaGVjazogcGtjczExLkhhbmRsZSkgPT4ge1xuICAgICAgY29uc3QgdG9rZW5JbmZvID0gKFxuICAgICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEgYXMgcGtjczExLlBLQ1MxMVxuICAgICAgKS5DX0dldFRva2VuSW5mbyhzbG90VG9DaGVjayk7XG4gICAgICByZXR1cm4gdG9rZW5JbmZvLmxhYmVsLnRyaW0oKSA9PT0gcGtjczExTGFiZWw7XG4gICAgfSk7XG4gICAgaWYgKCFzbG90KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBsYWJlbCAke3BrY3MxMUxhYmVsfSBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIHBrY3MxMSBzbG90IGxpc3RgXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc2xvdDtcbiAgfVxuXG4gIHByaXZhdGUgbG9naW4oc2Vzc2lvbjogcGtjczExLkhhbmRsZSwgdXNlclR5cGU6IG51bWJlciwgcGluOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgKEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSBhcyBwa2NzMTEuUEtDUzExKS5DX0xvZ2luKFxuICAgICAgICBzZXNzaW9uLFxuICAgICAgICB1c2VyVHlwZSxcbiAgICAgICAgcGluXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgY29uc3QgcGtjczExZXJyID0gZXJyIGFzIHsgY29kZTogbnVtYmVyIH07XG4gICAgICBpZiAocGtjczExZXJyLmNvZGUgIT09IHBrY3MxMS5DS1JfVVNFUl9BTFJFQURZX0xPR0dFRF9JTikge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kT2JqZWN0SW5IU00oXG4gICAgc2Vzc2lvbjogcGtjczExLkhhbmRsZSxcbiAgICBrZXl0eXBlOiBudW1iZXIsXG4gICAgaWRlbnRpZmllcjogYW55XG4gICkge1xuICAgIGNvbnN0IHBrY3MxMVRlbXBsYXRlID0gW1xuICAgICAgeyB0eXBlOiBwa2NzMTEuQ0tBX0lELCB2YWx1ZTogaWRlbnRpZmllciB9LFxuICAgICAgeyB0eXBlOiBwa2NzMTEuQ0tBX0NMQVNTLCB2YWx1ZToga2V5dHlwZSB9LFxuICAgICAgeyB0eXBlOiBwa2NzMTEuQ0tBX0tFWV9UWVBFLCB2YWx1ZTogcGtjczExLkNLS19FQyB9LFxuICAgIF07XG5cbiAgICAoSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIGFzIHBrY3MxMS5QS0NTMTEpLkNfRmluZE9iamVjdHNJbml0KFxuICAgICAgc2Vzc2lvbixcbiAgICAgIHBrY3MxMVRlbXBsYXRlXG4gICAgKTtcbiAgICBjb25zdCBoc21PYmplY3QgPSAoXG4gICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEgYXMgcGtjczExLlBLQ1MxMVxuICAgICkuQ19GaW5kT2JqZWN0cyhzZXNzaW9uLCAxKVswXTtcbiAgICBpZiAoIWhzbU9iamVjdCkge1xuICAgICAgKEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSBhcyBwa2NzMTEuUEtDUzExKS5DX0ZpbmRPYmplY3RzRmluYWwoXG4gICAgICAgIHNlc3Npb25cbiAgICAgICk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbmFibGUgdG8gZmluZCBvYmplY3QgaW4gSFNNIHdpdGggSUQgJHtpZGVudGlmaWVyLnRvU3RyaW5nKCl9YFxuICAgICAgKTtcbiAgICB9XG4gICAgKEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSBhcyBwa2NzMTEuUEtDUzExKS5DX0ZpbmRPYmplY3RzRmluYWwoXG4gICAgICBzZXNzaW9uXG4gICAgKTtcbiAgICByZXR1cm4gaHNtT2JqZWN0O1xuICB9XG5cbiAgbmV3U2lnbmVyKGhzbVNpZ25lck9wdGlvbnM6IEhTTUNvbmZpZykge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnNhbml0aXplT3B0aW9ucyhoc21TaWduZXJPcHRpb25zKTtcbiAgICBjb25zdCBwa2NzID0gSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIGFzIHBrY3MxMS5QS0NTMTE7XG4gICAgY29uc3Qgc2xvdCA9IHRoaXMuZmluZFNsb3RGb3JMYWJlbChvcHRpb25zLmxhYmVsKTtcbiAgICBjb25zdCBzZXNzaW9uID0gcGtjcy5DX09wZW5TZXNzaW9uKHNsb3QsIHBrY3MxMS5DS0ZfU0VSSUFMX1NFU1NJT04pO1xuICAgIGxldCBwcml2YXRlS2V5SGFuZGxlO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvZ2luKHNlc3Npb24sIG9wdGlvbnMudXNlclR5cGUsIG9wdGlvbnMucGluKTtcbiAgICAgIHByaXZhdGVLZXlIYW5kbGUgPSB0aGlzLmZpbmRPYmplY3RJbkhTTShcbiAgICAgICAgc2Vzc2lvbixcbiAgICAgICAgcGtjczExLkNLT19QUklWQVRFX0tFWSxcbiAgICAgICAgb3B0aW9ucy5pZGVudGlmaWVyXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgKEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSBhcyBwa2NzMTEuUEtDUzExKS5DX0Nsb3NlU2Vzc2lvbihzZXNzaW9uKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNpZ25lcjogYXN5bmMgKGRpZ2VzdDogYW55KSA9PiB7XG4gICAgICAgIChIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEgYXMgcGtjczExLlBLQ1MxMSkuQ19TaWduSW5pdChcbiAgICAgICAgICBzZXNzaW9uLFxuICAgICAgICAgIHsgbWVjaGFuaXNtOiBwa2NzMTEuQ0tNX0VDRFNBIH0sXG4gICAgICAgICAgcHJpdmF0ZUtleUhhbmRsZVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjb21wYWN0U2lnbmF0dXJlID0gYXdhaXQgKFxuICAgICAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSBhcyBwa2NzMTEuUEtDUzExXG4gICAgICAgICkuQ19TaWduQXN5bmMoXG4gICAgICAgICAgc2Vzc2lvbixcbiAgICAgICAgICBCdWZmZXIuZnJvbShkaWdlc3QpLFxuICAgICAgICAgIC8vIEVDIHNpZ25hdHVyZXMgaGF2ZSBsZW5ndGggb2YgMm4gYWNjb3JkaW5nIHRvIHRoZSBQS0NTMTEgc3BlYzpcbiAgICAgICAgICAvLyBodHRwczovL2RvY3Mub2FzaXMtb3Blbi5vcmcvcGtjczExL3BrY3MxMS1zcGVjL3YzLjEvcGtjczExLXNwZWMtdjMuMS5odG1sXG4gICAgICAgICAgQnVmZmVyLmFsbG9jKHAyNTYuUG9pbnQuRm4uQllURVMgKiAyKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gcDI1Ni5TaWduYXR1cmUuZnJvbUJ5dGVzKGNvbXBhY3RTaWduYXR1cmUsIFwiY29tcGFjdFwiKVxuICAgICAgICAgIC5ub3JtYWxpemVTKClcbiAgICAgICAgICAudG9CeXRlcyhcImRlclwiKTtcbiAgICAgIH0sXG4gICAgICBjbG9zZTogKCkgPT4ge1xuICAgICAgICAoSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIGFzIHBrY3MxMS5QS0NTMTEpLkNfQ2xvc2VTZXNzaW9uKFxuICAgICAgICAgIHNlc3Npb25cbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzZXJ0RGVmaW5lZDxUPih2YWx1ZTogVCB8IHVuZGVmaW5lZCk6IFQge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJyZXF1aXJlZCB2YWx1ZSB3YXMgdW5kZWZpbmVkXCIpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VW5jb21wcmVzc2VkUG9pbnRPbkN1cnZlKGtleTogY3J5cHRvLktleU9iamVjdCk6IEJ1ZmZlciB7XG4gICAgY29uc3QgandrID0ga2V5LmV4cG9ydCh7IGZvcm1hdDogXCJqd2tcIiB9KTtcbiAgICBjb25zdCB4ID0gQnVmZmVyLmZyb20odGhpcy5hc3NlcnREZWZpbmVkKGp3ay54KSwgXCJiYXNlNjR1cmxcIik7XG4gICAgY29uc3QgeSA9IEJ1ZmZlci5mcm9tKHRoaXMuYXNzZXJ0RGVmaW5lZChqd2sueSksIFwiYmFzZTY0dXJsXCIpO1xuICAgIGNvbnN0IHByZWZpeCA9IEJ1ZmZlci5mcm9tKFwiMDRcIiwgXCJoZXhcIik7XG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW3ByZWZpeCwgeCwgeV0pO1xuICB9XG5cbiAgZ2V0U0tJRnJvbUNlcnRpZmljYXRlUGF0aChjZXJ0UGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgcCA9IGNlcnRQYXRoLmVuZHNXaXRoKFwiLnBlbVwiKVxuICAgICAgPyBjZXJ0UGF0aFxuICAgICAgOiBwYXRoLmpvaW4oY2VydFBhdGgsIFwiY2VydC5wZW1cIik7XG4gICAgY29uc3QgY3JlZGVudGlhbHMgPSBmcy5yZWFkRmlsZVN5bmMocCk7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRTS0lGcm9tQ2VydGlmaWNhdGUoY3JlZGVudGlhbHMpO1xuICB9XG5cbiAgZ2V0U0tJRnJvbUNlcnRpZmljYXRlKGNlcnQ6IHN0cmluZyB8IE5vblNoYXJlZEJ1ZmZlcik6IEJ1ZmZlciB7XG4gICAgY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgY3J5cHRvLlg1MDlDZXJ0aWZpY2F0ZShjZXJ0KTtcbiAgICBjb25zdCB1bmNvbXByZXNzZWRQb2ludCA9IHRoaXMuZ2V0VW5jb21wcmVzc2VkUG9pbnRPbkN1cnZlKFxuICAgICAgY2VydGlmaWNhdGUucHVibGljS2V5XG4gICAgKTtcblxuICAgIHJldHVybiBjcnlwdG8uY3JlYXRlSGFzaChcInNoYTI1NlwiKS51cGRhdGUodW5jb21wcmVzc2VkUG9pbnQpLmRpZ2VzdCgpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFNNQ29uZmlnIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgaWRlbnRpZmllcjogQnVmZmVyPEFycmF5QnVmZmVyTGlrZT47XG4gIHBpbjogc3RyaW5nO1xufVxuIl19
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLWhzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZhYnJpYy1oc20uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQThCO0FBQzlCLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIscURBQTBEO0FBQzFELG9EQUE0QjtBQUM1Qiw2Q0FBMEM7QUFDMUMsTUFBYSxzQkFBc0I7SUFDL0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsWUFBWSxPQUFPO1FBQ2YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLHNCQUFzQixDQUFDLE9BQU8sR0FBRyxJQUFJLGtCQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckQsc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQztnQkFDRCxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEQsQ0FBQztZQUNELE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1Asa0VBQWtFO2dCQUNsRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO29CQUNyRCxNQUFNLENBQUMsQ0FBQztnQkFDWixDQUFDO1lBQ0wsQ0FBQztZQUNELHNCQUFzQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxHQUFHO1FBQ2hCLE1BQU0sc0JBQXNCLEdBQUc7WUFDM0IsaUNBQWlDO1lBQ2pDLGtEQUFrRDtZQUNsRCx1Q0FBdUM7WUFDdkMsNEJBQTRCO1lBQzVCLDBD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QUFJLENBQUMsQ0FBQztRQUNyRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEYsT0FBTyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxRSxDQUFDOztBQXJKTCx3REFzSkM7QUFDRCxzdmhCQUFzdmhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBrY3MxMSBmcm9tIFwicGtjczExanNcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBNaXNzaW5nUEtDU1MxMUxpYiB9IGZyb20gXCIuLy4uL3NoYXJlZC9lcnJvcnMuanNcIjtcbmltcG9ydCBjcnlwdG8gZnJvbSBcImNyeXB0b1wiO1xuaW1wb3J0IHsgcDI1NiB9IGZyb20gXCJAbm9ibGUvY3VydmVzL25pc3RcIjtcbmV4cG9ydCBjbGFzcyBIU01TaWduZXJGYWN0b3J5Q3VzdG9tIHtcbiAgICBzdGF0aWMgI3BrY3MxMSA9IG51bGw7XG4gICAgc3RhdGljICNpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIGNvbnN0cnVjdG9yKGxpYnJhcnkpIHtcbiAgICAgICAgaWYgKCFIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEpIHtcbiAgICAgICAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSA9IG5ldyBwa2NzMTEuUEtDUzExKCk7XG4gICAgICAgICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEubG9hZCh0aGlzLmZpbmRIU01QS0NTMTFMaWIobGlicmFyeSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfSW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAvLyBpZ25vcmUgXCJhbHJlYWR5IGluaXRpYWxpemVkXCIgaWYgdGVzdHMgLyBob3QgcmVsb2FkcyBjYXVzZSByZXVzZVxuICAgICAgICAgICAgICAgIGlmIChlLmNvZGUgIT09IHBrY3MxMS5DS1JfQ1JZUFRPS0lfQUxSRUFEWV9JTklUSUFMSVpFRCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmaW5kSFNNUEtDUzExTGliKGxpYikge1xuICAgICAgICBjb25zdCBjb21tb25Tb2Z0SFNNUGF0aE5hbWVzID0gW1xuICAgICAgICAgICAgXCIvdXNyL2xpYi9zb2Z0aHNtL2xpYnNvZnRoc20yLnNvXCIsXG4gICAgICAgICAgICBcIi91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvc29mdGhzbS9saWJzb2Z0aHNtMi5zb1wiLFxuICAgICAgICAgICAgXCIvdXNyL2xvY2FsL2xpYi9zb2Z0aHNtL2xpYnNvZnRoc20yLnNvXCIsXG4gICAgICAgICAgICBcIi91c3IvbGliL2xpYmFjc3AtcGtjczExLnNvXCIsXG4gICAgICAgICAgICBcIi9vcHQvaG9tZWJyZXcvbGliL3NvZnRoc20vbGlic29mdGhzbTIuc29cIixcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKGxpYilcbiAgICAgICAgICAgIGNvbW1vblNvZnRIU01QYXRoTmFtZXMucHVzaChsaWIpO1xuICAgICAgICBmb3IgKGNvbnN0IHBhdGhuYW1lVG9Ucnkgb2YgY29tbW9uU29mdEhTTVBhdGhOYW1lcykge1xuICAgICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMocGF0aG5hbWVUb1RyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGF0aG5hbWVUb1RyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgTWlzc2luZ1BLQ1NTMTFMaWIoXCJVbmFibGUgdG8gZmluZCBQS0NTMTEgbGlicmFyeVwiKTtcbiAgICB9XG4gICAgZGlzcG9zZSgpIHtcbiAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfRmluYWxpemUoKTtcbiAgICB9XG4gICAgc2FuaXRpemVPcHRpb25zKGhzbVNpZ25lck9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgdXNlclR5cGU6IHBrY3MxMS5DS1VfVVNFUixcbiAgICAgICAgfSwgaHNtU2lnbmVyT3B0aW9ucyk7XG4gICAgICAgIHRoaXMuYXNzZXJ0Tm90RW1wdHkob3B0aW9ucy5sYWJlbCwgXCJsYWJlbFwiKTtcbiAgICAgICAgdGhpcy5hc3NlcnROb3RFbXB0eShvcHRpb25zLnBpbiwgXCJwaW5cIik7XG4gICAgICAgIHRoaXMuYXNzZXJ0Tm90RW1wdHkob3B0aW9ucy5pZGVudGlmaWVyLCBcImlkZW50aWZpZXJcIik7XG4gICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cbiAgICBhc3NlcnROb3RFbXB0eShwcm9wZXJ0eSwgbmFtZSkge1xuICAgICAgICBpZiAoIXByb3BlcnR5IHx8IHByb3BlcnR5LnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke25hbWV9IHByb3BlcnR5IG11c3QgYmUgcHJvdmlkZWRgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmaW5kU2xvdEZvckxhYmVsKHBrY3MxMUxhYmVsKSB7XG4gICAgICAgIGNvbnN0IHNsb3RzID0gSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfR2V0U2xvdExpc3QodHJ1ZSk7XG4gICAgICAgIGlmIChzbG90cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHBrY3MxMSBzbG90cyBjYW4gYmUgZm91bmRcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2xvdCA9IHNsb3RzLmZpbmQoKHNsb3RUb0NoZWNrKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0b2tlbkluZm8gPSBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEuQ19HZXRUb2tlbkluZm8oc2xvdFRvQ2hlY2spO1xuICAgICAgICAgICAgcmV0dXJuIHRva2VuSW5mby5sYWJlbC50cmltKCkgPT09IHBrY3MxMUxhYmVsO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFzbG90KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGxhYmVsICR7cGtjczExTGFiZWx9IGNhbm5vdCBiZSBmb3VuZCBpbiB0aGUgcGtjczExIHNsb3QgbGlzdGApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzbG90O1xuICAgIH1cbiAgICBsb2dpbihzZXNzaW9uLCB1c2VyVHlwZSwgcGluKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEuQ19Mb2dpbihzZXNzaW9uLCB1c2VyVHlwZSwgcGluKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zdCBwa2NzMTFlcnIgPSBlcnI7XG4gICAgICAgICAgICBpZiAocGtjczExZXJyLmNvZGUgIT09IHBrY3MxMS5DS1JfVVNFUl9BTFJFQURZX0xPR0dFRF9JTikge1xuICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmaW5kT2JqZWN0SW5IU00oc2Vzc2lvbiwga2V5dHlwZSwgaWRlbnRpZmllcikge1xuICAgICAgICBjb25zdCBwa2NzMTFUZW1wbGF0ZSA9IFtcbiAgICAgICAgICAgIHsgdHlwZTogcGtjczExLkNLQV9JRCwgdmFsdWU6IGlkZW50aWZpZXIgfSxcbiAgICAgICAgICAgIHsgdHlwZTogcGtjczExLkNLQV9DTEFTUywgdmFsdWU6IGtleXR5cGUgfSxcbiAgICAgICAgICAgIHsgdHlwZTogcGtjczExLkNLQV9LRVlfVFlQRSwgdmFsdWU6IHBrY3MxMS5DS0tfRUMgfSxcbiAgICAgICAgXTtcbiAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfRmluZE9iamVjdHNJbml0KHNlc3Npb24sIHBrY3MxMVRlbXBsYXRlKTtcbiAgICAgICAgY29uc3QgaHNtT2JqZWN0ID0gSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfRmluZE9iamVjdHMoc2Vzc2lvbiwgMSlbMF07XG4gICAgICAgIGlmICghaHNtT2JqZWN0KSB7XG4gICAgICAgICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEuQ19GaW5kT2JqZWN0c0ZpbmFsKHNlc3Npb24pO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZmluZCBvYmplY3QgaW4gSFNNIHdpdGggSUQgJHtpZGVudGlmaWVyLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfRmluZE9iamVjdHNGaW5hbChzZXNzaW9uKTtcbiAgICAgICAgcmV0dXJuIGhzbU9iamVjdDtcbiAgICB9XG4gICAgbmV3U2lnbmVyKGhzbVNpZ25lck9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuc2FuaXRpemVPcHRpb25zKGhzbVNpZ25lck9wdGlvbnMpO1xuICAgICAgICBjb25zdCBwa2NzID0gSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExO1xuICAgICAgICBjb25zdCBzbG90ID0gdGhpcy5maW5kU2xvdEZvckxhYmVsKG9wdGlvbnMubGFiZWwpO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gcGtjcy5DX09wZW5TZXNzaW9uKHNsb3QsIHBrY3MxMS5DS0ZfU0VSSUFMX1NFU1NJT04pO1xuICAgICAgICBsZXQgcHJpdmF0ZUtleUhhbmRsZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW4oc2Vzc2lvbiwgb3B0aW9ucy51c2VyVHlwZSwgb3B0aW9ucy5waW4pO1xuICAgICAgICAgICAgcHJpdmF0ZUtleUhhbmRsZSA9IHRoaXMuZmluZE9iamVjdEluSFNNKHNlc3Npb24sIHBrY3MxMS5DS09fUFJJVkFURV9LRVksIG9wdGlvbnMuaWRlbnRpZmllcik7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfQ2xvc2VTZXNzaW9uKHNlc3Npb24pO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaWduZXI6IGFzeW5jIChkaWdlc3QpID0+IHtcbiAgICAgICAgICAgICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEuQ19TaWduSW5pdChzZXNzaW9uLCB7IG1lY2hhbmlzbTogcGtjczExLkNLTV9FQ0RTQSB9LCBwcml2YXRlS2V5SGFuZGxlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wYWN0U2lnbmF0dXJlID0gYXdhaXQgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfU2lnbkFzeW5jKHNlc3Npb24sIEJ1ZmZlci5mcm9tKGRpZ2VzdCksIFxuICAgICAgICAgICAgICAgIC8vIEVDIHNpZ25hdHVyZXMgaGF2ZSBsZW5ndGggb2YgMm4gYWNjb3JkaW5nIHRvIHRoZSBQS0NTMTEgc3BlYzpcbiAgICAgICAgICAgICAgICAvLyBodHRwczovL2RvY3Mub2FzaXMtb3Blbi5vcmcvcGtjczExL3BrY3MxMS1zcGVjL3YzLjEvcGtjczExLXNwZWMtdjMuMS5odG1sXG4gICAgICAgICAgICAgICAgQnVmZmVyLmFsbG9jKHAyNTYuUG9pbnQuRm4uQllURVMgKiAyKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHAyNTYuU2lnbmF0dXJlLmZyb21CeXRlcyhjb21wYWN0U2lnbmF0dXJlLCBcImNvbXBhY3RcIilcbiAgICAgICAgICAgICAgICAgICAgLm5vcm1hbGl6ZVMoKVxuICAgICAgICAgICAgICAgICAgICAudG9CeXRlcyhcImRlclwiKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMS5DX0Nsb3NlU2Vzc2lvbihzZXNzaW9uKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzc2VydERlZmluZWQodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInJlcXVpcmVkIHZhbHVlIHdhcyB1bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBnZXRVbmNvbXByZXNzZWRQb2ludE9uQ3VydmUoa2V5KSB7XG4gICAgICAgIGNvbnN0IGp3ayA9IGtleS5leHBvcnQoeyBmb3JtYXQ6IFwiandrXCIgfSk7XG4gICAgICAgIGNvbnN0IHggPSBCdWZmZXIuZnJvbSh0aGlzLmFzc2VydERlZmluZWQoandrLngpLCBcImJhc2U2NHVybFwiKTtcbiAgICAgICAgY29uc3QgeSA9IEJ1ZmZlci5mcm9tKHRoaXMuYXNzZXJ0RGVmaW5lZChqd2sueSksIFwiYmFzZTY0dXJsXCIpO1xuICAgICAgICBjb25zdCBwcmVmaXggPSBCdWZmZXIuZnJvbShcIjA0XCIsIFwiaGV4XCIpO1xuICAgICAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbcHJlZml4LCB4LCB5XSk7XG4gICAgfVxuICAgIGdldFNLSUZyb21DZXJ0aWZpY2F0ZVBhdGgoY2VydFBhdGgpIHtcbiAgICAgICAgY29uc3QgcCA9IGNlcnRQYXRoLmVuZHNXaXRoKFwiLnBlbVwiKVxuICAgICAgICAgICAgPyBjZXJ0UGF0aFxuICAgICAgICAgICAgOiBwYXRoLmpvaW4oY2VydFBhdGgsIFwiY2VydC5wZW1cIik7XG4gICAgICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gZnMucmVhZEZpbGVTeW5jKHApO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTS0lGcm9tQ2VydGlmaWNhdGUoY3JlZGVudGlhbHMpO1xuICAgIH1cbiAgICBnZXRTS0lGcm9tQ2VydGlmaWNhdGUoY2VydCkge1xuICAgICAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBjcnlwdG8uWDUwOUNlcnRpZmljYXRlKGNlcnQpO1xuICAgICAgICBjb25zdCB1bmNvbXByZXNzZWRQb2ludCA9IHRoaXMuZ2V0VW5jb21wcmVzc2VkUG9pbnRPbkN1cnZlKGNlcnRpZmljYXRlLnB1YmxpY0tleSk7XG4gICAgICAgIHJldHVybiBjcnlwdG8uY3JlYXRlSGFzaChcInNoYTI1NlwiKS51cGRhdGUodW5jb21wcmVzc2VkUG9pbnQpLmRpZ2VzdCgpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVptRmljbWxqTFdoemJTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1TDNOeVl5OWpiR2xsYm5RdlptRmljbWxqTFdoemJTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4UFFVRlBMRTFCUVUwc1RVRkJUU3hWUVVGVkxFTkJRVU03UVVGRE9VSXNUMEZCVHl4RlFVRkZMRTFCUVUwc1NVRkJTU3hEUVVGRE8wRkJRM0JDTEU5QlFVOHNTVUZCU1N4TlFVRk5MRTFCUVUwc1EwRkJRenRCUVVONFFpeFBRVUZQTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVVVzT0VKQlFYbENPMEZCUTNKRUxFOUJRVThzVFVGQlRTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTTFRaXhQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNiMEpCUVc5Q0xFTkJRVU03UVVGRk1VTXNUVUZCVFN4UFFVRlBMSE5DUVVGelFqdEpRVU5xUXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhIUVVGNVFpeEpRVUZKTEVOQlFVTTdTVUZETlVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUjBGQlJ5eExRVUZMTEVOQlFVTTdTVUZGTlVJc1dVRkJXU3hQUVVGbE8xRkJRM3BDTEVsQlFVa3NRMEZCUXl4elFrRkJjMElzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0WlFVTndReXh6UWtGQmMwSXNRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdXVUZEY2tRc2MwSkJRWE5DTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4wUlN4RFFVRkRPMUZCUlVRc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRE8xbEJRM3BETEVsQlFVa3NRMEZCUXp0blFrRkRTQ3h6UWtGQmMwSXNRMEZCUXl4UFFVRlBMRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03V1VGRGFFUXNRMEZCUXp0WlFVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03WjBKQlEzQkNMR3RGUVVGclJUdG5Ra0ZEYkVVc1NVRkJTeXhEUVVGVExFTkJRVU1zU1VGQlNTeExRVUZMTEUxQlFVMHNRMEZCUXl4blEwRkJaME1zUlVGQlJTeERRVUZETzI5Q1FVTm9SU3hOUVVGTkxFTkJRVU1zUTBGQlF6dG5Ra0ZEVml4RFFVRkRPMWxCUTBnc1EwRkJRenRaUVVORUxITkNRVUZ6UWl4RFFVRkRMRmxCUVZrc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRE4wTXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkZUeXhuUWtGQlowSXNRMEZCUXl4SFFVRlpPMUZCUTI1RExFMUJRVTBzYzBKQlFYTkNMRWRCUVVjN1dVRkROMElzYVVOQlFXbERPMWxCUTJwRExHdEVRVUZyUkR0WlFVTnNSQ3gxUTBGQmRVTTdXVUZEZGtNc05FSkJRVFJDTzFsQlF6VkNMREJEUVVFd1F6dFRRVU16UXl4RFFVRkRPMUZCUlVZc1NVRkJTU3hIUVVGSE8xbEJRVVVzYzBKQlFYTkNMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlJURkRMRXRCUVVzc1RVRkJUU3hoUVVGaExFbEJRVWtzYzBKQlFYTkNMRVZCUVVVc1EwRkJRenRaUVVOdVJDeEpRVUZKTEVWQlFVVXNRMEZCUXl4VlFVRlZMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRVVVzUTBGQlF6dG5Ra0ZEYWtNc1QwRkJUeXhoUVVGaExFTkJRVU03V1VGRGRrSXNRMEZCUXp0UlFVTklMRU5CUVVNN1VVRkZSQ3hOUVVGTkxFbEJRVWtzYVVKQlFXbENMRU5CUVVNc0swSkJRU3RDTEVOQlFVTXNRMEZCUXp0SlFVTXZSQ3hEUVVGRE8wbEJSVVFzVDBGQlR6dFJRVU5NTEhOQ1FVRnpRaXhEUVVGRExFOUJRVkVzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0SlFVTXZReXhEUVVGRE8wbEJSVThzWlVGQlpTeERRVUZETEdkQ1FVRXlRanRSUVVOcVJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVNelFqdFpRVU5GTEZGQlFWRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1VVRkJVVHRUUVVNeFFpeEZRVU5FTEdkQ1FVRm5RaXhEUVVOcVFpeERRVUZETzFGQlEwWXNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUXpWRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU40UXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eFZRVUVyUWl4RlFVRkZMRmxCUVZrc1EwRkJReXhEUVVGRE8xRkJRek5GTEU5QlFVOHNUMEZCVHl4RFFVRkRPMGxCUTJwQ0xFTkJRVU03U1VGRlR5eGpRVUZqTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hKUVVGWk8xRkJRMjVFTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWxCUVVrc1VVRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRMRTFCUVUwc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU42UkN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExFZEJRVWNzU1VGQlNTdzBRa0ZCTkVJc1EwRkJReXhEUVVGRE8xRkJRM1pFTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlU4c1owSkJRV2RDTEVOQlFVTXNWMEZCYlVJN1VVRkRNVU1zVFVGQlRTeExRVUZMTEVkQlExUXNjMEpCUVhOQ0xFTkJRVU1zVDBGRGVFSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGRFSXNTVUZCU1N4TFFVRkxMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlEzWkNMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zT0VKQlFUaENMRU5CUVVNc1EwRkJRenRSUVVOc1JDeERRVUZETzFGQlEwUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEZkQlFUQkNMRVZCUVVVc1JVRkJSVHRaUVVOeVJDeE5RVUZOTEZOQlFWTXNSMEZEWWl4elFrRkJjMElzUTBGQlF5eFBRVU40UWl4RFFVRkRMR05CUVdNc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFpRVU01UWl4UFFVRlBMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NWMEZCVnl4RFFVRkRPMUZCUTJoRUxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEwZ3NTVUZCU1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xbEJRMVlzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZEWWl4VFFVRlRMRmRCUVZjc01FTkJRVEJETEVOQlF5OUVMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJRMFFzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUlU4c1MwRkJTeXhEUVVGRExFOUJRWE5DTEVWQlFVVXNVVUZCWjBJc1JVRkJSU3hIUVVGWE8xRkJRMnBGTEVsQlFVa3NRMEZCUXp0WlFVTkdMSE5DUVVGelFpeERRVUZETEU5QlFYbENMRU5CUVVNc1QwRkJUeXhEUVVOMlJDeFBRVUZQTEVWQlExQXNVVUZCVVN4RlFVTlNMRWRCUVVjc1EwRkRTaXhEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVUZETEU5QlFVOHNSMEZCV1N4RlFVRkZMRU5CUVVNN1dVRkRkRUlzVFVGQlRTeFRRVUZUTEVkQlFVY3NSMEZCZFVJc1EwRkJRenRaUVVNeFF5eEpRVUZKTEZOQlFWTXNRMEZCUXl4SlFVRkpMRXRCUVVzc1RVRkJUU3hEUVVGRExEQkNRVUV3UWl4RlFVRkZMRU5CUVVNN1owSkJRM3BFTEUxQlFVMHNSMEZCUnl4RFFVRkRPMWxCUTFvc1EwRkJRenRSUVVOSUxFTkJRVU03U1VGRFNDeERRVUZETzBsQlJVOHNaVUZCWlN4RFFVTnlRaXhQUVVGelFpeEZRVU4wUWl4UFFVRmxMRVZCUTJZc1ZVRkJaVHRSUVVWbUxFMUJRVTBzWTBGQll5eEhRVUZITzFsQlEzSkNMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVXNTMEZCU3l4RlFVRkZMRlZCUVZVc1JVRkJSVHRaUVVNeFF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRU5CUVVNc1UwRkJVeXhGUVVGRkxFdEJRVXNzUlVGQlJTeFBRVUZQTEVWQlFVVTdXVUZETVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeERRVUZETEZsQlFWa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJUdFRRVU53UkN4RFFVRkRPMUZCUlVRc2MwSkJRWE5DTEVOQlFVTXNUMEZCZVVJc1EwRkJReXhwUWtGQmFVSXNRMEZEYWtVc1QwRkJUeXhGUVVOUUxHTkJRV01zUTBGRFppeERRVUZETzFGQlEwWXNUVUZCVFN4VFFVRlRMRWRCUTJJc2MwSkJRWE5DTEVOQlFVTXNUMEZEZUVJc1EwRkJReXhoUVVGaExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJReTlDTEVsQlFVa3NRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRaUVVOa0xITkNRVUZ6UWl4RFFVRkRMRTlCUVhsQ0xFTkJRVU1zYTBKQlFXdENMRU5CUTJ4RkxFOUJRVThzUTBGRFVpeERRVUZETzFsQlEwWXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkRZaXgzUTBGQmQwTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1JVRkJSU3hGUVVGRkxFTkJRMmhGTEVOQlFVTTdVVUZEU2l4RFFVRkRPMUZCUTBFc2MwSkJRWE5DTEVOQlFVTXNUMEZCZVVJc1EwRkJReXhyUWtGQmEwSXNRMEZEYkVVc1QwRkJUeXhEUVVOU0xFTkJRVU03VVVGRFJpeFBRVUZQTEZOQlFWTXNRMEZCUXp0SlFVTnVRaXhEUVVGRE8wbEJSVVFzVTBGQlV5eERRVUZETEdkQ1FVRXlRanRSUVVOdVF5eE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNN1VVRkRka1FzVFVGQlRTeEpRVUZKTEVkQlFVY3NjMEpCUVhOQ0xFTkJRVU1zVDBGQmQwSXNRMEZCUXp0UlFVTTNSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUTJ4RUxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1NVRkJTU3hGUVVGRkxFMUJRVTBzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8xRkJRM0JGTEVsQlFVa3NaMEpCUVdkQ0xFTkJRVU03VVVGRGNrSXNTVUZCU1N4RFFVRkRPMWxCUTBnc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNUMEZCVHl4RFFVRkRMRkZCUVZFc1JVRkJSU3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZEYmtRc1owSkJRV2RDTEVkQlFVY3NTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkRja01zVDBGQlR5eEZRVU5RTEUxQlFVMHNRMEZCUXl4bFFVRmxMRVZCUTNSQ0xFOUJRVThzUTBGQlF5eFZRVUZWTEVOQlEyNUNMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJRVU1zVDBGQlR5eEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTmFMSE5DUVVGelFpeERRVUZETEU5QlFYbENMRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFsQlF6RkZMRTFCUVUwc1IwRkJSeXhEUVVGRE8xRkJRMW9zUTBGQlF6dFJRVU5FTEU5QlFVODdXVUZEVEN4TlFVRk5MRVZCUVVVc1MwRkJTeXhGUVVGRkxFMUJRVmNzUlVGQlJTeEZRVUZGTzJkQ1FVTXpRaXh6UWtGQmMwSXNRMEZCUXl4UFFVRjVRaXhEUVVGRExGVkJRVlVzUTBGRE1VUXNUMEZCVHl4RlFVTlFMRVZCUVVVc1UwRkJVeXhGUVVGRkxFMUJRVTBzUTBGQlF5eFRRVUZUTEVWQlFVVXNSVUZETDBJc1owSkJRV2RDTEVOQlEycENMRU5CUVVNN1owSkJRMFlzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhOUVVOMlFpeHpRa0ZCYzBJc1EwRkJReXhQUVVONFFpeERRVUZETEZkQlFWY3NRMEZEV0N4UFFVRlBMRVZCUTFBc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdaMEpCUTI1Q0xHZEZRVUZuUlR0blFrRkRhRVVzTkVWQlFUUkZPMmRDUVVNMVJTeE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeERRVUZETEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkRkRU1zUTBGQlF6dG5Ra0ZEUml4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVTBGQlV5eERRVUZETEdkQ1FVRm5RaXhGUVVGRkxGTkJRVk1zUTBGQlF6dHhRa0ZEZWtRc1ZVRkJWU3hGUVVGRk8zRkNRVU5hTEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVOd1FpeERRVUZETzFsQlEwUXNTMEZCU3l4RlFVRkZMRWRCUVVjc1JVRkJSVHRuUWtGRFZDeHpRa0ZCYzBJc1EwRkJReXhQUVVGNVFpeERRVUZETEdOQlFXTXNRMEZET1VRc1QwRkJUeXhEUVVOU0xFTkJRVU03V1VGRFNpeERRVUZETzFOQlEwWXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZUeXhoUVVGaExFTkJRVWtzUzBGQmIwSTdVVUZETTBNc1NVRkJTU3hMUVVGTExFdEJRVXNzVTBGQlV5eEZRVUZGTEVOQlFVTTdXVUZEZUVJc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5dzRRa0ZCT0VJc1EwRkJReXhEUVVGRE8xRkJRMnhFTEVOQlFVTTdVVUZGUkN4UFFVRlBMRXRCUVVzc1EwRkJRenRKUVVObUxFTkJRVU03U1VGRlR5d3lRa0ZCTWtJc1EwRkJReXhIUVVGeFFqdFJRVU4yUkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNUVUZCVFN4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRE1VTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZCUXp0UlFVTTVSQ3hOUVVGTkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRE8xRkJRemxFTEUxQlFVMHNUVUZCVFN4SFFVRkhMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUTNoRExFOUJRVThzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjJReXhEUVVGRE8wbEJSVVFzZVVKQlFYbENMRU5CUVVNc1VVRkJaMEk3VVVGRGVFTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTTdXVUZEYWtNc1EwRkJReXhEUVVGRExGRkJRVkU3V1VGRFZpeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzVlVGQlZTeERRVUZETEVOQlFVTTdVVUZEY0VNc1RVRkJUU3hYUVVGWExFZEJRVWNzUlVGQlJTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVWMlF5eFBRVUZQTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0SlFVTnFSQ3hEUVVGRE8wbEJSVVFzY1VKQlFYRkNMRU5CUVVNc1NVRkJPRUk3VVVGRGJFUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1NVRkJTU3hOUVVGTkxFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTNKRUxFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1NVRkJTU3hEUVVGRExESkNRVUV5UWl4RFFVTjRSQ3hYUVVGWExFTkJRVU1zVTBGQlV5eERRVU4wUWl4RFFVRkRPMUZCUlVZc1QwRkJUeXhOUVVGTkxFTkJRVU1zVlVGQlZTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8wbEJRM2hGTEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjR3RqY3pFeElHWnliMjBnWENKd2EyTnpNVEZxYzF3aU8xeHVhVzF3YjNKMElHWnpJR1p5YjIwZ1hDSm1jMXdpTzF4dWFXMXdiM0owSUhCaGRHZ2dabkp2YlNCY0luQmhkR2hjSWp0Y2JtbHRjRzl5ZENCN0lFMXBjM05wYm1kUVMwTlRVekV4VEdsaUlIMGdabkp2YlNCY0lpNHVMM05vWVhKbFpDOWxjbkp2Y25OY0lqdGNibWx0Y0c5eWRDQmpjbmx3ZEc4Z1puSnZiU0JjSW1OeWVYQjBiMXdpTzF4dWFXMXdiM0owSUhzZ2NESTFOaUI5SUdaeWIyMGdYQ0pBYm05aWJHVXZZM1Z5ZG1WekwyNXBjM1JjSWp0Y2JseHVaWGh3YjNKMElHTnNZWE56SUVoVFRWTnBaMjVsY2taaFkzUnZjbmxEZFhOMGIyMGdlMXh1SUNCemRHRjBhV01nSTNCclkzTXhNVG9nY0d0amN6RXhMbEJMUTFNeE1TQjhJRzUxYkd3Z1BTQnVkV3hzTzF4dUlDQnpkR0YwYVdNZ0kybHVhWFJwWVd4cGVtVmtJRDBnWm1Gc2MyVTdYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9iR2xpY21GeWVUb2djM1J5YVc1bktTQjdYRzRnSUNBZ2FXWWdLQ0ZJVTAxVGFXZHVaWEpHWVdOMGIzSjVRM1Z6ZEc5dExpTndhMk56TVRFcElIdGNiaUFnSUNBZ0lFaFRUVk5wWjI1bGNrWmhZM1J2Y25sRGRYTjBiMjB1STNCclkzTXhNU0E5SUc1bGR5QndhMk56TVRFdVVFdERVekV4S0NrN1hHNGdJQ0FnSUNCSVUwMVRhV2R1WlhKR1lXTjBiM0o1UTNWemRHOXRMaU53YTJOek1URXViRzloWkNoMGFHbHpMbVpwYm1SSVUwMVFTME5UTVRGTWFXSW9iR2xpY21GeWVTa3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2doU0ZOTlUybG5ibVZ5Um1GamRHOXllVU4xYzNSdmJTNGphVzVwZEdsaGJHbDZaV1FwSUh0Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJRWhUVFZOcFoyNWxja1poWTNSdmNubERkWE4wYjIwdUkzQnJZM014TVM1RFgwbHVhWFJwWVd4cGVtVW9LVHRjYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1U2SUhWdWEyNXZkMjRwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdhV2R1YjNKbElGd2lZV3h5WldGa2VTQnBibWwwYVdGc2FYcGxaRndpSUdsbUlIUmxjM1J6SUM4Z2FHOTBJSEpsYkc5aFpITWdZMkYxYzJVZ2NtVjFjMlZjYmlBZ0lDQWdJQ0FnYVdZZ0tDaGxJR0Z6SUdGdWVTa3VZMjlrWlNBaFBUMGdjR3RqY3pFeExrTkxVbDlEVWxsUVZFOUxTVjlCVEZKRlFVUlpYMGxPU1ZSSlFVeEpXa1ZFS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1pUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdTRk5OVTJsbmJtVnlSbUZqZEc5eWVVTjFjM1J2YlM0amFXNXBkR2xoYkdsNlpXUWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1ptbHVaRWhUVFZCTFExTXhNVXhwWWloc2FXSS9PaUJ6ZEhKcGJtY3BPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lHTnZibk4wSUdOdmJXMXZibE52Wm5SSVUwMVFZWFJvVG1GdFpYTWdQU0JiWEc0Z0lDQWdJQ0JjSWk5MWMzSXZiR2xpTDNOdlpuUm9jMjB2YkdsaWMyOW1kR2h6YlRJdWMyOWNJaXhjYmlBZ0lDQWdJRndpTDNWemNpOXNhV0l2ZURnMlh6WTBMV3hwYm5WNExXZHVkUzl6YjJaMGFITnRMMnhwWW5OdlpuUm9jMjB5TG5OdlhDSXNYRzRnSUNBZ0lDQmNJaTkxYzNJdmJHOWpZV3d2YkdsaUwzTnZablJvYzIwdmJHbGljMjltZEdoemJUSXVjMjljSWl4Y2JpQWdJQ0FnSUZ3aUwzVnpjaTlzYVdJdmJHbGlZV056Y0Mxd2EyTnpNVEV1YzI5Y0lpeGNiaUFnSUNBZ0lGd2lMMjl3ZEM5b2IyMWxZbkpsZHk5c2FXSXZjMjltZEdoemJTOXNhV0p6YjJaMGFITnRNaTV6YjF3aUxGeHVJQ0FnSUYwN1hHNWNiaUFnSUNCcFppQW9iR2xpS1NCamIyMXRiMjVUYjJaMFNGTk5VR0YwYUU1aGJXVnpMbkIxYzJnb2JHbGlLVHRjYmx4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnY0dGMGFHNWhiV1ZVYjFSeWVTQnZaaUJqYjIxdGIyNVRiMlowU0ZOTlVHRjBhRTVoYldWektTQjdYRzRnSUNBZ0lDQnBaaUFvWm5NdVpYaHBjM1J6VTNsdVl5aHdZWFJvYm1GdFpWUnZWSEo1S1NrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NHRjBhRzVoYldWVWIxUnllVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dUV2x6YzJsdVoxQkxRMU5UTVRGTWFXSW9YQ0pWYm1GaWJHVWdkRzhnWm1sdVpDQlFTME5UTVRFZ2JHbGljbUZ5ZVZ3aUtUdGNiaUFnZlZ4dVhHNGdJR1JwYzNCdmMyVW9LU0I3WEc0Z0lDQWdTRk5OVTJsbmJtVnlSbUZqZEc5eWVVTjFjM1J2YlM0amNHdGpjekV4SVM1RFgwWnBibUZzYVhwbEtDazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJSE5oYm1sMGFYcGxUM0IwYVc5dWN5aG9jMjFUYVdkdVpYSlBjSFJwYjI1ek9pQklVMDFEYjI1bWFXY3BJSHRjYmlBZ0lDQmpiMjV6ZENCdmNIUnBiMjV6SUQwZ1QySnFaV04wTG1GemMybG5iaWhjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZFhObGNsUjVjR1U2SUhCclkzTXhNUzVEUzFWZlZWTkZVaXhjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0JvYzIxVGFXZHVaWEpQY0hScGIyNXpYRzRnSUNBZ0tUdGNiaUFnSUNCMGFHbHpMbUZ6YzJWeWRFNXZkRVZ0Y0hSNUtHOXdkR2x2Ym5NdWJHRmlaV3dzSUZ3aWJHRmlaV3hjSWlrN1hHNGdJQ0FnZEdocGN5NWhjM05sY25ST2IzUkZiWEIwZVNodmNIUnBiMjV6TG5CcGJpd2dYQ0p3YVc1Y0lpazdYRzRnSUNBZ2RHaHBjeTVoYzNObGNuUk9iM1JGYlhCMGVTaHZjSFJwYjI1ekxtbGtaVzUwYVdacFpYSWdZWE1nZFc1cmJtOTNiaUJoY3lCemRISnBibWNzSUZ3aWFXUmxiblJwWm1sbGNsd2lLVHRjYmlBZ0lDQnlaWFIxY200Z2IzQjBhVzl1Y3p0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1lYTnpaWEowVG05MFJXMXdkSGtvY0hKdmNHVnlkSGs2SUhOMGNtbHVaeXdnYm1GdFpUb2djM1J5YVc1bktTQjdYRzRnSUNBZ2FXWWdLQ0Z3Y205d1pYSjBlU0I4ZkNCd2NtOXdaWEowZVM1MGIxTjBjbWx1WnlncExuUnlhVzBvS1M1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdKSHR1WVcxbGZTQndjbTl3WlhKMGVTQnRkWE4wSUdKbElIQnliM1pwWkdWa1lDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQm1hVzVrVTJ4dmRFWnZja3hoWW1Wc0tIQnJZM014TVV4aFltVnNPaUJ6ZEhKcGJtY3BJSHRjYmlBZ0lDQmpiMjV6ZENCemJHOTBjeUE5SUNoY2JpQWdJQ0FnSUVoVFRWTnBaMjVsY2taaFkzUnZjbmxEZFhOMGIyMHVJM0JyWTNNeE1TQmhjeUJ3YTJOek1URXVVRXREVXpFeFhHNGdJQ0FnS1M1RFgwZGxkRk5zYjNSTWFYTjBLSFJ5ZFdVcE8xeHVJQ0FnSUdsbUlDaHpiRzkwY3k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGNJazV2SUhCclkzTXhNU0J6Ykc5MGN5QmpZVzRnWW1VZ1ptOTFibVJjSWlrN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElITnNiM1FnUFNCemJHOTBjeTVtYVc1a0tDaHpiRzkwVkc5RGFHVmphem9nY0d0amN6RXhMa2hoYm1Sc1pTa2dQVDRnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkRzlyWlc1SmJtWnZJRDBnS0Z4dUlDQWdJQ0FnSUNCSVUwMVRhV2R1WlhKR1lXTjBiM0o1UTNWemRHOXRMaU53YTJOek1URWdZWE1nY0d0amN6RXhMbEJMUTFNeE1WeHVJQ0FnSUNBZ0tTNURYMGRsZEZSdmEyVnVTVzVtYnloemJHOTBWRzlEYUdWamF5azdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHOXJaVzVKYm1adkxteGhZbVZzTG5SeWFXMG9LU0E5UFQwZ2NHdGpjekV4VEdGaVpXdzdYRzRnSUNBZ2ZTazdYRzRnSUNBZ2FXWWdLQ0Z6Ykc5MEtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lHQnNZV0psYkNBa2UzQnJZM014TVV4aFltVnNmU0JqWVc1dWIzUWdZbVVnWm05MWJtUWdhVzRnZEdobElIQnJZM014TVNCemJHOTBJR3hwYzNSZ1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdjMnh2ZER0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ2JHOW5hVzRvYzJWemMybHZiam9nY0d0amN6RXhMa2hoYm1Sc1pTd2dkWE5sY2xSNWNHVTZJRzUxYldKbGNpd2djR2x1T2lCemRISnBibWNwSUh0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0tFaFRUVk5wWjI1bGNrWmhZM1J2Y25sRGRYTjBiMjB1STNCclkzTXhNU0JoY3lCd2EyTnpNVEV1VUV0RFV6RXhLUzVEWDB4dloybHVLRnh1SUNBZ0lDQWdJQ0J6WlhOemFXOXVMRnh1SUNBZ0lDQWdJQ0IxYzJWeVZIbHdaU3hjYmlBZ0lDQWdJQ0FnY0dsdVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNqb2dkVzVyYm05M2Jpa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2NHdGpjekV4WlhKeUlEMGdaWEp5SUdGeklIc2dZMjlrWlRvZ2JuVnRZbVZ5SUgwN1hHNGdJQ0FnSUNCcFppQW9jR3RqY3pFeFpYSnlMbU52WkdVZ0lUMDlJSEJyWTNNeE1TNURTMUpmVlZORlVsOUJURkpGUVVSWlgweFBSMGRGUkY5SlRpa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5Qmxjbkk3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JtYVc1a1QySnFaV04wU1c1SVUwMG9YRzRnSUNBZ2MyVnpjMmx2YmpvZ2NHdGpjekV4TGtoaGJtUnNaU3hjYmlBZ0lDQnJaWGwwZVhCbE9pQnVkVzFpWlhJc1hHNGdJQ0FnYVdSbGJuUnBabWxsY2pvZ1lXNTVYRzRnSUNrZ2UxeHVJQ0FnSUdOdmJuTjBJSEJyWTNNeE1WUmxiWEJzWVhSbElEMGdXMXh1SUNBZ0lDQWdleUIwZVhCbE9pQndhMk56TVRFdVEwdEJYMGxFTENCMllXeDFaVG9nYVdSbGJuUnBabWxsY2lCOUxGeHVJQ0FnSUNBZ2V5QjBlWEJsT2lCd2EyTnpNVEV1UTB0QlgwTk1RVk5UTENCMllXeDFaVG9nYTJWNWRIbHdaU0I5TEZ4dUlDQWdJQ0FnZXlCMGVYQmxPaUJ3YTJOek1URXVRMHRCWDB0RldWOVVXVkJGTENCMllXeDFaVG9nY0d0amN6RXhMa05MUzE5RlF5QjlMRnh1SUNBZ0lGMDdYRzVjYmlBZ0lDQW9TRk5OVTJsbmJtVnlSbUZqZEc5eWVVTjFjM1J2YlM0amNHdGpjekV4SUdGeklIQnJZM014TVM1UVMwTlRNVEVwTGtOZlJtbHVaRTlpYW1WamRITkpibWwwS0Z4dUlDQWdJQ0FnYzJWemMybHZiaXhjYmlBZ0lDQWdJSEJyWTNNeE1WUmxiWEJzWVhSbFhHNGdJQ0FnS1R0Y2JpQWdJQ0JqYjI1emRDQm9jMjFQWW1wbFkzUWdQU0FvWEc0Z0lDQWdJQ0JJVTAxVGFXZHVaWEpHWVdOMGIzSjVRM1Z6ZEc5dExpTndhMk56TVRFZ1lYTWdjR3RqY3pFeExsQkxRMU14TVZ4dUlDQWdJQ2t1UTE5R2FXNWtUMkpxWldOMGN5aHpaWE56YVc5dUxDQXhLVnN3WFR0Y2JpQWdJQ0JwWmlBb0lXaHpiVTlpYW1WamRDa2dlMXh1SUNBZ0lDQWdLRWhUVFZOcFoyNWxja1poWTNSdmNubERkWE4wYjIwdUkzQnJZM014TVNCaGN5QndhMk56TVRFdVVFdERVekV4S1M1RFgwWnBibVJQWW1wbFkzUnpSbWx1WVd3b1hHNGdJQ0FnSUNBZ0lITmxjM05wYjI1Y2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUdCVmJtRmliR1VnZEc4Z1ptbHVaQ0J2WW1wbFkzUWdhVzRnU0ZOTklIZHBkR2dnU1VRZ0pIdHBaR1Z1ZEdsbWFXVnlMblJ2VTNSeWFXNW5LQ2w5WUZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdLRWhUVFZOcFoyNWxja1poWTNSdmNubERkWE4wYjIwdUkzQnJZM014TVNCaGN5QndhMk56TVRFdVVFdERVekV4S1M1RFgwWnBibVJQWW1wbFkzUnpSbWx1WVd3b1hHNGdJQ0FnSUNCelpYTnphVzl1WEc0Z0lDQWdLVHRjYmlBZ0lDQnlaWFIxY200Z2FITnRUMkpxWldOME8xeHVJQ0I5WEc1Y2JpQWdibVYzVTJsbmJtVnlLR2h6YlZOcFoyNWxjazl3ZEdsdmJuTTZJRWhUVFVOdmJtWnBaeWtnZTF4dUlDQWdJR052Ym5OMElHOXdkR2x2Ym5NZ1BTQjBhR2x6TG5OaGJtbDBhWHBsVDNCMGFXOXVjeWhvYzIxVGFXZHVaWEpQY0hScGIyNXpLVHRjYmlBZ0lDQmpiMjV6ZENCd2EyTnpJRDBnU0ZOTlUybG5ibVZ5Um1GamRHOXllVU4xYzNSdmJTNGpjR3RqY3pFeElHRnpJSEJyWTNNeE1TNVFTME5UTVRFN1hHNGdJQ0FnWTI5dWMzUWdjMnh2ZENBOUlIUm9hWE11Wm1sdVpGTnNiM1JHYjNKTVlXSmxiQ2h2Y0hScGIyNXpMbXhoWW1Wc0tUdGNiaUFnSUNCamIyNXpkQ0J6WlhOemFXOXVJRDBnY0d0amN5NURYMDl3Wlc1VFpYTnphVzl1S0hOc2IzUXNJSEJyWTNNeE1TNURTMFpmVTBWU1NVRk1YMU5GVTFOSlQwNHBPMXh1SUNBZ0lHeGxkQ0J3Y21sMllYUmxTMlY1U0dGdVpHeGxPMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0IwYUdsekxteHZaMmx1S0hObGMzTnBiMjRzSUc5d2RHbHZibk11ZFhObGNsUjVjR1VzSUc5d2RHbHZibk11Y0dsdUtUdGNiaUFnSUNBZ0lIQnlhWFpoZEdWTFpYbElZVzVrYkdVZ1BTQjBhR2x6TG1acGJtUlBZbXBsWTNSSmJraFRUU2hjYmlBZ0lDQWdJQ0FnYzJWemMybHZiaXhjYmlBZ0lDQWdJQ0FnY0d0amN6RXhMa05MVDE5UVVrbFdRVlJGWDB0RldTeGNiaUFnSUNBZ0lDQWdiM0IwYVc5dWN5NXBaR1Z1ZEdsbWFXVnlYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVnljaWtnZTF4dUlDQWdJQ0FnS0VoVFRWTnBaMjVsY2taaFkzUnZjbmxEZFhOMGIyMHVJM0JyWTNNeE1TQmhjeUJ3YTJOek1URXVVRXREVXpFeEtTNURYME5zYjNObFUyVnpjMmx2YmloelpYTnphVzl1S1R0Y2JpQWdJQ0FnSUhSb2NtOTNJR1Z5Y2p0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lITnBaMjVsY2pvZ1lYTjVibU1nS0dScFoyVnpkRG9nWVc1NUtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNoSVUwMVRhV2R1WlhKR1lXTjBiM0o1UTNWemRHOXRMaU53YTJOek1URWdZWE1nY0d0amN6RXhMbEJMUTFNeE1Ta3VRMTlUYVdkdVNXNXBkQ2hjYmlBZ0lDQWdJQ0FnSUNCelpYTnphVzl1TEZ4dUlDQWdJQ0FnSUNBZ0lIc2diV1ZqYUdGdWFYTnRPaUJ3YTJOek1URXVRMHROWDBWRFJGTkJJSDBzWEc0Z0lDQWdJQ0FnSUNBZ2NISnBkbUYwWlV0bGVVaGhibVJzWlZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCamIyMXdZV04wVTJsbmJtRjBkWEpsSUQwZ1lYZGhhWFFnS0Z4dUlDQWdJQ0FnSUNBZ0lFaFRUVk5wWjI1bGNrWmhZM1J2Y25sRGRYTjBiMjB1STNCclkzTXhNU0JoY3lCd2EyTnpNVEV1VUV0RFV6RXhYRzRnSUNBZ0lDQWdJQ2t1UTE5VGFXZHVRWE41Ym1Nb1hHNGdJQ0FnSUNBZ0lDQWdjMlZ6YzJsdmJpeGNiaUFnSUNBZ0lDQWdJQ0JDZFdabVpYSXVabkp2YlNoa2FXZGxjM1FwTEZ4dUlDQWdJQ0FnSUNBZ0lDOHZJRVZESUhOcFoyNWhkSFZ5WlhNZ2FHRjJaU0JzWlc1bmRHZ2diMllnTW00Z1lXTmpiM0prYVc1bklIUnZJSFJvWlNCUVMwTlRNVEVnYzNCbFl6cGNiaUFnSUNBZ0lDQWdJQ0F2THlCb2RIUndjem92TDJSdlkzTXViMkZ6YVhNdGIzQmxiaTV2Y21jdmNHdGpjekV4TDNCclkzTXhNUzF6Y0dWakwzWXpMakV2Y0d0amN6RXhMWE53WldNdGRqTXVNUzVvZEcxc1hHNGdJQ0FnSUNBZ0lDQWdRblZtWm1WeUxtRnNiRzlqS0hBeU5UWXVVRzlwYm5RdVJtNHVRbGxVUlZNZ0tpQXlLVnh1SUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY0RJMU5pNVRhV2R1WVhSMWNtVXVabkp2YlVKNWRHVnpLR052YlhCaFkzUlRhV2R1WVhSMWNtVXNJRndpWTI5dGNHRmpkRndpS1Z4dUlDQWdJQ0FnSUNBZ0lDNXViM0p0WVd4cGVtVlRLQ2xjYmlBZ0lDQWdJQ0FnSUNBdWRHOUNlWFJsY3loY0ltUmxjbHdpS1R0Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCamJHOXpaVG9nS0NrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FvU0ZOTlUybG5ibVZ5Um1GamRHOXllVU4xYzNSdmJTNGpjR3RqY3pFeElHRnpJSEJyWTNNeE1TNVFTME5UTVRFcExrTmZRMnh2YzJWVFpYTnphVzl1S0Z4dUlDQWdJQ0FnSUNBZ0lITmxjM05wYjI1Y2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdZWE56WlhKMFJHVm1hVzVsWkR4VVBpaDJZV3gxWlRvZ1ZDQjhJSFZ1WkdWbWFXNWxaQ2s2SUZRZ2UxeHVJQ0FnSUdsbUlDaDJZV3gxWlNBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9YQ0p5WlhGMWFYSmxaQ0IyWVd4MVpTQjNZWE1nZFc1a1pXWnBibVZrWENJcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIyWVd4MVpUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdaMlYwVlc1amIyMXdjbVZ6YzJWa1VHOXBiblJQYmtOMWNuWmxLR3RsZVRvZ1kzSjVjSFJ2TGt0bGVVOWlhbVZqZENrNklFSjFabVpsY2lCN1hHNGdJQ0FnWTI5dWMzUWdhbmRySUQwZ2EyVjVMbVY0Y0c5eWRDaDdJR1p2Y20xaGREb2dYQ0pxZDJ0Y0lpQjlLVHRjYmlBZ0lDQmpiMjV6ZENCNElEMGdRblZtWm1WeUxtWnliMjBvZEdocGN5NWhjM05sY25SRVpXWnBibVZrS0dwM2F5NTRLU3dnWENKaVlYTmxOalIxY214Y0lpazdYRzRnSUNBZ1kyOXVjM1FnZVNBOUlFSjFabVpsY2k1bWNtOXRLSFJvYVhNdVlYTnpaWEowUkdWbWFXNWxaQ2hxZDJzdWVTa3NJRndpWW1GelpUWTBkWEpzWENJcE8xeHVJQ0FnSUdOdmJuTjBJSEJ5WldacGVDQTlJRUoxWm1abGNpNW1jbTl0S0Z3aU1EUmNJaXdnWENKb1pYaGNJaWs3WEc0Z0lDQWdjbVYwZFhKdUlFSjFabVpsY2k1amIyNWpZWFFvVzNCeVpXWnBlQ3dnZUN3Z2VWMHBPMXh1SUNCOVhHNWNiaUFnWjJWMFUwdEpSbkp2YlVObGNuUnBabWxqWVhSbFVHRjBhQ2hqWlhKMFVHRjBhRG9nYzNSeWFXNW5LU0I3WEc0Z0lDQWdZMjl1YzNRZ2NDQTlJR05sY25SUVlYUm9MbVZ1WkhOWGFYUm9LRndpTG5CbGJWd2lLVnh1SUNBZ0lDQWdQeUJqWlhKMFVHRjBhRnh1SUNBZ0lDQWdPaUJ3WVhSb0xtcHZhVzRvWTJWeWRGQmhkR2dzSUZ3aVkyVnlkQzV3WlcxY0lpazdYRzRnSUNBZ1kyOXVjM1FnWTNKbFpHVnVkR2xoYkhNZ1BTQm1jeTV5WldGa1JtbHNaVk41Ym1Nb2NDazdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVuWlhSVFMwbEdjbTl0UTJWeWRHbG1hV05oZEdVb1kzSmxaR1Z1ZEdsaGJITXBPMXh1SUNCOVhHNWNiaUFnWjJWMFUwdEpSbkp2YlVObGNuUnBabWxqWVhSbEtHTmxjblE2SUhOMGNtbHVaeUI4SUU1dmJsTm9ZWEpsWkVKMVptWmxjaWs2SUVKMVptWmxjaUI3WEc0Z0lDQWdZMjl1YzNRZ1kyVnlkR2xtYVdOaGRHVWdQU0J1WlhjZ1kzSjVjSFJ2TGxnMU1EbERaWEowYVdacFkyRjBaU2hqWlhKMEtUdGNiaUFnSUNCamIyNXpkQ0IxYm1OdmJYQnlaWE56WldSUWIybHVkQ0E5SUhSb2FYTXVaMlYwVlc1amIyMXdjbVZ6YzJWa1VHOXBiblJQYmtOMWNuWmxLRnh1SUNBZ0lDQWdZMlZ5ZEdsbWFXTmhkR1V1Y0hWaWJHbGpTMlY1WEc0Z0lDQWdLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQmpjbmx3ZEc4dVkzSmxZWFJsU0dGemFDaGNJbk5vWVRJMU5sd2lLUzUxY0dSaGRHVW9kVzVqYjIxd2NtVnpjMlZrVUc5cGJuUXBMbVJwWjJWemRDZ3BPMXh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnU0ZOTlEyOXVabWxuSUh0Y2JpQWdiR0ZpWld3NklITjBjbWx1Wnp0Y2JpQWdhV1JsYm5ScFptbGxjam9nUW5WbVptVnlQRUZ5Y21GNVFuVm1abVZ5VEdsclpUNDdYRzRnSUhCcGJqb2djM1J5YVc1bk8xeHVmVnh1SWwxOSJdfQ==
|
|
165
|
+
//# sourceMappingURL=fabric-hsm.js.map
|
|
166
|
+
//# sourceMappingURL=fabric-hsm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fabric-hsm.js","sourceRoot":"","sources":["fabric-hsm.js"],"names":[],"mappings":"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"}
|
|
@@ -27,5 +27,5 @@ function extractIds(clazz, models, ids) {
|
|
|
27
27
|
}
|
|
28
28
|
return extractId(models, ids);
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=
|
|
31
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=id-extraction.js.map
|
|
31
|
+
//# sourceMappingURL=id-extraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-extraction.js","sourceRoot":"","sources":["id-extraction.js"],"names":[],"mappings":";;AAGA,gCAsBC;AAzBD,yEAAuD;AACvD,2DAAwD;AACxD,2DAAgE;AAChE,SAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IACzC,IAAI,EAAE,CAAC;IACP,IAAI,QAAQ,CAAC;IACb,IAAI,OAAO,CAAC;IACZ,SAAS,SAAS,CAAC,CAAC,EAAE,GAAG;QACrB,EAAE,GAAG,EAAE,IAAI,4BAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,OAAO,IAAI,4BAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9C,QAAQ,GAAG,QAAQ,IAAI,4BAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAA,qCAAqB,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC;QACxB,IAAI,OAAO,EAAE,KAAK,WAAW;YACzB,MAAM,IAAI,6BAAa,CAAC,4BAA4B,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YACnD,MAAM,IAAI,6BAAa,CAAC,8DAA8D,CAAC,CAAC;QAC5F,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AACD,yCAAyC"}
|
|
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./id-extraction.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,iCAAiC"}
|
package/lib/cjs/client/index.cjs
CHANGED
|
@@ -32,10 +32,11 @@ __exportStar(require("./constants.cjs"), exports);
|
|
|
32
32
|
__exportStar(require("./crypto.cjs"), exports);
|
|
33
33
|
__exportStar(require("./services/index.cjs"), exports);
|
|
34
34
|
__exportStar(require("./FabricClientDispatch.cjs"), exports);
|
|
35
|
+
__exportStar(require("./FabricClientContext.cjs"), exports);
|
|
35
36
|
__exportStar(require("./fabric-fs.cjs"), exports);
|
|
36
37
|
__exportStar(require("./FabricClientAdapter.cjs"), exports);
|
|
37
38
|
__exportStar(require("./FabricClientRepository.cjs"), exports);
|
|
38
39
|
__exportStar(require("./../shared/types.cjs"), exports);
|
|
39
40
|
__exportStar(require("./utils.cjs"), exports);
|
|
40
|
-
//# sourceMappingURL=
|
|
41
|
-
//# sourceMappingURL=
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,yDAAuC;AACvC,mDAAiC;AACjC,iDAA+B;AAC/B,qDAAmC;AACnC,sDAAoC;AACpC,iDAA+B;AAC/B,8CAA4B;AAC5B,sDAAoC;AACpC,4DAA0C;AAC1C,2DAAyC;AACzC,iDAA+B;AAC/B,2DAAyC;AACzC,8DAA4C;AAC5C,uDAAqC;AACrC,6CAA2B;AAC3B,iCAAiC"}
|
|
@@ -9,9 +9,7 @@ exports.writeDesignDocs = writeDesignDocs;
|
|
|
9
9
|
const for_couchdb_1 = require("@decaf-ts/for-couchdb");
|
|
10
10
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
11
11
|
function ensureDirectoryExistence(filePath) {
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
13
12
|
const fs = require("fs");
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
15
13
|
const path = require("path");
|
|
16
14
|
const dirname = path.dirname(filePath);
|
|
17
15
|
if (fs.existsSync(dirname)) {
|
|
@@ -32,28 +30,22 @@ function generateModelDesignDocs(m, accum) {
|
|
|
32
30
|
return views;
|
|
33
31
|
}
|
|
34
32
|
function readModelFile(file) {
|
|
35
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
36
33
|
const path = require("path");
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
38
34
|
const filePath = path.resolve(file.parentPath, file.name);
|
|
39
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
40
35
|
const exports = require(filePath);
|
|
41
36
|
const values = Object.values(exports).filter((e) => {
|
|
42
37
|
try {
|
|
43
38
|
const m = new e();
|
|
44
39
|
return m instanceof decorator_validation_1.Model;
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
46
40
|
}
|
|
47
|
-
catch
|
|
41
|
+
catch {
|
|
48
42
|
return false;
|
|
49
43
|
}
|
|
50
44
|
});
|
|
51
45
|
return values;
|
|
52
46
|
}
|
|
53
47
|
async function readModelFolders(...folders) {
|
|
54
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
55
48
|
const fs = require("fs");
|
|
56
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
57
49
|
const path = require("path");
|
|
58
50
|
const result = [];
|
|
59
51
|
for (const folder of folders) {
|
|
@@ -71,9 +63,7 @@ async function readModelFolders(...folders) {
|
|
|
71
63
|
return result;
|
|
72
64
|
}
|
|
73
65
|
function writeIndexes(indexes, p = process.cwd(), collection) {
|
|
74
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
75
66
|
const fs = require("fs");
|
|
76
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
77
67
|
const path = require("path");
|
|
78
68
|
indexes.forEach((index) => {
|
|
79
69
|
const file = path.resolve(path.join(p, `./META-INF/statedb/couchdb/${collection ? `collections/${collection}/` : ""}indexes/${index.name}.json`));
|
|
@@ -84,9 +74,7 @@ function writeIndexes(indexes, p = process.cwd(), collection) {
|
|
|
84
74
|
function writeDesignDocs(designDocs, p = process.cwd(), collection) {
|
|
85
75
|
if (!designDocs.length)
|
|
86
76
|
return;
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
88
77
|
const fs = require("fs");
|
|
89
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
90
78
|
const path = require("path");
|
|
91
79
|
designDocs.forEach((doc) => {
|
|
92
80
|
const docId = doc._id.replace(/^_design\//, "");
|
|
@@ -97,5 +85,5 @@ function writeDesignDocs(designDocs, p = process.cwd(), collection) {
|
|
|
97
85
|
fs.writeFileSync(file, JSON.stringify(payload, undefined, 2));
|
|
98
86
|
});
|
|
99
87
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnQvaW5kZXhlcy9nZW5lcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFHTCxlQUFlLEVBQ2YsYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBb0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl6RSxTQUFTLHdCQUF3QixDQUFDLFFBQWdCO0lBQ2hELGlFQUFpRTtJQUNqRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsaUVBQWlFO0lBQ2pFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsQ0FBaUI7SUFFakIsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLENBQWlCLEVBQ2pCLEtBQXdDO0lBRXhDLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsTUFBTSxPQUFPLEdBQXFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDOUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxHQUFH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YXRpb25cIjtcbmltcG9ydCB7XG4gIENyZWF0ZUluZGV4UmVxdWVzdCxcbiAgQ291Y2hEQkRlc2lnbkRvYyxcbiAgZ2VuZXJhdGVJbmRleGVzLFxuICBnZW5lcmF0ZVZpZXdzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1jb3VjaGRiXCI7XG5pbXBvcnQgeyBNb2RlbCwgTW9kZWxDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuZXhwb3J0IHR5cGUgSW5kZXggPSBDcmVhdGVJbmRleFJlcXVlc3Q7XG5cbmZ1bmN0aW9uIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShmaWxlUGF0aDogc3RyaW5nKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gIGNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gIGNvbnN0IGRpcm5hbWU6IHN0cmluZyA9IHBhdGguZGlybmFtZShmaWxlUGF0aCk7XG4gIGlmIChmcy5leGlzdHNTeW5jKGRpcm5hbWUpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgZW5zdXJlRGlyZWN0b3J5RXhpc3RlbmNlKGRpcm5hbWUpO1xuICBmcy5ta2RpclN5bmMoZGlybmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1vZGVsSW5kZXhlczxNIGV4dGVuZHMgTW9kZWw+KFxuICBtOiBDb25zdHJ1Y3RvcjxNPlxuKTogSW5kZXhbXSB7XG4gIHJldHVybiBnZW5lcmF0ZUluZGV4ZXMoW21dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTW9kZWxEZXNpZ25Eb2NzPE0gZXh0ZW5kcyBNb2RlbD4oXG4gIG06IENvbnN0cnVjdG9yPE0+LFxuICBhY2N1bT86IFJlY29yZDxzdHJpbmcsIENvdWNoREJEZXNpZ25Eb2M+XG4pOiBDb3VjaERCRGVzaWduRG9jW10ge1xuICBjb25zdCB2aWV3cyA9IGdlbmVyYXRlVmlld3MoW21dKTtcbiAgY29uc3Qgc3RvcmFnZTogUmVjb3JkPHN0cmluZywgQ291Y2hEQkRlc2lnbkRvYz4gPSBhY2N1bSB8fCB7fTtcbiAgdmlld3MuZm9yRWFjaCgoZG9jKSA9PiB7XG4gICAgc3RvcmFnZVtkb2MuX2lkXSA9IGRvYztcbiAgfSk7XG4gIHJldHVybiB2aWV3cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRNb2RlbEZpbGUoZmlsZTogYW55KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gIGNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgY29uc3QgZmlsZVBhdGggPSBwYXRoLnJlc29sdmUoZmlsZS5wYXJlbnRQYXRoLCBmaWxlLm5hbWUpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBleHBvcnRzID0gcmVxdWlyZShmaWxlUGF0aCk7XG5cbiAgY29uc3QgdmFsdWVzID0gT2JqZWN0LnZhbHVlcyhleHBvcnRzKS5maWx0ZXIoKGUpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbSA9IG5ldyAoZSBhcyBDb25zdHJ1Y3RvcikoKTtcbiAgICAgIHJldHVybiBtIGluc3RhbmNlb2YgTW9kZWw7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSkgYXMgTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+W107XG4gIHJldHVybiB2YWx1ZXM7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkTW9kZWxGb2xkZXJzKFxuICAuLi5mb2xkZXJzOiBzdHJpbmdbXVxuKTogUHJvbWlzZTxNb2RlbENvbnN0cnVjdG9yPGFueT5bXT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBmcyA9IHJlcXVpcmUoXCJmc1wiKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgY29uc3QgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuXG4gIGNvbnN0IHJlc3VsdDogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+W10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGZvbGRlciBvZiBmb2xkZXJzKSB7XG4gICAgY29uc3QgcmVzb2x2ZWRGb2xkZXIgPSBwYXRoLnJlc29sdmUoZm9sZGVyKTtcbiAgICBjb25zdCBmaWxlcyA9IGZzXG4gICAgICAucmVhZGRpclN5bmMocmVzb2x2ZWRGb2xkZXIsIHtcbiAgICAgICAgd2l0aEZpbGVUeXBlczogdHJ1ZSxcbiAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGY6IGFueSkgPT4gZi5pc0ZpbGUoKSAmJiBmLm5hbWUuZW5kc1dpdGgoXCJqc1wiKSk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICByZXN1bHQucHVzaCguLi5yZWFkTW9kZWxGaWxlKGZpbGUpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlSW5kZXhlcyhcbiAgaW5kZXhlczogSW5kZXhbXSxcbiAgcDogc3RyaW5nID0gcHJvY2Vzcy5jd2QoKSxcbiAgY29sbGVjdGlvbj86IHN0cmluZ1xuKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gIGNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5cbiAgaW5kZXhlcy5mb3JFYWNoKChpbmRleCkgPT4ge1xuICAgIGNvbnN0IGZpbGUgPSBwYXRoLnJlc29sdmUoXG4gICAgICBwYXRoLmpvaW4oXG4gICAgICAgIHAsXG4gICAgICAgIGAuL01FVEEtSU5GL3N0YXRlZGIvY291Y2hkYi8ke2NvbGxlY3Rpb24gPyBgY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9ufS9gIDogXCJcIn1pbmRleGVzLyR7aW5kZXgubmFtZX0uanNvbmBcbiAgICAgIClcbiAgICApO1xuICAgIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShmaWxlKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGUsIEpTT04uc3RyaW5naWZ5KGluZGV4LCB1bmRlZmluZWQsIDIpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZURlc2lnbkRvY3MoXG4gIGRlc2lnbkRvY3M6IENvdWNoREJEZXNpZ25Eb2NbXSxcbiAgcDogc3RyaW5nID0gcHJvY2Vzcy5jd2QoKSxcbiAgY29sbGVjdGlvbj86IHN0cmluZ1xuKSB7XG4gIGlmICghZGVzaWduRG9jcy5sZW5ndGgpIHJldHVybjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gIGNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcblxuICBkZXNpZ25Eb2NzLmZvckVhY2goKGRvYykgPT4ge1xuICAgIGNvbnN0IGRvY0lkID0gZG9jLl9pZC5yZXBsYWNlKC9eX2Rlc2lnblxcLy8sIFwiXCIpO1xuICAgIGNvbnN0IGZpbGUgPSBwYXRoLnJlc29sdmUoXG4gICAgICBwYXRoLmpvaW4oXG4gICAgICAgIHAsXG4gICAgICAgIGAuL01FVEEtSU5GL3N0YXRlZGIvY291Y2hkYi8ke2NvbGxlY3Rpb24gPyBgY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9ufS9gIDogXCJcIn1kZXNpZ25fZG9jcy8ke2RvY0lkfS5qc29uYFxuICAgICAgKVxuICAgICk7XG4gICAgZW5zdXJlRGlyZWN0b3J5RXhpc3RlbmNlKGZpbGUpO1xuICAgIGNvbnN0IHBheWxvYWQgPSB7IC4uLmRvYyB9O1xuICAgIGRlbGV0ZSBwYXlsb2FkLl9yZXY7XG4gICAgZnMud3JpdGVGaWxlU3luYyhmaWxlLCBKU09OLnN0cmluZ2lmeShwYXlsb2FkLCB1bmRlZmluZWQsIDIpKTtcbiAgfSk7XG59XG4iXX0=
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdlbmVyYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQSxvREFFQztBQUNELDBEQU9DO0FBQ0Qsc0NBa0JDO0FBQ0QsNENBbUJDO0FBQ0Qsb0NBVUM7QUFDRCwwQ0FlQztBQTFGRCx1REFBd0U7QUFDeEUseUVBQXVEO0FBQ3ZELFNBQVMsd0JBQXdCLENBQUMsUUFBUTtJQUN0QyxpRUFBaUU7SUFDakUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLGlFQUFpRTtJQUNqRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0Qsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBQ0QsU0FBZ0Isb0JBQW9CLENBQUMsQ0FBQztJQUNsQyxPQUFPLElBQUEsNkJBQWUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUNELFNBQWdCLHVCQUF1QixDQUFDLENBQUMsRUFBRSxLQUFLO0lBQzVDLE1BQU0sS0FBSyxHQUFHLElBQUEsMkJBQWEsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsTUFBTSxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7SUFD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LENBQUMsQ0FBQztBQUNQLENBQUM7QUFDRCxTQUFnQixlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsVUFBVTtJQUNyRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU07UUFDbEIsT0FBTztJQUNYLGlFQUFpRTtJQUNqRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsaUVBQWlFO0lBQ2pFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDdkIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsOEJBQThCLFVBQVUsQ0FBQyxDQUFDLENBQUMsZUFBZSxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqSix3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDM0IsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3BCLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNELDhsVUFBOGxVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2VuZXJhdGVJbmRleGVzLCBnZW5lcmF0ZVZpZXdzLCB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLWNvdWNoZGJcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuZnVuY3Rpb24gZW5zdXJlRGlyZWN0b3J5RXhpc3RlbmNlKGZpbGVQYXRoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICBjb25zdCBmcyA9IHJlcXVpcmUoXCJmc1wiKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIGNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbiAgICBjb25zdCBkaXJuYW1lID0gcGF0aC5kaXJuYW1lKGZpbGVQYXRoKTtcbiAgICBpZiAoZnMuZXhpc3RzU3luYyhkaXJuYW1lKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZW5zdXJlRGlyZWN0b3J5RXhpc3RlbmNlKGRpcm5hbWUpO1xuICAgIGZzLm1rZGlyU3luYyhkaXJuYW1lKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1vZGVsSW5kZXhlcyhtKSB7XG4gICAgcmV0dXJuIGdlbmVyYXRlSW5kZXhlcyhbbV0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTW9kZWxEZXNpZ25Eb2NzKG0sIGFjY3VtKSB7XG4gICAgY29uc3Qgdmlld3MgPSBnZW5lcmF0ZVZpZXdzKFttXSk7XG4gICAgY29uc3Qgc3RvcmFnZSA9IGFjY3VtIHx8IHt9O1xuICAgIHZpZXdzLmZvckVhY2goKGRvYykgPT4ge1xuICAgICAgICBzdG9yYWdlW2RvYy5faWRdID0gZG9jO1xuICAgIH0pO1xuICAgIHJldHVybiB2aWV3cztcbn1cbmV4cG9ydCBmdW5jdGlvbiByZWFkTW9kZWxGaWxlKGZpbGUpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIGNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5yZXNvbHZlKGZpbGUucGFyZW50UGF0aCwgZmlsZS5uYW1lKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIGNvbnN0IGV4cG9ydHMgPSByZXF1aXJlKGZpbGVQYXRoKTtcbiAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKGV4cG9ydHMpLmZpbHRlcigoZSkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbSA9IG5ldyBlKCk7XG4gICAgICAgICAgICByZXR1cm4gbSBpbnN0YW5jZW9mIE1vZGVsO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdmFsdWVzO1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRNb2RlbEZvbGRlcnMoLi4uZm9sZGVycykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgZm9yIChjb25zdCBmb2xkZXIgb2YgZm9sZGVycykge1xuICAgICAgICBjb25zdCByZXNvbHZlZEZvbGRlciA9IHBhdGgucmVzb2x2ZShmb2xkZXIpO1xuICAgICAgICBjb25zdCBmaWxlcyA9IGZzXG4gICAgICAgICAgICAucmVhZGRpclN5bmMocmVzb2x2ZWRGb2xkZXIsIHtcbiAgICAgICAgICAgIHdpdGhGaWxlVHlwZXM6IHRydWUsXG4gICAgICAgICAgICByZWN1cnNpdmU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgICAgICAuZmlsdGVyKChmKSA9PiBmLmlzRmlsZSgpICYmIGYubmFtZS5lbmRzV2l0aChcImpzXCIpKTtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCguLi5yZWFkTW9kZWxGaWxlKGZpbGUpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlSW5kZXhlcyhpbmRleGVzLCBwID0gcHJvY2Vzcy5jd2QoKSwgY29sbGVjdGlvbikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gICAgaW5kZXhlcy5mb3JFYWNoKChpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlID0gcGF0aC5yZXNvbHZlKHBhdGguam9pbihwLCBgLi9NRVRBLUlORi9zdGF0ZWRiL2NvdWNoZGIvJHtjb2xsZWN0aW9uID8gYGNvbGxlY3Rpb25zLyR7Y29sbGVjdGlvbn0vYCA6IFwiXCJ9aW5kZXhlcy8ke2luZGV4Lm5hbWV9Lmpzb25gKSk7XG4gICAgICAgIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShmaWxlKTtcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlLCBKU09OLnN0cmluZ2lmeShpbmRleCwgdW5kZWZpbmVkLCAyKSk7XG4gICAgfSk7XG59XG5leHBvcnQgZnVuY3Rpb24gd3JpdGVEZXNpZ25Eb2NzKGRlc2lnbkRvY3MsIHAgPSBwcm9jZXNzLmN3ZCgpLCBjb2xsZWN0aW9uKSB7XG4gICAgaWYgKCFkZXNpZ25Eb2NzLmxlbmd0aClcbiAgICAgICAgcmV0dXJuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gICAgZGVzaWduRG9jcy5mb3JFYWNoKChkb2MpID0+IHtcbiAgICAgICAgY29uc3QgZG9jSWQgPSBkb2MuX2lkLnJlcGxhY2UoL15fZGVzaWduXFwvLywgXCJcIik7XG4gICAgICAgIGNvbnN0IGZpbGUgPSBwYXRoLnJlc29sdmUocGF0aC5qb2luKHAsIGAuL01FVEEtSU5GL3N0YXRlZGIvY291Y2hkYi8ke2NvbGxlY3Rpb24gPyBgY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9ufS9gIDogXCJcIn1kZXNpZ25fZG9jcy8ke2RvY0lkfS5qc29uYCkpO1xuICAgICAgICBlbnN1cmVEaXJlY3RvcnlFeGlzdGVuY2UoZmlsZSk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB7IC4uLmRvYyB9O1xuICAgICAgICBkZWxldGUgcGF5bG9hZC5fcmV2O1xuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGUsIEpTT04uc3RyaW5naWZ5KHBheWxvYWQsIHVuZGVmaW5lZCwgMikpO1xuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWjJWdVpYSmhkR2x2Ymk1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiR2xsYm5RdmFXNWtaWGhsY3k5blpXNWxjbUYwYVc5dUxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVU5CTEU5QlFVOHNSVUZIVEN4bFFVRmxMRVZCUTJZc1lVRkJZU3hIUVVOa0xFMUJRVTBzZFVKQlFYVkNMRU5CUVVNN1FVRkRMMElzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCYjBJc1RVRkJUU3huUTBGQlowTXNRMEZCUXp0QlFVbDZSU3hUUVVGVExIZENRVUYzUWl4RFFVRkRMRkZCUVdkQ08wbEJRMmhFTEdsRlFVRnBSVHRKUVVOcVJTeE5RVUZOTEVWQlFVVXNSMEZCUnl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRGVrSXNhVVZCUVdsRk8wbEJRMnBGTEUxQlFVMHNTVUZCU1N4SFFVRkhMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU0zUWl4TlFVRk5MRTlCUVU4c1IwRkJWeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMGxCUXk5RExFbEJRVWtzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSU3hEUVVGRE8xRkJRek5DTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVORUxIZENRVUYzUWl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8wbEJRMnhETEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03UVVGRGVFSXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3h2UWtGQmIwSXNRMEZEYkVNc1EwRkJhVUk3U1VGRmFrSXNUMEZCVHl4bFFVRmxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6bENMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzZFVKQlFYVkNMRU5CUTNKRExFTkJRV2xDTEVWQlEycENMRXRCUVhkRE8wbEJSWGhETEUxQlFVMHNTMEZCU3l4SFFVRkhMR0ZCUVdFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEYWtNc1RVRkJUU3hQUVVGUExFZEJRWEZETEV0QlFVc3NTVUZCU1N4RlFVRkZMRU5CUVVNN1NVRkRPVVFzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRk8xRkJRM0JDTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlEzcENMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMGdzVDBGQlR5eExRVUZMTEVOQlFVTTdRVUZEWml4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHRkJRV0VzUTBGQlF5eEpRVUZUTzBsQlEzSkRMR2xGUVVGcFJUdEpRVU5xUlN4TlFVRk5MRWxCUVVrc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdTVUZETjBJc2FVVkJRV2xGTzBsQlEycEZMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTVUZETVVRc2FVVkJRV2xGTzBsQlEycEZMRTFCUVUwc1QwRkJUeXhIUVVGSExFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0SlFVVnNReXhOUVVGTkxFMUJRVTBzUjBGQlJ5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTJwRUxFbEJRVWtzUTBGQlF6dFpRVU5JTEUxQlFVMHNRMEZCUXl4SFFVRkhMRWxCUVVzc1EwRkJhVUlzUlVGQlJTeERRVUZETzFsQlEyNURMRTlCUVU4c1EwRkJReXhaUVVGWkxFdEJRVXNzUTBGQlF6dFpRVU14UWl3MlJFRkJOa1E3VVVGREwwUXNRMEZCUXp0UlFVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03V1VGRGNFSXNUMEZCVHl4TFFVRkxMRU5CUVVNN1VVRkRaaXhEUVVGRE8wbEJRMGdzUTBGQlF5eERRVUUwUWl4RFFVRkRPMGxCUXpsQ0xFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENMRU5CUVVNN1FVRkZSQ3hOUVVGTkxFTkJRVU1zUzBGQlN5eFZRVUZWTEdkQ1FVRm5RaXhEUVVOd1F5eEhRVUZITEU5QlFXbENPMGxCUlhCQ0xHbEZRVUZwUlR0SlFVTnFSU3hOUVVGTkxFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRla0lzYVVWQlFXbEZPMGxCUTJwRkxFMUJRVTBzU1VGQlNTeEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVVM1FpeE5RVUZOTEUxQlFVMHNSMEZCTkVJc1JVRkJSU3hEUVVGRE8wbEJSVE5ETEV0QlFVc3NUVUZCVFN4TlFVRk5MRWxCUVVrc1QwRkJUeXhGUVVGRkxFTkJRVU03VVVGRE4wSXNUVUZCVFN4alFVRmpMRWRCUVVjc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTTFReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eEZRVUZGTzJGQlEySXNWMEZCVnl4RFFVRkRMR05CUVdNc1JVRkJSVHRaUVVNelFpeGhRVUZoTEVWQlFVVXNTVUZCU1R0WlFVTnVRaXhUUVVGVExFVkJRVVVzU1VGQlNUdFRRVU5vUWl4RFFVRkRPMkZCUTBRc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU16UkN4TFFVRkxMRTFCUVUwc1NVRkJTU3hKUVVGSkxFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEzcENMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eGhRVUZoTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOMFF5eERRVUZETzBsQlEwZ3NRMEZCUXp0SlFVTkVMRTlCUVU4c1RVRkJUU3hEUVVGRE8wRkJRMmhDTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1dVRkJXU3hEUVVNeFFpeFBRVUZuUWl4RlFVTm9RaXhKUVVGWkxFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZEZWtJc1ZVRkJiVUk3U1VGRmJrSXNhVVZCUVdsRk8wbEJRMnBGTEUxQlFVMHNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU42UWl4cFJVRkJhVVU3U1VGRGFrVXNUVUZCVFN4SlFVRkpMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlJUZENMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTjRRaXhOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVTjJRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVU5RTEVOQlFVTXNSVUZEUkN3NFFrRkJPRUlzVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4bFFVRmxMRlZCUVZVc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEZkQlFWY3NTMEZCU3l4RFFVRkRMRWxCUVVrc1QwRkJUeXhEUVVONlJ5eERRVU5HTEVOQlFVTTdVVUZEUml4M1FrRkJkMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTXZRaXhGUVVGRkxFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUlVGQlJTeFRRVUZUTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVNNVJDeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTk1MRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWlVGQlpTeERRVU0zUWl4VlFVRTRRaXhGUVVNNVFpeEpRVUZaTEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkRla0lzVlVGQmJVSTdTVUZGYmtJc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eE5RVUZOTzFGQlFVVXNUMEZCVHp0SlFVTXZRaXhwUlVGQmFVVTdTVUZEYWtVc1RVRkJUU3hGUVVGRkxFZEJRVWNzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUTNwQ0xHbEZRVUZwUlR0SlFVTnFSU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkZOMElzVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRk8xRkJRM3BDTEUxQlFVMHNTMEZCU3l4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEZsQlFWa3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVOb1JDeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVOMlFpeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVTlFMRU5CUVVNc1JVRkRSQ3c0UWtGQk9FSXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhsUVVGbExGVkJRVlVzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMR1ZCUVdVc1MwRkJTeXhQUVVGUExFTkJRM2hITEVOQlEwWXNRMEZCUXp0UlFVTkdMSGRDUVVGM1FpeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUXk5Q0xFMUJRVTBzVDBGQlR5eEhRVUZITEVWQlFVVXNSMEZCUnl4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVNelFpeFBRVUZQTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkRjRUlzUlVGQlJTeERRVUZETEdGQlFXRXNRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVWQlFVVXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGFFVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRUQ3hEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRMjl1YzNSeWRXTjBiM0lnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJwYjI1Y0lqdGNibWx0Y0c5eWRDQjdYRzRnSUVOeVpXRjBaVWx1WkdWNFVtVnhkV1Z6ZEN4Y2JpQWdRMjkxWTJoRVFrUmxjMmxuYmtSdll5eGNiaUFnWjJWdVpYSmhkR1ZKYm1SbGVHVnpMRnh1SUNCblpXNWxjbUYwWlZacFpYZHpMRnh1ZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJadmNpMWpiM1ZqYUdSaVhDSTdYRzVwYlhCdmNuUWdleUJOYjJSbGJDd2dUVzlrWld4RGIyNXpkSEoxWTNSdmNpQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHOXlMWFpoYkdsa1lYUnBiMjVjSWp0Y2JseHVaWGh3YjNKMElIUjVjR1VnU1c1a1pYZ2dQU0JEY21WaGRHVkpibVJsZUZKbGNYVmxjM1E3WEc1Y2JtWjFibU4wYVc5dUlHVnVjM1Z5WlVScGNtVmpkRzl5ZVVWNGFYTjBaVzVqWlNobWFXeGxVR0YwYURvZ2MzUnlhVzVuS1NCN1hHNGdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym04dGNtVnhkV2x5WlMxcGJYQnZjblJ6WEc0Z0lHTnZibk4wSUdaeklEMGdjbVZ4ZFdseVpTaGNJbVp6WENJcE8xeHVJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYSmxjWFZwY21VdGFXMXdiM0owYzF4dUlDQmpiMjV6ZENCd1lYUm9JRDBnY21WeGRXbHlaU2hjSW5CaGRHaGNJaWs3WEc0Z0lHTnZibk4wSUdScGNtNWhiV1U2SUhOMGNtbHVaeUE5SUhCaGRHZ3VaR2x5Ym1GdFpTaG1hV3hsVUdGMGFDazdYRzRnSUdsbUlDaG1jeTVsZUdsemRITlRlVzVqS0dScGNtNWhiV1VwS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJSDFjYmlBZ1pXNXpkWEpsUkdseVpXTjBiM0o1UlhocGMzUmxibU5sS0dScGNtNWhiV1VwTzF4dUlDQm1jeTV0YTJScGNsTjVibU1vWkdseWJtRnRaU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm5aVzVsY21GMFpVMXZaR1ZzU1c1a1pYaGxjenhOSUdWNGRHVnVaSE1nVFc5a1pXdytLRnh1SUNCdE9pQkRiMjV6ZEhKMVkzUnZjanhOUGx4dUtUb2dTVzVrWlhoYlhTQjdYRzRnSUhKbGRIVnliaUJuWlc1bGNtRjBaVWx1WkdWNFpYTW9XMjFkS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsYm1WeVlYUmxUVzlrWld4RVpYTnBaMjVFYjJOelBFMGdaWGgwWlc1a2N5Qk5iMlJsYkQ0b1hHNGdJRzA2SUVOdmJuTjBjblZqZEc5eVBFMCtMRnh1SUNCaFkyTjFiVDg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJRU52ZFdOb1JFSkVaWE5wWjI1RWIyTStYRzRwT2lCRGIzVmphRVJDUkdWemFXZHVSRzlqVzEwZ2UxeHVJQ0JqYjI1emRDQjJhV1YzY3lBOUlHZGxibVZ5WVhSbFZtbGxkM01vVzIxZEtUdGNiaUFnWTI5dWMzUWdjM1J2Y21GblpUb2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1EyOTFZMmhFUWtSbGMybG5ia1J2WXo0Z1BTQmhZMk4xYlNCOGZDQjdmVHRjYmlBZ2RtbGxkM011Wm05eVJXRmphQ2dvWkc5aktTQTlQaUI3WEc0Z0lDQWdjM1J2Y21GblpWdGtiMk11WDJsa1hTQTlJR1J2WXp0Y2JpQWdmU2s3WEc0Z0lISmxkSFZ5YmlCMmFXVjNjenRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlISmxZV1JOYjJSbGJFWnBiR1VvWm1sc1pUb2dZVzU1S1NCN1hHNGdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym04dGNtVnhkV2x5WlMxcGJYQnZjblJ6WEc0Z0lHTnZibk4wSUhCaGRHZ2dQU0J5WlhGMWFYSmxLRndpY0dGMGFGd2lLVHRjYmlBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVieTF5WlhGMWFYSmxMV2x0Y0c5eWRITmNiaUFnWTI5dWMzUWdabWxzWlZCaGRHZ2dQU0J3WVhSb0xuSmxjMjlzZG1Vb1ptbHNaUzV3WVhKbGJuUlFZWFJvTENCbWFXeGxMbTVoYldVcE8xeHVJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYSmxjWFZwY21VdGFXMXdiM0owYzF4dUlDQmpiMjV6ZENCbGVIQnZjblJ6SUQwZ2NtVnhkV2x5WlNobWFXeGxVR0YwYUNrN1hHNWNiaUFnWTI5dWMzUWdkbUZzZFdWeklEMGdUMkpxWldOMExuWmhiSFZsY3lobGVIQnZjblJ6S1M1bWFXeDBaWElvS0dVcElEMCtJSHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdiU0E5SUc1bGR5QW9aU0JoY3lCRGIyNXpkSEoxWTNSdmNpa29LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnRJR2x1YzNSaGJtTmxiMllnVFc5a1pXdzdYRzRnSUNBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMMjV2TFhWdWRYTmxaQzEyWVhKelhHNGdJQ0FnZlNCallYUmphQ0FvWlRvZ2RXNXJibTkzYmlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnZlNrZ1lYTWdUVzlrWld4RGIyNXpkSEoxWTNSdmNqeGhibmsrVzEwN1hHNGdJSEpsZEhWeWJpQjJZV3gxWlhNN1hHNTlYRzVjYm1WNGNHOXlkQ0JoYzNsdVl5Qm1kVzVqZEdsdmJpQnlaV0ZrVFc5a1pXeEdiMnhrWlhKektGeHVJQ0F1TGk1bWIyeGtaWEp6T2lCemRISnBibWRiWFZ4dUtUb2dVSEp2YldselpUeE5iMlJsYkVOdmJuTjBjblZqZEc5eVBHRnVlVDViWFQ0Z2UxeHVJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYSmxjWFZwY21VdGFXMXdiM0owYzF4dUlDQmpiMjV6ZENCbWN5QTlJSEpsY1hWcGNtVW9YQ0ptYzF3aUtUdGNiaUFnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5dWJ5MXlaWEYxYVhKbExXbHRjRzl5ZEhOY2JpQWdZMjl1YzNRZ2NHRjBhQ0E5SUhKbGNYVnBjbVVvWENKd1lYUm9YQ0lwTzF4dVhHNGdJR052Ym5OMElISmxjM1ZzZERvZ1RXOWtaV3hEYjI1emRISjFZM1J2Y2p4aGJuaytXMTBnUFNCYlhUdGNibHh1SUNCbWIzSWdLR052Ym5OMElHWnZiR1JsY2lCdlppQm1iMnhrWlhKektTQjdYRzRnSUNBZ1kyOXVjM1FnY21WemIyeDJaV1JHYjJ4a1pYSWdQU0J3WVhSb0xuSmxjMjlzZG1Vb1ptOXNaR1Z5S1R0Y2JpQWdJQ0JqYjI1emRDQm1hV3hsY3lBOUlHWnpYRzRnSUNBZ0lDQXVjbVZoWkdScGNsTjVibU1vY21WemIyeDJaV1JHYjJ4a1pYSXNJSHRjYmlBZ0lDQWdJQ0FnZDJsMGFFWnBiR1ZVZVhCbGN6b2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ2NtVmpkWEp6YVhabE9pQjBjblZsTEZ4dUlDQWdJQ0FnZlNsY2JpQWdJQ0FnSUM1bWFXeDBaWElvS0dZNklHRnVlU2tnUFQ0Z1ppNXBjMFpwYkdVb0tTQW1KaUJtTG01aGJXVXVaVzVrYzFkcGRHZ29YQ0pxYzF3aUtTazdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQm1hV3hsSUc5bUlHWnBiR1Z6S1NCN1hHNGdJQ0FnSUNCeVpYTjFiSFF1Y0hWemFDZ3VMaTV5WldGa1RXOWtaV3hHYVd4bEtHWnBiR1VwS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNiaUFnY21WMGRYSnVJSEpsYzNWc2REdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhkeWFYUmxTVzVrWlhobGN5aGNiaUFnYVc1a1pYaGxjem9nU1c1a1pYaGJYU3hjYmlBZ2NEb2djM1J5YVc1bklEMGdjSEp2WTJWemN5NWpkMlFvS1N4Y2JpQWdZMjlzYkdWamRHbHZiajg2SUhOMGNtbHVaMXh1S1NCN1hHNGdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym04dGNtVnhkV2x5WlMxcGJYQnZjblJ6WEc0Z0lHTnZibk4wSUdaeklEMGdjbVZ4ZFdseVpTaGNJbVp6WENJcE8xeHVJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYSmxjWFZwY21VdGFXMXdiM0owYzF4dUlDQmpiMjV6ZENCd1lYUm9JRDBnY21WeGRXbHlaU2hjSW5CaGRHaGNJaWs3WEc1Y2JpQWdhVzVrWlhobGN5NW1iM0pGWVdOb0tDaHBibVJsZUNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUdacGJHVWdQU0J3WVhSb0xuSmxjMjlzZG1Vb1hHNGdJQ0FnSUNCd1lYUm9MbXB2YVc0b1hHNGdJQ0FnSUNBZ0lIQXNYRzRnSUNBZ0lDQWdJR0F1TDAxRlZFRXRTVTVHTDNOMFlYUmxaR0l2WTI5MVkyaGtZaThrZTJOdmJHeGxZM1JwYjI0Z1B5QmdZMjlzYkdWamRHbHZibk12Skh0amIyeHNaV04wYVc5dWZTOWdJRG9nWENKY0luMXBibVJsZUdWekx5UjdhVzVrWlhndWJtRnRaWDB1YW5OdmJtQmNiaUFnSUNBZ0lDbGNiaUFnSUNBcE8xeHVJQ0FnSUdWdWMzVnlaVVJwY21WamRHOXllVVY0YVhOMFpXNWpaU2htYVd4bEtUdGNiaUFnSUNCbWN5NTNjbWwwWlVacGJHVlRlVzVqS0dacGJHVXNJRXBUVDA0dWMzUnlhVzVuYVdaNUtHbHVaR1Y0TENCMWJtUmxabWx1WldRc0lESXBLVHRjYmlBZ2ZTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCM2NtbDBaVVJsYzJsbmJrUnZZM01vWEc0Z0lHUmxjMmxuYmtSdlkzTTZJRU52ZFdOb1JFSkVaWE5wWjI1RWIyTmJYU3hjYmlBZ2NEb2djM1J5YVc1bklEMGdjSEp2WTJWemN5NWpkMlFvS1N4Y2JpQWdZMjlzYkdWamRHbHZiajg2SUhOMGNtbHVaMXh1S1NCN1hHNGdJR2xtSUNnaFpHVnphV2R1Ukc5amN5NXNaVzVuZEdncElISmxkSFZ5Ymp0Y2JpQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1YnkxeVpYRjFhWEpsTFdsdGNHOXlkSE5jYmlBZ1kyOXVjM1FnWm5NZ1BTQnlaWEYxYVhKbEtGd2labk5jSWlrN1hHNGdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym04dGNtVnhkV2x5WlMxcGJYQnZjblJ6WEc0Z0lHTnZibk4wSUhCaGRHZ2dQU0J5WlhGMWFYSmxLRndpY0dGMGFGd2lLVHRjYmx4dUlDQmtaWE5wWjI1RWIyTnpMbVp2Y2tWaFkyZ29LR1J2WXlrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUdSdlkwbGtJRDBnWkc5akxsOXBaQzV5WlhCc1lXTmxLQzllWDJSbGMybG5ibHhjTHk4c0lGd2lYQ0lwTzF4dUlDQWdJR052Ym5OMElHWnBiR1VnUFNCd1lYUm9MbkpsYzI5c2RtVW9YRzRnSUNBZ0lDQndZWFJvTG1wdmFXNG9YRzRnSUNBZ0lDQWdJSEFzWEc0Z0lDQWdJQ0FnSUdBdUwwMUZWRUV0U1U1R0wzTjBZWFJsWkdJdlkyOTFZMmhrWWk4a2UyTnZiR3hsWTNScGIyNGdQeUJnWTI5c2JHVmpkR2x2Ym5NdkpIdGpiMnhzWldOMGFXOXVmUzlnSURvZ1hDSmNJbjFrWlhOcFoyNWZaRzlqY3k4a2UyUnZZMGxrZlM1cWMyOXVZRnh1SUNBZ0lDQWdLVnh1SUNBZ0lDazdYRzRnSUNBZ1pXNXpkWEpsUkdseVpXTjBiM0o1UlhocGMzUmxibU5sS0dacGJHVXBPMXh1SUNBZ0lHTnZibk4wSUhCaGVXeHZZV1FnUFNCN0lDNHVMbVJ2WXlCOU8xeHVJQ0FnSUdSbGJHVjBaU0J3WVhsc2IyRmtMbDl5WlhZN1hHNGdJQ0FnWm5NdWQzSnBkR1ZHYVd4bFUzbHVZeWhtYVd4bExDQktVMDlPTG5OMGNtbHVaMmxtZVNod1lYbHNiMkZrTENCMWJtUmxabWx1WldRc0lESXBLVHRjYmlBZ2ZTazdYRzU5WEc0aVhYMD0iXX0=
|
|
88
|
+
//# sourceMappingURL=generation.js.map
|
|
89
|
+
//# sourceMappingURL=generation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generation.js","sourceRoot":"","sources":["generation.js"],"names":[],"mappings":"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"}
|
|
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./generation.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iCAAiC"}
|
|
@@ -99,5 +99,5 @@ const factory = (object, config) => {
|
|
|
99
99
|
};
|
|
100
100
|
// Set the factory as the default logger factory
|
|
101
101
|
logging_1.Logging.setFactory(factory);
|
|
102
|
-
//# sourceMappingURL=
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0NBQXFGO0FBQ3JGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQWEsWUFBYSxTQUFRLG9CQUFVO0lBQ3hDLFlBQVksT0FBTyxFQUFFLElBQUk7UUFDckIsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksb0JBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0JHO0lBQ0gsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSztRQUNqQixJQUFJLDBCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsMEJBQWdCLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxJQUFJLE1BQU0sQ0FBQztRQUNYLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFDWixLQUFLLGtCQUFRLENBQUMsSUFBSTtnQkFDZCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLE1BQU07WUFDVixLQUFLLGtCQUFRLENBQUMsT0FBTztnQkFDakIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUM3QixNQUFNO1lBQ1YsS0FBSyxrQkFBUSxDQUFDLEtBQUs7Z0JBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1lBQ1YsS0FBSyxrQkFBUSxDQUFDLEtBQUs7Z0JBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1lBQ1YsS0FBSyxrQkFBUSxDQUFDLEtBQUs7Z0JBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1lBQ1Y7Z0JBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNKO0FBdERELG9DQXNEQztBQUNEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7SUFDL0IsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUM7QUFDRixnREFBZ0Q7QUFDaEQsaUJBQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDNUIsMHdPQUEwd08iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnaW5nLCBMb2dMZXZlbCwgTWluaUxvZ2dlciwgTnVtZXJpY0xvZ0xldmVscywgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbi8qKlxuICogQGRlc2NyaXB0aW9uIExvZ2dlciBpbXBsZW1lbnRhdGlvbiB0YWlsb3JlZCBmb3IgSHlwZXJsZWRnZXIgRmFicmljIGNsaWVudHMuXG4gKiBAc3VtbWFyeSBBZGFwdHMgdGhlIGRlY2FmLXRzIE1pbmlMb2dnZXIgdG8gcm91dGUgbWVzc2FnZXMgdGhyb3VnaCBhIHBlci1jb250ZXh0IEZhYnJpYyBsb2dnZXIsIGhvbm9yaW5nIGNvbmZpZ3VyZWQgbG9nIGxldmVscyBhbmQgZm9ybWF0dGluZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0IC0gVGhlIGxvZ2dpbmcgY29udGV4dCBuYW1lIHVzZWQgdG8gc2NvcGUgdGhlIGxvZ2dlciBpbnN0YW5jZS5cbiAqIEBwYXJhbSB7UGFydGlhbDxMb2dnaW5nQ29uZmlnPiB8IHVuZGVmaW5lZH0gY29uZiAtIE9wdGlvbmFsIGxvZ2dpbmcgY29uZmlndXJhdGlvbiB0byBvdmVycmlkZSBkZWZhdWx0cyBmb3IgdGhpcyBjb250ZXh0LlxuICogQGNsYXNzIEZhYnJpY0xvZ2dlclxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEluIGEgRmFicmljIGNsaWVudC9zZXJ2aWNlXG4gKiBjb25zdCBsb2dnZXIgPSBuZXcgRmFicmljTG9nZ2VyKCdNeUZhYnJpY1NlcnZpY2UnLCB7IGxldmVsOiAnaW5mbycgfSk7XG4gKiBsb2dnZXIuaW5mbygnUHJvY2Vzc2luZyB0cmFuc2FjdGlvbicpO1xuICogbG9nZ2VyLmRlYnVnKCdUcmFuc2FjdGlvbiBkZXRhaWxzJywgeyB0eElkOiAnMTIzJyB9KTtcbiAqIGxvZ2dlci5lcnJvcignU29tZXRoaW5nIHdlbnQgd3JvbmcnKTtcbiAqIGBgYFxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBhdXRvbnVtYmVyXG4gKiAgIHBhcnRpY2lwYW50IEMgYXMgQ2FsbGVyXG4gKiAgIHBhcnRpY2lwYW50IEZMIGFzIEZhYnJpY0xvZ2dlclxuICogICBwYXJ0aWNpcGFudCBNTCBhcyBNaW5pTG9nZ2VyIChkZWxlZ2F0ZSlcbiAqICAgQy0+PkZMOiBpbmZvKCdQcm9jZXNzaW5nIHRyYW5zYWN0aW9uJylcbiAqICAgRkwtPj5GTDogY3JlYXRlTG9nKGxldmVsLG1zZyxzdGFjaylcbiAqICAgRkwtPj5NTDogaW5mbyhsb2cpXG4gKiAgIEMtPj5GTDogZXJyb3IobmV3IEVycm9yKCd4JykpXG4gKiAgIEZMLT4+Rkw6IGNyZWF0ZUxvZyhsZXZlbCxtc2csc3RhY2spXG4gKiAgIEZMLT4+TUw6IGVycm9yKGxvZylcbiAqL1xuZXhwb3J0IGNsYXNzIEZhYnJpY0xvZ2dlciBleHRlbmRzIE1pbmlMb2dnZXIge1xuICAgIGNvbnN0cnVjdG9yKGNvbnRleHQsIGNvbmYpIHtcbiAgICAgICAgc3VwZXIoY29udGV4dCwgY29uZik7XG4gICAgICAgIHRoaXMubG9nZ2VyID0gbmV3IE1pbmlMb2dnZXIoY29udGV4dCwgY29uZik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgc3BlY2lmaWVkIGxldmVsLlxuICAgICAqIEBzdW1tYXJ5IE92ZXJyaWRlcyB0aGUgYmFzZSBNaW5pTG9nZ2VyLmxvZyB0byBmb3J3YXJkIHRvIHRoZSBpbnRlcm5hbCBGYWJyaWMtYXdhcmUgbG9nZ2VyLCBlbmZvcmNpbmcgY29uZmlndXJlZCB0aHJlc2hvbGRzLlxuICAgICAqIEBwYXJhbSB7TG9nTGV2ZWx9IGxldmVsIC0gVGhlIGxvZyBsZXZlbCB0byB1c2UgZm9yIHRoaXMgbWVzc2FnZS5cbiAgICAgKiBAcGFyYW0ge1N0cmluZ0xpa2UgfCBFcnJvcn0gbXNnIC0gVGhlIG1lc3NhZ2Ugb3IgZXJyb3IgdG8gbG9nLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhY2tdIC0gT3B0aW9uYWwgc3RhY2sgdHJhY2Ugc3RyaW5nIGZvciBlcnJvcnMuXG4gICAgICogQHJldHVybiB7dm9pZH1cbiAgICAgKiBAbWVybWFpZFxuICAgICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgICAqICAgYXV0b251bWJlclxuICAgICAqICAgcGFydGljaXBhbnQgQyBhcyBDYWxsZXJcbiAgICAgKiAgIHBhcnRpY2lwYW50IEZMIGFzIEZhYnJpY0xvZ2dlclxuICAgICAqICAgcGFydGljaXBhbnQgTUwgYXMgTWluaUxvZ2dlciAoZGVsZWdhdGUpXG4gICAgICogICBDLT4+Rkw6IGxvZyhsZXZlbCwgbXNnLCBzdGFjaz8pXG4gICAgICogICBGTC0+PkZMOiBjaGVjayBjb25maWd1cmVkIGxldmVsXG4gICAgICogICBhbHQgYmVsb3cgdGhyZXNob2xkXG4gICAgICogICAgIEZMLS0+PkM6IHJldHVyblxuICAgICAqICAgZWxzZSBhYm92ZSB0aHJlc2hvbGRcbiAgICAgKiAgICAgRkwtPj5GTDogY3JlYXRlTG9nKGxldmVsLCBtc2csIHN0YWNrKVxuICAgICAqICAgICBGTC0+Pk1MOiBtZXRob2QuY2FsbChsb2dnZXIsIGxvZylcbiAgICAgKiAgICAgTUwtLT4+Rkw6IHZvaWRcbiAgICAgKiAgIGVuZFxuICAgICAqL1xuICAgIGxvZyhsZXZlbCwgbXNnLCBzdGFjaykge1xuICAgICAgICBpZiAoTnVtZXJpY0xvZ0xldmVsc1t0aGlzLmNvbmZpZyhcImxldmVsXCIpXSA8XG4gICAgICAgICAgICBOdW1lcmljTG9nTGV2ZWxzW2xldmVsXSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgbGV0IG1ldGhvZDtcbiAgICAgICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbC5pbmZvOlxuICAgICAgICAgICAgICAgIG1ldGhvZCA9IHRoaXMubG9nZ2VyLmluZm87XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIExvZ0xldmVsLnZlcmJvc2U6XG4gICAgICAgICAgICAgICAgbWV0aG9kID0gdGhpcy5sb2dnZXIudmVyYm9zZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWwuZGVidWc6XG4gICAgICAgICAgICAgICAgbWV0aG9kID0gdGhpcy5sb2dnZXIuZGVidWc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIExvZ0xldmVsLmVycm9yOlxuICAgICAgICAgICAgICAgIG1ldGhvZCA9IHRoaXMubG9nZ2VyLmVycm9yO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbC5zaWxseTpcbiAgICAgICAgICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci5zaWxseTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBsb2cgbGV2ZWxcIik7XG4gICAgICAgIH1cbiAgICAgICAgbWV0aG9kLmNhbGwodGhpcy5sb2dnZXIsIHRoaXMuY3JlYXRlTG9nKGxldmVsLCBtc2csIHN0YWNrKSk7XG4gICAgfVxufVxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgRmFicmljTG9nZ2VyIGluc3RhbmNlcy5cbiAqIEBzdW1tYXJ5IFByb2R1Y2VzIGEgbmV3IEZhYnJpY0xvZ2dlciBib3VuZCB0byB0aGUgcHJvdmlkZWQgY29udGV4dCBuYW1lIGFuZCBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdCAtIFRoZSBsb2dnaW5nIGNvbnRleHQgbmFtZS5cbiAqIEBwYXJhbSB7UGFydGlhbDxMb2dnaW5nQ29uZmlnPiB8IHVuZGVmaW5lZH0gY29uZmlnIC0gT3B0aW9uYWwgbG9nZ2luZyBjb25maWd1cmF0aW9uLlxuICogQHJldHVybiB7RmFicmljTG9nZ2VyfSBBIG5ldyBGYWJyaWNMb2dnZXIgaW5zdGFuY2UuXG4gKiBAZnVuY3Rpb24gZmFjdG9yeVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLmNsaWVudFxuICovXG5jb25zdCBmYWN0b3J5ID0gKG9iamVjdCwgY29uZmlnKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBGYWJyaWNMb2dnZXIob2JqZWN0IHx8IFwiTUlTU0lOR1wiLCBjb25maWcgfHwge30pO1xufTtcbi8vIFNldCB0aGUgZmFjdG9yeSBhcyB0aGUgZGVmYXVsdCBsb2dnZXIgZmFjdG9yeVxuTG9nZ2luZy5zZXRGYWN0b3J5KGZhY3RvcnkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYkc5bloybHVaeTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUwzTnlZeTlqYkdsbGJuUXZiRzluWjJsdVp5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4UFFVRlBMRVZCUlV3c1QwRkJUeXhGUVVWUUxGRkJRVkVzUlVGRFVpeFZRVUZWTEVWQlExWXNaMEpCUVdkQ0xFZEJSV3BDTEUxQlFVMHNiVUpCUVcxQ0xFTkJRVU03UVVGSE0wSTdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN08wZEJNRUpITzBGQlEwZ3NUVUZCVFN4UFFVRlBMRmxCUVdFc1UwRkJVU3hWUVVGVk8wbEJUVEZETEZsQlFWa3NUMEZCWlN4RlFVRkZMRWxCUVhkRE8xRkJRMjVGTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGNrSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhKUVVGSkxGVkJRVlVzUTBGQlF5eFBRVUZQTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRPVU1zUTBGQlF6dEpRVVZFT3pzN096czdPenM3T3pzN096czdPenM3T3pzN08wOUJjMEpITzBsQlEyZENMRWRCUVVjc1EwRkRjRUlzUzBGQlpTeEZRVU5tTEVkQlFYVkNMRVZCUTNaQ0xFdEJRV0U3VVVGRllpeEpRVU5GTEdkQ1FVRm5RaXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRmhMRU5CUVVNN1dVRkRiRVFzWjBKQlFXZENMRU5CUVVNc1MwRkJTeXhEUVVGRE8xbEJSWFpDTEU5QlFVODdVVUZGVkN4SlFVRkpMRTFCUVUwc1EwRkJRenRSUVVOWUxGRkJRVkVzUzBGQlN5eEZRVUZGTEVOQlFVTTdXVUZEWkN4TFFVRkxMRkZCUVZFc1EwRkJReXhKUVVGSk8yZENRVU5vUWl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTTdaMEpCUXpGQ0xFMUJRVTA3V1VGRFVpeExRVUZMTEZGQlFWRXNRMEZCUXl4UFFVRlBPMmRDUVVOdVFpeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU03WjBKQlF6ZENMRTFCUVUwN1dVRkRVaXhMUVVGTExGRkJRVkVzUTBGQlF5eExRVUZMTzJkQ1FVTnFRaXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRek5DTEUxQlFVMDdXVUZEVWl4TFFVRkxMRkZCUVZFc1EwRkJReXhMUVVGTE8yZENRVU5xUWl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTTdaMEpCUXpOQ0xFMUJRVTA3V1VGRFVpeExRVUZMTEZGQlFWRXNRMEZCUXl4TFFVRkxPMmRDUVVOcVFpeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU03WjBKQlF6TkNMRTFCUVUwN1dVRkRVanRuUWtGRFJTeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRzFDUVVGdFFpeERRVUZETEVOQlFVTTdVVUZEZWtNc1EwRkJRenRSUVVORUxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU01UkN4RFFVRkRPME5CUTBZN1FVRkZSRHM3T3pzN096czdSMEZSUnp0QlFVTklMRTFCUVUwc1QwRkJUeXhIUVVGclFpeERRVU0zUWl4TlFVRmxMRVZCUTJZc1RVRkJNa01zUlVGRE0wTXNSVUZCUlR0SlFVTkdMRTlCUVU4c1NVRkJTU3haUVVGWkxFTkJRVU1zVFVGQlRTeEpRVUZKTEZOQlFWTXNSVUZCUlN4TlFVRk5MRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRE4wUXNRMEZCUXl4RFFVRkRPMEZCUlVZc1owUkJRV2RFTzBGQlEyaEVMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdlMXh1SUNCTWIyZG5aWEpHWVdOMGIzSjVMRnh1SUNCTWIyZG5hVzVuTEZ4dUlDQk1iMmRuWlhJc1hHNGdJRXh2WjB4bGRtVnNMRnh1SUNCTmFXNXBURzluWjJWeUxGeHVJQ0JPZFcxbGNtbGpURzluVEdWMlpXeHpMRnh1SUNCVGRISnBibWRNYVd0bExGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMnh2WjJkcGJtZGNJanRjYm1sdGNHOXlkQ0I3SUV4dloyZHBibWREYjI1bWFXY2dmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMnh2WjJkcGJtZGNJanRjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdURzluWjJWeUlHbHRjR3hsYldWdWRHRjBhVzl1SUhSaGFXeHZjbVZrSUdadmNpQkllWEJsY214bFpHZGxjaUJHWVdKeWFXTWdZMnhwWlc1MGN5NWNiaUFxSUVCemRXMXRZWEo1SUVGa1lYQjBjeUIwYUdVZ1pHVmpZV1l0ZEhNZ1RXbHVhVXh2WjJkbGNpQjBieUJ5YjNWMFpTQnRaWE56WVdkbGN5QjBhSEp2ZFdkb0lHRWdjR1Z5TFdOdmJuUmxlSFFnUm1GaWNtbGpJR3h2WjJkbGNpd2dhRzl1YjNKcGJtY2dZMjl1Wm1sbmRYSmxaQ0JzYjJjZ2JHVjJaV3h6SUdGdVpDQm1iM0p0WVhSMGFXNW5MbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUdOdmJuUmxlSFFnTFNCVWFHVWdiRzluWjJsdVp5QmpiMjUwWlhoMElHNWhiV1VnZFhObFpDQjBieUJ6WTI5d1pTQjBhR1VnYkc5bloyVnlJR2x1YzNSaGJtTmxMbHh1SUNvZ1FIQmhjbUZ0SUh0UVlYSjBhV0ZzUEV4dloyZHBibWREYjI1bWFXYytJSHdnZFc1a1pXWnBibVZrZlNCamIyNW1JQzBnVDNCMGFXOXVZV3dnYkc5bloybHVaeUJqYjI1bWFXZDFjbUYwYVc5dUlIUnZJRzkyWlhKeWFXUmxJR1JsWm1GMWJIUnpJR1p2Y2lCMGFHbHpJR052Ym5SbGVIUXVYRzRnS2lCQVkyeGhjM01nUm1GaWNtbGpURzluWjJWeVhHNGdLaUJBWlhoaGJYQnNaVnh1SUNvZ1lHQmdkSGx3WlhOamNtbHdkRnh1SUNvZ0x5OGdTVzRnWVNCR1lXSnlhV01nWTJ4cFpXNTBMM05sY25acFkyVmNiaUFxSUdOdmJuTjBJR3h2WjJkbGNpQTlJRzVsZHlCR1lXSnlhV05NYjJkblpYSW9KMDE1Um1GaWNtbGpVMlZ5ZG1salpTY3NJSHNnYkdWMlpXdzZJQ2RwYm1adkp5QjlLVHRjYmlBcUlHeHZaMmRsY2k1cGJtWnZLQ2RRY205alpYTnphVzVuSUhSeVlXNXpZV04wYVc5dUp5azdYRzRnS2lCc2IyZG5aWEl1WkdWaWRXY29KMVJ5WVc1ellXTjBhVzl1SUdSbGRHRnBiSE1uTENCN0lIUjRTV1E2SUNjeE1qTW5JSDBwTzF4dUlDb2diRzluWjJWeUxtVnljbTl5S0NkVGIyMWxkR2hwYm1jZ2QyVnVkQ0IzY205dVp5Y3BPMXh1SUNvZ1lHQmdYRzRnS2lCQWJXVnliV0ZwWkZ4dUlDb2djMlZ4ZFdWdVkyVkVhV0ZuY21GdFhHNGdLaUFnSUdGMWRHOXVkVzFpWlhKY2JpQXFJQ0FnY0dGeWRHbGphWEJoYm5RZ1F5QmhjeUJEWVd4c1pYSmNiaUFxSUNBZ2NHRnlkR2xqYVhCaGJuUWdSa3dnWVhNZ1JtRmljbWxqVEc5bloyVnlYRzRnS2lBZ0lIQmhjblJwWTJsd1lXNTBJRTFNSUdGeklFMXBibWxNYjJkblpYSWdLR1JsYkdWbllYUmxLVnh1SUNvZ0lDQkRMVDQrUmt3NklHbHVabThvSjFCeWIyTmxjM05wYm1jZ2RISmhibk5oWTNScGIyNG5LVnh1SUNvZ0lDQkdUQzArUGtaTU9pQmpjbVZoZEdWTWIyY29iR1YyWld3c2JYTm5MSE4wWVdOcktWeHVJQ29nSUNCR1RDMCtQazFNT2lCcGJtWnZLR3h2WnlsY2JpQXFJQ0FnUXkwK1BrWk1PaUJsY25KdmNpaHVaWGNnUlhKeWIzSW9KM2duS1NsY2JpQXFJQ0FnUmt3dFBqNUdURG9nWTNKbFlYUmxURzluS0d4bGRtVnNMRzF6Wnl4emRHRmpheWxjYmlBcUlDQWdSa3d0UGo1TlREb2daWEp5YjNJb2JHOW5LVnh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nUm1GaWNtbGpURzluWjJWeUlHVjRkR1Z1WkhNZ1RXbHVhVXh2WjJkbGNpQjdYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdWR2hsSUhWdVpHVnliSGxwYm1jZ1JtRmljbWxqSUd4dloyZGxjaUJwYm5OMFlXNWpaVnh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUd4dloyZGxjam9nVEc5bloyVnlPMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLR052Ym5SbGVIUTZJSE4wY21sdVp5d2dZMjl1WmpvZ1VHRnlkR2xoYkR4TWIyZG5hVzVuUTI5dVptbG5QaUI4SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUhOMWNHVnlLR052Ym5SbGVIUXNJR052Ym1ZcE8xeHVJQ0FnSUhSb2FYTXViRzluWjJWeUlEMGdibVYzSUUxcGJtbE1iMmRuWlhJb1kyOXVkR1Y0ZEN3Z1kyOXVaaWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRXh2WjNNZ1lTQnRaWE56WVdkbElHRjBJSFJvWlNCemNHVmphV1pwWldRZ2JHVjJaV3d1WEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRTkyWlhKeWFXUmxjeUIwYUdVZ1ltRnpaU0JOYVc1cFRHOW5aMlZ5TG14dlp5QjBieUJtYjNKM1lYSmtJSFJ2SUhSb1pTQnBiblJsY201aGJDQkdZV0p5YVdNdFlYZGhjbVVnYkc5bloyVnlMQ0JsYm1admNtTnBibWNnWTI5dVptbG5kWEpsWkNCMGFISmxjMmh2YkdSekxseHVJQ0FnS2lCQWNHRnlZVzBnZTB4dloweGxkbVZzZlNCc1pYWmxiQ0F0SUZSb1pTQnNiMmNnYkdWMlpXd2dkRzhnZFhObElHWnZjaUIwYUdseklHMWxjM05oWjJVdVhHNGdJQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5UR2xyWlNCOElFVnljbTl5ZlNCdGMyY2dMU0JVYUdVZ2JXVnpjMkZuWlNCdmNpQmxjbkp2Y2lCMGJ5QnNiMmN1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJjM1JoWTJ0ZElDMGdUM0IwYVc5dVlXd2djM1JoWTJzZ2RISmhZMlVnYzNSeWFXNW5JR1p2Y2lCbGNuSnZjbk11WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM1p2YVdSOVhHNGdJQ0FxSUVCdFpYSnRZV2xrWEc0Z0lDQXFJSE5sY1hWbGJtTmxSR2xoWjNKaGJWeHVJQ0FnS2lBZ0lHRjFkRzl1ZFcxaVpYSmNiaUFnSUNvZ0lDQndZWEowYVdOcGNHRnVkQ0JESUdGeklFTmhiR3hsY2x4dUlDQWdLaUFnSUhCaGNuUnBZMmx3WVc1MElFWk1JR0Z6SUVaaFluSnBZMHh2WjJkbGNseHVJQ0FnS2lBZ0lIQmhjblJwWTJsd1lXNTBJRTFNSUdGeklFMXBibWxNYjJkblpYSWdLR1JsYkdWbllYUmxLVnh1SUNBZ0tpQWdJRU10UGo1R1REb2diRzluS0d4bGRtVnNMQ0J0YzJjc0lITjBZV05yUHlsY2JpQWdJQ29nSUNCR1RDMCtQa1pNT2lCamFHVmpheUJqYjI1bWFXZDFjbVZrSUd4bGRtVnNYRzRnSUNBcUlDQWdZV3gwSUdKbGJHOTNJSFJvY21WemFHOXNaRnh1SUNBZ0tpQWdJQ0FnUmt3dExUNCtRem9nY21WMGRYSnVYRzRnSUNBcUlDQWdaV3h6WlNCaFltOTJaU0IwYUhKbGMyaHZiR1JjYmlBZ0lDb2dJQ0FnSUVaTUxUNCtSa3c2SUdOeVpXRjBaVXh2Wnloc1pYWmxiQ3dnYlhObkxDQnpkR0ZqYXlsY2JpQWdJQ29nSUNBZ0lFWk1MVDQrVFV3NklHMWxkR2h2WkM1allXeHNLR3h2WjJkbGNpd2diRzluS1Z4dUlDQWdLaUFnSUNBZ1RVd3RMVDQrUmt3NklIWnZhV1JjYmlBZ0lDb2dJQ0JsYm1SY2JpQWdJQ292WEc0Z0lIQnliM1JsWTNSbFpDQnZkbVZ5Y21sa1pTQnNiMmNvWEc0Z0lDQWdiR1YyWld3NklFeHZaMHhsZG1Wc0xGeHVJQ0FnSUcxelp6b2dVM1J5YVc1blRHbHJaU0I4SUVWeWNtOXlMRnh1SUNBZ0lITjBZV05yUHpvZ1JYSnliM0pjYmlBZ0tTQjdYRzRnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdUblZ0WlhKcFkweHZaMHhsZG1Wc2MxdDBhR2x6TG1OdmJtWnBaeWhjSW14bGRtVnNYQ0lwSUdGeklFeHZaMHhsZG1Wc1hTQThYRzRnSUNBZ0lDQk9kVzFsY21salRHOW5UR1YyWld4elcyeGxkbVZzWFZ4dUlDQWdJQ2xjYmlBZ0lDQWdJSEpsZEhWeWJqdGNibHh1SUNBZ0lHeGxkQ0J0WlhSb2IyUTdYRzRnSUNBZ2MzZHBkR05vSUNoc1pYWmxiQ2tnZTF4dUlDQWdJQ0FnWTJGelpTQk1iMmRNWlhabGJDNXBibVp2T2x4dUlDQWdJQ0FnSUNCdFpYUm9iMlFnUFNCMGFHbHpMbXh2WjJkbGNpNXBibVp2TzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJR05oYzJVZ1RHOW5UR1YyWld3dWRtVnlZbTl6WlRwY2JpQWdJQ0FnSUNBZ2JXVjBhRzlrSUQwZ2RHaHBjeTVzYjJkblpYSXVkbVZ5WW05elpUdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCallYTmxJRXh2WjB4bGRtVnNMbVJsWW5Wbk9seHVJQ0FnSUNBZ0lDQnRaWFJvYjJRZ1BTQjBhR2x6TG14dloyZGxjaTVrWldKMVp6dGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCallYTmxJRXh2WjB4bGRtVnNMbVZ5Y205eU9seHVJQ0FnSUNBZ0lDQnRaWFJvYjJRZ1BTQjBhR2x6TG14dloyZGxjaTVsY25KdmNqdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCallYTmxJRXh2WjB4bGRtVnNMbk5wYkd4NU9seHVJQ0FnSUNBZ0lDQnRaWFJvYjJRZ1BTQjBhR2x6TG14dloyZGxjaTV6YVd4c2VUdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKSmJuWmhiR2xrSUd4dlp5QnNaWFpsYkZ3aUtUdGNiaUFnSUNCOVhHNGdJQ0FnYldWMGFHOWtMbU5oYkd3b2RHaHBjeTVzYjJkblpYSXNJSFJvYVhNdVkzSmxZWFJsVEc5bktHeGxkbVZzTENCdGMyY3NJSE4wWVdOcktTazdYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1JtRmpkRzl5ZVNCbWRXNWpkR2x2YmlCbWIzSWdZM0psWVhScGJtY2dSbUZpY21salRHOW5aMlZ5SUdsdWMzUmhibU5sY3k1Y2JpQXFJRUJ6ZFcxdFlYSjVJRkJ5YjJSMVkyVnpJR0VnYm1WM0lFWmhZbkpwWTB4dloyZGxjaUJpYjNWdVpDQjBieUIwYUdVZ2NISnZkbWxrWldRZ1kyOXVkR1Y0ZENCdVlXMWxJR0Z1WkNCamIyNW1hV2QxY21GMGFXOXVMbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5aWFtVmpkQ0F0SUZSb1pTQnNiMmRuYVc1bklHTnZiblJsZUhRZ2JtRnRaUzVjYmlBcUlFQndZWEpoYlNCN1VHRnlkR2xoYkR4TWIyZG5hVzVuUTI5dVptbG5QaUI4SUhWdVpHVm1hVzVsWkgwZ1kyOXVabWxuSUMwZ1QzQjBhVzl1WVd3Z2JHOW5aMmx1WnlCamIyNW1hV2QxY21GMGFXOXVMbHh1SUNvZ1FISmxkSFZ5YmlCN1JtRmljbWxqVEc5bloyVnlmU0JCSUc1bGR5QkdZV0p5YVdOTWIyZG5aWElnYVc1emRHRnVZMlV1WEc0Z0tpQkFablZ1WTNScGIyNGdabUZqZEc5eWVWeHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBtYjNJdFptRmljbWxqTG1Oc2FXVnVkRnh1SUNvdlhHNWpiMjV6ZENCbVlXTjBiM0o1T2lCTWIyZG5aWEpHWVdOMGIzSjVJRDBnS0Z4dUlDQnZZbXBsWTNRL09pQnpkSEpwYm1jc1hHNGdJR052Ym1acFp6ODZJRkJoY25ScFlXdzhURzluWjJsdVowTnZibVpwWno0Z2ZDQjFibVJsWm1sdVpXUmNiaWtnUFQ0Z2UxeHVJQ0J5WlhSMWNtNGdibVYzSUVaaFluSnBZMHh2WjJkbGNpaHZZbXBsWTNRZ2ZId2dYQ0pOU1ZOVFNVNUhYQ0lzSUdOdmJtWnBaeUI4ZkNCN2ZTazdYRzU5TzF4dVhHNHZMeUJUWlhRZ2RHaGxJR1poWTNSdmNua2dZWE1nZEdobElHUmxabUYxYkhRZ2JHOW5aMlZ5SUdaaFkzUnZjbmxjYmt4dloyZHBibWN1YzJWMFJtRmpkRzl5ZVNobVlXTjBiM0o1S1R0Y2JpSmRmUT09Il19
|
|
102
|
+
//# sourceMappingURL=logging.js.map
|
|
103
|
+
//# sourceMappingURL=logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["logging.js"],"names":[],"mappings":";;;AAAA,+CAAqF;AACrF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAa,YAAa,SAAQ,oBAAU;IACxC,YAAY,OAAO,EAAE,IAAI;QACrB,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IACD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK;QACjB,IAAI,0BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,0BAAgB,CAAC,KAAK,CAAC;YACvB,OAAO;QACX,IAAI,MAAM,CAAC;QACX,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,kBAAQ,CAAC,IAAI;gBACd,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,MAAM;YACV,KAAK,kBAAQ,CAAC,OAAO;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC7B,MAAM;YACV,KAAK,kBAAQ,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACV,KAAK,kBAAQ,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACV,KAAK,kBAAQ,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;CACJ;AAtDD,oCAsDC;AACD;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;IAC/B,OAAO,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AACF,gDAAgD;AAChD,iBAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,mCAAmC"}
|