@aws-cdk/aws-glue-alpha
Version:
The CDK Construct Library for AWS::Glue
147 lines • 14.9 kB
JavaScript
;
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
var _, done = false;
for (var i = decorators.length - 1; i >= 0; i--) {
var context = {};
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
if (kind === "accessor") {
if (result === void 0) continue;
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
if (_ = accept(result.get)) descriptor.get = _;
if (_ = accept(result.set)) descriptor.set = _;
if (_ = accept(result.init)) initializers.unshift(_);
}
else if (_ = accept(result)) {
if (kind === "field") initializers.unshift(_);
else descriptor[key] = _;
}
}
if (target) Object.defineProperty(target, contextIn.name, descriptor);
done = true;
};
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
var useValue = arguments.length > 2;
for (var i = 0; i < initializers.length; i++) {
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
}
return useValue ? value : void 0;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataQualityRuleset = exports.DataQualityTargetTable = void 0;
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdk = require("aws-cdk-lib");
const core_1 = require("aws-cdk-lib/core");
const aws_glue_1 = require("aws-cdk-lib/aws-glue");
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
/**
* Properties of a DataQualityTargetTable.
*/
class DataQualityTargetTable {
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityTargetTable", version: "2.225.0-alpha.0" };
/**
* The database name of the target table.
*/
databaseName;
/**
* The table name of the target table.
*/
tableName;
constructor(databaseName, tableName) {
this.databaseName = databaseName;
this.tableName = tableName;
}
}
exports.DataQualityTargetTable = DataQualityTargetTable;
/**
* A Glue Data Quality ruleset.
*/
let DataQualityRuleset = (() => {
let _classDecorators = [prop_injectable_1.propertyInjectable];
let _classDescriptor;
let _classExtraInitializers = [];
let _classThis;
let _classSuper = core_1.Resource;
var DataQualityRuleset = class extends _classSuper {
static { _classThis = this; }
static {
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
DataQualityRuleset = _classThis = _classDescriptor.value;
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
}
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityRuleset", version: "2.225.0-alpha.0" };
/** Uniquely identifies this class. */
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.DataQualityRuleset';
static fromRulesetArn(scope, id, rulesetArn) {
class Import extends core_1.Resource {
rulesetArn = rulesetArn;
rulesetName = cdk.Arn.extractResourceName(rulesetArn, 'dataqualityruleset');
}
return new Import(scope, id);
}
static fromRulesetName(scope, id, rulesetName) {
class Import extends core_1.Resource {
rulesetArn = DataQualityRuleset.buildRulesetArn(scope, rulesetName);
rulesetName = rulesetName;
}
return new Import(scope, id);
}
static buildRulesetArn(scope, rulesetName) {
return cdk.Stack.of(scope).formatArn({
service: 'glue',
resource: 'dataqualityruleset',
resourceName: rulesetName,
});
}
/**
* Name of this ruleset.
*/
rulesetName;
/**
* ARN of this ruleset.
*/
rulesetArn;
constructor(scope, id, props) {
super(scope, id, {
physicalName: props.rulesetName,
});
try {
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_DataQualityRulesetProps(props);
}
catch (error) {
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
Error.captureStackTrace(error, DataQualityRuleset);
}
throw error;
}
// Enhanced CDK Analytics Telemetry
(0, metadata_resource_1.addConstructMetadata)(this, props);
const rulesetResource = new aws_glue_1.CfnDataQualityRuleset(this, 'Resource', {
clientToken: props.clientToken,
description: props.description,
name: props.rulesetName,
ruleset: props.rulesetDqdl,
tags: props.tags,
targetTable: props.targetTable,
});
const resourceName = this.getResourceNameAttribute(rulesetResource.ref);
this.rulesetArn = DataQualityRuleset.buildRulesetArn(this, resourceName);
this.rulesetName = resourceName;
}
static {
__runInitializers(_classThis, _classExtraInitializers);
}
};
return DataQualityRuleset = _classThis;
})();
exports.DataQualityRuleset = DataQualityRuleset;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1xdWFsaXR5LXJ1bGVzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkYXRhLXF1YWxpdHktcnVsZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBbUM7QUFFbkMsMkNBQXVEO0FBQ3ZELG1EQUE2RDtBQUM3RCw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFOztHQUVHO0FBQ0gsTUFBYSxzQkFBc0I7O0lBQ2pDOztPQUVHO0lBQ00sWUFBWSxDQUFTO0lBRTlCOztPQUVHO0lBQ00sU0FBUyxDQUFTO0lBRTNCLFlBQVksWUFBb0IsRUFBRSxTQUFpQjtRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztLQUM1Qjs7QUFkSCx3REFlQztBQXlERDs7R0FFRztJQUVVLGtCQUFrQjs0QkFEOUIsb0NBQWtCOzs7O3NCQUNxQixlQUFRO2tDQUFoQixTQUFRLFdBQVE7Ozs7WUFBaEQsNktBNERDOzs7OztRQTNEQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLDRDQUE0QyxDQUFDO1FBRTdGLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBMkIsRUFBRSxFQUFVLEVBQUUsVUFBa0I7WUFDdEYsTUFBTSxNQUFPLFNBQVEsZUFBUTtnQkFDcEIsVUFBVSxHQUFHLFVBQVUsQ0FBQztnQkFDeEIsV0FBVyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLENBQUM7YUFDcEY7WUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM5QjtRQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBMkIsRUFBRSxFQUFVLEVBQUUsV0FBbUI7WUFDeEYsTUFBTSxNQUFPLFNBQVEsZUFBUTtnQkFDcEIsVUFBVSxHQUFHLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ3BFLFdBQVcsR0FBRyxXQUFXLENBQUM7YUFDbEM7WUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM5QjtRQUVPLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBMkIsRUFBRSxXQUFtQjtZQUM3RSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDbkMsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsWUFBWSxFQUFFLFdBQVc7YUFDMUIsQ0FBQyxDQUFDO1NBQ0o7UUFFRDs7V0FFRztRQUNhLFdBQVcsQ0FBUztRQUVwQzs7V0FFRztRQUNhLFVBQVUsQ0FBUztRQUVuQyxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1lBQ2pGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsV0FBVzthQUNoQyxDQUFDLENBQUM7Ozs7OzttREEzQ00sa0JBQWtCOzs7O1lBNEMzQixtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxnQ0FBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNsRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUN2QixPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzFCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO2FBQy9CLENBQUMsQ0FBQztZQUVILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1NBQ2pDOztZQTNEVSx1REFBa0I7Ozs7O0FBQWxCLGdEQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSVJlc291cmNlLCBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ2ZuRGF0YVF1YWxpdHlSdWxlc2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgb2YgYSBEYXRhUXVhbGl0eVRhcmdldFRhYmxlLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YVF1YWxpdHlUYXJnZXRUYWJsZSB7XG4gIC8qKlxuICAgKiBUaGUgZGF0YWJhc2UgbmFtZSBvZiB0aGUgdGFyZ2V0IHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWJsZSBuYW1lIG9mIHRoZSB0YXJnZXQgdGFibGUuXG4gICAqL1xuICByZWFkb25seSB0YWJsZU5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihkYXRhYmFzZU5hbWU6IHN0cmluZywgdGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRhdGFiYXNlTmFtZSA9IGRhdGFiYXNlTmFtZTtcbiAgICB0aGlzLnRhYmxlTmFtZSA9IHRhYmxlTmFtZTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhUXVhbGl0eVJ1bGVzZXQgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgcnVsZXNldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBydWxlc2V0QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBydWxlc2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVzZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uc3RydWN0aW9uIHByb3BlcnRpZXMgZm9yIGBEYXRhUXVhbGl0eVJ1bGVzZXRgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVF1YWxpdHlSdWxlc2V0UHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bGVzZXRcbiAgICogQGRlZmF1bHQgY2xvdWRmb3JtYXRpb24gZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVzZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY2xpZW50IHRva2VuIG9mIHRoZSBydWxlc2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGNsaWVudFRva2VuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHJ1bGVzZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkcWRsIG9mIHRoZSBydWxlc2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVzZXREcWRsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqICBLZXktVmFsdWUgcGFpcnMgdGhhdCBkZWZpbmUgdGFncyBmb3IgdGhlIHJ1bGVzZXQuXG4gICAqICBAZGVmYXVsdCBlbXB0eSB0YWdzXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCB0YWJsZSBvZiB0aGUgcnVsZXNldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRUYWJsZTogRGF0YVF1YWxpdHlUYXJnZXRUYWJsZTtcbn1cblxuLyoqXG4gKiBBIEdsdWUgRGF0YSBRdWFsaXR5IHJ1bGVzZXQuXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBEYXRhUXVhbGl0eVJ1bGVzZXQgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhUXVhbGl0eVJ1bGVzZXQge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLkRhdGFRdWFsaXR5UnVsZXNldCc7XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tUnVsZXNldEFybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHJ1bGVzZXRBcm46IHN0cmluZyk6IElEYXRhUXVhbGl0eVJ1bGVzZXQge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSURhdGFRdWFsaXR5UnVsZXNldCB7XG4gICAgICBwdWJsaWMgcnVsZXNldEFybiA9IHJ1bGVzZXRBcm47XG4gICAgICBwdWJsaWMgcnVsZXNldE5hbWUgPSBjZGsuQXJuLmV4dHJhY3RSZXNvdXJjZU5hbWUocnVsZXNldEFybiwgJ2RhdGFxdWFsaXR5cnVsZXNldCcpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21SdWxlc2V0TmFtZShzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHJ1bGVzZXROYW1lOiBzdHJpbmcpOiBJRGF0YVF1YWxpdHlSdWxlc2V0IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhUXVhbGl0eVJ1bGVzZXQge1xuICAgICAgcHVibGljIHJ1bGVzZXRBcm4gPSBEYXRhUXVhbGl0eVJ1bGVzZXQuYnVpbGRSdWxlc2V0QXJuKHNjb3BlLCBydWxlc2V0TmFtZSk7XG4gICAgICBwdWJsaWMgcnVsZXNldE5hbWUgPSBydWxlc2V0TmFtZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYnVpbGRSdWxlc2V0QXJuKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgcnVsZXNldE5hbWU6IHN0cmluZykgOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2x1ZScsXG4gICAgICByZXNvdXJjZTogJ2RhdGFxdWFsaXR5cnVsZXNldCcsXG4gICAgICByZXNvdXJjZU5hbWU6IHJ1bGVzZXROYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhpcyBydWxlc2V0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVzZXROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFSTiBvZiB0aGlzIHJ1bGVzZXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcnVsZXNldEFybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFRdWFsaXR5UnVsZXNldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLnJ1bGVzZXROYW1lLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcnVsZXNldFJlc291cmNlID0gbmV3IENmbkRhdGFRdWFsaXR5UnVsZXNldCh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBjbGllbnRUb2tlbjogcHJvcHMuY2xpZW50VG9rZW4sXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBuYW1lOiBwcm9wcy5ydWxlc2V0TmFtZSxcbiAgICAgIHJ1bGVzZXQ6IHByb3BzLnJ1bGVzZXREcWRsLFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgIHRhcmdldFRhYmxlOiBwcm9wcy50YXJnZXRUYWJsZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc291cmNlTmFtZSA9IHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHJ1bGVzZXRSZXNvdXJjZS5yZWYpO1xuICAgIHRoaXMucnVsZXNldEFybiA9IERhdGFRdWFsaXR5UnVsZXNldC5idWlsZFJ1bGVzZXRBcm4odGhpcywgcmVzb3VyY2VOYW1lKTtcbiAgICB0aGlzLnJ1bGVzZXROYW1lID0gcmVzb3VyY2VOYW1lO1xuICB9XG59XG4iXX0=