@aws-cdk/integ-runner 2.200.1 → 2.201.0
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/README.md +22 -2
- package/THIRD_PARTY_LICENSES +739 -2567
- package/lib/cli.js +43 -7
- package/lib/engines/proxy-agent.js +35 -2
- package/lib/engines/toolkit-lib.js +43 -7
- package/lib/index.js +518 -457
- package/lib/logger.js +44 -8
- package/lib/runner/{runner-base.d.ts → cdk-integ-helper.d.ts} +96 -33
- package/lib/runner/cdk-integ-helper.d.ts.map +1 -0
- package/lib/runner/cdk-integ-helper.js +517 -0
- package/lib/runner/engine.d.ts +3 -2
- package/lib/runner/engine.d.ts.map +1 -1
- package/lib/runner/engine.js +1 -1
- package/lib/runner/index.d.ts +1 -1
- package/lib/runner/index.d.ts.map +1 -1
- package/lib/runner/index.js +2 -2
- package/lib/runner/integ-test-runner.d.ts +12 -4
- package/lib/runner/integ-test-runner.d.ts.map +1 -1
- package/lib/runner/integ-test-runner.js +134 -71
- package/lib/runner/integ-test-suite.js +36 -3
- package/lib/runner/integration-tests.d.ts +8 -0
- package/lib/runner/integration-tests.d.ts.map +1 -1
- package/lib/runner/integration-tests.js +47 -3
- package/lib/runner/private/cloud-assembly.d.ts +1 -2
- package/lib/runner/private/cloud-assembly.d.ts.map +1 -1
- package/lib/runner/private/cloud-assembly.js +36 -3
- package/lib/runner/private/integ-manifest.js +36 -3
- package/lib/runner/private/test-specific-context.d.ts +3 -0
- package/lib/runner/private/test-specific-context.d.ts.map +1 -0
- package/lib/runner/private/test-specific-context.js +81 -0
- package/lib/runner/snapshot-test-runner.d.ts +10 -6
- package/lib/runner/snapshot-test-runner.d.ts.map +1 -1
- package/lib/runner/snapshot-test-runner.js +64 -34
- package/lib/unstable-features.js +35 -2
- package/lib/workers/common.js +51 -15
- package/lib/workers/extract/extract_worker.js +35 -2
- package/lib/workers/extract/index.js +5149 -45331
- package/lib/workers/integ-snapshot-worker.js +35 -2
- package/lib/workers/integ-test-worker.js +35 -2
- package/package.json +7 -9
- package/lib/runner/runner-base.d.ts.map +0 -1
- package/lib/runner/runner-base.js +0 -381
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.LegacyIntegTestSuite = exports.IntegTestSuite = void 0;
|
|
4
|
-
const osPath = require("path");
|
|
37
|
+
const osPath = __importStar(require("path"));
|
|
5
38
|
const cloud_assembly_schema_1 = require("@aws-cdk/cloud-assembly-schema");
|
|
6
|
-
const fs = require("fs-extra");
|
|
39
|
+
const fs = __importStar(require("fs-extra"));
|
|
7
40
|
const integ_manifest_1 = require("./private/integ-manifest");
|
|
8
41
|
const CDK_INTEG_STACK_PRAGMA = '/// !cdk-integ';
|
|
9
42
|
const PRAGMA_PREFIX = 'pragma:';
|
|
@@ -201,4 +234,4 @@ class LegacyIntegTestSuite extends IntegTestSuite {
|
|
|
201
234
|
}
|
|
202
235
|
}
|
|
203
236
|
exports.LegacyIntegTestSuite = LegacyIntegTestSuite;
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC1zdWl0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLXRlc3Qtc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBRS9CLDBFQUEwRDtBQUMxRCwrQkFBK0I7QUFFL0IsNkRBQStEO0FBRS9ELE1BQU0sc0JBQXNCLEdBQUcsZ0JBQWdCLENBQUM7QUFDaEQsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ2hDLE1BQU0seUJBQXlCLEdBQUcscUJBQXFCLENBQUM7QUFDeEQsTUFBTSxtQkFBbUIsR0FBRyw4QkFBOEIsQ0FBQztBQUMzRCxNQUFNLHVCQUF1QixHQUFHLGdDQUFnQyxDQUFDO0FBQ2pFLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUM7QUFTdEQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBYztJQWdCUDtJQUNBO0lBQ0E7SUFqQmxCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLG9DQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksY0FBYyxDQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFDMUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQ3RCLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVlLElBQUksR0FBa0IsWUFBWSxDQUFDO0lBRW5ELFlBQ2tCLGFBQXNCLEVBQ3RCLFNBQW9CLEVBQ3BCLFlBQXlDO1FBRnpDLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQTZCO0lBRTNELENBQUM7SUFFRDs7T0FFRztJQUNJLDhCQUE4QjtRQUNuQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUNqQyxNQUFN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QU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRWUsSUFBSSxHQUFrQixtQkFBbUIsQ0FBQztJQUUxRCxZQUNrQixhQUFzQixFQUN0QixTQUFvQixFQUNwQixZQUF5QztRQUV6RCxLQUFLLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSmhCLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQTZCO0lBRzNELENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVksQ0FBQyxTQUFpQixFQUFFLE9BQTZCO1FBQ2xFLE1BQU0sUUFBUSxHQUFrQjtZQUM5QixPQUFPLEVBQUUsZ0NBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFlBQVksRUFBRSxPQUFPO1lBQ3JCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUNsQyxDQUFDO1FBQ0YsZ0NBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsb0NBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7Q0FDRjtBQTVJRCxvREE0SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvc1BhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IFRlc3RDYXNlLCBUZXN0T3B0aW9ucywgSW50ZWdNYW5pZmVzdCB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBNYW5pZmVzdCB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgdHlwZSB7IElDZGssIExpc3RPcHRpb25zIH0gZnJvbSAnLi4vZW5naW5lcy9jZGstaW50ZXJmYWNlJztcbmltcG9ydCB7IEludGVnTWFuaWZlc3RSZWFkZXIgfSBmcm9tICcuL3ByaXZhdGUvaW50ZWctbWFuaWZlc3QnO1xuXG5jb25zdCBDREtfSU5URUdfU1RBQ0tfUFJBR01BID0gJy8vLyAhY2RrLWludGVnJztcbmNvbnN0IFBSQUdNQV9QUkVGSVggPSAncHJhZ21hOic7XG5jb25zdCBTRVRfQ09OVEVYVF9QUkFHTUFfUFJFRklYID0gJ3ByYWdtYTpzZXQtY29udGV4dDonO1xuY29uc3QgVkVSSUZZX0FTU0VUX0hBU0hFUyA9ICdwcmFnbWE6aW5jbHVkZS1hc3NldHMtaGFzaGVzJztcbmNvbnN0IERJU0FCTEVfVVBEQVRFX1dPUktGTE9XID0gJ3ByYWdtYTpkaXNhYmxlLXVwZGF0ZS13b3JrZmxvdyc7XG5jb25zdCBFTkFCTEVfTE9PS1VQU19QUkFHTUEgPSAncHJhZ21hOmVuYWJsZS1sb29rdXBzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGludGVncmF0aW9uIHRlc3RcbiAqL1xuZXhwb3J0IHR5cGUgVGVzdFN1aXRlID0geyBbdGVzdE5hbWU6IHN0cmluZ106IFRlc3RDYXNlIH07XG5cbmV4cG9ydCB0eXBlIFRlc3RTdWl0ZVR5cGUgPSAndGVzdC1zdWl0ZScgfCAnbGVnYWN5LXRlc3Qtc3VpdGUnO1xuXG4vKipcbiAqIEhlbHBlciBjbGFzcyBmb3Igd29ya2luZyB3aXRoIEludGVncmF0aW9uIHRlc3RzXG4gKiBUaGlzIHJlcXVpcmVzIGFuIGBpbnRlZy5qc29uYCBmaWxlIGluIHRoZSBzbmFwc2hvdFxuICogZGlyZWN0b3J5LiBGb3IgbGVnYWN5IHRlc3QgY2FzZXMgdXNlIExlZ2FjeUludGVnVGVzdENhc2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlZ1Rlc3RTdWl0ZSB7XG4gIC8qKlxuICAgKiBMb2FkcyBpbnRlZyB0ZXN0cyBmcm9tIGEgc25hcHNob3QgZGlyZWN0b3J5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21QYXRoKHBhdGg6IHN0cmluZyk6IEludGVnVGVzdFN1aXRlIHtcbiAgICBjb25zdCByZWFkZXIgPSBJbnRlZ01hbmlmZXN0UmVhZGVyLmZyb21QYXRoKHBhdGgpO1xuICAgIHJldHVybiBuZXcgSW50ZWdUZXN0U3VpdGUoXG4gICAgICByZWFkZXIudGVzdHMuZW5hYmxlTG9va3VwcyxcbiAgICAgIHJlYWRlci50ZXN0cy50ZXN0Q2FzZXMsXG4gICAgICByZWFkZXIudGVzdHMuc3ludGhDb250ZXh0LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogVGVzdFN1aXRlVHlwZSA9ICd0ZXN0LXN1aXRlJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZW5hYmxlTG9va3VwczogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGVzdFN1aXRlOiBUZXN0U3VpdGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHN5bnRoQ29udGV4dD86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9LFxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBzdGFja3MgdGhhdCBoYXZlIHN0YWNrVXBkYXRlV29ya2Zsb3cgZGlzYWJsZWRcbiAgICovXG4gIHB1YmxpYyBnZXRTdGFja3NXaXRob3V0VXBkYXRlV29ya2Zsb3coKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMudGVzdFN1aXRlKVxuICAgICAgLmZpbHRlcih0ZXN0Q2FzZSA9PiAhKHRlc3RDYXNlLnN0YWNrVXBkYXRlV29ya2Zsb3cgPz8gdHJ1ZSkpXG4gICAgICAuZmxhdE1hcCgodGVzdENhc2U6IFRlc3RDYXNlKSA9PiB0ZXN0Q2FzZS5zdGFja3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGVzdCBjYXNlIG9wdGlvbnMgZm9yIGEgZ2l2ZW4gc3RhY2tcbiAgICovXG4gIHB1YmxpYyBnZXRPcHRpb25zRm9yU3RhY2soc3RhY2tJZDogc3RyaW5nKTogVGVzdE9wdGlvbnMgfCB1bmRlZmluZWQge1xuICAgIGZvciAoY29uc3QgdGVzdENhc2Ugb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnRlc3RTdWl0ZSA/PyB7fSkpIHtcbiAgICAgIGlmICh0ZXN0Q2FzZS5zdGFja3MuaW5jbHVkZXMoc3RhY2tJZCkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBob29rczogdGVzdENhc2UuaG9va3MsXG4gICAgICAgICAgcmVnaW9uczogdGVzdENhc2UucmVnaW9ucyxcbiAgICAgICAgICBkaWZmQXNzZXRzOiB0ZXN0Q2FzZS5kaWZmQXNzZXRzID8/IGZhbHNlLFxuICAgICAgICAgIGFsbG93RGVzdHJveTogdGVzdENhc2UuYWxsb3dEZXN0cm95LFxuICAgICAgICAgIGNka0NvbW1hbmRPcHRpb25zOiB0ZXN0Q2FzZS5jZGtDb21tYW5kT3B0aW9ucyxcbiAgICAgICAgICBzdGFja1VwZGF0ZVdvcmtmbG93OiB0ZXN0Q2FzZS5zdGFja1VwZGF0ZVdvcmtmbG93ID8/IHRydWUsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgbGlzdCBvZiBzdGFja3MgaW4gdGhlIHRlc3Qgc3VpdGVcbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhY2tzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLnRlc3RTdWl0ZSkuZmxhdE1hcCh0ZXN0Q2FzZSA9PiB0ZXN0Q2FzZS5zdGFja3MpO1xuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYSByZWFkaW5nIGEgbGVnYWN5IHRlc3QgY2FzZSBtYW5pZmVzdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExlZ2FjeVRlc3RDYXNlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0ZXN0IGNhc2VcbiAgICovXG4gIHJlYWRvbmx5IHRlc3ROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBgY2RrIGxpc3RgXG4gICAqIFRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG5hbWUgb2YgdGhlIHN0YWNrc1xuICAgKiBpbiB0aGUgdGVzdCBjYXNlXG4gICAqL1xuICByZWFkb25seSBsaXN0T3B0aW9uczogTGlzdE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFuIGluc3RhbmNlIG9mIHRoZSBDREsgQ0xJIChlLmcuIENka0NsaVdyYXBwZXIpXG4gICAqL1xuICByZWFkb25seSBjZGs6IElDZGs7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0IGZpbGVcbiAgICogaS5lLiBpbnRlZy50ZXN0LmpzXG4gICAqL1xuICByZWFkb25seSBpbnRlZ1NvdXJjZUZpbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBjcmVhdGluZyBhbiBpbnRlZyBtYW5pZmVzdCBmb3IgbGVnYWN5XG4gKiB0ZXN0IGNhc2VzLCBpLmUuIHRlc3RzIHdpdGhvdXQgYSBgaW50ZWcuanNvbmAuXG4gKi9cbmV4cG9ydCBjbGFzcyBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZSBleHRlbmRzIEludGVnVGVzdFN1aXRlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpbmdsZSB0ZXN0IHN0YWNrIHRvIHVzZS5cbiAgICpcbiAgICogSWYgdGhlIHRlc3QgaGFzIGEgc2luZ2xlIHN0YWNrLCBpdCB3aWxsIGJlIGNob3Nlbi4gT3RoZXJ3aXNlIGEgcHJhZ21hIGlzIGV4cGVjdGVkIHdpdGhpbiB0aGVcbiAgICogdGVzdCBmaWxlIHRoZSBuYW1lIG9mIHRoZSBzdGFjazpcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogICAgLy8vICFjZGstaW50ZWcgPHN0YWNrLW5hbWU+XG4gICAqXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGZyb21MZWdhY3koY29uZmlnOiBMZWdhY3lUZXN0Q2FzZUNvbmZpZyk6IFByb21pc2U8TGVnYWN5SW50ZWdUZXN0U3VpdGU+IHtcbiAgICBjb25zdCBwcmFnbWFzID0gdGhpcy5wcmFnbWFzKGNvbmZpZy5pbnRlZ1NvdXJjZUZpbGVQYXRoKTtcbiAgICBjb25zdCB0ZXN0czogVGVzdENhc2UgPSB7XG4gICAgICBzdGFja3M6IFtdLFxuICAgICAgZGlmZkFzc2V0czogcHJhZ21hcy5pbmNsdWRlcyhWRVJJRllfQVNTRVRfSEFTSEVTKSxcbiAgICAgIHN0YWNrVXBkYXRlV29ya2Zsb3c6ICFwcmFnbWFzLmluY2x1ZGVzKERJU0FCTEVfVVBEQVRFX1dPUktGTE9XKSxcbiAgICB9O1xuICAgIGNvbnN0IHByYWdtYSA9IHRoaXMucmVhZFN0YWNrUHJhZ21hKGNvbmZpZy5pbnRlZ1NvdXJjZUZpbGVQYXRoKTtcbiAgICBpZiAocHJhZ21hLmxlbmd0aCA+IDApIHtcbiAgICAgIHRlc3RzLnN0YWNrcy5wdXNoKC4uLnByYWdtYSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IExpc3RPcHRpb25zID0ge1xuICAgICAgICAuLi5jb25maWcubGlzdE9wdGlvbnMsXG4gICAgICAgIG5vdGljZXM6IGZhbHNlLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHN0YWNrcyA9IGF3YWl0IGNvbmZpZy5jZGsubGlzdChvcHRpb25zKTtcbiAgICAgIGlmIChzdGFja3MubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignXCJpbnRlZy1ydW5uZXJcIiBjYW4gb25seSBvcGVyYXRlIG9uIGFwcHMgd2l0aCBhIHNpbmdsZSBzdGFjay5cXG5cXG4nICtcbiAgICAgICAgICAnICBJZiB5b3VyIGFwcCBoYXMgbXVsdGlwbGUgc3RhY2tzLCBzcGVjaWZ5IHdoaWNoIHN0YWNrIHRvIHNlbGVjdCBieSBhZGRpbmcgdGhpcyB0byB5b3VyIHRlc3Qgc291cmNlOlxcblxcbicgK1xuICAgICAgICAgIGAgICAgICAke0NES19JTlRFR19TVEFDS19QUkFHTUF9IFNUQUNLIC4uLlxcblxcbmAgK1xuICAgICAgICAgIGAgIEF2YWlsYWJsZSBzdGFja3M6ICR7c3RhY2tzLmpvaW4oJyAnKX0gKHdpbGRjYXJkcyBhcmUgYWxzbyBzdXBwb3J0ZWQpXFxuYCk7XG4gICAgICB9XG4gICAgICBpZiAoc3RhY2tzLmxlbmd0aCA9PT0gMSAmJiBzdGFja3NbMF0gPT09ICcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3RhY2sgZm91bmQgZm9yIHRlc3QgJHtjb25maWcudGVzdE5hbWV9YCk7XG4gICAgICB9XG4gICAgICB0ZXN0cy5zdGFja3MucHVzaCguLi5zdGFja3MpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgTGVnYWN5SW50ZWdUZXN0U3VpdGUoXG4gICAgICBwcmFnbWFzLmluY2x1ZGVzKEVOQUJMRV9MT09LVVBTX1BSQUdNQSksXG4gICAgICB7XG4gICAgICAgIFtjb25maWcudGVzdE5hbWVdOiB0ZXN0cyxcbiAgICAgIH0sXG4gICAgICBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZS5nZXRQcmFnbWFDb250ZXh0KGNvbmZpZy5pbnRlZ1NvdXJjZUZpbGVQYXRoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRQcmFnbWFDb250ZXh0KGludGVnU291cmNlRmlsZVBhdGg6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IGN0eFByYWdtYUNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAgIC8vIGFwcGx5IGNvbnRleHQgZnJvbSBzZXQtY29udGV4dCBwcmFnbWFcbiAgICAvLyB1c2FnZTogcHJhZ21hOnNldC1jb250ZXh0OmtleT12YWx1ZVxuICAgIGNvbnN0IGN0eFByYWdtYXMgPSAodGhpcy5wcmFnbWFzKGludGVnU291cmNlRmlsZVBhdGgpKS5maWx0ZXIocCA9PiBwLnN0YXJ0c1dpdGgoU0VUX0NPTlRFWFRfUFJBR01BX1BSRUZJWCkpO1xuICAgIGZvciAoY29uc3QgcCBvZiBjdHhQcmFnbWFzKSB7XG4gICAgICBjb25zdCBpbnN0cnVjdGlvbiA9IHAuc3Vic3RyaW5nKFNFVF9DT05URVhUX1BSQUdNQV9QUkVGSVgubGVuZ3RoKTtcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGluc3RydWN0aW9uLnNwbGl0KCc9Jyk7XG4gICAgICBpZiAoa2V5ID09IG51bGwgfHwgdmFsdWUgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgXCJzZXQtY29udGV4dFwiIHByYWdtYSBzeW50YXguIGV4YW1wbGU6IFwicHJhZ21hOnNldC1jb250ZXh0OkBhd3MtY2RrL2NvcmU6bmV3U3R5bGVTdGFja1N5bnRoZXNpcz10cnVlXCIgZ290OiAke3B9YCk7XG4gICAgICB9XG5cbiAgICAgIGN0eFByYWdtYUNvbnRleHRba2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY3R4UHJhZ21hQ29udGV4dCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHN0YWNrIG5hbWVzIGZyb20gdGhlIFwiIWNkay1pbnRlZ1wiIHByYWdtYS5cbiAgICpcbiAgICogRXZlcnkgd29yZCB0aGF0J3MgTk9UIHByZWZpeGVkIGJ5IFwicHJhZ21hOlwiIGlzIGNvbnNpZGVyZWQgYSBzdGFjayBuYW1lLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiAgICAvLy8gIWNkay1pbnRlZyA8c3RhY2stbmFtZT5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRTdGFja1ByYWdtYShpbnRlZ1NvdXJjZUZpbGVQYXRoOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuICh0aGlzLnJlYWRJbnRlZ1ByYWdtYShpbnRlZ1NvdXJjZUZpbGVQYXRoKSkuZmlsdGVyKHAgPT4gIXAuc3RhcnRzV2l0aChQUkFHTUFfUFJFRklYKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVhZCBhcmJpdHJhcnkgY2RrLWludGVnIHByYWdtYSBkaXJlY3RpdmVzXG4gICAqXG4gICAqIFJlYWRzIHRoZSB0ZXN0IHNvdXJjZSBmaWxlIGFuZCBsb29rcyBmb3IgdGhlIFwiIWNkay1pbnRlZ1wiIHByYWdtYS4gSWYgaXQgZXhpc3RzLCByZXR1cm5zIGl0J3NcbiAgICogY29udGVudHMuIFRoaXMgYWxsb3dzIGludGVnIHRlc3RzIHRvIHN1cHBseSBjdXN0b20gY29tbWFuZCBsaW5lIGFyZ3VtZW50cyB0byBcImNkayBkZXBsb3lcIiBhbmQgXCJjZGsgc3ludGhcIi5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogICAgLy8vICFjZGstaW50ZWcgWy4uLl1cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRJbnRlZ1ByYWdtYShpbnRlZ1NvdXJjZUZpbGVQYXRoOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc291cmNlID0gZnMucmVhZEZpbGVTeW5jKGludGVnU291cmNlRmlsZVBhdGgsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG4gICAgY29uc3QgcHJhZ21hTGluZSA9IHNvdXJjZS5zcGxpdCgnXFxuJykuZmluZCh4ID0+IHguc3RhcnRzV2l0aChDREtfSU5URUdfU1RBQ0tfUFJBR01BICsgJyAnKSk7XG4gICAgaWYgKCFwcmFnbWFMaW5lKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgYXJncyA9IHByYWdtYUxpbmUuc3Vic3RyaW5nKENES19JTlRFR19TVEFDS19QUkFHTUEubGVuZ3RoKS50cmltKCkuc3BsaXQoJyAnKTtcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzeW50YXggZm9yIGNkay1pbnRlZyBwcmFnbWEuIFVzYWdlOiBcIiR7Q0RLX0lOVEVHX1NUQUNLX1BSQUdNQX0gW1NUQUNLXSBbcHJhZ21hOlBSQUdNQV0gWy4uLl1cImApO1xuICAgIH1cbiAgICByZXR1cm4gYXJncztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5vbi1zdGFjayBwcmFnbWFzXG4gICAqXG4gICAqIFRoZXNlIGFyZSBhbGwgcHJhZ21hcyB0aGF0IHN0YXJ0IHdpdGggXCJwcmFnbWE6XCIuXG4gICAqXG4gICAqIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSByZWFzb25zLCBhbGwgcHJhZ21hcyB0aGF0IERPTidUIHN0YXJ0IHdpdGggdGhpc1xuICAgKiBzdHJpbmcgYXJlIGNvbnNpZGVyZWQgdG8gYmUgc3RhY2sgbmFtZXMuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBwcmFnbWFzKGludGVnU291cmNlRmlsZVBhdGg6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gKHRoaXMucmVhZEludGVnUHJhZ21hKGludGVnU291cmNlRmlsZVBhdGgpKS5maWx0ZXIocCA9PiBwLnN0YXJ0c1dpdGgoUFJBR01BX1BSRUZJWCkpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IFRlc3RTdWl0ZVR5cGUgPSAnbGVnYWN5LXRlc3Qtc3VpdGUnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBlbmFibGVMb29rdXBzOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSB0ZXN0U3VpdGU6IFRlc3RTdWl0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3ludGhDb250ZXh0PzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICkge1xuICAgIHN1cGVyKGVuYWJsZUxvb2t1cHMsIHRlc3RTdWl0ZSk7XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSB0aGUgaW50ZWcgbWFuaWZlc3QgdG8gYSBkaXJlY3RvcnlcbiAgICovXG4gIHB1YmxpYyBzYXZlTWFuaWZlc3QoZGlyZWN0b3J5OiBzdHJpbmcsIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZCB7XG4gICAgY29uc3QgbWFuaWZlc3Q6IEludGVnTWFuaWZlc3QgPSB7XG4gICAgICB2ZXJzaW9uOiBNYW5pZmVzdC52ZXJzaW9uKCksXG4gICAgICB0ZXN0Q2FzZXM6IHRoaXMudGVzdFN1aXRlLFxuICAgICAgc3ludGhDb250ZXh0OiBjb250ZXh0LFxuICAgICAgZW5hYmxlTG9va3VwczogdGhpcy5lbmFibGVMb29rdXBzLFxuICAgIH07XG4gICAgTWFuaWZlc3Quc2F2ZUludGVnTWFuaWZlc3QobWFuaWZlc3QsIG9zUGF0aC5qb2luKGRpcmVjdG9yeSwgSW50ZWdNYW5pZmVzdFJlYWRlci5ERUZBVUxUX0ZJTEVOQU1FKSk7XG4gIH1cbn1cbiJdfQ==
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC1zdWl0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLXRlc3Qtc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQStCO0FBRS9CLDBFQUEwRDtBQUMxRCw2Q0FBK0I7QUFFL0IsNkRBQStEO0FBRS9ELE1BQU0sc0JBQXNCLEdBQUcsZ0JBQWdCLENBQUM7QUFDaEQsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ2hDLE1BQU0seUJBQXlCLEdBQUcscUJBQXFCLENBQUM7QUFDeEQsTUFBTSxtQkFBbUIsR0FBRyw4QkFBOEIsQ0FBQztBQUMzRCxNQUFNLHVCQUF1QixHQUFHLGdDQUFnQyxDQUFDO0FBQ2pFLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUM7QUFTdEQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBYztJQWdCUDtJQUNBO0lBQ0E7SUFqQmxCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLG9DQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksY0FBYyxDQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFDMUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQ3RCLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVlLElBQUksR0FBa0IsWUFBWSxDQUFDO0lBRW5ELFlBQ2tCLGFBQXNCLEVBQ3RCLFNBQW9CLEVBQ3BCLFlBQXlDO1FBRnpDLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQTZCO0lBRTNELENBQUM7SUFFRDs7T0FFRztJQUNJLDhCQUE4QjtRQUNuQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENB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QUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRWUsSUFBSSxHQUFrQixtQkFBbUIsQ0FBQztJQUUxRCxZQUNrQixhQUFzQixFQUN0QixTQUFvQixFQUNwQixZQUF5QztRQUV6RCxLQUFLLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSmhCLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQTZCO0lBRzNELENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVksQ0FBQyxTQUFpQixFQUFFLE9BQTZCO1FBQ2xFLE1BQU0sUUFBUSxHQUFrQjtZQUM5QixPQUFPLEVBQUUsZ0NBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFlBQVksRUFBRSxPQUFPO1lBQ3JCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUNsQyxDQUFDO1FBQ0YsZ0NBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsb0NBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7Q0FDRjtBQTVJRCxvREE0SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvc1BhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IFRlc3RDYXNlLCBUZXN0T3B0aW9ucywgSW50ZWdNYW5pZmVzdCB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBNYW5pZmVzdCB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgdHlwZSB7IElDZGssIExpc3RPcHRpb25zIH0gZnJvbSAnLi4vZW5naW5lcy9jZGstaW50ZXJmYWNlJztcbmltcG9ydCB7IEludGVnTWFuaWZlc3RSZWFkZXIgfSBmcm9tICcuL3ByaXZhdGUvaW50ZWctbWFuaWZlc3QnO1xuXG5jb25zdCBDREtfSU5URUdfU1RBQ0tfUFJBR01BID0gJy8vLyAhY2RrLWludGVnJztcbmNvbnN0IFBSQUdNQV9QUkVGSVggPSAncHJhZ21hOic7XG5jb25zdCBTRVRfQ09OVEVYVF9QUkFHTUFfUFJFRklYID0gJ3ByYWdtYTpzZXQtY29udGV4dDonO1xuY29uc3QgVkVSSUZZX0FTU0VUX0hBU0hFUyA9ICdwcmFnbWE6aW5jbHVkZS1hc3NldHMtaGFzaGVzJztcbmNvbnN0IERJU0FCTEVfVVBEQVRFX1dPUktGTE9XID0gJ3ByYWdtYTpkaXNhYmxlLXVwZGF0ZS13b3JrZmxvdyc7XG5jb25zdCBFTkFCTEVfTE9PS1VQU19QUkFHTUEgPSAncHJhZ21hOmVuYWJsZS1sb29rdXBzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGludGVncmF0aW9uIHRlc3RcbiAqL1xuZXhwb3J0IHR5cGUgVGVzdFN1aXRlID0geyBbdGVzdE5hbWU6IHN0cmluZ106IFRlc3RDYXNlIH07XG5cbmV4cG9ydCB0eXBlIFRlc3RTdWl0ZVR5cGUgPSAndGVzdC1zdWl0ZScgfCAnbGVnYWN5LXRlc3Qtc3VpdGUnO1xuXG4vKipcbiAqIEhlbHBlciBjbGFzcyBmb3Igd29ya2luZyB3aXRoIEludGVncmF0aW9uIHRlc3RzXG4gKiBUaGlzIHJlcXVpcmVzIGFuIGBpbnRlZy5qc29uYCBmaWxlIGluIHRoZSBzbmFwc2hvdFxuICogZGlyZWN0b3J5LiBGb3IgbGVnYWN5IHRlc3QgY2FzZXMgdXNlIExlZ2FjeUludGVnVGVzdENhc2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlZ1Rlc3RTdWl0ZSB7XG4gIC8qKlxuICAgKiBMb2FkcyBpbnRlZyB0ZXN0cyBmcm9tIGEgc25hcHNob3QgZGlyZWN0b3J5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21QYXRoKHBhdGg6IHN0cmluZyk6IEludGVnVGVzdFN1aXRlIHtcbiAgICBjb25zdCByZWFkZXIgPSBJbnRlZ01hbmlmZXN0UmVhZGVyLmZyb21QYXRoKHBhdGgpO1xuICAgIHJldHVybiBuZXcgSW50ZWdUZXN0U3VpdGUoXG4gICAgICByZWFkZXIudGVzdHMuZW5hYmxlTG9va3VwcyxcbiAgICAgIHJlYWRlci50ZXN0cy50ZXN0Q2FzZXMsXG4gICAgICByZWFkZXIudGVzdHMuc3ludGhDb250ZXh0LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogVGVzdFN1aXRlVHlwZSA9ICd0ZXN0LXN1aXRlJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZW5hYmxlTG9va3VwczogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGVzdFN1aXRlOiBUZXN0U3VpdGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHN5bnRoQ29udGV4dD86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9LFxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBzdGFja3MgdGhhdCBoYXZlIHN0YWNrVXBkYXRlV29ya2Zsb3cgZGlzYWJsZWRcbiAgICovXG4gIHB1YmxpYyBnZXRTdGFja3NXaXRob3V0VXBkYXRlV29ya2Zsb3coKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMudGVzdFN1aXRlKVxuICAgICAgLmZpbHRlcih0ZXN0Q2FzZSA9PiAhKHRlc3RDYXNlLnN0YWNrVXBkYXRlV29ya2Zsb3cgPz8gdHJ1ZSkpXG4gICAgICAuZmxhdE1hcCgodGVzdENhc2U6IFRlc3RDYXNlKSA9PiB0ZXN0Q2FzZS5zdGFja3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGVzdCBjYXNlIG9wdGlvbnMgZm9yIGEgZ2l2ZW4gc3RhY2tcbiAgICovXG4gIHB1YmxpYyBnZXRPcHRpb25zRm9yU3RhY2soc3RhY2tJZDogc3RyaW5nKTogVGVzdE9wdGlvbnMgfCB1bmRlZmluZWQge1xuICAgIGZvciAoY29uc3QgdGVzdENhc2Ugb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnRlc3RTdWl0ZSA/PyB7fSkpIHtcbiAgICAgIGlmICh0ZXN0Q2FzZS5zdGFja3MuaW5jbHVkZXMoc3RhY2tJZCkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBob29rczogdGVzdENhc2UuaG9va3MsXG4gICAgICAgICAgcmVnaW9uczogdGVzdENhc2UucmVnaW9ucyxcbiAgICAgICAgICBkaWZmQXNzZXRzOiB0ZXN0Q2FzZS5kaWZmQXNzZXRzID8/IGZhbHNlLFxuICAgICAgICAgIGFsbG93RGVzdHJveTogdGVzdENhc2UuYWxsb3dEZXN0cm95LFxuICAgICAgICAgIGNka0NvbW1hbmRPcHRpb25zOiB0ZXN0Q2FzZS5jZGtDb21tYW5kT3B0aW9ucyxcbiAgICAgICAgICBzdGFja1VwZGF0ZVdvcmtmbG93OiB0ZXN0Q2FzZS5zdGFja1VwZGF0ZVdvcmtmbG93ID8/IHRydWUsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgbGlzdCBvZiBzdGFja3MgaW4gdGhlIHRlc3Qgc3VpdGVcbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhY2tzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLnRlc3RTdWl0ZSkuZmxhdE1hcCh0ZXN0Q2FzZSA9PiB0ZXN0Q2FzZS5zdGFja3MpO1xuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYSByZWFkaW5nIGEgbGVnYWN5IHRlc3QgY2FzZSBtYW5pZmVzdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExlZ2FjeVRlc3RDYXNlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0ZXN0IGNhc2VcbiAgICovXG4gIHJlYWRvbmx5IHRlc3ROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBgY2RrIGxpc3RgXG4gICAqIFRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG5hbWUgb2YgdGhlIHN0YWNrc1xuICAgKiBpbiB0aGUgdGVzdCBjYXNlXG4gICAqL1xuICByZWFkb25seSBsaXN0T3B0aW9uczogTGlzdE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFuIGluc3RhbmNlIG9mIHRoZSBDREsgQ0xJIChlLmcuIENka0NsaVdyYXBwZXIpXG4gICAqL1xuICByZWFkb25seSBjZGs6IElDZGs7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0IGZpbGVcbiAgICogaS5lLiBpbnRlZy50ZXN0LmpzXG4gICAqL1xuICByZWFkb25seSBpbnRlZ1NvdXJjZUZpbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBjcmVhdGluZyBhbiBpbnRlZyBtYW5pZmVzdCBmb3IgbGVnYWN5XG4gKiB0ZXN0IGNhc2VzLCBpLmUuIHRlc3RzIHdpdGhvdXQgYSBgaW50ZWcuanNvbmAuXG4gKi9cbmV4cG9ydCBjbGFzcyBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZSBleHRlbmRzIEludGVnVGVzdFN1aXRlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpbmdsZSB0ZXN0IHN0YWNrIHRvIHVzZS5cbiAgICpcbiAgICogSWYgdGhlIHRlc3QgaGFzIGEgc2luZ2xlIHN0YWNrLCBpdCB3aWxsIGJlIGNob3Nlbi4gT3RoZXJ3aXNlIGEgcHJhZ21hIGlzIGV4cGVjdGVkIHdpdGhpbiB0aGVcbiAgICogdGVzdCBmaWxlIHRoZSBuYW1lIG9mIHRoZSBzdGFjazpcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogICAgLy8vICFjZGstaW50ZWcgPHN0YWNrLW5hbWU+XG4gICAqXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGZyb21MZWdhY3koY29uZmlnOiBMZWdhY3lUZXN0Q2FzZUNvbmZpZyk6IFByb21pc2U8TGVnYWN5SW50ZWdUZXN0U3VpdGU+IHtcbiAgICBjb25zdCBwcmFnbWFzID0gdGhpcy5wcmFnbWFzKGNvbmZpZy5pbnRlZ1NvdXJjZUZpbGVQYXRoKTtcbiAgICBjb25zdCB0ZXN0czogVGVzdENhc2UgPSB7XG4gICAgICBzdGFja3M6IFtdLFxuICAgICAgZGlmZkFzc2V0czogcHJhZ21hcy5pbmNsdWRlcyhWRVJJRllfQVNTRVRfSEFTSEVTKSxcbiAgICAgIHN0YWNrVXBkYXRlV29ya2Zsb3c6ICFwcmFnbWFzLmluY2x1ZGVzKERJU0FCTEVfVVBEQVRFX1dPUktGTE9XKSxcbiAgICB9O1xuICAgIGNvbnN0IHByYWdtYSA9IHRoaXMucmVhZFN0YWNrUHJhZ21hKGNvbmZpZy5pbnRlZ1NvdXJjZUZpbGVQYXRoKTtcbiAgICBpZiAocHJhZ21hLmxlbmd0aCA+IDApIHtcbiAgICAgIHRlc3RzLnN0YWNrcy5wdXNoKC4uLnByYWdtYSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IExpc3RPcHRpb25zID0ge1xuICAgICAgICAuLi5jb25maWcubGlzdE9wdGlvbnMsXG4gICAgICAgIG5vdGljZXM6IGZhbHNlLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHN0YWNrcyA9IGF3YWl0IGNvbmZpZy5jZGsubGlzdChvcHRpb25zKTtcbiAgICAgIGlmIChzdGFja3MubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignXCJpbnRlZy1ydW5uZXJcIiBjYW4gb25seSBvcGVyYXRlIG9uIGFwcHMgd2l0aCBhIHNpbmdsZSBzdGFjay5cXG5cXG4nICtcbiAgICAgICAgICAnICBJZiB5b3VyIGFwcCBoYXMgbXVsdGlwbGUgc3RhY2tzLCBzcGVjaWZ5IHdoaWNoIHN0YWNrIHRvIHNlbGVjdCBieSBhZGRpbmcgdGhpcyB0byB5b3VyIHRlc3Qgc291cmNlOlxcblxcbicgK1xuICAgICAgICAgIGAgICAgICAke0NES19JTlRFR19TVEFDS19QUkFHTUF9IFNUQUNLIC4uLlxcblxcbmAgK1xuICAgICAgICAgIGAgIEF2YWlsYWJsZSBzdGFja3M6ICR7c3RhY2tzLmpvaW4oJyAnKX0gKHdpbGRjYXJkcyBhcmUgYWxzbyBzdXBwb3J0ZWQpXFxuYCk7XG4gICAgICB9XG4gICAgICBpZiAoc3RhY2tzLmxlbmd0aCA9PT0gMSAmJiBzdGFja3NbMF0gPT09ICcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3RhY2sgZm91bmQgZm9yIHRlc3QgJHtjb25maWcudGVzdE5hbWV9YCk7XG4gICAgICB9XG4gICAgICB0ZXN0cy5zdGFja3MucHVzaCguLi5zdGFja3MpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgTGVnYWN5SW50ZWdUZXN0U3VpdGUoXG4gICAgICBwcmFnbWFzLmluY2x1ZGVzKEVOQUJMRV9MT09LVVBTX1BSQUdNQSksXG4gICAgICB7XG4gICAgICAgIFtjb25maWcudGVzdE5hbWVdOiB0ZXN0cyxcbiAgICAgIH0sXG4gICAgICBMZWdhY3lJbnRlZ1Rlc3RTdWl0ZS5nZXRQcmFnbWFDb250ZXh0KGNvbmZpZy5pbnRlZ1NvdXJjZUZpbGVQYXRoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRQcmFnbWFDb250ZXh0KGludGVnU291cmNlRmlsZVBhdGg6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IGN0eFByYWdtYUNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAgIC8vIGFwcGx5IGNvbnRleHQgZnJvbSBzZXQtY29udGV4dCBwcmFnbWFcbiAgICAvLyB1c2FnZTogcHJhZ21hOnNldC1jb250ZXh0OmtleT12YWx1ZVxuICAgIGNvbnN0IGN0eFByYWdtYXMgPSAodGhpcy5wcmFnbWFzKGludGVnU291cmNlRmlsZVBhdGgpKS5maWx0ZXIocCA9PiBwLnN0YXJ0c1dpdGgoU0VUX0NPTlRFWFRfUFJBR01BX1BSRUZJWCkpO1xuICAgIGZvciAoY29uc3QgcCBvZiBjdHhQcmFnbWFzKSB7XG4gICAgICBjb25zdCBpbnN0cnVjdGlvbiA9IHAuc3Vic3RyaW5nKFNFVF9DT05URVhUX1BSQUdNQV9QUkVGSVgubGVuZ3RoKTtcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGluc3RydWN0aW9uLnNwbGl0KCc9Jyk7XG4gICAgICBpZiAoa2V5ID09IG51bGwgfHwgdmFsdWUgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgXCJzZXQtY29udGV4dFwiIHByYWdtYSBzeW50YXguIGV4YW1wbGU6IFwicHJhZ21hOnNldC1jb250ZXh0OkBhd3MtY2RrL2NvcmU6bmV3U3R5bGVTdGFja1N5bnRoZXNpcz10cnVlXCIgZ290OiAke3B9YCk7XG4gICAgICB9XG5cbiAgICAgIGN0eFByYWdtYUNvbnRleHRba2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY3R4UHJhZ21hQ29udGV4dCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHN0YWNrIG5hbWVzIGZyb20gdGhlIFwiIWNkay1pbnRlZ1wiIHByYWdtYS5cbiAgICpcbiAgICogRXZlcnkgd29yZCB0aGF0J3MgTk9UIHByZWZpeGVkIGJ5IFwicHJhZ21hOlwiIGlzIGNvbnNpZGVyZWQgYSBzdGFjayBuYW1lLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiAgICAvLy8gIWNkay1pbnRlZyA8c3RhY2stbmFtZT5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRTdGFja1ByYWdtYShpbnRlZ1NvdXJjZUZpbGVQYXRoOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuICh0aGlzLnJlYWRJbnRlZ1ByYWdtYShpbnRlZ1NvdXJjZUZpbGVQYXRoKSkuZmlsdGVyKHAgPT4gIXAuc3RhcnRzV2l0aChQUkFHTUFfUFJFRklYKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVhZCBhcmJpdHJhcnkgY2RrLWludGVnIHByYWdtYSBkaXJlY3RpdmVzXG4gICAqXG4gICAqIFJlYWRzIHRoZSB0ZXN0IHNvdXJjZSBmaWxlIGFuZCBsb29rcyBmb3IgdGhlIFwiIWNkay1pbnRlZ1wiIHByYWdtYS4gSWYgaXQgZXhpc3RzLCByZXR1cm5zIGl0J3NcbiAgICogY29udGVudHMuIFRoaXMgYWxsb3dzIGludGVnIHRlc3RzIHRvIHN1cHBseSBjdXN0b20gY29tbWFuZCBsaW5lIGFyZ3VtZW50cyB0byBcImNkayBkZXBsb3lcIiBhbmQgXCJjZGsgc3ludGhcIi5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogICAgLy8vICFjZGstaW50ZWcgWy4uLl1cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRJbnRlZ1ByYWdtYShpbnRlZ1NvdXJjZUZpbGVQYXRoOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc291cmNlID0gZnMucmVhZEZpbGVTeW5jKGludGVnU291cmNlRmlsZVBhdGgsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG4gICAgY29uc3QgcHJhZ21hTGluZSA9IHNvdXJjZS5zcGxpdCgnXFxuJykuZmluZCh4ID0+IHguc3RhcnRzV2l0aChDREtfSU5URUdfU1RBQ0tfUFJBR01BICsgJyAnKSk7XG4gICAgaWYgKCFwcmFnbWFMaW5lKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgYXJncyA9IHByYWdtYUxpbmUuc3Vic3RyaW5nKENES19JTlRFR19TVEFDS19QUkFHTUEubGVuZ3RoKS50cmltKCkuc3BsaXQoJyAnKTtcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzeW50YXggZm9yIGNkay1pbnRlZyBwcmFnbWEuIFVzYWdlOiBcIiR7Q0RLX0lOVEVHX1NUQUNLX1BSQUdNQX0gW1NUQUNLXSBbcHJhZ21hOlBSQUdNQV0gWy4uLl1cImApO1xuICAgIH1cbiAgICByZXR1cm4gYXJncztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5vbi1zdGFjayBwcmFnbWFzXG4gICAqXG4gICAqIFRoZXNlIGFyZSBhbGwgcHJhZ21hcyB0aGF0IHN0YXJ0IHdpdGggXCJwcmFnbWE6XCIuXG4gICAqXG4gICAqIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSByZWFzb25zLCBhbGwgcHJhZ21hcyB0aGF0IERPTidUIHN0YXJ0IHdpdGggdGhpc1xuICAgKiBzdHJpbmcgYXJlIGNvbnNpZGVyZWQgdG8gYmUgc3RhY2sgbmFtZXMuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBwcmFnbWFzKGludGVnU291cmNlRmlsZVBhdGg6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gKHRoaXMucmVhZEludGVnUHJhZ21hKGludGVnU291cmNlRmlsZVBhdGgpKS5maWx0ZXIocCA9PiBwLnN0YXJ0c1dpdGgoUFJBR01BX1BSRUZJWCkpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IFRlc3RTdWl0ZVR5cGUgPSAnbGVnYWN5LXRlc3Qtc3VpdGUnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBlbmFibGVMb29rdXBzOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSB0ZXN0U3VpdGU6IFRlc3RTdWl0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3ludGhDb250ZXh0PzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICkge1xuICAgIHN1cGVyKGVuYWJsZUxvb2t1cHMsIHRlc3RTdWl0ZSk7XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSB0aGUgaW50ZWcgbWFuaWZlc3QgdG8gYSBkaXJlY3RvcnlcbiAgICovXG4gIHB1YmxpYyBzYXZlTWFuaWZlc3QoZGlyZWN0b3J5OiBzdHJpbmcsIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZCB7XG4gICAgY29uc3QgbWFuaWZlc3Q6IEludGVnTWFuaWZlc3QgPSB7XG4gICAgICB2ZXJzaW9uOiBNYW5pZmVzdC52ZXJzaW9uKCksXG4gICAgICB0ZXN0Q2FzZXM6IHRoaXMudGVzdFN1aXRlLFxuICAgICAgc3ludGhDb250ZXh0OiBjb250ZXh0LFxuICAgICAgZW5hYmxlTG9va3VwczogdGhpcy5lbmFibGVMb29rdXBzLFxuICAgIH07XG4gICAgTWFuaWZlc3Quc2F2ZUludGVnTWFuaWZlc3QobWFuaWZlc3QsIG9zUGF0aC5qb2luKGRpcmVjdG9yeSwgSW50ZWdNYW5pZmVzdFJlYWRlci5ERUZBVUxUX0ZJTEVOQU1FKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -97,6 +97,14 @@ export declare class IntegTest {
|
|
|
97
97
|
* - The absolute filename
|
|
98
98
|
*/
|
|
99
99
|
matches(name: string): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Search for a test-specific context file and return its contents if it exists.
|
|
102
|
+
*
|
|
103
|
+
* If `undefined`, no test-specific context could be found. Test-specific context
|
|
104
|
+
* will be taken from either `integ.context.json` if found, or otherwise
|
|
105
|
+
* `cdk.json#context` if not found, upstream from the test.
|
|
106
|
+
*/
|
|
107
|
+
testSpecificContext(): Promise<Record<string, unknown> | undefined>;
|
|
100
108
|
}
|
|
101
109
|
/**
|
|
102
110
|
* Configuration options how integration test files are discovered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-tests.d.ts","sourceRoot":"","sources":["integration-tests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"integration-tests.d.ts","sourceRoot":"","sources":["integration-tests.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,SAAS;aA2DQ,IAAI,EAAE,aAAa;IA1D/C;;;;OAIG;IACH,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,SAAgB,yBAAyB,EAAE,MAAM,CAAC;IAElD;;OAEG;IACH,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IAEzC;;;;OAIG;IACH,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAE3C;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;;;;;OAMG;IACH,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAE3C;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEA,IAAI,EAAE,aAAa;IAoB/C;;;;;;;;;OASG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM;IAS3B;;;;;;OAMG;IACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAGjF;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAaD;;GAEG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAG9C;;OAEG;IACU,cAAc,CAAC,OAAO,EAAE;QACnC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA8CxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IA4BnB;;;;;;OAMG;YACW,QAAQ;IAqBtB,OAAO,CAAC,0BAA0B;YAcpB,QAAQ;CAoBvB"}
|
|
@@ -1,8 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.IntegrationTests = exports.IntegTest = void 0;
|
|
4
|
-
const path = require("path");
|
|
5
|
-
const fs = require("fs-extra");
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const fs = __importStar(require("fs-extra"));
|
|
39
|
+
const test_specific_context_1 = require("./private/test-specific-context");
|
|
6
40
|
const CDK_OUTDIR_PREFIX = 'cdk-integ.out';
|
|
7
41
|
/**
|
|
8
42
|
* Derived information for IntegTests
|
|
@@ -94,6 +128,16 @@ class IntegTest {
|
|
|
94
128
|
this.absoluteFileName,
|
|
95
129
|
].includes(name);
|
|
96
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Search for a test-specific context file and return its contents if it exists.
|
|
133
|
+
*
|
|
134
|
+
* If `undefined`, no test-specific context could be found. Test-specific context
|
|
135
|
+
* will be taken from either `integ.context.json` if found, or otherwise
|
|
136
|
+
* `cdk.json#context` if not found, upstream from the test.
|
|
137
|
+
*/
|
|
138
|
+
async testSpecificContext() {
|
|
139
|
+
return (0, test_specific_context_1.findTestSpecificContext)(this.fileName);
|
|
140
|
+
}
|
|
97
141
|
}
|
|
98
142
|
exports.IntegTest = IntegTest;
|
|
99
143
|
/**
|
|
@@ -263,4 +307,4 @@ class IntegrationTests {
|
|
|
263
307
|
}
|
|
264
308
|
}
|
|
265
309
|
exports.IntegrationTests = IntegrationTests;
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZ3JhdGlvbi10ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQStCO0FBRS9CLE1BQU0saUJBQWlCLEdBQUcsZUFBZSxDQUFDO0FBdUMxQzs7R0FFRztBQUNILE1BQWEsU0FBUztJQTJEUTtJQTFENUI7Ozs7T0FJRztJQUNhLFFBQVEsQ0FBUztJQUVqQzs7OztPQUlHO0lBQ2EseUJBQXlCLENBQVM7SUFFbEQ7O09BRUc7SUFDYSxnQkFBZ0IsQ0FBUztJQUV6Qzs7OztPQUlHO0lBQ2Esa0JBQWtCLENBQVM7SUFFM0M7O09BRUc7SUFDYSxTQUFTLENBQVM7SUFFbEM7Ozs7OztPQU1HO0lBQ2EsUUFBUSxDQUFTO0lBRWpDOztPQUVHO0lBQ2EsV0FBVyxDQUFTO0lBRXBDOztPQUVHO0lBQ2Esa0JBQWtCLENBQVM7SUFFM0M7Ozs7O09BS0c7SUFDTSxVQUFVLENBQVM7SUFFNUIsWUFBNEIsSUFBbUI7UUFBbkIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksaUJBQWlCLENBQUM7UUFFdkQsbUVBQW1FO1FBQ25FLGlGQUFpRjtRQUNqRixxREFBcUQ7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFF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QyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztvQkFDbkIsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckIsQ0FBQztnQkFDRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO29CQUN4QixNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGO0FBeExELDRDQXdMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5cbmNvbnN0IENES19PVVRESVJfUFJFRklYID0gJ2Nkay1pbnRlZy5vdXQnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgaW50ZWdyYXRpb24gdGVzdFxuICpcbiAqIFRoaXMgdHlwZSBpcyBhIGRhdGEtb25seSBzdHJ1Y3R1cmUsIHNvIGl0IGNhbiB0cml2aWFsbHkgYmUgcGFzc2VkIHRvIHdvcmtlcnMuXG4gKiBEZXJpdmVkIGF0dHJpYnV0ZXMgYXJlIGNhbGN1bGF0ZWQgdXNpbmcgdGhlIGBJbnRlZ1Rlc3RgIGNsYXNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVnVGVzdEluZm8ge1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgZmlsZSB0byBydW5cbiAgICpcbiAgICogUGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByb290IGRpcmVjdG9yeSB3ZSBkaXNjb3ZlcmVkIHRoaXMgdGVzdCBmcm9tXG4gICAqXG4gICAqIFBhdGggaXMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gICAqL1xuICByZWFkb25seSBkaXNjb3ZlcnlSb290OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDTEkgY29tbWFuZCB1c2VkIHRvIHJ1biB0aGlzIHRlc3QuXG4gICAqIElmIGl0IGNvbnRhaW5zIHtmaWxlUGF0aH0sIHRoZSB0ZXN0IGZpbGUgbmFtZXMgd2lsbCBiZSBzdWJzdGl0dXRlZCBhdCB0aGF0IHBsYWNlIGluIHRoZSBjb21tYW5kIGZvciBlYWNoIHJ1bi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0ZXN0IHJ1biBjb21tYW5kIHdpbGwgYmUgYG5vZGUge2ZpbGVQYXRofWBcbiAgICovXG4gIHJlYWRvbmx5IGFwcENvbW1hbmQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIHRydWUgaWYgdGhpcyB0ZXN0IGlzIHJ1bm5pbmcgaW4gd2F0Y2ggbW9kZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgd2F0Y2g/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIERlcml2ZWQgaW5mb3JtYXRpb24gZm9yIEludGVnVGVzdHNcbiAqL1xuZXhwb3J0IGNsYXNzIEludGVnVGVzdCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byBydW5cbiAgICpcbiAgICogUGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZWxhdGl2ZSBwYXRoIHRvIHRoZSBmaWxlIHRvIHJ1blxuICAgKlxuICAgKiBSZWxhdGl2ZSBmcm9tIHRoZSBcImRpc2NvdmVyeSByb290XCIuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzY292ZXJ5UmVsYXRpdmVGaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgZmlsZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFic29sdXRlRmlsZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5vcm1hbGl6ZWQgbmFtZSBvZiB0aGUgdGVzdC4gVGhpcyBuYW1lXG4gICAqIHdpbGwgYmUgdGhlIHNhbWUgcmVnYXJkbGVzcyBvZiB3aGF0IGRpcmVjdG9yeSB0aGUgdG9vbFxuICAgKiBpcyBydW4gZnJvbS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBub3JtYWxpemVkVGVzdE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRGlyZWN0b3J5IHRoZSB0ZXN0IGlzIGluXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgbmFtZSBmb3IgdGhlIHRlc3RcbiAgICpcbiAgICogRGVwZW5kcyBvbiB0aGUgZGlzY292ZXJ5IGRpcmVjdG9yeS5cbiAgICpcbiAgICogTG9va3MgbGlrZSBgaW50ZWcubXl0ZXN0YCBvciBgcGFja2FnZS90ZXN0L2ludGVnLm15dGVzdGAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGVzdE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCBvZiB0aGUgc25hcHNob3QgZGlyZWN0b3J5IGZvciB0aGlzIHRlc3RcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzbmFwc2hvdERpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSB0ZW1wb3Jhcnkgb3V0cHV0IGRpcmVjdG9yeSBmb3IgdGhpcyB0ZXN0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGVtcG9yYXJ5T3V0cHV0RGlyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDTEkgY29tbWFuZCB1c2VkIHRvIHJ1biB0aGlzIHRlc3QuXG4gICAqIElmIGl0IGNvbnRhaW5zIHtmaWxlUGF0aH0sIHRoZSB0ZXN0IGZpbGUgbmFtZXMgd2lsbCBiZSBzdWJzdGl0dXRlZCBhdCB0aGF0IHBsYWNlIGluIHRoZSBjb21tYW5kIGZvciBlYWNoIHJ1bi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0ZXN0IHJ1biBjb21tYW5kIHdpbGwgYmUgYG5vZGUge2ZpbGVQYXRofWBcbiAgICovXG4gIHJlYWRvbmx5IGFwcENvbW1hbmQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgaW5mbzogSW50ZWdUZXN0SW5mbykge1xuICAgIHRoaXMuYXBwQ29tbWFuZCA9IGluZm8uYXBwQ29tbWFuZCA/PyAnbm9kZSB7ZmlsZVBhdGh9JztcblxuICAgIC8vIGZvciBjb25zaXN0ZW5jeSwgYWx3YXlzIHJ1biB0aGUgQ0RLIGFwcHMgdW5kZXIgdGVzdCBmcm9tIHRoZSBDV0RcbiAgICAvLyB0aGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IGZvciBsYW5ndWFnZXMgdGhhdCB1c2UgdGhlIENXRCB0byBkaXNjb3ZlciBhc3NldHNcbiAgICAvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay1jbGkvaXNzdWVzLzYzOFxuICAgIHRoaXMuZGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKTtcbiAgICB0aGlzLmFic29sdXRlRmlsZU5hbWUgPSBwYXRoLnJlc29sdmUoaW5mby5maWxlTmFtZSk7XG4gICAgdGhpcy5maWxlTmFtZSA9IHBhdGgucmVsYXRpdmUodGhpcy5kaXJlY3RvcnksIGluZm8uZmlsZU5hbWUpO1xuICAgIHRoaXMuZGlzY292ZXJ5UmVsYXRpdmVGaWxlTmFtZSA9IHBhdGgucmVsYXRpdmUoaW5mby5kaXNjb3ZlcnlSb290LCBpbmZvLmZpbGVOYW1lKTtcblxuICAgIC8vIFdlIHRyZWF0IHRoZSBkaXNjb3Zlcnkgcm9vdCBhcyB0aGUgYmFzZSBmb3IgZGlzcGxheSBuYW1lc1xuICAgIC8vIExvb2tzIGVpdGhlciBsaWtlIGBpbnRlZy5teXRlc3RgIG9yIGBwYWNrYWdlL3Rlc3QvaW50ZWcubXl0ZXN0YFxuICAgIGNvbnN0IHBhcnNlZCA9IHBhdGgucGFyc2UodGhpcy5maWxlTmFtZSk7XG4gICAgdGhpcy50ZXN0TmFtZSA9IHBhdGguam9pbihwYXRoLnJlbGF0aXZlKHRoaXMuaW5mby5kaXNjb3ZlcnlSb290LCBwYXJzZWQuZGlyKSwgcGFyc2VkLm5hbWUpO1xuICAgIHRoaXMubm9ybWFsaXplZFRlc3ROYW1lID0gcGFyc2VkLm5hbWU7XG4gICAgdGhpcy5zbmFwc2hvdERpciA9IHBhdGguam9pbihwYXJzZWQuZGlyLCBgJHtwYXJzZWQuYmFzZX0uc25hcHNob3RgKTtcbiAgICB0aGlzLnRlbXBvcmFyeU91dHB1dERpciA9IHBhdGguam9pbihwYXJzZWQuZGlyLCBgJHtDREtfT1VURElSX1BSRUZJWH0uJHtwYXJzZWQuYmFzZX0uc25hcHNob3RgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgdGVzdCBtYXRjaGVzIHRoZSB1c2VyLWdpdmVuIG5hbWVcbiAgICpcbiAgICogV2UgYXJlIHZlcnkgbGVuaWVudCBoZXJlLiBBIG5hbWUgbWF0Y2hlcyBpZiBpdCBtYXRjaGVzOlxuICAgKlxuICAgKiAtIFRoZSBDV0QtcmVsYXRpdmUgZmlsZW5hbWVcbiAgICogLSBUaGUgZGlzY292ZXJ5IHJvb3QtcmVsYXRpdmUgZmlsZW5hbWVcbiAgICogLSBUaGUgc3VpdGUgbmFtZVxuICAgKiAtIFRoZSBhYnNvbHV0ZSBmaWxlbmFtZVxuICAgKi9cbiAgcHVibGljIG1hdGNoZXMobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuZmlsZU5hbWUsXG4gICAgICB0aGlzLmRpc2NvdmVyeVJlbGF0aXZlRmlsZU5hbWUsXG4gICAgICB0aGlzLnRlc3ROYW1lLFxuICAgICAgdGhpcy5hYnNvbHV0ZUZpbGVOYW1lLFxuICAgIF0uaW5jbHVkZXMobmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgaG93IGludGVncmF0aW9uIHRlc3QgZmlsZXMgYXJlIGRpc2NvdmVyZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RzRGlzY292ZXJ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJZiB0aGlzIGlzIHNldCB0byB0cnVlIHRoZW4gdGhlIGxpc3Qgb2YgdGVzdHNcbiAgICogcHJvdmlkZWQgd2lsbCBiZSBleGNsdWRlZFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVkZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIHRoaXMgaXMgc2V0IHRvIHRydWUsIHRocm93IGFuIGVycm9yIGlmIGFueSBzcGVjaWZpZWQgdGVzdHMgYXJlIG5vdCBmb3VuZFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RyaWN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTGlzdCBvZiB0ZXN0cyB0byBpbmNsdWRlIChvciBleGNsdWRlIGlmIGBleGNsdWRlPXRydWVgKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBtYXRjaGVkIGZpbGVzXG4gICAqL1xuICByZWFkb25seSB0ZXN0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBvZiB0aGUgYXBwIGNvbW1hbmRzIHRvIHJ1biBpbnRlZ3JhdGlvbiB0ZXN0cyB3aXRoLFxuICAgKiBhbmQgdGhlIHJlZ2V4IHBhdHRlcm5zIG1hdGNoaW5nIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0IGZpbGVzIGVhY2ggYXBwIGNvbW1hbmQuXG4gICAqXG4gICAqIElmIHRoZSBhcHAgY29tbWFuZCBjb250YWlucyB7ZmlsZVBhdGh9LCB0aGUgdGVzdCBmaWxlIG5hbWVzIHdpbGwgYmUgc3Vic3RpdHV0ZWQgYXQgdGhhdCBwbGFjZSBpbiB0aGUgY29tbWFuZCBmb3IgZWFjaCBydW4uXG4gICAqL1xuICByZWFkb25seSB0ZXN0Q2FzZXM6IHtcbiAgICBbYXBwOiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBQeXRob24gZXhlY3V0YWJsZSBmb3IgdGhlIGN1cnJlbnQgT1NcbiAqL1xuZnVuY3Rpb24gcHl0aG9uRXhlY3V0YWJsZSgpIHtcbiAgbGV0IHB5dGhvbiA9ICdweXRob24zJztcbiAgaWYgKHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicpIHtcbiAgICBweXRob24gPSAncHl0aG9uJztcbiAgfVxuICByZXR1cm4gcHl0aG9uO1xufVxuXG4vKipcbiAqIERpc2NvdmVyIGludGVncmF0aW9uIHRlc3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvblRlc3RzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZykge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbnRlZ3JhdGlvbiB0ZXN0cyBkaXNjb3Zlcnkgb3B0aW9ucyBmcm9tIENMSSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZnJvbUNsaU9wdGlvbnMob3B0aW9uczoge1xuICAgIGFwcD86IHN0cmluZztcbiAgICBleGNsdWRlPzogYm9vbGVhbjtcbiAgICBsYW5ndWFnZT86IHN0cmluZ1tdO1xuICAgIHRlc3RSZWdleD86IHN0cmluZ1tdO1xuICAgIHRlc3RzPzogc3RyaW5nW107XG4gICAgc3RyaWN0PzogYm9vbGVhbjtcbiAgfSk6IFByb21pc2U8SW50ZWdUZXN0W10+IHtcbiAgICBjb25zdCBiYXNlT3B0aW9ucyA9IHtcbiAgICAgIHRlc3RzOiBvcHRpb25zLnRlc3RzLFxuICAgICAgZXhjbHVkZTogb3B0aW9ucy5leGNsdWRlLFxuICAgICAgc3RyaWN0OiBvcHRpb25zLnN0cmljdCxcbiAgICB9O1xuXG4gICAgLy8gRXhwbGljaXRseSBzZXQgYm90aCwgYXBwIGFuZCB0ZXN0LXJlZ2V4XG4gICAgaWYgKG9wdGlvbnMuYXBwICYmIG9wdGlvbnMudGVzdFJlZ2V4KSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNjb3Zlcih7XG4gICAgICAgIHRlc3RDYXNlczoge1xuICAgICAgICAgIFtvcHRpb25zLmFwcF06IG9wdGlvbnMudGVzdFJlZ2V4LFxuICAgICAgICB9LFxuICAgICAgICAuLi5iYXNlT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFVzZSB0aGUgc2VsZWN0ZWQgcHJlc2V0c1xuICAgIGlmICghb3B0aW9ucy5hcHAgJiYgIW9wdGlvbnMudGVzdFJlZ2V4KSB7XG4gICAgICAvLyBPbmx5IGNhc2Ugd2l0aCBtdWx0aXBsZSBsYW5ndWFnZXMsIGkuZS4gdGhlIG9ubHkgdGltZSB3ZSBuZWVkIHRvIGNoZWNrIHRoZSBzcGVjaWFsIGNhc2VcbiAgICAgIGNvbnN0IGlnbm9yZVVuY29tcGlsZWRUeXBlU2NyaXB0ID0gb3B0aW9ucy5sYW5ndWFnZT8uaW5jbHVkZXMoJ2phdmFzY3JpcHQnKSAmJiBvcHRpb25zLmxhbmd1YWdlPy5pbmNsdWRlcygndHlwZXNjcmlwdCcpO1xuXG4gICAgICByZXR1cm4gdGhpcy5kaXNjb3Zlcih7XG4gICAgICAgIHRlc3RDYXNlczogdGhpcy5nZXRMYW5ndWFnZVByZXNldHMob3B0aW9ucy5sYW5ndWFnZSksXG4gICAgICAgIC4uLmJhc2VPcHRpb25zLFxuICAgICAgfSwgaWdub3JlVW5jb21waWxlZFR5cGVTY3JpcHQpO1xuICAgIH1cblxuICAgIC8vIE9ubHkgb25lIG9mIGFwcCBvciB0ZXN0LXJlZ2V4IGlzIHNldCwgd2l0aCBhIHNpbmdsZSBwcmVzZXQgc2VsZWN0ZWRcbiAgICAvLyA9PiBvdmVycmlkZSBlaXRoZXIgYXBwIG9yIHRlc3QtcmVnZXhcbiAgICBpZiAob3B0aW9ucy5sYW5ndWFnZT8ubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBbcHJlc2V0QXBwLCBwcmVzZXRUZXN0UmVnZXhdID0gdGhpcy5nZXRMYW5ndWFnZVByZXNldChvcHRpb25zLmxhbmd1YWdlWzBdKTtcbiAgICAgIHJldHVybiB0aGlzLmRpc2NvdmVyKHtcbiAgICAgICAgdGVzdENhc2VzOiB7XG4gICAgICAgICAgW29wdGlvbnMuYXBwID8/IHByZXNldEFwcF06IG9wdGlvbnMudGVzdFJlZ2V4ID8/IHByZXNldFRlc3RSZWdleCxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uYmFzZU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBPbmx5IG9uZSBvZiBhcHAgb3IgdGVzdC1yZWdleCBpcyBzZXQsIHdpdGggbXVsdGlwbGUgcHJlc2V0c1xuICAgIC8vID0+IGltcG9zc2libGUgdG8gcmVzb2x2ZVxuICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuYXBwID8gJy0tYXBwJyA6ICctLXRlc3QtcmVnZXgnO1xuICAgIHRocm93IG5ldyBFcnJvcihgT25seSBhIHNpbmdsZSBcIi0tbGFuZ3VhZ2VcIiBjYW4gYmUgdXNlZCB3aXRoIFwiJHtvcHRpb259XCIuIEFsdGVybmF0aXZlbHkgcHJvdmlkZSBib3RoIFwiLS1hcHBcIiBhbmQgXCItLXRlc3QtcmVnZXhcIiB0byBmdWxseSBjdXN0b21pemUgdGhlIGNvbmZpZ3VyYXRpb24uYCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIGEgbGFuZ3VhZ2VcbiAgICovXG4gIHByaXZhdGUgZ2V0TGFuZ3VhZ2VQcmVzZXQobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIGNvbnN0IGxhbmd1YWdlUHJlc2V0czoge1xuICAgICAgW2xhbmd1YWdlOiBzdHJpbmddOiBbc3RyaW5nLCBzdHJpbmdbXV07XG4gICAgfSA9IHtcbiAgICAgIGphdmFzY3JpcHQ6IFsnbm9kZSB7ZmlsZVBhdGh9JywgWydeaW50ZWdcXFxcLi4qXFxcXC5qcyQnXV0sXG4gICAgICB0eXBlc2NyaXB0OiBbJ25vZGUgLXIgdHMtbm9kZS9yZWdpc3RlciB7ZmlsZVBhdGh9JywgWydeaW50ZWdcXFxcLig/IS4qXFxcXC5kXFxcXC50cyQpLipcXFxcLnRzJCddXSxcbiAgICAgIHB5dGhvbjogW2Ake3B5dGhvbkV4ZWN1dGFibGUoKX0ge2ZpbGVQYXRofWAsIFsnXmludGVnXy4qXFxcXC5weSQnXV0sXG4gICAgICBnbzogWydnbyBydW4ge2ZpbGVQYXRofScsIFsnXmludGVnXy4qXFxcXC5nbyQnXV0sXG4gICAgfTtcblxuICAgIHJldHVybiBsYW5ndWFnZVByZXNldHNbbGFuZ3VhZ2VdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29uZmlnIGZvciBhbGwgc2VsZWN0ZWQgbGFuZ3VhZ2VzXG4gICAqL1xuICBwcml2YXRlIGdldExhbmd1YWdlUHJlc2V0cyhsYW5ndWFnZXM6IHN0cmluZ1tdID0gW10pIHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgbGFuZ3VhZ2VzXG4gICAgICAgIC5tYXAobGFuZ3VhZ2UgPT4gdGhpcy5nZXRMYW5ndWFnZVByZXNldChsYW5ndWFnZSkpXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbiksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgdXNlciBwcm92aWRlcyBhIGxpc3Qgb2YgdGVzdHMsIHRoZXNlIGNhbiBlaXRoZXIgYmUgYSBsaXN0IG9mIHRlc3RzIHRvIGluY2x1ZGUgb3IgYSBsaXN0IG9mIHRlc3RzIHRvIGV4Y2x1ZGUuXG4gICAqXG4gICAqIC0gSWYgaXQgaXMgYSBsaXN0IG9mIHRlc3RzIHRvIGluY2x1ZGUgdGhlbiB3ZSBkaXNjb3ZlciBhbGwgYXZhaWxhYmxlIHRlc3RzIGFuZCBjaGVjayB3aGV0aGVyIHRoZXkgaGF2ZSBwcm92aWRlZCB2YWxpZCB0ZXN0cy5cbiAgICogICBJZiB0aGV5IGhhdmUgcHJvdmlkZWQgYSB0ZXN0IG5hbWUgdGhhdCB3ZSBkb24ndCBmaW5kLCB0aGVuIHdlIHdyaXRlIG91dCB0aGF0IGVycm9yIG1lc3NhZ2UuXG4gICAqIC0gSWYgaXQgaXMgYSBsaXN0IG9mIHRlc3RzIHRvIGV4Y2x1ZGUsIHRoZW4gd2UgZGlzY292ZXIgYWxsIGF2YWlsYWJsZSB0ZXN0cyBhbmQgZmlsdGVyIG91dCB0aGUgdGVzdHMgdGhhdCB3ZXJlIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLlxuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJUZXN0cyhkaXNjb3ZlcmVkVGVzdHM6IEludGVnVGVzdFtdLCByZXF1ZXN0ZWRUZXN0cz86IHN0cmluZ1tdLCBleGNsdWRlPzogYm9vbGVhbiwgc3RyaWN0PzogYm9vbGVhbik6IEludGVnVGVzdFtdIHtcbiAgICBpZiAoIXJlcXVlc3RlZFRlc3RzKSB7XG4gICAgICByZXR1cm4gZGlzY292ZXJlZFRlc3RzO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbFRlc3RzID0gZGlzY292ZXJlZFRlc3RzLmZpbHRlcih0ID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoZXMgPSByZXF1ZXN0ZWRUZXN0cy5zb21lKHBhdHRlcm4gPT4gdC5tYXRjaGVzKHBhdHRlcm4pKTtcbiAgICAgIHJldHVybiBtYXRjaGVzICE9PSAhIWV4Y2x1ZGU7IC8vIExvb2tzIHdlaXJkIGJ1dCBpcyBlcXVhbCB0byAobWF0Y2hlcyAmJiAhZXhjbHVkZSkgfHwgKCFtYXRjaGVzICYmIGV4Y2x1ZGUpXG4gICAgfSk7XG5cbiAgICAvLyBJZiBub3QgZXhjbHVkaW5nLCBhbGwgcGF0dGVybnMgbXVzdCBoYXZlIG1hdGNoZWQgYXQgbGVhc3Qgb25lIHRlc3RcbiAgICBpZiAoIWV4Y2x1ZGUpIHtcbiAgICAgIGNvbnN0IHVubWF0Y2hlZFBhdHRlcm5zID0gcmVxdWVzdGVkVGVzdHMuZmlsdGVyKHBhdHRlcm4gPT4gIWRpc2NvdmVyZWRUZXN0cy5zb21lKHQgPT4gdC5tYXRjaGVzKHBhdHRlcm4pKSk7XG4gICAgICBmb3IgKGNvbnN0IHVubWF0Y2hlZCBvZiB1bm1hdGNoZWRQYXR0ZXJucykge1xuICAgICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgTm8gc3VjaCBpbnRlZyB0ZXN0OiAke3VubWF0Y2hlZH1cXG5gKTtcbiAgICAgIH1cbiAgICAgIGlmICh1bm1hdGNoZWRQYXR0ZXJucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGBBdmFpbGFibGUgdGVzdHM6ICR7ZGlzY292ZXJlZFRlc3RzLm1hcCh0ID0+IHQuZGlzY292ZXJ5UmVsYXRpdmVGaWxlTmFtZSkuam9pbignICcpfVxcbmApO1xuICAgICAgICBpZiAoc3RyaWN0KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdHJpY3QgbW9kZTogJHt1bm1hdGNoZWRQYXR0ZXJucy5sZW5ndGh9IHRlc3Qocykgbm90IGZvdW5kOiAke3VubWF0Y2hlZFBhdHRlcm5zLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhbGxUZXN0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBUYWtlcyBhbiBvcHRpb25hbCBsaXN0IG9mIHRlc3RzIHRvIGxvb2sgZm9yLCBvdGhlcndpc2VcbiAgICogaXQgd2lsbCBsb29rIGZvciBhbGwgdGVzdHMgZnJvbSB0aGUgZGlyZWN0b3J5XG4gICAqXG4gICAqIEBwYXJhbSB0ZXN0cyAtIFRlc3RzIHRvIGluY2x1ZGUgb3IgZXhjbHVkZSwgdW5kZWZpbmVkIG1lYW5zIGluY2x1ZGUgYWxsIHRlc3RzLlxuICAgKiBAcGFyYW0gZXhjbHVkZSAtIFdoZXRoZXIgdGhlICd0ZXN0cycgbGlzdCBpcyBpbmNsdXNpdmUgb3IgZXhjbHVzaXZlIChpbmNsdXNpdmUgYnkgZGVmYXVsdCkuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGRpc2NvdmVyKG9wdGlvbnM6IEludGVncmF0aW9uVGVzdHNEaXNjb3ZlcnlPcHRpb25zLCBpZ25vcmVVbmNvbXBpbGVkVHlwZVNjcmlwdDogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxJbnRlZ1Rlc3RbXT4ge1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgdGhpcy5yZWFkVHJlZSgpO1xuXG4gICAgY29uc3QgdGVzdENhc2VzID0gT2JqZWN0LmVudHJpZXMob3B0aW9ucy50ZXN0Q2FzZXMpXG4gICAgICAuZmxhdE1hcCgoW2FwcENvbW1hbmQsIHBhdHRlcm5zXSkgPT4gZmlsZXNcbiAgICAgICAgLmZpbHRlcihmaWxlTmFtZSA9PiBwYXR0ZXJucy5zb21lKChwYXR0ZXJuKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHBhdHRlcm4pO1xuICAgICAgICAgIHJldHVybiByZWdleC50ZXN0KGZpbGVOYW1lKSB8fCByZWdleC50ZXN0KHBhdGguYmFzZW5hbWUoZmlsZU5hbWUpKTtcbiAgICAgICAgfSkpXG4gICAgICAgIC5tYXAoZmlsZU5hbWUgPT4gbmV3IEludGVnVGVzdCh7XG4gICAgICAgICAgZGlzY292ZXJ5Um9vdDogdGhpcy5kaXJlY3RvcnksXG4gICAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgICAgYXBwQ29tbWFuZCxcbiAgICAgICAgfSkpLFxuICAgICAgKTtcblxuICAgIGNvbnN0IGRpc2NvdmVyZWRUZXN0cyA9IGlnbm9yZVVuY29tcGlsZWRUeXBlU2NyaXB0ID8gdGhpcy5maWx0ZXJVbmNvbXBpbGVkVHlwZVNjcmlwdCh0ZXN0Q2FzZXMpIDogdGVzdENhc2VzO1xuXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyVGVzdHMoZGlzY292ZXJlZFRlc3RzLCBvcHRpb25zLnRlc3RzLCBvcHRpb25zLmV4Y2x1ZGUsIG9wdGlvbnMuc3RyaWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVW5jb21waWxlZFR5cGVTY3JpcHQodGVzdENhc2VzOiBJbnRlZ1Rlc3RbXSk6IEludGVnVGVzdFtdIHtcbiAgICBjb25zdCBqc1Rlc3RDYXNlcyA9IHRlc3RDYXNlcy5maWx0ZXIodCA9PiB0LmZpbGVOYW1lLmVuZHNXaXRoKCcuanMnKSk7XG5cbiAgICByZXR1cm4gdGVzdENhc2VzXG4gICAgICAvLyBSZW1vdmUgYWxsIFR5cGVTY3JpcHQgdGVzdCBjYXNlcyAoZW5kaW5nIGluIC50cylcbiAgICAgIC8vIGZvciB3aGljaCBhIGNvbXBpbGVkIHZlcnNpb24gaXMgcHJlc2VudCAoc2FtZSBuYW1lLCBlbmRpbmcgaW4gLmpzKVxuICAgICAgLmZpbHRlcigodHNDYW5kaWRhdGUpID0+IHtcbiAgICAgICAgaWYgKCF0c0NhbmRpZGF0ZS5maWxlTmFtZS5lbmRzV2l0aCgnLnRzJykpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ganNUZXN0Q2FzZXMuZmluZEluZGV4KGpzVGVzdCA9PiBqc1Rlc3QudGVzdE5hbWUgPT09IHRzQ2FuZGlkYXRlLnRlc3ROYW1lKSA9PT0gLTE7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVhZFRyZWUoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IHJldCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBhc3luYyBmdW5jdGlvbiByZWN1cnNlKGRpcjogc3RyaW5nKSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGF3YWl0IGZzLnJlYWRkaXIoZGlyKTtcbiAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGguam9pbihkaXIsIGZpbGUpO1xuICAgICAgICBjb25zdCBzdGF0ZiA9IGF3YWl0IGZzLnN0YXQoZnVsbFBhdGgpO1xuICAgICAgICBpZiAoc3RhdGYuaXNGaWxlKCkpIHtcbiAgICAgICAgICByZXQucHVzaChmdWxsUGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRmLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICBhd2FpdCByZWN1cnNlKGZ1bGxQYXRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGF3YWl0IHJlY3Vyc2UodGhpcy5kaXJlY3RvcnkpO1xuICAgIHJldHVybiByZXQ7XG4gIH1cbn1cbiJdfQ==
|
|
310
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZ3JhdGlvbi10ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLDJFQUEwRTtBQUUxRSxNQUFNLGlCQUFpQixHQUFHLGVBQWUsQ0FBQztBQXVDMUM7O0dBRUc7QUFDSCxNQUFhLFNBQVM7SUEyRFE7SUExRDVCOzs7O09BSUc7SUFDYSxRQUFRLENBQVM7SUFFakM7Ozs7T0FJRztJQUNhLHlCQUF5QixDQUFTO0lBRWxEOztPQUVHO0lBQ2EsZ0JBQWdCLENBQVM7SUFFekM7Ozs7T0FJRztJQUNhLGtCQUFrQixDQUFTO0lBRTNDOztPQUVHO0lBQ2EsU0FBUyxDQUFTO0lBRWxDOzs7Ozs7T0FNRztJQUNhLFFBQVEsQ0FBUztJQUVqQzs7T0FFRztJQUNhLFdBQVcsQ0FBUztJQUVwQzs7T0FFRztJQUNhLGtCQUFrQixDQUFTO0lBRTNDOzs7OztPQUtHO0lBQ00sVUFBVSxDQUFTO0lBRTVCLFlBQTRCLElBQW1CO1FBQW5CLFNBQUksR0FBSixJQUFJLENBQWU7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLGlCQUFpQixDQUFDO1FBRXZELG1FQUFtRTtRQUNuRSxpRkFBaUY7UUFDakYscURBQXFEO1FBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLHlCQUF5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R0FBVztZQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztvQkFDbkIsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckIsQ0FBQztnQkFDRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO29CQUN4QixNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGO0FBeExELDRDQXdMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgeyBmaW5kVGVzdFNwZWNpZmljQ29udGV4dCB9IGZyb20gJy4vcHJpdmF0ZS90ZXN0LXNwZWNpZmljLWNvbnRleHQnO1xuXG5jb25zdCBDREtfT1VURElSX1BSRUZJWCA9ICdjZGstaW50ZWcub3V0JztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIGludGVncmF0aW9uIHRlc3RcbiAqXG4gKiBUaGlzIHR5cGUgaXMgYSBkYXRhLW9ubHkgc3RydWN0dXJlLCBzbyBpdCBjYW4gdHJpdmlhbGx5IGJlIHBhc3NlZCB0byB3b3JrZXJzLlxuICogRGVyaXZlZCBhdHRyaWJ1dGVzIGFyZSBjYWxjdWxhdGVkIHVzaW5nIHRoZSBgSW50ZWdUZXN0YCBjbGFzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ1Rlc3RJbmZvIHtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGZpbGUgdG8gcnVuXG4gICAqXG4gICAqIFBhdGggaXMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcm9vdCBkaXJlY3Rvcnkgd2UgZGlzY292ZXJlZCB0aGlzIHRlc3QgZnJvbVxuICAgKlxuICAgKiBQYXRoIGlzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzY292ZXJ5Um9vdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ0xJIGNvbW1hbmQgdXNlZCB0byBydW4gdGhpcyB0ZXN0LlxuICAgKiBJZiBpdCBjb250YWlucyB7ZmlsZVBhdGh9LCB0aGUgdGVzdCBmaWxlIG5hbWVzIHdpbGwgYmUgc3Vic3RpdHV0ZWQgYXQgdGhhdCBwbGFjZSBpbiB0aGUgY29tbWFuZCBmb3IgZWFjaCBydW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGVzdCBydW4gY29tbWFuZCB3aWxsIGJlIGBub2RlIHtmaWxlUGF0aH1gXG4gICAqL1xuICByZWFkb25seSBhcHBDb21tYW5kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0cnVlIGlmIHRoaXMgdGVzdCBpcyBydW5uaW5nIGluIHdhdGNoIG1vZGVcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHdhdGNoPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZXJpdmVkIGluZm9ybWF0aW9uIGZvciBJbnRlZ1Rlc3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlZ1Rlc3Qge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gcnVuXG4gICAqXG4gICAqIFBhdGggaXMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogUmVsYXRpdmUgcGF0aCB0byB0aGUgZmlsZSB0byBydW5cbiAgICpcbiAgICogUmVsYXRpdmUgZnJvbSB0aGUgXCJkaXNjb3Zlcnkgcm9vdFwiLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRpc2NvdmVyeVJlbGF0aXZlRmlsZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIGZpbGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhYnNvbHV0ZUZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBub3JtYWxpemVkIG5hbWUgb2YgdGhlIHRlc3QuIFRoaXMgbmFtZVxuICAgKiB3aWxsIGJlIHRoZSBzYW1lIHJlZ2FyZGxlc3Mgb2Ygd2hhdCBkaXJlY3RvcnkgdGhlIHRvb2xcbiAgICogaXMgcnVuIGZyb20uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbm9ybWFsaXplZFRlc3ROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERpcmVjdG9yeSB0aGUgdGVzdCBpcyBpblxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IG5hbWUgZm9yIHRoZSB0ZXN0XG4gICAqXG4gICAqIERlcGVuZHMgb24gdGhlIGRpc2NvdmVyeSBkaXJlY3RvcnkuXG4gICAqXG4gICAqIExvb2tzIGxpa2UgYGludGVnLm15dGVzdGAgb3IgYHBhY2thZ2UvdGVzdC9pbnRlZy5teXRlc3RgLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRlc3ROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggb2YgdGhlIHNuYXBzaG90IGRpcmVjdG9yeSBmb3IgdGhpcyB0ZXN0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc25hcHNob3REaXI6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgdGVtcG9yYXJ5IG91dHB1dCBkaXJlY3RvcnkgZm9yIHRoaXMgdGVzdFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRlbXBvcmFyeU91dHB1dERpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ0xJIGNvbW1hbmQgdXNlZCB0byBydW4gdGhpcyB0ZXN0LlxuICAgKiBJZiBpdCBjb250YWlucyB7ZmlsZVBhdGh9LCB0aGUgdGVzdCBmaWxlIG5hbWVzIHdpbGwgYmUgc3Vic3RpdHV0ZWQgYXQgdGhhdCBwbGFjZSBpbiB0aGUgY29tbWFuZCBmb3IgZWFjaCBydW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGVzdCBydW4gY29tbWFuZCB3aWxsIGJlIGBub2RlIHtmaWxlUGF0aH1gXG4gICAqL1xuICByZWFkb25seSBhcHBDb21tYW5kOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGluZm86IEludGVnVGVzdEluZm8pIHtcbiAgICB0aGlzLmFwcENvbW1hbmQgPSBpbmZvLmFwcENvbW1hbmQgPz8gJ25vZGUge2ZpbGVQYXRofSc7XG5cbiAgICAvLyBmb3IgY29uc2lzdGVuY3ksIGFsd2F5cyBydW4gdGhlIENESyBhcHBzIHVuZGVyIHRlc3QgZnJvbSB0aGUgQ1dEXG4gICAgLy8gdGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCBmb3IgbGFuZ3VhZ2VzIHRoYXQgdXNlIHRoZSBDV0QgdG8gZGlzY292ZXIgYXNzZXRzXG4gICAgLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGstY2xpL2lzc3Vlcy82MzhcbiAgICB0aGlzLmRpcmVjdG9yeSA9IHByb2Nlc3MuY3dkKCk7XG4gICAgdGhpcy5hYnNvbHV0ZUZpbGVOYW1lID0gcGF0aC5yZXNvbHZlKGluZm8uZmlsZU5hbWUpO1xuICAgIHRoaXMuZmlsZU5hbWUgPSBwYXRoLnJlbGF0aXZlKHRoaXMuZGlyZWN0b3J5LCBpbmZvLmZpbGVOYW1lKTtcbiAgICB0aGlzLmRpc2NvdmVyeVJlbGF0aXZlRmlsZU5hbWUgPSBwYXRoLnJlbGF0aXZlKGluZm8uZGlzY292ZXJ5Um9vdCwgaW5mby5maWxlTmFtZSk7XG5cbiAgICAvLyBXZSB0cmVhdCB0aGUgZGlzY292ZXJ5IHJvb3QgYXMgdGhlIGJhc2UgZm9yIGRpc3BsYXkgbmFtZXNcbiAgICAvLyBMb29rcyBlaXRoZXIgbGlrZSBgaW50ZWcubXl0ZXN0YCBvciBgcGFja2FnZS90ZXN0L2ludGVnLm15dGVzdGBcbiAgICBjb25zdCBwYXJzZWQgPSBwYXRoLnBhcnNlKHRoaXMuZmlsZU5hbWUpO1xuICAgIHRoaXMudGVzdE5hbWUgPSBwYXRoLmpvaW4ocGF0aC5yZWxhdGl2ZSh0aGlzLmluZm8uZGlzY292ZXJ5Um9vdCwgcGFyc2VkLmRpciksIHBhcnNlZC5uYW1lKTtcbiAgICB0aGlzLm5vcm1hbGl6ZWRUZXN0TmFtZSA9IHBhcnNlZC5uYW1lO1xuICAgIHRoaXMuc25hcHNob3REaXIgPSBwYXRoLmpvaW4ocGFyc2VkLmRpciwgYCR7cGFyc2VkLmJhc2V9LnNuYXBzaG90YCk7XG4gICAgdGhpcy50ZW1wb3JhcnlPdXRwdXREaXIgPSBwYXRoLmpvaW4ocGFyc2VkLmRpciwgYCR7Q0RLX09VVERJUl9QUkVGSVh9LiR7cGFyc2VkLmJhc2V9LnNuYXBzaG90YCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIHRlc3QgbWF0Y2hlcyB0aGUgdXNlci1naXZlbiBuYW1lXG4gICAqXG4gICAqIFdlIGFyZSB2ZXJ5IGxlbmllbnQgaGVyZS4gQSBuYW1lIG1hdGNoZXMgaWYgaXQgbWF0Y2hlczpcbiAgICpcbiAgICogLSBUaGUgQ1dELXJlbGF0aXZlIGZpbGVuYW1lXG4gICAqIC0gVGhlIGRpc2NvdmVyeSByb290LXJlbGF0aXZlIGZpbGVuYW1lXG4gICAqIC0gVGhlIHN1aXRlIG5hbWVcbiAgICogLSBUaGUgYWJzb2x1dGUgZmlsZW5hbWVcbiAgICovXG4gIHB1YmxpYyBtYXRjaGVzKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmZpbGVOYW1lLFxuICAgICAgdGhpcy5kaXNjb3ZlcnlSZWxhdGl2ZUZpbGVOYW1lLFxuICAgICAgdGhpcy50ZXN0TmFtZSxcbiAgICAgIHRoaXMuYWJzb2x1dGVGaWxlTmFtZSxcbiAgICBdLmluY2x1ZGVzKG5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBmb3IgYSB0ZXN0LXNwZWNpZmljIGNvbnRleHQgZmlsZSBhbmQgcmV0dXJuIGl0cyBjb250ZW50cyBpZiBpdCBleGlzdHMuXG4gICAqXG4gICAqIElmIGB1bmRlZmluZWRgLCBubyB0ZXN0LXNwZWNpZmljIGNvbnRleHQgY291bGQgYmUgZm91bmQuIFRlc3Qtc3BlY2lmaWMgY29udGV4dFxuICAgKiB3aWxsIGJlIHRha2VuIGZyb20gZWl0aGVyIGBpbnRlZy5jb250ZXh0Lmpzb25gIGlmIGZvdW5kLCBvciBvdGhlcndpc2VcbiAgICogYGNkay5qc29uI2NvbnRleHRgIGlmIG5vdCBmb3VuZCwgdXBzdHJlYW0gZnJvbSB0aGUgdGVzdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyB0ZXN0U3BlY2lmaWNDb250ZXh0KCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gZmluZFRlc3RTcGVjaWZpY0NvbnRleHQodGhpcy5maWxlTmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgaG93IGludGVncmF0aW9uIHRlc3QgZmlsZXMgYXJlIGRpc2NvdmVyZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RzRGlzY292ZXJ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJZiB0aGlzIGlzIHNldCB0byB0cnVlIHRoZW4gdGhlIGxpc3Qgb2YgdGVzdHNcbiAgICogcHJvdmlkZWQgd2lsbCBiZSBleGNsdWRlZFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVkZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIHRoaXMgaXMgc2V0IHRvIHRydWUsIHRocm93IGFuIGVycm9yIGlmIGFueSBzcGVjaWZpZWQgdGVzdHMgYXJlIG5vdCBmb3VuZFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RyaWN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTGlzdCBvZiB0ZXN0cyB0byBpbmNsdWRlIChvciBleGNsdWRlIGlmIGBleGNsdWRlPXRydWVgKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBtYXRjaGVkIGZpbGVzXG4gICAqL1xuICByZWFkb25seSB0ZXN0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBvZiB0aGUgYXBwIGNvbW1hbmRzIHRvIHJ1biBpbnRlZ3JhdGlvbiB0ZXN0cyB3aXRoLFxuICAgKiBhbmQgdGhlIHJlZ2V4IHBhdHRlcm5zIG1hdGNoaW5nIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0IGZpbGVzIGVhY2ggYXBwIGNvbW1hbmQuXG4gICAqXG4gICAqIElmIHRoZSBhcHAgY29tbWFuZCBjb250YWlucyB7ZmlsZVBhdGh9LCB0aGUgdGVzdCBmaWxlIG5hbWVzIHdpbGwgYmUgc3Vic3RpdHV0ZWQgYXQgdGhhdCBwbGFjZSBpbiB0aGUgY29tbWFuZCBmb3IgZWFjaCBydW4uXG4gICAqL1xuICByZWFkb25seSB0ZXN0Q2FzZXM6IHtcbiAgICBbYXBwOiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBQeXRob24gZXhlY3V0YWJsZSBmb3IgdGhlIGN1cnJlbnQgT1NcbiAqL1xuZnVuY3Rpb24gcHl0aG9uRXhlY3V0YWJsZSgpIHtcbiAgbGV0IHB5dGhvbiA9ICdweXRob24zJztcbiAgaWYgKHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicpIHtcbiAgICBweXRob24gPSAncHl0aG9uJztcbiAgfVxuICByZXR1cm4gcHl0aG9uO1xufVxuXG4vKipcbiAqIERpc2NvdmVyIGludGVncmF0aW9uIHRlc3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvblRlc3RzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZykge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbnRlZ3JhdGlvbiB0ZXN0cyBkaXNjb3Zlcnkgb3B0aW9ucyBmcm9tIENMSSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZnJvbUNsaU9wdGlvbnMob3B0aW9uczoge1xuICAgIGFwcD86IHN0cmluZztcbiAgICBleGNsdWRlPzogYm9vbGVhbjtcbiAgICBsYW5ndWFnZT86IHN0cmluZ1tdO1xuICAgIHRlc3RSZWdleD86IHN0cmluZ1tdO1xuICAgIHRlc3RzPzogc3RyaW5nW107XG4gICAgc3RyaWN0PzogYm9vbGVhbjtcbiAgfSk6IFByb21pc2U8SW50ZWdUZXN0W10+IHtcbiAgICBjb25zdCBiYXNlT3B0aW9ucyA9IHtcbiAgICAgIHRlc3RzOiBvcHRpb25zLnRlc3RzLFxuICAgICAgZXhjbHVkZTogb3B0aW9ucy5leGNsdWRlLFxuICAgICAgc3RyaWN0OiBvcHRpb25zLnN0cmljdCxcbiAgICB9O1xuXG4gICAgLy8gRXhwbGljaXRseSBzZXQgYm90aCwgYXBwIGFuZCB0ZXN0LXJlZ2V4XG4gICAgaWYgKG9wdGlvbnMuYXBwICYmIG9wdGlvbnMudGVzdFJlZ2V4KSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNjb3Zlcih7XG4gICAgICAgIHRlc3RDYXNlczoge1xuICAgICAgICAgIFtvcHRpb25zLmFwcF06IG9wdGlvbnMudGVzdFJlZ2V4LFxuICAgICAgICB9LFxuICAgICAgICAuLi5iYXNlT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFVzZSB0aGUgc2VsZWN0ZWQgcHJlc2V0c1xuICAgIGlmICghb3B0aW9ucy5hcHAgJiYgIW9wdGlvbnMudGVzdFJlZ2V4KSB7XG4gICAgICAvLyBPbmx5IGNhc2Ugd2l0aCBtdWx0aXBsZSBsYW5ndWFnZXMsIGkuZS4gdGhlIG9ubHkgdGltZSB3ZSBuZWVkIHRvIGNoZWNrIHRoZSBzcGVjaWFsIGNhc2VcbiAgICAgIGNvbnN0IGlnbm9yZVVuY29tcGlsZWRUeXBlU2NyaXB0ID0gb3B0aW9ucy5sYW5ndWFnZT8uaW5jbHVkZXMoJ2phdmFzY3JpcHQnKSAmJiBvcHRpb25zLmxhbmd1YWdlPy5pbmNsdWRlcygndHlwZXNjcmlwdCcpO1xuXG4gICAgICByZXR1cm4gdGhpcy5kaXNjb3Zlcih7XG4gICAgICAgIHRlc3RDYXNlczogdGhpcy5nZXRMYW5ndWFnZVByZXNldHMob3B0aW9ucy5sYW5ndWFnZSksXG4gICAgICAgIC4uLmJhc2VPcHRpb25zLFxuICAgICAgfSwgaWdub3JlVW5jb21waWxlZFR5cGVTY3JpcHQpO1xuICAgIH1cblxuICAgIC8vIE9ubHkgb25lIG9mIGFwcCBvciB0ZXN0LXJlZ2V4IGlzIHNldCwgd2l0aCBhIHNpbmdsZSBwcmVzZXQgc2VsZWN0ZWRcbiAgICAvLyA9PiBvdmVycmlkZSBlaXRoZXIgYXBwIG9yIHRlc3QtcmVnZXhcbiAgICBpZiAob3B0aW9ucy5sYW5ndWFnZT8ubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBbcHJlc2V0QXBwLCBwcmVzZXRUZXN0UmVnZXhdID0gdGhpcy5nZXRMYW5ndWFnZVByZXNldChvcHRpb25zLmxhbmd1YWdlWzBdKTtcbiAgICAgIHJldHVybiB0aGlzLmRpc2NvdmVyKHtcbiAgICAgICAgdGVzdENhc2VzOiB7XG4gICAgICAgICAgW29wdGlvbnMuYXBwID8/IHByZXNldEFwcF06IG9wdGlvbnMudGVzdFJlZ2V4ID8/IHByZXNldFRlc3RSZWdleCxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uYmFzZU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBPbmx5IG9uZSBvZiBhcHAgb3IgdGVzdC1yZWdleCBpcyBzZXQsIHdpdGggbXVsdGlwbGUgcHJlc2V0c1xuICAgIC8vID0+IGltcG9zc2libGUgdG8gcmVzb2x2ZVxuICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuYXBwID8gJy0tYXBwJyA6ICctLXRlc3QtcmVnZXgnO1xuICAgIHRocm93IG5ldyBFcnJvcihgT25seSBhIHNpbmdsZSBcIi0tbGFuZ3VhZ2VcIiBjYW4gYmUgdXNlZCB3aXRoIFwiJHtvcHRpb259XCIuIEFsdGVybmF0aXZlbHkgcHJvdmlkZSBib3RoIFwiLS1hcHBcIiBhbmQgXCItLXRlc3QtcmVnZXhcIiB0byBmdWxseSBjdXN0b21pemUgdGhlIGNvbmZpZ3VyYXRpb24uYCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIGEgbGFuZ3VhZ2VcbiAgICovXG4gIHByaXZhdGUgZ2V0TGFuZ3VhZ2VQcmVzZXQobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIGNvbnN0IGxhbmd1YWdlUHJlc2V0czoge1xuICAgICAgW2xhbmd1YWdlOiBzdHJpbmddOiBbc3RyaW5nLCBzdHJpbmdbXV07XG4gICAgfSA9IHtcbiAgICAgIGphdmFzY3JpcHQ6IFsnbm9kZSB7ZmlsZVBhdGh9JywgWydeaW50ZWdcXFxcLi4qXFxcXC5qcyQnXV0sXG4gICAgICB0eXBlc2NyaXB0OiBbJ25vZGUgLXIgdHMtbm9kZS9yZWdpc3RlciB7ZmlsZVBhdGh9JywgWydeaW50ZWdcXFxcLig/IS4qXFxcXC5kXFxcXC50cyQpLipcXFxcLnRzJCddXSxcbiAgICAgIHB5dGhvbjogW2Ake3B5dGhvbkV4ZWN1dGFibGUoKX0ge2ZpbGVQYXRofWAsIFsnXmludGVnXy4qXFxcXC5weSQnXV0sXG4gICAgICBnbzogWydnbyBydW4ge2ZpbGVQYXRofScsIFsnXmludGVnXy4qXFxcXC5nbyQnXV0sXG4gICAgfTtcblxuICAgIHJldHVybiBsYW5ndWFnZVByZXNldHNbbGFuZ3VhZ2VdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29uZmlnIGZvciBhbGwgc2VsZWN0ZWQgbGFuZ3VhZ2VzXG4gICAqL1xuICBwcml2YXRlIGdldExhbmd1YWdlUHJlc2V0cyhsYW5ndWFnZXM6IHN0cmluZ1tdID0gW10pIHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgbGFuZ3VhZ2VzXG4gICAgICAgIC5tYXAobGFuZ3VhZ2UgPT4gdGhpcy5nZXRMYW5ndWFnZVByZXNldChsYW5ndWFnZSkpXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbiksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgdXNlciBwcm92aWRlcyBhIGxpc3Qgb2YgdGVzdHMsIHRoZXNlIGNhbiBlaXRoZXIgYmUgYSBsaXN0IG9mIHRlc3RzIHRvIGluY2x1ZGUgb3IgYSBsaXN0IG9mIHRlc3RzIHRvIGV4Y2x1ZGUuXG4gICAqXG4gICAqIC0gSWYgaXQgaXMgYSBsaXN0IG9mIHRlc3RzIHRvIGluY2x1ZGUgdGhlbiB3ZSBkaXNjb3ZlciBhbGwgYXZhaWxhYmxlIHRlc3RzIGFuZCBjaGVjayB3aGV0aGVyIHRoZXkgaGF2ZSBwcm92aWRlZCB2YWxpZCB0ZXN0cy5cbiAgICogICBJZiB0aGV5IGhhdmUgcHJvdmlkZWQgYSB0ZXN0IG5hbWUgdGhhdCB3ZSBkb24ndCBmaW5kLCB0aGVuIHdlIHdyaXRlIG91dCB0aGF0IGVycm9yIG1lc3NhZ2UuXG4gICAqIC0gSWYgaXQgaXMgYSBsaXN0IG9mIHRlc3RzIHRvIGV4Y2x1ZGUsIHRoZW4gd2UgZGlzY292ZXIgYWxsIGF2YWlsYWJsZSB0ZXN0cyBhbmQgZmlsdGVyIG91dCB0aGUgdGVzdHMgdGhhdCB3ZXJlIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLlxuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJUZXN0cyhkaXNjb3ZlcmVkVGVzdHM6IEludGVnVGVzdFtdLCByZXF1ZXN0ZWRUZXN0cz86IHN0cmluZ1tdLCBleGNsdWRlPzogYm9vbGVhbiwgc3RyaWN0PzogYm9vbGVhbik6IEludGVnVGVzdFtdIHtcbiAgICBpZiAoIXJlcXVlc3RlZFRlc3RzKSB7XG4gICAgICByZXR1cm4gZGlzY292ZXJlZFRlc3RzO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbFRlc3RzID0gZGlzY292ZXJlZFRlc3RzLmZpbHRlcih0ID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoZXMgPSByZXF1ZXN0ZWRUZXN0cy5zb21lKHBhdHRlcm4gPT4gdC5tYXRjaGVzKHBhdHRlcm4pKTtcbiAgICAgIHJldHVybiBtYXRjaGVzICE9PSAhIWV4Y2x1ZGU7IC8vIExvb2tzIHdlaXJkIGJ1dCBpcyBlcXVhbCB0byAobWF0Y2hlcyAmJiAhZXhjbHVkZSkgfHwgKCFtYXRjaGVzICYmIGV4Y2x1ZGUpXG4gICAgfSk7XG5cbiAgICAvLyBJZiBub3QgZXhjbHVkaW5nLCBhbGwgcGF0dGVybnMgbXVzdCBoYXZlIG1hdGNoZWQgYXQgbGVhc3Qgb25lIHRlc3RcbiAgICBpZiAoIWV4Y2x1ZGUpIHtcbiAgICAgIGNvbnN0IHVubWF0Y2hlZFBhdHRlcm5zID0gcmVxdWVzdGVkVGVzdHMuZmlsdGVyKHBhdHRlcm4gPT4gIWRpc2NvdmVyZWRUZXN0cy5zb21lKHQgPT4gdC5tYXRjaGVzKHBhdHRlcm4pKSk7XG4gICAgICBmb3IgKGNvbnN0IHVubWF0Y2hlZCBvZiB1bm1hdGNoZWRQYXR0ZXJucykge1xuICAgICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgTm8gc3VjaCBpbnRlZyB0ZXN0OiAke3VubWF0Y2hlZH1cXG5gKTtcbiAgICAgIH1cbiAgICAgIGlmICh1bm1hdGNoZWRQYXR0ZXJucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGBBdmFpbGFibGUgdGVzdHM6ICR7ZGlzY292ZXJlZFRlc3RzLm1hcCh0ID0+IHQuZGlzY292ZXJ5UmVsYXRpdmVGaWxlTmFtZSkuam9pbignICcpfVxcbmApO1xuICAgICAgICBpZiAoc3RyaWN0KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdHJpY3QgbW9kZTogJHt1bm1hdGNoZWRQYXR0ZXJucy5sZW5ndGh9IHRlc3Qocykgbm90IGZvdW5kOiAke3VubWF0Y2hlZFBhdHRlcm5zLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhbGxUZXN0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBUYWtlcyBhbiBvcHRpb25hbCBsaXN0IG9mIHRlc3RzIHRvIGxvb2sgZm9yLCBvdGhlcndpc2VcbiAgICogaXQgd2lsbCBsb29rIGZvciBhbGwgdGVzdHMgZnJvbSB0aGUgZGlyZWN0b3J5XG4gICAqXG4gICAqIEBwYXJhbSB0ZXN0cyAtIFRlc3RzIHRvIGluY2x1ZGUgb3IgZXhjbHVkZSwgdW5kZWZpbmVkIG1lYW5zIGluY2x1ZGUgYWxsIHRlc3RzLlxuICAgKiBAcGFyYW0gZXhjbHVkZSAtIFdoZXRoZXIgdGhlICd0ZXN0cycgbGlzdCBpcyBpbmNsdXNpdmUgb3IgZXhjbHVzaXZlIChpbmNsdXNpdmUgYnkgZGVmYXVsdCkuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGRpc2NvdmVyKG9wdGlvbnM6IEludGVncmF0aW9uVGVzdHNEaXNjb3ZlcnlPcHRpb25zLCBpZ25vcmVVbmNvbXBpbGVkVHlwZVNjcmlwdDogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxJbnRlZ1Rlc3RbXT4ge1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgdGhpcy5yZWFkVHJlZSgpO1xuXG4gICAgY29uc3QgdGVzdENhc2VzID0gT2JqZWN0LmVudHJpZXMob3B0aW9ucy50ZXN0Q2FzZXMpXG4gICAgICAuZmxhdE1hcCgoW2FwcENvbW1hbmQsIHBhdHRlcm5zXSkgPT4gZmlsZXNcbiAgICAgICAgLmZpbHRlcihmaWxlTmFtZSA9PiBwYXR0ZXJucy5zb21lKChwYXR0ZXJuKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHBhdHRlcm4pO1xuICAgICAgICAgIHJldHVybiByZWdleC50ZXN0KGZpbGVOYW1lKSB8fCByZWdleC50ZXN0KHBhdGguYmFzZW5hbWUoZmlsZU5hbWUpKTtcbiAgICAgICAgfSkpXG4gICAgICAgIC5tYXAoZmlsZU5hbWUgPT4gbmV3IEludGVnVGVzdCh7XG4gICAgICAgICAgZGlzY292ZXJ5Um9vdDogdGhpcy5kaXJlY3RvcnksXG4gICAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgICAgYXBwQ29tbWFuZCxcbiAgICAgICAgfSkpLFxuICAgICAgKTtcblxuICAgIGNvbnN0IGRpc2NvdmVyZWRUZXN0cyA9IGlnbm9yZVVuY29tcGlsZWRUeXBlU2NyaXB0ID8gdGhpcy5maWx0ZXJVbmNvbXBpbGVkVHlwZVNjcmlwdCh0ZXN0Q2FzZXMpIDogdGVzdENhc2VzO1xuXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyVGVzdHMoZGlzY292ZXJlZFRlc3RzLCBvcHRpb25zLnRlc3RzLCBvcHRpb25zLmV4Y2x1ZGUsIG9wdGlvbnMuc3RyaWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVW5jb21waWxlZFR5cGVTY3JpcHQodGVzdENhc2VzOiBJbnRlZ1Rlc3RbXSk6IEludGVnVGVzdFtdIHtcbiAgICBjb25zdCBqc1Rlc3RDYXNlcyA9IHRlc3RDYXNlcy5maWx0ZXIodCA9PiB0LmZpbGVOYW1lLmVuZHNXaXRoKCcuanMnKSk7XG5cbiAgICByZXR1cm4gdGVzdENhc2VzXG4gICAgICAvLyBSZW1vdmUgYWxsIFR5cGVTY3JpcHQgdGVzdCBjYXNlcyAoZW5kaW5nIGluIC50cylcbiAgICAgIC8vIGZvciB3aGljaCBhIGNvbXBpbGVkIHZlcnNpb24gaXMgcHJlc2VudCAoc2FtZSBuYW1lLCBlbmRpbmcgaW4gLmpzKVxuICAgICAgLmZpbHRlcigodHNDYW5kaWRhdGUpID0+IHtcbiAgICAgICAgaWYgKCF0c0NhbmRpZGF0ZS5maWxlTmFtZS5lbmRzV2l0aCgnLnRzJykpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ganNUZXN0Q2FzZXMuZmluZEluZGV4KGpzVGVzdCA9PiBqc1Rlc3QudGVzdE5hbWUgPT09IHRzQ2FuZGlkYXRlLnRlc3ROYW1lKSA9PT0gLTE7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVhZFRyZWUoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IHJldCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBhc3luYyBmdW5jdGlvbiByZWN1cnNlKGRpcjogc3RyaW5nKSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGF3YWl0IGZzLnJlYWRkaXIoZGlyKTtcbiAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGguam9pbihkaXIsIGZpbGUpO1xuICAgICAgICBjb25zdCBzdGF0ZiA9IGF3YWl0IGZzLnN0YXQoZnVsbFBhdGgpO1xuICAgICAgICBpZiAoc3RhdGYuaXNGaWxlKCkpIHtcbiAgICAgICAgICByZXQucHVzaChmdWxsUGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRmLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICBhd2FpdCByZWN1cnNlKGZ1bGxQYXRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGF3YWl0IHJlY3Vyc2UodGhpcy5kaXJlY3RvcnkpO1xuICAgIHJldHVybiByZXQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AssetManifest } from '@aws-cdk/cdk-assets-lib';
|
|
2
1
|
import type { AssemblyManifest } from '@aws-cdk/cloud-assembly-schema';
|
|
3
2
|
/**
|
|
4
3
|
* Trace information for stack
|
|
@@ -58,7 +57,7 @@ export declare class AssemblyManifestReader {
|
|
|
58
57
|
/**
|
|
59
58
|
* Return a list of asset artifacts for a given stack
|
|
60
59
|
*/
|
|
61
|
-
getAssetManifestsForStack
|
|
60
|
+
private getAssetManifestsForStack;
|
|
62
61
|
/**
|
|
63
62
|
* Get a list of assets from the assembly manifest
|
|
64
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-assembly.d.ts","sourceRoot":"","sources":["cloud-assembly.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cloud-assembly.d.ts","sourceRoot":"","sources":["cloud-assembly.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAwJ,MAAM,gCAAgC,CAAC;AAI7N;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,qBAAa,sBAAsB;IAsCF,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAoB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IArC7G,gBAAuB,gBAAgB,mBAAmB;IAE1D;;OAEG;WACW,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB;IAShE;;;;OAIG;WACW,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB;IAahE;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,SAAS,EAAE,MAAM,EAAmB,QAAQ,EAAE,gBAAgB,EAAmB,gBAAgB,EAAE,MAAM;IAIrH;;;OAGG;IACH,IAAW,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAYvC;IAED;;;OAGG;IACI,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAepE;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAQ9C;;OAEG;IACI,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAYrD;;OAEG;IACI,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAmB3D;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAelC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;;;OAIG;IACI,aAAa,IAAI,IAAI;IAQ5B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,eAAe;CAcxB"}
|
|
@@ -1,11 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.AssemblyManifestReader = void 0;
|
|
4
|
-
const path = require("path");
|
|
37
|
+
const path = __importStar(require("path"));
|
|
5
38
|
const cdk_assets_lib_1 = require("@aws-cdk/cdk-assets-lib");
|
|
6
39
|
const cloud_assembly_api_1 = require("@aws-cdk/cloud-assembly-api");
|
|
7
40
|
const cloud_assembly_schema_1 = require("@aws-cdk/cloud-assembly-schema");
|
|
8
|
-
const fs = require("fs-extra");
|
|
41
|
+
const fs = __importStar(require("fs-extra"));
|
|
9
42
|
/**
|
|
10
43
|
* Reads a Cloud Assembly manifest
|
|
11
44
|
*/
|
|
@@ -244,4 +277,4 @@ class AssemblyManifestReader {
|
|
|
244
277
|
}
|
|
245
278
|
}
|
|
246
279
|
exports.AssemblyManifestReader = AssemblyManifestReader;
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZC1hc3NlbWJseS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFFN0IsNERBQXdEO0FBQ3hELG9FQUE0RDtBQUU1RCwwRUFBbUc7QUFDbkcsK0JBQStCO0FBZS9COztHQUVHO0FBQ0gsTUFBYSxzQkFBc0I7SUFzQ2U7SUFBNkM7SUFyQ3RGLE1BQU0sQ0FBVSxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFFMUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQWdCO1FBQ3JDLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLGdDQUFRLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEQsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLFFBQVEsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQWdCO1FBQ3JDLElBQUksRUFBRSxDQUFDO1FBQ1AsSUFBSSxDQUFDO1lBQ0gsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsUUFBUSxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sc0JBQXNC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LENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQXFCO1FBQzNDLE1BQU0sWUFBWSxHQUF1QyxFQUFFLENBQUM7UUFDNUQsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNuRixJQUFJLFVBQVUsR0FBMkIsU0FBUyxDQUFDO1lBQ25ELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxvQ0FBWSxDQUFDLHdCQUF3QixJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNyRSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHO2dCQUN6QixHQUFHLFFBQVE7Z0JBQ1gsUUFBUSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDO2FBQzVELENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7QUFsUEgsd0RBbVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB0eXBlIHsgRmlsZU1hbmlmZXN0RW50cnksIERvY2tlckltYWdlTWFuaWZlc3RFbnRyeSB9IGZyb20gJ0Bhd3MtY2RrL2Nkay1hc3NldHMtbGliJztcbmltcG9ydCB7IEFzc2V0TWFuaWZlc3QgfSBmcm9tICdAYXdzLWNkay9jZGstYXNzZXRzLWxpYic7XG5pbXBvcnQgeyBDbG91ZEFydGlmYWN0IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktYXBpJztcbmltcG9ydCB0eXBlIHsgQXNzZW1ibHlNYW5pZmVzdCwgQXdzQ2xvdWRGb3JtYXRpb25TdGFja1Byb3BlcnRpZXMsIEFydGlmYWN0TWFuaWZlc3QsIE1ldGFkYXRhRW50cnksIEFzc2V0TWFuaWZlc3RQcm9wZXJ0aWVzLCBDb250YWluZXJJbWFnZUFzc2V0TWV0YWRhdGFFbnRyeSwgRmlsZUFzc2V0TWV0YWRhdGFFbnRyeSB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBNYW5pZmVzdCwgQXJ0aWZhY3RUeXBlLCBBcnRpZmFjdE1ldGFkYXRhRW50cnlUeXBlIH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcblxuLyoqXG4gKiBUcmFjZSBpbmZvcm1hdGlvbiBmb3Igc3RhY2tcbiAqIG1hcCBvZiByZXNvdXJjZSBsb2dpY2FsSWQgdG8gdHJhY2UgbWVzc2FnZVxuICovXG5leHBvcnQgdHlwZSBTdGFja1RyYWNlID0gTWFwPHN0cmluZywgc3RyaW5nPjtcblxuLyoqXG4gKiBUcmFjZSBpbmZvcm1hdGlvbiBmb3IgYSBhc3NlbWJseVxuICpcbiAqIG1hcCBvZiBzdGFja0lkIHRvIFN0YWNrVHJhY2VcbiAqL1xuZXhwb3J0IHR5cGUgTWFuaWZlc3RUcmFjZSA9IE1hcDxzdHJpbmcsIFN0YWNrVHJhY2U+O1xuXG4vKipcbiAqIFJlYWRzIGEgQ2xvdWQgQXNzZW1ibHkgbWFuaWZlc3RcbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfRklMRU5BTUUgPSAnbWFuaWZlc3QuanNvbic7XG5cbiAgLyoqXG4gICAqIFJlYWRzIGEgQ2xvdWQgQXNzZW1ibHkgbWFuaWZlc3QgZnJvbSBhIGZpbGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUZpbGUoZmlsZU5hbWU6IHN0cmluZyk6IEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvYmogPSBNYW5pZmVzdC5sb2FkQXNzZW1ibHlNYW5pZmVzdChmaWxlTmFtZSk7XG4gICAgICByZXR1cm4gbmV3IEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIocGF0aC5kaXJuYW1lKGZpbGVOYW1lKSwgb2JqLCBmaWxlTmFtZSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZWFkIGludGVnIG1hbmlmZXN0ICcke2ZpbGVOYW1lfSc6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBhIENsb3VkIEFzc2VtYmx5IG1hbmlmZXN0IGZyb20gYSBmaWxlIG9yIGEgZGlyZWN0b3J5XG4gICAqIElmIHRoZSBnaXZlbiBmaWxlUGF0aCBpcyBhIGRpcmVjdG9yeSB0aGVuIGl0IHdpbGwgbG9vayBmb3JcbiAgICogYSBmaWxlIHdpdGhpbiB0aGUgZGlyZWN0b3J5IHdpdGggdGhlIERFRkFVTFRfRklMRU5BTUVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVBhdGgoZmlsZVBhdGg6IHN0cmluZyk6IEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIge1xuICAgIGxldCBzdDtcbiAgICB0cnkge1xuICAgICAgc3QgPSBmcy5zdGF0U3luYyhmaWxlUGF0aCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZWFkIGludGVnIG1hbmlmZXN0IGF0ICcke2ZpbGVQYXRofSc6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgICBpZiAoc3QuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgcmV0dXJuIEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIuZnJvbUZpbGUocGF0aC5qb2luKGZpbGVQYXRoLCBBc3NlbWJseU1hbmlmZXN0UmVhZGVyLkRFRkFVTFRfRklMRU5BTUUpKTtcbiAgICB9XG4gICAgcmV0dXJuIEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIuZnJvbUZpbGUoZmlsZVBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIG1hbmlmZXN0IHdhcyBmb3VuZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGRpcmVjdG9yeTogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IG1hbmlmZXN0OiBBc3NlbWJseU1hbmlmZXN0LCBwcml2YXRlIHJlYWRvbmx5IG1hbmlmZXN0RmlsZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuZGlyZWN0b3J5ID0gZGlyZWN0b3J5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc3RhY2tzIGZyb20gdGhlIG1hbmlmZXN0XG4gICAqIHJldHVybnMgYSBtYXAgb2YgYXJ0aWZhY3RJZCB0byBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZVxuICAgKi9cbiAgcHVibGljIGdldCBzdGFja3MoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3Qgc3RhY2tzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBbYXJ0aWZhY3RJZCwgYXJ0aWZhY3RdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMubWFuaWZlc3QuYXJ0aWZhY3RzID8/IHt9KSkge1xuICAgICAgaWYgKGFydGlmYWN0LnR5cGUgIT09IEFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0spIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBwcm9wcyA9IGFydGlmYWN0LnByb3BlcnRpZXMgYXMgQXdzQ2xvdWRGb3JtYXRpb25TdGFja1Byb3BlcnRpZXM7XG5cbiAgICAgIGNvbnN0IHRlbXBsYXRlID0gZnMucmVhZEpTT05TeW5jKHBhdGgucmVzb2x2ZSh0aGlzLmRpcmVjdG9yeSwgcHJvcHMudGVtcGxhdGVGaWxlKSk7XG4gICAgICBzdGFja3NbYXJ0aWZhY3RJZF0gPSB0ZW1wbGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YWNrcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG5lc3RlZCBzdGFja3MgZm9yIGEgZ2l2ZW4gc3RhY2tcbiAgICogcmV0dXJucyBhIG1hcCBvZiBhcnRpZmFjdElkIHRvIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlXG4gICAqL1xuICBwdWJsaWMgZ2V0TmVzdGVkU3RhY2tzRm9yU3RhY2soc3RhY2tJZDogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgbmVzdGVkVGVtcGxhdGVzOiBzdHJpbmdbXSA9IHRoaXMuZ2V0QXNzZXRNYW5pZmVzdHNGb3JTdGFjayhzdGFja0lkKS5mbGF0TWFwKFxuICAgICAgbWFuaWZlc3QgPT4gbWFuaWZlc3QuZmlsZXNcbiAgICAgICAgLmZpbHRlcihhc3NldCA9PiBhc3NldC5zb3VyY2UucGF0aD8uZW5kc1dpdGgoJy5uZXN0ZWQudGVtcGxhdGUuanNvbicpKVxuICAgICAgICAubWFwKGFzc2V0ID0+IGFzc2V0LnNvdXJjZS5wYXRoISksXG4gICAgKTtcblxuICAgIGNvbnN0IG5lc3RlZFN0YWNrczogUmVjb3JkPHN0cmluZywgYW55PiA9IE9iamVjdC5mcm9tRW50cmllcyhuZXN0ZWRUZW1wbGF0ZXMubWFwKHRlbXBsYXRlRmlsZSA9PiAoW1xuICAgICAgdGVtcGxhdGVGaWxlLnNwbGl0KCcuJywgMSlbMF0sXG4gICAgICBmcy5yZWFkSlNPTlN5bmMocGF0aC5yZXNvbHZlKHRoaXMuZGlyZWN0b3J5LCB0ZW1wbGF0ZUZpbGUpKSxcbiAgICBdKSkpO1xuXG4gICAgcmV0dXJuIG5lc3RlZFN0YWNrcztcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZSB0cmFjZSBkYXRhIHRvIHRoZSBhc3NlbWJseSBtYW5pZmVzdCBtZXRhZGF0YVxuICAgKi9cbiAgcHVibGljIHJlY29yZFRyYWNlKHRyYWNlOiBNYW5pZmVzdFRyYWNlKTogdm9pZCB7XG4gICAgY29uc3QgbmV3TWFuaWZlc3QgPSB7XG4gICAgICAuLi50aGlzLm1hbmlmZXN0LFxuICAgICAgYXJ0aWZhY3RzOiB0aGlzLnJlbmRlckFydGlmYWN0cyh0cmFjZSksXG4gICAgfTtcbiAgICBNYW5pZmVzdC5zYXZlQXNzZW1ibHlNYW5pZmVzdChuZXdNYW5pZmVzdCwgdGhpcy5tYW5pZmVzdEZpbGVOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBsaXN0IG9mIGFzc2V0cyBmb3IgYSBnaXZlbiBzdGFja1xuICAgKi9cbiAgcHVibGljIGdldEFzc2V0SWRzRm9yU3RhY2soc3RhY2tJZDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGFzc2V0czogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGFydGlmYWN0IG9mIE9iamVjdC52YWx1ZXModGhpcy5tYW5pZmVzdC5hcnRpZmFjdHMgPz8ge30pKSB7XG4gICAgICBpZiAoYXJ0aWZhY3QudHlwZSA9PT0gQXJ0aWZhY3RUeXBlLkFTU0VUX01BTklGRVNUICYmIChhcnRpZmFjdC5wcm9wZXJ0aWVzIGFzIEFzc2V0TWFuaWZlc3RQcm9wZXJ0aWVzKT8uZmlsZSA9PT0gYCR7c3RhY2tJZH0uYXNzZXRzLmpzb25gKSB7XG4gICAgICAgIGFzc2V0cy5wdXNoKC4uLnRoaXMuYXNzZXRzRnJvbUFzc2V0TWFuaWZlc3QoYXJ0aWZhY3QpLm1hcChhc3NldCA9PiBhc3NldC5pZC5hc3NldElkKSk7XG4gICAgICB9IGVsc2UgaWYgKGFydGlmYWN0LnR5cGUgPT09IEFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0spIHtcbiAgICAgICAgYXNzZXRzLnB1c2goLi4udGhpcy5hc3NldHNGcm9tQXNzZW1ibHlNYW5pZmVzdChhcnRpZmFjdCkubWFwKGFzc2V0ID0+IGFzc2V0LmlkKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhc3NldHM7XG4gIH1cblxuICAvKipcbiAgICogRm9yIGEgZ2l2ZW4gc3RhY2tJZCByZXR1cm4gYSBsaXN0IG9mIGFzc2V0cyB0aGF0IGJlbG9uZyB0byB0aGUgc3RhY2tcbiAgICovXG4gIHB1YmxpYyBnZXRBc3NldExvY2F0aW9uc0ZvclN0YWNrKHN0YWNrSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBhc3NldHM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBhcnRpZmFjdCBvZiBPYmplY3QudmFsdWVzKHRoaXMubWFuaWZlc3QuYXJ0aWZhY3RzID8/IHt9KSkge1xuICAgICAgaWYgKGFydGlmYWN0LnR5cGUgPT09IEFydGlmYWN0VHlwZS5BU1NFVF9NQU5JRkVTVCAmJiAoYXJ0aWZhY3QucHJvcGVydGllcyBhcyBBc3NldE1hbmlmZXN0UHJvcGVydGllcyk/LmZpbGUgPT09IGAke3N0YWNrSWR9LmFzc2V0cy5qc29uYCkge1xuICAgICAgICBhc3NldHMucHVzaCguLi50aGlzLmFzc2V0c0Zyb21Bc3NldE1hbmlmZXN0KGFydGlmYWN0KS5mbGF0TWFwKGFzc2V0ID0+IHtcbiAgICAgICAgICBpZiAoYXNzZXQudHlwZSA9PT0gJ2ZpbGUnICYmICFhc3NldC5zb3VyY2UucGF0aD8uZW5kc1dpdGgoJ25lc3RlZC50ZW1wbGF0ZS5qc29uJykpIHtcbiAgICAgICAgICAgIHJldHVybiBhc3NldC5zb3VyY2UucGF0aCE7XG4gICAgICAgICAgfSBlbHNlIGlmIChhc3NldC50eXBlICE9PSAnZmlsZScpIHtcbiAgICAgICAgICAgIHJldHVybiBhc3NldC5zb3VyY2UuZGlyZWN0b3J5ITtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2UgaWYgKGFydGlmYWN0LnR5cGUgPT09IEFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0spIHtcbiAgICAgICAgYXNzZXRzLnB1c2goLi4udGhpcy5hc3NldHNGcm9tQXNzZW1ibHlNYW5pZmVzdChhcnRpZmFjdCkubWFwKGFzc2V0ID0+IGFzc2V0LnBhdGgpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFzc2V0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBsaXN0IG9mIGFzc2V0IGFydGlmYWN0cyBmb3IgYSBnaXZlbiBzdGFja1xuICAgKi9cbiAgcHVibGljIGdldEFzc2V0TWFuaWZlc3RzRm9yU3RhY2soc3RhY2tJZDogc3RyaW5nKTogQXNzZXRNYW5pZmVzdFtdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLm1hbmlmZXN0LmFydGlmYWN0cyA/PyB7fSlcbiAgICAgIC5maWx0ZXIoYXJ0aWZhY3QgPT5cbiAgICAgICAgYXJ0aWZhY3QudHlwZSA9PT0gQXJ0aWZhY3RUeXBlLkFTU0VUX01BTklGRVNUICYmIChhcnRpZmFjdC5wcm9wZXJ0aWVzIGFzIEFzc2V0TWFuaWZlc3RQcm9wZXJ0aWVzKT8uZmlsZSA9PT0gYCR7c3RhY2tJZH0uYXNzZXRzLmpzb25gKVxuICAgICAgLm1hcChhcnRpZmFjdCA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gKGFydGlmYWN0LnByb3BlcnRpZXMgYXMgQXNzZXRNYW5pZmVzdFByb3BlcnRpZXMpLmZpbGU7XG4gICAgICAgIHJldHVybiBBc3NldE1hbmlmZXN0LmZyb21GaWxlKHBhdGguam9pbih0aGlzLmRpcmVjdG9yeSwgZmlsZU5hbWUpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIGxpc3Qgb2YgYXNzZXRzIGZyb20gdGhlIGFzc2VtYmx5IG1hbmlmZXN0XG4gICAqL1xuICBwcml2YXRlIGFzc2V0c0Zyb21Bc3NlbWJseU1hbmlmZXN0KGFydGlmYWN0OiBBcnRpZmFjdE1hbmlmZXN0KTogKENvbnRhaW5lckltYWdlQXNzZXRNZXRhZGF0YUVudHJ5IHwgRmlsZUFzc2V0TWV0YWRhdGFFbnRyeSlbXSB7XG4gICAgY29uc3QgYXNzZXRzOiAoQ29udGFpbmVySW1hZ2VBc3NldE1ldGFkYXRhRW50cnkgfCBGaWxlQXNzZXRNZXRhZGF0YUVudHJ5KVtdID0gW107XG4gICAgZm9yIChjb25zdCBtZXRhZGF0YSBvZiBPYmplY3QudmFsdWVzKENsb3VkQXJ0aWZhY3QucmVhZE1ldGFkYXRhKHRoaXMuZGlyZWN0b3J5LCBhcnRpZmFjdCkgPz8ge30pKSB7XG4gICAgICBtZXRhZGF0YS5mb3JFYWNoKGRhdGEgPT4ge1xuICAgICAgICBpZiAoZGF0YS50eXBlID09PSBBcnRpZmFjdE1ldGFkYXRhRW50cnlUeXBlLkFTU0VUKSB7XG4gICAgICAgICAgY29uc3QgYXNzZXQgPSAoZGF0YS5kYXRhIGFzIENvbnRhaW5lckltYWdlQXNzZXRNZXRhZGF0YUVudHJ5IHwgRmlsZUFzc2V0TWV0YWRhdGFFbnRyeSk7XG4gICAgICAgICAgaWYgKGFzc2V0LnBhdGguc3RhcnRzV2l0aCgnYXNzZXQuJykpIHtcbiAgICAgICAgICAgIGFzc2V0cy5wdXNoKGFzc2V0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gYXNzZXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIGxpc3Qgb2YgYXNzZXRzIGZyb20gdGhlIGFzc2V0IG1hbmlmZXN0XG4gICAqL1xuICBwcml2YXRlIGFzc2V0c0Zyb21Bc3NldE1hbmlmZXN0KGFydGlmYWN0OiBBcnRpZmFjdE1hbmlmZXN0KTogKEZpbGVNYW5pZmVzdEVudHJ5IHwgRG9ja2VySW1hZ2VNYW5pZmVzdEVudHJ5KVtdIHtcbiAgICBjb25zdCBhc3NldHM6IChGaWxlTWFuaWZlc3RFbnRyeSB8IERvY2tlckltYWdlTWFuaWZlc3RFbnRyeSlbXSA9IFtdO1xuICAgIGNvbnN0IGZpbGVOYW1lID0gKGFydGlmYWN0LnByb3BlcnRpZXMgYXMgQXNzZXRNYW5pZmVzdFByb3BlcnRpZXMpLmZpbGU7XG4gICAgY29uc3QgYXNzZXRNYW5pZmVzdCA9IEFzc2V0TWFuaWZlc3QuZnJvbUZpbGUocGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5LCBmaWxlTmFtZSkpO1xuICAgIGFzc2V0TWFuaWZlc3QuZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgIGlmIChlbnRyeS50eXBlID09PSAnZmlsZScpIHtcbiAgICAgICAgY29uc3Qgc291cmNlID0gKGVudHJ5IGFzIEZpbGVNYW5pZmVzdEVudHJ5KS5zb3VyY2U7XG4gICAgICAgIGlmIChzb3VyY2UucGF0aCAmJiAoc291cmNlLnBhdGguc3RhcnRzV2l0aCgnYXNzZXQuJykgfHwgc291cmNlLnBhdGguZW5kc1dpdGgoJ25lc3RlZC50ZW1wbGF0ZS5qc29uJykpKSB7XG4gICAgICAgICAgYXNzZXRzLnB1c2goZW50cnkgYXMgRmlsZU1hbmlmZXN0RW50cnkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGVudHJ5LnR5cGUgPT09ICdkb2NrZXItaW1hZ2UnKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IChlbnRyeSBhcyBEb2NrZXJJbWFnZU1hbmlmZXN0RW50cnkpLnNvdXJjZTtcbiAgICAgICAgaWYgKHNvdXJjZS5kaXJlY3RvcnkgJiYgc291cmNlLmRpcmVjdG9yeS5zdGFydHNXaXRoKCdhc3NldC4nKSkge1xuICAgICAgICAgIGFzc2V0cy5wdXNoKGVudHJ5IGFzIERvY2tlckltYWdlTWFuaWZlc3RFbnRyeSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYXNzZXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIHRoZSBtYW5pZmVzdCBvZiBhbnkgdW5uZWNjZXNhcnkgZGF0YS4gQ3VycmVudGx5IHRoYXQgaW5jbHVkZXNcbiAgICogdGhlIG1ldGFkYXRhIHRyYWNlIGluZm9ybWF0aW9uIHNpbmNlIHRoaXMgaW5jbHVkZXMgdHJhY2UgaW5mb3JtYXRpb24gbGlrZVxuICAgKiBmaWxlIHN5c3RlbSBsb2NhdGlvbnMgYW5kIGZpbGUgbGluZXMgdGhhdCB3aWxsIGNoYW5nZSBkZXBlbmRpbmcgb24gd2hhdCBtYWNoaW5lIHRoZSB0ZXN0IGlzIHJ1biBvblxuICAgKi9cbiAgcHVibGljIGNsZWFuTWFuaWZlc3QoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3TWFuaWZlc3QgPSB7XG4gICAgICAuLi50aGlzLm1hbmlmZXN0LFxuICAgICAgYXJ0aWZhY3RzOiB0aGlzLnJlbmRlckFydGlmYWN0cygpLFxuICAgIH07XG4gICAgTWFuaWZlc3Quc2F2ZUFzc2VtYmx5TWFuaWZlc3QobmV3TWFuaWZlc3QsIHRoaXMubWFuaWZlc3RGaWxlTmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckFydGlmYWN0TWV0YWRhdGEoYXJ0aWZhY3Q6IEFydGlmYWN0TWFuaWZlc3QsIHRyYWNlPzogU3RhY2tUcmFjZSk6IHsgW2lkOiBzdHJpbmddOiBNZXRhZGF0YUVudHJ5W10gfSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbmV3TWV0YWRhdGE6IHsgW2lkOiBzdHJpbmddOiBNZXRhZGF0YUVudHJ5W10gfSA9IHt9O1xuICAgIGlmICghYXJ0aWZhY3QubWV0YWRhdGEpIHJldHVybiBhcnRpZmFjdC5tZXRhZGF0YTtcbiAgICBmb3IgKGNvbnN0IFttZXRhZGF0YUlkLCBtZXRhZGF0YUVudHJ5XSBvZiBPYmplY3QuZW50cmllcyhhcnRpZmFjdC5tZXRhZGF0YSA/PyB7fSkpIHtcbiAgICAgIG5ld01ldGFkYXRhW21ldGFkYXRhSWRdID0gbWV0YWRhdGFFbnRyeS5tYXAoKG1ldGE6IE1ldGFkYXRhRW50cnkpID0+IHtcbiAgICAgICAgaWYgKG1ldGEudHlwZSA9PT0gJ2F3czpjZGs6bG9naWNhbElkJyAmJiB0cmFjZSAmJiBtZXRhLmRhdGEpIHtcbiAgICAgICAgICBjb25zdCB0cmFjZURhdGEgPSB0cmFjZS5nZXQobWV0YS5kYXRhLnRvU3RyaW5nKCkpO1xuICAgICAgICAgIGlmICh0cmFjZURhdGEpIHtcbiAgICAgICAgICAgIHRyYWNlLmRlbGV0ZShtZXRhLmRhdGEudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICB0eXBlOiBtZXRhLnR5cGUsXG4gICAgICAgICAgICAgIGRhdGE6IG1ldGEuZGF0YSxcbiAgICAgICAgICAgICAgdHJhY2U6IFt0cmFjZURhdGFdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmV0dXJuIG1ldGFkYXRhIHdpdGhvdXQgdGhlIHRyYWNlIGRhdGFcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiBtZXRhLnR5cGUsXG4gICAgICAgICAgZGF0YTogbWV0YS5kYXRhLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0cmFjZSAmJiB0cmFjZS5zaXplID4gMCkge1xuICAgICAgZm9yIChjb25zdCBbaWQsIGRhdGFdIG9mIHRyYWNlLmVudHJpZXMoKSkge1xuICAgICAgICBuZXdNZXRhZGF0YVtpZF0gPSBbe1xuICAgICAgICAgIHR5cGU6ICdhd3M6Y2RrOmxvZ2ljYWxJZCcsXG4gICAgICAgICAgZGF0YTogaWQsXG4gICAgICAgICAgdHJhY2U6IFtkYXRhXSxcbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXdNZXRhZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyQXJ0aWZhY3RzKHRyYWNlPzogTWFuaWZlc3RUcmFjZSk6IHsgW2lkOiBzdHJpbmddOiBBcnRpZmFjdE1hbmlmZXN0IH0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG5ld0FydGlmYWN0czogeyBbaWQ6IHN0cmluZ106IEFydGlmYWN0TWFuaWZlc3QgfSA9IHt9O1xuICAgIGZvciAoY29uc3QgW2FydGlmYWN0SWQsIGFydGlmYWN0XSBvZiBPYmplY3QuZW50cmllcyh0aGlzLm1hbmlmZXN0LmFydGlmYWN0cyA/PyB7fSkpIHtcbiAgICAgIGxldCBzdGFja1RyYWNlOiBTdGFja1RyYWNlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKGFydGlmYWN0LnR5cGUgPT09IEFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0sgJiYgdHJhY2UpIHtcbiAgICAgICAgc3RhY2tUcmFjZSA9IHRyYWNlLmdldChhcnRpZmFjdElkKTtcbiAgICAgIH1cbiAgICAgIG5ld0FydGlmYWN0c1thcnRpZmFjdElkXSA9IHtcbiAgICAgICAgLi4uYXJ0aWZhY3QsXG4gICAgICAgIG1ldGFkYXRhOiB0aGlzLnJlbmRlckFydGlmYWN0TWV0YWRhdGEoYXJ0aWZhY3QsIHN0YWNrVHJhY2UpLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0FydGlmYWN0cztcbiAgfVxufVxuIl19
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZC1hc3NlbWJseS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFFN0IsNERBQXdEO0FBQ3hELG9FQUE0RDtBQUU1RCwwRUFBbUc7QUFDbkcsNkNBQStCO0FBZS9COztHQUVHO0FBQ0gsTUFBYSxzQkFBc0I7SUFzQ2U7SUFBNkM7SUFyQ3RGLE1BQU0sQ0FBVSxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFFMUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQWdCO1FBQ3JDLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLGdDQUFRLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEQsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLFFBQVEsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQWdCO1FBQ3JDLElBQUksRUFBRSxDQUFDO1FBQ1AsSUFBSSxDQUFDO1lBQ0gsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsUUFBUSxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxXQUFX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QUM7cUJBQ2QsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQXFCO1FBQzNDLE1BQU0sWUFBWSxHQUF1QyxFQUFFLENBQUM7UUFDNUQsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNuRixJQUFJLFVBQVUsR0FBMkIsU0FBUyxDQUFDO1lBQ25ELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxvQ0FBWSxDQUFDLHdCQUF3QixJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNyRSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHO2dCQUN6QixHQUFHLFFBQVE7Z0JBQ1gsUUFBUSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDO2FBQzVELENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7QUFsUEgsd0RBbVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB0eXBlIHsgRmlsZU1hbmlmZXN0RW50cnksIERvY2tlckltYWdlTWFuaWZlc3RFbnRyeSB9IGZyb20gJ0Bhd3MtY2RrL2Nkay1hc3NldHMtbGliJztcbmltcG9ydCB7IEFzc2V0TWFuaWZlc3QgfSBmcm9tICdAYXdzLWNkay9jZGstYXNzZXRzLWxpYic7XG5pbXBvcnQgeyBDbG91ZEFydGlmYWN0IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktYXBpJztcbmltcG9ydCB0eXBlIHsgQXNzZW1ibHlNYW5pZmVzdCwgQXdzQ2xvdWRGb3JtYXRpb25TdGFja1Byb3BlcnRpZXMsIEFydGlmYWN0TWFuaWZlc3QsIE1ldGFkYXRhRW50cnksIEFzc2V0TWFuaWZlc3RQcm9wZXJ0aWVzLCBDb250YWluZXJJbWFnZUFzc2V0TWV0YWRhdGFFbnRyeSwgRmlsZUFzc2V0TWV0YWRhdGFFbnRyeSB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBNYW5pZmVzdCwgQXJ0aWZhY3RUeXBlLCBBcnRpZmFjdE1ldGFkYXRhRW50cnlUeXBlIH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcblxuLyoqXG4gKiBUcmFjZSBpbmZvcm1hdGlvbiBmb3Igc3RhY2tcbiAqIG1hcCBvZiByZXNvdXJjZSBsb2dpY2FsSWQgdG8gdHJhY2UgbWVzc2FnZVxuICovXG5leHBvcnQgdHlwZSBTdGFja1RyYWNlID0gTWFwPHN0cmluZywgc3RyaW5nPjtcblxuLyoqXG4gKiBUcmFjZSBpbmZvcm1hdGlvbiBmb3IgYSBhc3NlbWJseVxuICpcbiAqIG1hcCBvZiBzdGFja0lkIHRvIFN0YWNrVHJhY2VcbiAqL1xuZXhwb3J0IHR5cGUgTWFuaWZlc3RUcmFjZSA9IE1hcDxzdHJpbmcsIFN0YWNrVHJhY2U+O1xuXG4vKipcbiAqIFJlYWRzIGEgQ2xvdWQgQXNzZW1ibHkgbWFuaWZlc3RcbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfRklMRU5BTUUgPSAnbWFuaWZlc3QuanNvbic7XG5cbiAgLyoqXG4gICAqIFJlYWRzIGEgQ2xvdWQgQXNzZW1ibHkgbWFuaWZlc3QgZnJvbSBhIGZpbGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUZpbGUoZmlsZU5hbWU6IHN0cmluZyk6IEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvYmogPSBNYW5pZmVzdC5sb2FkQXNzZW1ibHlNYW5pZmVzdChmaWxlTmFtZSk7XG4gICAgICByZXR1cm4gbmV3IEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIocGF0aC5kaXJuYW1lKGZpbGVOYW1lKSwgb2JqLCBmaWxlTmFtZSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZWFkIGludGVnIG1hbmlmZXN0ICcke2ZpbGVOYW1lfSc6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBhIENsb3VkIEFzc2VtYmx5IG1hbmlmZXN0IGZyb20gYSBmaWxlIG9yIGEgZGlyZWN0b3J5XG4gICAqIElmIHRoZSBnaXZlbiBmaWxlUGF0aCBpcyBhIGRpcmVjdG9yeSB0aGVuIGl0IHdpbGwgbG9vayBmb3JcbiAgICogYSBmaWxlIHdpdGhpbiB0aGUgZGlyZWN0b3J5IHdpdGggdGhlIERFRkFVTFRfRklMRU5BTUVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVBhdGgoZmlsZVBhdGg6IHN0cmluZyk6IEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIge1xuICAgIGxldCBzdDtcbiAgICB0cnkge1xuICAgICAgc3QgPSBmcy5zdGF0U3luYyhmaWxlUGF0aCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZWFkIGludGVnIG1hbmlmZXN0IGF0ICcke2ZpbGVQYXRofSc6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgICBpZiAoc3QuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgcmV0dXJuIEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIuZnJvbUZpbGUocGF0aC5qb2luKGZpbGVQYXRoLCBBc3NlbWJseU1hbmlmZXN0UmVhZGVyLkRFRkFVTFRfRklMRU5BTUUpKTtcbiAgICB9XG4gICAgcmV0dXJuIEFzc2VtYmx5TWFuaWZlc3RSZWFkZXIuZnJvbUZpbGUoZmlsZVBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIG1hbmlmZXN0IHdhcyBmb3VuZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGRpcmVjdG9yeTogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IG1hbmlmZXN0OiBBc3NlbWJseU1hbmlmZXN0LCBwcml2YXRlIHJlYWRvbmx5IG1hbmlmZXN0RmlsZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuZGlyZWN0b3J5ID0gZGlyZWN0b3J5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc3RhY2tzIGZyb20gdGhlIG1hbmlmZXN0XG4gICAqIHJldHVybnMgYSBtYXAgb2YgYXJ0aWZhY3RJZCB0byBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZVxuICAgKi9cbiAgcHVibGljIGdldCBzdGFja3MoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3Qgc3RhY2tzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBbYXJ0aWZhY3RJZCwgYXJ0aWZhY3RdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMubWFuaWZlc3QuYXJ0aWZhY3RzID8/IHt9KSkge1xuICAgICAgaWYgKGFydGlmYWN0LnR5cGUgIT09IEFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0spIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBwcm9wcyA9IGFydGlmYWN0LnByb3BlcnRpZXMgYXMgQXdzQ2xvdWRGb3JtYXRpb25TdGFja1Byb3BlcnRpZXM7XG5cbiAgICAgIGNvbnN0IHRlbXBsYXRlID0gZnMucmVhZEpTT05TeW5jKHBhdGgucmVzb2x2ZSh0aGlzLmRpcmVjdG9yeSwgcHJvcHMudGVtcGxhdGVGaWxlKSk7XG4gICAgICBzdGFja3NbYXJ0aWZhY3RJZF0gPSB0ZW1wbGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YWNrcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG5lc3RlZCBzdGFja3MgZm9yIGEgZ2l2ZW4gc3RhY2tcbiAgICogcmV0dXJucyBhIG1hcCBvZiBhcnRpZmFjdElkIHRvIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlXG4gICAqL1xuICBwdWJsaWMgZ2V0TmVzdGVkU3RhY2tzRm9yU3RhY2soc3RhY2tJZDogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgbmVzdGVkVGVtcGxhdGVzOiBzdHJpbmdbXSA9IHRoaXMuZ2V0QXNzZXRNYW5pZmVzdHNGb3JTdGFjayhzdGFja0lkKS5mbGF0TWFwKFxuICAgICAgbWFuaWZlc3QgPT4gbWFuaWZlc3QuZmlsZXNcbiAgICAgICAgLmZpbHRlcihhc3NldCA9PiBhc3NldC5zb3VyY2UucGF0aD8uZW5kc1dpdGgoJy5uZXN0ZWQudGVtcGxhdGUuanNvbicpKVxuICAgICAgICAubWFwKGFzc2V0ID0+IGFzc2V0LnNvdXJjZS5wYXRoISksXG4gICAgKTtcblxuICAgIGNvbnN0IG5lc3RlZFN0YWNrczogUmVjb3JkPHN0cmluZywgYW55PiA9IE9iamVjdC5mcm9tRW50cmllcyhuZXN0ZWRUZW1wbGF0ZXMubWFwKHRlbXBsYXRlRmlsZSA9PiAoW1xuICAgICAgdGVtcGxhdGVGaWxlLnNwbGl0KCcuJywgMSlbMF0sXG4gICAgICBmcy5yZWFkSlNPTlN5bmMocGF0aC5yZXNvbHZlKHRoaXMuZGlyZWN0b3J5LCB0ZW1wbGF0ZUZpbGUpKSxcbiAgICBdKSkpO1xuXG4gICAgcmV0dXJuIG5lc3RlZFN0YWNrcztcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZSB0cmFjZSBkYXRhIHRvIHRoZSBhc3NlbWJseSBtYW5pZmVzdCBtZXRhZGF0YVxuICAgKi9cbiAgcHVibGljIHJlY29yZFRyYWNlKHRyYWNlOiBNYW5pZmVzdFRyYWNlKTogdm9pZCB7XG4gICAgY29uc3QgbmV3TWFuaWZlc3QgPSB7XG4gICAgICAuLi50aGlzLm1hbmlmZXN0LFxuICAgICAgYXJ0aWZhY3RzOiB0aGlzLnJlbmRlckFydGlmYWN0cyh0cmFjZSksXG4gICAgfTtcbiAgICBNYW5pZmVzdC5zYXZlQXNzZW1ibHlNYW5pZmVzdChuZXdNYW5pZmVzdCwgdGhpcy5tYW5pZmVzdEZpbGVOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBsaXN0IG9mIGFzc2V0cyBmb3IgYSBnaXZlbiBzdGFja1xuICAgKi9cbiAgcHVibGljIGdldEFzc2V0SWRzRm9yU3RhY2soc3RhY2tJZDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGFzc2V0czogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGFydGlmYWN0IG9mIE9iamVjdC52YWx1ZXModGhpcy5tYW5pZmVzdC5hcnRpZmFjdHMgPz8ge30pKSB7XG4gICAgICBpZiAoYXJ0aWZhY3QudHlwZSA9PT0gQXJ0aWZhY3RUeXBlLkFTU0VUX01BTklGRVNUICYmIChhcnRpZmFjdC5wcm9wZXJ0aWVzIGFzIEFzc2V0TWFuaWZlc3RQcm9wZXJ0aWVzKT8uZmlsZSA9PT0gYCR7c3RhY2tJZH0uYXNzZXRzLmpzb25gKSB7XG4gICAgICAgIGFzc2V0cy5wdXNoKC4uLnRoaXMuYXNzZXRzRnJvbUFzc2V0TWFuaWZlc3QoYXJ0aWZhY3QpLm1hcChhc3NldCA9PiBhc3NldC5pZC5hc3NldElkKSk7XG4gICAgICB9IGVsc2UgaWYgKGFydGlmYWN0LnR5cGUgPT09IEFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0spIHtcbiAgICAgICAgYXNzZXRzLnB1c2goLi4udGhpcy5hc3NldHNGcm9tQXNzZW1ibHlNYW5pZmVzdChhcnRpZmFjdCkubWFwKGFzc2V0ID0+IGFzc2V0LmlkKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhc3NldHM7XG4gIH1cblxuICAvKipcbiAgICogRm9yIGEgZ2l2ZW4gc3RhY2tJZCByZXR1cm4gYSBsaXN0IG9mIGFzc2V0cyB0aGF0IGJlbG9uZyB0byB0aGUgc3RhY2tcbiAgICovXG4gIHB1YmxpYyBnZXRBc3NldExvY2F0aW9uc0ZvclN0YWNrKHN0YWNrSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBhc3NldHM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBhcnRpZmFjdCBvZiBPYmplY3QudmFsdWVzKHRoaXMubWFuaWZlc3QuYXJ0aWZhY3RzID8/IHt9KSkge1xuICAgICAgaWYgKGFydGlmYWN0LnR5cGUgPT09IEFydGlmYWN0VHlwZS5BU1NFVF9NQU5JRkVTVCAmJiAoYXJ0aWZhY3QucHJvcGVydGllcyBhcyBBc3NldE1hbmlmZXN0UHJvcGVydGllcyk/LmZpbGUgPT09IGAke3N0YWNrSWR9LmFzc2V0cy5qc29uYCkge1xuICAgICAgICBhc3NldHMucHVzaCguLi50aGlzLmFzc2V0c0Zyb21Bc3NldE1hbmlmZXN0KGFydGlmYWN0KS5mbGF0TWFwKGFzc2V0ID0+IHtcbiAgICAgICAgICBpZiAoYXNzZXQudHlwZSA9PT0gJ2ZpbGUnICYmICFhc3NldC5zb3VyY2UucGF0aD8uZW5kc1dpdGgoJ25lc3RlZC50ZW1wbGF0ZS5qc29uJykpIHtcbiAgICAgICAgICAgIHJldHVybiBhc3NldC5zb3VyY2UucGF0aCE7XG4gICAgICAgICAgfSBlbHNlIGlmIChhc3NldC50eXBlICE9PSAnZmlsZScpIHtcbiAgICAgICAgICAgIHJldHVybiBhc3NldC5zb3VyY2UuZGlyZWN0b3J5ITtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2UgaWYgKGFydGlmYWN0LnR5cGUgPT09IEFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0spIHtcbiAgICAgICAgYXNzZXRzLnB1c2goLi4udGhpcy5hc3NldHNGcm9tQXNzZW1ibHlNYW5pZmVzdChhcnRpZmFjdCkubWFwKGFzc2V0ID0+IGFzc2V0LnBhdGgpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFzc2V0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBsaXN0IG9mIGFzc2V0IGFydGlmYWN0cyBmb3IgYSBnaXZlbiBzdGFja1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRBc3NldE1hbmlmZXN0c0ZvclN0YWNrKHN0YWNrSWQ6IHN0cmluZyk6IEFzc2V0TWFuaWZlc3RbXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5tYW5pZmVzdC5hcnRpZmFjdHMgPz8ge30pXG4gICAgICAuZmlsdGVyKGFydGlmYWN0ID0+XG4gICAgICAgIGFydGlmYWN0LnR5cGUgPT09IEFydGlmYWN0VHlwZS5BU1NFVF9NQU5JRkVTVCAmJiAoYXJ0aWZhY3QucHJvcGVydGllcyBhcyBBc3NldE1hbmlmZXN0UHJvcGVydGllcyk/LmZpbGUgPT09IGAke3N0YWNrSWR9LmFzc2V0cy5qc29uYClcbiAgICAgIC5tYXAoYXJ0aWZhY3QgPT4ge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IChhcnRpZmFjdC5wcm9wZXJ0aWVzIGFzIEFzc2V0TWFuaWZlc3RQcm9wZXJ0aWVzKS5maWxlO1xuICAgICAgICByZXR1cm4gQXNzZXRNYW5pZmVzdC5mcm9tRmlsZShwYXRoLmpvaW4odGhpcy5kaXJlY3RvcnksIGZpbGVOYW1lKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFzc2V0cyBmcm9tIHRoZSBhc3NlbWJseSBtYW5pZmVzdFxuICAgKi9cbiAgcHJpdmF0ZSBhc3NldHNGcm9tQXNzZW1ibHlNYW5pZmVzdChhcnRpZmFjdDogQXJ0aWZhY3RNYW5pZmVzdCk6IChDb250YWluZXJJbWFnZUFzc2V0TWV0YWRhdGFFbnRyeSB8IEZpbGVBc3NldE1ldGFkYXRhRW50cnkpW10ge1xuICAgIGNvbnN0IGFzc2V0czogKENvbnRhaW5lckltYWdlQXNzZXRNZXRhZGF0YUVudHJ5IHwgRmlsZUFzc2V0TWV0YWRhdGFFbnRyeSlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbWV0YWRhdGEgb2YgT2JqZWN0LnZhbHVlcyhDbG91ZEFydGlmYWN0LnJlYWRNZXRhZGF0YSh0aGlzLmRpcmVjdG9yeSwgYXJ0aWZhY3QpID8/IHt9KSkge1xuICAgICAgbWV0YWRhdGEuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gQXJ0aWZhY3RNZXRhZGF0YUVudHJ5VHlwZS5BU1NFVCkge1xuICAgICAgICAgIGNvbnN0IGFzc2V0ID0gKGRhdGEuZGF0YSBhcyBDb250YWluZXJJbWFnZUFzc2V0TWV0YWRhdGFFbnRyeSB8IEZpbGVBc3NldE1ldGFkYXRhRW50cnkpO1xuICAgICAgICAgIGlmIChhc3NldC5wYXRoLnN0YXJ0c1dpdGgoJ2Fzc2V0LicpKSB7XG4gICAgICAgICAgICBhc3NldHMucHVzaChhc3NldCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGFzc2V0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFzc2V0cyBmcm9tIHRoZSBhc3NldCBtYW5pZmVzdFxuICAgKi9cbiAgcHJpdmF0ZSBhc3NldHNGcm9tQXNzZXRNYW5pZmVzdChhcnRpZmFjdDogQXJ0aWZhY3RNYW5pZmVzdCk6IChGaWxlTWFuaWZlc3RFbnRyeSB8IERvY2tlckltYWdlTWFuaWZlc3RFbnRyeSlbXSB7XG4gICAgY29uc3QgYXNzZXRzOiAoRmlsZU1hbmlmZXN0RW50cnkgfCBEb2NrZXJJbWFnZU1hbmlmZXN0RW50cnkpW10gPSBbXTtcbiAgICBjb25zdCBmaWxlTmFtZSA9IChhcnRpZmFjdC5wcm9wZXJ0aWVzIGFzIEFzc2V0TWFuaWZlc3RQcm9wZXJ0aWVzKS5maWxlO1xuICAgIGNvbnN0IGFzc2V0TWFuaWZlc3QgPSBBc3NldE1hbmlmZXN0LmZyb21GaWxlKHBhdGguam9pbih0aGlzLmRpcmVjdG9yeSwgZmlsZU5hbWUpKTtcbiAgICBhc3NldE1hbmlmZXN0LmVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiB7XG4gICAgICBpZiAoZW50cnkudHlwZSA9PT0gJ2ZpbGUnKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IChlbnRyeSBhcyBGaWxlTWFuaWZlc3RFbnRyeSkuc291cmNlO1xuICAgICAgICBpZiAoc291cmNlLnBhdGggJiYgKHNvdXJjZS5wYXRoLnN0YXJ0c1dpdGgoJ2Fzc2V0LicpIHx8IHNvdXJjZS5wYXRoLmVuZHNXaXRoKCduZXN0ZWQudGVtcGxhdGUuanNvbicpKSkge1xuICAgICAgICAgIGFzc2V0cy5wdXNoKGVudHJ5IGFzIEZpbGVNYW5pZmVzdEVudHJ5KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChlbnRyeS50eXBlID09PSAnZG9ja2VyLWltYWdlJykge1xuICAgICAgICBjb25zdCBzb3VyY2UgPSAoZW50cnkgYXMgRG9ja2VySW1hZ2VNYW5pZmVzdEVudHJ5KS5zb3VyY2U7XG4gICAgICAgIGlmIChzb3VyY2UuZGlyZWN0b3J5ICYmIHNvdXJjZS5kaXJlY3Rvcnkuc3RhcnRzV2l0aCgnYXNzZXQuJykpIHtcbiAgICAgICAgICBhc3NldHMucHVzaChlbnRyeSBhcyBEb2NrZXJJbWFnZU1hbmlmZXN0RW50cnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGFzc2V0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiB0aGUgbWFuaWZlc3Qgb2YgYW55IHVubmVjY2VzYXJ5IGRhdGEuIEN1cnJlbnRseSB0aGF0IGluY2x1ZGVzXG4gICAqIHRoZSBtZXRhZGF0YSB0cmFjZSBpbmZvcm1hdGlvbiBzaW5jZSB0aGlzIGluY2x1ZGVzIHRyYWNlIGluZm9ybWF0aW9uIGxpa2VcbiAgICogZmlsZSBzeXN0ZW0gbG9jYXRpb25zIGFuZCBmaWxlIGxpbmVzIHRoYXQgd2lsbCBjaGFuZ2UgZGVwZW5kaW5nIG9uIHdoYXQgbWFjaGluZSB0aGUgdGVzdCBpcyBydW4gb25cbiAgICovXG4gIHB1YmxpYyBjbGVhbk1hbmlmZXN0KCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld01hbmlmZXN0ID0ge1xuICAgICAgLi4udGhpcy5tYW5pZmVzdCxcbiAgICAgIGFydGlmYWN0czogdGhpcy5yZW5kZXJBcnRpZmFjdHMoKSxcbiAgICB9O1xuICAgIE1hbmlmZXN0LnNhdmVBc3NlbWJseU1hbmlmZXN0KG5ld01hbmlmZXN0LCB0aGlzLm1hbmlmZXN0RmlsZU5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJBcnRpZmFjdE1ldGFkYXRhKGFydGlmYWN0OiBBcnRpZmFjdE1hbmlmZXN0LCB0cmFjZT86IFN0YWNrVHJhY2UpOiB7IFtpZDogc3RyaW5nXTogTWV0YWRhdGFFbnRyeVtdIH0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG5ld01ldGFkYXRhOiB7IFtpZDogc3RyaW5nXTogTWV0YWRhdGFFbnRyeVtdIH0gPSB7fTtcbiAgICBpZiAoIWFydGlmYWN0Lm1ldGFkYXRhKSByZXR1cm4gYXJ0aWZhY3QubWV0YWRhdGE7XG4gICAgZm9yIChjb25zdCBbbWV0YWRhdGFJZCwgbWV0YWRhdGFFbnRyeV0gb2YgT2JqZWN0LmVudHJpZXMoYXJ0aWZhY3QubWV0YWRhdGEgPz8ge30pKSB7XG4gICAgICBuZXdNZXRhZGF0YVttZXRhZGF0YUlkXSA9IG1ldGFkYXRhRW50cnkubWFwKChtZXRhOiBNZXRhZGF0YUVudHJ5KSA9PiB7XG4gICAgICAgIGlmIChtZXRhLnR5cGUgPT09ICdhd3M6Y2RrOmxvZ2ljYWxJZCcgJiYgdHJhY2UgJiYgbWV0YS5kYXRhKSB7XG4gICAgICAgICAgY29uc3QgdHJhY2VEYXRhID0gdHJhY2UuZ2V0KG1ldGEuZGF0YS50b1N0cmluZygpKTtcbiAgICAgICAgICBpZiAodHJhY2VEYXRhKSB7XG4gICAgICAgICAgICB0cmFjZS5kZWxldGUobWV0YS5kYXRhLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdHlwZTogbWV0YS50eXBlLFxuICAgICAgICAgICAgICBkYXRhOiBtZXRhLmRhdGEsXG4gICAgICAgICAgICAgIHRyYWNlOiBbdHJhY2VEYXRhXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHJldHVybiBtZXRhZGF0YSB3aXRob3V0IHRoZSB0cmFjZSBkYXRhXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogbWV0YS50eXBlLFxuICAgICAgICAgIGRhdGE6IG1ldGEuZGF0YSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodHJhY2UgJiYgdHJhY2Uuc2l6ZSA+IDApIHtcbiAgICAgIGZvciAoY29uc3QgW2lkLCBkYXRhXSBvZiB0cmFjZS5lbnRyaWVzKCkpIHtcbiAgICAgICAgbmV3TWV0YWRhdGFbaWRdID0gW3tcbiAgICAgICAgICB0eXBlOiAnYXdzOmNkazpsb2dpY2FsSWQnLFxuICAgICAgICAgIGRhdGE6IGlkLFxuICAgICAgICAgIHRyYWNlOiBbZGF0YV0sXG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3TWV0YWRhdGE7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckFydGlmYWN0cyh0cmFjZT86IE1hbmlmZXN0VHJhY2UpOiB7IFtpZDogc3RyaW5nXTogQXJ0aWZhY3RNYW5pZmVzdCB9IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBuZXdBcnRpZmFjdHM6IHsgW2lkOiBzdHJpbmddOiBBcnRpZmFjdE1hbmlmZXN0IH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFthcnRpZmFjdElkLCBhcnRpZmFjdF0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5tYW5pZmVzdC5hcnRpZmFjdHMgPz8ge30pKSB7XG4gICAgICBsZXQgc3RhY2tUcmFjZTogU3RhY2tUcmFjZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgIGlmIChhcnRpZmFjdC50eXBlID09PSBBcnRpZmFjdFR5cGUuQVdTX0NMT1VERk9STUFUSU9OX1NUQUNLICYmIHRyYWNlKSB7XG4gICAgICAgIHN0YWNrVHJhY2UgPSB0cmFjZS5nZXQoYXJ0aWZhY3RJZCk7XG4gICAgICB9XG4gICAgICBuZXdBcnRpZmFjdHNbYXJ0aWZhY3RJZF0gPSB7XG4gICAgICAgIC4uLmFydGlmYWN0LFxuICAgICAgICBtZXRhZGF0YTogdGhpcy5yZW5kZXJBcnRpZmFjdE1ldGFkYXRhKGFydGlmYWN0LCBzdGFja1RyYWNlKSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBuZXdBcnRpZmFjdHM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.IntegManifestReader = exports.ManifestLoadError = exports.NoManifestError = void 0;
|
|
4
|
-
const path = require("path");
|
|
37
|
+
const path = __importStar(require("path"));
|
|
5
38
|
const cloud_assembly_schema_1 = require("@aws-cdk/cloud-assembly-schema");
|
|
6
|
-
const fs = require("fs-extra");
|
|
39
|
+
const fs = __importStar(require("fs-extra"));
|
|
7
40
|
/**
|
|
8
41
|
* An error indicating that the manifest file does not exists.
|
|
9
42
|
*
|
|
@@ -100,4 +133,4 @@ class IntegManifestReader {
|
|
|
100
133
|
}
|
|
101
134
|
}
|
|
102
135
|
exports.IntegManifestReader = IntegManifestReader;
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctbWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy1tYW5pZmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFFN0IsMEVBQTBEO0FBQzFELDZDQUErQjtBQUUvQjs7OztHQUlHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLEtBQUs7SUFDeEIsWUFBWSxDQUFTO0lBQ3JCLEtBQUssQ0FBUTtJQUU3QixZQUFZLFlBQW9CLEVBQUUsS0FBWTtRQUM1QyxLQUFLLENBQUMsK0JBQStCLFlBQVksTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFaRCwwQ0FZQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLEtBQUs7SUFDMUIsWUFBWSxDQUFTO0lBQ3JCLEtBQUssQ0FBUTtJQUU3QixZQUFZLFlBQW9CLEVBQUUsS0FBWTtRQUM1QyxLQUFLLENBQUMsa0NBQWtDLFlBQVksTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRjtBQVpELDhDQVlDO0FBNEJEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUEyQ2tCO0lBMUN6QyxNQUFNLENBQVUsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO0lBRXZEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFnQjtRQUNyQyxJQUFJLENBQUM7WUFDSCxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxnQ0FBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFBQyxPQUFPLE9BQVksRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFnQjtRQUNyQyxJQUFJLEVBQUUsQ0FBQztRQUNQLElBQUksQ0FBQztZQUNILEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNqRyxDQUFDO1FBQ0QsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ2EsU0FBUyxDQUFTO0lBQ2xDLFlBQVksU0FBaUIsRUFBbUIsUUFBdUI7UUFBdkIsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQUNyRSxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUs7UUFDZCxPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztZQUNsQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLElBQUksS0FBSztZQUNuRCxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZO1NBQ3pDLENBQUM7SUFDSixDQUFDOztBQXhESCxrREF5REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ01hbmlmZXN0LCBUZXN0Q2FzZSB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBNYW5pZmVzdCB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5cbi8qKlxuICogQW4gZXJyb3IgaW5kaWNhdGluZyB0aGF0IHRoZSBtYW5pZmVzdCBmaWxlIGRvZXMgbm90IGV4aXN0cy5cbiAqXG4gKiBUaGlzIGNhbiBzaWduYWwgdG8gdHJlYXQgdGhlIGludGVnIHRlc3QgY2FzZSBhcyBhIGxlZ2FjeSB0ZXN0LlxuICovXG5leHBvcnQgY2xhc3MgTm9NYW5pZmVzdEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgbWFuaWZlc3RQYXRoOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBjYXVzZTogRXJyb3I7XG5cbiAgY29uc3RydWN0b3IobWFuaWZlc3RQYXRoOiBzdHJpbmcsIGNhdXNlOiBFcnJvcikge1xuICAgIHN1cGVyKGBDYW5ub3QgcmVhZCBpbnRlZyBtYW5pZmVzdCAnJHttYW5pZmVzdFBhdGh9JzogJHtjYXVzZS5tZXNzYWdlfWApO1xuICAgIHRoaXMubmFtZSA9ICdOb01hbmlmZXN0RXJyb3InO1xuICAgIHRoaXMubWFuaWZlc3RQYXRoID0gbWFuaWZlc3RQYXRoO1xuICAgIHRoaXMuY2F1c2UgPSBjYXVzZTtcblxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBOb01hbmlmZXN0RXJyb3IucHJvdG90eXBlKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGVycm9yIGluZGljYXRpbmcgdGhhdCB0aGUgbWFuaWZlc3QgZmFpbGVkIHRvIGxvYWQuXG4gKlxuICogVGhlIGVycm9yIGltcGxpZXMgdGhlIHRoZSBtYW5pZmVzdCBmaWxlIGV4aXN0cywgYnV0IGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBNYW5pZmVzdExvYWRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IG1hbmlmZXN0UGF0aDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY2F1c2U6IEVycm9yO1xuXG4gIGNvbnN0cnVjdG9yKG1hbmlmZXN0UGF0aDogc3RyaW5nLCBjYXVzZTogRXJyb3IpIHtcbiAgICBzdXBlcihgRmFpbGVkIHRvIGxvYWQgaW50ZWcgbWFuaWZlc3QgJyR7bWFuaWZlc3RQYXRofSc6ICR7Y2F1c2UubWVzc2FnZX1gKTtcbiAgICB0aGlzLm5hbWUgPSAnTWFuaWZlc3RMb2FkaW5nRXJyb3InO1xuICAgIHRoaXMubWFuaWZlc3RQYXRoID0gbWFuaWZlc3RQYXRoO1xuICAgIHRoaXMuY2F1c2UgPSBjYXVzZTtcblxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBNYW5pZmVzdExvYWRFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbi8qKlxuICogVGVzdCBjYXNlIGNvbmZpZ3VyYXRpb24gcmVhZCBmcm9tIHRoZSBpbnRlZyBtYW5pZmVzdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVnVGVzdENvbmZpZyB7XG4gIC8qKlxuICAgKiBUZXN0IGNhc2VzIGNvbnRhaW5lZCBpbiB0aGlzIGludGVncmF0aW9uIHRlc3RcbiAgICovXG4gIHJlYWRvbmx5IHRlc3RDYXNlczogeyBbdGVzdENhc2VOYW1lOiBzdHJpbmddOiBUZXN0Q2FzZSB9O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBsb29rdXBzIGZvciB0aGlzIHRlc3RcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUxvb2t1cHM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgY29udGV4dCB0byB1c2Ugd2hlbiBwZXJmb3JtaW5nXG4gICAqIGEgc3ludGguIEFueSBjb250ZXh0IHByb3ZpZGVkIGhlcmUgd2lsbCBvdmVycmlkZVxuICAgKiBhbnkgZGVmYXVsdCBjb250ZXh0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBjb250ZXh0XG4gICAqL1xuICByZWFkb25seSBzeW50aENvbnRleHQ/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBSZWFkcyBhbiBpbnRlZ3JhdGlvbiB0ZXN0cyBtYW5pZmVzdFxuICovXG5leHBvcnQgY2xhc3MgSW50ZWdNYW5pZmVzdFJlYWRlciB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9GSUxFTkFNRSA9ICdpbnRlZy5qc29uJztcblxuICAvKipcbiAgICogUmVhZHMgYW4gaW50ZWdyYXRpb24gdGVzdCBtYW5pZmVzdCBmcm9tIHRoZSBzcGVjaWZpZWQgZmlsZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRmlsZShmaWxlTmFtZTogc3RyaW5nKTogSW50ZWdNYW5pZmVzdFJlYWRlciB7XG4gICAgdHJ5IHtcbiAgICAgIGZzLnN0YXRTeW5jKGZpbGVOYW1lKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IG5ldyBOb01hbmlmZXN0RXJyb3IoZmlsZU5hbWUsIGUpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBvYmogPSBNYW5pZmVzdC5sb2FkSW50ZWdNYW5pZmVzdChmaWxlTmFtZSk7XG4gICAgICByZXR1cm4gbmV3IEludGVnTWFuaWZlc3RSZWFkZXIocGF0aC5kaXJuYW1lKGZpbGVOYW1lKSwgb2JqKTtcbiAgICB9IGNhdGNoIChsb2FkRXJyOiBhbnkpIHtcbiAgICAgIHRocm93IG5ldyBNYW5pZmVzdExvYWRFcnJvcihmaWxlTmFtZSwgbG9hZEVycik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIGEgSW50ZWdyYXRpb24gdGVzdCBtYW5pZmVzdCBmcm9tIGEgZmlsZSBvciBhIGRpcmVjdG9yeVxuICAgKiBJZiB0aGUgZ2l2ZW4gZmlsZVBhdGggaXMgYSBkaXJlY3RvcnkgdGhlbiBpdCB3aWxsIGxvb2sgZm9yXG4gICAqIGEgZmlsZSB3aXRoaW4gdGhlIGRpcmVjdG9yeSB3aXRoIHRoZSBERUZBVUxUX0ZJTEVOQU1FXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21QYXRoKGZpbGVQYXRoOiBzdHJpbmcpOiBJbnRlZ01hbmlmZXN0UmVhZGVyIHtcbiAgICBsZXQgc3Q7XG4gICAgdHJ5IHtcbiAgICAgIHN0ID0gZnMuc3RhdFN5bmMoZmlsZVBhdGgpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IE5vTWFuaWZlc3RFcnJvcihmaWxlUGF0aCwgZSk7XG4gICAgfVxuICAgIGlmIChzdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICByZXR1cm4gSW50ZWdNYW5pZmVzdFJlYWRlci5mcm9tRmlsZShwYXRoLmpvaW4oZmlsZVBhdGgsIEludGVnTWFuaWZlc3RSZWFkZXIuREVGQVVMVF9GSUxFTkFNRSkpO1xuICAgIH1cbiAgICByZXR1cm4gSW50ZWdNYW5pZmVzdFJlYWRlci5mcm9tRmlsZShmaWxlUGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgbWFuaWZlc3Qgd2FzIGZvdW5kXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGlyZWN0b3J5OiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKGRpcmVjdG9yeTogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IG1hbmlmZXN0OiBJbnRlZ01hbmlmZXN0KSB7XG4gICAgdGhpcy5kaXJlY3RvcnkgPSBkaXJlY3Rvcnk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvZiBpbnRlZ3JhdGlvbiB0ZXN0cyBpbiB0aGUgbWFuaWZlc3RcbiAgICovXG4gIHB1YmxpYyBnZXQgdGVzdHMoKTogSW50ZWdUZXN0Q29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGVzdENhc2VzOiB0aGlzLm1hbmlmZXN0LnRlc3RDYXNlcyxcbiAgICAgIGVuYWJsZUxvb2t1cHM6IHRoaXMubWFuaWZlc3QuZW5hYmxlTG9va3VwcyA/PyBmYWxzZSxcbiAgICAgIHN5bnRoQ29udGV4dDogdGhpcy5tYW5pZmVzdC5zeW50aENvbnRleHQsXG4gICAgfTtcbiAgfVxufVxuIl19
|