@decaf-ts/for-fabric 0.1.78 → 0.1.79
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 +3048 -2
- package/dist/for-fabric.js +3138 -2
- package/lib/bin/cli.cjs +2 -1
- package/lib/cli-module.cjs +77 -68
- package/lib/cli-utils.cjs +1 -1
- package/lib/client/FabricClientAdapter.cjs +1 -1
- package/lib/client/FabricClientDispatch.cjs +1 -1
- package/lib/client/FabricClientPaginator.cjs +1 -1
- package/lib/client/FabricClientRepository.cjs +1 -1
- package/lib/client/FabricClientStatement.cjs +1 -1
- package/lib/client/collections/generation.cjs +1 -1
- package/lib/client/collections/index.cjs +1 -1
- package/lib/client/constants.cjs +1 -1
- package/lib/client/crypto.cjs +1 -1
- package/lib/client/erc20/FabricERC20ClientRepository.cjs +1 -1
- package/lib/client/erc20/index.cjs +1 -1
- package/lib/client/fabric-fs.cjs +1 -1
- package/lib/client/fabric-fs.d.ts +1 -1
- package/lib/client/fabric-hsm.cjs +1 -1
- package/lib/client/index.cjs +1 -1
- package/lib/client/indexes/generation.cjs +1 -1
- package/lib/client/indexes/index.cjs +1 -1
- package/lib/client/logging.cjs +1 -1
- package/lib/client/services/FabricEnrollmentService.cjs +1 -1
- package/lib/client/services/FabricIdentityService.cjs +1 -1
- package/lib/client/services/RegistrationRequestBuilder.cjs +1 -1
- package/lib/client/services/constants.cjs +1 -1
- package/lib/client/services/index.cjs +1 -1
- package/lib/client/types.cjs +1 -1
- package/lib/client/utils.cjs +1 -1
- package/lib/client/utils.d.ts +1 -1
- package/lib/contract/Address.cjs +1 -1
- package/lib/contract/AddressContract.cjs +1 -1
- package/lib/contract/BatchContract.cjs +1 -1
- package/lib/contract/OtherProductContract.cjs +1 -1
- package/lib/contract/OtherProductSharedContract.cjs +1 -1
- package/lib/contract/Product.cjs +1 -1
- package/lib/contract/ProductContract.cjs +1 -1
- package/lib/contract/SegregatedPrivateDocumentContract.cjs +1 -1
- package/lib/contract/SegregatedSharedDocumentContract.cjs +1 -1
- package/lib/contract/User.cjs +1 -1
- package/lib/contract/UserContract.cjs +1 -1
- package/lib/contract/index.cjs +1 -1
- package/lib/contract/models/Audit.cjs +1 -1
- package/lib/contract/models/BaseIdentifiedModel.cjs +1 -1
- package/lib/contract/models/BaseModel.cjs +1 -1
- package/lib/contract/models/Batch.cjs +1 -1
- package/lib/contract/models/Leaflet.cjs +1 -1
- package/lib/contract/models/LeafletFile.cjs +1 -1
- package/lib/contract/models/Market.cjs +1 -1
- package/lib/contract/models/OtherProduct.cjs +1 -1
- package/lib/contract/models/OtherProductShared.cjs +1 -1
- package/lib/contract/models/Product.cjs +1 -1
- package/lib/contract/models/ProductStrength.cjs +1 -1
- package/lib/contract/models/SegregatedDocument.cjs +1 -1
- package/lib/contract/models/constants.cjs +1 -1
- package/lib/contract/models/decorators.cjs +1 -1
- package/lib/contract/models/gtin.cjs +1 -1
- package/lib/contracts/ContractAdapter.cjs +1 -1
- package/lib/contracts/ContractContext.cjs +1 -1
- package/lib/contracts/ContractPrivateDataAdapter.cjs +1 -1
- package/lib/contracts/FabricConstruction.cjs +1 -1
- package/lib/contracts/FabricContractPaginator.cjs +1 -1
- package/lib/contracts/FabricContractRepository.cjs +1 -1
- package/lib/contracts/FabricContractRepositoryObservableHandler.cjs +1 -1
- package/lib/contracts/FabricContractSequence.cjs +1 -1
- package/lib/contracts/FabricContractStatement.cjs +1 -1
- package/lib/contracts/PrivateSequence.cjs +1 -1
- package/lib/contracts/crud/crud-contract.cjs +1 -1
- package/lib/contracts/crud/index.cjs +1 -1
- package/lib/contracts/crud/serialized-crud-contract.cjs +1 -1
- package/lib/contracts/erc20/erc20contract.cjs +1 -1
- package/lib/contracts/erc20/index.cjs +1 -1
- package/lib/contracts/erc20/models.cjs +1 -1
- package/lib/contracts/index.cjs +1 -1
- package/lib/contracts/logging.cjs +1 -1
- package/lib/contracts/overrides.cjs +1 -1
- package/lib/contracts/private-data.cjs +1 -1
- package/lib/contracts/types.cjs +1 -1
- package/lib/contracts/uuid.cjs +1 -1
- package/lib/esm/bin/cli.js +1 -1
- package/lib/esm/cli-module.js +77 -68
- package/lib/esm/cli-utils.js +1 -1
- package/lib/esm/client/FabricClientAdapter.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js +1 -1
- package/lib/esm/client/FabricClientPaginator.js +1 -1
- package/lib/esm/client/FabricClientRepository.js +1 -1
- package/lib/esm/client/FabricClientStatement.js +1 -1
- package/lib/esm/client/collections/generation.js +1 -1
- package/lib/esm/client/collections/index.js +1 -1
- package/lib/esm/client/constants.js +1 -1
- package/lib/esm/client/crypto.js +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
- package/lib/esm/client/erc20/index.js +1 -1
- package/lib/esm/client/fabric-fs.d.ts +1 -1
- package/lib/esm/client/fabric-fs.js +1 -1
- package/lib/esm/client/fabric-hsm.js +1 -1
- package/lib/esm/client/index.js +1 -1
- package/lib/esm/client/indexes/generation.js +1 -1
- package/lib/esm/client/indexes/index.js +1 -1
- package/lib/esm/client/logging.js +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
- package/lib/esm/client/services/FabricIdentityService.js +1 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
- package/lib/esm/client/services/constants.js +1 -1
- package/lib/esm/client/services/index.js +1 -1
- package/lib/esm/client/types.js +1 -1
- package/lib/esm/client/utils.d.ts +1 -1
- package/lib/esm/client/utils.js +1 -1
- package/lib/esm/contract/Address.js +1 -1
- package/lib/esm/contract/AddressContract.js +1 -1
- package/lib/esm/contract/BatchContract.js +1 -1
- package/lib/esm/contract/OtherProductContract.js +1 -1
- package/lib/esm/contract/OtherProductSharedContract.js +1 -1
- package/lib/esm/contract/Product.js +1 -1
- package/lib/esm/contract/ProductContract.js +1 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
- package/lib/esm/contract/User.js +1 -1
- package/lib/esm/contract/UserContract.js +1 -1
- package/lib/esm/contract/index.js +1 -1
- package/lib/esm/contract/models/Audit.js +1 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
- package/lib/esm/contract/models/BaseModel.js +1 -1
- package/lib/esm/contract/models/Batch.js +1 -1
- package/lib/esm/contract/models/Leaflet.js +1 -1
- package/lib/esm/contract/models/LeafletFile.js +1 -1
- package/lib/esm/contract/models/Market.js +1 -1
- package/lib/esm/contract/models/OtherProduct.js +1 -1
- package/lib/esm/contract/models/OtherProductShared.js +1 -1
- package/lib/esm/contract/models/Product.js +1 -1
- package/lib/esm/contract/models/ProductStrength.js +1 -1
- package/lib/esm/contract/models/SegregatedDocument.js +1 -1
- package/lib/esm/contract/models/constants.js +1 -1
- package/lib/esm/contract/models/decorators.js +1 -1
- package/lib/esm/contract/models/gtin.js +1 -1
- package/lib/esm/contracts/ContractAdapter.js +1 -1
- package/lib/esm/contracts/ContractContext.js +1 -1
- package/lib/esm/contracts/ContractPrivateDataAdapter.js +1 -1
- package/lib/esm/contracts/FabricConstruction.js +1 -1
- package/lib/esm/contracts/FabricContractPaginator.js +1 -1
- package/lib/esm/contracts/FabricContractRepository.js +1 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
- package/lib/esm/contracts/FabricContractSequence.js +1 -1
- package/lib/esm/contracts/FabricContractStatement.js +1 -1
- package/lib/esm/contracts/PrivateSequence.js +1 -1
- package/lib/esm/contracts/crud/crud-contract.js +1 -1
- package/lib/esm/contracts/crud/index.js +1 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
- package/lib/esm/contracts/erc20/erc20contract.js +1 -1
- package/lib/esm/contracts/erc20/index.js +1 -1
- package/lib/esm/contracts/erc20/models.js +1 -1
- package/lib/esm/contracts/index.js +1 -1
- package/lib/esm/contracts/logging.js +1 -1
- package/lib/esm/contracts/overrides.js +1 -1
- package/lib/esm/contracts/private-data.js +1 -1
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/uuid.js +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/shared/ClientSerializer.js +1 -1
- package/lib/esm/shared/DeterministicSerializer.js +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
- package/lib/esm/shared/constants.js +1 -1
- package/lib/esm/shared/decorators.js +1 -1
- package/lib/esm/shared/erc20/erc20-constants.js +1 -1
- package/lib/esm/shared/erc20/index.js +1 -1
- package/lib/esm/shared/errors.js +1 -1
- package/lib/esm/shared/events.js +1 -1
- package/lib/esm/shared/fabric-types.js +1 -1
- package/lib/esm/shared/index.js +1 -1
- package/lib/esm/shared/interfaces/Checkable.js +1 -1
- package/lib/esm/shared/interfaces/index.js +1 -1
- package/lib/esm/shared/math.js +1 -1
- package/lib/esm/shared/model/FabricBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
- package/lib/esm/shared/model/Identity.js +1 -1
- package/lib/esm/shared/model/IdentityCredentials.js +1 -1
- package/lib/esm/shared/model/index.js +1 -1
- package/lib/esm/shared/overrides/Model.js +1 -1
- package/lib/esm/shared/overrides/index.js +1 -1
- package/lib/esm/shared/overrides/overrides.js +1 -1
- package/lib/esm/shared/types.js +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +2 -2
- package/lib/index.cjs +1 -1
- package/lib/shared/ClientSerializer.cjs +1 -1
- package/lib/shared/DeterministicSerializer.cjs +1 -1
- package/lib/shared/SimpleDeterministicSerializer.cjs +1 -1
- package/lib/shared/constants.cjs +1 -1
- package/lib/shared/decorators.cjs +1 -1
- package/lib/shared/erc20/erc20-constants.cjs +1 -1
- package/lib/shared/erc20/index.cjs +1 -1
- package/lib/shared/errors.cjs +1 -1
- package/lib/shared/events.cjs +1 -1
- package/lib/shared/fabric-types.cjs +1 -1
- package/lib/shared/index.cjs +1 -1
- package/lib/shared/interfaces/Checkable.cjs +1 -1
- package/lib/shared/interfaces/index.cjs +1 -1
- package/lib/shared/math.cjs +1 -1
- package/lib/shared/model/FabricBaseModel.cjs +1 -1
- package/lib/shared/model/FabricIdentifiedBaseModel.cjs +1 -1
- package/lib/shared/model/Identity.cjs +1 -1
- package/lib/shared/model/IdentityCredentials.cjs +1 -1
- package/lib/shared/model/index.cjs +1 -1
- package/lib/shared/overrides/Model.cjs +1 -1
- package/lib/shared/overrides/index.cjs +1 -1
- package/lib/shared/overrides/overrides.cjs +1 -1
- package/lib/shared/types.cjs +1 -1
- package/lib/version.cjs +2 -2
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/dist/for-fabric.cjs.map +0 -1
- package/dist/for-fabric.js.map +0 -1
- package/lib/bin/cli.js.map +0 -1
- package/lib/cli-module.js.map +0 -1
- package/lib/cli-utils.js.map +0 -1
- package/lib/client/FabricClientAdapter.js.map +0 -1
- package/lib/client/FabricClientDispatch.js.map +0 -1
- package/lib/client/FabricClientPaginator.js.map +0 -1
- package/lib/client/FabricClientRepository.js.map +0 -1
- package/lib/client/FabricClientStatement.js.map +0 -1
- package/lib/client/collections/generation.js.map +0 -1
- package/lib/client/collections/index.js.map +0 -1
- package/lib/client/constants.js.map +0 -1
- package/lib/client/crypto.js.map +0 -1
- package/lib/client/erc20/FabricERC20ClientRepository.js.map +0 -1
- package/lib/client/erc20/index.js.map +0 -1
- package/lib/client/fabric-fs.js.map +0 -1
- package/lib/client/fabric-hsm.js.map +0 -1
- package/lib/client/index.js.map +0 -1
- package/lib/client/indexes/generation.js.map +0 -1
- package/lib/client/indexes/index.js.map +0 -1
- package/lib/client/logging.js.map +0 -1
- package/lib/client/services/FabricEnrollmentService.js.map +0 -1
- package/lib/client/services/FabricIdentityService.js.map +0 -1
- package/lib/client/services/RegistrationRequestBuilder.js.map +0 -1
- package/lib/client/services/constants.js.map +0 -1
- package/lib/client/services/index.js.map +0 -1
- package/lib/client/types.js.map +0 -1
- package/lib/client/utils.js.map +0 -1
- package/lib/contract/Address.js.map +0 -1
- package/lib/contract/AddressContract.js.map +0 -1
- package/lib/contract/BatchContract.js.map +0 -1
- package/lib/contract/OtherProductContract.js.map +0 -1
- package/lib/contract/OtherProductSharedContract.js.map +0 -1
- package/lib/contract/Product.js.map +0 -1
- package/lib/contract/ProductContract.js.map +0 -1
- package/lib/contract/SegregatedPrivateDocumentContract.js.map +0 -1
- package/lib/contract/SegregatedSharedDocumentContract.js.map +0 -1
- package/lib/contract/User.js.map +0 -1
- package/lib/contract/UserContract.js.map +0 -1
- package/lib/contract/index.js.map +0 -1
- package/lib/contract/models/Audit.js.map +0 -1
- package/lib/contract/models/BaseIdentifiedModel.js.map +0 -1
- package/lib/contract/models/BaseModel.js.map +0 -1
- package/lib/contract/models/Batch.js.map +0 -1
- package/lib/contract/models/Leaflet.js.map +0 -1
- package/lib/contract/models/LeafletFile.js.map +0 -1
- package/lib/contract/models/Market.js.map +0 -1
- package/lib/contract/models/OtherProduct.js.map +0 -1
- package/lib/contract/models/OtherProductShared.js.map +0 -1
- package/lib/contract/models/Product.js.map +0 -1
- package/lib/contract/models/ProductStrength.js.map +0 -1
- package/lib/contract/models/SegregatedDocument.js.map +0 -1
- package/lib/contract/models/constants.js.map +0 -1
- package/lib/contract/models/decorators.js.map +0 -1
- package/lib/contract/models/gtin.js.map +0 -1
- package/lib/contracts/ContractAdapter.js.map +0 -1
- package/lib/contracts/ContractContext.js.map +0 -1
- package/lib/contracts/ContractPrivateDataAdapter.js.map +0 -1
- package/lib/contracts/FabricConstruction.js.map +0 -1
- package/lib/contracts/FabricContractPaginator.js.map +0 -1
- package/lib/contracts/FabricContractRepository.js.map +0 -1
- package/lib/contracts/FabricContractRepositoryObservableHandler.js.map +0 -1
- package/lib/contracts/FabricContractSequence.js.map +0 -1
- package/lib/contracts/FabricContractStatement.js.map +0 -1
- package/lib/contracts/PrivateSequence.js.map +0 -1
- package/lib/contracts/crud/crud-contract.js.map +0 -1
- package/lib/contracts/crud/index.js.map +0 -1
- package/lib/contracts/crud/serialized-crud-contract.js.map +0 -1
- package/lib/contracts/erc20/erc20contract.js.map +0 -1
- package/lib/contracts/erc20/index.js.map +0 -1
- package/lib/contracts/erc20/models.js.map +0 -1
- package/lib/contracts/index.js.map +0 -1
- package/lib/contracts/logging.js.map +0 -1
- package/lib/contracts/overrides.js.map +0 -1
- package/lib/contracts/private-data.js.map +0 -1
- package/lib/contracts/types.js.map +0 -1
- package/lib/contracts/uuid.js.map +0 -1
- package/lib/esm/bin/cli.js.map +0 -1
- package/lib/esm/cli-module.js.map +0 -1
- package/lib/esm/cli-utils.js.map +0 -1
- package/lib/esm/client/FabricClientAdapter.js.map +0 -1
- package/lib/esm/client/FabricClientDispatch.js.map +0 -1
- package/lib/esm/client/FabricClientPaginator.js.map +0 -1
- package/lib/esm/client/FabricClientRepository.js.map +0 -1
- package/lib/esm/client/FabricClientStatement.js.map +0 -1
- package/lib/esm/client/collections/generation.js.map +0 -1
- package/lib/esm/client/collections/index.js.map +0 -1
- package/lib/esm/client/constants.js.map +0 -1
- package/lib/esm/client/crypto.js.map +0 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +0 -1
- package/lib/esm/client/erc20/index.js.map +0 -1
- package/lib/esm/client/fabric-fs.js.map +0 -1
- package/lib/esm/client/fabric-hsm.js.map +0 -1
- package/lib/esm/client/index.js.map +0 -1
- package/lib/esm/client/indexes/generation.js.map +0 -1
- package/lib/esm/client/indexes/index.js.map +0 -1
- package/lib/esm/client/logging.js.map +0 -1
- package/lib/esm/client/services/FabricEnrollmentService.js.map +0 -1
- package/lib/esm/client/services/FabricIdentityService.js.map +0 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js.map +0 -1
- package/lib/esm/client/services/constants.js.map +0 -1
- package/lib/esm/client/services/index.js.map +0 -1
- package/lib/esm/client/types.js.map +0 -1
- package/lib/esm/client/utils.js.map +0 -1
- package/lib/esm/contract/Address.js.map +0 -1
- package/lib/esm/contract/AddressContract.js.map +0 -1
- package/lib/esm/contract/BatchContract.js.map +0 -1
- package/lib/esm/contract/OtherProductContract.js.map +0 -1
- package/lib/esm/contract/OtherProductSharedContract.js.map +0 -1
- package/lib/esm/contract/Product.js.map +0 -1
- package/lib/esm/contract/ProductContract.js.map +0 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +0 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +0 -1
- package/lib/esm/contract/User.js.map +0 -1
- package/lib/esm/contract/UserContract.js.map +0 -1
- package/lib/esm/contract/index.js.map +0 -1
- package/lib/esm/contract/models/Audit.js.map +0 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js.map +0 -1
- package/lib/esm/contract/models/BaseModel.js.map +0 -1
- package/lib/esm/contract/models/Batch.js.map +0 -1
- package/lib/esm/contract/models/Leaflet.js.map +0 -1
- package/lib/esm/contract/models/LeafletFile.js.map +0 -1
- package/lib/esm/contract/models/Market.js.map +0 -1
- package/lib/esm/contract/models/OtherProduct.js.map +0 -1
- package/lib/esm/contract/models/OtherProductShared.js.map +0 -1
- package/lib/esm/contract/models/Product.js.map +0 -1
- package/lib/esm/contract/models/ProductStrength.js.map +0 -1
- package/lib/esm/contract/models/SegregatedDocument.js.map +0 -1
- package/lib/esm/contract/models/constants.js.map +0 -1
- package/lib/esm/contract/models/decorators.js.map +0 -1
- package/lib/esm/contract/models/gtin.js.map +0 -1
- package/lib/esm/contracts/ContractAdapter.js.map +0 -1
- package/lib/esm/contracts/ContractContext.js.map +0 -1
- package/lib/esm/contracts/ContractPrivateDataAdapter.js.map +0 -1
- package/lib/esm/contracts/FabricConstruction.js.map +0 -1
- package/lib/esm/contracts/FabricContractPaginator.js.map +0 -1
- package/lib/esm/contracts/FabricContractRepository.js.map +0 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +0 -1
- package/lib/esm/contracts/FabricContractSequence.js.map +0 -1
- package/lib/esm/contracts/FabricContractStatement.js.map +0 -1
- package/lib/esm/contracts/PrivateSequence.js.map +0 -1
- package/lib/esm/contracts/crud/crud-contract.js.map +0 -1
- package/lib/esm/contracts/crud/index.js.map +0 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +0 -1
- package/lib/esm/contracts/erc20/erc20contract.js.map +0 -1
- package/lib/esm/contracts/erc20/index.js.map +0 -1
- package/lib/esm/contracts/erc20/models.js.map +0 -1
- package/lib/esm/contracts/index.js.map +0 -1
- package/lib/esm/contracts/logging.js.map +0 -1
- package/lib/esm/contracts/overrides.js.map +0 -1
- package/lib/esm/contracts/private-data.js.map +0 -1
- package/lib/esm/contracts/types.js.map +0 -1
- package/lib/esm/contracts/uuid.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/shared/ClientSerializer.js.map +0 -1
- package/lib/esm/shared/DeterministicSerializer.js.map +0 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +0 -1
- package/lib/esm/shared/constants.js.map +0 -1
- package/lib/esm/shared/decorators.js.map +0 -1
- package/lib/esm/shared/erc20/erc20-constants.js.map +0 -1
- package/lib/esm/shared/erc20/index.js.map +0 -1
- package/lib/esm/shared/errors.js.map +0 -1
- package/lib/esm/shared/events.js.map +0 -1
- package/lib/esm/shared/fabric-types.js.map +0 -1
- package/lib/esm/shared/index.js.map +0 -1
- package/lib/esm/shared/interfaces/Checkable.js.map +0 -1
- package/lib/esm/shared/interfaces/index.js.map +0 -1
- package/lib/esm/shared/math.js.map +0 -1
- package/lib/esm/shared/model/FabricBaseModel.js.map +0 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +0 -1
- package/lib/esm/shared/model/Identity.js.map +0 -1
- package/lib/esm/shared/model/IdentityCredentials.js.map +0 -1
- package/lib/esm/shared/model/index.js.map +0 -1
- package/lib/esm/shared/overrides/Model.js.map +0 -1
- package/lib/esm/shared/overrides/index.js.map +0 -1
- package/lib/esm/shared/overrides/overrides.js.map +0 -1
- package/lib/esm/shared/types.js.map +0 -1
- package/lib/esm/version.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/shared/ClientSerializer.js.map +0 -1
- package/lib/shared/DeterministicSerializer.js.map +0 -1
- package/lib/shared/SimpleDeterministicSerializer.js.map +0 -1
- package/lib/shared/constants.js.map +0 -1
- package/lib/shared/decorators.js.map +0 -1
- package/lib/shared/erc20/erc20-constants.js.map +0 -1
- package/lib/shared/erc20/index.js.map +0 -1
- package/lib/shared/errors.js.map +0 -1
- package/lib/shared/events.js.map +0 -1
- package/lib/shared/fabric-types.js.map +0 -1
- package/lib/shared/index.js.map +0 -1
- package/lib/shared/interfaces/Checkable.js.map +0 -1
- package/lib/shared/interfaces/index.js.map +0 -1
- package/lib/shared/math.js.map +0 -1
- package/lib/shared/model/FabricBaseModel.js.map +0 -1
- package/lib/shared/model/FabricIdentifiedBaseModel.js.map +0 -1
- package/lib/shared/model/Identity.js.map +0 -1
- package/lib/shared/model/IdentityCredentials.js.map +0 -1
- package/lib/shared/model/index.js.map +0 -1
- package/lib/shared/overrides/Model.js.map +0 -1
- package/lib/shared/overrides/index.js.map +0 -1
- package/lib/shared/overrides/overrides.js.map +0 -1
- package/lib/shared/types.js.map +0 -1
- package/lib/version.js.map +0 -1
|
@@ -171,4 +171,4 @@ exports.Batch = Batch = __decorate([
|
|
|
171
171
|
(0, decorator_validation_1.model)(),
|
|
172
172
|
__metadata("design:paramtypes", [Object])
|
|
173
173
|
], Batch);
|
|
174
|
-
//# sourceMappingURL=
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3QvbW9kZWxzL0JhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLHlFQUFnRjtBQUNoRix5Q0FBMEU7QUFDMUUsK0NBQW9FO0FBQ3BFLDJEQUtpQztBQUNqQyxxREFBeUQ7QUFDekQsbUVBQTREO0FBQzVELGlEQUFxQztBQUNyQyxxQ0FBOEI7QUFDOUIsb0RBQW1EO0FBTzVDLElBQU0sS0FBSyxHQUFYLE1BQU0sS0FBTSxTQUFRLHlDQUFtQjtJQXVFNUMsWUFBWTtJQUNaLG1FQUFtRTtJQUNuRSw4QkFBOEI7SUFDOUIsRUFBRTtJQUNGLFlBQVk7SUFDWix5RUFBeUU7SUFDekUsOEJBQThCO0lBQzlCLEVBQUU7SUFDRixZQUFZO0lBQ1osNERBQTREO0lBQzVELDhDQUE4QztJQUM5QyxFQUFFO0lBQ0YsWUFBWTtJQUNaLHVEQUF1RDtJQUN2RCw4Q0FBOEM7SUFDOUMsRUFBRTtJQUNGLFlBQVk7SUFDWiwyREFBMkQ7SUFDM0QseUJBQXlCO0lBQ3pCLEVBQUU7SUFDRixZQUFZO0lBQ1oscUVBQXFFO0lBQ3JFLGlEQUFpRDtJQUNqRCxFQUFFO0lBQ0YsWUFBWTtJQUNaLDREQUE0RDtJQUM1RCwwQkFBMEI7SUFDMUIsRUFBRTtJQUNGLFlBQVk7SUFDWiwwREFBMEQ7SUFDMUQsNENBQTRDO0lBQzVDLEVBQUU7SUFDRixZQUFZO0lBQ1osa0RBQWtEO0lBQ2xELDZCQUE2QjtJQUM3QixFQUFFO0lBQ0YsWUFBWTtJQUNaLG1FQUFtRTtJQUNuRSw2Q0FBNkM7SUFDN0MsRUFBRTtJQUNGLG9CQUFvQjtJQUNwQixZQUFZO0lBQ1osdUVBQXVFO0lBQ3ZFLCtCQUErQjtJQUMvQixFQUFFO0lBQ0YsWUFBWTtJQUNaLG1FQUFtRTtJQUNuRSxpQ0FBaUM7SUFFakMsNEJBQTRCO0lBQzVCLHlDQUF5QztJQUN6QyxnQkFBZ0I7SUFDaEIsOERBQThE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QUMsQ0FBQztJQUN2QyxJQUFBLFlBQUssRUFBQyxzQkFBVSxDQUFDLEtBQUssQ0FBQztJQUN2QixJQUFBLDRCQUFLLEdBQUU7O0dBQ0ssS0FBSyxDQWlJakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgZGF0ZSwgbW9kZWwsIHBhdHRlcm4sIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgY29sdW1uLCBpbmRleCwgT3JkZXJEaXJlY3Rpb24sIHBrLCB0YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgQmF0Y2hQYXR0ZXJuLCBEYXRlUGF0dGVybiwgVGFibGVOYW1lcyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQmxvY2tPcGVyYXRpb25zLFxuICBjb21wb3NlZCxcbiAgT3BlcmF0aW9uS2V5cyxcbiAgcmVhZG9ubHksXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsXCI7XG5pbXBvcnQgeyBhdWRpdCB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IGd0aW4gfSBmcm9tIFwiLi9ndGluXCI7XG5pbXBvcnQgeyBGYWJyaWNGbGF2b3VyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9pbmRleFwiO1xuXG5AZGVzY3JpcHRpb24oXCJSZXByZXNlbnRzIGEgcHJvZHVjdCBiYXRjaFwiKVxuQHVzZXMoRmFicmljRmxhdm91cilcbkBCbG9ja09wZXJhdGlvbnMoW09wZXJhdGlvbktleXMuREVMRVRFXSlcbkB0YWJsZShUYWJsZU5hbWVzLkJhdGNoKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBCYXRjaCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAcGsoKVxuICBAYXVkaXQoQmF0Y2gpXG4gIEBjb21wb3NlZChbXCJwcm9kdWN0Q29kZVwiLCBcImJhdGNoTnVtYmVyXCJdLCBcIjpcIilcbiAgQGRlc2NyaXB0aW9uKFwiVW5pcXVlIGlkZW50aWZpZXIgY29tcG9zZWQgb2YgcHJvZHVjdCBjb2RlIGFuZCBiYXRjaCBudW1iZXIuXCIpXG4gIGlkITogc3RyaW5nO1xuXG4gIEBndGluKClcbiAgQHJlYWRvbmx5KClcbiAgLy8gQG1hbnlUb09uZShcbiAgLy8gICAoKSA9PiBQcm9kdWN0LFxuICAvLyAgIHsgdXBkYXRlOiBDYXNjYWRlLk5PTkUsIGRlbGV0ZTogQ2FzY2FkZS5OT05FIH0sXG4gIC8vICAgZmFsc2VcbiAgLy8gKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiQ29kZSBvZiB0aGUgcHJvZHVjdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBiYXRjaC5cIilcbiAgcHJvZHVjdENvZGUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZWFkb25seSgpXG4gIEBwYXR0ZXJuKEJhdGNoUGF0dGVybilcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkJhdGNoIG51bWJlciBhc3NpZ25lZCB0byB0aGUgcHJvZHVjdC5cIilcbiAgYmF0Y2hOdW1iZXIhOiBzdHJpbmc7XG5cbiAgQHJlcXVpcmVkKClcbiAgQGRhdGUoRGF0ZVBhdHRlcm4pXG4gIEBjb2x1bW4oKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiRGF0ZSB3aGVuIHRoZSBiYXRjaCBleHBpcmVzLlwiKVxuICBleHBpcnlEYXRlITogRGF0ZTtcblxuICBAY29sdW1uKClcbiAgQGRlc2NyaXB0aW9uKFwiSW1wb3J0IGxpY2Vuc2UgbnVtYmVyIGZvciB0aGlzIGJhdGNoLlwiKVxuICBpbXBvcnRMaWNlbnNlTnVtYmVyPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAZGF0ZShEYXRlUGF0dGVybilcbiAgQGRlc2NyaXB0aW9uKFwiRGF0ZSB3aGVuIHRoZSBiYXRjaCB3YXMgbWFudWZhY3R1cmVkLlwiKVxuICBkYXRlT2ZNYW51ZmFjdHVyaW5nPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiTmFtZSBvZiB0aGUgcHJvZHVjdCBtYW51ZmFjdHVyZXIuXCIpXG4gIG1hbnVmYWN0dXJlck5hbWU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcIk1hbnVmYWN0dXJlciBhZGRyZXNzIGxpbmUgMS5cIilcbiAgbWFudWZhY3R1cmVyQWRkcmVzczE/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcIk1hbnVmYWN0dXJlciBhZGRyZXNzIGxpbmUgMi5cIilcbiAgbWFudWZhY3R1cmVyQWRkcmVzczI/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcIk1hbnVmYWN0dXJlciBhZGRyZXNzIGxpbmUgMy5cIilcbiAgbWFudWZhY3R1cmVyQWRkcmVzczM/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcIk1hbnVmYWN0dXJlciBhZGRyZXNzIGxpbmUgNC5cIilcbiAgbWFudWZhY3R1cmVyQWRkcmVzczQ/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcIk1hbnVmYWN0dXJlciBhZGRyZXNzIGxpbmUgNS5cIilcbiAgbWFudWZhY3R1cmVyQWRkcmVzczU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJJbmRpY2F0ZXMgd2hldGhlciB0aGlzIGJhdGNoIGhhcyBiZWVuIHJlY2FsbGVkLlwiKVxuICBiYXRjaFJlY2FsbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBzaXRlIHdoZXJlIHRoZSBwcm9kdWN0IHdhcyBwYWNrYWdlZC5cIilcbiAgLy8gcGFja2FnaW5nU2l0ZU5hbWU/OiBzdHJpbmc7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAZGVzY3JpcHRpb24oXCJWZXJzaW9uIG9mIHRoZSBlbGVjdHJvbmljIHByb2R1Y3QgaW5mb3JtYXRpb24gbGVhZmxldC5cIilcbiAgLy8gZXBpTGVhZmxldFZlcnNpb24/OiBudW1iZXI7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAZGVzY3JpcHRpb24oXCJFbmFibGVzIGV4cGlyeSBkYXRlIHZlcmlmaWNhdGlvbiBmZWF0dXJlLlwiKVxuICAvLyBmbGFnRW5hYmxlRVhQVmVyaWZpY2F0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAZGVzY3JpcHRpb24oXCJBbGxvd3MgY2hlY2tpbmcgZm9yIGV4cGlyZWQgYmF0Y2hlcy5cIilcbiAgLy8gZmxhZ0VuYWJsZUV4cGlyZWRFWFBDaGVjazogYm9vbGVhbiA9IGZhbHNlO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gQGRlc2NyaXB0aW9uKFwiQ3VzdG9tIG1lc3NhZ2UgZGlzcGxheWVkIGZvciB0aGlzIGJhdGNoLlwiKVxuICAvLyBiYXRjaE1lc3NhZ2U/OiBzdHJpbmc7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAZGVzY3JpcHRpb24oXCJFbmFibGVzIGRpc3BsYXkgb2YgcmVjYWxsIG1lc3NhZ2VzIGZvciB0aGlzIGJhdGNoLlwiKVxuICAvLyBmbGFnRW5hYmxlQmF0Y2hSZWNhbGxNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAZGVzY3JpcHRpb24oXCJNZXNzYWdlIHNob3duIHdoZW4gdGhlIGJhdGNoIGlzIHJlY2FsbGVkLlwiKVxuICAvLyByZWNhbGxNZXNzYWdlPzogc3RyaW5nO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gQGRlc2NyaXB0aW9uKFwiRW5hYmxlcyBBQ0YgYmF0Y2ggdmVyaWZpY2F0aW9uIGZlYXR1cmUuXCIpXG4gIC8vIGZsYWdFbmFibGVBQ0ZCYXRjaENoZWNrOiBib29sZWFuID0gZmFsc2U7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAZGVzY3JpcHRpb24oXCJVUkwgZm9yIEFDRiBiYXRjaCB2ZXJpZmljYXRpb24uXCIpXG4gIC8vIGFjZkJhdGNoQ2hlY2tVUkw/OiBzdHJpbmc7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAZGVzY3JpcHRpb24oXCJFbmFibGVzIHNlcmlhbCBudW1iZXIgKFNOKSB2ZXJpZmljYXRpb24gZmVhdHVyZS5cIilcbiAgLy8gZmxhZ0VuYWJsZVNOVmVyaWZpY2F0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIC8vXG4gIC8vIC8qKiBBQ0RDIFBBVENIICovXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAZGVzY3JpcHRpb24oXCJJZGVudGlmaWVyIG9mIHRoZSBBQ0RDIGF1dGhlbnRpY2F0aW9uIGZlYXR1cmUgKFNTSSkuXCIpXG4gIC8vIGFjZGNBdXRoRmVhdHVyZVNTST86IHN0cmluZztcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIEBkZXNjcmlwdGlvbihcIkluZGljYXRlcyBpZiBzZXJpYWwgbnVtYmVyIHZhbGlkYXRpb24gd2FzIHJlc2V0LlwiKVxuICAvLyBzblZhbGlkUmVzZXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBUT0RPIC0+IFVuY29tbWVudCBhbmQgZml4XG4gIC8vIEBjb2x1bW4oeyB0eXBlOiBcInRleHRcIiwgYXJyYXk6IHRydWUgfSlcbiAgLy8gQGxpc3QoU3RyaW5nKVxuICAvLyBAZGVzY3JpcHRpb24oXCJMaXN0IG9mIHZhbGlkIHNlcmlhbCBudW1iZXJzIGZvciB0aGUgYmF0Y2guXCIpXG4gIC8vIHNuVmFsaWQ/OiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihtb2RlbD86IE1vZGVsQXJnPEJhdGNoPikge1xuICAgIHN1cGVyKG1vZGVsKTtcbiAgfVxufVxuIl19
|
|
@@ -92,4 +92,4 @@ exports.Leaflet = Leaflet = __decorate([
|
|
|
92
92
|
(0, decorator_validation_1.model)(),
|
|
93
93
|
__metadata("design:paramtypes", [Object])
|
|
94
94
|
], Leaflet);
|
|
95
|
-
//# sourceMappingURL=
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVhZmxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdC9tb2RlbHMvTGVhZmxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSx5RUFBaUU7QUFDakUsbURBQTRDO0FBQzVDLHFDQUE4QjtBQUM5QiwrQ0FBeUM7QUFDekMseUNBU3dCO0FBQ3hCLDJEQUE2RDtBQUM3RCwyQ0FBb0M7QUFDcEMscURBQXlEO0FBQ3pELG1FQUE0RDtBQUM1RCxpREFBcUM7QUFDckMsb0RBQW1EO0FBUTVDLElBQU0sT0FBTyxHQUFiLE1BQU0sT0FBUSxTQUFRLHlDQUFtQjtJQStEOUMsWUFBWSxLQUF5QjtRQUNuQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQTtBQWxFWSwwQkFBTztBQVVsQjtJQVRDLElBQUEsa0JBQUssRUFBQyxPQUFPLENBQUM7SUFDZCxJQUFBLFNBQUUsR0FBRTtJQUNKLElBQUEsd0JBQVEsRUFBQyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxFQUFFLEdBQUcsRUFBRTtRQUN0RSxhQUFhO1FBQ2IsZUFBZTtLQUNoQixDQUFDO0lBQ0QsSUFBQSx3QkFBVyxFQUNWLHlFQUF5RSxDQUMxRTs7bUNBQ1c7QUFZWjtJQVZDLElBQUEsV0FBSSxHQUFFO0lBQ04sSUFBQSxnQkFBUyxFQUNSLEdBQUcsRUFBRSxDQUFDLGlCQUFPLEVBQ2IsRUFBRSxNQUFNLEVBQUUsY0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBTyxDQUFDLE9BQU8sRUFBRSxFQUNwRCxLQUFLLENBQ047SUFDQSxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHdCQUFRLEdBQUU7SUFDVixJQUFBLFlBQUssRUFBQyxDQUFDLHFCQUFjLENBQUMsR0FBRyxFQUFFLHFCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsSUFBQSx3QkFBVyxFQUFDLHdEQUF3RCxDQUFDOzs0Q0FDakQ7QUFZckI7SUFWQyxJQUFBLGFBQU0sR0FBRTtJQUNULGlGQUFpRjtJQUNqRixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLDBEQUEwRDtJQUMxRCxVQUFVO0lBQ1YsSUFBSTs7SUFDSCxJQUFBLHdCQUFRLEdBQUU7SUFDVixJQUFBLFlBQUssRUFBQyxDQUFDLHFCQUFjLENBQUMsR0FBRyxFQUFFLHFCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsSUFBQSx3QkFBVyxFQUFDLG9EQUFvRCxDQUFDOzs0Q0FDN0M7QUFPckI7SUFMQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEsd0JBQVEsR0FBRTtJQUNWLElBQUEsWUFBSyxFQUFDLENBQUMscUJBQWMsQ0FBQyxHQUFHLEVBQUUscUJBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxJQUFBLHdCQUFXLEVBQUMsd0RBQXdELENBQUM7O3FDQUN4RDtBQUtkO0lBSEMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHdCQUFRLEdBQUU7OzhDQUNZO0FBS3ZCO0lBSEMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHdCQUFXLEVBQUMsNkNBQTZDLENBQUM7OytDQUNuQztBQVV4QjtJQVJDLElBQUEsZ0JBQVMsRUFDUixHQUFHLEVBQUUsQ0FBQyx5QkFBVyxFQUNqQixFQUFFLE1BQU0sRUFBRSxjQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFPLENBQUMsT0FBTyxFQUFFLEVBQ3BELEtBQUssQ0FDTjtJQUNBLElBQUEsd0JBQVcsRUFDVix5RUFBeUUsQ0FDMUU7O2tEQUM0QjtrQkE3RGxCLE9BQU87SUFObkIsSUFBQSx3QkFBVyxFQUNWLGlGQUFpRixDQUNsRjtJQUNBLElBQUEsaUJBQUksRUFBQyxxQkFBYSxDQUFDO0lBQ25CLElBQUEsWUFBSyxFQUFDLHNCQUFVLENBQUMsT0FBTyxDQUFDO0lBQ3pCLElBQUEsNEJBQUssR0FBRTs7R0FDSyxPQUFPLENBa0VuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kZWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBMZWFmbGV0RmlsZSB9IGZyb20gXCIuL0xlYWZsZXRGaWxlXCI7XG5pbXBvcnQgeyBndGluIH0gZnJvbSBcIi4vZ3RpblwiO1xuaW1wb3J0IHsgVGFibGVOYW1lcyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQ2FzY2FkZSxcbiAgY29sdW1uLFxuICBpbmRleCxcbiAgbWFueVRvT25lLFxuICBvbmVUb01hbnksXG4gIE9yZGVyRGlyZWN0aW9uLFxuICBwayxcbiAgdGFibGUsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgY29tcG9zZWQsIHJlYWRvbmx5IH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSBcIi4vUHJvZHVjdFwiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsXCI7XG5pbXBvcnQgeyBhdWRpdCB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IEZhYnJpY0ZsYXZvdXIgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2luZGV4XCI7XG5cbkBkZXNjcmlwdGlvbihcbiAgXCJSZXByZXNlbnRzIGEgbWVkaWNhbCBsZWFmbGV0IGxpbmtlZCB0byBhIHNwZWNpZmljIHByb2R1Y3QsIGJhdGNoLCBhbmQgbGFuZ3VhZ2UuXCJcbilcbkB1c2VzKEZhYnJpY0ZsYXZvdXIpXG5AdGFibGUoVGFibGVOYW1lcy5MZWFmbGV0KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBMZWFmbGV0IGV4dGVuZHMgQmFzZUlkZW50aWZpZWRNb2RlbCB7XG4gIEBhdWRpdChMZWFmbGV0KVxuICBAcGsoKVxuICBAY29tcG9zZWQoW1wicHJvZHVjdENvZGVcIiwgXCJiYXRjaE51bWJlclwiLCBcImxhbmdcIiwgXCJjb3VudHJ5TWFya2V0XCJdLCBcIjpcIiwgW1xuICAgIFwiYmF0Y2hOdW1iZXJcIixcbiAgICBcImNvdW50cnlNYXJrZXRcIixcbiAgXSlcbiAgQGRlc2NyaXB0aW9uKFxuICAgIFwiVW5pcXVlIGlkZW50aWZpZXIgY29tcG9zZWQgb2YgcHJvZHVjdCBjb2RlLCBiYXRjaCBudW1iZXIsIGFuZCBsYW5ndWFnZS5cIlxuICApXG4gIGlkITogc3RyaW5nO1xuXG4gIEBndGluKClcbiAgQG1hbnlUb09uZShcbiAgICAoKSA9PiBQcm9kdWN0LFxuICAgIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sXG4gICAgZmFsc2VcbiAgKVxuICBAcmVxdWlyZWQoKVxuICBAcmVhZG9ubHkoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiR1RJTiBjb2RlIG9mIHRoZSBwcm9kdWN0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGxlYWZsZXQuXCIpXG4gIHByb2R1Y3RDb2RlITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICAvL1RPRE86IFVuY29tbWVudCB3aGVuIGltcGxlbWVudGVkIGluIGNvdWNoIGFuZCBGSyByZWxhdGlvbnNoaXBhY2VwdCBjb21wb3NlZCBvbmVcbiAgLy8gQG1hbnlUb09uZShcbiAgLy8gICAoKSA9PiBCYXRjaCxcbiAgLy8gICB7IHVwZGF0ZTogQ2FzY2FkZS5DQVNDQURFLCBkZWxldGU6IENhc2NhZGUuQ0FTQ0FERSB9LFxuICAvLyAgIGZhbHNlXG4gIC8vIClcbiAgQHJlYWRvbmx5KClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkJhdGNoIG51bWJlciBsaW5rZWQgdG8gdGhlIHByb2R1Y3QsIGlmIGFwcGxpY2FibGUuXCIpXG4gIGJhdGNoTnVtYmVyPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAcmVhZG9ubHkoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiTGFuZ3VhZ2UgY29kZSBvZiB0aGUgbGVhZmxldCAoZS5nLiwgJ2VuJywgJ3B0JywgJ2VzJykuXCIpXG4gIGxhbmchOiBzdHJpbmc7IC8vIFRPRE8gLT4gcm9sbGJhY2sgdG8gbGFuZ3VhZ2UgcHJvcGVydHlcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQHJlYWRvbmx5KClcbiAgY291bnRyeU1hcmtldCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGRlc2NyaXB0aW9uKFwiTWFpbiBYTUwgY29udGVudCBvZiB0aGUgZWxlY3Ryb25pYyBsZWFmbGV0LlwiKVxuICB4bWxGaWxlQ29udGVudCE6IHN0cmluZztcblxuICBAb25lVG9NYW55KFxuICAgICgpID0+IExlYWZsZXRGaWxlLFxuICAgIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sXG4gICAgZmFsc2VcbiAgKVxuICBAZGVzY3JpcHRpb24oXG4gICAgXCJMaXN0IG9mIGFkZGl0aW9uYWwgZmlsZXMgbGlua2VkIHRvIHRoZSBsZWFmbGV0LCBzdWNoIGFzIFBERnMgb3IgaW1hZ2VzLlwiXG4gIClcbiAgb3RoZXJGaWxlc0NvbnRlbnQhOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihtb2RlbD86IE1vZGVsQXJnPExlYWZsZXQ+KSB7XG4gICAgc3VwZXIobW9kZWwpO1xuICB9XG59XG4iXX0=
|
|
@@ -55,4 +55,4 @@ exports.LeafletFile = LeafletFile = __decorate([
|
|
|
55
55
|
(0, decorator_validation_1.model)(),
|
|
56
56
|
__metadata("design:paramtypes", [Object])
|
|
57
57
|
], LeafletFile);
|
|
58
|
-
//# sourceMappingURL=
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVhZmxldEZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3QvbW9kZWxzL0xlYWZsZXRGaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLHlFQUFpRTtBQUNqRSx5Q0FRd0I7QUFDeEIsK0NBQXlDO0FBQ3pDLDJDQUFvQztBQUNwQyxxREFBeUQ7QUFDekQsbUVBQTREO0FBQzVELDJEQUFtRDtBQUNuRCxvREFBbUQ7QUFPNUMsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBWSxTQUFRLHlDQUFtQjtJQXlCbEQsWUFBWSxLQUE2QjtRQUN2QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQTtBQTVCWSxrQ0FBVztBQUl0QjtJQUhDLElBQUEsU0FBRSxHQUFFO0lBQ0osSUFBQSx3QkFBUSxFQUFDLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RSxJQUFBLHdCQUFXLEVBQUMsd0NBQXdDLENBQUM7O3VDQUMxQztBQVFaO0lBTkMsSUFBQSxnQkFBUyxFQUNSLEdBQUcsRUFBRSxDQUFDLGlCQUFPLEVBQ2IsRUFBRSxNQUFNLEVBQUUsY0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBTyxDQUFDLElBQUksRUFBRSxFQUM5QyxLQUFLLENBQ047SUFDQSxJQUFBLHdCQUFXLEVBQUMsaURBQWlELENBQUM7OzhDQUM1QztBQU1uQjtJQUpDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSxZQUFLLEVBQUMsQ0FBQyxxQkFBYyxDQUFDLEdBQUcsRUFBRSxxQkFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLElBQUEsd0JBQVcsRUFBQyw0Q0FBNEMsQ0FBQzs7NkNBQ3hDO0FBS2xCO0lBSEMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHdCQUFXLEVBQUMscUNBQXFDLENBQUM7O2dEQUM5QjtzQkF2QlYsV0FBVztJQU52QixJQUFBLHdCQUFXLEVBQ1Ysa0ZBQWtGLENBQ25GO0lBQ0EsSUFBQSxpQkFBSSxFQUFDLHFCQUFhLENBQUM7SUFDbkIsSUFBQSxZQUFLLEVBQUMsc0JBQVUsQ0FBQyxXQUFXLENBQUM7SUFDN0IsSUFBQSw0QkFBSyxHQUFFOztHQUNLLFdBQVcsQ0E0QnZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNb2RlbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7XG4gIENhc2NhZGUsXG4gIGNvbHVtbixcbiAgaW5kZXgsXG4gIG1hbnlUb09uZSxcbiAgT3JkZXJEaXJlY3Rpb24sXG4gIHBrLFxuICB0YWJsZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBUYWJsZU5hbWVzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBMZWFmbGV0IH0gZnJvbSBcIi4vTGVhZmxldFwiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsXCI7XG5pbXBvcnQgeyBjb21wb3NlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcbkBkZXNjcmlwdGlvbihcbiAgXCJSZXByZXNlbnRzIGFuIGFkZGl0aW9uYWwgZmlsZSBhc3NvY2lhdGVkIHdpdGggYSBsZWFmbGV0LCBzdWNoIGFzIGEgUERGIG9yIGltYWdlLlwiXG4pXG5AdXNlcyhGYWJyaWNGbGF2b3VyKVxuQHRhYmxlKFRhYmxlTmFtZXMuTGVhZmxldEZpbGUpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIExlYWZsZXRGaWxlIGV4dGVuZHMgQmFzZUlkZW50aWZpZWRNb2RlbCB7XG4gIEBwaygpXG4gIEBjb21wb3NlZChbXCJwcm9kdWN0Q29kZVwiLCBcImJhdGNoTnVtYmVyXCIsIFwibGFuZ1wiXSwgXCI6XCIsIFtcImJhdGNoTnVtYmVyXCJdKVxuICBAZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgbGVhZmxldCBmaWxlLlwiKVxuICBpZCE6IHN0cmluZztcblxuICBAbWFueVRvT25lKFxuICAgICgpID0+IExlYWZsZXQsXG4gICAgeyB1cGRhdGU6IENhc2NhZGUuTk9ORSwgZGVsZXRlOiBDYXNjYWRlLk5PTkUgfSxcbiAgICBmYWxzZVxuICApXG4gIEBkZXNjcmlwdGlvbihcIklkZW50aWZpZXIgb2YgdGhlIGxlYWZsZXQgdGhpcyBmaWxlIGJlbG9uZ3MgdG8uXCIpXG4gIGxlYWZsZXRJZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIk5hbWUgb2YgdGhlIGZpbGUsIGluY2x1ZGluZyBpdHMgZXh0ZW5zaW9uLlwiKVxuICBmaWxlbmFtZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGRlc2NyaXB0aW9uKFwiQmFzZTY0LWVuY29kZWQgY29udGVudCBvZiB0aGUgZmlsZS5cIilcbiAgZmlsZUNvbnRlbnQhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobW9kZWw/OiBNb2RlbEFyZzxMZWFmbGV0RmlsZT4pIHtcbiAgICBzdXBlcihtb2RlbCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -72,4 +72,4 @@ exports.Market = Market = __decorate([
|
|
|
72
72
|
(0, decorator_validation_1.model)(),
|
|
73
73
|
__metadata("design:paramtypes", [Object])
|
|
74
74
|
], Market);
|
|
75
|
-
//# sourceMappingURL=
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFya2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0L21vZGVscy9NYXJrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EseUVBS3dDO0FBQ3hDLCtDQUF5QztBQUN6Qyx5Q0FBMEU7QUFDMUUsMkRBQW1EO0FBQ25ELHFEQUF5RDtBQUN6RCxtRUFBNEQ7QUFDNUQscUNBQThCO0FBQzlCLG9EQUFtRDtBQU01QyxJQUFNLE1BQU0sR0FBWixNQUFNLE1BQU8sU0FBUSx5Q0FBbUI7SUEyQzdDLFlBQVksS0FBd0I7UUFDbEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsQ0FBQztDQUNGLENBQUE7QUE5Q1ksd0JBQU07QUFJakI7SUFIQyxJQUFBLFNBQUUsRUFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3RDLElBQUEsd0JBQVEsRUFBQyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ2hELElBQUEsd0JBQVcsRUFBQywyREFBMkQsQ0FBQzs7a0NBQzdEO0FBUVo7SUFOQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEsWUFBSyxFQUFDLENBQUMscUJBQWMsQ0FBQyxHQUFHLEVBQUUscUJBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxJQUFBLHdCQUFXLEVBQ1YsbUVBQW1FLENBQ3BFOzt3Q0FDaUI7QUFLbEI7SUFIQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsV0FBSSxHQUFFO0lBQ04sSUFBQSwrQkFBUSxHQUFFOzsyQ0FDVTtBQVFyQjtJQU5DLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSxnQ0FBUyxFQUFDLENBQUMsQ0FBQztJQUNaLElBQUEsZ0NBQVMsRUFBQyxDQUFDLENBQUM7SUFDWixJQUFBLHdCQUFXLEVBQ1YsMEVBQTBFLENBQzNFOzs0Q0FDcUI7QUFJdEI7SUFGQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsd0JBQVcsRUFBQyxtREFBbUQsQ0FBQzs7dUNBQ2hEO0FBTWpCO0lBSkMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLHdCQUFXLEVBQ1Ysc0VBQXNFLENBQ3ZFOzsrQ0FDd0I7QUFNekI7SUFKQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsd0JBQVcsRUFDViw0RUFBNEUsQ0FDN0U7OzBDQUNtQjtpQkF6Q1QsTUFBTTtJQUpsQixJQUFBLHdCQUFXLEVBQUMsdUNBQXVDLENBQUM7SUFDcEQsSUFBQSxpQkFBSSxFQUFDLHFCQUFhLENBQUM7SUFDbkIsSUFBQSxZQUFLLEVBQUMsc0JBQVUsQ0FBQyxNQUFNLENBQUM7SUFDeEIsSUFBQSw0QkFBSyxHQUFFOztHQUNLLE1BQU0sQ0E4Q2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNb2RlbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7XG4gIG1heGxlbmd0aCxcbiAgbWlubGVuZ3RoLFxuICBtb2RlbCxcbiAgcmVxdWlyZWQsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFRhYmxlTmFtZXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNvbHVtbiwgaW5kZXgsIE9yZGVyRGlyZWN0aW9uLCBwaywgdGFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IGNvbXBvc2VkIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBkZXNjcmlwdGlvbiwgdXNlcyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgQmFzZUlkZW50aWZpZWRNb2RlbCB9IGZyb20gXCIuL0Jhc2VJZGVudGlmaWVkTW9kZWxcIjtcbmltcG9ydCB7IGd0aW4gfSBmcm9tIFwiLi9ndGluXCI7XG5pbXBvcnQgeyBGYWJyaWNGbGF2b3VyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9pbmRleFwiO1xuXG5AZGVzY3JpcHRpb24oXCJMaW5rcyBhIHByb2R1Y3QgdG8gYSBzcGVjaWZpYyBtYXJrZXQuXCIpXG5AdXNlcyhGYWJyaWNGbGF2b3VyKVxuQHRhYmxlKFRhYmxlTmFtZXMuTWFya2V0KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBNYXJrZXQgZXh0ZW5kcyBCYXNlSWRlbnRpZmllZE1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nLCBnZW5lcmF0ZWQ6IGZhbHNlIH0pXG4gIEBjb21wb3NlZChbXCJwcm9kdWN0Q29kZVwiLCBcIm1hcmtldElkXCJdLCBcIjpcIiwgdHJ1ZSlcbiAgQGRlc2NyaXB0aW9uKFwiVW5pcXVlIGlkZW50aWZpZXIgY29tcG9zZWQgb2YgcHJvZHVjdCBjb2RlIGFuZCBtYXJrZXQgSUQuXCIpXG4gIGlkITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFxuICAgIFwiSWRlbnRpZmllciBvZiB0aGUgbWFya2V0IHdoZXJlIHRoZSBwcm9kdWN0IGlzIHJlZ2lzdGVyZWQgb3Igc29sZC5cIlxuICApXG4gIG1hcmtldElkITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAZ3RpbigpXG4gIEByZXF1aXJlZCgpXG4gIHByb2R1Y3RDb2RlITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAbWlubGVuZ3RoKDIpXG4gIEBtYXhsZW5ndGgoMilcbiAgQGRlc2NyaXB0aW9uKFxuICAgIFwiVHdvLWxldHRlciBuYXRpb25hbCBjb2RlIChJU08gZm9ybWF0KSByZXByZXNlbnRpbmcgdGhlIG1hcmtldCdzIGNvdW50cnkuXCJcbiAgKVxuICBuYXRpb25hbENvZGU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcIk5hbWUgb2YgdGhlIE1hcmtldGluZyBBdXRob3JpemF0aW9uIEhvbGRlciAoTUFIKS5cIilcbiAgbWFoTmFtZT86IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGRlc2NyaXB0aW9uKFxuICAgIFwiTmFtZSBvZiB0aGUgbGVnYWwgZW50aXR5IHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvZHVjdCBpbiB0aGlzIG1hcmtldC5cIlxuICApXG4gIGxlZ2FsRW50aXR5TmFtZT86IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGRlc2NyaXB0aW9uKFxuICAgIFwiQWRkcmVzcyBvZiB0aGUgTWFya2V0aW5nIEF1dGhvcml6YXRpb24gSG9sZGVyIG9yIHJlc3BvbnNpYmxlIGxlZ2FsIGVudGl0eS5cIlxuICApXG4gIG1haEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobW9kZWw/OiBNb2RlbEFyZzxNYXJrZXQ+KSB7XG4gICAgc3VwZXIobW9kZWwpO1xuICB9XG59XG4iXX0=
|
|
@@ -71,4 +71,4 @@ exports.OtherProduct = OtherProduct = __decorate([
|
|
|
71
71
|
(0, decorator_validation_1.model)(),
|
|
72
72
|
__metadata("design:paramtypes", [Object])
|
|
73
73
|
], OtherProduct);
|
|
74
|
-
//# sourceMappingURL=
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJQcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0L21vZGVscy9PdGhlclByb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EseUVBQWlFO0FBQ2pFLHlDQVF3QjtBQUN4QixvRkFBb0Y7QUFDcEYscURBQTRDO0FBRzVDLG1FQUE0RDtBQUM1RCxxQ0FBOEI7QUFFOUIsaURBQXFDO0FBQ3JDLG9EQUF5RTtBQUN6RSwyREFBa0Q7QUFPM0MsSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBYSxTQUFRLHlDQUFtQjtJQStEbkQsWUFBWSxJQUE2QjtRQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUEzQ2Qsa0JBQWEsR0FBWSxLQUFLLENBQUM7SUE0Qy9CLENBQUM7Q0FDRixDQUFBO0FBbEVZLG9DQUFZO0FBSXZCO0lBSEMsSUFBQSxTQUFFLEdBQUU7SUFDSixJQUFBLFdBQUksR0FBRTtJQUNOLElBQUEsa0JBQUssRUFBQyxZQUFZLENBQUM7O2lEQUNDO0FBS3JCO0lBSEMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLFlBQUssRUFBQyxDQUFDLHFCQUFjLENBQUMsR0FBRyxFQUFFLHFCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7O2tEQUMxQjtBQUt0QjtJQUhDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSxZQUFLLEVBQUMsQ0FBQyxxQkFBYyxDQUFDLEdBQUcsRUFBRSxxQkFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzswREFDbEI7QUFHOUI7SUFEQyxJQUFBLGFBQU0sR0FBRTs7MERBQ3FCO0FBSTlCO0lBRkMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLFlBQUssRUFBQyxDQUFDLHFCQUFjLENBQUMsR0FBRyxFQUFFLHFCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7O21EQUNqQjtBQXNCL0I7SUFEQyxJQUFBLHVCQUFPLEdBQUU7OzZDQUNPO0FBa0JqQjtJQUZDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSxlQUFPLEdBQUU7OzZDQUNPO3VCQTdETixZQUFZO0lBTHhCLElBQUEsbUJBQVcsR0FBRTtJQUNiLElBQUEsaUJBQUksRUFBQyxxQkFBYSxDQUFDO0lBQ3BCLDJDQUEyQzs7SUFDMUMsSUFBQSxZQUFLLEVBQUMsZUFBZSxDQUFDO0lBQ3RCLElBQUEsNEJBQUssR0FBRTs7R0FDSyxZQUFZLENBa0V4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kZWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBDYXNjYWRlLFxuICBjb2x1bW4sXG4gIGluZGV4LFxuICBvbmVUb01hbnksXG4gIE9yZGVyRGlyZWN0aW9uLFxuICBwayxcbiAgdGFibGUsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuLy8gaW1wb3J0IHtCbG9ja09wZXJhdGlvbnMsIE9wZXJhdGlvbktleXMsIHJlYWRvbmx5fSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IFByb2R1Y3RTdHJlbmd0aCB9IGZyb20gXCIuL1Byb2R1Y3RTdHJlbmd0aFwiO1xuaW1wb3J0IHsgTWFya2V0IH0gZnJvbSBcIi4vTWFya2V0XCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vQmFzZUlkZW50aWZpZWRNb2RlbFwiO1xuaW1wb3J0IHsgZ3RpbiB9IGZyb20gXCIuL2d0aW5cIjtcblxuaW1wb3J0IHsgYXVkaXQgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBGYWJyaWNGbGF2b3VyLCBvd25lZEJ5LCBwcml2YXRlRGF0YSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcbmltcG9ydCB7IHZlcnNpb24gfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuQHByaXZhdGVEYXRhKClcbkB1c2VzKEZhYnJpY0ZsYXZvdXIpXG4vLyBAQmxvY2tPcGVyYXRpb25zKFtPcGVyYXRpb25LZXlzLkRFTEVURV0pXG5AdGFibGUoXCJvdGhlcl9wcm9kdWN0XCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE90aGVyUHJvZHVjdCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAcGsoKVxuICBAZ3RpbigpXG4gIEBhdWRpdChPdGhlclByb2R1Y3QpXG4gIHByb2R1Y3RDb2RlITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgaW52ZW50ZWROYW1lITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgbmFtZU1lZGljaW5hbFByb2R1Y3QhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIGludGVybmFsTWF0ZXJpYWxDb2RlPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgcHJvZHVjdFJlY2FsbDogYm9vbGVhbiA9IGZhbHNlO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gZmxhZ0VuYWJsZUFkdmVyc2VFdmVudFJlcG9ydGluZz86IGJvb2xlYW47XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBhZHZlcnNlRXZlbnRSZXBvcnRpbmdVUkw/OiBzdHJpbmc7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBmbGFnRW5hYmxlQUNGUHJvZHVjdENoZWNrPzogYm9vbGVhbjtcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIEB1cmwoKVxuICAvLyBhY2ZQcm9kdWN0Q2hlY2tVUkw/OiBzdHJpbmc7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBwYXRpZW50U3BlY2lmaWNMZWFmbGV0Pzogc3RyaW5nO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gaGVhbHRoY2FyZVByYWN0aXRpb25lckluZm8/OiBzdHJpbmc7XG5cbiAgQHZlcnNpb24oKVxuICBjb3VudGVyPzogbnVtYmVyO1xuICAvL1xuICAvLyBAb25lVG9NYW55KFxuICAvLyAgICgpID0+IFByb2R1Y3RTdHJlbmd0aCxcbiAgLy8gICB7IHVwZGF0ZTogQ2FzY2FkZS5DQVNDQURFLCBkZWxldGU6IENhc2NhZGUuQ0FTQ0FERSB9LFxuICAvLyAgIGZhbHNlXG4gIC8vIClcbiAgLy8gc3RyZW5ndGhzITogUHJvZHVjdFN0cmVuZ3RoW107XG4gIC8vXG4gIC8vIEBvbmVUb01hbnkoXG4gIC8vICAgKCkgPT4gTWFya2V0LFxuICAvLyAgIHsgdXBkYXRlOiBDYXNjYWRlLk5PTkUsIGRlbGV0ZTogQ2FzY2FkZS5OT05FIH0sXG4gIC8vICAgZmFsc2VcbiAgLy8gKVxuICAvLyBtYXJrZXRzITogTWFya2V0W107XG5cbiAgQGNvbHVtbigpXG4gIEBvd25lZEJ5KClcbiAgb3duZWRCeT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihhcmdzPzogTW9kZWxBcmc8T3RoZXJQcm9kdWN0Pikge1xuICAgIHN1cGVyKGFyZ3MpO1xuICB9XG59XG4iXX0=
|
|
@@ -72,4 +72,4 @@ exports.OtherProductShared = OtherProductShared = __decorate([
|
|
|
72
72
|
(0, decorator_validation_1.model)(),
|
|
73
73
|
__metadata("design:paramtypes", [Object])
|
|
74
74
|
], OtherProductShared);
|
|
75
|
-
//# sourceMappingURL=
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJQcm9kdWN0U2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0L21vZGVscy9PdGhlclByb2R1Y3RTaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EseUVBQWlFO0FBQ2pFLHlDQUEwRTtBQUMxRSxvRkFBb0Y7QUFDcEYscURBQTRDO0FBQzVDLG1FQUE0RDtBQUM1RCxxQ0FBOEI7QUFDOUIsaURBQXFDO0FBQ3JDLG9EQU00QjtBQUM1QiwyREFBa0Q7QUFPM0MsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBbUIsU0FBUSx5Q0FBbUI7SUFnRXpELFlBQVksSUFBbUM7UUFDN0MsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBM0NkLGtCQUFhLEdBQVksS0FBSyxDQUFDO0lBNEMvQixDQUFDO0NBQ0YsQ0FBQTtBQW5FWSxnREFBa0I7QUFLN0I7SUFKQyxJQUFBLFNBQUUsR0FBRTtJQUNKLElBQUEsV0FBSSxHQUFFO0lBQ04sSUFBQSxjQUFNLEVBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUM7SUFDcEUsSUFBQSxrQkFBSyxFQUFDLGtCQUFrQixDQUFDOzt1REFDTDtBQUtyQjtJQUhDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSxZQUFLLEVBQUMsQ0FBQyxxQkFBYyxDQUFDLEdBQUcsRUFBRSxxQkFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzt3REFDMUI7QUFLdEI7SUFIQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEsWUFBSyxFQUFDLENBQUMscUJBQWMsQ0FBQyxHQUFHLEVBQUUscUJBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs7Z0VBQ2xCO0FBRzlCO0lBREMsSUFBQSxhQUFNLEdBQUU7O2dFQUNxQjtBQUk5QjtJQUZDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSxZQUFLLEVBQUMsQ0FBQyxxQkFBYyxDQUFDLEdBQUcsRUFBRSxxQkFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzt5REFDakI7QUFzQi9CO0lBREMsSUFBQSx1QkFBTyxHQUFFOzttREFDTztBQWtCakI7SUFGQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsZUFBTyxHQUFFOzttREFDTzs2QkE5RE4sa0JBQWtCO0lBTDlCLElBQUEsa0JBQVUsRUFBQyxJQUFBLDJCQUFtQixFQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsSUFBQSxpQkFBSSxFQUFDLHFCQUFhLENBQUM7SUFDcEIsMkNBQTJDOztJQUMxQyxJQUFBLFlBQUssRUFBQyxzQkFBc0IsQ0FBQztJQUM3QixJQUFBLDRCQUFLLEdBQUU7O0dBQ0ssa0JBQWtCLENBbUU5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kZWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBjb2x1bW4sIGluZGV4LCBPcmRlckRpcmVjdGlvbiwgcGssIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG4vLyBpbXBvcnQge0Jsb2NrT3BlcmF0aW9ucywgT3BlcmF0aW9uS2V5cywgcmVhZG9ubHl9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgdXNlcyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgQmFzZUlkZW50aWZpZWRNb2RlbCB9IGZyb20gXCIuL0Jhc2VJZGVudGlmaWVkTW9kZWxcIjtcbmltcG9ydCB7IGd0aW4gfSBmcm9tIFwiLi9ndGluXCI7XG5pbXBvcnQgeyBhdWRpdCB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIEZhYnJpY0ZsYXZvdXIsXG4gIG1pcnJvcixcbiAgTmFtZXNwYWNlQ29sbGVjdGlvbixcbiAgb3duZWRCeSxcbiAgc2hhcmVkRGF0YSxcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9pbmRleFwiO1xuaW1wb3J0IHsgdmVyc2lvbiB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5Ac2hhcmVkRGF0YShOYW1lc3BhY2VDb2xsZWN0aW9uKFwiZGVjYWYtbmFtZXNwYWNlXCIpKVxuQHVzZXMoRmFicmljRmxhdm91cilcbi8vIEBCbG9ja09wZXJhdGlvbnMoW09wZXJhdGlvbktleXMuREVMRVRFXSlcbkB0YWJsZShcIm90aGVyX3Byb2R1Y3Rfc2hhcmVkXCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE90aGVyUHJvZHVjdFNoYXJlZCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAcGsoKVxuICBAZ3RpbigpXG4gIEBtaXJyb3IoXCJtaXJyb3ItY29sbGVjdGlvblwiLCAobXNwSWQ6IHN0cmluZykgPT4gbXNwSWQgPT09IFwibWFpbi1vcmdcIilcbiAgQGF1ZGl0KE90aGVyUHJvZHVjdFNoYXJlZClcbiAgcHJvZHVjdENvZGUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBpbnZlbnRlZE5hbWUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBuYW1lTWVkaWNpbmFsUHJvZHVjdCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgaW50ZXJuYWxNYXRlcmlhbENvZGU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBwcm9kdWN0UmVjYWxsOiBib29sZWFuID0gZmFsc2U7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBmbGFnRW5hYmxlQWR2ZXJzZUV2ZW50UmVwb3J0aW5nPzogYm9vbGVhbjtcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIGFkdmVyc2VFdmVudFJlcG9ydGluZ1VSTD86IHN0cmluZztcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIGZsYWdFbmFibGVBQ0ZQcm9kdWN0Q2hlY2s/OiBib29sZWFuO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gQHVybCgpXG4gIC8vIGFjZlByb2R1Y3RDaGVja1VSTD86IHN0cmluZztcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIHBhdGllbnRTcGVjaWZpY0xlYWZsZXQ/OiBzdHJpbmc7XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBoZWFsdGhjYXJlUHJhY3RpdGlvbmVySW5mbz86IHN0cmluZztcblxuICBAdmVyc2lvbigpXG4gIGNvdW50ZXI/OiBudW1iZXI7XG4gIC8vXG4gIC8vIEBvbmVUb01hbnkoXG4gIC8vICAgKCkgPT4gUHJvZHVjdFN0cmVuZ3RoLFxuICAvLyAgIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sXG4gIC8vICAgZmFsc2VcbiAgLy8gKVxuICAvLyBzdHJlbmd0aHMhOiBQcm9kdWN0U3RyZW5ndGhbXTtcbiAgLy9cbiAgLy8gQG9uZVRvTWFueShcbiAgLy8gICAoKSA9PiBNYXJrZXQsXG4gIC8vICAgeyB1cGRhdGU6IENhc2NhZGUuTk9ORSwgZGVsZXRlOiBDYXNjYWRlLk5PTkUgfSxcbiAgLy8gICBmYWxzZVxuICAvLyApXG4gIC8vIG1hcmtldHMhOiBNYXJrZXRbXTtcblxuICBAY29sdW1uKClcbiAgQG93bmVkQnkoKVxuICBvd25lZEJ5Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGFyZ3M/OiBNb2RlbEFyZzxPdGhlclByb2R1Y3RTaGFyZWQ+KSB7XG4gICAgc3VwZXIoYXJncyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -74,4 +74,4 @@ exports.Product = Product = __decorate([
|
|
|
74
74
|
(0, decorator_validation_1.model)(),
|
|
75
75
|
__metadata("design:paramtypes", [Object])
|
|
76
76
|
], Product);
|
|
77
|
-
//# sourceMappingURL=
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdC9tb2RlbHMvUHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSx5RUFBaUU7QUFDakUseUNBUXdCO0FBQ3hCLG9GQUFvRjtBQUNwRixxREFBNEM7QUFDNUMsMkRBQW9EO0FBQ3BELHlDQUFrQztBQUNsQyxtRUFBNEQ7QUFDNUQscUNBQThCO0FBRTlCLGlEQUFxQztBQUNyQyw0REFBdUQ7QUFNaEQsSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFRLFNBQVEseUNBQW1CO0lBMkQ5QyxZQUFZLElBQXdCO1FBQ2xDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQXZDZCxrQkFBYSxHQUFZLEtBQUssQ0FBQztJQXdDL0IsQ0FBQztDQUNGLENBQUE7QUE5RFksMEJBQU87QUFJbEI7SUFIQyxJQUFBLFdBQUksR0FBRTtJQUNOLElBQUEsa0JBQUssRUFBQyxPQUFPLENBQUM7SUFDZCxJQUFBLFNBQUUsR0FBRTs7NENBQ2dCO0FBS3JCO0lBSEMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLFlBQUssRUFBQyxDQUFDLHFCQUFjLENBQUMsR0FBRyxFQUFFLHFCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7OzZDQUMxQjtBQUt0QjtJQUhDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSxZQUFLLEVBQUMsQ0FBQyxxQkFBYyxDQUFDLEdBQUcsRUFBRSxxQkFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztxREFDbEI7QUFHOUI7SUFEQyxJQUFBLGFBQU0sR0FBRTs7cURBQ3FCO0FBSTlCO0lBRkMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLFlBQUssRUFBQyxDQUFDLHFCQUFjLENBQUMsR0FBRyxFQUFFLHFCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7OzhDQUNqQjtBQXNCL0I7SUFEQyxJQUFBLGFBQU0sR0FBRTs7d0NBQ1E7QUFPakI7SUFMQyxJQUFBLGdCQUFTLEVBQ1IsR0FBRyxFQUFFLENBQUMsaUNBQWUsRUFDckIsRUFBRSxNQUFNLEVBQUUsY0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBTyxDQUFDLE9BQU8sRUFBRSxFQUNwRCxLQUFLLENBQ047OzBDQUM2QjtBQU85QjtJQUxDLElBQUEsZ0JBQVMsRUFDUixHQUFHLEVBQUUsQ0FBQyxlQUFNLEVBQ1osRUFBRSxNQUFNLEVBQUUsY0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBTyxDQUFDLElBQUksRUFBRSxFQUM5QyxLQUFLLENBQ047O3dDQUNrQjtrQkF6RFIsT0FBTztJQUpuQixJQUFBLGlCQUFJLEVBQUMseUJBQWEsQ0FBQztJQUNwQiwyQ0FBMkM7O0lBQzFDLElBQUEsWUFBSyxHQUFFO0lBQ1AsSUFBQSw0QkFBSyxHQUFFOztHQUNLLE9BQU8sQ0E4RG5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNb2RlbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7XG4gIGNvbHVtbixcbiAgaW5kZXgsXG4gIG9uZVRvTWFueSxcbiAgdGFibGUsXG4gIE9yZGVyRGlyZWN0aW9uLFxuICBwayxcbiAgQ2FzY2FkZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG4vLyBpbXBvcnQge0Jsb2NrT3BlcmF0aW9ucywgT3BlcmF0aW9uS2V5cywgcmVhZG9ubHl9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgdXNlcyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgUHJvZHVjdFN0cmVuZ3RoIH0gZnJvbSBcIi4vUHJvZHVjdFN0cmVuZ3RoXCI7XG5pbXBvcnQgeyBNYXJrZXQgfSBmcm9tIFwiLi9NYXJrZXRcIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsXCI7XG5pbXBvcnQgeyBndGluIH0gZnJvbSBcIi4vZ3RpblwiO1xuXG5pbXBvcnQgeyBhdWRpdCB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IEZhYnJpY0ZsYXZvdXIgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NvbnN0YW50c1wiO1xuXG5AdXNlcyhGYWJyaWNGbGF2b3VyKVxuLy8gQEJsb2NrT3BlcmF0aW9ucyhbT3BlcmF0aW9uS2V5cy5ERUxFVEVdKVxuQHRhYmxlKClcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUHJvZHVjdCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAZ3RpbigpXG4gIEBhdWRpdChQcm9kdWN0KVxuICBAcGsoKVxuICBwcm9kdWN0Q29kZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIGludmVudGVkTmFtZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIG5hbWVNZWRpY2luYWxQcm9kdWN0ITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBpbnRlcm5hbE1hdGVyaWFsQ29kZT86IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIHByb2R1Y3RSZWNhbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIGZsYWdFbmFibGVBZHZlcnNlRXZlbnRSZXBvcnRpbmc/OiBib29sZWFuO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gYWR2ZXJzZUV2ZW50UmVwb3J0aW5nVVJMPzogc3RyaW5nO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gZmxhZ0VuYWJsZUFDRlByb2R1Y3RDaGVjaz86IGJvb2xlYW47XG4gIC8vXG4gIC8vIEBjb2x1bW4oKVxuICAvLyBAdXJsKClcbiAgLy8gYWNmUHJvZHVjdENoZWNrVVJMPzogc3RyaW5nO1xuICAvL1xuICAvLyBAY29sdW1uKClcbiAgLy8gcGF0aWVudFNwZWNpZmljTGVhZmxldD86IHN0cmluZztcbiAgLy9cbiAgLy8gQGNvbHVtbigpXG4gIC8vIGhlYWx0aGNhcmVQcmFjdGl0aW9uZXJJbmZvPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBjb3VudGVyPzogbnVtYmVyO1xuXG4gIEBvbmVUb01hbnkoXG4gICAgKCkgPT4gUHJvZHVjdFN0cmVuZ3RoLFxuICAgIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sXG4gICAgZmFsc2VcbiAgKVxuICBzdHJlbmd0aHMhOiBQcm9kdWN0U3RyZW5ndGhbXTtcblxuICBAb25lVG9NYW55KFxuICAgICgpID0+IE1hcmtldCxcbiAgICB7IHVwZGF0ZTogQ2FzY2FkZS5OT05FLCBkZWxldGU6IENhc2NhZGUuTk9ORSB9LFxuICAgIGZhbHNlXG4gIClcbiAgbWFya2V0cyE6IE1hcmtldFtdO1xuXG4gIGNvbnN0cnVjdG9yKGFyZ3M/OiBNb2RlbEFyZzxQcm9kdWN0Pikge1xuICAgIHN1cGVyKGFyZ3MpO1xuICB9XG59XG4iXX0=
|
|
@@ -57,4 +57,4 @@ exports.ProductStrength = ProductStrength = __decorate([
|
|
|
57
57
|
(0, decoration_1.description)("Represents the product’s strength and composition details."),
|
|
58
58
|
__metadata("design:paramtypes", [Object])
|
|
59
59
|
], ProductStrength);
|
|
60
|
-
//# sourceMappingURL=
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvZHVjdFN0cmVuZ3RoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0L21vZGVscy9Qcm9kdWN0U3RyZW5ndGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EseUVBQWlFO0FBQ2pFLHlDQUEwRTtBQUMxRSwrQ0FBeUM7QUFDekMscURBQXlEO0FBQ3pELG1FQUE0RDtBQUU1RCxvREFBbUQ7QUFNNUMsSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZ0IsU0FBUSx5Q0FBbUI7SUE2QnRELFlBQVksS0FBaUM7UUFDM0MsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsQ0FBQztDQUNGLENBQUE7QUFoQ1ksMENBQWU7QUFHMUI7SUFGQyxJQUFBLFNBQUUsRUFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3JDLElBQUEsd0JBQVcsRUFBQyw0Q0FBNEMsQ0FBQzs7MkNBQzlDO0FBU1o7SUFGQyxJQUFBLFlBQUssRUFBQyxDQUFDLHFCQUFjLENBQUMsR0FBRyxFQUFFLHFCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsSUFBQSx3QkFBVyxFQUFDLG1EQUFtRCxDQUFDOztvREFDNUM7QUFNckI7SUFKQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEsWUFBSyxFQUFDLENBQUMscUJBQWMsQ0FBQyxHQUFHLEVBQUUscUJBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxJQUFBLHdCQUFXLEVBQUMscURBQXFELENBQUM7O2lEQUNqRDtBQUtsQjtJQUhDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSxZQUFLLEVBQUMsQ0FBQyxxQkFBYyxDQUFDLEdBQUcsRUFBRSxxQkFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLElBQUEsd0JBQVcsRUFBQyxvREFBb0QsQ0FBQzs7a0RBQy9DO0FBSW5CO0lBRkMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLHdCQUFXLEVBQUMsZ0RBQWdELENBQUM7O3dEQUNyQzswQkEzQmQsZUFBZTtJQUozQixJQUFBLGlCQUFJLEVBQUMscUJBQWEsQ0FBQztJQUNuQixJQUFBLFlBQUssRUFBQyxzQkFBVSxDQUFDLGVBQWUsQ0FBQztJQUNqQyxJQUFBLDRCQUFLLEdBQUU7SUFDUCxJQUFBLHdCQUFXLEVBQUMsNERBQTRELENBQUM7O0dBQzdELGVBQWUsQ0FnQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNb2RlbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IGNvbHVtbiwgaW5kZXgsIE9yZGVyRGlyZWN0aW9uLCBwaywgdGFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IFRhYmxlTmFtZXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGRlc2NyaXB0aW9uLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vQmFzZUlkZW50aWZpZWRNb2RlbFwiO1xuXG5pbXBvcnQgeyBGYWJyaWNGbGF2b3VyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9pbmRleFwiO1xuXG5AdXNlcyhGYWJyaWNGbGF2b3VyKVxuQHRhYmxlKFRhYmxlTmFtZXMuUHJvZHVjdFN0cmVuZ3RoKVxuQG1vZGVsKClcbkBkZXNjcmlwdGlvbihcIlJlcHJlc2VudHMgdGhlIHByb2R1Y3TigJlzIHN0cmVuZ3RoIGFuZCBjb21wb3NpdGlvbiBkZXRhaWxzLlwiKVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RTdHJlbmd0aCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAcGsoeyB0eXBlOiBOdW1iZXIsIGdlbmVyYXRlZDogdHJ1ZSB9KVxuICBAZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcHJvZHVjdCBzdHJlbmd0aC5cIilcbiAgaWQhOiBudW1iZXI7XG5cbiAgLy8gQG1hbnlUb09uZShcbiAgLy8gICAoKSA9PiBQcm9kdWN0LFxuICAvLyAgIHsgdXBkYXRlOiBDYXNjYWRlLk5PTkUsIGRlbGV0ZTogQ2FzY2FkZS5OT05FIH0sXG4gIC8vICAgZmFsc2VcbiAgLy8gKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiUHJvZHVjdCBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHN0cmVuZ3RoIGVudHJ5LlwiKVxuICBwcm9kdWN0Q29kZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIlByb2R1Y3QgY29uY2VudHJhdGlvbiBvciBkb3NhZ2UgKGUuZy4sIDUwMG1nLCAxMCUpLlwiKVxuICBzdHJlbmd0aCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkFjdGl2ZSBzdWJzdGFuY2UgcmVsYXRlZCB0byB0aGlzIHByb2R1Y3Qgc3RyZW5ndGguXCIpXG4gIHN1YnN0YW5jZT86IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGRlc2NyaXB0aW9uKFwiTGVnYWwgZW50aXR5IG5hbWUgcmVzcG9uc2libGUgZm9yIHRoZSBwcm9kdWN0LlwiKVxuICBsZWdhbEVudGl0eU5hbWU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobW9kZWw/OiBNb2RlbEFyZzxQcm9kdWN0U3RyZW5ndGg+KSB7XG4gICAgc3VwZXIobW9kZWwpO1xuICB9XG59XG4iXX0=
|
|
@@ -91,4 +91,4 @@ exports.SegregatedSharedDocument = SegregatedSharedDocument = __decorate([
|
|
|
91
91
|
(0, decorator_validation_1.model)(),
|
|
92
92
|
__metadata("design:paramtypes", [Object])
|
|
93
93
|
], SegregatedSharedDocument);
|
|
94
|
-
//# sourceMappingURL=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VncmVnYXRlZERvY3VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0L21vZGVscy9TZWdyZWdhdGVkRG9jdW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EseUVBQWlFO0FBQ2pFLHlDQUFtRDtBQUNuRCxxREFBNEM7QUFDNUMsb0RBSzRCO0FBQzVCLG1FQUE0RDtBQUU1RCxNQUFNLG9CQUFvQixHQUFHLDhCQUE4QixDQUFDO0FBQzVELE1BQU0sb0JBQW9CLEdBQUcsOEJBQThCLENBQUM7QUFDNUQsTUFBTSxtQkFBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUMxRCxNQUFNLG1CQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBS25ELElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQTBCLFNBQVEseUNBQW1CO0lBb0JoRSxZQUFZLElBQTBDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNkLENBQUM7Q0FDRixDQUFBO0FBdkJZLDhEQUF5QjtBQUVwQztJQURDLElBQUEsU0FBRSxHQUFFOztxREFDTztBQUlaO0lBRkMsSUFBQSxhQUFNLEdBQUU7SUFDUixJQUFBLCtCQUFRLEdBQUU7O3dEQUNJO0FBSWY7SUFGQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsbUJBQVcsRUFBQyxvQkFBb0IsQ0FBQzs7K0RBQ1o7QUFJdEI7SUFGQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsbUJBQVcsRUFBQyxvQkFBb0IsQ0FBQzs7K0RBQ1o7QUFJdEI7SUFGQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsZUFBTyxHQUFFOzt3REFDSztvQ0FsQkoseUJBQXlCO0lBSHJDLElBQUEsaUJBQUksRUFBQyxxQkFBYSxDQUFDO0lBQ25CLElBQUEsWUFBSyxFQUFDLDZCQUE2QixDQUFDO0lBQ3BDLElBQUEsNEJBQUssR0FBRTs7R0FDSyx5QkFBeUIsQ0F1QnJDO0FBS00sSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBeUIsU0FBUSx5Q0FBbUI7SUFvQi9ELFlBQVksSUFBeUM7UUFDbkQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQztDQUNGLENBQUE7QUF2QlksNERBQXdCO0FBRW5DO0lBREMsSUFBQSxTQUFFLEdBQUU7O29EQUNPO0FBSVo7SUFGQyxJQUFBLGFBQU0sR0FBRTtJQUNSLElBQUEsK0JBQVEsR0FBRTs7c0RBQ0c7QUFJZDtJQUZDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSxrQkFBVSxFQUFDLG1CQUFtQixDQUFDOzs2REFDWDtBQUlyQjtJQUZDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSxrQkFBVSxFQUFDLG1CQUFtQixDQUFDOzs2REFDWDtBQUlyQjtJQUZDLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSxlQUFPLEdBQUU7O3VEQUNLO21DQWxCSix3QkFBd0I7SUFIcEMsSUFBQSxpQkFBSSxFQUFDLHFCQUFhLENBQUM7SUFDbkIsSUFBQSxZQUFLLEVBQUMsNEJBQTRCLENBQUM7SUFDbkMsSUFBQSw0QkFBSyxHQUFFOztHQUNLLHdCQUF3QixDQXVCcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgY29sdW1uLCBwaywgdGFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7XG4gIEZhYnJpY0ZsYXZvdXIsXG4gIG93bmVkQnksXG4gIHByaXZhdGVEYXRhLFxuICBzaGFyZWREYXRhLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2luZGV4XCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vQmFzZUlkZW50aWZpZWRNb2RlbFwiO1xuXG5jb25zdCBQUklWQVRFX0NPTExFQ1RJT05fQSA9IFwic2VncmVnYXRlZFByaXZhdGVDb2xsZWN0aW9uQVwiO1xuY29uc3QgUFJJVkFURV9DT0xMRUNUSU9OX0IgPSBcInNlZ3JlZ2F0ZWRQcml2YXRlQ29sbGVjdGlvbkJcIjtcbmNvbnN0IFNIQVJFRF9DT0xMRUNUSU9OX0EgPSBcInNlZ3JlZ2F0ZWRTaGFyZWRDb2xsZWN0aW9uQVwiO1xuY29uc3QgU0hBUkVEX0NPTExFQ1RJT05fQiA9IFwic2VncmVnYXRlZFNoYXJlZENvbGxlY3Rpb25CXCI7XG5cbkB1c2VzKEZhYnJpY0ZsYXZvdXIpXG5AdGFibGUoXCJzZWdyZWdhdGVkX3ByaXZhdGVfZG9jdW1lbnRcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgU2VncmVnYXRlZFByaXZhdGVEb2N1bWVudCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAcGsoKVxuICBpZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgdGl0bGUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBwcml2YXRlRGF0YShQUklWQVRFX0NPTExFQ1RJT05fQSlcbiAgcHJpdmF0ZU5vdGVBPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcHJpdmF0ZURhdGEoUFJJVkFURV9DT0xMRUNUSU9OX0IpXG4gIHByaXZhdGVOb3RlQj86IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQG93bmVkQnkoKVxuICBvd25lcj86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihhcmdzPzogTW9kZWxBcmc8U2VncmVnYXRlZFByaXZhdGVEb2N1bWVudD4pIHtcbiAgICBzdXBlcihhcmdzKTtcbiAgfVxufVxuXG5AdXNlcyhGYWJyaWNGbGF2b3VyKVxuQHRhYmxlKFwic2VncmVnYXRlZF9zaGFyZWRfZG9jdW1lbnRcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgU2VncmVnYXRlZFNoYXJlZERvY3VtZW50IGV4dGVuZHMgQmFzZUlkZW50aWZpZWRNb2RlbCB7XG4gIEBwaygpXG4gIGlkITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBuYW1lITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAc2hhcmVkRGF0YShTSEFSRURfQ09MTEVDVElPTl9BKVxuICBzaGFyZWROb3RlQT86IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHNoYXJlZERhdGEoU0hBUkVEX0NPTExFQ1RJT05fQilcbiAgc2hhcmVkTm90ZUI/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBvd25lZEJ5KClcbiAgb3duZXI/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoYXJncz86IE1vZGVsQXJnPFNlZ3JlZ2F0ZWRTaGFyZWREb2N1bWVudD4pIHtcbiAgICBzdXBlcihhcmdzKTtcbiAgfVxufVxuIl19
|
|
@@ -27,4 +27,4 @@ var AuditOperations;
|
|
|
27
27
|
AuditOperations["DATA_RECOVERY"] = "Use of the Data Recovery Key";
|
|
28
28
|
AuditOperations["RECOVERY_KEY_COPIED"] = "Copy Data Recovery Key";
|
|
29
29
|
})(AuditOperations || (exports.AuditOperations = AuditOperations = {}));
|
|
30
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0L21vZGVscy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxXQUFXLEdBQUcsWUFBWSxDQUFDO0FBRTNCLFFBQUEsWUFBWSxHQUFHLHVCQUF1QixDQUFDO0FBRXBELElBQVksVUFTWDtBQVRELFdBQVksVUFBVTtJQUNwQiw2QkFBZSxDQUFBO0lBQ2YsNkJBQWUsQ0FBQTtJQUNmLHNDQUF3QixDQUFBO0lBQ3hCLGlDQUFtQixDQUFBO0lBQ25CLDBDQUE0QixDQUFBO0lBQzVCLGlDQUFtQixDQUFBO0lBQ25CLCtCQUFpQixDQUFBO0lBQ2pCLGtEQUFvQyxDQUFBO0FBQ3RDLENBQUMsRUFUVyxVQUFVLDBCQUFWLFVBQVUsUUFTckI7QUFFRCxJQUFZLGVBV1g7QUFYRCxXQUFZLGVBQWU7SUFDekIseUNBQXNCLENBQUE7SUFDdEIsbUNBQWdCLENBQUE7SUFDaEIsaURBQThCLENBQUE7SUFDOUIsMENBQXVCLENBQUE7SUFDdkIsNERBQXlDLENBQUE7SUFDekMsK0ZBQTRFLENBQUE7SUFDNUUsMkRBQXdDLENBQUE7SUFDeEMscURBQWtDLENBQUE7SUFDbEMsaUVBQThDLENBQUE7SUFDOUMsaUVBQThDLENBQUE7QUFDaEQsQ0FBQyxFQVhXLGVBQWUsK0JBQWYsZUFBZSxRQVcxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEYXRlUGF0dGVybiA9IFwieXl5eS1NTS1kZFwiO1xuXG5leHBvcnQgY29uc3QgQmF0Y2hQYXR0ZXJuID0gL15bYS16QS1aMC05Ly1dezEsMjB9JC87XG5cbmV4cG9ydCBlbnVtIFRhYmxlTmFtZXMge1xuICBBdWRpdCA9IFwiYXVkaXRcIixcbiAgQmF0Y2ggPSBcImJhdGNoXCIsXG4gIEd0aW5Pd25lciA9IFwiZ3Rpbl9vd25lclwiLFxuICBMZWFmbGV0ID0gXCJsZWFmbGV0XCIsXG4gIExlYWZsZXRGaWxlID0gXCJsZWFmbGV0X2ZpbGVcIixcbiAgUHJvZHVjdCA9IFwicHJvZHVjdFwiLFxuICBNYXJrZXQgPSBcIm1hcmtldFwiLFxuICBQcm9kdWN0U3RyZW5ndGggPSBcInByb2R1Y3Rfc3RyZW5ndGhcIixcbn1cblxuZXhwb3J0IGVudW0gQXVkaXRPcGVyYXRpb25zIHtcbiAgUkVNT1ZFID0gXCJSZW1vdmUgdXNlclwiLFxuICBBREQgPSBcIkFkZCB1c2VyXCIsXG4gIERFQUNUSVZBVEUgPSBcIkRlYWN0aXZhdGUgdXNlclwiLFxuICBMT0dJTiA9IFwiQWNjZXNzIHdhbGxldFwiLFxuICBTSEFSRURfRU5DTEFWRV9DUkVBVEUgPSBcIkNyZWF0ZSBpZGVudGl0eVwiLFxuICBCUkVBS19HTEFTU19SRUNPVkVSWSA9IFwiV2FsbGV0IHJlY292ZXJlZCB3aXRoIHRoZSBicmVhayBHbGFzcyBSZWNvdmVyeSBDb2RlXCIsXG4gIEFVVEhPUklaRSA9IFwiQXV0aG9yaXplIGludGVncmF0aW9uIHVzZXJcIixcbiAgUkVWT0tFID0gXCJSZXZva2UgaW50ZWdyYXRpb24gdXNlclwiLFxuICBEQVRBX1JFQ09WRVJZID0gXCJVc2Ugb2YgdGhlIERhdGEgUmVjb3ZlcnkgS2V5XCIsXG4gIFJFQ09WRVJZX0tFWV9DT1BJRUQgPSBcIkNvcHkgRGF0YSBSZWNvdmVyeSBLZXlcIixcbn1cbiJdfQ==
|
|
@@ -58,4 +58,4 @@ function audit(model) {
|
|
|
58
58
|
};
|
|
59
59
|
return (0, decoration_1.apply)((0, db_decorators_1.afterCreate)(createAuditHandler, meta), (0, db_decorators_1.afterUpdate)(updateAuditHandler, meta), (0, db_decorators_1.afterDelete)(deleteAuditHandler, meta), (0, decoration_1.metadata)("audit", true));
|
|
60
60
|
}
|
|
61
|
-
//# sourceMappingURL=
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdC9tb2RlbHMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLGdEQTRCQztBQUVELGdEQXlCQztBQUVELGdEQTJCQztBQU1ELHNCQVVDO0FBakhELHlFQUF1RDtBQUN2RCxxREFBb0U7QUFDcEUsMkRBTWlDO0FBQ2pDLHVDQUFnQztBQUNoQyx5Q0FBNEM7QUFHckMsS0FBSyxVQUFVLGtCQUFrQixDQUt0QyxPQUE4QixFQUM5QixJQUFtQixFQUNuQixHQUFZLEVBQ1osS0FBUTtJQUVSLE1BQU0sSUFBSSxHQUFHLGlCQUFVLENBQUMsUUFBUSxDQUFDLGFBQUssQ0FBQyxDQUFDO0lBRXhDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO1FBQzlDLE1BQU0sSUFBSSw2QkFBYSxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFFM0UsTUFBTSxRQUFRLEdBQUcsSUFBSSxhQUFLLENBQUM7UUFDekIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1FBQ25DLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUNoQyxLQUFLLEVBQUUsNEJBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDbkMsTUFBTSxFQUFFLDZCQUFhLENBQUMsTUFBTTtRQUM1QixLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUN2QyxDQUFDLENBQUM7SUFFSCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0s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LEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FDMUgsQ0FBQztBQUNKLENBQUM7QUFNRCxTQUFnQixLQUFLLENBQUMsS0FBa0M7SUFDdEQsTUFBTSxJQUFJLEdBQWtCO1FBQzFCLEtBQUssRUFBRSxLQUFLO0tBQ2IsQ0FBQztJQUNGLE9BQU8sSUFBQSxrQkFBSyxFQUNWLElBQUEsMkJBQVcsRUFBQyxrQkFBeUIsRUFBRSxJQUFJLENBQUMsRUFDNUMsSUFBQSwyQkFBVyxFQUFDLGtCQUF5QixFQUFFLElBQUksQ0FBQyxFQUM1QyxJQUFBLDJCQUFXLEVBQUMsa0JBQXlCLEVBQUUsSUFBSSxDQUFDLEVBQzVDLElBQUEscUJBQVEsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQ3hCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBtZXRhZGF0YSwgYXBwbHksIENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQge1xuICBhZnRlckNyZWF0ZSxcbiAgYWZ0ZXJEZWxldGUsXG4gIGFmdGVyVXBkYXRlLFxuICBJbnRlcm5hbEVycm9yLFxuICBPcGVyYXRpb25LZXlzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IEF1ZGl0IH0gZnJvbSBcIi4vQXVkaXRcIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEZhYnJpY0NvbnRyYWN0Q29udGV4dCB9IGZyb20gXCIuLi8uLi9jb250cmFjdHMvaW5kZXhcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUF1ZGl0SGFuZGxlcjxcbiAgTSBleHRlbmRzIE1vZGVsLFxuICBSIGV4dGVuZHMgUmVwb3NpdG9yeTxNLCBhbnk+LFxuPihcbiAgdGhpczogUixcbiAgY29udGV4dDogRmFicmljQ29udHJhY3RDb250ZXh0LFxuICBkYXRhOiBBdWRpdE1ldGFkYXRhLFxuICBrZXk6IGtleW9mIE0sXG4gIG1vZGVsOiBNXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWwoQXVkaXQpO1xuXG4gIGlmICghY29udGV4dC5pZGVudGl0eSB8fCAhY29udGV4dC5pZGVudGl0eS5nZXRJRClcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTG9zdCBjb250ZXh0IGFwcGFyZW50bHkuIG5vIGdldElkIGluIGlkZW50aXR5YCk7XG5cbiAgY29uc3QgdG9DcmVhdGUgPSBuZXcgQXVkaXQoe1xuICAgIHVzZXJHcm91cDogY29udGV4dC5pZGVudGl0eS5nZXRJRCgpLFxuICAgIHVzZXJJZDogY29udGV4dC5pZGVudGl0eS5nZXRJRCgpLFxuICAgIG1vZGVsOiBNb2RlbC50YWJsZU5hbWUoZGF0YS5jbGFzcyksXG4gICAgdHJhbnNhY3Rpb246IGNvbnRleHQuc3R1Yi5nZXRUeElEKCksXG4gICAgYWN0aW9uOiBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgICBkaWZmczogbmV3IHRoaXMuY2xhc3MoKS5jb21wYXJlKG1vZGVsKSxcbiAgfSk7XG5cbiAgY29uc3QgYXVkaXQgPSBhd2FpdCByZXBvLm92ZXJyaWRlKHRoaXMuX292ZXJyaWRlcykuY3JlYXRlKHRvQ3JlYXRlLCBjb250ZXh0KTtcbiAgY29udGV4dC5sb2dnZXIuaW5mbyhcbiAgICBgQXVkaXQgbG9nIGZvciAke09wZXJhdGlvbktleXMuQ1JFQVRFfSBvZiAke01vZGVsLnRhYmxlTmFtZSh0aGlzLmNsYXNzKX0gY3JlYXRlZDogJHthdWRpdC5pZH06ICR7SlNPTi5zdHJpbmdpZnkoYXVkaXQsIHVuZGVmaW5lZCwgMil9YFxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXBkYXRlQXVkaXRIYW5kbGVyPFxuICBNIGV4dGVuZHMgTW9kZWwsXG4gIFIgZXh0ZW5kcyBSZXBvc2l0b3J5PE0sIGFueT4sXG4+KFxuICB0aGlzOiBSLFxuICBjb250ZXh0OiBGYWJyaWNDb250cmFjdENvbnRleHQsXG4gIGRhdGE6IEF1ZGl0TWV0YWRhdGEsXG4gIGtleToga2V5b2YgTSxcbiAgbW9kZWw6IE0sXG4gIG9sZE1vZGVsOiBNXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgdG9DcmVhdGUgPSBuZXcgQXVkaXQoe1xuICAgIHVzZXJHcm91cDogY29udGV4dC5pZGVudGl0eS5nZXRJRCgpLFxuICAgIHVzZXJJZDogY29udGV4dC5pZGVudGl0eS5nZXRJRCgpLFxuICAgIG1vZGVsOiBNb2RlbC50YWJsZU5hbWUoZGF0YS5jbGFzcyksXG4gICAgdHJhbnNhY3Rpb246IGNvbnRleHQuc3R1Yi5nZXRUeElEKCksXG4gICAgYWN0aW9uOiBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICBkaWZmczogbW9kZWwuY29tcGFyZShvbGRNb2RlbCksXG4gIH0pO1xuXG4gIGNvbnN0IHJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsKEF1ZGl0KTtcbiAgY29uc3QgYXVkaXQgPSBhd2FpdCByZXBvLm92ZXJyaWRlKHRoaXMuX292ZXJyaWRlcykuY3JlYXRlKHRvQ3JlYXRlLCBjb250ZXh0KTtcbiAgY29udGV4dC5sb2dnZXIuaW5mbyhcbiAgICBgQXVkaXQgbG9nIGZvciAke09wZXJhdGlvbktleXMuVVBEQVRFfSBvZiAke01vZGVsLnRhYmxlTmFtZSh0aGlzLmNsYXNzKX0gY3JlYXRlZDogJHtKU09OLnN0cmluZ2lmeShhdWRpdCwgdW5kZWZpbmVkLCAyKX1gXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVBdWRpdEhhbmRsZXI8XG4gIE0gZXh0ZW5kcyBNb2RlbCxcbiAgUiBleHRlbmRzIFJlcG9zaXRvcnk8TSwgYW55Pixcbj4oXG4gIHRoaXM6IFIsXG4gIGNvbnRleHQ6IEZhYnJpY0NvbnRyYWN0Q29udGV4dCxcbiAgZGF0YTogQXVkaXRNZXRhZGF0YSxcbiAga2V5OiBrZXlvZiBNLFxuICBtb2RlbDogTVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghY29udGV4dC5pZGVudGl0eSB8fCAhY29udGV4dC5pZGVudGl0eS5nZXRJRClcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTG9zdCBjb250ZXh0IGFwcHJlbnRseS4gbm8gZ2V0SWQgaW4gaWRlbnRpdHlgKTtcblxuICBjb25zdCB0b0NyZWF0ZSA9IG5ldyBBdWRpdCh7XG4gICAgdXNlckdyb3VwOiBjb250ZXh0LmlkZW50aXR5LmdldElEKCksXG4gICAgdXNlcklkOiBjb250ZXh0LmlkZW50aXR5LmdldElEKCksXG4gICAgbW9kZWw6IE1vZGVsLnRhYmxlTmFtZShkYXRhLmNsYXNzKSxcbiAgICB0cmFuc2FjdGlvbjogY29udGV4dC5zdHViLmdldFR4SUQoKSxcbiAgICBhY3Rpb246IE9wZXJhdGlvbktleXMuREVMRVRFLFxuICAgIGRpZmZzOiBtb2RlbC5jb21wYXJlKG5ldyB0aGlzLmNsYXNzKCkpLFxuICB9KTtcblxuICBjb25zdCByZXBvID0gUmVwb3NpdG9yeS5mb3JNb2RlbChBdWRpdCk7XG4gIGNvbnN0IGF1ZGl0ID0gYXdhaXQgcmVwby5vdmVycmlkZSh0aGlzLl9vdmVycmlkZXMpLmNyZWF0ZSh0b0NyZWF0ZSwgY29udGV4dCk7XG4gIGNvbnRleHQubG9nZ2VyLmluZm8oXG4gICAgYEF1ZGl0IGxvZyBmb3IgJHtPcGVyYXRpb25LZXlzLkRFTEVURX0gb2YgJHtNb2RlbC50YWJsZU5hbWUodGhpcy5jbGFzcyl9IGNyZWF0ZWQ6ICR7SlNPTi5zdHJpbmdpZnkoYXVkaXQsIHVuZGVmaW5lZCwgMil9YFxuICApO1xufVxuXG5leHBvcnQgdHlwZSBBdWRpdE1ldGFkYXRhID0ge1xuICBjbGFzczogQ29uc3RydWN0b3I8TW9kZWw+O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0KG1vZGVsOiBDb25zdHJ1Y3RvcjxNb2RlbDxib29sZWFuPj4pIHtcbiAgY29uc3QgbWV0YTogQXVkaXRNZXRhZGF0YSA9IHtcbiAgICBjbGFzczogbW9kZWwsXG4gIH07XG4gIHJldHVybiBhcHBseShcbiAgICBhZnRlckNyZWF0ZShjcmVhdGVBdWRpdEhhbmRsZXIgYXMgYW55LCBtZXRhKSxcbiAgICBhZnRlclVwZGF0ZSh1cGRhdGVBdWRpdEhhbmRsZXIgYXMgYW55LCBtZXRhKSxcbiAgICBhZnRlckRlbGV0ZShkZWxldGVBdWRpdEhhbmRsZXIgYXMgYW55LCBtZXRhKSxcbiAgICBtZXRhZGF0YShcImF1ZGl0XCIsIHRydWUpXG4gICk7XG59XG4iXX0=
|
|
@@ -85,4 +85,4 @@ function generateGtin() {
|
|
|
85
85
|
function getBatch() {
|
|
86
86
|
return Math.random().toString(36).replace(".", "").toUpperCase().slice(5);
|
|
87
87
|
}
|
|
88
|
-
//# sourceMappingURL=
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Rpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdC9tb2RlbHMvZ3Rpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUF1RUEsb0NBV0M7QUFFRCw0QkFFQztBQXRGRCx5RUFNd0M7QUFDeEMsMkRBQW1EO0FBQ25ELHFEQUE2QztBQUU3QyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQztBQUNuQyxNQUFNLDZCQUE2QixHQUFHLGtCQUFrQixDQUFDO0FBR2xELElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWMsU0FBUSxnQ0FBUztJQUMxQyxZQUFZLFVBQWtCLDZCQUE2QjtRQUN6RCxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsU0FBUyxDQUNQLEtBQXNCLEVBQ3RCLE9BQTBCO1FBRTFCLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBRWhDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsSUFBSSxD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RSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaW5uZXJWYWxpZGF0aW9uRGVjb3JhdG9yLFxuICByZXF1aXJlZCxcbiAgVmFsaWRhdG9yLFxuICB2YWxpZGF0b3IsXG4gIFZhbGlkYXRvck9wdGlvbnMsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHJlYWRvbmx5IH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBhcHBseSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuXG5jb25zdCBHVElOX1ZBTElEQVRJT05fS0VZID0gXCJndGluXCI7XG5jb25zdCBHVElOX1ZBTElEQVRJT05fRVJST1JfTUVTU0FHRSA9IFwiTm90IGEgdmFsaWQgR3RpblwiO1xuXG5AdmFsaWRhdG9yKEdUSU5fVkFMSURBVElPTl9LRVkpXG5leHBvcnQgY2xhc3MgR3RpblZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IEdUSU5fVkFMSURBVElPTl9FUlJPUl9NRVNTQUdFKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgXCJzdHJpbmdcIiwgXCJudW1iZXJcIik7XG4gIH1cblxuICBoYXNFcnJvcnMoXG4gICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyxcbiAgICBvcHRpb25zPzogVmFsaWRhdG9yT3B0aW9uc1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG5cbiAgICBjb25zdCB7IG1lc3NhZ2UgfSA9IG9wdGlvbnMgfHwge307XG4gICAgY29uc3QgZ3RpbiA9IHZhbHVlICsgXCJcIjtcbiAgICBpZiAoIWd0aW4ubWF0Y2goL1xcZHsxNH0vZykpIHJldHVybiB0aGlzLmdldE1lc3NhZ2UobWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UpO1xuXG4gICAgY29uc3QgZGlnaXRzID0gZ3Rpbi5zbGljZSgwLCAxMyk7XG4gICAgY29uc3QgY2hlY2tzdW0gPSBjYWxjdWxhdGVHdGluQ2hlY2tTdW0oZGlnaXRzKTtcbiAgICByZXR1cm4gcGFyc2VJbnQoY2hlY2tzdW0pID09PSBwYXJzZUludChndGluLmNoYXJBdCgxMykpXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB0aGlzLmdldE1lc3NhZ2UobWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBndGluID0gKG1lc3NhZ2U6IHN0cmluZyA9IEdUSU5fVkFMSURBVElPTl9FUlJPUl9NRVNTQUdFKSA9PiB7XG4gIHJldHVybiBhcHBseShcbiAgICByZXF1aXJlZCgpLFxuICAgIHJlYWRvbmx5KCksXG4gICAgaW5uZXJWYWxpZGF0aW9uRGVjb3JhdG9yKGd0aW4sIEdUSU5fVkFMSURBVElPTl9LRVksIHtcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICBhc3luYzogZmFsc2UsXG4gICAgfSlcbiAgKTtcbn07XG5cbi8vIGh0dHBzOi8vd3d3LmdzMS5vcmcvc2VydmljZXMvaG93LWNhbGN1bGF0ZS1jaGVjay1kaWdpdC1tYW51YWxseVxuZnVuY3Rpb24gY2FsY3VsYXRlR3RpbkNoZWNrU3VtKGRpZ2l0czogc3RyaW5nKTogc3RyaW5nIHtcbiAgZGlnaXRzID0gXCJcIiArIGRpZ2l0cztcbiAgaWYgKGRpZ2l0cy5sZW5ndGggIT09IDEzKSB0aHJvdyBuZXcgRXJyb3IoXCJuZWVkcyB0byByZWNlaXZlZCAxMyBkaWdpdHNcIik7XG4gIGNvbnN0IG11bHRpcGxpZXIgPSBbMywgMSwgMywgMSwgMywgMSwgMywgMSwgMywgMSwgMywgMSwgM107XG4gIGxldCBzdW0gPSAwO1xuICB0cnkge1xuICAgIC8vIG11bHRpcGx5IGVhY2ggZGlnaXQgZm9yIGl0cyBtdWx0aXBsaWVyIGFjY29yZGluZyB0byB0aGUgdGFibGVcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEzOyBpKyspXG4gICAgICBzdW0gKz0gcGFyc2VJbnQoZGlnaXRzLmNoYXJBdChpKSkgKiBtdWx0aXBsaWVyW2ldO1xuXG4gICAgLy8gRmluZCB0aGUgbmVhcmVzdCBlcXVhbCBvciBoaWdoZXIgbXVsdGlwbGUgb2YgdGVuXG4gICAgY29uc3QgcmVtYWluZGVyID0gc3VtICUgMTA7XG4gICAgbGV0IG5lYXJlc3Q7XG4gICAgaWYgKHJlbWFpbmRlciA9PT0gMCkgbmVhcmVzdCA9IHN1bTtcbiAgICBlbHNlIG5lYXJlc3QgPSBzdW0gLSByZW1haW5kZXIgKyAxMDtcblxuICAgIHJldHVybiBuZWFyZXN0IC0gc3VtICsgXCJcIjtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRGlkIHRoaXMgcmVjZWl2ZWQgbnVtYmVycz8gJHtlfWApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUd0aW4oKTogc3RyaW5nIHtcbiAgZnVuY3Rpb24gcGFkKG51bTogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBwYWRkaW5nOiBzdHJpbmcgPSBcIjBcIikge1xuICAgIGNvbnN0IG4gPSBudW0gKyBcIlwiO1xuICAgIHJldHVybiBuLmxlbmd0aCA+PSB3aWR0aFxuICAgICAgPyBuXG4gICAgICA6IG5ldyBBcnJheSh3aWR0aCAtIG4ubGVuZ3RoICsgMSkuam9pbihwYWRkaW5nKSArIG47XG4gIH1cblxuICBjb25zdCBiZWZvcmVDaGVja3N1bSA9IHBhZChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA5OTk5OTk5OTk5OTk5KSwgMTMpOyAvLyBoYXMgdG8gYmUgMTMuIHRoZSBjaGVja3N1bSBpcyB0aGUgNHRoIGRpZ2l0XG4gIGNvbnN0IGNoZWNrc3VtID0gY2FsY3VsYXRlR3RpbkNoZWNrU3VtKGJlZm9yZUNoZWNrc3VtKTtcbiAgcmV0dXJuIGAke2JlZm9yZUNoZWNrc3VtfSR7Y2hlY2tzdW19YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJhdGNoKCkge1xuICByZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikucmVwbGFjZShcIi5cIiwgXCJcIikudG9VcHBlckNhc2UoKS5zbGljZSg1KTtcbn1cbiJdfQ==
|
|
@@ -934,4 +934,4 @@ class FabricContractAdapter extends for_couchdb_1.CouchDBAdapter {
|
|
|
934
934
|
exports.FabricContractAdapter = FabricContractAdapter;
|
|
935
935
|
FabricContractAdapter.decoration();
|
|
936
936
|
core_1.Adapter.setCurrent(constants_1.FabricFlavour);
|
|
937
|
-
//# sourceMappingURL=ContractAdapter.js.map
|
|
937
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJhY3RBZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9Db250cmFjdEFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNkdBLHNFQW9CQztBQWpJRCx1REFLK0I7QUFDL0IseUVBQXVFO0FBRXZFLDJEQUEwRDtBQUUxRCwyREFVaUM7QUFDakMsNkRBSzZCO0FBQzdCLCtDQUFvRDtBQUNwRCx5Q0EwQndCO0FBQ3hCLDZFQUFzRTtBQU90RSwyRUFBNEQ7QUFDNUQseUVBQWtFO0FBQ2xFLHlEQUFvRDtBQUNwRCxpR0FBd0Y7QUFDeEYscURBSzhCO0FBQzlCLDJFQUFvRTtBQUNwRSxtREFBdUQ7QUFVdkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFDSSxLQUFLLFVBQVUsNkJBQTZCLENBTWpELE9BQXFCLEVBQ3JCLElBQU8sRUFDUCxHQUFZLEVBQ1osS0FBUTtJQUVSLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFtQixDQUFDO1FBQ3ZELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFtQixDQUFDO1FBQzNDLDZEQUE2RDtJQUMvRCxDQUFDO0lBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksdUJBQWdCLENBQ3hCLGdFQUFnRSxDQUNqRSxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0NHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSw0QkFJMUM7SUFDb0IsU0FBUztRQUMxQixNQUFNLElBQUksdUJBQWdCLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0Q7O09BRUc7YUFDWSxnQkFBVyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBRTNCLGVBQVUs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QUFVLENBQUMseUJBQWEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ291Y2hEQkFkYXB0ZXIsXG4gIENvdWNoREJLZXlzLFxuICBNYW5nb1F1ZXJ5LFxuICBWaWV3UmVzcG9uc2UsXG59IGZyb20gXCJAZGVjYWYtdHMvZm9yLWNvdWNoZGJcIjtcbmltcG9ydCB7IE1vZGVsLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEZhYnJpY0NvbnRyYWN0RmxhZ3MgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgRmFicmljQ29udHJhY3RDb250ZXh0IH0gZnJvbSBcIi4vQ29udHJhY3RDb250ZXh0XCI7XG5pbXBvcnQgeyBTZWdyZWdhdGVkTW9kZWwgfSBmcm9tIFwiLi4vc2hhcmVkL3R5cGVzXCI7XG5pbXBvcnQge1xuICBCYWRSZXF1ZXN0RXJyb3IsXG4gIEJhc2VFcnJvcixcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgb25DcmVhdGUsXG4gIG9uQ3JlYXRlVXBkYXRlLFxuICBQcmltYXJ5S2V5VHlwZSxcbiAgU2VyaWFsaXphdGlvbkVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIENvbnRleHQgYXMgQ3R4LFxuICBPYmplY3QgYXMgRmFicmljT2JqZWN0LFxuICBQcm9wZXJ0eSxcbiAgUHJvcGVydHkgYXMgRmFicmljUHJvcGVydHksXG59IGZyb20gXCJmYWJyaWMtY29udHJhY3QtYXBpXCI7XG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dpbmcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7XG4gIFBlcnNpc3RlbmNlS2V5cyxcbiAgUmVsYXRpb25zTWV0YWRhdGEsXG4gIFNlcXVlbmNlLFxuICBTZXF1ZW5jZU9wdGlvbnMsXG4gIFVuc3VwcG9ydGVkRXJyb3IsXG4gIEFkYXB0ZXIsXG4gIFByZXBhcmVkTW9kZWwsXG4gIFJlcG9zaXRvcnksXG4gIFF1ZXJ5RXJyb3IsXG4gIFBhZ2luZ0Vycm9yLFxuICBNaWdyYXRpb25FcnJvcixcbiAgT2JzZXJ2ZXJFcnJvcixcbiAgQXV0aG9yaXphdGlvbkVycm9yLFxuICBGb3JiaWRkZW5FcnJvcixcbiAgQ29ubmVjdGlvbkVycm9yLFxuICBDb250ZXh0dWFsaXplZEFyZ3MsXG4gIENvbnRleHQsXG4gIFJhd1Jlc3VsdCxcbiAgUGFnaW5hdG9yLFxuICBDb250ZXh0dWFsQXJncyxcbiAgTWF5YmVDb250ZXh0dWFsQXJnLFxuICBNZXRob2RPck9wZXJhdGlvbixcbiAgQWxsT3BlcmF0aW9uS2V5cyxcbiAgRmxhZ3NPZixcbiAgQ29udGV4dE9mLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEZhYnJpY0NvbnRyYWN0UmVwb3NpdG9yeSB9IGZyb20gXCIuL0ZhYnJpY0NvbnRyYWN0UmVwb3NpdG9yeVwiO1xuaW1wb3J0IHtcbiAgQ2hhaW5jb2RlU3R1YixcbiAgQ2xpZW50SWRlbnRpdHksXG4gIEl0ZXJhdG9ycyxcbiAgU3RhdGVRdWVyeVJlc3BvbnNlLFxufSBmcm9tIFwiZmFicmljLXNoaW0tYXBpXCI7XG5pbXBvcnQgeyBGYWJyaWNTdGF0ZW1lbnQgfSBmcm9tIFwiLi9GYWJyaWNDb250cmFjdFN0YXRlbWVudFwiO1xuaW1wb3J0IHsgRmFicmljQ29udHJhY3RTZXF1ZW5jZSB9IGZyb20gXCIuL0ZhYnJpY0NvbnRyYWN0U2VxdWVuY2VcIjtcbmltcG9ydCB7IEZhYnJpY0ZsYXZvdXIgfSBmcm9tIFwiLi4vc2hhcmVkL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgU2ltcGxlRGV0ZXJtaW5pc3RpY1NlcmlhbGl6ZXIgfSBmcm9tIFwiLi4vc2hhcmVkL1NpbXBsZURldGVybWluaXN0aWNTZXJpYWxpemVyXCI7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3RvcixcbiAgRGVjb3JhdGlvbixcbiAgTWV0YWRhdGEsXG4gIHByb3BNZXRhZGF0YSxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBGYWJyaWNDb250cmFjdFBhZ2luYXRvciB9IGZyb20gXCIuL0ZhYnJpY0NvbnRyYWN0UGFnaW5hdG9yXCI7XG5pbXBvcnQgeyBNaXNzaW5nQ29udGV4dEVycm9yIH0gZnJvbSBcIi4uL3NoYXJlZC9lcnJvcnNcIjtcblxuZXhwb3J0IHR5cGUgRmFicmljQ29udGV4dHVhbGl6ZWRBcmdzPFxuICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgRVhURU5EIGV4dGVuZHMgYm9vbGVhbiA9IGZhbHNlLFxuPiA9IENvbnRleHR1YWxpemVkQXJnczxGYWJyaWNDb250cmFjdENvbnRleHQsIEFSR1MsIEVYVEVORD4gJiB7XG4gIHN0dWI6IENoYWluY29kZVN0dWI7XG4gIGlkZW50aXR5OiBDbGllbnRJZGVudGl0eTtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIGNyZWF0b3Igb3IgdXBkYXRlciBmaWVsZCBpbiBhIG1vZGVsIGJhc2VkIG9uIHRoZSB1c2VyIGluIHRoZSBjb250ZXh0XG4gKiBAc3VtbWFyeSBDYWxsYmFjayBmdW5jdGlvbiB1c2VkIGluIGRlY29yYXRvcnMgdG8gYXV0b21hdGljYWxseSBzZXQgdGhlIGNyZWF0ZWRfYnkgb3IgdXBkYXRlZF9ieSBmaWVsZHNcbiAqIHdpdGggdGhlIHVzZXJuYW1lIGZyb20gdGhlIGNvbnRleHQgd2hlbiBhIGRvY3VtZW50IGlzIGNyZWF0ZWQgb3IgdXBkYXRlZFxuICogQHRlbXBsYXRlIE0gLSBUeXBlIGV4dGVuZGluZyBNb2RlbFxuICogQHRlbXBsYXRlIFIgLSBUeXBlIGV4dGVuZGluZyBOYW5vUmVwb3NpdG9yeTxNPlxuICogQHRlbXBsYXRlIFYgLSBUeXBlIGV4dGVuZGluZyBSZWxhdGlvbnNNZXRhZGF0YVxuICogQHBhcmFtIHtSfSB0aGlzIC0gVGhlIHJlcG9zaXRvcnkgaW5zdGFuY2VcbiAqIEBwYXJhbSB7RmFicmljQ29udHJhY3RDb250ZXh0fSBjb250ZXh0IC0gVGhlIG9wZXJhdGlvbiBjb250ZXh0IGNvbnRhaW5pbmcgdXNlciBpbmZvcm1hdGlvblxuICogQHBhcmFtIHtWfSBkYXRhIC0gVGhlIHJlbGF0aW9uIG1ldGFkYXRhXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIHByb3BlcnR5IGtleSB0byBzZXQgd2l0aCB0aGUgdXNlcm5hbWVcbiAqIEBwYXJhbSB7TX0gbW9kZWwgLSBUaGUgbW9kZWwgaW5zdGFuY2UgYmVpbmcgY3JlYXRlZCBvciB1cGRhdGVkXG4gKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVcbiAqIEBmdW5jdGlvbiBjcmVhdGVkQnlPbkZhYnJpY0NyZWF0ZVVwZGF0ZVxuICogQG1lbWJlck9mIG1vZHVsZTpmYWJyaWMuY29udHJhY3RzXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IEYgYXMgY3JlYXRlZEJ5T25OYW5vQ3JlYXRlVXBkYXRlXG4gKiAgIHBhcnRpY2lwYW50IEMgYXMgQ29udGV4dFxuICogICBwYXJ0aWNpcGFudCBNIGFzIE1vZGVsXG4gKiAgIEYtPj5DOiBnZXQoXCJ1c2VyXCIpXG4gKiAgIEMtLT4+RjogdXNlciBvYmplY3RcbiAqICAgRi0+Pk06IHNldCBrZXkgdG8gdXNlci5uYW1lXG4gKiAgIE5vdGUgb3ZlciBGOiBJZiBubyB1c2VyIGluIGNvbnRleHRcbiAqICAgRi0tPj5GOiB0aHJvdyBVbnN1cHBvcnRlZEVycm9yXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVkQnlPbkZhYnJpY0NyZWF0ZVVwZGF0ZTxcbiAgTSBleHRlbmRzIE1vZGVsLFxuICBSIGV4dGVuZHMgRmFicmljQ29udHJhY3RSZXBvc2l0b3J5PE0+LFxuICBWIGV4dGVuZHMgUmVsYXRpb25zTWV0YWRhdGEsXG4+KFxuICB0aGlzOiBSLFxuICBjb250ZXh0OiBDb250ZXh0T2Y8Uj4sXG4gIGRhdGE6IFYsXG4gIGtleToga2V5b2YgTSxcbiAgbW9kZWw6IE1cbik6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGNvbnN0IHVzZXIgPSBjb250ZXh0LmdldChcImlkZW50aXR5XCIpIGFzIENsaWVudElkZW50aXR5O1xuICAgIG1vZGVsW2tleV0gPSB1c2VyLmdldElEKCkgYXMgTVt0eXBlb2Yga2V5XTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcbiAgICAgIFwiTm8gVXNlciBmb3VuZCBpbiBjb250ZXh0LiBQbGVhc2UgcHJvdmlkZSBhIHVzZXIgaW4gdGhlIGNvbnRleHRcIlxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQWRhcHRlciBmb3IgSHlwZXJsZWRnZXIgRmFicmljIGNoYWluY29kZSBzdGF0ZSBkYXRhYmFzZSBvcGVyYXRpb25zXG4gKiBAc3VtbWFyeSBQcm92aWRlcyBhIENvdWNoREItbGlrZSBpbnRlcmZhY2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIEZhYnJpYyBzdGF0ZSBkYXRhYmFzZSBmcm9tIHdpdGhpbiBhIGNoYWluY29kZSBjb250cmFjdFxuICogQHRlbXBsYXRlIHZvaWQgLSBObyBjb25maWd1cmF0aW9uIG5lZWRlZCBmb3IgY29udHJhY3QgYWRhcHRlclxuICogQHRlbXBsYXRlIEZhYnJpY0NvbnRyYWN0RmxhZ3MgLSBGbGFncyBzcGVjaWZpYyB0byBGYWJyaWMgY29udHJhY3Qgb3BlcmF0aW9uc1xuICogQHRlbXBsYXRlIEZhYnJpY0NvbnRyYWN0Q29udGV4dCAtIENvbnRleHQgdHlwZSBmb3IgRmFicmljIGNvbnRyYWN0IG9wZXJhdGlvbnNcbiAqIEBjbGFzcyBGYWJyaWNDb250cmFjdEFkYXB0ZXJcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBhIEZhYnJpYyBjaGFpbmNvZGUgY29udHJhY3QgY2xhc3NcbiAqIGltcG9ydCB7IEZhYnJpY0NvbnRyYWN0QWRhcHRlciB9IGZyb20gJ0BkZWNhZi10cy9mb3ItZmFicmljJztcbiAqXG4gKiBleHBvcnQgY2xhc3MgTXlDb250cmFjdCBleHRlbmRzIENvbnRyYWN0IHtcbiAqICAgcHJpdmF0ZSBhZGFwdGVyID0gbmV3IEZhYnJpY0NvbnRyYWN0QWRhcHRlcigpO1xuICpcbiAqICAgQFRyYW5zYWN0aW9uKClcbiAqICAgYXN5bmMgY3JlYXRlQXNzZXQoY3R4OiBDb250ZXh0LCBpZDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAqICAgICBjb25zdCBtb2RlbCA9IHsgaWQsIGRhdGEsIHRpbWVzdGFtcDogRGF0ZS5ub3coKSB9O1xuICogICAgIGF3YWl0IHRoaXMuYWRhcHRlci5jcmVhdGUoJ2Fzc2V0cycsIGlkLCBtb2RlbCwge30sIHsgc3R1YjogY3R4LnN0dWIgfSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDb250cmFjdFxuICogICBwYXJ0aWNpcGFudCBGYWJyaWNDb250cmFjdEFkYXB0ZXJcbiAqICAgcGFydGljaXBhbnQgU3R1YlxuICogICBwYXJ0aWNpcGFudCBTdGF0ZURCXG4gKlxuICogICBDb250cmFjdC0+PkZhYnJpY0NvbnRyYWN0QWRhcHRlcjogY3JlYXRlKHRhYmxlTmFtZSwgaWQsIG1vZGVsLCB0cmFuc2llbnQsIGN0eClcbiAqICAgRmFicmljQ29udHJhY3RBZGFwdGVyLT4+RmFicmljQ29udHJhY3RBZGFwdGVyOiBTZXJpYWxpemUgbW9kZWwgdG8gSlNPTlxuICogICBGYWJyaWNDb250cmFjdEFkYXB0ZXItPj5TdHViOiBwdXRTdGF0ZShpZCwgc2VyaWFsaXplZERhdGEpXG4gKiAgIFN0dWItPj5TdGF0ZURCOiBXcml0ZSBkYXRhXG4gKiAgIFN0YXRlREItLT4+U3R1YjogU3VjY2Vzc1xuICogICBTdHViLS0+PkZhYnJpY0NvbnRyYWN0QWRhcHRlcjogU3VjY2Vzc1xuICogICBGYWJyaWNDb250cmFjdEFkYXB0ZXItLT4+Q29udHJhY3Q6IG1vZGVsXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWJyaWNDb250cmFjdEFkYXB0ZXIgZXh0ZW5kcyBDb3VjaERCQWRhcHRlcjxcbiAgYW55LFxuICB2b2lkLFxuICBGYWJyaWNDb250cmFjdENvbnRleHRcbj4ge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0Q2xpZW50KCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFwiQ2xpZW50IGlzIG5vdCBzdXBwb3J0ZWQgaW4gRmFicmljIGNvbnRyYWN0c1wiKTtcbiAgfVxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRleHQgZGVjb2RlciBmb3IgY29udmVydGluZyBiaW5hcnkgZGF0YSB0byBzdHJpbmdzXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyB0ZXh0RGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcihcInV0ZjhcIik7XG5cbiAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBzZXJpYWxpemVyID0gbmV3IFNpbXBsZURldGVybWluaXN0aWNTZXJpYWxpemVyKCk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb250ZXh0IGNvbnN0cnVjdG9yIGZvciB0aGlzIGFkYXB0ZXJcbiAgICogQHN1bW1hcnkgT3ZlcnJpZGVzIHRoZSBiYXNlIENvbnRleHQgY29uc3RydWN0b3Igd2l0aCBGYWJyaWNDb250cmFjdENvbnRleHRcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXQgQ29udGV4dCgpOiBDb25zdHJ1Y3RvcjxGYWJyaWNDb250cmFjdENvbnRleHQ+IHtcbiAgICByZXR1cm4gRmFicmljQ29udHJhY3RDb250ZXh0O1xuICB9XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgcmVwb3NpdG9yeSBjb25zdHJ1Y3RvciBmb3IgdGhpcyBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgdGhlIEZhYnJpY0NvbnRyYWN0UmVwb3NpdG9yeSBjb25zdHJ1Y3RvciBmb3IgY3JlYXRpbmcgcmVwb3NpdG9yaWVzXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVHlwZSBleHRlbmRpbmcgTW9kZWxcbiAgICogQHJldHVybiB7Q29uc3RydWN0b3I8UmVwb3NpdG9yeTxNLCBNYW5nb1F1ZXJ5LCBGYWJyaWNDb250cmFjdEFkYXB0ZXIsIEZhYnJpY0NvbnRyYWN0RmxhZ3MsIEZhYnJpY0NvbnRyYWN0Q29udGV4dD4+fSBUaGUgcmVwb3NpdG9yeSBjb25zdHJ1Y3RvclxuICAgKi9cbiAgb3ZlcnJpZGUgcmVwb3NpdG9yeTxcbiAgICBSIGV4dGVuZHMgUmVwb3NpdG9yeTxcbiAgICAgIGFueSxcbiAgICAgIEFkYXB0ZXI8YW55LCB2b2lkLCBNYW5nb1F1ZXJ5LCBDb250ZXh0PEZhYnJpY0NvbnRyYWN0RmxhZ3M+PlxuICAgID4sXG4gID4oKTogQ29uc3RydWN0b3I8Uj4ge1xuICAgIHJldHVybiBGYWJyaWNDb250cmFjdFJlcG9zaXRvcnkgYXMgdW5rbm93biBhcyBDb25zdHJ1Y3RvcjxSPjtcbiAgfVxuXG4gIG92ZXJyaWRlIFBhZ2luYXRvcjxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIHF1ZXJ5OiBNYW5nb1F1ZXJ5LFxuICAgIHNpemU6IG51bWJlcixcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT5cbiAgKTogUGFnaW5hdG9yPE0sIGFueSwgTWFuZ29RdWVyeT4ge1xuICAgIHJldHVybiBuZXcgRmFicmljQ29udHJhY3RQYWdpbmF0b3IodGhpcywgcXVlcnksIHNpemUsIGNsYXp6KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIFNlcXVlbmNlKG9wdGlvbnM6IFNlcXVlbmNlT3B0aW9ucyk6IFByb21pc2U8U2VxdWVuY2U+IHtcbiAgICByZXR1cm4gbmV3IEZhYnJpY0NvbnRyYWN0U2VxdWVuY2Uob3B0aW9ucywgdGhpcyBhcyBhbnkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IEZhYnJpY0NvbnRyYWN0QWRhcHRlciBpbnN0YW5jZVxuICAgKiBAc3VtbWFyeSBJbml0aWFsaXplcyBhbiBhZGFwdGVyIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBGYWJyaWMgc3RhdGUgZGF0YWJhc2VcbiAgICogQHBhcmFtIHt2b2lkfSBzY29wZSAtIE5vdCB1c2VkIGluIHRoaXMgYWRhcHRlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FsaWFzXSAtIE9wdGlvbmFsIGFsaWFzIGZvciB0aGUgYWRhcHRlciBpbnN0YW5jZVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IHZvaWQsIGFsaWFzPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIEZhYnJpY0ZsYXZvdXIsIGFsaWFzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvcihjb25maWc6IFBhcnRpYWw8YW55PiwgLi4uYXJnczogYW55KTogdHlwZW9mIHRoaXMge1xuICAgIHJldHVybiBzdXBlci5mb3IoY29uZmlnLCAuLi5hcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIHJlY29yZCBpbiB0aGUgc3RhdGUgZGF0YWJhc2VcbiAgICogQHN1bW1hcnkgU2VyaWFsaXplcyBhIG1vZGVsIGFuZCBzdG9yZXMgaXQgaW4gdGhlIEZhYnJpYyBzdGF0ZSBkYXRhYmFzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlL2NvbGxlY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGlkIC0gVGhlIHJlY29yZCBpZGVudGlmaWVyXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gbW9kZWwgLSBUaGUgcmVjb3JkIGRhdGFcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSB0cmFuc2llbnQgLSBUcmFuc2llbnQgZGF0YSAobm90IHVzZWQgaW4gdGhpcyBpbXBsZW1lbnRhdGlvbilcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLCBpbmNsdWRpbmcgdGhlIGNoYWluY29kZSBzdHViIGFuZCBsb2dnZXJcbiAgICogQHJldHVybiB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGNyZWF0ZWQgcmVjb3JkXG4gICAqL1xuICBvdmVycmlkZSBhc3luYyBjcmVhdGU8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPENvbnRleHQ8RmFicmljQ29udHJhY3RGbGFncz4+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IHsgY3R4LCBsb2cgfSA9IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMuY3JlYXRlKTtcbiAgICBsb2cuaW5mbyhgaW4gQURBUFRFUiBjcmVhdGUgd2l0aCBhcmdzICR7YXJnc31gKTtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuICAgIHRyeSB7XG4gICAgICBsb2cuaW5mbyhgYWRkaW5nIGVudHJ5IHRvICR7dGFibGVOYW1lfSB0YWJsZSB3aXRoIHBrICR7aWR9YCk7XG4gICAgICBjb25zdCBjb21wb3NlZEtleSA9IGN0eC5zdHViLmNyZWF0ZUNvbXBvc2l0ZUtleSh0YWJsZU5hbWUsIFtTdHJpbmcoaWQpXSk7XG4gICAgICBtb2RlbCA9IGF3YWl0IHRoaXMucHV0U3RhdGUoY29tcG9zZWRLZXksIG1vZGVsLCBjdHgpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWRzIGEgcmVjb3JkIGZyb20gdGhlIHN0YXRlIGRhdGFiYXNlXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyBhbmQgZGVzZXJpYWxpemVzIGEgcmVjb3JkIGZyb20gdGhlIEZhYnJpYyBzdGF0ZSBkYXRhYmFzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlL2NvbGxlY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGlkIC0gVGhlIHJlY29yZCBpZGVudGlmaWVyXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cywgaW5jbHVkaW5nIHRoZSBjaGFpbmNvZGUgc3R1YiBhbmQgbG9nZ2VyXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSByZXRyaWV2ZWQgcmVjb3JkXG4gICAqL1xuICBvdmVycmlkZSBhc3luYyByZWFkPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkOiBQcmltYXJ5S2V5VHlwZSxcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxDb250ZXh0PEZhYnJpY0NvbnRyYWN0RmxhZ3M+PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBjb25zdCB7IGN0eCwgbG9nIH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJlYWQpO1xuICAgIGxvZy5pbmZvKGBpbiBBREFQVEVSIHJlYWQgd2l0aCBhcmdzICR7YXJnc31gKTtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuXG4gICAgbGV0IG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb21wb3NlZEtleSA9IGN0eC5zdHViLmNyZWF0ZUNvbXBvc2l0ZUtleSh0YWJsZU5hbWUsIFtTdHJpbmcoaWQpXSk7XG4gICAgICBtb2RlbCA9IGF3YWl0IHRoaXMucmVhZFN0YXRlKGNvbXBvc2VkS2V5LCBjdHgpO1xuICAgICAgbW9kZWwgPSBhd2FpdCB0aGlzLm1lcmdlU2VncmVnYXRlZFJlYWRzKGN0eCwgY29tcG9zZWRLZXksIG1vZGVsKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIGEgcmVjb3JkIGluIHRoZSBzdGF0ZSBkYXRhYmFzZVxuICAgKiBAc3VtbWFyeSBTZXJpYWxpemVzIGEgbW9kZWwgYW5kIHVwZGF0ZXMgaXQgaW4gdGhlIEZhYnJpYyBzdGF0ZSBkYXRhYmFzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlL2NvbGxlY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGlkIC0gVGhlIHJlY29yZCBpZGVudGlmaWVyXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gbW9kZWwgLSBUaGUgdXBkYXRlZCByZWNvcmQgZGF0YVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IHRyYW5zaWVudCAtIFRyYW5zaWVudCBkYXRhIChub3QgdXNlZCBpbiB0aGlzIGltcGxlbWVudGF0aW9uKVxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMsIGluY2x1ZGluZyB0aGUgY2hhaW5jb2RlIHN0dWIgYW5kIGxvZ2dlclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgdXBkYXRlZCByZWNvcmRcbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZTxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIGNsYXp6OiBDb25zdHJ1Y3RvcjxNPixcbiAgICBpZDogUHJpbWFyeUtleVR5cGUsXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8Q29udGV4dDxGYWJyaWNDb250cmFjdEZsYWdzPj5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgeyBjdHgsIGxvZyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy51cGRhdGUpO1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG5cbiAgICB0cnkge1xuICAgICAgbG9nLnZlcmJvc2UoYHVwZGF0aW5nIGVudHJ5IHRvICR7dGFibGVOYW1lfSB0YWJsZSB3aXRoIHBrICR7aWR9YCk7XG4gICAgICBjb25zdCBjb21wb3NlZEtleSA9IGN0eC5zdHViLmNyZWF0ZUNvbXBvc2l0ZUtleSh0YWJsZU5hbWUsIFtTdHJpbmcoaWQpXSk7XG4gICAgICBtb2RlbCA9IGF3YWl0IHRoaXMucHV0U3RhdGUoY29tcG9zZWRLZXksIG1vZGVsLCBjdHgpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlbGV0ZXMgYSByZWNvcmQgZnJvbSB0aGUgc3RhdGUgZGF0YWJhc2VcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIGEgcmVjb3JkIGFuZCB0aGVuIHJlbW92ZXMgaXQgZnJvbSB0aGUgRmFicmljIHN0YXRlIGRhdGFiYXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUvY29sbGVjdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlcn0gaWQgLSBUaGUgcmVjb3JkIGlkZW50aWZpZXIgdG8gZGVsZXRlXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cywgaW5jbHVkaW5nIHRoZSBjaGFpbmNvZGUgc3R1YiBhbmQgbG9nZ2VyXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBkZWxldGVkIHJlY29yZFxuICAgKi9cbiAgYXN5bmMgZGVsZXRlPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkOiBQcmltYXJ5S2V5VHlwZSxcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxDb250ZXh0PEZhYnJpY0NvbnRyYWN0RmxhZ3M+PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBjb25zdCB7IGN0eCwgbG9nLCBjdHhBcmdzIH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLmRlbGV0ZSk7XG4gICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICBsZXQgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbXBvc2VkS2V5ID0gY3R4LnN0dWIuY3JlYXRlQ29tcG9zaXRlS2V5KHRhYmxlTmFtZSwgW1N0cmluZyhpZCldKTtcbiAgICAgIG1vZGVsID0gYXdhaXQgdGhpcy5yZWFkKGNsYXp6LCBpZCwgLi4uY3R4QXJncyk7XG4gICAgICBsb2cudmVyYm9zZShgZGVsZXRpbmcgZW50cnkgd2l0aCBwayAke2lkfSBmcm9tICR7dGFibGVOYW1lfSB0YWJsZWApO1xuICAgICAgYXdhaXQgdGhpcy5kZWxldGVTdGF0ZShjb21wb3NlZEtleSwgY3R4KTtcbiAgICAgIGF3YWl0IHRoaXMuZGVsZXRlU2VncmVnYXRlZENvbGxlY3Rpb25zKGN0eCwgY29tcG9zZWRLZXkpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZGVsZXRlU3RhdGUoaWQ6IHN0cmluZywgY29udGV4dDogRmFicmljQ29udHJhY3RDb250ZXh0KSB7XG4gICAgY29uc3QgeyBjdHggfSA9IHRoaXMubG9nQ3R4KFtjb250ZXh0XSwgdGhpcy5kZWxldGVTdGF0ZSk7XG4gICAgY29uc3QgY29sbGVjdGlvbiA9IGN0eC5nZXRPclVuZGVmaW5lZChcInNlZ3JlZ2F0ZWRcIikgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmIChjb2xsZWN0aW9uKSBhd2FpdCBjdHguc3R1Yi5kZWxldGVQcml2YXRlRGF0YShjb2xsZWN0aW9uLCBpZCk7XG4gICAgZWxzZSBhd2FpdCBjdHguc3R1Yi5kZWxldGVTdGF0ZShpZCk7XG4gIH1cblxuICBmb3JQcml2YXRlKGNvbGxlY3Rpb246IHN0cmluZyk6IEZhYnJpY0NvbnRyYWN0QWRhcHRlciB7XG4gICAgY29uc3QgdG9PdmVycmlkZSA9IFtcbiAgICAgIHRoaXMucHV0U3RhdGUsXG4gICAgICB0aGlzLnJlYWRTdGF0ZSxcbiAgICAgIHRoaXMuZGVsZXRlU3RhdGUsXG4gICAgICB0aGlzLnF1ZXJ5UmVzdWx0LFxuICAgICAgdGhpcy5xdWVyeVJlc3VsdFBhZ2luYXRlZCxcbiAgICBdLm1hcCgoZm4pID0+IGZuLm5hbWUpO1xuICAgIHJldHVybiBuZXcgUHJveHkodGhpcywge1xuICAgICAgZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpIHtcbiAgICAgICAgaWYgKCF0b092ZXJyaWRlLmluY2x1ZGVzKHByb3AgYXMgc3RyaW5nKSlcbiAgICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgIHJldHVybiBuZXcgUHJveHkoKHRhcmdldCBhcyBhbnkpW3Byb3BdLCB7XG4gICAgICAgICAgYXN5bmMgYXBwbHkoZm4sIHRoaXNBcmcsIGFyZ3NMaXN0KSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHByb3ApIHtcbiAgICAgICAgICAgICAgY2FzZSBcInB1dFN0YXRlXCI6IHtcbiAgICAgICAgICAgICAgICAvLyBwdXRTdGF0ZSBzaWduYXR1cmU6IChpZDogc3RyaW5nLCBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PiwgY3R4OiBGYWJyaWNDb250cmFjdENvbnRleHQpXG4gICAgICAgICAgICAgICAgY29uc3QgW2lkLCBtb2RlbCwgY3R4XSA9IGFyZ3NMaXN0O1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgIEZhYnJpY0NvbnRyYWN0QWRhcHRlci5zZXJpYWxpemVyLnNlcmlhbGl6ZShcbiAgICAgICAgICAgICAgICAgICAgbW9kZWwgYXMgTW9kZWwsXG4gICAgICAgICAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBhd2FpdCBjdHguc3R1Yi5wdXRQcml2YXRlRGF0YShjb2xsZWN0aW9uLCBpZC50b1N0cmluZygpLCBkYXRhKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbW9kZWw7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2FzZSBcImRlbGV0ZVN0YXRlXCI6IHtcbiAgICAgICAgICAgICAgICAvLyBkZWxldGVTdGF0ZSBzaWduYXR1cmU6IChpZDogc3RyaW5nLCBjb250ZXh0OiBGYWJyaWNDb250cmFjdENvbnRleHQpXG4gICAgICAgICAgICAgICAgY29uc3QgW2lkLCBjdHhdID0gYXJnc0xpc3Q7XG4gICAgICAgICAgICAgICAgYXdhaXQgY3R4LnN0dWIuZGVsZXRlUHJpdmF0ZURhdGEoY29sbGVjdGlvbiwgaWQudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNhc2UgXCJyZWFkU3RhdGVcIjoge1xuICAgICAgICAgICAgICAgIC8vIHJlYWRTdGF0ZSBzaWduYXR1cmU6IChpZDogc3RyaW5nLCBjdHg6IEZhYnJpY0NvbnRyYWN0Q29udGV4dClcbiAgICAgICAgICAgICAgICBjb25zdCBbaWQsIGN0eF0gPSBhcmdzTGlzdDtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgY3R4LnN0dWIuZ2V0UHJpdmF0ZURhdGEoY29sbGVjdGlvbiwgaWQpO1xuICAgICAgICAgICAgICAgIGlmICghZGF0YSkgcmV0dXJuIFwiXCI7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBGYWJyaWNDb250cmFjdEFkYXB0ZXIuc2VyaWFsaXplci5kZXNlcmlhbGl6ZShcbiAgICAgICAgICAgICAgICAgICAgZGF0YS50b1N0cmluZyhcInV0ZjhcIilcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS50b1N0cmluZyhcInV0ZjhcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNhc2UgXCJxdWVyeVJlc3VsdFwiOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgW3N0dWIsIHJhd0lucHV0XSA9IGFyZ3NMaXN0O1xuICAgICAgICAgICAgICAgIHJldHVybiBzdHViLmdldFByaXZhdGVEYXRhUXVlcnlSZXN1bHQoY29sbGVjdGlvbiwgcmF3SW5wdXQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNhc2UgXCJxdWVyeVJlc3VsdFBhZ2luYXRlZFwiOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgW3N0dWIsIHJhd0lucHV0LCBsaW1pdCwgc2tpcF0gPSBhcmdzTGlzdDtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVyYXRvciA9IGF3YWl0IChcbiAgICAgICAgICAgICAgICAgIHN0dWIgYXMgQ2hhaW5jb2RlU3R1YlxuICAgICAgICAgICAgICAgICkuZ2V0UHJpdmF0ZURhdGFRdWVyeVJlc3VsdChjb2xsZWN0aW9uLCByYXdJbnB1dCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0czogYW55W10gPSBbXTtcbiAgICAgICAgICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICAgICAgICAgIGxldCByZWFjaGVkQm9va21hcmsgPSBza2lwID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICAgICAgICAgIGxldCBsYXN0S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgICAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBpdGVyYXRvci5uZXh0KCk7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChyZXMudmFsdWUgJiYgcmVzLnZhbHVlLnZhbHVlLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gcmVzLnZhbHVlLmtleTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkVmFsdWUgPSAocmVzLnZhbHVlLnZhbHVlIGFzIGFueSkudG9TdHJpbmcoXG4gICAgICAgICAgICAgICAgICAgICAgXCJ1dGY4XCJcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGEgc2tpcCwgc2tpcCB1bnRpbCB3ZSByZWFjaCBpdFxuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWNoZWRCb29rbWFyaykge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWNvcmRLZXkgPT09IHNraXA/LnRvU3RyaW5nKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWNoZWRCb29rbWFyayA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICBLZXk6IHJlY29yZEtleSxcbiAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQ6IEpTT04ucGFyc2UocmVjb3JkVmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgbGFzdEtleSA9IHJlY29yZEtleTtcbiAgICAgICAgICAgICAgICAgICAgY291bnQrKztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPj0gbGltaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBpdGVyYXRvci5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRvcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0cyBhcyB1bmtub3duIGFzIEl0ZXJhdG9ycy5TdGF0ZVF1ZXJ5SXRlcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaGVkUmVjb3Jkc0NvdW50OiByZXN1bHRzLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9va21hcms6IGxhc3RLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kb25lKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGl0ZXJhdG9yLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgaXRlcmF0b3I6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzIGFzIHVua25vd24gYXMgSXRlcmF0b3JzLlN0YXRlUXVlcnlJdGVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hlZFJlY29yZHNDb3VudDogcmVzdWx0cy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBib29rbWFyazogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgICAgICAgYFVuc3VwcG9ydGVkIG1ldGhvZCBvdmVycmlkZSAke1N0cmluZyhwcm9wKX1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcHV0U3RhdGUoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBjdHg6IEZhYnJpY0NvbnRyYWN0Q29udGV4dFxuICApIHtcbiAgICBsZXQgZGF0YTogQnVmZmVyO1xuXG4gICAgY29uc3QgeyBsb2cgfSA9IHRoaXMubG9nQ3R4KFtjdHhdLCB0aGlzLnB1dFN0YXRlKTtcbiAgICB0cnkge1xuICAgICAgZGF0YSA9IEJ1ZmZlci5mcm9tKFxuICAgICAgICBGYWJyaWNDb250cmFjdEFkYXB0ZXIuc2VyaWFsaXplci5zZXJpYWxpemUobW9kZWwgYXMgTW9kZWwsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHNlcmlhbGl6ZSByZWNvcmQgd2l0aCBpZCAke2lkfTogJHtlfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY29sbGVjdGlvbiA9IGN0eC5nZXRPclVuZGVmaW5lZChcInNlZ3JlZ2F0ZWRcIikgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmIChjb2xsZWN0aW9uKSB7XG4gICAgICBhd2FpdCBjdHguc3R1Yi5wdXRQcml2YXRlRGF0YShjb2xsZWN0aW9uLCBpZC50b1N0cmluZygpLCBkYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgY3R4LnN0dWIucHV0U3RhdGUoaWQudG9TdHJpbmcoKSwgZGF0YSk7XG4gICAgICBhd2FpdCB0aGlzLmZsdXNoU2VncmVnYXRlZFdyaXRlcyhjdHgsIGlkKTtcbiAgICB9XG5cbiAgICBsb2cuc2lsbHkoXG4gICAgICBgc3RhdGUgc3RvcmVkJHtjb2xsZWN0aW9uID8gYCBpbiAke2NvbGxlY3Rpb259IGNvbGxlY3Rpb25gIDogXCJcIn0gdW5kZXIgaWQgJHtpZH1gXG4gICAgKTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZsdXNoU2VncmVnYXRlZFdyaXRlcyhcbiAgICBjdHg6IEZhYnJpY0NvbnRyYWN0Q29udGV4dCxcbiAgICBpZDogc3RyaW5nXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHdyaXRlcyA9IGN0eC5nZXRPclVuZGVmaW5lZChcInNlZ3JlZ2F0ZVdyaXRlXCIpIGFzXG4gICAgICB8IFJlY29yZDxzdHJpbmcsIFNlZ3JlZ2F0ZWRNb2RlbDxhbnk+W10+XG4gICAgICB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIXdyaXRlcykgcmV0dXJuO1xuICAgIGZvciAoY29uc3QgW2NvbGxlY3Rpb24sIGVudHJpZXNdIG9mIE9iamVjdC5lbnRyaWVzKHdyaXRlcykpIHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gdGhpcy5idWlsZFNlZ3JlZ2F0ZWRQYXlsb2FkKGVudHJ5KTtcbiAgICAgICAgaWYgKCFwYXlsb2FkKSBjb250aW51ZTtcbiAgICAgICAgY29uc3QgcHJpdmF0ZUN0eCA9IGN0eC5vdmVycmlkZSh7XG4gICAgICAgICAgc2VncmVnYXRlZDogY29sbGVjdGlvbixcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IHRoaXMucHV0U3RhdGUoaWQsIHBheWxvYWQsIHByaXZhdGVDdHgpO1xuICAgICAgfVxuICAgIH1cbiAgICBjdHguY2FjaGUucmVtb3ZlKFwic2VncmVnYXRlV3JpdGVcIik7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkU2VncmVnYXRlZFBheWxvYWQoXG4gICAgZW50cnk6IFNlZ3JlZ2F0ZWRNb2RlbDxhbnk+XG4gICk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsIHtcbiAgICBjb25zdCBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgICBpZiAoZW50cnkubW9kZWwpIHtcbiAgICAgIHBheWxvYWRbXCIkJHRhYmxlXCJdID0gTW9kZWwudGFibGVOYW1lKFxuICAgICAgICBlbnRyeS5tb2RlbC5jb25zdHJ1Y3RvciBhcyBDb25zdHJ1Y3Rvcjxhbnk+XG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IG1lcmdlID0gKHNvdXJjZT86IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IHtcbiAgICAgIGlmICghc291cmNlKSByZXR1cm47XG4gICAgICBPYmplY3QuZW50cmllcyhzb3VyY2UpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG4gICAgICAgIHBheWxvYWRba2V5XSA9IHZhbHVlO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIG1lcmdlKGVudHJ5LnByaXZhdGVzKTtcbiAgICBtZXJnZShlbnRyeS5zaGFyZWQpO1xuICAgIG1lcmdlKGVudHJ5LnRyYW5zaWVudCk7XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKHBheWxvYWQpLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG1lcmdlU2VncmVnYXRlZFJlYWRzKFxuICAgIGN0eDogRmFicmljQ29udHJhY3RDb250ZXh0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgcmVhZHMgPSBjdHguZ2V0T3JVbmRlZmluZWQoXCJzZWdyZWdhdGVSZWFkXCIpIGFzIHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIGlmICghcmVhZHM/Lmxlbmd0aCkgcmV0dXJuIG1vZGVsO1xuICAgIGZvciAoY29uc3QgY29sbGVjdGlvbiBvZiByZWFkcykge1xuICAgICAgY29uc3QgcHJpdmF0ZVJlY29yZCA9IGF3YWl0IHRoaXMucmVhZFByaXZhdGVSZWNvcmQoY3R4LCBjb2xsZWN0aW9uLCBpZCk7XG4gICAgICBpZiAoIXByaXZhdGVSZWNvcmQpIGNvbnRpbnVlO1xuICAgICAgT2JqZWN0LmVudHJpZXMocHJpdmF0ZVJlY29yZCkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcbiAgICAgICAgbW9kZWxba2V5XSA9IHZhbHVlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVhZFByaXZhdGVSZWNvcmQoXG4gICAgY3R4OiBGYWJyaWNDb250cmFjdENvbnRleHQsXG4gICAgY29sbGVjdGlvbjogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGN0eC5zdHViLmdldFByaXZhdGVEYXRhKGNvbGxlY3Rpb24sIGlkKTtcbiAgICBpZiAoIWRhdGEpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgdGV4dCA9IGRhdGEudG9TdHJpbmcoKTtcbiAgICBpZiAoIXRleHQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBGYWJyaWNDb250cmFjdEFkYXB0ZXIuc2VyaWFsaXplci5kZXNlcmlhbGl6ZSh0ZXh0KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkZWxldGVTZWdyZWdhdGVkQ29sbGVjdGlvbnMoXG4gICAgY3R4OiBGYWJyaWNDb250cmFjdENvbnRleHQsXG4gICAgaWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZWFkcyA9IGN0eC5nZXRPclVuZGVmaW5lZChcInNlZ3JlZ2F0ZVJlYWRcIikgYXMgc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgaWYgKCFyZWFkcz8ubGVuZ3RoKSByZXR1cm47XG4gICAgZm9yIChjb25zdCBjb2xsZWN0aW9uIG9mIHJlYWRzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBjdHguc3R1Yi5kZWxldGVQcml2YXRlRGF0YShjb2xsZWN0aW9uLCBpZCk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gaWdub3JlIG1pc3NpbmcgcHJpdmF0ZSBkYXRhXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJlYWRTdGF0ZShpZDogc3RyaW5nLCBjdHg6IEZhYnJpY0NvbnRyYWN0Q29udGV4dCkge1xuICAgIGxldCByZXN1bHQ6IGFueTtcblxuICAgIGNvbnN0IHsgbG9nIH0gPSB0aGlzLmxvZ0N0eChbY3R4XSwgdGhpcy5yZWFkU3RhdGUpO1xuICAgIGxldCByZXM6IHN0cmluZztcbiAgICBjb25zdCBjb2xsZWN0aW9uID0gY3R4LmdldChcInNlZ3JlZ2F0ZWRcIik7XG4gICAgaWYgKGNvbGxlY3Rpb24pXG4gICAgICByZXMgPSAoXG4gICAgICAgIGF3YWl0IGN0eC5zdHViLmdldFByaXZhdGVEYXRhKGNvbGxlY3Rpb24sIGlkLnRvU3RyaW5nKCkpXG4gICAgICApLnRvU3RyaW5nKCk7XG4gICAgZWxzZSByZXMgPSAoYXdhaXQgY3R4LnN0dWIuZ2V0U3RhdGUoaWQudG9TdHJpbmcoKSkpLnRvU3RyaW5nKCk7XG5cbiAgICBpZiAoIXJlcylcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICBgUmVjb3JkIHdpdGggaWQgJHtpZH0ke2NvbGxlY3Rpb24gPyBgIGluICR7Y29sbGVjdGlvbn0gY29sbGVjdGlvbmAgOiBcIlwifSBub3QgZm91bmRgXG4gICAgICApO1xuICAgIGxvZy5zaWxseShcbiAgICAgIGBzdGF0ZSByZXRyaWV2ZWQgZnJvbSR7Y29sbGVjdGlvbiA/IGAgJHtjb2xsZWN0aW9ufSBjb2xsZWN0aW9uYCA6IFwiXCJ9IHVuZGVyIGlkICR7aWR9YFxuICAgICk7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9IEZhYnJpY0NvbnRyYWN0QWRhcHRlci5zZXJpYWxpemVyLmRlc2VyaWFsaXplKHJlcy50b1N0cmluZygpKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBGYWlsZWQgdG8gcGFyc2UgcmVjb3JkOiAke2V9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBxdWVyeVJlc3VsdChcbiAgICBzdHViOiBDaGFpbmNvZGVTdHViLFxuICAgIHJhd0lucHV0OiBhbnksXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8RmFicmljQ29udHJhY3RDb250ZXh0PlxuICApOiBQcm9taXNlPEl0ZXJhdG9ycy5TdGF0ZVF1ZXJ5SXRlcmF0b3I+IHtcbiAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5xdWVyeVJlc3VsdCk7XG4gICAgbGV0IHJlczogSXRlcmF0b3JzLlN0YXRlUXVlcnlJdGVyYXRvcjtcbiAgICBjb25zdCBjb2xsZWN0aW9uID0gY3R4LmdldChcInNlZ3JlZ2F0ZWRcIik7XG4gICAgaWYgKGNvbGxlY3Rpb24pXG4gICAgICByZXMgPSBhd2FpdCBjdHguc3R1Yi5nZXRQcml2YXRlRGF0YVF1ZXJ5UmVzdWx0KFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShyYXdJbnB1dClcbiAgICAgICk7XG4gICAgZWxzZSByZXMgPSBhd2FpdCBzdHViLmdldFF1ZXJ5UmVzdWx0KEpTT04uc3RyaW5naWZ5KHJhd0lucHV0KSk7XG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSb3dzSXRlcmF0b3IoXG4gICAgcm93czogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IEJ1ZmZlciB9PlxuICApOiBJdGVyYXRvcnMuU3RhdGVRdWVyeUl0ZXJhdG9yIHtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIHJldHVybiB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHR5cGVpbmcgb2YgaXRlcmF0b3I/XG4gICAgICBhc3luYyBuZXh0KCkge1xuICAgICAgICBpZiAoaW5kZXggPCByb3dzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaW5kZXgrK107XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiB7IGtleTogcm93LmtleSwgdmFsdWU6IHJvdy52YWx1ZSB9LFxuICAgICAgICAgICAgZG9uZTogZmFsc2UsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBkb25lOiB0cnVlIH07XG4gICAgICB9LFxuICAgICAgYXN5bmMgY2xvc2UoKSB7XG4gICAgICAgIC8vIG5vb3BcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBxdWVyeVJlc3VsdFBhZ2luYXRlZChcbiAgICBzdHViOiBDaGFpbmNvZGVTdHViLFxuICAgIHJhd0lucHV0OiBhbnksXG4gICAgbGltaXQ6IG51bWJlciA9IDI1MCxcbiAgICBwYWdlPzogbnVtYmVyLFxuICAgIGJvb2ttYXJrPzogc3RyaW5nIHwgbnVtYmVyLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8U3RhdGVRdWVyeVJlc3BvbnNlPEl0ZXJhdG9ycy5TdGF0ZVF1ZXJ5SXRlcmF0b3I+PiB7XG4gICAgY29uc3QgeyBjdHggfSA9IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMucmVhZFN0YXRlKTtcbiAgICBsZXQgcmVzOiBTdGF0ZVF1ZXJ5UmVzcG9uc2U8SXRlcmF0b3JzLlN0YXRlUXVlcnlJdGVyYXRvcj47XG4gICAgY29uc3QgY29sbGVjdGlvbiA9IGN0eC5nZXQoXCJzZWdyZWdhdGVkXCIpO1xuICAgIGlmIChjb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBjbG9uZWRJbnB1dCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmF3SW5wdXQpKTtcbiAgICAgIGNsb25lZElucHV0LnNlbGVjdG9yID0gY2xvbmVkSW5wdXQuc2VsZWN0b3IgfHwge307XG4gICAgICBpZiAoYm9va21hcmspIGNsb25lZElucHV0LnNlbGVjdG9yLl9pZCA9IHsgJGd0OiBib29rbWFyay50b1N0cmluZygpIH07XG4gICAgICBjb25zdCBsaW1pdFZhbHVlID1cbiAgICAgICAgdHlwZW9mIGxpbWl0ID09PSBcIm51bWJlclwiICYmIGxpbWl0ID4gMCA/IGxpbWl0IDogTnVtYmVyLk1BWF9WQUxVRTtcbiAgICAgIGNvbnN0IGl0ZXJhdG9yID0gYXdhaXQgc3R1Yi5nZXRQcml2YXRlRGF0YVF1ZXJ5UmVzdWx0KFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShjbG9uZWRJbnB1dClcbiAgICAgICk7XG4gICAgICBjb25zdCByb3dzOiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogQnVmZmVyIH0+ID0gW107XG4gICAgICBsZXQgbGFzdEtleSA9IFwiXCI7XG4gICAgICB3aGlsZSAocm93cy5sZW5ndGggPCBsaW1pdFZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHJlc1JvdyA9IGF3YWl0IGl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgaWYgKHJlc1Jvdy5kb25lKSBicmVhaztcbiAgICAgICAgaWYgKHJlc1Jvdy52YWx1ZSAmJiByZXNSb3cudmFsdWUudmFsdWUpIHtcbiAgICAgICAgICByb3dzLnB1c2goe1xuICAgICAgICAgICAga2V5OiByZXNSb3cudmFsdWUua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHJlc1Jvdy52YWx1ZS52YWx1ZSBhcyBCdWZmZXIsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgbGFzdEtleSA9IHJlc1Jvdy52YWx1ZS5rZXk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF3YWl0IGl0ZXJhdG9yLmNsb3NlKCk7XG4gICAgICByZXMgPSB7XG4gICAgICAgIGl0ZXJhdG9yOiB0aGlzLmNyZWF0ZVJvd3NJdGVyYXRvcihyb3dzKSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICBmZXRjaGVkUmVjb3Jkc0NvdW50OiByb3dzLmxlbmd0aCxcbiAgICAgICAgICBib29rbWFyazogcm93cy5sZW5ndGggPyBsYXN0S2V5IDogXCJcIixcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlXG4gICAgICByZXMgPSBhd2FpdCBzdHViLmdldFF1ZXJ5UmVzdWx0V2l0aFBhZ2luYXRpb24oXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHJhd0lucHV0KSxcbiAgICAgICAgbGltaXQsXG4gICAgICAgIGJvb2ttYXJrPy50b1N0cmluZygpXG4gICAgICApO1xuXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIHByb3RlY3RlZCBtZXJnZU1vZGVscyhyZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+W10pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCBleHRyYWN0ID0gKG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PlxuICAgICAgT2JqZWN0LmVudHJpZXMobW9kZWwpLnJlZHVjZSgoYWNjdW06IFJlY29yZDxzdHJpbmcsIGFueT4sIFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgIT09IFwidW5kZWZpbmVkXCIpIGFjY3VtW2tleV0gPSB2YWw7XG4gICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgIH0sIHt9KTtcblxuICAgIGxldCBmaW5hbE1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gcmVzdWx0cy5wb3AoKSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgZmluYWxNb2RlbCA9IE9iamVjdC5hc3NpZ24oe30sIGV4dHJhY3QoZmluYWxNb2RlbCksIGV4dHJhY3QocmVzKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbmFsTW9kZWw7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlY29kZXMgYmluYXJ5IGRhdGEgdG8gc3RyaW5nXG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGEgVWludDhBcnJheSB0byBhIHN0cmluZyB1c2luZyBVVEYtOCBlbmNvZGluZ1xuICAgKiBAcGFyYW0ge1VpbnQ4QXJyYXl9IGJ1ZmZlciAtIFRoZSBiaW5hcnkgZGF0YSB0byBkZWNvZGVcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgZGVjb2RlZCBzdHJpbmdcbiAgICovXG4gIHByb3RlY3RlZCBkZWNvZGUoYnVmZmVyOiBVaW50OEFycmF5KSB7XG4gICAgcmV0dXJuIEZhYnJpY0NvbnRyYWN0QWRhcHRlci50ZXh0RGVjb2Rlci5kZWNvZGUoYnVmZmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBvcGVyYXRpb24gZmxhZ3MgZm9yIEZhYnJpYyBjb250cmFjdCBvcGVyYXRpb25zXG4gICAqIEBzdW1tYXJ5IE1lcmdlcyBkZWZhdWx0IGZsYWdzIHdpdGggRmFicmljLXNwZWNpZmljIGNvbnRleHQgaW5mb3JtYXRpb25cbiAgICogQHRlbXBsYXRlIE0gLSBUeXBlIGV4dGVuZGluZyBNb2RlbFxuICAgKiBAcGFyYW0ge09wZXJhdGlvbktleXN9IG9wZXJhdGlvbiAtIFRoZSBvcGVyYXRpb24gYmVpbmcgcGVyZm9ybWVkXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IG1vZGVsIC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7UGFydGlhbDxGYWJyaWNDb250cmFjdEZsYWdzPn0gZmxhZ3MgLSBQYXJ0aWFsIGZsYWdzIHRvIG1lcmdlIHdpdGggZGVmYXVsdHNcbiAgICogQHBhcmFtIHtDdHh9IGN0eCAtIFRoZSBGYWJyaWMgY2hhaW5jb2RlIGNvbnRleHRcbiAgICogQHJldHVybiB7RmFicmljQ29udHJhY3RGbGFnc30gVGhlIG1lcmdlZCBmbGFnc1xuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGZsYWdzPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgb3BlcmF0aW9uOiBBbGxPcGVyYXRpb25LZXlzLFxuICAgIG1vZGVsOiBDb25zdHJ1Y3RvcjxNPiB8IHVuZGVmaW5lZCxcbiAgICBmbGFnczogUGFydGlhbDxGYWJyaWNDb250cmFjdEZsYWdzPiB8IEZhYnJpY0NvbnRyYWN0Q29udGV4dCB8IEN0eCB8IGFueVxuICApOiBQcm9taXNlPEZhYnJpY0NvbnRyYWN0RmxhZ3M+IHtcbiAgICBsZXQgYmFzZUZsYWdzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgc2VncmVnYXRlZDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgZmxhZ3NcbiAgICApO1xuICAgIGNvbnN0IHN0dWJGcm9tRmxhZ3MgPVxuICAgICAgKGZsYWdzIGFzIEZhYnJpY0NvbnRyYWN0Q29udGV4dCkuc3R1YiB8fCAoZmxhZ3MgYXMgQ3R4KS5zdHViO1xuICAgIGNvbnN0IGlkZW50aXR5RnJvbUZsYWdzID1cbiAgICAgIChmbGFncyBhcyBGYWJyaWNDb250cmFjdENvbnRleHQpLmlkZW50aXR5IHx8XG4gICAgICAoZmxhZ3MgYXMgQ3R4KS5jbGllbnRJZGVudGl0eTtcbiAgICBpZiAoc3R1YkZyb21GbGFncyAmJiBpZGVudGl0eUZyb21GbGFncykge1xuICAgICAgY29uc3QgdHhJZCA9IHN0dWJGcm9tRmxhZ3MuZ2V0VHhJRCgpO1xuICAgICAgT2JqZWN0LmFzc2lnbihiYXNlRmxhZ3MsIHtcbiAgICAgICAgc3R1Yjogc3R1YkZyb21GbGFncyxcbiAgICAgICAgaWRlbnRpdHk6IGlkZW50aXR5RnJvbUZsYWdzLFxuICAgICAgICBjZXJ0OiBpZGVudGl0eUZyb21GbGFncy5nZXRJREJ5dGVzKCkudG9TdHJpbmcoKSxcbiAgICAgICAgcm9sZXM6IGlkZW50aXR5RnJvbUZsYWdzLmdldEF0dHJpYnV0ZVZhbHVlKFwicm9sZXNcIiksXG4gICAgICAgIGxvZ2dlcjogTG9nZ2luZy5mb3IoXG4gICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxvZ0xldmVsOiBmYWxzZSxcbiAgICAgICAgICAgIHRpbWVzdGFtcDogZmFsc2UsXG4gICAgICAgICAgICBjb3JyZWxhdGlvbklkOiB0eElkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmxhZ3NcbiAgICAgICAgKSxcbiAgICAgICAgY29ycmVsYXRpb25JZDogdHhJZCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBiYXNlRmxhZ3MgPSBPYmplY3QuYXNzaWduKGJhc2VGbGFncywgZmxhZ3MgfHwge30pO1xuICAgIH1cblxuICAgIHJldHVybiAoYXdhaXQgc3VwZXIuZmxhZ3MoXG4gICAgICBvcGVyYXRpb24sXG4gICAgICBtb2RlbCxcbiAgICAgIGJhc2VGbGFncyBhcyBhbnlcbiAgICApKSBhcyBGYWJyaWNDb250cmFjdEZsYWdzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGFuIGluZGV4IGZvciBhIG1vZGVsXG4gICAqIEBzdW1tYXJ5IFRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgRmFicmljIGNvbnRyYWN0cyBhbmQgcmV0dXJucyBhIHJlc29sdmVkIHByb21pc2VcbiAgICogQHRlbXBsYXRlIE0gLSBUeXBlIGV4dGVuZGluZyBNb2RlbFxuICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBtb2RlbHMgLSBUaGUgbW9kZWwgY29uc3RydWN0b3JcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUHJvbWlzZSB0aGF0IHJlc29sdmVzIGltbWVkaWF0ZWx5XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHByb3RlY3RlZCBpbmRleDxNPihtb2RlbHM6IENvbnN0cnVjdG9yPE0+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQcm9jZXNzZXMgcmVzdWx0cyBmcm9tIGEgc3RhdGUgcXVlcnkgaXRlcmF0b3JcbiAgICogQHN1bW1hcnkgSXRlcmF0ZXMgdGhyb3VnaCBxdWVyeSByZXN1bHRzIGFuZCBjb252ZXJ0cyB0aGVtIHRvIGEgc3RydWN0dXJlZCBmb3JtYXRcbiAgICogQHBhcmFtIHtMb2dnZXJ9IGxvZyAtIExvZ2dlciBpbnN0YW5jZSBmb3IgZGVidWdnaW5nXG4gICAqIEBwYXJhbSB7SXRlcmF0b3JzLlN0YXRlUXVlcnlJdGVyYXRvcn0gaXRlcmF0b3IgLSBUaGUgc3RhdGUgcXVlcnkgaXRlcmF0b3JcbiAgICogQHBhcmFtIHtib29sZWFufSBbaXNIaXN0b3J5PWZhbHNlXSAtIFdoZXRoZXIgdGhpcyBpcyBhIGhpc3RvcnkgcXVlcnlcbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnlbXT59IFByb21pc2UgcmVzb2x2aW5nIHRvIGFuIGFycmF5IG9mIHByb2Nlc3NlZCByZXN1bHRzXG4gICAqIEBtZXJtYWlkXG4gICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgKiAgIHBhcnRpY2lwYW50IENhbGxlclxuICAgKiAgIHBhcnRpY2lwYW50IFJlc3VsdEl0ZXJhdG9yXG4gICAqICAgcGFydGljaXBhbnQgSXRlcmF0b3JcbiAgICpcbiAgICogICBDYWxsZXItPj5SZXN1bHRJdGVyYXRvcjogcmVzdWx0SXRlcmF0b3IobG9nLCBpdGVyYXRvciwgaXNIaXN0b3J5KVxuICAgKiAgIGxvb3AgVW50aWwgZG9uZVxuICAgKiAgICAgUmVzdWx0SXRlcmF0b3ItPj5JdGVyYXRvcjogbmV4dCgpXG4gICAqICAgICBJdGVyYXRvci0tPj5SZXN1bHRJdGVyYXRvcjogeyB2YWx1ZSwgZG9uZSB9XG4gICAqICAgICBhbHQgSGFzIHZhbHVlXG4gICAqICAgICAgIFJlc3VsdEl0ZXJhdG9yLT4+UmVzdWx0SXRlcmF0b3I6IFByb2Nlc3MgdmFsdWUgYmFzZWQgb24gaXNIaXN0b3J5XG4gICAqICAgICAgIFJlc3VsdEl0ZXJhdG9yLT4+UmVzdWx0SXRlcmF0b3I6IEFkZCB0byByZXN1bHRzIGFycmF5XG4gICAqICAgICBlbmRcbiAgICogICBlbmRcbiAgICogICBSZXN1bHRJdGVyYXRvci0+Pkl0ZXJhdG9yOiBjbG9zZSgpXG4gICAqICAgUmVzdWx0SXRlcmF0b3ItLT4+Q2FsbGVyOiBhbGxSZXN1bHRzXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgcmVzdWx0SXRlcmF0b3IoXG4gICAgbG9nOiBMb2dnZXIsXG4gICAgaXRlcmF0b3I6IEl0ZXJhdG9ycy5TdGF0ZVF1ZXJ5SXRlcmF0b3IsXG4gICAgaXNIaXN0b3J5ID0gZmFsc2VcbiAgKSB7XG4gICAgY29uc3QgYWxsUmVzdWx0cyA9IFtdO1xuICAgIGxldCByZXM6IHsgdmFsdWU6IGFueTsgZG9uZTogYm9vbGVhbiB9ID0gYXdhaXQgaXRlcmF0b3IubmV4dCgpO1xuICAgIHdoaWxlICghcmVzLmRvbmUpIHtcbiAgICAgIGlmIChyZXMudmFsdWUgJiYgcmVzLnZhbHVlLnZhbHVlLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgbGV0IGpzb25SZXM6IGFueSA9IHt9O1xuICAgICAgICBsb2cuZGVidWcocmVzLnZhbHVlLnZhbHVlLnRvU3RyaW5nKFwidXRmOFwiKSk7XG4gICAgICAgIGlmIChpc0hpc3RvcnkgLyogJiYgaXNIaXN0b3J5ID09PSB0cnVlKi8pIHtcbiAgICAgICAgICBqc29uUmVzLlR4SWQgPSByZXMudmFsdWUudHhJZDtcbiAgICAgICAgICBqc29uUmVzLlRpbWVzdGFtcCA9IHJlcy52YWx1ZS50aW1lc3RhbXA7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGpzb25SZXMuVmFsdWUgPSBKU09OLnBhcnNlKHJlcy52YWx1ZS52YWx1ZS50b1N0cmluZyhcInV0ZjhcIikpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIGpzb25SZXMuVmFsdWUgPSByZXMudmFsdWUudmFsdWUudG9TdHJpbmcoXCJ1dGY4XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAganNvblJlcyA9IEpTT04ucGFyc2UocmVzLnZhbHVlLnZhbHVlLnRvU3RyaW5nKFwidXRmOFwiKSk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihlcnIpO1xuICAgICAgICAgICAganNvblJlcyA9IHJlcy52YWx1ZS52YWx1ZS50b1N0cmluZyhcInV0ZjhcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGFsbFJlc3VsdHMucHVzaChqc29uUmVzKTtcbiAgICAgIH1cbiAgICAgIHJlcyA9IGF3YWl0IGl0ZXJhdG9yLm5leHQoKTtcbiAgICB9XG4gICAgbG9nLmRlYnVnKGBDbG9zaW5nIGl0ZXJhdG9yIGFmdGVyICR7YWxsUmVzdWx0cy5sZW5ndGh9IHJlc3VsdHNgKTtcbiAgICBpdGVyYXRvci5jbG9zZSgpOyAvLyBwdXJwb3NlbHkgbm90IGF3YWl0LiBsZXQgaXRlcmF0b3IgY2xvc2Ugb24gaXRzIG93blxuICAgIHJldHVybiBhbGxSZXN1bHRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlcyBhIHJhdyBxdWVyeSBhZ2FpbnN0IHRoZSBzdGF0ZSBkYXRhYmFzZVxuICAgKiBAc3VtbWFyeSBQZXJmb3JtcyBhIHJpY2ggcXVlcnkgdXNpbmcgQ291Y2hEQiBzeW50YXggYWdhaW5zdCB0aGUgRmFicmljIHN0YXRlIGRhdGFiYXNlXG4gICAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHJldHVybiB0eXBlXG4gICAqIEBwYXJhbSB7TWFuZ29RdWVyeX0gcmF3SW5wdXQgLSBUaGUgTWFuZ28gUXVlcnkgdG8gZXhlY3V0ZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGRvY3NPbmx5IC0gV2hldGhlciB0byByZXR1cm4gb25seSBkb2N1bWVudHMgKG5vdCB1c2VkIGluIHRoaXMgaW1wbGVtZW50YXRpb24pXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cywgaW5jbHVkaW5nIHRoZSBjaGFpbmNvZGUgc3R1YiBhbmQgbG9nZ2VyXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Uj59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBxdWVyeSByZXN1bHRzXG4gICAqIEBtZXJtYWlkXG4gICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgKiAgIHBhcnRpY2lwYW50IENhbGxlclxuICAgKiAgIHBhcnRpY2lwYW50IEZhYnJpY0NvbnRyYWN0QWRhcHRlclxuICAgKiAgIHBhcnRpY2lwYW50IFN0dWJcbiAgICogICBwYXJ0aWNpcGFudCBTdGF0ZURCXG4gICAqXG4gICAqICAgQ2FsbGVyLT4+RmFicmljQ29udHJhY3RBZGFwdGVyOiByYXcocmF3SW5wdXQsIGRvY3NPbmx5LCBjdHgpXG4gICAqICAgRmFicmljQ29udHJhY3RBZGFwdGVyLT4+RmFicmljQ29udHJhY3RBZGFwdGVyOiBFeHRyYWN0IGxpbWl0IGFuZCBza2lwXG4gICAqICAgYWx0IFdpdGggcGFnaW5hdGlvblxuICAgKiAgICAgRmFicmljQ29udHJhY3RBZGFwdGVyLT4+U3R1YjogZ2V0UXVlcnlSZXN1bHRXaXRoUGFnaW5hdGlvbihxdWVyeSwgbGltaXQsIHNraXApXG4gICAqICAgZWxzZSBXaXRob3V0IHBhZ2luYXRpb25cbiAgICogICAgIEZhYnJpY0NvbnRyYWN0QWRhcHRlci0+PlN0dWI6IGdldFF1ZXJ5UmVzdWx0KHF1ZXJ5KVxuICAgKiAgIGVuZFxuICAgKiAgIFN0dWItPj5TdGF0ZURCOiBFeGVjdXRlIHF1ZXJ5XG4gICAqICAgU3RhdGVEQi0tPj5TdHViOiBJdGVyYXRvclxuICAgKiAgIFN0dWItLT4+RmFicmljQ29udHJhY3RBZGFwdGVyOiBJdGVyYXRvclxuICAgKiAgIEZhYnJpY0NvbnRyYWN0QWRhcHRlci0+PkZhYnJpY0NvbnRyYWN0QWRhcHRlcjogcmVzdWx0SXRlcmF0b3IobG9nLCBpdGVyYXRvcilcbiAgICogICBGYWJyaWNDb250cmFjdEFkYXB0ZXItLT4+Q2FsbGVyOiByZXN1bHRzXG4gICAqL1xuICBhc3luYyByYXc8UiwgRCBleHRlbmRzIGJvb2xlYW4+KFxuICAgIHJhd0lucHV0OiBNYW5nb1F1ZXJ5LFxuICAgIGRvY3NPbmx5OiBEID0gdHJ1ZSBhcyBELFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPEZhYnJpY0NvbnRyYWN0Q29udGV4dD5cbiAgKTogUHJvbWlzZTxSYXdSZXN1bHQ8UiwgRD4+IHtcbiAgICBjb25zdCB7IGxvZywgY3R4IH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJhdyk7XG5cbiAgICBjb25zdCB7IHNraXAsIGxpbWl0IH0gPSByYXdJbnB1dDtcbiAgICBsZXQgaXRlcmF0b3I6IEl0ZXJhdG9ycy5TdGF0ZVF1ZXJ5SXRlcmF0b3I7XG4gICAgY29uc3QgcmVzcCA9IHsgZG9jczogW10sIGJvb2ttYXJrOiB1bmRlZmluZWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkIH07XG4gICAgaWYgKGxpbWl0IHx8IHNraXApIHtcbiAgICAgIGRlbGV0ZSByYXdJbnB1dFtcImxpbWl0XCJdO1xuICAgICAgZGVsZXRlIHJhd0lucHV0W1wic2tpcFwiXTtcbiAgICAgIGxvZy5kZWJ1ZyhcbiAgICAgICAgYFJldHJpZXZpbmcgcGFnaW5hdGVkIGl0ZXJhdG9yOiBsaW1pdDogJHtsaW1pdH0vIHNraXA6ICR7c2tpcH1gXG4gICAgICApO1xuICAgICAgY29uc3QgcmVzcG9uc2U6IFN0YXRlUXVlcnlSZXNwb25zZTxJdGVyYXRvcnMuU3RhdGVRdWVyeUl0ZXJhdG9yPiA9XG4gICAgICAgIChhd2FpdCB0aGlzLnF1ZXJ5UmVzdWx0UGFnaW5hdGVkKFxuICAgICAgICAgIGN0eC5zdHViLFxuICAgICAgICAgIHJhd0lucHV0LFxuICAgICAgICAgIGxpbWl0IHx8IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgKHNraXAgYXMgYW55KT8udG9TdHJpbmcoKSxcbiAgICAgICAgICByYXdJbnB1dFtcImJvb2ttYXJrXCJdLFxuICAgICAgICAgIGN0eFxuICAgICAgICApKSBhcyBTdGF0ZVF1ZXJ5UmVzcG9uc2U8SXRlcmF0b3JzLlN0YXRlUXVlcnlJdGVyYXRvcj47XG4gICAgICByZXNwLmJvb2ttYXJrID0gcmVzcG9uc2UubWV0YWRhdGEuYm9va21hcms7XG4gICAgICBpdGVyYXRvciA9IHJlc3BvbnNlLml0ZXJhdG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZGVidWcoXCJSZXRyaWV2aW5nIGl0ZXJhdG9yXCIpO1xuICAgICAgaXRlcmF0b3IgPSAoYXdhaXQgdGhpcy5xdWVyeVJlc3VsdChcbiAgICAgICAgY3R4LnN0dWIsXG4gICAgICAgIHJhd0lucHV0LFxuICAgICAgICBjdHhcbiAgICAgICkpIGFzIEl0ZXJhdG9ycy5TdGF0ZVF1ZXJ5SXRlcmF0b3I7XG4gICAgfVxuICAgIGxvZy5kZWJ1ZyhcIkl0ZXJhdG9yIGFjcXVpcmVkXCIpO1xuXG4gICAgcmVzcC5kb2NzID0gKGF3YWl0IHRoaXMucmVzdWx0SXRlcmF0b3IobG9nLCBpdGVyYXRvcikpIGFzIGFueTtcbiAgICBsb2cuZGVidWcoXG4gICAgICBgcmV0dXJuaW5nICR7QXJyYXkuaXNBcnJheShyZXNwLmRvY3MpID8gcmVzcC5kb2NzLmxlbmd0aCA6IDF9IHJlc3VsdHNgXG4gICAgKTtcbiAgICBpZiAoZG9jc09ubHkpIHJldHVybiByZXNwLmRvY3MgYXMgYW55O1xuICAgIHJldHVybiByZXNwIGFzIGFueTtcbiAgfVxuXG4gIGFzeW5jIHZpZXc8Uj4oXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGRkb2M6IHN0cmluZyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgdmlld05hbWU6IHN0cmluZyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgb3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgLi4uX2FyZ3M6IENvbnRleHR1YWxBcmdzPEZhYnJpY0NvbnRyYWN0Q29udGV4dD5cbiAgKTogUHJvbWlzZTxWaWV3UmVzcG9uc2U8Uj4+IHtcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcbiAgICAgIFwiRmFicmljIGNvbnRyYWN0cyBkbyBub3Qgc3VwcG9ydCBDb3VjaERCIHZpZXdzLlwiXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIFN0YXRlbWVudDxNIGV4dGVuZHMgTW9kZWw+KCk6IEZhYnJpY1N0YXRlbWVudDxNLCBhbnk+IHtcbiAgICByZXR1cm4gbmV3IEZhYnJpY1N0YXRlbWVudCh0aGlzIGFzIGFueSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBjcmVhdGVBbGw8TSBleHRlbmRzIE1vZGVsPihcbiAgICB0YWJsZU5hbWU6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkOiBQcmltYXJ5S2V5VHlwZVtdLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+W10sXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8RmFicmljQ29udHJhY3RDb250ZXh0PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT5bXT4ge1xuICAgIGlmIChpZC5sZW5ndGggIT09IG1vZGVsLmxlbmd0aClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiSWRzIGFuZCBtb2RlbHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aFwiKTtcbiAgICBjb25zdCB7IGxvZywgY3R4QXJncyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5jcmVhdGVBbGwpO1xuICAgIGNvbnN0IHRhYmxlTGFiZWwgPSBNb2RlbC50YWJsZU5hbWUodGFibGVOYW1lKTtcbiAgICBsb2cuZGVidWcoYENyZWF0aW5nICR7aWQubGVuZ3RofSBlbnRyaWVzICR7dGFibGVMYWJlbH0gdGFibGVgKTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBpZC5tYXAoKGksIGNvdW50KSA9PiB0aGlzLmNyZWF0ZSh0YWJsZU5hbWUsIGksIG1vZGVsW2NvdW50XSwgLi4uY3R4QXJncykpXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZUFsbDxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIHRhYmxlTmFtZTogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlW10sXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT5bXSxcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxGYWJyaWNDb250cmFjdENvbnRleHQ+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55PltdPiB7XG4gICAgaWYgKGlkLmxlbmd0aCAhPT0gbW9kZWwubGVuZ3RoKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJJZHMgYW5kIG1vZGVscyBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoXCIpO1xuICAgIGNvbnN0IHsgbG9nLCBjdHhBcmdzIH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnVwZGF0ZUFsbCk7XG4gICAgY29uc3QgdGFibGVMYWJlbCA9IE1vZGVsLnRhYmxlTmFtZSh0YWJsZU5hbWUpO1xuICAgIGxvZy5kZWJ1ZyhgVXBkYXRpbmcgJHtpZC5sZW5ndGh9IGVudHJpZXMgJHt0YWJsZUxhYmVsfSB0YWJsZWApO1xuICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgIGlkLm1hcCgoaSwgY291bnQpID0+IHRoaXMudXBkYXRlKHRhYmxlTmFtZSwgaSwgbW9kZWxbY291bnRdLCAuLi5jdHhBcmdzKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBtb2RlbFxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGtcbiAgICogQHBhcmFtIGFyZ3NcbiAgICovXG4gIG92ZXJyaWRlIHByZXBhcmU8TSBleHRlbmRzIE1vZGVsPihcbiAgICBtb2RlbDogTSxcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxGYWJyaWNDb250cmFjdENvbnRleHQ+XG4gICk6IFByZXBhcmVkTW9kZWwge1xuICAgIGNvbnN0IHsgbG9nIH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnByZXBhcmUpO1xuXG4gICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKG1vZGVsLmNvbnN0cnVjdG9yIGFzIGFueSk7XG4gICAgY29uc3QgcGsgPSBNb2RlbC5wayhtb2RlbC5jb25zdHJ1Y3RvciBhcyBhbnkpO1xuICAgIGNvbnN0IHNwbGl0ID0gTW9kZWwuc2VncmVnYXRlKG1vZGVsKTtcbiAgICBjb25zdCByZXN1bHQgPSBPYmplY3QuZW50cmllcyhzcGxpdC5tb2RlbCkucmVkdWNlKFxuICAgICAgKGFjY3VtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBba2V5LCB2YWxdKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gYWNjdW07XG4gICAgICAgIGNvbnN0IG1hcHBlZFByb3AgPSBNb2RlbC5jb2x1bW5OYW1lKG1vZGVsLCBrZXkgYXMgYW55KTtcbiAgICAgICAgaWYgKHRoaXMuaXNSZXNlcnZlZChtYXBwZWRQcm9wKSlcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgUHJvcGVydHkgbmFtZSAke21hcHBlZFByb3B9IGlzIHJlc2VydmVkYCk7XG4gICAgICAgIHZhbCA9IHZhbCBpbnN0YW5jZW9mIERhdGUgPyBuZXcgRGF0ZSh2YWwpIDogdmFsO1xuICAgICAgICBhY2N1bVttYXBwZWRQcm9wXSA9IHZhbDtcbiAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGxvZy5zaWxseShcbiAgICAgIGBQcmVwYXJpbmcgcmVjb3JkIGZvciAke3RhYmxlTmFtZX0gdGFibGUgd2l0aCBwayAkeyhtb2RlbCBhcyBhbnkpW3BrXX1gXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICByZWNvcmQ6IHJlc3VsdCxcbiAgICAgIGlkOiAobW9kZWwgYXMgYW55KVtwa10gYXMgc3RyaW5nLFxuICAgICAgdHJhbnNpZW50OiBzcGxpdC50cmFuc2llbnQsXG4gICAgfTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJldmVydDxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG9iajogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIHRyYW5zaWVudD86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8RmFicmljQ29udHJhY3RDb250ZXh0PlxuICApOiBNIHtcbiAgICBjb25zdCB7IGxvZyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5yZXZlcnQpO1xuICAgIGNvbnN0IG9iOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgY29uc3QgcGsgPSBNb2RlbC5wayhjbGF6eik7XG4gICAgb2JbcGsgYXMgc3RyaW5nXSA9IGlkO1xuICAgIGNvbnN0IG0gPSAoXG4gICAgICB0eXBlb2YgY2xhenogPT09IFwic3RyaW5nXCIgPyBNb2RlbC5idWlsZChvYiwgY2xhenopIDogbmV3IGNsYXp6KG9iKVxuICAgICkgYXMgTTtcbiAgICBsb2cuc2lsbHkoYFJlYnVpbGRpbmcgbW9kZWwgJHttLmNvbnN0cnVjdG9yLm5hbWV9IGlkICR7aWR9YCk7XG4gICAgY29uc3QgcmVzdWx0ID0gT2JqZWN0LmtleXMobSkucmVkdWNlKChhY2N1bTogTSwga2V5KSA9PiB7XG4gICAgICAoYWNjdW0gYXMgUmVjb3JkPHN0cmluZywgYW55Pilba2V5XSA9XG4gICAgICAgIG9ialtNb2RlbC5jb2x1bW5OYW1lKGFjY3VtLCBrZXkgYXMgYW55KV07XG4gICAgICByZXR1cm4gYWNjdW07XG4gICAgfSwgbSk7XG5cbiAgICBpZiAodHJhbnNpZW50KSB7XG4gICAgICBsb2cuZGVidWcoXG4gICAgICAgIGByZS1hZGRpbmcgdHJhbnNpZW50IHByb3BlcnRpZXM6ICR7T2JqZWN0LmtleXModHJhbnNpZW50KS5qb2luKFwiLCBcIil9YFxuICAgICAgKTtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRyYW5zaWVudCkuZm9yRWFjaCgoW2tleSwgdmFsXSkgPT4ge1xuICAgICAgICBpZiAoa2V5IGluIHJlc3VsdCAmJiAocmVzdWx0IGFzIGFueSlba2V5XSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgYFRyYW5zaWVudCBwcm9wZXJ0eSAke2tleX0gYWxyZWFkeSBleGlzdHMgb24gbW9kZWwgJHttLmNvbnN0cnVjdG9yLm5hbWV9LiBzaG91bGQgYmUgaW1wb3NzaWJsZWBcbiAgICAgICAgICApO1xuICAgICAgICByZXN1bHRba2V5IGFzIGtleW9mIE1dID0gdmFsO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIG92ZXJyaWRlIGNyZWF0ZVByZWZpeDxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIHRhYmxlTmFtZTogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxGYWJyaWNDb250cmFjdENvbnRleHQ+XG4gICkge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5jcmVhdGVQcmVmaXgpO1xuICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIHJlY29yZFtDb3VjaERCS2V5cy5UQUJMRV0gPSBNb2RlbC50YWJsZU5hbWUodGFibGVOYW1lKTtcbiAgICBPYmplY3QuYXNzaWduKHJlY29yZCwgbW9kZWwpO1xuXG4gICAgcmV0dXJuIFt0YWJsZU5hbWUsIGlkLCByZWNvcmQsIC4uLmN0eEFyZ3NdIGFzIFtcbiAgICAgIENvbnN0cnVjdG9yPE0+LFxuICAgICAgUHJpbWFyeUtleVR5cGUsXG4gICAgICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgLi4uYW55W10sXG4gICAgICBGYWJyaWNDb250cmFjdENvbnRleHQsXG4gICAgXTtcbiAgfVxuXG4gIG92ZXJyaWRlIHVwZGF0ZVByZWZpeDxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIHRhYmxlTmFtZTogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxGYWJyaWNDb250cmFjdENvbnRleHQ+XG4gICk6IGFueVtdIHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMudXBkYXRlUHJlZml4KTtcbiAgICBjb25zdCByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICByZWNvcmRbQ291Y2hEQktleXMuVEFCTEVdID0gTW9kZWwudGFibGVOYW1lKHRhYmxlTmFtZSk7XG4gICAgT2JqZWN0LmFzc2lnbihyZWNvcmQsIG1vZGVsKTtcblxuICAgIHJldHVybiBbdGFibGVOYW1lLCBpZCwgcmVjb3JkLCAuLi5jdHhBcmdzXSBhcyBbXG4gICAgICBDb25zdHJ1Y3RvcjxNPixcbiAgICAgIFByaW1hcnlLZXlUeXBlLFxuICAgICAgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIC4uLmFueVtdLFxuICAgICAgRmFicmljQ29udHJhY3RDb250ZXh0LFxuICAgIF07XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlQWxsUHJlZml4PE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgdGFibGVOYW1lOiBDb25zdHJ1Y3RvcjxNPixcbiAgICBpZHM6IFByaW1hcnlLZXlUeXBlW10sXG4gICAgbW9kZWxzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+W10sXG4gICAgLi4uYXJnczogWy4uLmFueSwgRmFicmljQ29udHJhY3RDb250ZXh0XVxuICApOiAoc3RyaW5nIHwgc3RyaW5nW10gfCBudW1iZXJbXSB8IFJlY29yZDxzdHJpbmcsIGFueT5bXSlbXSB7XG4gICAgaWYgKGlkcy5sZW5ndGggIT09IG1vZGVscy5sZW5ndGgpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIklkcyBhbmQgbW9kZWxzIG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGhcIik7XG5cbiAgICBjb25zdCBjdHg6IEZhYnJpY0NvbnRyYWN0Q29udGV4dCA9IGFyZ3MucG9wKCk7XG5cbiAgICBjb25zdCByZWNvcmRzID0gaWRzLm1hcCgoaWQsIGNvdW50KSA9PiB7XG4gICAgICBjb25zdCByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgIHJlY29yZFtDb3VjaERCS2V5cy5UQUJMRV0gPSBNb2RlbC50YWJsZU5hbWUodGFibGVOYW1lKTtcbiAgICAgIE9iamVjdC5hc3NpZ24ocmVjb3JkLCBtb2RlbHNbY291bnRdKTtcbiAgICAgIHJldHVybiByZWNvcmQ7XG4gICAgfSk7XG4gICAgcmV0dXJuIFt0YWJsZU5hbWUsIGlkcywgcmVjb3JkcywgY3R4IGFzIGFueV07XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlQWxsUHJlZml4PE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgdGFibGVOYW1lOiBDb25zdHJ1Y3RvcjxNPixcbiAgICBpZHM6IFByaW1hcnlLZXlUeXBlW10sXG4gICAgbW9kZWxzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+W10sXG4gICAgLi4uYXJnczogWy4uLmFueSwgRmFicmljQ29udHJhY3RDb250ZXh0XVxuICApIHtcbiAgICBpZiAoaWRzLmxlbmd0aCAhPT0gbW9kZWxzLmxlbmd0aClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiSWRzIGFuZCBtb2RlbHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aFwiKTtcblxuICAgIGNvbnN0IGN0eDogRmFicmljQ29udHJhY3RDb250ZXh0ID0gYXJncy5wb3AoKTtcblxuICAgIGNvbnN0IHJlY29yZHMgPSBpZHMubWFwKChpZCwgY291bnQpID0+IHtcbiAgICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgcmVjb3JkW0NvdWNoREJLZXlzLlRBQkxFXSA9IE1vZGVsLnRhYmxlTmFtZSh0YWJsZU5hbWUpO1xuICAgICAgT2JqZWN0LmFzc2lnbihyZWNvcmQsIG1vZGVsc1tjb3VudF0pO1xuICAgICAgcmV0dXJuIHJlY29yZDtcbiAgICB9KTtcbiAgICByZXR1cm4gW3RhYmxlTmFtZSwgaWRzLCByZWNvcmRzLCBjdHggYXMgYW55XTtcbiAgfVxuXG4gIG92ZXJyaWRlIHBhcnNlRXJyb3I8RSBleHRlbmRzIEJhc2VFcnJvcj4oXG4gICAgZXJyOiBFcnJvciB8IHN0cmluZyxcbiAgICByZWFzb24/OiBzdHJpbmdcbiAgKTogRSB7XG4gICAgcmV0dXJuIEZhYnJpY0NvbnRyYWN0QWRhcHRlci5wYXJzZUVycm9yKHJlYXNvbiB8fCBlcnIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGxvZ0N0eDxcbiAgICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RPck9wZXJhdGlvbiA9IE1ldGhvZE9yT3BlcmF0aW9uLFxuICA+KFxuICAgIGFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxGYWJyaWNDb250cmFjdENvbnRleHQsIEFSR1M+LFxuICAgIG9wZXJhdGlvbjogTUVUSE9EXG4gICk6IEZhYnJpY0NvbnRleHR1YWxpemVkQXJnczxBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+O1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbG9nQ3R4PFxuICAgIEFSR1MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLFxuICAgIE1FVEhPRCBleHRlbmRzIE1ldGhvZE9yT3BlcmF0aW9uID0gTWV0aG9kT3JPcGVyYXRpb24sXG4gID4oXG4gICAgYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPEZhYnJpY0NvbnRyYWN0Q29udGV4dCwgQVJHUz4sXG4gICAgb3BlcmF0aW9uOiBNRVRIT0QsXG4gICAgYWxsb3dDcmVhdGU6IGZhbHNlXG4gICk6IEZhYnJpY0NvbnRleHR1YWxpemVkQXJnczxBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+O1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbG9nQ3R4PFxuICAgIEFSR1MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLFxuICAgIE1FVEhPRCBleHRlbmRzIE1ldGhvZE9yT3BlcmF0aW9uID0gTWV0aG9kT3JPcGVyYXRpb24sXG4gID4oXG4gICAgYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPEZhYnJpY0NvbnRyYWN0Q29udGV4dCwgQVJHUz4sXG4gICAgb3BlcmF0aW9uOiBNRVRIT0QsXG4gICAgYWxsb3dDcmVhdGU6IHRydWUsXG4gICAgb3ZlcnJpZGVzPzogUGFydGlhbDxGbGFnc09mPEZhYnJpY0NvbnRyYWN0Q29udGV4dD4+XG4gICk6IFByb21pc2U8XG4gICAgRmFicmljQ29udGV4dHVhbGl6ZWRBcmdzPEFSR1MsIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZT5cbiAgPjtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGxvZ0N0eDxcbiAgICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RPck9wZXJhdGlvbiA9IE1ldGhvZE9yT3BlcmF0aW9uLFxuICA+KFxuICAgIGFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxGYWJyaWNDb250cmFjdENvbnRleHQsIEFSR1M+LFxuICAgIG9wZXJhdGlvbjogTUVUSE9ELFxuICAgIGFsbG93Q3JlYXRlOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3ZlcnJpZGVzPzogUGFydGlhbDxGbGFnc09mPEZhYnJpY0NvbnRyYWN0Q29udGV4dD4+IHwgQ3R4XG4gICk6XG4gICAgfCBQcm9taXNlPFxuICAgICAgICBGYWJyaWNDb250ZXh0dWFsaXplZEFyZ3M8QVJHUywgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlPlxuICAgICAgPlxuICAgIHwgRmFicmljQ29udGV4dHVhbGl6ZWRBcmdzPEFSR1MsIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZT4ge1xuICAgIGlmICghYWxsb3dDcmVhdGUpXG4gICAgICByZXR1cm4gc3VwZXIubG9nQ3R4PEFSR1MsIE1FVEhPRD4oXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIG9wZXJhdGlvbiBhcyBhbnksXG4gICAgICAgIGFsbG93Q3JlYXRlIGFzIGFueSxcbiAgICAgICAgb3ZlcnJpZGVzIGFzIGFueVxuICAgICAgKSBhcyBhbnk7XG5cbiAgICByZXR1cm4gc3VwZXIubG9nQ3R4XG4gICAgICAuY2FsbCh0aGlzLCBhcmdzLCBvcGVyYXRpb24gYXMgYW55LCBhbGxvd0NyZWF0ZSwgb3ZlcnJpZGVzIGFzIGFueSlcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgaWYgKCEocmVzLmN0eCBpbnN0YW5jZW9mIEZhYnJpY0NvbnRyYWN0Q29udGV4dCkpXG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEludmFsaWQgY29udGV4dCBiaW5kaW5nYCk7XG4gICAgICAgIGlmICghcmVzLmN0eC5zdHViKSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTWlzc2luZyBTdHViYCk7XG4gICAgICAgIGlmICghcmVzLmN0eC5pZGVudGl0eSkgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE1pc3NpbmcgSWRlbnRpdHlgKTtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocmVzLCB7XG4gICAgICAgICAgc3R1YjogcmVzLmN0eC5zdHViLFxuICAgICAgICAgIGlkZW50aXR5OiByZXMuY3R4LmlkZW50aXR5LFxuICAgICAgICB9KTtcbiAgICAgIH0pIGFzIGFueTtcbiAgfVxuXG4gIHN0YXRpYyBvdmVycmlkZSBwYXJzZUVycm9yPEUgZXh0ZW5kcyBCYXNlRXJyb3I+KGVycjogRXJyb3IgfCBzdHJpbmcpOiBFIHtcbiAgICAvLyBpZiAoXG4gICAgLy8gICBNSVNTSU5HX1BSSVZBVEVfREFUQV9SRUdFWC50ZXN0KFxuICAgIC8vICAgICB0eXBlb2YgZXJyID09PSBcInN0cmluZ1wiID8gZXJyIDogZXJyLm1lc3NhZ2VcbiAgICAvLyAgIClcbiAgICAvLyApXG4gICAgLy8gICByZXR1cm4gbmV3IFVuYXV0aG9yaXplZFByaXZhdGVEYXRhQWNjZXNzKGVycikgYXMgRTtcbiAgICBjb25zdCBtc2cgPSB0eXBlb2YgZXJyID09PSBcInN0cmluZ1wiID8gZXJyIDogZXJyLm1lc3NhZ2U7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhOb3RGb3VuZEVycm9yLm5hbWUpKSByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IoZXJyKSBhcyBFO1xuICAgIGlmIChtc2cuaW5jbHVkZXMoQ29uZmxpY3RFcnJvci5uYW1lKSkgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKGVycikgYXMgRTtcbiAgICBpZiAobXNnLmluY2x1ZGVzKEJhZFJlcXVlc3RFcnJvci5uYW1lKSlcbiAgICAgIHJldHVybiBuZXcgQmFkUmVxdWVzdEVycm9yKGVycikgYXMgRTtcbiAgICBpZiAobXNnLmluY2x1ZGVzKFF1ZXJ5RXJyb3IubmFtZSkpIHJldHVybiBuZXcgUXVlcnlFcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhQYWdpbmdFcnJvci5uYW1lKSkgcmV0dXJuIG5ldyBQYWdpbmdFcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhVbnN1cHBvcnRlZEVycm9yLm5hbWUpKVxuICAgICAgcmV0dXJuIG5ldyBVbnN1cHBvcnRlZEVycm9yKGVycikgYXMgRTtcbiAgICBpZiAobXNnLmluY2x1ZGVzKE1pZ3JhdGlvbkVycm9yLm5hbWUpKSByZXR1cm4gbmV3IE1pZ3JhdGlvbkVycm9yKGVycikgYXMgRTtcbiAgICBpZiAobXNnLmluY2x1ZGVzKE9ic2VydmVyRXJyb3IubmFtZSkpIHJldHVybiBuZXcgT2JzZXJ2ZXJFcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhBdXRob3JpemF0aW9uRXJyb3IubmFtZSkpXG4gICAgICByZXR1cm4gbmV3IEF1dGhvcml6YXRpb25FcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhGb3JiaWRkZW5FcnJvci5uYW1lKSkgcmV0dXJuIG5ldyBGb3JiaWRkZW5FcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhDb25uZWN0aW9uRXJyb3IubmFtZSkpXG4gICAgICByZXR1cm4gbmV3IENvbm5lY3Rpb25FcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhTZXJpYWxpemF0aW9uRXJyb3IubmFtZSkpXG4gICAgICByZXR1cm4gbmV3IFNlcmlhbGl6YXRpb25FcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhcIm5vIGxlZGdlciBjb250ZXh0XCIpKVxuICAgICAgcmV0dXJuIG5ldyBNaXNzaW5nQ29udGV4dEVycm9yKFxuICAgICAgICBgTm8gY29udGV4dCBmb3VuZC4gdGhpcyBjYW4gYmUgY2F1c2VkIGJ5IGRlYnVnZ2luZzogJHttc2d9YFxuICAgICAgKSBhcyBFO1xuXG4gICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKGVycikgYXMgRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU3RhdGljIG1ldGhvZCBmb3IgZGVjb3JhdGlvbiBvdmVycmlkZXNcbiAgICogQHN1bW1hcnkgT3ZlcnJpZGVzL2V4dGVuZHMgZGVjYWYgZGVjb3JhdGlvbiB3aXRoIEZhYnJpYy1zcGVjaWZpYyBmdW5jdGlvbmFsaXR5XG4gICAqIEBzdGF0aWNcbiAgICogQG92ZXJyaWRlXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBzdGF0aWMgb3ZlcnJpZGUgZGVjb3JhdGlvbigpOiB2b2lkIHtcbiAgICBzdXBlci5kZWNvcmF0aW9uKCk7XG4gICAgRGVjb3JhdGlvbi5mbGF2b3VyZWRBcyhGYWJyaWNGbGF2b3VyKVxuICAgICAgLmZvcihQZXJzaXN0ZW5jZUtleXMuQ1JFQVRFRF9CWSlcbiAgICAgIC5kZWZpbmUoXG4gICAgICAgIG9uQ3JlYXRlKGNyZWF0ZWRCeU9uRmFicmljQ3JlYXRlVXBkYXRlKSxcbiAgICAgICAgcHJvcE1ldGFkYXRhKFBlcnNpc3RlbmNlS2V5cy5DUkVBVEVEX0JZLCB7fSlcbiAgICAgIClcbiAgICAgIC5hcHBseSgpO1xuXG4gICAgRGVjb3JhdGlvbi5mbGF2b3VyZWRBcyhGYWJyaWNGbGF2b3VyKVxuICAgICAgLmZvcihQZXJzaXN0ZW5jZUtleXMuVVBEQVRFRF9CWSlcbiAgICAgIC5kZWZpbmUoXG4gICAgICAgIG9uQ3JlYXRlVXBkYXRlKGNyZWF0ZWRCeU9uRmFicmljQ3JlYXRlVXBkYXRlKSxcbiAgICAgICAgcHJvcE1ldGFkYXRhKFBlcnNpc3RlbmNlS2V5cy5VUERBVEVEX0JZLCB7fSlcbiAgICAgIClcbiAgICAgIC5hcHBseSgpO1xuXG4gICAgRGVjb3JhdGlvbi5mbGF2b3VyZWRBcyhGYWJyaWNGbGF2b3VyKVxuICAgICAgLmZvcihQZXJzaXN0ZW5jZUtleXMuQ09MVU1OKVxuICAgICAgLmV4dGVuZChGYWJyaWNQcm9wZXJ0eSgpKVxuICAgICAgLmFwcGx5KCk7XG5cbiAgICBEZWNvcmF0aW9uLmZsYXZvdXJlZEFzKEZhYnJpY0ZsYXZvdXIpXG4gICAgICAuZm9yKFZhbGlkYXRpb25LZXlzLkRBVEUpXG4gICAgICAuZXh0ZW5kKGZ1bmN0aW9uIGZhYnJpY1Byb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wPzogYW55KSA9PiB7XG4gICAgICAgICAgUHJvcGVydHkocHJvcCwgXCJzdHJpbmc6ZGF0ZVwiKSh0YXJnZXQsIHByb3ApO1xuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICBEZWNvcmF0aW9uLmZsYXZvdXJlZEFzKEZhYnJpY0ZsYXZvdXIpXG4gICAgICAuZm9yKFBlcnNpc3RlbmNlS2V5cy5UQUJMRSlcbiAgICAgIC5leHRlbmQoZnVuY3Rpb24gdGFibGUob2JqOiBhbnkpIHtcbiAgICAgICAgY29uc3QgY2hhaW46IGFueVtdID0gW107XG4gICAgICAgIGxldCBjdXJyZW50ID1cbiAgICAgICAgICB0eXBlb2Ygb2JqID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgICAgID8gTWV0YWRhdGEuY29uc3RyKG9iailcbiAgICAgICAgICAgIDogTWV0YWRhdGEuY29uc3RyKG9iai5jb25zdHJ1Y3Rvcik7XG5cbiAgICAgICAgd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudCAhPT0gT2JqZWN0ICYmIGN1cnJlbnQucHJvdG90eXBlKSB7XG4gICAgICAgICAgY2hhaW4ucHVzaChjdXJyZW50KTtcbiAgICAgICAgICBjdXJyZW50ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGN1cnJlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coY2hhaW4ubWFwKChjKSA9PiBjLm5hbWUgfHwgYykpO1xuXG4gICAgICAgIC8vIEFwcGx5IGZyb20gdGhlIGJhc2UgY2xhc3MgZG93biB0byB0aGUgZGVjb3JhdGVkIGNsYXNzXG4gICAgICAgIHdoaWxlIChjaGFpbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgY29uc3RydWN0b3IgPSBjaGFpbi5wb3AoKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FsbGluZyBvbiAke2NvbnN0cnVjdG9yLm5hbWV9YCk7XG4gICAgICAgICAgRmFicmljT2JqZWN0KCkoY29uc3RydWN0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIEZhYnJpY09iamVjdCgpKG9iaik7XG4gICAgICB9KVxuICAgICAgLmFwcGx5KCk7XG4gIH1cbn1cblxuRmFicmljQ29udHJhY3RBZGFwdGVyLmRlY29yYXRpb24oKTtcbkFkYXB0ZXIuc2V0Q3VycmVudChGYWJyaWNGbGF2b3VyKTtcbiJdfQ==
|
|
@@ -98,4 +98,4 @@ class FabricContractContext extends core_1.Context {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
exports.FabricContractContext = FabricContractContext;
|
|
101
|
-
//# sourceMappingURL=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJhY3RDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9Db250cmFjdENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXlDO0FBSXpDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUNILE1BQWEscUJBQXNCLFNBQVEsY0FBNEI7SUFDckU7OztPQUdHO0lBQ0g7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQThCRixvQkFBZSxHQUEwQixFQUFFLENBQUM7UUFDNUMsbUJBQWMsR0FBYSxFQUFFLENBQUM7SUE5QnRDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBYSxTQUFTO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFLRCxPQUFPLENBQUMsR0FBVyxFQUFFLE1BQVc7UUFDOUIsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7WUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUF1QjtRQUM5QixJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVRLFFBQVE7UUFDZixPQUFPLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUF4RUQsc0RBd0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgRmFicmljQ29udHJhY3RGbGFncyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBDaGFpbmNvZGVTdHViLCBDbGllbnRJZGVudGl0eSB9IGZyb20gXCJmYWJyaWMtc2hpbS1hcGlcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29udGV4dCBjbGFzcyBmb3IgRmFicmljIGNoYWluY29kZSBvcGVyYXRpb25zXG4gKiBAc3VtbWFyeSBQcm92aWRlcyBhY2Nlc3MgdG8gRmFicmljLXNwZWNpZmljIGNvbnRleHQgZWxlbWVudHMgbGlrZSBzdHViLCBpZGVudGl0eSwgYW5kIGxvZ2dlciB0byBiZSB1c2VkIGJ5IHJlcG9zaXRvcmllcyBhbmQgYWRhcHRlcnMgZHVyaW5nIGNvbnRyYWN0IGV4ZWN1dGlvbi5cbiAqIEB0ZW1wbGF0ZSBGIC0gRmxhZ3Mgc3BlY2lmaWMgdG8gRmFicmljIGNvbnRyYWN0IG9wZXJhdGlvbnNcbiAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBPcHRpb25hbCBpbml0aWFsaXphdGlvbiBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBiYXNlIENvbnRleHRcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKiBAY2xhc3MgRmFicmljQ29udHJhY3RDb250ZXh0XG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW4gYSBGYWJyaWMgY2hhaW5jb2RlIGNvbnRyYWN0IG1ldGhvZFxuICogY29uc3QgY29udGV4dCA9IG5ldyBGYWJyaWNDb250cmFjdENvbnRleHQoKTtcbiAqIC8vIE9wdGlvbmFsbHkgc2V0IHZhbHVlcyB2aWEgdGhlIGJhc2UgQ29udGV4dCBBUElcbiAqIGNvbnRleHQuc2V0KCdzdHViJywgY3R4LnN0dWIpO1xuICogY29udGV4dC5zZXQoJ2NsaWVudElkZW50aXR5JywgY3R4LmNsaWVudElkZW50aXR5KTtcbiAqIGNvbnRleHQuc2V0KCdsb2dnZXInLCBjb250cmFjdExvZ2dlcik7XG4gKlxuICogLy8gQWNjZXNzIGNvbnRleHQgcHJvcGVydGllc1xuICogY29uc3QgdGltZXN0YW1wID0gY29udGV4dC50aW1lc3RhbXA7XG4gKiBjb25zdCBjcmVhdG9yID0gY29udGV4dC5pZGVudGl0eS5nZXRJRCgpO1xuICogYGBgXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IENvbnRyYWN0XG4gKiAgIHBhcnRpY2lwYW50IENvbnRleHRcbiAqICAgcGFydGljaXBhbnQgTGVkZ2VyXG4gKiAgIENvbnRyYWN0LT4+Q29udGV4dDogbmV3IEZhYnJpY0NvbnRyYWN0Q29udGV4dCgpXG4gKiAgIENvbnRyYWN0LT4+Q29udGV4dDogc2V0KCdzdHViJ3wnY2xpZW50SWRlbnRpdHknfCdsb2dnZXInLCAuLi4pXG4gKiAgIENvbnRleHQtLT4+Q29udHJhY3Q6IHRpbWVzdGFtcCwgaWRlbnRpdHksIGxvZ2dlclxuICogICBDb250cmFjdC0+PkxlZGdlcjogSW50ZXJhY3QgdmlhIHN0dWJcbiAqL1xuZXhwb3J0IGNsYXNzIEZhYnJpY0NvbnRyYWN0Q29udGV4dCBleHRlbmRzIENvbnRleHQ8RmFicmljQ29udHJhY3RGbGFncz4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgRmFicmljQ29udHJhY3RDb250ZXh0IGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIHRoZSBjb250ZXh0IHdpdGggRmFicmljLXNwZWNpZmljIGZsYWdzXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSBjaGFpbmNvZGUgc3R1YlxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBDaGFpbmNvZGVTdHViIGluc3RhbmNlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBsZWRnZXJcbiAgICogQHJldHVybiB7Q2hhaW5jb2RlU3R1Yn0gVGhlIGNoYWluY29kZSBzdHViXG4gICAqL1xuICBnZXQgc3R1YigpOiBDaGFpbmNvZGVTdHViIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoXCJzdHViXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSB0cmFuc2FjdGlvbiB0aW1lc3RhbXBcbiAgICogQHN1bW1hcnkgT3ZlcnJpZGVzIHRoZSBiYXNlIHRpbWVzdGFtcCBnZXR0ZXIgdG8gdXNlIHRoZSBzdHViJ3MgdGltZXN0YW1wXG4gICAqIEByZXR1cm4ge0RhdGV9IFRoZSB0cmFuc2FjdGlvbiB0aW1lc3RhbXBcbiAgICovXG4gIG92ZXJyaWRlIGdldCB0aW1lc3RhbXAoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuc3R1Yi5nZXREYXRlVGltZXN0YW1wKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGNsaWVudCBpZGVudGl0eVxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBDbGllbnRJZGVudGl0eSBpbnN0YW5jZSBmb3IgdGhlIHRyYW5zYWN0aW9uIHN1Ym1pdHRlclxuICAgKiBAcmV0dXJuIHtDbGllbnRJZGVudGl0eX0gVGhlIGNsaWVudCBpZGVudGl0eVxuICAgKi9cbiAgZ2V0IGlkZW50aXR5KCk6IENsaWVudElkZW50aXR5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoXCJpZGVudGl0eVwiKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlZ3JlZ2F0ZVdyaXRlOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gPSB7fTtcbiAgcHJpdmF0ZSBfc2VncmVnYXRlUmVhZDogc3RyaW5nW10gPSBbXTtcblxuICB3cml0ZVRvKGNvbDogc3RyaW5nLCByZWNvcmQ6IGFueSkge1xuICAgIGlmICghKGNvbCBpbiB0aGlzLl9zZWdyZWdhdGVXcml0ZSkpIHRoaXMuX3NlZ3JlZ2F0ZVdyaXRlW2NvbF0gPSBbXTtcbiAgICB0aGlzLl9zZWdyZWdhdGVXcml0ZVtjb2xdLnB1c2gocmVjb3JkKTtcbiAgICB0aGlzLmNhY2hlLnB1dChcInNlZ3JlZ2F0ZVdyaXRlXCIsIHRoaXMuX3NlZ3JlZ2F0ZVdyaXRlKTtcbiAgfVxuXG4gIHJlYWRGcm9tKGNvbHM6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgY29scyA9IEFycmF5LmlzQXJyYXkoY29scykgPyBjb2xzIDogW2NvbHNdO1xuICAgIHRoaXMuX3NlZ3JlZ2F0ZVJlYWQgPSBbLi4ubmV3IFNldChbLi4udGhpcy5fc2VncmVnYXRlUmVhZCwgLi4uY29sc10pXTtcbiAgICB0aGlzLmNhY2hlLnB1dChcInNlZ3JlZ2F0ZVJlYWRcIiwgdGhpcy5fc2VncmVnYXRlUmVhZCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGNvbGxlY3Rpb25zIHJlZ2lzdGVyZWQgZm9yIHdyaXRpbmdcbiAgICogQHN1bW1hcnkgUmV0dXJucyBjb2xsZWN0aW9uIG5hbWVzIGZyb20gc2VncmVnYXRlV3JpdGUsIHVzZWQgYnkgc2VxdWVuY2VzIHRvIGtub3cgd2hlcmUgdG8gcmVwbGljYXRlLlxuICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gQXJyYXkgb2YgY29sbGVjdGlvbiBuYW1lcywgZW1wdHkgaWYgbm9uZSByZWdpc3RlcmVkXG4gICAqL1xuICBnZXRXcml0ZUNvbGxlY3Rpb25zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5fc2VncmVnYXRlV3JpdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSBjb2xsZWN0aW9ucyByZWdpc3RlcmVkIGZvciByZWFkaW5nXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgY29sbGVjdGlvbiBuYW1lcyBmcm9tIHNlZ3JlZ2F0ZVJlYWQuXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfSBBcnJheSBvZiBjb2xsZWN0aW9uIG5hbWVzLCBlbXB0eSBpZiBub25lIHJlZ2lzdGVyZWRcbiAgICovXG4gIGdldFJlYWRDb2xsZWN0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlZ3JlZ2F0ZVJlYWQ7XG4gIH1cblxuICBvdmVycmlkZSB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gYGZhYnJpYyBjdHgke3RoaXMuc3R1YiA/IFwiIHdpdGggc3R1YlwiIDogXCJ3aXRob3V0IHN0dWJcIn1gO1xuICB9XG59XG4iXX0=
|
|
@@ -423,4 +423,4 @@
|
|
|
423
423
|
// return results;
|
|
424
424
|
// }
|
|
425
425
|
// }
|
|
426
|
-
//# sourceMappingURL=ContractPrivateDataAdapter.js.map
|
|
426
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJhY3RQcml2YXRlRGF0YUFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL0NvbnRyYWN0UHJpdmF0ZURhdGFBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw4RUFBOEU7QUFDOUUsNkRBQTZEO0FBQzdELFdBQVc7QUFDWCxlQUFlO0FBQ2YsbUJBQW1CO0FBQ25CLHdCQUF3QjtBQUN4QixvQ0FBb0M7QUFDcEMsMERBQTBEO0FBQzFELFdBQVc7QUFDWCxnQ0FBZ0M7QUFDaEMsb0JBQW9CO0FBQ3BCLGtCQUFrQjtBQUNsQiwyQkFBMkI7QUFDM0Isb0VBQW9FO0FBQ3BFLDhEQUE4RDtBQUM5RCw2REFBNkQ7QUFDN0QsbUVBQW1FO0FBQ25FLEVBQUU7QUFDRixnRkFBZ0Y7QUFDaEYsUUFBUTtBQUNSLGlFQUFpRTtBQUNqRSxzRkFBc0Y7QUFDdEYsc0RBQXNEO0FBQ3RELHlFQUF5RTtBQUN6RSxRQUFRO0FBQ1IsaUJBQWlCO0FBQ2pCLG1CQUFtQjtBQUNuQixzQkFBc0I7QUFDdEIsOENBQThDO0FBQzlDLFFBQVE7QUFDUiwyQkFBMkI7QUFDM0IsNENBQTRDO0FBQzVDLE1BQU07QUFDTixFQUFFO0FBQ0YsUUFBUTtBQUNSLDJEQUEyRDtBQUMzRCxtRkFBbUY7QUFDbkYsb0VBQW9FO0FBQ3BFLDJEQUEyRDtBQUMzRCw4RkFBOEY7QUFDOUYsd0ZBQXdGO0FBQ3hGLFFBQVE7QUFDUix5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCLDJCQUEyQjtBQUMzQixxQkFBcUI7QUFDckIscUJBQXFCO0FBQ3JCLHNDQUFzQztBQUN0QywyQ0FBMkM7QUFDM0MseUNBQXlDO0FBQ3pDLEVBQUU7QUFDRixzQ0FBc0M7QUFDdEMsWUFBWTtBQUNaLDhDQUE4QztBQUM5QyxnQkFBZ0I7QUFDaEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QixtQkFBbUI7QUFDbkIsV0FBVztBQUNYLEVBQUU7QUFDRixrQ0FB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QXNHO0FBQ3RHLDhGQUE4RjtBQUM5RixtRUFBbUU7QUFDbkUsZ0JBQWdCO0FBQ2hCLHVCQUF1QjtBQUN2Qiw0QkFBNEI7QUFDNUIsMkNBQTJDO0FBQzNDLDBCQUEwQjtBQUMxQiw2QkFBNkI7QUFDN0IsT0FBTztBQUNQLHNFQUFzRTtBQUN0RSwrRUFBK0U7QUFDL0UsNkJBQTZCO0FBQzdCLDBGQUEwRjtBQUMxRixpQ0FBaUM7QUFDakMsK0RBQStEO0FBQy9ELGFBQWE7QUFDYix1Q0FBdUM7QUFDdkMsbUNBQW1DO0FBQ25DLGlEQUFpRDtBQUNqRCxzRkFBc0Y7QUFDdEYsa0RBQWtEO0FBQ2xELFFBQVE7QUFDUiwyQkFBMkI7QUFDM0IsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QixxQkFBcUI7QUFDckIsb0JBQW9CO0FBQ3BCLDJDQUEyQztBQUMzQyx3Q0FBd0M7QUFDeEMsd0NBQXdDO0FBQ3hDLHFDQUFxQztBQUNyQyxrREFBa0Q7QUFDbEQsMkJBQTJCO0FBQzNCLGtDQUFrQztBQUNsQyxpQ0FBaUM7QUFDakMsbUJBQW1CO0FBQ25CLDBFQUEwRTtBQUMxRSxXQUFXO0FBQ1gsMkVBQTJFO0FBQzNFLDRDQUE0QztBQUM1QyxrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLDBCQUEwQjtBQUMxQix1Q0FBdUM7QUFDdkMscUJBQXFCO0FBQ3JCLGtFQUFrRTtBQUNsRSxzQ0FBc0M7QUFDdEMsZUFBZTtBQUNmLDBDQUEwQztBQUMxQyw0Q0FBNEM7QUFDNUMsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQixtQkFBbUI7QUFDbkIsNENBQTRDO0FBQzVDLFFBQVE7QUFDUixzQ0FBc0M7QUFDdEMsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSxpQkFBaUI7QUFDakIsaUNBQWlDO0FBQ2pDLHlEQUF5RDtBQUN6RCxTQUFTO0FBQ1Qsc0JBQXNCO0FBQ3RCLE1BQU07QUFDTixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHsgQ2hhaW5jb2RlU3R1YiwgSXRlcmF0b3JzLCBTdGF0ZVF1ZXJ5UmVzcG9uc2UgfSBmcm9tIFwiZmFicmljLXNoaW1cIjtcbi8vIGltcG9ydCB7IEZhYnJpY0NvbnRyYWN0QWRhcHRlciB9IGZyb20gXCIuL0NvbnRyYWN0QWRhcHRlclwiO1xuLy8gaW1wb3J0IHtcbi8vICAgQmFzZUVycm9yLFxuLy8gICBOb3RGb3VuZEVycm9yLFxuLy8gICBTZXJpYWxpemF0aW9uRXJyb3IsXG4vLyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuLy8gaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG4vLyBpbXBvcnQge1xuLy8gICBNSVNTSU5HX1BSSVZBVEVfREFUQV9SRUdFWCxcbi8vICAgbW9kZWxUb1ByaXZhdGUsXG4vLyAgIHByb2Nlc3NNb2RlbCxcbi8vIH0gZnJvbSBcIi4vcHJpdmF0ZS1kYXRhXCI7XG4vLyBpbXBvcnQgeyBVbmF1dGhvcml6ZWRQcml2YXRlRGF0YUFjY2VzcyB9IGZyb20gXCIuLi9zaGFyZWQvZXJyb3JzXCI7XG4vLyBpbXBvcnQgeyBTZXF1ZW5jZSwgU2VxdWVuY2VPcHRpb25zIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG4vLyBpbXBvcnQgeyBGYWJyaWNDb250cmFjdENvbnRleHQgfSBmcm9tIFwiLi9Db250cmFjdENvbnRleHRcIjtcbi8vIGltcG9ydCB7IENvdWNoREJLZXlzLCBNYW5nb1F1ZXJ5IH0gZnJvbSBcIkBkZWNhZi10cy9mb3ItY291Y2hkYlwiO1xuLy9cbi8vIGV4cG9ydCBjbGFzcyBGYWJyaWNDb250cmFjdFByaXZhdGVEYXRhQWRhcHRlciBleHRlbmRzIEZhYnJpY0NvbnRyYWN0QWRhcHRlciB7XG4vLyAgIC8qKlxuLy8gICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBGYWJyaWNDb250cmFjdEFkYXB0ZXIgaW5zdGFuY2Vcbi8vICAgICogQHN1bW1hcnkgSW5pdGlhbGl6ZXMgYW4gYWRhcHRlciBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgRmFicmljIHN0YXRlIGRhdGFiYXNlXG4vLyAgICAqIEBwYXJhbSB7dm9pZH0gc2NvcGUgLSBOb3QgdXNlZCBpbiB0aGlzIGFkYXB0ZXJcbi8vICAgICogQHBhcmFtIHtzdHJpbmd9IFthbGlhc10gLSBPcHRpb25hbCBhbGlhcyBmb3IgdGhlIGFkYXB0ZXIgaW5zdGFuY2Vcbi8vICAgICovXG4vLyAgIGNvbnN0cnVjdG9yKFxuLy8gICAgIHNjb3BlOiB2b2lkLFxuLy8gICAgIGFsaWFzPzogc3RyaW5nLFxuLy8gICAgIHByaXZhdGUgcmVhZG9ubHkgY29sbGVjdGlvbnM/OiBzdHJpbmdbXVxuLy8gICApIHtcbi8vICAgICBzdXBlcihzY29wZSwgYWxpYXMpO1xuLy8gICAgIHRoaXMuY29sbGVjdGlvbnMgPSBjb2xsZWN0aW9ucyB8fCBbXTtcbi8vICAgfVxuLy9cbi8vICAgLyoqXG4vLyAgICAqIEBkZXNjcmlwdGlvbiBSZWFkcyBhIHJlY29yZCBmcm9tIHRoZSBzdGF0ZSBkYXRhYmFzZVxuLy8gICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgYW5kIGRlc2VyaWFsaXplcyBhIHJlY29yZCBmcm9tIHRoZSBGYWJyaWMgc3RhdGUgZGF0YWJhc2Vcbi8vICAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZS9jb2xsZWN0aW9uXG4vLyAgICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyfSBpZCAtIFRoZSByZWNvcmQgaWRlbnRpZmllclxuLy8gICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMsIGluY2x1ZGluZyB0aGUgY2hhaW5jb2RlIHN0dWIgYW5kIGxvZ2dlclxuLy8gICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgcmV0cmlldmVkIHJlY29yZFxuLy8gICAgKi9cbi8vICAgb3ZlcnJpZGUgYXN5bmMgcmVhZChcbi8vICAgICB0YWJsZU5hbWU6IHN0cmluZyxcbi8vICAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuLy8gICAgIGluc3RhbmNlOiBhbnksXG4vLyAgICAgLi4uYXJnczogYW55W11cbi8vICAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4vLyAgICAgY29uc3QgeyBzdHViLCBsb2dnZXIgfSA9IGFyZ3MucG9wKCk7XG4vLyAgICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcih0aGlzLnJlYWQpO1xuLy9cbi8vICAgICBsZXQgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT47XG4vLyAgICAgdHJ5IHtcbi8vICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLnJlYWRTdGF0ZShcbi8vICAgICAgICAgc3R1Yixcbi8vICAgICAgICAgdGFibGVOYW1lLFxuLy8gICAgICAgICBpZC50b1N0cmluZygpLFxuLy8gICAgICAgICBpbnN0YW5jZVxuLy8gICAgICAgKTtcbi8vXG4vLyAgICAgICBpZiAocmVzdWx0cy5sZW5ndGggPCAxKSB7XG4vLyAgICAgICAgIGxvZy5kZWJ1ZyhgTm8gcmVjb3JkIGZvdW5kIGZvciBpZCAke2lkfSBpbiAke3RhYmxlTmFtZX0gdGFibGVgKTtcbi8vICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4vLyAgICAgICAgICAgYE5vIHJlY29yZCBmb3VuZCBmb3IgaWQgJHtpZH0gaW4gJHt0YWJsZU5hbWV9IHRhYmxlYFxuLy8gICAgICAgICApO1xuLy8gICAgICAgfSBlbHNlIGlmIChyZXN1bHRzLmxlbmd0aCA8IDIpIHtcbi8vICAgICAgICAgbG9nLmRlYnVnKGBObyByZWNvcmQgZm91bmQgZm9yIGlkICR7aWR9IGluICR7dGFibGVOYW1lfSB0YWJsZWApO1xuLy8gICAgICAgICBtb2RlbCA9IHJlc3VsdHMucG9wKCkgYXMgUmVjb3JkPHN0cmluZywgYW55Pjtcbi8vICAgICAgIH0gZWxzZSB7XG4vLyAgICAgICAgIG1vZGVsID0gdGhpcy5tZXJnZU1vZGVscyhyZXN1bHRzKTtcbi8vICAgICAgIH1cbi8vICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4vLyAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSBhcyBFcnJvcik7XG4vLyAgICAgfVxuLy9cbi8vICAgICByZXR1cm4gbW9kZWw7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBAZGVzY3JpcHRpb24gRGVsZXRlcyBhIHJlY29yZCBmcm9tIHRoZSBzdGF0ZSBkYXRhYmFzZVxuLy8gICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgYSByZWNvcmQgYW5kIHRoZW4gcmVtb3ZlcyBpdCBmcm9tIHRoZSBGYWJyaWMgc3RhdGUgZGF0YWJhc2Vcbi8vICAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZS9jb2xsZWN0aW9uXG4vLyAgICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyfSBpZCAtIFRoZSByZWNvcmQgaWRlbnRpZmllciB0byBkZWxldGVcbi8vICAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLCBpbmNsdWRpbmcgdGhlIGNoYWluY29kZSBzdHViIGFuZCBsb2dnZXJcbi8vICAgICogQHJldHVybiB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGRlbGV0ZWQgcmVjb3JkXG4vLyAgICAqL1xuLy8gICBvdmVycmlkZSBhc3luYyBkZWxldGUoXG4vLyAgICAgdGFibGVOYW1lOiBzdHJpbmcsXG4vLyAgICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbi8vICAgICBpbnN0YW5jZTogYW55LFxuLy8gICAgIC4uLmFyZ3M6IGFueVtdXG4vLyAgICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuLy8gICAgIGNvbnN0IGN0eCA9IGFyZ3MucG9wKCk7XG4vLyAgICAgY29uc3QgeyBzdHViLCBsb2dnZXIgfSA9IGN0eDtcbi8vICAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKHRoaXMuZGVsZXRlKTtcbi8vXG4vLyAgICAgYXJncy5wdXNoKGN0eCk7XG4vL1xuLy8gICAgIGxldCBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55Pjtcbi8vICAgICB0cnkge1xuLy8gICAgICAgbW9kZWwgPSBhd2FpdCB0aGlzLnJlYWQodGFibGVOYW1lLCBpZCwgaW5zdGFuY2UsIC4uLmFyZ3MpO1xuLy8gICAgICAgbG9nLnZlcmJvc2UoYGRlbGV0aW5nIGVudHJ5IHdpdGggcGsgJHtpZH0gZnJvbSAke3RhYmxlTmFtZX0gdGFibGVgKTtcbi8vICAgICAgIHRoaXMuZGVsZXRlU3RhdGUoc3R1YiwgdGFibGVOYW1lLCBpZC50b1N0cmluZygpLCBpbnN0YW5jZSk7XG4vLyAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuLy8gICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUgYXMgRXJyb3IpO1xuLy8gICAgIH1cbi8vXG4vLyAgICAgcmV0dXJuIG1vZGVsO1xuLy8gICB9XG4vLyAgIG92ZXJyaWRlIHByZXBhcmU8TSBleHRlbmRzIE1vZGVsPihcbi8vICAgICBtb2RlbDogTSxcbi8vICAgICBwazoga2V5b2YgTSxcbi8vICAgICAuLi5hcmdzOiBhbnlbXVxuLy8gICApOiB7XG4vLyAgICAgcmVjb3JkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuLy8gICAgIGlkOiBzdHJpbmc7XG4vLyAgICAgdHJhbnNpZW50PzogUmVjb3JkPHN0cmluZywgYW55Pjtcbi8vICAgfSB7XG4vLyAgICAgY29uc3QgeyBzdHViLCBsb2dnZXIgfSA9IGFyZ3MucG9wKCk7XG4vLyAgICAgY29uc3QgdGFibGVOYW1lID0gYXJncy5zaGlmdCgpO1xuLy8gICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IodGhpcy5wcmVwYXJlKTtcbi8vXG4vLyAgICAgY29uc3Qgc3BsaXQgPSBwcm9jZXNzTW9kZWwodGhpcywgbW9kZWwpO1xuLy8gICAgIC8vIGlmICgobW9kZWwgYXMgYW55KVtQZXJzaXN0ZW5jZUtleXMuTUVUQURBVEFdKSB7XG4vLyAgICAgLy8gICBsb2cuc2lsbHkoXG4vLyAgICAgLy8gICAgIGBQYXNzaW5nIGFsb25nIHBlcnNpc3RlbmNlIG1ldGFkYXRhIGZvciAkeyhtb2RlbCBhcyBhbnkpW1BlcnNpc3RlbmNlS2V5cy5NRVRBREFUQV19YFxuLy8gICAgIC8vICAgKTtcbi8vICAgICAvLyAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzcGxpdC5yZXN1bHQsIFBlcnNpc3RlbmNlS2V5cy5NRVRBREFUQSwge1xuLy8gICAgIC8vICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbi8vICAgICAvLyAgICAgd3JpdGFibGU6IGZhbHNlLFxuLy8gICAgIC8vICAgICBjb25maWd1cmFibGU6IHRydWUsXG4vLyAgICAgLy8gICAgIHZhbHVlOiAobW9kZWwgYXMgYW55KVtQZXJzaXN0ZW5jZUtleXMuTUVUQURBVEFdLFxuLy8gICAgIC8vICAgfSk7XG4vLyAgICAgLy8gfVxuLy9cbi8vICAgICBsb2cuaW5mbyhgUHJlcGFyaW5nIHJlY29yZCBmb3IgJHt0YWJsZU5hbWV9IHRhYmxlIHdpdGggcGsgJHttb2RlbFtwa119YCk7XG4vL1xuLy8gICAgIHJldHVybiB7XG4vLyAgICAgICByZWNvcmQ6IHNwbGl0LnByaXZhdGVEYXRhIGFzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4vLyAgICAgICBpZDogc3R1Yi5jcmVhdGVDb21wb3NpdGVLZXkodGFibGVOYW1lLCBbU3RyaW5nKG1vZGVsW3BrXSldKSxcbi8vICAgICAgIHRyYW5zaWVudDogc3BsaXQudHJhbnNpZW50LFxuLy8gICAgIH07XG4vLyAgIH1cbi8vXG4vLyAgIG92ZXJyaWRlIGNyZWF0ZVByZWZpeChcbi8vICAgICB0YWJsZU5hbWU6IHN0cmluZyxcbi8vICAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuLy8gICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuLy8gICAgIC4uLmFyZ3M6IGFueVtdXG4vLyAgICkge1xuLy8gICAgIGNvbnN0IGN0eDogRmFicmljQ29udHJhY3RDb250ZXh0ID0gYXJncy5wb3AoKTtcbi8vICAgICBjb25zdCBjb2xsZWN0aW9ucyA9IE9iamVjdC5rZXlzKG1vZGVsKTtcbi8vICAgICBmb3IgKGNvbnN0IGNvbGxlY3Rpb24gb2YgY29sbGVjdGlvbnMpIHtcbi8vICAgICAgIG1vZGVsW2NvbGxlY3Rpb25dW0NvdWNoREJLZXlzLlRBQkxFXSA9IHRhYmxlTmFtZTtcbi8vICAgICB9XG4vL1xuLy8gICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55PiA9IG1vZGVsO1xuLy9cbi8vICAgICByZXR1cm4gW3RhYmxlTmFtZSwgaWQsIHJlY29yZCwgY3R4XTtcbi8vICAgfVxuLy9cbi8vICAgb3ZlcnJpZGUgdXBkYXRlUHJlZml4KFxuLy8gICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuLy8gICAgIGlkOiBzdHJpbmcgfCBudW1iZXIsXG4vLyAgICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4vLyAgICAgLi4uYXJnczogYW55W11cbi8vICAgKTogKHN0cmluZyB8IG51bWJlciB8IFJlY29yZDxzdHJpbmcsIGFueT4pW10ge1xuLy8gICAgIGNvbnN0IGN0eDogRmFicmljQ29udHJhY3RDb250ZXh0ID0gYXJncy5wb3AoKTtcbi8vICAgICBjb25zdCBjb2xsZWN0aW9ucyA9IE9iamVjdC5rZXlzKG1vZGVsKTtcbi8vXG4vLyAgICAgZm9yIChjb25zdCBjb2xsZWN0aW9uIG9mIGNvbGxlY3Rpb25zKSB7XG4vLyAgICAgICBtb2RlbFtjb2xsZWN0aW9uXVtDb3VjaERCS2V5cy5UQUJMRV0gPSB0YWJsZU5hbWU7XG4vLyAgICAgfVxuLy9cbi8vICAgICBjb25zdCByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBtb2RlbDtcbi8vXG4vLyAgICAgcmV0dXJuIFt0YWJsZU5hbWUsIGlkLCByZWNvcmQsIGN0eF07XG4vLyAgIH1cbi8vICAgb3ZlcnJpZGUgYXN5bmMgcHV0U3RhdGUoXG4vLyAgICAgc3R1YjogQ2hhaW5jb2RlU3R1Yixcbi8vICAgICBpZDogc3RyaW5nLFxuLy8gICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuLy8gICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbi8vICAgICAuLi5hcmdzOiBhbnlbXVxuLy8gICApIHtcbi8vICAgICBjb25zdCBjb2xsZWN0aW9ucyA9IE9iamVjdC5rZXlzKG1vZGVsKTtcbi8vICAgICBsZXQgcmVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4vLyAgICAgbGV0IGRhdGE6IEJ1ZmZlcjtcbi8vXG4vLyAgICAgZm9yIChjb25zdCBjb2xsZWN0aW9uIG9mIGNvbGxlY3Rpb25zKSB7XG4vLyAgICAgICByZXMgPSBtb2RlbCFbY29sbGVjdGlvbl07XG4vLyAgICAgICB0cnkge1xuLy8gICAgICAgICBkYXRhID0gQnVmZmVyLmZyb20oXG4vLyAgICAgICAgICAgRmFicmljQ29udHJhY3RBZGFwdGVyLnNlcmlhbGl6ZXIuc2VyaWFsaXplKFxuLy8gICAgICAgICAgICAgbW9kZWwhW2NvbGxlY3Rpb25dIGFzIE1vZGVsXG4vLyAgICAgICAgICAgKVxuLy8gICAgICAgICApO1xuLy8gICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuLy8gICAgICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKFxuLy8gICAgICAgICAgIGBGYWlsZWQgdG8gc2VyaWFsaXplIHJlY29yZCB3aXRoIGlkICR7aWR9OiAke2V9YFxuLy8gICAgICAgICApO1xuLy8gICAgICAgfVxuLy8gICAgICAgYXdhaXQgc3R1Yi5wdXRQcml2YXRlRGF0YShjb2xsZWN0aW9uLCBpZC50b1N0cmluZygpLCBkYXRhKTtcbi8vICAgICB9XG4vL1xuLy8gICAgIHJldHVybiByZXM7XG4vLyAgIH1cbi8vXG4vLyAgIG92ZXJyaWRlIGFzeW5jIHJlYWRTdGF0ZShcbi8vICAgICBzdHViOiBDaGFpbmNvZGVTdHViLFxuLy8gICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuLy8gICAgIGlkOiBzdHJpbmcsXG4vLyAgICAgaW5zdGFuY2U6IGFueSxcbi8vICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4vLyAgICAgLi4uYXJnczogYW55W11cbi8vICAgKSB7XG4vLyAgICAgY29uc3QgY29tcG9zZWRLZXkgPSBzdHViLmNyZWF0ZUNvbXBvc2l0ZUtleSh0YWJsZU5hbWUsIFtTdHJpbmcoaWQpXSk7XG4vLyAgICAgY29uc3QgbW9kZWwgPSBtb2RlbFRvUHJpdmF0ZShpbnN0YW5jZSk7XG4vLyAgICAgY29uc3QgY29sbGVjdGlvbnMgPSBPYmplY3Qua2V5cyhtb2RlbC5wcml2YXRlISk7XG4vLyAgICAgY29uc3QgcmVzdWx0czogYW55W10gPSBbXTtcbi8vXG4vLyAgICAgZm9yIChjb25zdCBjb2xsZWN0aW9uIG9mIGNvbGxlY3Rpb25zKSB7XG4vLyAgICAgICB0cnkge1xuLy8gICAgICAgICBsZXQgcmVzOiBCdWZmZXIgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gYXdhaXQgc3R1Yi5nZXRQcml2YXRlRGF0YShcbi8vICAgICAgICAgICBjb2xsZWN0aW9uLFxuLy8gICAgICAgICAgIGNvbXBvc2VkS2V5XG4vLyAgICAgICAgICk7XG4vLyAgICAgICAgIGlmIChyZXMudG9TdHJpbmcoKSA9PT0gXCJcIikge1xuLy8gICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBFbnRyeSB3aXRoIGlkICR7aWR9IGRvZXNuJ3QgZXhpc3QuLi5gKTtcbi8vICAgICAgICAgfVxuLy8gICAgICAgICB0cnkge1xuLy8gICAgICAgICAgIHJlcyA9IEZhYnJpY0NvbnRyYWN0QWRhcHRlci5zZXJpYWxpemVyLmRlc2VyaWFsaXplKFxuLy8gICAgICAgICAgICAgcmVzLnRvU3RyaW5nKClcbi8vICAgICAgICAgICAgIC8vIG1vZGVsLmNvbnN0cnVjdG9yLm5hbWVcbi8vICAgICAgICAgICApO1xuLy8gICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4vLyAgICAgICAgICAgdGhyb3cgbmV3IFNlcmlhbGl6YXRpb25FcnJvcihgRmFpbGVkIHRvIHBhcnNlIHByaXZhdGUgZGF0YTogJHtlfWApO1xuLy8gICAgICAgICB9XG4vLyAgICAgICAgIHJlc3VsdHMucHVzaChyZXMpO1xuLy8gICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuLy8gICAgICAgICBpZiAoTUlTU0lOR19QUklWQVRFX0RBVEFfUkVHRVgudGVzdCgoZSBhcyBCYXNlRXJyb3IpLm1lc3NhZ2UpKVxuLy8gICAgICAgICAgIHRocm93IG5ldyBVbmF1dGhvcml6ZWRQcml2YXRlRGF0YUFjY2VzcyhlIGFzIEJhc2VFcnJvcik7XG4vLyAgICAgICAgIHRocm93IGU7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy9cbi8vICAgICByZXR1cm4gcmVzdWx0cztcbi8vICAgfVxuLy9cbi8vICAgb3ZlcnJpZGUgYXN5bmMgZGVsZXRlU3RhdGUoXG4vLyAgICAgc3R1YjogQ2hhaW5jb2RlU3R1Yixcbi8vICAgICB0YWJsZU5hbWU6IHN0cmluZyxcbi8vICAgICBpZDogc3RyaW5nLFxuLy8gICAgIGluc3RhbmNlOiBhbnksXG4vLyAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuLy8gICAgIC4uLmFyZ3M6IGFueVtdXG4vLyAgICkge1xuLy8gICAgIGNvbnN0IGNvbXBvc2VkS2V5ID0gc3R1Yi5jcmVhdGVDb21wb3NpdGVLZXkodGFibGVOYW1lLCBbU3RyaW5nKGlkKV0pO1xuLy8gICAgIGNvbnN0IG1vZGVsID0gbW9kZWxUb1ByaXZhdGUoaW5zdGFuY2UpO1xuLy8gICAgIGNvbnN0IGNvbGxlY3Rpb25zID0gT2JqZWN0LmtleXMobW9kZWwucHJpdmF0ZSEpO1xuLy9cbi8vICAgICBmb3IgKGNvbnN0IGNvbGxlY3Rpb24gb2YgY29sbGVjdGlvbnMpIHtcbi8vICAgICAgIGF3YWl0IHN0dWIuZGVsZXRlUHJpdmF0ZURhdGEoY29sbGVjdGlvbiwgY29tcG9zZWRLZXkpO1xuLy8gICAgIH1cbi8vICAgfVxuLy9cbi8vICAgb3ZlcnJpZGUgYXN5bmMgcXVlcnlSZXN1bHQoXG4vLyAgICAgc3R1YjogQ2hhaW5jb2RlU3R1Yixcbi8vICAgICByYXdJbnB1dDogYW55LFxuLy8gICAgIGluc3RhbmNlOiBhbnlcbi8vICAgKTogUHJvbWlzZTxJdGVyYXRvcnMuU3RhdGVRdWVyeUl0ZXJhdG9yPiB7XG4vLyAgICAgY29uc3QgcHJpdmF0ZURhdGEgPSBtb2RlbFRvUHJpdmF0ZShpbnN0YW5jZSkucHJpdmF0ZSE7XG4vLyAgICAgY29uc3QgY29sbGVjdGlvbiA9IE9iamVjdC5rZXlzKHByaXZhdGVEYXRhKVswXSB8fCBcIlwiO1xuLy9cbi8vICAgICBjb25zdCByZXN1bHQgPSAoYXdhaXQgc3R1Yi5nZXRQcml2YXRlRGF0YVF1ZXJ5UmVzdWx0KFxuLy8gICAgICAgY29sbGVjdGlvbixcbi8vICAgICAgIEpTT04uc3RyaW5naWZ5KHJhd0lucHV0KVxuLy8gICAgICkpIGFzIGFueTtcbi8vXG4vLyAgICAgY29uc3QgaXRlcmF0b3IgPSByZXN1bHQuaXRlcmF0b3IgYXMgSXRlcmF0b3JzLlN0YXRlUXVlcnlJdGVyYXRvcjtcbi8vXG4vLyAgICAgcmV0dXJuIGl0ZXJhdG9yO1xuLy8gICB9XG4vL1xuLy8gICBvdmVycmlkZSBhc3luYyBxdWVyeVJlc3VsdFBhZ2luYXRlZChcbi8vICAgICBzdHViOiBDaGFpbmNvZGVTdHViLFxuLy8gICAgIHJhd0lucHV0OiBhbnksXG4vLyAgICAgbGltaXQ6IG51bWJlciA9IDI1MCxcbi8vICAgICBza2lwOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4vLyAgICAgaW5zdGFuY2U6IGFueVxuLy8gICApOiBQcm9taXNlPFN0YXRlUXVlcnlSZXNwb25zZTxJdGVyYXRvcnMuU3RhdGVRdWVyeUl0ZXJhdG9yPj4ge1xuLy8gICAgIGNvbnN0IHByaXZhdGVEYXRhID0gbW9kZWxUb1ByaXZhdGUoaW5zdGFuY2UpLnByaXZhdGUhO1xuLy8gICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBPYmplY3Qua2V5cyhwcml2YXRlRGF0YSlbMF0gfHwgXCJcIjtcbi8vXG4vLyAgICAgY29uc3QgaXRlcmF0b3IgPSBhd2FpdCBzdHViLmdldFByaXZhdGVEYXRhUXVlcnlSZXN1bHQoXG4vLyAgICAgICBjb2xsZWN0aW9uLFxuLy8gICAgICAgSlNPTi5zdHJpbmdpZnkocmF3SW5wdXQpXG4vLyAgICAgKTtcbi8vXG4vLyAgICAgY29uc3QgcmVzdWx0czogYW55W10gPSBbXTtcbi8vICAgICBsZXQgY291bnQgPSAwO1xuLy8gICAgIGxldCByZWFjaGVkQm9va21hcmsgPSBza2lwID8gZmFsc2UgOiB0cnVlO1xuLy8gICAgIGxldCBsYXN0S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbi8vXG4vLyAgICAgd2hpbGUgKHRydWUpIHtcbi8vICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGl0ZXJhdG9yLm5leHQoKTtcbi8vXG4vLyAgICAgICBpZiAocmVzLnZhbHVlICYmIHJlcy52YWx1ZS52YWx1ZS50b1N0cmluZygpKSB7XG4vLyAgICAgICAgIGNvbnN0IHJlY29yZEtleSA9IHJlcy52YWx1ZS5rZXk7XG4vLyAgICAgICAgIGNvbnN0IHJlY29yZFZhbHVlID0gKHJlcy52YWx1ZS52YWx1ZSBhcyBhbnkpLnRvU3RyaW5nKFwidXRmOFwiKTtcbi8vXG4vLyAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBza2lwLCBza2lwIHVudGlsIHdlIHJlYWNoIGl0XG4vLyAgICAgICAgIGlmICghcmVhY2hlZEJvb2ttYXJrKSB7XG4vLyAgICAgICAgICAgaWYgKHJlY29yZEtleSA9PT0gc2tpcD8udG9TdHJpbmcoKSkge1xuLy8gICAgICAgICAgICAgcmVhY2hlZEJvb2ttYXJrID0gdHJ1ZTtcbi8vICAgICAgICAgICB9XG4vLyAgICAgICAgICAgY29udGludWU7XG4vLyAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgIHJlc3VsdHMucHVzaCh7IEtleTogcmVjb3JkS2V5LCBSZWNvcmQ6IEpTT04ucGFyc2UocmVjb3JkVmFsdWUpIH0pO1xuLy8gICAgICAgICBsYXN0S2V5ID0gcmVjb3JkS2V5O1xuLy8gICAgICAgICBjb3VudCsrO1xuLy9cbi8vICAgICAgICAgaWYgKGNvdW50ID49IGxpbWl0KSB7XG4vLyAgICAgICAgICAgYXdhaXQgaXRlcmF0b3IuY2xvc2UoKTtcbi8vICAgICAgICAgICByZXR1cm4ge1xuLy8gICAgICAgICAgICAgaXRlcmF0b3I6IHJlc3VsdHMgYXMgdW5rbm93biBhcyBJdGVyYXRvcnMuU3RhdGVRdWVyeUl0ZXJhdG9yLFxuLy8gICAgICAgICAgICAgbWV0YWRhdGE6IHtcbi8vICAgICAgICAgICAgICAgZmV0Y2hlZFJlY29yZHNDb3VudDogcmVzdWx0cy5sZW5ndGgsXG4vLyAgICAgICAgICAgICAgIGJvb2ttYXJrOiBsYXN0S2V5LFxuLy8gICAgICAgICAgICAgfSxcbi8vICAgICAgICAgICB9O1xuLy8gICAgICAgICB9XG4vLyAgICAgICB9XG4vL1xuLy8gICAgICAgaWYgKHJlcy5kb25lKSB7XG4vLyAgICAgICAgIGF3YWl0IGl0ZXJhdG9yLmNsb3NlKCk7XG4vLyAgICAgICAgIHJldHVybiB7XG4vLyAgICAgICAgICAgaXRlcmF0b3I6IHJlc3VsdHMgYXMgdW5rbm93biBhcyBJdGVyYXRvcnMuU3RhdGVRdWVyeUl0ZXJhdG9yLFxuLy8gICAgICAgICAgIG1ldGFkYXRhOiB7XG4vLyAgICAgICAgICAgICBmZXRjaGVkUmVjb3Jkc0NvdW50OiByZXN1bHRzLmxlbmd0aCxcbi8vICAgICAgICAgICAgIGJvb2ttYXJrOiBcIlwiLFxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgIH07XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICAgIC8vIHJldHVybiAoYXdhaXQgc3R1Yi5nZXRRdWVyeVJlc3VsdFdpdGhQYWdpbmF0aW9uKFxuLy8gICAgIC8vICAgSlNPTi5zdHJpbmdpZnkocmF3SW5wdXQpLFxuLy8gICAgIC8vICAgbGltaXQsXG4vLyAgICAgLy8gICBza2lwPy50b1N0cmluZygpXG4vLyAgICAgLy8gKSkgYXMgU3RhdGVRdWVyeVJlc3BvbnNlPEl0ZXJhdG9ycy5TdGF0ZVF1ZXJ5SXRlcmF0b3I+O1xuLy8gICB9XG4vL1xuLy8gICAvKipcbi8vICAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgcmF3IHF1ZXJ5IGFnYWluc3QgdGhlIHN0YXRlIGRhdGFiYXNlXG4vLyAgICAqIEBzdW1tYXJ5IFBlcmZvcm1zIGEgcmljaCBxdWVyeSB1c2luZyBDb3VjaERCIHN5bnRheCBhZ2FpbnN0IHRoZSBGYWJyaWMgc3RhdGUgZGF0YWJhc2Vcbi8vICAgICogQHRlbXBsYXRlIFIgLSBUaGUgcmV0dXJuIHR5cGVcbi8vICAgICogQHBhcmFtIHtNYW5nb1F1ZXJ5fSByYXdJbnB1dCAtIFRoZSBNYW5nbyBRdWVyeSB0byBleGVjdXRlXG4vLyAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZG9jc09ubHkgLSBXaGV0aGVyIHRvIHJldHVybiBvbmx5IGRvY3VtZW50cyAobm90IHVzZWQgaW4gdGhpcyBpbXBsZW1lbnRhdGlvbilcbi8vICAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLCBpbmNsdWRpbmcgdGhlIGNoYWluY29kZSBzdHViIGFuZCBsb2dnZXJcbi8vICAgICogQHJldHVybiB7UHJvbWlzZTxSPn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHF1ZXJ5IHJlc3VsdHNcbi8vICAgICogQG1lcm1haWRcbi8vICAgICogc2VxdWVuY2VEaWFncmFtXG4vLyAgICAqICAgcGFydGljaXBhbnQgQ2FsbGVyXG4vLyAgICAqICAgcGFydGljaXBhbnQgRmFicmljQ29udHJhY3RBZGFwdGVyXG4vLyAgICAqICAgcGFydGljaXBhbnQgU3R1YlxuLy8gICAgKiAgIHBhcnRpY2lwYW50IFN0YXRlREJcbi8vICAgICpcbi8vICAgICogICBDYWxsZXItPj5GYWJyaWNDb250cmFjdEFkYXB0ZXI6IHJhdyhyYXdJbnB1dCwgZG9jc09ubHksIGN0eClcbi8vICAgICogICBGYWJyaWNDb250cmFjdEFkYXB0ZXItPj5GYWJyaWNDb250cmFjdEFkYXB0ZXI6IEV4dHJhY3QgbGltaXQgYW5kIHNraXBcbi8vICAgICogICBhbHQgV2l0aCBwYWdpbmF0aW9uXG4vLyAgICAqICAgICBGYWJyaWNDb250cmFjdEFkYXB0ZXItPj5TdHViOiBnZXRRdWVyeVJlc3VsdFdpdGhQYWdpbmF0aW9uKHF1ZXJ5LCBsaW1pdCwgc2tpcClcbi8vICAgICogICBlbHNlIFdpdGhvdXQgcGFnaW5hdGlvblxuLy8gICAgKiAgICAgRmFicmljQ29udHJhY3RBZGFwdGVyLT4+U3R1YjogZ2V0UXVlcnlSZXN1bHQocXVlcnkpXG4vLyAgICAqICAgZW5kXG4vLyAgICAqICAgU3R1Yi0+PlN0YXRlREI6IEV4ZWN1dGUgcXVlcnlcbi8vICAgICogICBTdGF0ZURCLS0+PlN0dWI6IEl0ZXJhdG9yXG4vLyAgICAqICAgU3R1Yi0tPj5GYWJyaWNDb250cmFjdEFkYXB0ZXI6IEl0ZXJhdG9yXG4vLyAgICAqICAgRmFicmljQ29udHJhY3RBZGFwdGVyLT4+RmFicmljQ29udHJhY3RBZGFwdGVyOiByZXN1bHRJdGVyYXRvcihsb2csIGl0ZXJhdG9yKVxuLy8gICAgKiAgIEZhYnJpY0NvbnRyYWN0QWRhcHRlci0tPj5DYWxsZXI6IHJlc3VsdHNcbi8vICAgICovXG4vLyAgIG92ZXJyaWRlIGFzeW5jIHJhdzxSPihcbi8vICAgICByYXdJbnB1dDogTWFuZ29RdWVyeSxcbi8vICAgICBkb2NzT25seTogYm9vbGVhbixcbi8vICAgICAuLi5hcmdzOiBhbnlbXVxuLy8gICApOiBQcm9taXNlPFI+IHtcbi8vICAgICBjb25zdCB7IHN0dWIsIGxvZ2dlciB9ID0gYXJncy5wb3AoKTtcbi8vICAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKHRoaXMucmF3KTtcbi8vICAgICBjb25zdCB7IHNraXAsIGxpbWl0IH0gPSByYXdJbnB1dDtcbi8vICAgICBjb25zdCBpbnN0YW5jZSA9IGFyZ3Muc2hpZnQoKTtcbi8vICAgICBsZXQgaXRlcmF0b3I6IEl0ZXJhdG9ycy5TdGF0ZVF1ZXJ5SXRlcmF0b3I7XG4vLyAgICAgaWYgKGxpbWl0IHx8IHNraXApIHtcbi8vICAgICAgIGRlbGV0ZSByYXdJbnB1dFtcImxpbWl0XCJdO1xuLy8gICAgICAgZGVsZXRlIHJhd0lucHV0W1wic2tpcFwiXTtcbi8vICAgICAgIGxvZy5kZWJ1Zyhcbi8vICAgICAgICAgYFJldHJpZXZpbmcgcGFnaW5hdGVkIGl0ZXJhdG9yOiBsaW1pdDogJHtsaW1pdH0vIHNraXA6ICR7c2tpcH1gXG4vLyAgICAgICApO1xuLy8gICAgICAgY29uc3QgcmVzcG9uc2U6IFN0YXRlUXVlcnlSZXNwb25zZTxJdGVyYXRvcnMuU3RhdGVRdWVyeUl0ZXJhdG9yPiA9XG4vLyAgICAgICAgIChhd2FpdCB0aGlzLnF1ZXJ5UmVzdWx0UGFnaW5hdGVkKFxuLy8gICAgICAgICAgIHN0dWIsXG4vLyAgICAgICAgICAgcmF3SW5wdXQsXG4vLyAgICAgICAgICAgbGltaXQgfHwgMjUwLFxuLy8gICAgICAgICAgIChza2lwIGFzIGFueSk/LnRvU3RyaW5nKCksXG4vLyAgICAgICAgICAgaW5zdGFuY2Vcbi8vICAgICAgICAgKSkgYXMgU3RhdGVRdWVyeVJlc3BvbnNlPEl0ZXJhdG9ycy5TdGF0ZVF1ZXJ5SXRlcmF0b3I+O1xuLy8gICAgICAgaXRlcmF0b3IgPSByZXNwb25zZS5pdGVyYXRvcjtcbi8vICAgICB9IGVsc2Uge1xuLy8gICAgICAgbG9nLmRlYnVnKFwiUmV0cmlldmluZyBpdGVyYXRvclwiKTtcbi8vICAgICAgIGl0ZXJhdG9yID0gKGF3YWl0IHRoaXMucXVlcnlSZXN1bHQoXG4vLyAgICAgICAgIHN0dWIsXG4vLyAgICAgICAgIHJhd0lucHV0LFxuLy8gICAgICAgICBpbnN0YW5jZVxuLy8gICAgICAgKSkgYXMgSXRlcmF0b3JzLlN0YXRlUXVlcnlJdGVyYXRvcjtcbi8vICAgICB9XG4vLyAgICAgbG9nLmRlYnVnKFwiSXRlcmF0b3IgYWNxdWlyZWRcIik7XG4vL1xuLy8gICAgIGNvbnN0IHJlc3VsdHMgPSAoYXdhaXQgdGhpcy5yZXN1bHRJdGVyYXRvcihsb2csIGl0ZXJhdG9yKSkgYXMgUjtcbi8vICAgICBsb2cuZGVidWcoXG4vLyAgICAgICBgcmV0dXJuaW5nIHswfSByZXN1bHRzYCxcbi8vICAgICAgIGAke0FycmF5LmlzQXJyYXkocmVzdWx0cykgPyByZXN1bHRzLmxlbmd0aCA6IDF9YFxuLy8gICAgICk7XG4vLyAgICAgcmV0dXJuIHJlc3VsdHM7XG4vLyAgIH1cbi8vIH1cbiJdfQ==
|