@decaf-ts/for-fabric 0.1.48 → 0.1.50
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 -1896
- package/dist/for-fabric.cjs.map +1 -0
- package/dist/for-fabric.js +2 -2002
- package/dist/for-fabric.js.map +1 -0
- package/lib/bin/cli.cjs +1 -2
- package/lib/bin/cli.js.map +1 -0
- package/lib/cli-module.cjs +1 -1
- package/lib/cli-module.js.map +1 -0
- package/lib/cli-utils.cjs +1 -1
- package/lib/cli-utils.js.map +1 -0
- package/lib/client/FabricClientAdapter.cjs +1 -1
- package/lib/client/FabricClientAdapter.js.map +1 -0
- package/lib/client/FabricClientDispatch.cjs +1 -1
- package/lib/client/FabricClientDispatch.js.map +1 -0
- package/lib/client/FabricClientPaginator.cjs +1 -1
- package/lib/client/FabricClientPaginator.js.map +1 -0
- package/lib/client/FabricClientRepository.cjs +1 -1
- package/lib/client/FabricClientRepository.js.map +1 -0
- package/lib/client/FabricClientStatement.cjs +1 -1
- package/lib/client/FabricClientStatement.js.map +1 -0
- package/lib/client/collections/generation.cjs +1 -1
- package/lib/client/collections/generation.js.map +1 -0
- package/lib/client/collections/index.cjs +1 -1
- package/lib/client/collections/index.js.map +1 -0
- package/lib/client/constants.cjs +1 -1
- package/lib/client/constants.js.map +1 -0
- package/lib/client/erc20/FabricERC20ClientRepository.cjs +1 -1
- package/lib/client/erc20/FabricERC20ClientRepository.js.map +1 -0
- package/lib/client/erc20/index.cjs +1 -1
- package/lib/client/erc20/index.js.map +1 -0
- package/lib/client/fabric-fs.cjs +10 -10
- package/lib/client/fabric-fs.d.ts +1 -1
- package/lib/client/fabric-fs.js.map +1 -0
- package/lib/client/fabric-hsm.cjs +1 -1
- package/lib/client/fabric-hsm.js.map +1 -0
- package/lib/client/index.cjs +1 -1
- package/lib/client/index.js.map +1 -0
- package/lib/client/indexes/generation.cjs +1 -1
- package/lib/client/indexes/generation.js.map +1 -0
- package/lib/client/indexes/index.cjs +1 -1
- package/lib/client/indexes/index.js.map +1 -0
- package/lib/client/logging.cjs +1 -1
- package/lib/client/logging.js.map +1 -0
- package/lib/client/services/FabricEnrollmentService.cjs +1 -1
- package/lib/client/services/FabricEnrollmentService.js.map +1 -0
- package/lib/client/services/FabricIdentityService.cjs +1 -1
- package/lib/client/services/FabricIdentityService.js.map +1 -0
- package/lib/client/services/RegistrationRequestBuilder.cjs +1 -1
- package/lib/client/services/RegistrationRequestBuilder.js.map +1 -0
- package/lib/client/services/constants.cjs +1 -1
- package/lib/client/services/constants.js.map +1 -0
- package/lib/client/services/index.cjs +1 -1
- package/lib/client/services/index.js.map +1 -0
- package/lib/client/types.cjs +1 -1
- package/lib/client/types.js.map +1 -0
- package/lib/contract/Address.cjs +1 -1
- package/lib/contract/Address.js.map +1 -0
- package/lib/contract/AddressContract.cjs +1 -1
- package/lib/contract/AddressContract.js.map +1 -0
- package/lib/contract/BatchContract.cjs +1 -1
- package/lib/contract/BatchContract.js.map +1 -0
- package/lib/contract/Product.cjs +1 -1
- package/lib/contract/Product.js.map +1 -0
- package/lib/contract/ProductContract.cjs +1 -1
- package/lib/contract/ProductContract.js.map +1 -0
- package/lib/contract/User.cjs +1 -1
- package/lib/contract/User.js.map +1 -0
- package/lib/contract/UserContract.cjs +1 -1
- package/lib/contract/UserContract.js.map +1 -0
- package/lib/contract/index.cjs +1 -1
- package/lib/contract/index.js.map +1 -0
- package/lib/contract/models/Audit.cjs +1 -1
- package/lib/contract/models/Audit.js.map +1 -0
- package/lib/contract/models/BaseIdentifiedModel.cjs +1 -1
- package/lib/contract/models/BaseIdentifiedModel.js.map +1 -0
- package/lib/contract/models/BaseModel.cjs +1 -1
- package/lib/contract/models/BaseModel.js.map +1 -0
- package/lib/contract/models/Batch.cjs +1 -1
- package/lib/contract/models/Batch.js.map +1 -0
- package/lib/contract/models/Leaflet.cjs +1 -1
- package/lib/contract/models/Leaflet.js.map +1 -0
- package/lib/contract/models/LeafletFile.cjs +1 -1
- package/lib/contract/models/LeafletFile.js.map +1 -0
- package/lib/contract/models/Market.cjs +1 -1
- package/lib/contract/models/Market.js.map +1 -0
- package/lib/contract/models/Product.cjs +1 -1
- package/lib/contract/models/Product.js.map +1 -0
- package/lib/contract/models/ProductStrength.cjs +1 -1
- package/lib/contract/models/ProductStrength.js.map +1 -0
- package/lib/contract/models/constants.cjs +1 -1
- package/lib/contract/models/constants.js.map +1 -0
- package/lib/contract/models/decorators.cjs +1 -1
- package/lib/contract/models/decorators.js.map +1 -0
- package/lib/contract/models/gtin.cjs +1 -1
- package/lib/contract/models/gtin.js.map +1 -0
- package/lib/contracts/ContractAdapter.cjs +1 -1
- package/lib/contracts/ContractAdapter.js.map +1 -0
- package/lib/contracts/ContractContext.cjs +1 -1
- package/lib/contracts/ContractContext.js.map +1 -0
- package/lib/contracts/ContractPrivateDataAdapter.cjs +1 -1
- package/lib/contracts/ContractPrivateDataAdapter.js.map +1 -0
- package/lib/contracts/FabricConstruction.cjs +1 -1
- package/lib/contracts/FabricConstruction.js.map +1 -0
- package/lib/contracts/FabricContractPaginator.cjs +1 -1
- package/lib/contracts/FabricContractPaginator.js.map +1 -0
- package/lib/contracts/FabricContractRepository.cjs +1 -1
- package/lib/contracts/FabricContractRepository.js.map +1 -0
- package/lib/contracts/FabricContractRepositoryObservableHandler.cjs +1 -1
- package/lib/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
- package/lib/contracts/FabricContractSequence.cjs +1 -1
- package/lib/contracts/FabricContractSequence.js.map +1 -0
- package/lib/contracts/FabricContractStatement.cjs +1 -1
- package/lib/contracts/FabricContractStatement.js.map +1 -0
- package/lib/contracts/PrivateSequence.cjs +1 -1
- package/lib/contracts/PrivateSequence.js.map +1 -0
- package/lib/contracts/crud/crud-contract.cjs +1 -1
- package/lib/contracts/crud/crud-contract.js.map +1 -0
- package/lib/contracts/crud/index.cjs +1 -1
- package/lib/contracts/crud/index.js.map +1 -0
- package/lib/contracts/crud/serialized-crud-contract.cjs +1 -1
- package/lib/contracts/crud/serialized-crud-contract.js.map +1 -0
- package/lib/contracts/erc20/erc20contract.cjs +1 -1
- package/lib/contracts/erc20/erc20contract.js.map +1 -0
- package/lib/contracts/erc20/index.cjs +1 -1
- package/lib/contracts/erc20/index.js.map +1 -0
- package/lib/contracts/erc20/models.cjs +1 -1
- package/lib/contracts/erc20/models.js.map +1 -0
- package/lib/contracts/index.cjs +1 -1
- package/lib/contracts/index.js.map +1 -0
- package/lib/contracts/logging.cjs +1 -1
- package/lib/contracts/logging.js.map +1 -0
- package/lib/contracts/private-data.cjs +1 -1
- package/lib/contracts/private-data.js.map +1 -0
- package/lib/contracts/types.cjs +1 -1
- package/lib/contracts/types.js.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 +1 -1
- package/lib/esm/client/FabricClientAdapter.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 +1 -1
- package/lib/esm/client/FabricClientRepository.js.map +1 -0
- package/lib/esm/client/FabricClientStatement.js +1 -1
- 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 +1 -1
- package/lib/esm/client/constants.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.d.ts +1 -1
- package/lib/esm/client/fabric-fs.js +2 -2
- 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/index.js +1 -1
- package/lib/esm/client/index.js.map +1 -0
- package/lib/esm/client/indexes/generation.js +1 -1
- 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/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/BatchContract.js +1 -1
- package/lib/esm/contract/BatchContract.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/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/models/Audit.js +1 -1
- 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/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/Product.js +1 -1
- package/lib/esm/contract/models/Product.js.map +1 -0
- package/lib/esm/contract/models/ProductStrength.js +1 -1
- package/lib/esm/contract/models/ProductStrength.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.js +1 -1
- 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/contracts/ContractAdapter.js +1 -1
- 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/ContractPrivateDataAdapter.js +1 -1
- package/lib/esm/contracts/ContractPrivateDataAdapter.js.map +1 -0
- package/lib/esm/contracts/FabricConstruction.js +1 -1
- package/lib/esm/contracts/FabricConstruction.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/PrivateSequence.js +1 -1
- package/lib/esm/contracts/PrivateSequence.js.map +1 -0
- package/lib/esm/contracts/crud/crud-contract.js +1 -1
- 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/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/private-data.js +1 -1
- package/lib/esm/contracts/private-data.js.map +1 -0
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/types.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 +1 -1
- package/lib/esm/shared/constants.js.map +1 -0
- package/lib/esm/shared/crypto.js +1 -1
- package/lib/esm/shared/crypto.js.map +1 -0
- package/lib/esm/shared/decorators.js +1 -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 +1 -1
- 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/shared/utils.d.ts +0 -13
- package/lib/esm/shared/utils.js +2 -17
- package/lib/esm/shared/utils.js.map +1 -0
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +2 -2
- package/lib/esm/version.js.map +1 -0
- package/lib/index.cjs +1 -1
- package/lib/index.js.map +1 -0
- package/lib/shared/ClientSerializer.cjs +1 -1
- package/lib/shared/ClientSerializer.js.map +1 -0
- package/lib/shared/DeterministicSerializer.cjs +1 -1
- package/lib/shared/DeterministicSerializer.js.map +1 -0
- package/lib/shared/SimpleDeterministicSerializer.cjs +1 -1
- package/lib/shared/SimpleDeterministicSerializer.js.map +1 -0
- package/lib/shared/constants.cjs +1 -1
- package/lib/shared/constants.js.map +1 -0
- package/lib/shared/crypto.cjs +1 -1
- package/lib/shared/crypto.js.map +1 -0
- package/lib/shared/decorators.cjs +1 -1
- package/lib/shared/decorators.js.map +1 -0
- package/lib/shared/erc20/erc20-constants.cjs +1 -1
- package/lib/shared/erc20/erc20-constants.js.map +1 -0
- package/lib/shared/erc20/index.cjs +1 -1
- package/lib/shared/erc20/index.js.map +1 -0
- package/lib/shared/errors.cjs +1 -1
- package/lib/shared/errors.js.map +1 -0
- package/lib/shared/events.cjs +1 -1
- package/lib/shared/events.js.map +1 -0
- package/lib/shared/fabric-types.cjs +1 -1
- package/lib/shared/fabric-types.js.map +1 -0
- package/lib/shared/index.cjs +1 -1
- package/lib/shared/index.js.map +1 -0
- package/lib/shared/interfaces/Checkable.cjs +1 -1
- package/lib/shared/interfaces/Checkable.js.map +1 -0
- package/lib/shared/interfaces/index.cjs +1 -1
- package/lib/shared/interfaces/index.js.map +1 -0
- package/lib/shared/math.cjs +1 -1
- package/lib/shared/math.js.map +1 -0
- package/lib/shared/model/FabricBaseModel.cjs +1 -1
- package/lib/shared/model/FabricBaseModel.js.map +1 -0
- package/lib/shared/model/FabricIdentifiedBaseModel.cjs +1 -1
- package/lib/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
- package/lib/shared/model/Identity.cjs +1 -1
- package/lib/shared/model/Identity.js.map +1 -0
- package/lib/shared/model/IdentityCredentials.cjs +1 -1
- package/lib/shared/model/IdentityCredentials.js.map +1 -0
- package/lib/shared/model/index.cjs +1 -1
- package/lib/shared/model/index.js.map +1 -0
- package/lib/shared/overrides/Model.cjs +1 -1
- package/lib/shared/overrides/Model.js.map +1 -0
- package/lib/shared/overrides/index.cjs +1 -1
- package/lib/shared/overrides/index.js.map +1 -0
- package/lib/shared/overrides/overrides.cjs +1 -1
- package/lib/shared/overrides/overrides.js.map +1 -0
- package/lib/shared/types.cjs +1 -1
- package/lib/shared/types.js.map +1 -0
- package/lib/shared/utils.cjs +12 -28
- package/lib/shared/utils.d.ts +0 -13
- package/lib/shared/utils.js.map +1 -0
- package/lib/version.cjs +2 -2
- package/lib/version.d.ts +1 -1
- package/lib/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -263,4 +263,4 @@ function sharedData(collection) {
|
|
|
263
263
|
// }
|
|
264
264
|
// };
|
|
265
265
|
// }
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFyZWQvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUErQ0Esc0JBd0NDO0FBRUQsMENBOEJDO0FBRUQsMEJBb0JDO0FBRUQsc0RBYUM7QUFFRCxzQ0EwQkM7QUFFRCw4Q0FFQztBQWNELHdEQTJDQztBQUVELG9EQTJDQztBQUVELHdEQU9tQjtBQUVuQix3REFVbUI7QUFxRm5CLGtDQWFDO0FBRUQsZ0NBV0M7QUF0YUQseUNBTXdCO0FBQ3hCLDJEQVNpQztBQUNqQyx5RUFBaUU7QUFDakUsK0NBQThDO0FBRzlDLHFEQU84QjtBQUc5Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxTQUFnQixLQUFLO0lBQ25CLE9BQU8sVUFDTCxNQUFXLEVBQ1gsV0FBbUIsRUFDbkIsVUFBOEI7UUFFOUIsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUV4QyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssV0FFdEIsR0FBRyxJQUFXO1lBRWQsTUFBTSxHQUFHLEdBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFNUMsTUFBTSxNQUFNLEdBQUcsTUFBTyxJQUE0QixDQUNoRCxpQkFBaUIsQ0FDbEIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUVYLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUV6QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDakQsQ0FBQztZQUVELElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJ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QTZFO0FBQzdFLEVBQUU7QUFDRixrREFBa0Q7QUFDbEQsOERBQThEO0FBQzlELEVBQUU7QUFDRiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLGlDQUFpQztBQUNqQyx1REFBdUQ7QUFDdkQsNEJBQTRCO0FBQzVCLFlBQVk7QUFDWiwrQkFBK0I7QUFDL0Isc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRix1QkFBdUI7QUFDdkIsOEJBQThCO0FBQzlCLHNFQUFzRTtBQUN0RSxxREFBcUQ7QUFDckQscUNBQXFDO0FBQ3JDLDJEQUEyRDtBQUMzRCw0QkFBNEI7QUFDNUIsOEJBQThCO0FBQzlCLHVDQUF1QztBQUN2QyxRQUFRO0FBQ1IsT0FBTztBQUNQLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdXRob3JpemF0aW9uRXJyb3IsXG4gIFJlcG8sXG4gIENvbnRleHQsXG4gIFVuc3VwcG9ydGVkRXJyb3IsXG4gIFJlcG9zaXRvcnksXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgb25DcmVhdGUsXG4gIG9uRGVsZXRlLFxuICBvblJlYWQsXG4gIG9uVXBkYXRlLFxuICByZWFkb25seSxcbiAgdHJhbnNpZW50LFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEZhYnJpY01vZGVsS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUgeyBDb250ZXh0IGFzIEhMQ29udGV4dCB9IGZyb20gXCJmYWJyaWMtY29udHJhY3QtYXBpXCI7XG5pbXBvcnQgeyBGYWJyaWNFUkMyMENvbnRyYWN0IH0gZnJvbSBcIi4uL2NvbnRyYWN0cy9lcmMyMC9lcmMyMGNvbnRyYWN0XCI7XG5pbXBvcnQge1xuICBhcHBseSxcbiAgQ29uc3RydWN0b3IsXG4gIERlY29yYXRpb24sXG4gIG1ldGFkYXRhLFxuICBNZXRhZGF0YSxcbiAgcHJvcE1ldGFkYXRhLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEZhYnJpY0ZsYWdzIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIG1hcmtpbmcgbWV0aG9kcyB0aGF0IHJlcXVpcmUgb3duZXJzaGlwIGF1dGhvcml6YXRpb24uXG4gKiBDaGVja3MgdGhlIG93bmVyIG9mIHRoZSB0b2tlbiBiZWZvcmUgYWxsb3dpbmcgdGhlIG1ldGhvZCB0byBiZSBleGVjdXRlZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xhc3MgVG9rZW5Db250cmFjdCBleHRlbmRzIENvbnRyYWN0IHtcbiAqICAgQE93bmVyKClcbiAqICAgYXN5bmMgTWludChjdHg6IENvbnRleHQsIGFtb3VudDogbnVtYmVyKSB7XG4gKiAgICAgLy8gTWludCB0b2tlbiBsb2dpY1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcmV0dXJucyB7TWV0aG9kRGVjb3JhdG9yfSBBIG1ldGhvZCBkZWNvcmF0b3IgdGhhdCBjaGVja3Mgb3duZXJzaGlwIGF1dGhvcml6YXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBPd25lcigpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChcbiAgICB0YXJnZXQ6IGFueSxcbiAgICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICAgIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvclxuICApIHtcbiAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IGRlc2NyaXB0b3IudmFsdWU7XG5cbiAgICBkZXNjcmlwdG9yLnZhbHVlID0gYXN5bmMgZnVuY3Rpb24gKFxuICAgICAgdGhpczogRmFicmljRVJDMjBDb250cmFjdCxcbiAgICAgIC4uLmFyZ3M6IGFueVtdXG4gICAgKSB7XG4gICAgICBjb25zdCBjdHg6IEhMQ29udGV4dCA9IGFyZ3NbMF07XG4gICAgICBjb25zdCBhY291bnRJZCA9IGN0eC5jbGllbnRJZGVudGl0eS5nZXRJRCgpO1xuXG4gICAgICBjb25zdCBzZWxlY3QgPSBhd2FpdCAodGhpcyBhcyBGYWJyaWNFUkMyMENvbnRyYWN0KVtcbiAgICAgICAgXCJ0b2tlblJlcG9zaXRvcnlcIlxuICAgICAgXS5zZWxlY3QoKTtcblxuICAgICAgY29uc3QgdG9rZW5zID0gYXdhaXQgc2VsZWN0LmV4ZWN1dGUoY3R4KTtcblxuICAgICAgaWYgKHRva2Vucy5sZW5ndGggPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihcIk5vIHRva2VucyBhdmFpYWxibGVcIik7XG4gICAgICB9XG5cbiAgICAgIGlmICh0b2tlbnMubGVuZ3RoID4gMSkge1xuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgVG8gbWFueSB0b2tlbiBhdmFpbGFibGUgOiAke3Rva2Vucy5sZW5ndGh9YCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0b2tlbnNbMF0ub3duZXIgIT0gYWNvdW50SWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEF1dGhvcml6YXRpb25FcnJvcihcbiAgICAgICAgICBgVXNlciBub3QgYXV0aG9yaXplZCB0byBydW4gJHtwcm9wZXJ0eUtleX0gb24gdGhlIHRva2VuYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXdhaXQgb3JpZ2luYWxNZXRob2QuYXBwbHkodGhpcywgYXJncyk7XG4gICAgfTtcblxuICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gb3duZWRCeU9uQ3JlYXRlPFxuICBNIGV4dGVuZHMgTW9kZWw8Ym9vbGVhbj4sXG4gIFIgZXh0ZW5kcyBSZXBvPE0+LFxuICBWLFxuPihcbiAgdGhpczogUixcbiAgY29udGV4dDogQ29udGV4dDxhbnk+LFxuICBkYXRhOiBWLFxuICBrZXk6IGtleW9mIE0sXG4gIG1vZGVsOiBNXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBzdHViIH0gPSBjb250ZXh0IGFzIGFueTtcblxuICBjb25zdCBjcmVhdG9yID0gYXdhaXQgc3R1Yi5nZXRDcmVhdG9yKCk7XG4gIGNvbnN0IG93bmVyID0gY3JlYXRvci5tc3BpZDtcblxuICBjb25zdCBzZXRPd25lZEJ5S2V5VmFsdWUgPSBmdW5jdGlvbiA8TSBleHRlbmRzIE1vZGVsPihcbiAgICB0YXJnZXQ6IE0sXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50XG4gICkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgIH0pO1xuICB9O1xuXG4gIHNldE93bmVkQnlLZXlWYWx1ZShtb2RlbCwga2V5IGFzIHN0cmluZywgb3duZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3duZWRCeSgpIHtcbiAgY29uc3Qga2V5ID0gZ2V0RmFicmljTW9kZWxLZXkoRmFicmljTW9kZWxLZXlzLk9XTkVEQlkpO1xuXG4gIGZ1bmN0aW9uIG93bmVkQnkoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChvYmo6IGFueSwgYXR0cmlidXRlPzogYW55KSB7XG4gICAgICByZXR1cm4gYXBwbHkoXG4gICAgICAgIHJlcXVpcmVkKCksXG4gICAgICAgIHJlYWRvbmx5KCksXG4gICAgICAgIG9uQ3JlYXRlKG93bmVkQnlPbkNyZWF0ZSksXG4gICAgICAgIHByb3BNZXRhZGF0YShnZXRGYWJyaWNNb2RlbEtleShGYWJyaWNNb2RlbEtleXMuT1dORURCWSksIGF0dHJpYnV0ZSlcbiAgICAgICkob2JqLCBhdHRyaWJ1dGUpO1xuICAgIH07XG4gIH1cblxuICByZXR1cm4gRGVjb3JhdGlvbi5mb3Ioa2V5KVxuICAgIC5kZWZpbmUoe1xuICAgICAgZGVjb3JhdG9yOiBvd25lZEJ5LFxuICAgICAgYXJnczogW10sXG4gICAgfSlcbiAgICAuYXBwbHkoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRyYW5zYWN0aW9uSWRPbkNyZWF0ZTxcbiAgTSBleHRlbmRzIE1vZGVsPGJvb2xlYW4+LFxuICBSIGV4dGVuZHMgUmVwbzxNPixcbiAgVixcbj4oXG4gIHRoaXM6IFIsXG4gIGNvbnRleHQ6IENvbnRleHQ8YW55PixcbiAgZGF0YTogVixcbiAga2V5OiBrZXlvZiBNLFxuICBtb2RlbDogTVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgc3R1YiB9ID0gY29udGV4dCBhcyBhbnk7XG4gIG1vZGVsW2tleV0gPSBzdHViLmdldFR4SUQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zYWN0aW9uSWQoKSB7XG4gIGZ1bmN0aW9uIHRyYW5zYWN0aW9uSWQoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChvYmo6IGFueSwgYXR0cmlidXRlPzogYW55KSB7XG4gICAgICByZXR1cm4gYXBwbHkoXG4gICAgICAgIHJlcXVpcmVkKCksXG4gICAgICAgIHJlYWRvbmx5KCksXG4gICAgICAgIG9uQ3JlYXRlKHRyYW5zYWN0aW9uSWRPbkNyZWF0ZSksXG4gICAgICAgIG9uVXBkYXRlKHRyYW5zYWN0aW9uSWRPbkNyZWF0ZSksXG4gICAgICAgIHByb3BNZXRhZGF0YShcbiAgICAgICAgICBNZXRhZGF0YS5rZXkoXG4gICAgICAgICAgICBGYWJyaWNNb2RlbEtleXMuRkFCUklDLFxuICAgICAgICAgICAgYXR0cmlidXRlLFxuICAgICAgICAgICAgRmFicmljTW9kZWxLZXlzLlRSQU5TQUNUSU9OX0lEXG4gICAgICAgICAgKSxcbiAgICAgICAgICBhdHRyaWJ1dGVcbiAgICAgICAgKVxuICAgICAgKShvYmosIGF0dHJpYnV0ZSk7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBEZWNvcmF0aW9uLmZvcihGYWJyaWNNb2RlbEtleXMuVFJBTlNBQ1RJT05fSUQpXG4gICAgLmRlZmluZSh7XG4gICAgICBkZWNvcmF0b3I6IHRyYW5zYWN0aW9uSWQsXG4gICAgICBhcmdzOiBbXSxcbiAgICB9KVxuICAgIC5hcHBseSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmFicmljTW9kZWxLZXkoa2V5OiBzdHJpbmcpIHtcbiAgcmV0dXJuIE1ldGFkYXRhLmtleShGYWJyaWNNb2RlbEtleXMuRkFCUklDICsga2V5KTtcbn1cblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblJlc29sdmVyID0gPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0pID0+IHN0cmluZztcblxuZXhwb3J0IGNvbnN0IEltcGxpY2l0UHJpdmF0ZUNvbGxlY3Rpb246IENvbGxlY3Rpb25SZXNvbHZlciA9IDxNIGV4dGVuZHMgTW9kZWw+KFxuICBtb2RlbDogTVxuKSA9PiB7XG4gIHJldHVybiBgX18ke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9UHJpdmF0ZUNvbGxlY3Rpb25gO1xufTtcblxuZXhwb3J0IHR5cGUgU2VncmVnYXRlZERhdGFNZXRhZGF0YSA9IHtcbiAgY29sbGVjdGlvbnM6IHN0cmluZyB8IENvbGxlY3Rpb25SZXNvbHZlcjtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZWdyZWdhdGVkRGF0YU9uQ3JlYXRlPE0gZXh0ZW5kcyBNb2RlbD4oXG4gIHRoaXM6IFJlcG9zaXRvcnk8TSwgYW55PixcbiAgY29udGV4dDogQ29udGV4dDxGYWJyaWNGbGFncz4sXG4gIGRhdGE6IFNlZ3JlZ2F0ZWREYXRhTWV0YWRhdGFbXSxcbiAga2V5czogKGtleW9mIE0pW10sXG4gIG1vZGVsOiBNXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKGtleXMubGVuZ3RoICE9PSBkYXRhLmxlbmd0aClcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGBTZWdyZWdhdGVkIGRhdGEga2V5cyBhbmQgbWV0YWRhdGEgbGVuZ3RoIG1pc21hdGNoYFxuICAgICk7XG5cbiAgY29uc3QgY29sbGVjdGlvblJlc29sdmVyID0gZGF0YVswXS5jb2xsZWN0aW9ucztcbiAgY29uc3QgY29sbGVjdGlvbiA9XG4gICAgdHlwZW9mIGNvbGxlY3Rpb25SZXNvbHZlciA9PT0gXCJzdHJpbmdcIlxuICAgICAgPyBjb2xsZWN0aW9uUmVzb2x2ZXJcbiAgICAgIDogY29sbGVjdGlvblJlc29sdmVyKG1vZGVsKTtcblxuICBjb25zdCByZWJ1aWx0ID0ga2V5cy5yZWR1Y2UoXG4gICAgKGFjYzogUmVjb3JkPGtleW9mIE0sIGFueT4sIGssIGkpID0+IHtcbiAgICAgIGNvbnN0IGMgPVxuICAgICAgICB0eXBlb2YgZGF0YVtpXS5jb2xsZWN0aW9ucyA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgID8gZGF0YVtpXS5jb2xsZWN0aW9uc1xuICAgICAgICAgIDogZGF0YVtpXS5jb2xsZWN0aW9ucyhtb2RlbCk7XG4gICAgICBpZiAoYyAhPT0gY29sbGVjdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkRXJyb3IoXG4gICAgICAgICAgYFNlZ3JlZ2F0ZWQgZGF0YSBjb2xsZWN0aW9uIG1pc21hdGNoOiAke2N9IHZzICR7Y29sbGVjdGlvbn1gXG4gICAgICAgICk7XG4gICAgICBhY2Nba10gPSBtb2RlbFtrXTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7fSBhcyBSZWNvcmQ8a2V5b2YgTSwgYW55PlxuICApO1xuXG4gIGNvbnN0IHRvQ3JlYXRlID0gbmV3IHRoaXMuY2xhc3MocmVidWlsdCk7XG5cbiAgLy8gY29uc3Qgc2VncmVnYXRlZCA9IE1vZGVsLnNlZ3JlZ2F0ZShtb2RlbCk7XG5cbiAgY29uc3QgY3JlYXRlZCA9IGF3YWl0IHRoaXMub3ZlcnJpZGUoeyBzZWdyZWdhdGVkOiBjb2xsZWN0aW9uIH0gYXMgYW55KS5jcmVhdGUoXG4gICAgdG9DcmVhdGUsXG4gICAgY29udGV4dFxuICApO1xuICBPYmplY3QuYXNzaWduKG1vZGVsLCBjcmVhdGVkKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlZ3JlZ2F0ZWREYXRhT25SZWFkPE0gZXh0ZW5kcyBNb2RlbD4oXG4gIHRoaXM6IFJlcG9zaXRvcnk8TSwgYW55PixcbiAgY29udGV4dDogQ29udGV4dDxGYWJyaWNGbGFncz4sXG4gIGRhdGE6IFNlZ3JlZ2F0ZWREYXRhTWV0YWRhdGFbXSxcbiAga2V5czogKGtleW9mIE0pW10sXG4gIG1vZGVsOiBNXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKGtleXMubGVuZ3RoICE9PSBkYXRhLmxlbmd0aClcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGBTZWdyZWdhdGVkIGRhdGEga2V5cyBhbmQgbWV0YWRhdGEgbGVuZ3RoIG1pc21hdGNoYFxuICAgICk7XG5cbiAgY29uc3QgY29sbGVjdGlvblJlc29sdmVyID0gZGF0YVswXS5jb2xsZWN0aW9ucztcbiAgY29uc3QgY29sbGVjdGlvbiA9XG4gICAgdHlwZW9mIGNvbGxlY3Rpb25SZXNvbHZlciA9PT0gXCJzdHJpbmdcIlxuICAgICAgPyBjb2xsZWN0aW9uUmVzb2x2ZXJcbiAgICAgIDogY29sbGVjdGlvblJlc29sdmVyKG1vZGVsKTtcblxuICBjb25zdCByZWJ1aWx0ID0ga2V5cy5yZWR1Y2UoXG4gICAgKGFjYzogUmVjb3JkPGtleW9mIE0sIGFueT4sIGssIGkpID0+IHtcbiAgICAgIGNvbnN0IGMgPVxuICAgICAgICB0eXBlb2YgZGF0YVtpXS5jb2xsZWN0aW9ucyA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgID8gZGF0YVtpXS5jb2xsZWN0aW9uc1xuICAgICAgICAgIDogZGF0YVtpXS5jb2xsZWN0aW9ucyhtb2RlbCk7XG4gICAgICBpZiAoYyAhPT0gY29sbGVjdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkRXJyb3IoXG4gICAgICAgICAgYFNlZ3JlZ2F0ZWQgZGF0YSBjb2xsZWN0aW9uIG1pc21hdGNoOiAke2N9IHZzICR7Y29sbGVjdGlvbn1gXG4gICAgICAgICk7XG4gICAgICBhY2Nba10gPSBtb2RlbFtrXTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7fSBhcyBSZWNvcmQ8a2V5b2YgTSwgYW55PlxuICApO1xuXG4gIGNvbnN0IHRvQ3JlYXRlID0gbmV3IHRoaXMuY2xhc3MocmVidWlsdCk7XG5cbiAgLy8gY29uc3Qgc2VncmVnYXRlZCA9IE1vZGVsLnNlZ3JlZ2F0ZShtb2RlbCk7XG5cbiAgY29uc3QgY3JlYXRlZCA9IGF3YWl0IHRoaXMub3ZlcnJpZGUoeyBzZWdyZWdhdGVkOiBjb2xsZWN0aW9uIH0gYXMgYW55KS5jcmVhdGUoXG4gICAgdG9DcmVhdGUsXG4gICAgY29udGV4dFxuICApO1xuICBPYmplY3QuYXNzaWduKG1vZGVsLCBjcmVhdGVkKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlZ3JlZ2F0ZWREYXRhT25VcGRhdGU8TSBleHRlbmRzIE1vZGVsPihcbiAgdGhpczogUmVwb3NpdG9yeTxNLCBhbnk+LFxuICBjb250ZXh0OiBDb250ZXh0PEZhYnJpY0ZsYWdzPixcbiAgZGF0YTogU2VncmVnYXRlZERhdGFNZXRhZGF0YVtdLFxuICBrZXk6IGtleW9mIE1bXSxcbiAgbW9kZWw6IE0sXG4gIG9sZE1vZGVsOiBNXG4pOiBQcm9taXNlPHZvaWQ+IHt9XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZWdyZWdhdGVkRGF0YU9uRGVsZXRlPFxuICBNIGV4dGVuZHMgTW9kZWwsXG4gIFIgZXh0ZW5kcyBSZXBvc2l0b3J5PE0sIGFueT4sXG4gIFYgZXh0ZW5kcyBTZWdyZWdhdGVkRGF0YU1ldGFkYXRhLFxuPihcbiAgdGhpczogUixcbiAgY29udGV4dDogQ29udGV4dDxGYWJyaWNGbGFncz4sXG4gIGRhdGE6IFZbXSxcbiAga2V5OiBrZXlvZiBNW10sXG4gIG1vZGVsOiBNXG4pOiBQcm9taXNlPHZvaWQ+IHt9XG5cbmZ1bmN0aW9uIHNlZ3JlZ2F0ZWQoXG4gIGNvbGxlY3Rpb246IHN0cmluZyB8IENvbGxlY3Rpb25SZXNvbHZlcixcbiAgdHlwZTogRmFicmljTW9kZWxLZXlzLlBSSVZBVEUgfCBGYWJyaWNNb2RlbEtleXMuU0hBUkVEXG4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGlubmVyU2VncmVnYXRlZCh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk/OiBhbnkpIHtcbiAgICBmdW5jdGlvbiBzZWdyZWdhdGVkRGVjKHRhcmdldDogb2JqZWN0LCBwcm9wZXJ0eUtleT86IGFueSkge1xuICAgICAgaWYgKCFwcm9wZXJ0eUtleSkge1xuICAgICAgICBjb25zdCBwcm9wcyA9IE1ldGFkYXRhLnByb3BlcnRpZXModGFyZ2V0IGFzIENvbnN0cnVjdG9yKSB8fCBbXTtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wIG9mIHByb3BzKSBzZWdyZWdhdGVkKGNvbGxlY3Rpb24sIHR5cGUpKHRhcmdldCwgcHJvcCk7XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGtleSA9IE1ldGFkYXRhLmtleSh0eXBlLCBwcm9wZXJ0eUtleSk7XG4gICAgICBjb25zdCBjb25zdHI6IENvbnN0cnVjdG9yID0gdGFyZ2V0LmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yO1xuXG4gICAgICBjb25zdCBtZXRhID0gTWV0YWRhdGEuZ2V0KGNvbnN0ciBhcyBDb25zdHJ1Y3Rvciwga2V5KSB8fCB7fTtcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb25zID0gbmV3IFNldChtZXRhLmNvbGxlY3Rpb25zIHx8IFtdKTtcbiAgICAgIGNvbGxlY3Rpb25zLmFkZChjb2xsZWN0aW9uKTtcbiAgICAgIG1ldGEuY29sbGVjdGlvbnMgPSBbLi4uY29sbGVjdGlvbnNdO1xuICAgICAgTWV0YWRhdGEuc2V0KGNvbnN0ciBhcyBDb25zdHJ1Y3Rvciwga2V5LCBtZXRhKTtcbiAgICB9XG4gICAgY29uc3QgZGVjczogYW55W10gPSBbXTtcbiAgICBpZiAoIXByb3BlcnR5S2V5KSB7XG4gICAgICAvLyBkZWNvcmF0ZWQgYXQgdGhlIGNsYXNzIGxldmVsXG4gICAgICBNZXRhZGF0YS5wcm9wZXJ0aWVzKHRhcmdldCBhcyBDb25zdHJ1Y3Rvcik/LmZvckVhY2goKHApID0+XG4gICAgICAgIHNlZ3JlZ2F0ZWQoY29sbGVjdGlvbiwgdHlwZSkodGFyZ2V0LCBwKVxuICAgICAgKTtcbiAgICAgIHJldHVybiBtZXRhZGF0YSh0eXBlLCB0cnVlKSh0YXJnZXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNzLnB1c2goXG4gICAgICAgIHRyYW5zaWVudCgpLFxuICAgICAgICBzZWdyZWdhdGVkRGVjLFxuICAgICAgICBvbkNyZWF0ZShcbiAgICAgICAgICBzZWdyZWdhdGVkRGF0YU9uQ3JlYXRlLFxuICAgICAgICAgIHsgY29sbGVjdGlvbnM6IGNvbGxlY3Rpb24gfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcmlvcml0eTogOTUsXG4gICAgICAgICAgICBncm91cDpcbiAgICAgICAgICAgICAgdHlwZW9mIGNvbGxlY3Rpb24gPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICA/IGNvbGxlY3Rpb25cbiAgICAgICAgICAgICAgICA6IGNvbGxlY3Rpb24udG9TdHJpbmcoKSxcbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICAgIG9uUmVhZChcbiAgICAgICAgICBzZWdyZWdhdGVkRGF0YU9uUmVhZCBhcyBhbnksXG4gICAgICAgICAgeyBjb2xsZWN0aW9uczogY29sbGVjdGlvbiB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByaW9yaXR5OiA5NSxcbiAgICAgICAgICAgIGdyb3VwOlxuICAgICAgICAgICAgICB0eXBlb2YgY29sbGVjdGlvbiA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgICAgICAgID8gY29sbGVjdGlvblxuICAgICAgICAgICAgICAgIDogY29sbGVjdGlvbi50b1N0cmluZygpLFxuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgICAgb25VcGRhdGUoXG4gICAgICAgICAgc2VncmVnYXRlZERhdGFPblVwZGF0ZSBhcyBhbnksXG4gICAgICAgICAgeyBjb2xsZWN0aW9uczogY29sbGVjdGlvbiB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByaW9yaXR5OiA5NSxcbiAgICAgICAgICAgIGdyb3VwOlxuICAgICAgICAgICAgICB0eXBlb2YgY29sbGVjdGlvbiA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgICAgICAgID8gY29sbGVjdGlvblxuICAgICAgICAgICAgICAgIDogY29sbGVjdGlvbi50b1N0cmluZygpLFxuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgICAgb25EZWxldGUoXG4gICAgICAgICAgc2VncmVnYXRlZERhdGFPbkRlbGV0ZSBhcyBhbnksXG4gICAgICAgICAgeyBjb2xsZWN0aW9uczogY29sbGVjdGlvbiB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByaW9yaXR5OiA5NSxcbiAgICAgICAgICAgIGdyb3VwOlxuICAgICAgICAgICAgICB0eXBlb2YgY29sbGVjdGlvbiA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgICAgICAgID8gY29sbGVjdGlvblxuICAgICAgICAgICAgICAgIDogY29sbGVjdGlvbi50b1N0cmluZygpLFxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGFwcGx5KC4uLmRlY3MpKHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIC8vIHJldHVybiBhcHBseSgpKHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpdmF0ZURhdGEoXG4gIGNvbGxlY3Rpb246IHN0cmluZyB8IENvbGxlY3Rpb25SZXNvbHZlciA9IEltcGxpY2l0UHJpdmF0ZUNvbGxlY3Rpb25cbikge1xuICBmdW5jdGlvbiBwcml2YXRlRGF0YShjb2xsZWN0aW9uOiBzdHJpbmcgfCBDb2xsZWN0aW9uUmVzb2x2ZXIpIHtcbiAgICByZXR1cm4gc2VncmVnYXRlZChjb2xsZWN0aW9uLCBGYWJyaWNNb2RlbEtleXMuUFJJVkFURSk7XG4gIH1cblxuICByZXR1cm4gRGVjb3JhdGlvbi5mb3IoRmFicmljTW9kZWxLZXlzLlBSSVZBVEUpXG4gICAgLmRlZmluZSh7XG4gICAgICBkZWNvcmF0b3I6IHByaXZhdGVEYXRhLFxuICAgICAgYXJnczogW2NvbGxlY3Rpb25dLFxuICAgIH0pXG4gICAgLmFwcGx5KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaGFyZWREYXRhKGNvbGxlY3Rpb246IHN0cmluZyB8IENvbGxlY3Rpb25SZXNvbHZlcikge1xuICBmdW5jdGlvbiBzaGFyZWREYXRhKGNvbGxlY3Rpb246IHN0cmluZyB8IENvbGxlY3Rpb25SZXNvbHZlcikge1xuICAgIHJldHVybiBzZWdyZWdhdGVkKGNvbGxlY3Rpb24sIEZhYnJpY01vZGVsS2V5cy5TSEFSRUQpO1xuICB9XG5cbiAgcmV0dXJuIERlY29yYXRpb24uZm9yKEZhYnJpY01vZGVsS2V5cy5TSEFSRUQpXG4gICAgLmRlZmluZSh7XG4gICAgICBkZWNvcmF0b3I6IHNoYXJlZERhdGEsXG4gICAgICBhcmdzOiBbY29sbGVjdGlvbl0sXG4gICAgfSlcbiAgICAuYXBwbHkoKTtcbn1cbi8vXG4vLyBleHBvcnQgZnVuY3Rpb24gcHJpdmF0ZURhdGEoY29sbGVjdGlvbj86IHN0cmluZykge1xuLy8gICBpZiAoIWNvbGxlY3Rpb24pIHtcbi8vICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb2xsZWN0aW9uIG5hbWUgaXMgcmVxdWlyZWRcIik7XG4vLyAgIH1cbi8vXG4vLyAgIGNvbnN0IGtleTogc3RyaW5nID0gRmFicmljTW9kZWxLZXlzLlBSSVZBVEU7XG4vL1xuLy8gICByZXR1cm4gZnVuY3Rpb24gcHJpdmF0ZURhdGE8TSBleHRlbmRzIE1vZGVsPihcbi8vICAgICBtb2RlbDogTSB8IENvbnN0cnVjdG9yPE0+LFxuLy8gICAgIGF0dHJpYnV0ZT86IGFueVxuLy8gICApIHtcbi8vICAgICBjb25zdCBjb25zdHIgPVxuLy8gICAgICAgbW9kZWwgaW5zdGFuY2VvZiBNb2RlbCA/IChtb2RlbC5jb25zdHJ1Y3RvciBhcyBDb25zdHJ1Y3RvcikgOiBtb2RlbDtcbi8vXG4vLyAgICAgY29uc3QgbWV0YURhdGE6IGFueSA9IE1ldGFkYXRhLmdldChjb25zdHIpO1xuLy8gICAgIGNvbnN0IG1vZGVsZGF0YSA9IG1ldGFEYXRhPy5wcml2YXRlPy5jb2xsZWN0aW9ucyB8fCBbXTtcbi8vXG4vLyAgICAgcHJvcE1ldGFkYXRhKGtleSwge1xuLy8gICAgICAgLi4uKCFhdHRyaWJ1dGUgJiYge1xuLy8gICAgICAgICBjb2xsZWN0aW9uczogbW9kZWxkYXRhXG4vLyAgICAgICAgICAgPyBbLi4ubmV3IFNldChbLi4ubW9kZWxkYXRhLCBjb2xsZWN0aW9uXSldXG4vLyAgICAgICAgICAgOiBbY29sbGVjdGlvbl0sXG4vLyAgICAgICB9KSxcbi8vICAgICAgIGlzUHJpdmF0ZTogIWF0dHJpYnV0ZSxcbi8vICAgICB9KShhdHRyaWJ1dGUgPyBjb25zdHIgOiBtb2RlbCk7XG4vL1xuLy8gICAgIGlmIChhdHRyaWJ1dGUpIHtcbi8vICAgICAgIGNvbnN0IGF0dHJpYnV0ZURhdGEgPVxuLy8gICAgICAgICAobWV0YURhdGE/LnByaXZhdGU/LlthdHRyaWJ1dGVdIGFzIGFueSk/LmNvbGxlY3Rpb25zIHx8IFtdO1xuLy8gICAgICAgcHJvcE1ldGFkYXRhKE1ldGFkYXRhLmtleShrZXksIGF0dHJpYnV0ZSksIHtcbi8vICAgICAgICAgY29sbGVjdGlvbnM6IGF0dHJpYnV0ZURhdGFcbi8vICAgICAgICAgICA/IFsuLi5uZXcgU2V0KFsuLi5hdHRyaWJ1dGVEYXRhLCBjb2xsZWN0aW9uXSldXG4vLyAgICAgICAgICAgOiBbY29sbGVjdGlvbl0sXG4vLyAgICAgICB9KShtb2RlbCwgYXR0cmlidXRlKTtcbi8vICAgICAgIHRyYW5zaWVudCgpKG1vZGVsLCBhdHRyaWJ1dGUpO1xuLy8gICAgIH1cbi8vICAgfTtcbi8vIH1cbiJdfQ==
|
|
266
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/shared/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,4 +27,4 @@ var ERC20Events;
|
|
|
27
27
|
*/
|
|
28
28
|
ERC20Events["APPROVAL"] = "Approval";
|
|
29
29
|
})(ERC20Events || (exports.ERC20Events = ERC20Events = {}));
|
|
30
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=erc20-constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc20-constants.js","sourceRoot":"","sources":["../../../src/shared/erc20/erc20-constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,WAkBX;AAlBD,WAAY,WAAW;IACrB;;;;;;OAMG;IACH,oCAAqB,CAAA;IAErB;;;;;;OAMG;IACH,oCAAqB,CAAA;AACvB,CAAC,EAlBW,WAAW,2BAAX,WAAW,QAkBtB"}
|
|
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./erc20-constants.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/erc20/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAkC"}
|
package/lib/shared/errors.cjs
CHANGED
|
@@ -169,4 +169,4 @@ class EndorsementPolicyError extends db_decorators_1.InternalError {
|
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
exports.EndorsementPolicyError = EndorsementPolicyError;
|
|
172
|
-
//# sourceMappingURL=
|
|
172
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":";;;AAAA,2DAAmE;AACnE,yCAAoD;AACpD,kFAAkF;AAClF;;;;;;;;;GASG;AACH,MAAa,aAAc,SAAQ,6BAAa;IAC9C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAJD,sCAIC;AAED;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,6BAAa;IAC7C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAJD,oCAIC;AAED;;;;;;;;;GASG;AACH,MAAa,cAAe,SAAQ,6BAAa;IAC/C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAJD,wCAIC;AAED;;;;;;;;GAQG;AACH,MAAa,iBAAkB,SAAQ,yBAAkB;IACvD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAJD,8CAIC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,mBAAoB,SAAQ,6BAAa;IACpD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,6BAA8B,SAAQ,yBAAS;IAC1D,YAAY,MAAsB,oCAAoC;QACpE,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;CACF;AAJD,sEAIC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAa,mBAAoB,SAAQ,yBAAS;IAChD,YAAY,GAAmB;QAC7B,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,6BAAa;IAClD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;CACF;AAJD,8CAIC;AAED,MAAa,gBAAiB,SAAQ,6BAAa;IACjD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF;AAJD,4CAIC;AAED,MAAa,qBAAsB,SAAQ,6BAAa;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;CACF;AAJD,sDAIC;AAED,MAAa,wBAAyB,SAAQ,6BAAa;IACzD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,EAAE,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;CACF;AAJD,4DAIC;AAED,MAAa,sBAAuB,SAAQ,6BAAa;IACvD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;CACF;AAJD,wDAIC"}
|
package/lib/shared/events.cjs
CHANGED
|
@@ -48,4 +48,4 @@ function parseEventName(name) {
|
|
|
48
48
|
owner: parts[2],
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
//# sourceMappingURL=
|
|
51
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/shared/events.ts"],"names":[],"mappings":";;AAYA,0DAQC;AAsBD,wCAiBC;AAzDD;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CACrC,KAAa,EACb,KAAqD,EACrD,KAAc;IAEd,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9B,IAAI,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,cAAc,CAAC,IAAY;IAKzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC7D,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;KAKhB,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=fabric-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fabric-types.js","sourceRoot":"","sources":["../../src/shared/fabric-types.ts"],"names":[],"mappings":""}
|
package/lib/shared/index.cjs
CHANGED
|
@@ -36,4 +36,4 @@ __exportStar(require("./math.cjs"), exports);
|
|
|
36
36
|
__exportStar(require("./SimpleDeterministicSerializer.cjs"), exports);
|
|
37
37
|
__exportStar(require("./types.cjs"), exports);
|
|
38
38
|
__exportStar(require("./utils.cjs"), exports);
|
|
39
|
-
//# sourceMappingURL=
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,oDAAwB;AACxB,yDAA6B;AAC7B,oDAAwB;AACxB,wDAA4B;AAC5B,yDAAmC;AACnC,kDAA4B;AAC5B,+CAAyB;AACzB,mDAA6B;AAC7B,gEAA0C;AAC1C,+CAAyB;AACzB,+CAAyB;AACzB,qDAA+B;AAC/B,6CAAuB;AACvB,sEAAgD;AAChD,8CAAwB;AACxB,8CAAwB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=Checkable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkable.js","sourceRoot":"","sources":["../../../src/shared/interfaces/Checkable.ts"],"names":[],"mappings":""}
|
|
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./Checkable.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B"}
|
package/lib/shared/math.cjs
CHANGED
|
@@ -63,4 +63,4 @@ function safeParseInt(string) {
|
|
|
63
63
|
}
|
|
64
64
|
return parsedint;
|
|
65
65
|
}
|
|
66
|
-
//# sourceMappingURL=
|
|
66
|
+
//# sourceMappingURL=math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/shared/math.ts"],"names":[],"mappings":";;AAcA,kBAMC;AAYD,kBAMC;AAaD,oCAeC;AAlED,yEAA8D;AAC9D,yCAAyC;AACzC,2DAA0D;AAE1D;;;;;;;;;GASG;AACH,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,sBAAa,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,sBAAa,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,YAAY,CAAC,MAAc;IACzC,yDAAyD;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,+BAAe,CACvB,IAAA,mCAAY,EAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAC/D,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,+BAAe,CACvB,IAAA,mCAAY,EAAC,sBAAsB,EAAE,kCAAkC,CAAC,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -43,4 +43,4 @@ exports.FabricBaseModel = FabricBaseModel = __decorate([
|
|
|
43
43
|
(0, decoration_1.uses)(constants_1.FabricFlavour),
|
|
44
44
|
__metadata("design:paramtypes", [Object])
|
|
45
45
|
], FabricBaseModel);
|
|
46
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=FabricBaseModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FabricBaseModel.js","sourceRoot":"","sources":["../../../src/shared/model/FabricBaseModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAAsE;AACtE,yCAA8D;AAC9D,2DAAkD;AAClD,qDAAyD;AACzD,kDAA6C;AAItC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,4BAAK;IAgBxC,YAAY,GAA+B;QACzC,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAnBY,0CAAe;AAI1B;IAHC,IAAA,wBAAW,EAAC,2CAA2C,CAAC;IACxD,IAAA,aAAM,GAAE;IACR,IAAA,gBAAS,GAAE;8BACA,IAAI;kDAAC;AAKjB;IAHC,IAAA,wBAAW,EAAC,yCAAyC,CAAC;IACtD,IAAA,aAAM,GAAE;IACR,IAAA,gBAAS,GAAE;8BACA,IAAI;kDAAC;AAKjB;IAHC,IAAA,wBAAW,EAAC,iCAAiC,CAAC;IAC9C,IAAA,aAAM,GAAE;IACR,IAAA,uBAAO,GAAE;;gDACO;0BAdN,eAAe;IAD3B,IAAA,iBAAI,EAAC,yBAAa,CAAC;;GACP,eAAe,CAmB3B"}
|
|
@@ -36,4 +36,4 @@ exports.FabricIdentifiedBaseModel = FabricIdentifiedBaseModel = __decorate([
|
|
|
36
36
|
(0, decoration_1.uses)(constants_1.FabricFlavour),
|
|
37
37
|
__metadata("design:paramtypes", [Object])
|
|
38
38
|
], FabricIdentifiedBaseModel);
|
|
39
|
-
//# sourceMappingURL=
|
|
39
|
+
//# sourceMappingURL=FabricIdentifiedBaseModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FabricIdentifiedBaseModel.js","sourceRoot":"","sources":["../../../src/shared/model/FabricIdentifiedBaseModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAA8D;AAC9D,qDAAyD;AACzD,kDAA6C;AAC7C,2DAAoD;AAG7C,IAAe,yBAAyB,GAAxC,MAAe,yBAA0B,SAAQ,iCAAe;IAWrE,YAAsB,GAAyC;QAC7D,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAdqB,8DAAyB;AAI7C;IAHC,IAAA,wBAAW,EAAC,oBAAoB,CAAC;IACjC,IAAA,aAAM,GAAE;IACR,IAAA,gBAAS,GAAE;;4DACO;AAKnB;IAHC,IAAA,wBAAW,EAAC,6CAA6C,CAAC;IAC1D,IAAA,aAAM,GAAE;IACR,IAAA,gBAAS,GAAE;;4DACO;oCATC,yBAAyB;IAD9C,IAAA,iBAAI,EAAC,yBAAa,CAAC;;GACE,yBAAyB,CAc9C"}
|
|
@@ -68,4 +68,4 @@ exports.Identity = Identity = __decorate([
|
|
|
68
68
|
(0, decorator_validation_1.model)(),
|
|
69
69
|
__metadata("design:paramtypes", [Object])
|
|
70
70
|
], Identity);
|
|
71
|
-
//# sourceMappingURL=
|
|
71
|
+
//# sourceMappingURL=Identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Identity.js","sourceRoot":"","sources":["../../../src/shared/model/Identity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAOwB;AACxB,yEAAgF;AAChF,mEAA4D;AAC5D,kDAA4C;AAC5C,qDAAmD;AAEnD;;;;;;;;;;;;;;GAcG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,gBAAS;IAoCrC,YAAY,GAAuB;QACjC,KAAK,CAAC,GAAG,CAAC,CAAC;QATb;;;WAGG;QAGH,SAAI,GAAiB,wBAAY,CAAC,IAAI,CAAC;IAIvC,CAAC;CACF,CAAA;AAvCY,4BAAQ;AAOnB;IAFC,IAAA,wBAAW,EAAC,mCAAmC,CAAC;IAChD,IAAA,SAAE,GAAE;;oCACO;AAUZ;IAJC,IAAA,eAAQ,EAAC,yCAAmB,EAAE;QAC7B,MAAM,EAAE,cAAO,CAAC,OAAO;QACvB,MAAM,EAAE,cAAO,CAAC,OAAO;KACxB,CAAC;8BACY,yCAAmB;6CAAC;AASlC;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,GAAE;;uCACO;AAQf;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;;sCAC4B;mBAlC5B,QAAQ;IADpB,IAAA,4BAAK,GAAE;;GACK,QAAQ,CAuCpB"}
|
|
@@ -63,4 +63,4 @@ exports.IdentityCredentials = IdentityCredentials = __decorate([
|
|
|
63
63
|
(0, decorator_validation_1.model)(),
|
|
64
64
|
__metadata("design:paramtypes", [Object])
|
|
65
65
|
], IdentityCredentials);
|
|
66
|
-
//# sourceMappingURL=
|
|
66
|
+
//# sourceMappingURL=IdentityCredentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdentityCredentials.js","sourceRoot":"","sources":["../../../src/shared/model/IdentityCredentials.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuD;AACvD,yEAAgF;AAChF,qDAAmD;AAEnD;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,gBAAS;IAqChD,YAAY,GAAmC;QAC7C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAxCY,kDAAmB;AAQ9B;IAHC,IAAA,wBAAW,EAAC,6CAA6C,CAAC;IAC1D,IAAA,aAAM,GAAE;IACR,IAAA,SAAE,GAAE;;+CACO;AASZ;IAHC,IAAA,wBAAW,EAAC,gDAAgD,CAAC;IAC7D,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;;wDACU;AASrB;IAHC,IAAA,wBAAW,EAAC,8CAA8C,CAAC;IAC3D,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;;4DACc;AASzB;IAHC,IAAA,wBAAW,EAAC,yBAAyB,CAAC;IACtC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;;uDACS;8BAnCT,mBAAmB;IAD/B,IAAA,4BAAK,GAAE;;GACK,mBAAmB,CAwC/B"}
|
|
@@ -18,4 +18,4 @@ __exportStar(require("./FabricBaseModel.cjs"), exports);
|
|
|
18
18
|
__exportStar(require("./FabricIdentifiedBaseModel.cjs"), exports);
|
|
19
19
|
__exportStar(require("./Identity.cjs"), exports);
|
|
20
20
|
__exportStar(require("./IdentityCredentials.cjs"), exports);
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAkC;AAClC,kEAA4C;AAC5C,iDAA2B;AAC3B,4DAAsC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
require("@decaf-ts/decorator-validation");
|
|
4
|
-
//# sourceMappingURL=
|
|
4
|
+
//# sourceMappingURL=Model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../../../src/shared/overrides/Model.ts"],"names":[],"mappings":";;AAEA,0CAAwC"}
|
|
@@ -16,4 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./Model.cjs"), exports);
|
|
18
18
|
__exportStar(require("./overrides.cjs"), exports);
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/overrides/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,kDAA4B"}
|
|
@@ -62,4 +62,4 @@ decorator_validation_1.Model.isPrivate = function isPrivate(model) {
|
|
|
62
62
|
decoration_1.Metadata.isShared = function isShared(model) {
|
|
63
63
|
return !!decoration_1.Metadata.get(typeof model !== "function" ? model.constructor : model, constants_1.FabricModelKeys.SHARED);
|
|
64
64
|
}.bind(decoration_1.Metadata);
|
|
65
|
-
//# sourceMappingURL=
|
|
65
|
+
//# sourceMappingURL=overrides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/shared/overrides/overrides.ts"],"names":[],"mappings":"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"}
|
package/lib/shared/types.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":""}
|
package/lib/shared/utils.cjs
CHANGED
|
@@ -34,27 +34,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.CoreUtils = void 0;
|
|
37
|
-
exports.normalizeImport = normalizeImport;
|
|
38
37
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
39
38
|
const logging_1 = require("@decaf-ts/logging");
|
|
40
39
|
const fabric_gateway_1 = require("@hyperledger/fabric-gateway");
|
|
41
40
|
const fabric_common_1 = require("fabric-common");
|
|
42
|
-
|
|
43
|
-
* @description Normalizes imports to handle both CommonJS and ESModule formats.
|
|
44
|
-
* @summary Utility function to handle module import differences between formats.
|
|
45
|
-
*
|
|
46
|
-
* @template T - Type of the imported module.
|
|
47
|
-
* @param {Promise<T>} importPromise - Promise returned by dynamic import.
|
|
48
|
-
* @return {Promise<T>} Normalized module.
|
|
49
|
-
*
|
|
50
|
-
* @function normalizeImport
|
|
51
|
-
*
|
|
52
|
-
* @memberOf module:utils
|
|
53
|
-
*/
|
|
54
|
-
async function normalizeImport(importPromise) {
|
|
55
|
-
// CommonJS's `module.exports` is wrapped as `default` in ESModule.
|
|
56
|
-
return importPromise.then((m) => (m.default || m));
|
|
57
|
-
}
|
|
41
|
+
const core_1 = require("@decaf-ts/core");
|
|
58
42
|
/**
|
|
59
43
|
* @description Core utilities for interacting with files, crypto identities, and Fabric SDK helpers
|
|
60
44
|
* @summary Provides static helper methods to read credentials and keys from disk or raw content, construct Fabric gateway Identities and Signers, and perform common filesystem operations used by the Fabric client tooling.
|
|
@@ -93,7 +77,7 @@ class CoreUtils {
|
|
|
93
77
|
if (typeof contentOrPath !== "string")
|
|
94
78
|
return contentOrPath;
|
|
95
79
|
const fileReader = async (path) => {
|
|
96
|
-
const { promises } = await normalizeImport(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
80
|
+
const { promises } = await (0, core_1.normalizeImport)(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
97
81
|
return await promises.readFile(path);
|
|
98
82
|
};
|
|
99
83
|
return await fileReader(contentOrPath);
|
|
@@ -152,7 +136,7 @@ class CoreUtils {
|
|
|
152
136
|
return key;
|
|
153
137
|
}
|
|
154
138
|
static async getCertificateSKI(certificate) {
|
|
155
|
-
const crypto = await normalizeImport(Promise.resolve().then(() => __importStar(require("crypto"))));
|
|
139
|
+
const crypto = await (0, core_1.normalizeImport)(Promise.resolve().then(() => __importStar(require("crypto"))));
|
|
156
140
|
const x509 = new crypto.X509Certificate(certificate);
|
|
157
141
|
const jwk = x509.publicKey.export({ format: "jwk" });
|
|
158
142
|
const prefix = Buffer.from([0x04]);
|
|
@@ -172,7 +156,7 @@ class CoreUtils {
|
|
|
172
156
|
*/
|
|
173
157
|
static async getIdentity(mspId, certDirectoryPath) {
|
|
174
158
|
const identityFileReader = async (path) => {
|
|
175
|
-
const { promises } = await normalizeImport(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
159
|
+
const { promises } = await (0, core_1.normalizeImport)(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
176
160
|
const certPath = await this.getFirstDirFileName(path);
|
|
177
161
|
const credentials = await promises.readFile(certPath);
|
|
178
162
|
return credentials;
|
|
@@ -181,24 +165,24 @@ class CoreUtils {
|
|
|
181
165
|
return { mspId, credentials };
|
|
182
166
|
}
|
|
183
167
|
static async getFirstDirFileName(dirPath) {
|
|
184
|
-
const { promises } = await normalizeImport(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
185
|
-
const { join } = await normalizeImport(Promise.resolve().then(() => __importStar(require("path"))));
|
|
168
|
+
const { promises } = await (0, core_1.normalizeImport)(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
169
|
+
const { join } = await (0, core_1.normalizeImport)(Promise.resolve().then(() => __importStar(require("path"))));
|
|
186
170
|
const files = await promises.readdir(dirPath);
|
|
187
171
|
return join(dirPath, files[0]);
|
|
188
172
|
}
|
|
189
173
|
static async getFirstDirFileNameContent(dirPath) {
|
|
190
|
-
const { promises } = await normalizeImport(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
191
|
-
const { join } = await normalizeImport(Promise.resolve().then(() => __importStar(require("path"))));
|
|
174
|
+
const { promises } = await (0, core_1.normalizeImport)(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
175
|
+
const { join } = await (0, core_1.normalizeImport)(Promise.resolve().then(() => __importStar(require("path"))));
|
|
192
176
|
const files = await promises.readdir(dirPath);
|
|
193
177
|
return (await promises.readFile(join(dirPath, files[0]))).toString();
|
|
194
178
|
}
|
|
195
179
|
static async getFileContent(filePath) {
|
|
196
|
-
const { promises } = await normalizeImport(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
180
|
+
const { promises } = await (0, core_1.normalizeImport)(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
197
181
|
return (await promises.readFile(filePath)).toString();
|
|
198
182
|
}
|
|
199
183
|
static async getSigner(keyDirectoryPath) {
|
|
200
184
|
const signerFileReader = async (path) => {
|
|
201
|
-
const { promises } = await normalizeImport(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
185
|
+
const { promises } = await (0, core_1.normalizeImport)(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
202
186
|
const keyPath = await this.getFirstDirFileName(path);
|
|
203
187
|
return await promises.readFile(keyPath);
|
|
204
188
|
};
|
|
@@ -217,7 +201,7 @@ class CoreUtils {
|
|
|
217
201
|
subtle = globalThis.Crypto.subtle;
|
|
218
202
|
}
|
|
219
203
|
else {
|
|
220
|
-
const lib = (await normalizeImport(Promise.resolve(`${libName}`).then(s => __importStar(require(s)))));
|
|
204
|
+
const lib = (await (0, core_1.normalizeImport)(Promise.resolve(`${libName}`).then(s => __importStar(require(s)))));
|
|
221
205
|
subtle = lib.subtle || lib.webcrypto.subtle;
|
|
222
206
|
}
|
|
223
207
|
if (!subtle)
|
|
@@ -245,4 +229,4 @@ class CoreUtils {
|
|
|
245
229
|
}
|
|
246
230
|
}
|
|
247
231
|
exports.CoreUtils = CoreUtils;
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhcmVkL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCQSwwQ0FLQztBQXZCRCx5RUFBOEQ7QUFDOUQsK0NBQXVEO0FBQ3ZELGdFQUF3RTtBQUN4RSxpREFBa0U7QUFHbEU7Ozs7Ozs7Ozs7O0dBV0c7QUFDSSxLQUFLLFVBQVUsZUFBZSxDQUNuQyxhQUF5QjtJQUV6QixtRUFBbUU7SUFDbkUsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFNLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsU0FBUzthQUNMLFdBQU0sR0FBVyxJQUFJLG9CQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBSS9ELGdCQUF1QixDQUFDO0lBRXhCOzs7Ozs7T0FNRztJQUNLLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQ3BDLGFBQWtDLEVBQ2xDLFVBQW1FO1FBRW5FLElBQUksYUFBYSxZQUFZLFVBQVU7WUFBRSxPQUFPLGFBQWEsQ0FBQztRQUM5RCxJQUNFLGFBQWEsQ0FBQyxLQUFLLENBQ2pCLHNFQUFzRSxDQUN2RTtZQUVELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBOEI7UUFDbEQsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRO1lBQUUsT0FBTyxhQUFhLENBQUM7UUFFNUQsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxFQUFFO1lBQ3hDLE1BQU0sRUFBRSxR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QUcsQ0FBQztRQUNiLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHO2FBQ1osUUFBUSxDQUFDLE1BQU0sQ0FBQzthQUNoQixPQUFPLENBQUMsNkJBQTZCLEVBQUUsRUFBRSxDQUFDO2FBQzFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2FBQ3BCLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FDaEMsT0FBTyxFQUNQLFNBQVMsRUFDVDtZQUNFLElBQUksRUFBRSxPQUFPO1lBQ2IsVUFBVSxFQUFFLE9BQU87U0FDcEIsRUFDRCxJQUFJLEVBQ0osQ0FBQyxNQUFNLENBQUMsQ0FDVCxDQUFDO1FBRUYsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOztBQXJQSCw4QkFzUEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdHJpbmdGb3JtYXQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBMb2dnZXIsIE1pbmlMb2dnZXIgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IElkZW50aXR5LCBTaWduZXIsIHNpZ25lcnMgfSBmcm9tIFwiQGh5cGVybGVkZ2VyL2ZhYnJpYy1nYXRld2F5XCI7XG5pbXBvcnQgeyBDcnlwdG9TZXR0aW5nLCBJQ3J5cHRvU3VpdGUsIFVzZXIgfSBmcm9tIFwiZmFicmljLWNvbW1vblwiO1xuaW1wb3J0IHsgSFNNT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE5vcm1hbGl6ZXMgaW1wb3J0cyB0byBoYW5kbGUgYm90aCBDb21tb25KUyBhbmQgRVNNb2R1bGUgZm9ybWF0cy5cbiAqIEBzdW1tYXJ5IFV0aWxpdHkgZnVuY3Rpb24gdG8gaGFuZGxlIG1vZHVsZSBpbXBvcnQgZGlmZmVyZW5jZXMgYmV0d2VlbiBmb3JtYXRzLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVHlwZSBvZiB0aGUgaW1wb3J0ZWQgbW9kdWxlLlxuICogQHBhcmFtIHtQcm9taXNlPFQ+fSBpbXBvcnRQcm9taXNlIC0gUHJvbWlzZSByZXR1cm5lZCBieSBkeW5hbWljIGltcG9ydC5cbiAqIEByZXR1cm4ge1Byb21pc2U8VD59IE5vcm1hbGl6ZWQgbW9kdWxlLlxuICpcbiAqIEBmdW5jdGlvbiBub3JtYWxpemVJbXBvcnRcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBub3JtYWxpemVJbXBvcnQ8VD4oXG4gIGltcG9ydFByb21pc2U6IFByb21pc2U8VD5cbik6IFByb21pc2U8VD4ge1xuICAvLyBDb21tb25KUydzIGBtb2R1bGUuZXhwb3J0c2AgaXMgd3JhcHBlZCBhcyBgZGVmYXVsdGAgaW4gRVNNb2R1bGUuXG4gIHJldHVybiBpbXBvcnRQcm9taXNlLnRoZW4oKG06IGFueSkgPT4gKG0uZGVmYXVsdCB8fCBtKSBhcyBUKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29yZSB1dGlsaXRpZXMgZm9yIGludGVyYWN0aW5nIHdpdGggZmlsZXMsIGNyeXB0byBpZGVudGl0aWVzLCBhbmQgRmFicmljIFNESyBoZWxwZXJzXG4gKiBAc3VtbWFyeSBQcm92aWRlcyBzdGF0aWMgaGVscGVyIG1ldGhvZHMgdG8gcmVhZCBjcmVkZW50aWFscyBhbmQga2V5cyBmcm9tIGRpc2sgb3IgcmF3IGNvbnRlbnQsIGNvbnN0cnVjdCBGYWJyaWMgZ2F0ZXdheSBJZGVudGl0aWVzIGFuZCBTaWduZXJzLCBhbmQgcGVyZm9ybSBjb21tb24gZmlsZXN5c3RlbSBvcGVyYXRpb25zIHVzZWQgYnkgdGhlIEZhYnJpYyBjbGllbnQgdG9vbGluZy5cbiAqIEBjbGFzcyBDb3JlVXRpbHNcbiAqIEBleGFtcGxlXG4gKiAvLyBSZWFkIGFuIGlkZW50aXR5IGFuZCBzaWduZXIgZnJvbSBkaXJlY3Rvcmllc1xuICogY29uc3QgaWRlbnRpdHkgPSBhd2FpdCBDb3JlVXRpbHMuZ2V0SWRlbnRpdHkoJ09yZzFNU1AnLCAnL21zcC9zaWduY2VydHMnKTtcbiAqIGNvbnN0IHNpZ25lciA9IGF3YWl0IENvcmVVdGlscy5nZXRTaWduZXIoJy9tc3Ava2V5c3RvcmUnKTtcbiAqIC8vIEJ1aWxkIGEgQ0EgdXNlclxuICogY29uc3QgdXNlciA9IGF3YWl0IENvcmVVdGlscy5nZXRDQVVzZXIoJ2FwcFVzZXInLCBwZW1LZXksIHBlbUNlcnQsICdPcmcxTVNQJyk7XG4gKi9cbmV4cG9ydCBjbGFzcyBDb3JlVXRpbHMge1xuICBwcml2YXRlIHN0YXRpYyBsb2dnZXI6IExvZ2dlciA9IG5ldyBNaW5pTG9nZ2VyKENvcmVVdGlscy5uYW1lKTtcblxuICBwcml2YXRlIHN0YXRpYyBjcnlwdG9TdWl0ZTogSUNyeXB0b1N1aXRlO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzb2x2ZSBmaWxlIGNvbnRlbnQgZnJvbSBhIHBhdGggb3IgcmV0dXJuIHByb3ZpZGVkIHJhdyBjb250ZW50XG4gICAqIEBzdW1tYXJ5IElmIHRoZSBpbnB1dCBpcyBhIFVpbnQ4QXJyYXkgb3IgUEVNIGNvbnRlbnQsIHJldHVybnMgaXQgYXMtaXM7IG90aGVyd2lzZSB1c2VzIGEgcHJvdmlkZWQgYXN5bmMgZmlsZVJlYWRlciB0byBsb2FkIHRoZSBjb250ZW50IGZyb20gZGlzay5cbiAgICogQHBhcmFtIHtzdHJpbmd8VWludDhBcnJheX0gY29udGVudE9yUGF0aCAtIEVpdGhlciBhIHJhdyBjb250ZW50IGJ1ZmZlci9zdHJpbmcgb3IgYSBmaWxlc3lzdGVtIHBhdGhcbiAgICogQHBhcmFtIHtmdW5jdGlvbihzdHJpbmcpOiBQcm9taXNlPHN0cmluZ3xVaW50OEFycmF5fEJ1ZmZlcj59IGZpbGVSZWFkZXIgLSBBc3luYyBmdW5jdGlvbiB0byByZWFkIGZpbGUgY29udGVudCB3aGVuIGEgcGF0aCBpcyBwcm92aWRlZFxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZ3xVaW50OEFycmF5fEJ1ZmZlcj59IFRoZSBjb250ZW50IHRvIGJlIHVzZWQgZG93bnN0cmVhbVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgY29udGVudE9mTG9hZEZpbGUoXG4gICAgY29udGVudE9yUGF0aDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBmaWxlUmVhZGVyOiAocGF0aDogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZyB8IFVpbnQ4QXJyYXkgfCBCdWZmZXI+XG4gICkge1xuICAgIGlmIChjb250ZW50T3JQYXRoIGluc3RhbmNlb2YgVWludDhBcnJheSkgcmV0dXJuIGNvbnRlbnRPclBhdGg7XG4gICAgaWYgKFxuICAgICAgY29udGVudE9yUGF0aC5tYXRjaChcbiAgICAgICAgLy0tLS0tQkVHSU4gKENFUlRJRklDQVRFfEtFWXxQUklWQVRFIEtFWSktLS0tLS4rPy0tLS0tRU5EIFxcMS0tLS0tJC9nbXNcbiAgICAgIClcbiAgICApXG4gICAgICByZXR1cm4gY29udGVudE9yUGF0aDtcbiAgICByZXR1cm4gYXdhaXQgZmlsZVJlYWRlcihjb250ZW50T3JQYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVhZCBmaWxlIGNvbnRlbnQgZnJvbSBhIHBhdGggb3IgcmV0dXJuIHByb3ZpZGVkIEJ1ZmZlclxuICAgKiBAc3VtbWFyeSBDb252ZW5pZW5jZSB3cmFwcGVyIHRoYXQgbG9hZHMgYSBmaWxlIHVzaW5nIGZzLnByb21pc2VzIHdoZW4gYSBwYXRoIHN0cmluZyBpcyBwcm92aWRlZDsgb3RoZXJ3aXNlIHJldHVybnMgdGhlIGdpdmVuIEJ1ZmZlciBkaXJlY3RseS5cbiAgICogQHBhcmFtIHtzdHJpbmd8QnVmZmVyfSBjb250ZW50T3JQYXRoIC0gUGF0aCB0byBhIGZpbGUgb24gZGlzayBvciBhbiBhbHJlYWR5LWxvYWRlZCBCdWZmZXJcbiAgICogQHJldHVybiB7UHJvbWlzZTxzdHJpbmd8VWludDhBcnJheXxCdWZmZXI+fSBUaGUgZmlsZSBjb250ZW50IGFzIGEgQnVmZmVyL3N0cmluZyBkZXBlbmRpbmcgb24gcmVhZGVyXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgcmVhZEZpbGUoY29udGVudE9yUGF0aDogc3RyaW5nIHwgQnVmZmVyKSB7XG4gICAgaWYgKHR5cGVvZiBjb250ZW50T3JQYXRoICE9PSBcInN0cmluZ1wiKSByZXR1cm4gY29udGVudE9yUGF0aDtcblxuICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBhc3luYyAocGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB7IHByb21pc2VzIH0gPSBhd2FpdCBub3JtYWxpemVJbXBvcnQoaW1wb3J0KFwiZnNcIikpO1xuICAgICAgcmV0dXJuIGF3YWl0IHByb21pc2VzLnJlYWRGaWxlKHBhdGgpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYXdhaXQgZmlsZVJlYWRlcihjb250ZW50T3JQYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgRmFicmljIENBIFVzZXIgb2JqZWN0IHdpdGggZW5yb2xsbWVudFxuICAgKiBAc3VtbWFyeSBDb25zdHJ1Y3RzIGEgZmFicmljLWNvbW1vbiBVc2VyLCBzZXRzIGEgY3J5cHRvIHN1aXRlLCBpbXBvcnRzIHRoZSBwcm92aWRlZCBwcml2YXRlIGtleSwgYW5kIHNldHMgZW5yb2xsbWVudCB3aXRoIGNlcnRpZmljYXRlIGFuZCBNU1AgSUQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1c2VyTmFtZSAtIFRoZSB1c2VyIG5hbWUgZm9yIHRoZSBDQSB1c2VyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcml2YXRlS2V5IC0gUEVNLWVuY29kZWQgcHJpdmF0ZSBrZXlcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNlcnRpZmljYXRlIC0gUEVNLWVuY29kZWQgWC41MDkgY2VydGlmaWNhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1zcElkIC0gTWVtYmVyc2hpcCBTZXJ2aWNlIFByb3ZpZGVyIGlkZW50aWZpZXJcbiAgICogQHJldHVybiB7UHJvbWlzZTxVc2VyPn0gVGhlIGVucm9sbGVkIEZhYnJpYyBVc2VyIGluc3RhbmNlXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgZ2V0Q0FVc2VyKFxuICAgIHVzZXJOYW1lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZUtleTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNlcnRpZmljYXRlOiBzdHJpbmcsXG4gICAgbXNwSWQ6IHN0cmluZyxcbiAgICBvcHRpb25zPzogeyBoc20/OiBIU01PcHRpb25zIH1cbiAgKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBzdHJpbmdGb3JtYXQoXG4gICAgICAgIFwiQ3JlYXRpbmcgQ0EgezB9IHVzZXIgezF9IHdpdGggY2VydGlmaWNhdGUgezJ9XCIsXG4gICAgICAgIG1zcElkLFxuICAgICAgICB1c2VyTmFtZSxcbiAgICAgICAgY2VydGlmaWNhdGVcbiAgICAgIClcbiAgICApO1xuICAgIGNvbnN0IHVzZXIgPSBuZXcgVXNlcih1c2VyTmFtZSk7XG4gICAgY29uc3QgY29uZmlnID0gb3B0aW9ucz8uaHNtXG4gICAgICA/IHtcbiAgICAgICAgICBzb2Z0d2FyZTogZmFsc2UsXG4gICAgICAgICAgbGliOiBvcHRpb25zLmhzbS5saWJyYXJ5LFxuICAgICAgICAgIHNsb3Q6IG9wdGlvbnMuaHNtLnNsb3QsXG4gICAgICAgICAgbGFiZWw6IG9wdGlvbnMuaHNtLnRva2VuTGFiZWwsXG4gICAgICAgICAgcGluOiBTdHJpbmcob3B0aW9ucy5oc20ucGluKSxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgY3J5cHRvU3VpdGUgPSB0aGlzLmdldENyeXB0b1N1aXRlKGNvbmZpZyk7XG5cbiAgICB1c2VyLnNldENyeXB0b1N1aXRlKGNyeXB0b1N1aXRlKTtcbiAgICBjb25zdCBlbnJvbGxtZW50S2V5ID0gb3B0aW9ucz8uaHNtXG4gICAgICA/IGF3YWl0IHRoaXMuZ2V0SFNNRW5yb2xsbWVudEtleShjcnlwdG9TdWl0ZSwgY2VydGlmaWNhdGUsIG9wdGlvbnMuaHNtKVxuICAgICAgOiB0aGlzLmdldFNvZnR3YXJlRW5yb2xsbWVudEtleShjcnlwdG9TdWl0ZSwgcHJpdmF0ZUtleSk7XG4gICAgYXdhaXQgdXNlci5zZXRFbnJvbGxtZW50KGVucm9sbG1lbnRLZXksIGNlcnRpZmljYXRlLCBtc3BJZCk7XG4gICAgcmV0dXJuIHVzZXI7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q3J5cHRvU3VpdGUob3B0aW9ucz86IENyeXB0b1NldHRpbmcpOiBJQ3J5cHRvU3VpdGUge1xuICAgIGlmICghb3B0aW9ucykgcmV0dXJuIFVzZXIubmV3Q3J5cHRvU3VpdGUoKTtcbiAgICBpZiAoQ29yZVV0aWxzLmNyeXB0b1N1aXRlKSByZXR1cm4gQ29yZVV0aWxzLmNyeXB0b1N1aXRlO1xuXG4gICAgQ29yZVV0aWxzLmNyeXB0b1N1aXRlID0gVXNlci5uZXdDcnlwdG9TdWl0ZShvcHRpb25zKTtcbiAgICByZXR1cm4gQ29yZVV0aWxzLmNyeXB0b1N1aXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0U29mdHdhcmVFbnJvbGxtZW50S2V5KFxuICAgIGNyeXB0b1N1aXRlOiBhbnksXG4gICAgcHJpdmF0ZUtleT86IHN0cmluZ1xuICApIHtcbiAgICBpZiAoIXByaXZhdGVLZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJQcml2YXRlIGtleSBtdXN0IGJlIHByb3ZpZGVkIHdoZW4gSFNNIGNvbmZpZ3VyYXRpb24gaXMgbm90IHN1cHBsaWVkXCJcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBjcnlwdG9TdWl0ZS5jcmVhdGVLZXlGcm9tUmF3KHByaXZhdGVLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgZ2V0SFNNRW5yb2xsbWVudEtleShcbiAgICBjcnlwdG9TdWl0ZTogYW55LFxuICAgIGNlcnRpZmljYXRlOiBzdHJpbmcsXG4gICAgaHNtOiBIU01PcHRpb25zXG4gICkge1xuICAgIGNvbnN0IHNraSA9XG4gICAgICBoc20ua2V5SWRIZXggJiYgaHNtLmtleUlkSGV4LnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICAgID8gQnVmZmVyLmZyb20oaHNtLmtleUlkSGV4LCBcImhleFwiKVxuICAgICAgICA6IGF3YWl0IHRoaXMuZ2V0Q2VydGlmaWNhdGVTS0koY2VydGlmaWNhdGUpO1xuICAgIGNvbnN0IGtleSA9IGF3YWl0IGNyeXB0b1N1aXRlLmdldEtleShza2kpO1xuICAgIGlmICgha2V5IHx8ICh0eXBlb2Yga2V5LmlzUHJpdmF0ZSA9PT0gXCJmdW5jdGlvblwiICYmICFrZXkuaXNQcml2YXRlKCkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmFibGUgdG8gcmVzb2x2ZSBwcml2YXRlIGtleSBmcm9tIEhTTVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleTtcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBnZXRDZXJ0aWZpY2F0ZVNLSShjZXJ0aWZpY2F0ZTogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgICBjb25zdCBjcnlwdG8gPSBhd2FpdCBub3JtYWxpemVJbXBvcnQoaW1wb3J0KFwiY3J5cHRvXCIpKTtcbiAgICBjb25zdCB4NTA5ID0gbmV3IGNyeXB0by5YNTA5Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpO1xuICAgIGNvbnN0IGp3ayA9IHg1MDkucHVibGljS2V5LmV4cG9ydCh7IGZvcm1hdDogXCJqd2tcIiB9KTtcbiAgICBjb25zdCBwcmVmaXggPSBCdWZmZXIuZnJvbShbMHgwNF0pO1xuICAgIGNvbnN0IHggPSBCdWZmZXIuZnJvbShqd2sueCB8fCBcIlwiLCBcImJhc2U2NHVybFwiKTtcbiAgICBjb25zdCB5ID0gQnVmZmVyLmZyb20oandrLnkgfHwgXCJcIiwgXCJiYXNlNjR1cmxcIik7XG4gICAgcmV0dXJuIGNyeXB0b1xuICAgICAgLmNyZWF0ZUhhc2goXCJzaGEyNTZcIilcbiAgICAgIC51cGRhdGUoQnVmZmVyLmNvbmNhdChbcHJlZml4LCB4LCB5XSkpXG4gICAgICAuZGlnZXN0KCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJ1aWxkIGEgRmFicmljIEdhdGV3YXkgSWRlbnRpdHkgZnJvbSBhbiBNU1AgSUQgYW5kIGNlcnRpZmljYXRlXG4gICAqIEBzdW1tYXJ5IFJlYWRzIGEgY2VydGlmaWNhdGUgZnJvbSBhIGRpcmVjdG9yeSBwYXRoIG9yIGFjY2VwdHMgcmF3IGNvbnRlbnQgYW5kIHJldHVybnMgYW4gSWRlbnRpdHkgb2JqZWN0IHN1aXRhYmxlIGZvciB0aGUgRmFicmljIEdhdGV3YXkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtc3BJZCAtIE1lbWJlcnNoaXAgU2VydmljZSBQcm92aWRlciBJRFxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2VydERpcmVjdG9yeVBhdGggLSBQYXRoIHRvIGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGNlcnRpZmljYXRlIGZpbGUsIG9yIFBFTSBjb250ZW50XG4gICAqIEByZXR1cm4ge1Byb21pc2U8SWRlbnRpdHk+fSBUaGUgaWRlbnRpdHkgY29udGFpbmluZyBtc3BJZCBhbmQgY2VydGlmaWNhdGUgY3JlZGVudGlhbHNcbiAgICovXG4gIHN0YXRpYyBhc3luYyBnZXRJZGVudGl0eShcbiAgICBtc3BJZDogc3RyaW5nLFxuICAgIGNlcnREaXJlY3RvcnlQYXRoOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxJZGVudGl0eT4ge1xuICAgIGNvbnN0IGlkZW50aXR5RmlsZVJlYWRlciA9IGFzeW5jIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHsgcHJvbWlzZXMgfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJmc1wiKSk7XG4gICAgICBjb25zdCBjZXJ0UGF0aCA9IGF3YWl0IHRoaXMuZ2V0Rmlyc3REaXJGaWxlTmFtZShwYXRoKTtcbiAgICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gYXdhaXQgcHJvbWlzZXMucmVhZEZpbGUoY2VydFBhdGgpO1xuICAgICAgcmV0dXJuIGNyZWRlbnRpYWxzO1xuICAgIH07XG5cbiAgICBjb25zdCBjcmVkZW50aWFsczogVWludDhBcnJheSA9IChhd2FpdCB0aGlzLmNvbnRlbnRPZkxvYWRGaWxlKFxuICAgICAgY2VydERpcmVjdG9yeVBhdGgsXG4gICAgICBpZGVudGl0eUZpbGVSZWFkZXJcbiAgICApKSBhcyBVaW50OEFycmF5O1xuXG4gICAgcmV0dXJuIHsgbXNwSWQsIGNyZWRlbnRpYWxzIH07XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgZ2V0Rmlyc3REaXJGaWxlTmFtZShkaXJQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgcHJvbWlzZXMgfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJmc1wiKSk7XG4gICAgY29uc3QgeyBqb2luIH0gPSBhd2FpdCBub3JtYWxpemVJbXBvcnQoaW1wb3J0KFwicGF0aFwiKSk7XG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCBwcm9taXNlcy5yZWFkZGlyKGRpclBhdGgpO1xuICAgIHJldHVybiBqb2luKGRpclBhdGgsIGZpbGVzWzBdKTtcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBnZXRGaXJzdERpckZpbGVOYW1lQ29udGVudChkaXJQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgcHJvbWlzZXMgfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJmc1wiKSk7XG4gICAgY29uc3QgeyBqb2luIH0gPSBhd2FpdCBub3JtYWxpemVJbXBvcnQoaW1wb3J0KFwicGF0aFwiKSk7XG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCBwcm9taXNlcy5yZWFkZGlyKGRpclBhdGgpO1xuICAgIHJldHVybiAoYXdhaXQgcHJvbWlzZXMucmVhZEZpbGUoam9pbihkaXJQYXRoLCBmaWxlc1swXSkpKS50b1N0cmluZygpO1xuICB9XG5cbiAgc3RhdGljIGFzeW5jIGdldEZpbGVDb250ZW50KGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgcHJvbWlzZXMgfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJmc1wiKSk7XG4gICAgcmV0dXJuIChhd2FpdCBwcm9taXNlcy5yZWFkRmlsZShmaWxlUGF0aCkpLnRvU3RyaW5nKCk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgZ2V0U2lnbmVyKGtleURpcmVjdG9yeVBhdGg6IHN0cmluZyk6IFByb21pc2U8U2lnbmVyPiB7XG4gICAgY29uc3Qgc2lnbmVyRmlsZVJlYWRlciA9IGFzeW5jIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHsgcHJvbWlzZXMgfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJmc1wiKSk7XG4gICAgICBjb25zdCBrZXlQYXRoID0gYXdhaXQgdGhpcy5nZXRGaXJzdERpckZpbGVOYW1lKHBhdGgpO1xuICAgICAgcmV0dXJuIGF3YWl0IHByb21pc2VzLnJlYWRGaWxlKGtleVBhdGgpO1xuICAgIH07XG5cbiAgICBjb25zdCBwcml2YXRlS2V5UGVtID0gKGF3YWl0IHRoaXMuY29udGVudE9mTG9hZEZpbGUoXG4gICAgICBrZXlEaXJlY3RvcnlQYXRoLFxuICAgICAgc2lnbmVyRmlsZVJlYWRlclxuICAgICkpIGFzIEJ1ZmZlcjtcbiAgICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgdGhpcy5leHRyYWN0UHJpdmF0ZUtleShwcml2YXRlS2V5UGVtKTtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhwcml2YXRlS2V5KTtcbiAgICBjb25zdCBrID0gKHByaXZhdGVLZXkgYXMgYW55KVtrZXlzWzBdXTtcbiAgICAvLyAtLVxuXG4gICAgcmV0dXJuIHNpZ25lcnMubmV3UHJpdmF0ZUtleVNpZ25lcihrIGFzIGFueSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBhc3luYyBleHRyYWN0UHJpdmF0ZUtleShwZW06IEJ1ZmZlcikge1xuICAgIGNvbnN0IGxpYk5hbWUgPSBcImNyeXB0b1wiO1xuICAgIGxldCBzdWJ0bGU6IGFueTtcbiAgICBpZiAoXG4gICAgICAoZ2xvYmFsVGhpcyBhcyBhbnkpLndpbmRvdyAmJlxuICAgICAgKChnbG9iYWxUaGlzIGFzIGFueSkud2luZG93IGFzIHsgQ3J5cHRvOiBhbnkgfSkuQ3J5cHRvXG4gICAgKSB7XG4gICAgICBzdWJ0bGUgPSAoKGdsb2JhbFRoaXMgYXMgYW55KS5DcnlwdG8gYXMgYW55KS5zdWJ0bGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxpYiA9IChhd2FpdCBub3JtYWxpemVJbXBvcnQoaW1wb3J0KGxpYk5hbWUpKSkgYXMgYW55O1xuICAgICAgc3VidGxlID0gbGliLnN1YnRsZSB8fCBsaWIud2ViY3J5cHRvLnN1YnRsZTtcbiAgICB9XG5cbiAgICBpZiAoIXN1YnRsZSkgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGxvYWQgU3VidGxlQ3J5cHRvIG1vZHVsZVwiKTtcblxuICAgIGZ1bmN0aW9uIHN0cjJhYihzdHI6IHN0cmluZykge1xuICAgICAgY29uc3QgYnVmID0gbmV3IEFycmF5QnVmZmVyKHN0ci5sZW5ndGgpO1xuICAgICAgY29uc3QgYnVmVmlldyA9IG5ldyBVaW50OEFycmF5KGJ1Zik7XG4gICAgICBmb3IgKGxldCBpID0gMCwgc3RyTGVuID0gc3RyLmxlbmd0aDsgaSA8IHN0ckxlbjsgaSsrKSB7XG4gICAgICAgIGJ1ZlZpZXdbaV0gPSBzdHIuY2hhckNvZGVBdChpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBidWY7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyID0gcGVtXG4gICAgICAudG9TdHJpbmcoXCJ1dGY4XCIpXG4gICAgICAucmVwbGFjZShcIi0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLVwiLCBcIlwiKVxuICAgICAgLnJlcGxhY2VBbGwoXCJcXG5cIiwgXCJcIilcbiAgICAgIC5yZXBsYWNlKFwiLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLVwiLCBcIlwiKTtcbiAgICBjb25zdCBkZWNvZGVkID0gQnVmZmVyLmZyb20oc3RyLCBcImJhc2U2NFwiKS50b1N0cmluZyhcImJpbmFyeVwiKTtcbiAgICBjb25zdCBiaW5hcnlEZXIgPSBzdHIyYWIoZGVjb2RlZCk7XG4gICAgY29uc3Qga2V5ID0gYXdhaXQgc3VidGxlLmltcG9ydEtleShcbiAgICAgIFwicGtjczhcIixcbiAgICAgIGJpbmFyeURlcixcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJFQ0RTQVwiLFxuICAgICAgICBuYW1lZEN1cnZlOiBcIlAtMjU2XCIsXG4gICAgICB9LFxuICAgICAgdHJ1ZSxcbiAgICAgIFtcInNpZ25cIl1cbiAgICApO1xuXG4gICAgcmV0dXJuIGtleTtcbiAgfVxufVxuIl19
|
|
232
|
+
//# sourceMappingURL=utils.js.map
|
package/lib/shared/utils.d.ts
CHANGED
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import { Identity, Signer } from "@hyperledger/fabric-gateway";
|
|
2
2
|
import { CryptoSetting, ICryptoSuite, User } from "fabric-common";
|
|
3
3
|
import { HSMOptions } from "./types";
|
|
4
|
-
/**
|
|
5
|
-
* @description Normalizes imports to handle both CommonJS and ESModule formats.
|
|
6
|
-
* @summary Utility function to handle module import differences between formats.
|
|
7
|
-
*
|
|
8
|
-
* @template T - Type of the imported module.
|
|
9
|
-
* @param {Promise<T>} importPromise - Promise returned by dynamic import.
|
|
10
|
-
* @return {Promise<T>} Normalized module.
|
|
11
|
-
*
|
|
12
|
-
* @function normalizeImport
|
|
13
|
-
*
|
|
14
|
-
* @memberOf module:utils
|
|
15
|
-
*/
|
|
16
|
-
export declare function normalizeImport<T>(importPromise: Promise<T>): Promise<T>;
|
|
17
4
|
/**
|
|
18
5
|
* @description Core utilities for interacting with files, crypto identities, and Fabric SDK helpers
|
|
19
6
|
* @summary Provides static helper methods to read credentials and keys from disk or raw content, construct Fabric gateway Identities and Signers, and perform common filesystem operations used by the Fabric client tooling.
|