@mavogel/mvc-projen 0.0.15 → 0.0.16
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/.jsii +7 -7
- package/lib/projects/cdk-construct.js +12 -10
- package/mavogelmvcprojen/jsii/jsii.go +2 -2
- package/mavogelmvcprojen/version +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
},
|
|
139
139
|
"locationInModule": {
|
|
140
140
|
"filename": "src/projects/cdk-construct.ts",
|
|
141
|
-
"line":
|
|
141
|
+
"line": 44
|
|
142
142
|
},
|
|
143
143
|
"parameters": [
|
|
144
144
|
{
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"kind": "class",
|
|
153
153
|
"locationInModule": {
|
|
154
154
|
"filename": "src/projects/cdk-construct.ts",
|
|
155
|
-
"line":
|
|
155
|
+
"line": 42
|
|
156
156
|
},
|
|
157
157
|
"name": "MvcCdkConstructLibrary",
|
|
158
158
|
"symbolId": "src/projects/cdk-construct:MvcCdkConstructLibrary"
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
"kind": "interface",
|
|
172
172
|
"locationInModule": {
|
|
173
173
|
"filename": "src/projects/cdk-construct.ts",
|
|
174
|
-
"line":
|
|
174
|
+
"line": 21
|
|
175
175
|
},
|
|
176
176
|
"name": "MvcCdkConstructLibraryOptions",
|
|
177
177
|
"properties": [
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"immutable": true,
|
|
186
186
|
"locationInModule": {
|
|
187
187
|
"filename": "src/projects/cdk-construct.ts",
|
|
188
|
-
"line":
|
|
188
|
+
"line": 27
|
|
189
189
|
},
|
|
190
190
|
"name": "baseAssetsDirectory",
|
|
191
191
|
"optional": true,
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
"immutable": true,
|
|
204
204
|
"locationInModule": {
|
|
205
205
|
"filename": "src/projects/cdk-construct.ts",
|
|
206
|
-
"line":
|
|
206
|
+
"line": 34
|
|
207
207
|
},
|
|
208
208
|
"name": "integTestRegions",
|
|
209
209
|
"optional": true,
|
|
@@ -220,6 +220,6 @@
|
|
|
220
220
|
"symbolId": "src/projects/cdk-construct:MvcCdkConstructLibraryOptions"
|
|
221
221
|
}
|
|
222
222
|
},
|
|
223
|
-
"version": "0.0.
|
|
224
|
-
"fingerprint": "
|
|
223
|
+
"version": "0.0.16",
|
|
224
|
+
"fingerprint": "oMpNAAo44H/L/ZuJkgAY0jboThklmi9bS7MNijaJIOg="
|
|
225
225
|
}
|
|
@@ -12,9 +12,10 @@ const github_1 = require("projen/lib/github");
|
|
|
12
12
|
// Set the minimum node version for AWS CDK and the GitHub actions workflow
|
|
13
13
|
const nodeVersion = '22.x';
|
|
14
14
|
const lambdaNodeVersion = awscdk_1.LambdaRuntime.NODEJS_22_X;
|
|
15
|
-
// The last CDK version for which @aws-cdk/integ-runner
|
|
16
|
-
//
|
|
17
|
-
|
|
15
|
+
// The last CDK version for which @aws-cdk/integ-runner was published.
|
|
16
|
+
// integ-runner uses plain versions (no -alpha.0 suffix) and stopped publishing after this version.
|
|
17
|
+
// @aws-cdk/integ-tests-alpha and awslint continue to publish and track CDK versions.
|
|
18
|
+
const LAST_INTEG_RUNNER_VERSION = '2.197.4';
|
|
18
19
|
/**
|
|
19
20
|
* TypeScript library
|
|
20
21
|
*
|
|
@@ -224,13 +225,14 @@ add tools or links which inspired you
|
|
|
224
225
|
this.gitignore.exclude(file);
|
|
225
226
|
}
|
|
226
227
|
this.addDeps('cdk-nag@^2.37.55');
|
|
227
|
-
// Cap
|
|
228
|
-
//
|
|
228
|
+
// Cap integ-runner at LAST_INTEG_RUNNER_VERSION since it stopped publishing after that version.
|
|
229
|
+
// integ-runner uses plain versions (no -alpha.0 suffix).
|
|
230
|
+
// integ-tests-alpha and awslint continue to publish and track CDK versions with -alpha.0 suffix.
|
|
229
231
|
const rawCdkVersion = this.cdkVersion.replace(/[\^~]/, '');
|
|
230
|
-
const
|
|
231
|
-
?
|
|
232
|
+
const integRunnerVersion = rawCdkVersion.localeCompare(LAST_INTEG_RUNNER_VERSION, undefined, { numeric: true, sensitivity: 'base' }) > 0
|
|
233
|
+
? LAST_INTEG_RUNNER_VERSION
|
|
232
234
|
: rawCdkVersion;
|
|
233
|
-
this.addDevDeps(`@aws-cdk/integ-runner@${
|
|
235
|
+
this.addDevDeps(`@aws-cdk/integ-runner@${integRunnerVersion}`, `@aws-cdk/integ-tests-alpha@${rawCdkVersion}-alpha.0`, '@commitlint/cli@^20.1.0', '@commitlint/config-conventional@^20.0.0', `awslint@${rawCdkVersion}-alpha.0`, 'husky@^9.1.7');
|
|
234
236
|
this.package.setScript('prepare', 'husky');
|
|
235
237
|
new projen_1.TextFile(this, '.commitlintrc.js', {
|
|
236
238
|
lines: [
|
|
@@ -288,7 +290,7 @@ add tools or links which inspired you
|
|
|
288
290
|
}
|
|
289
291
|
exports.MvcCdkConstructLibrary = MvcCdkConstructLibrary;
|
|
290
292
|
_a = JSII_RTTI_SYMBOL_1;
|
|
291
|
-
MvcCdkConstructLibrary[_a] = { fqn: "@mavogel/mvc-projen.MvcCdkConstructLibrary", version: "0.0.
|
|
293
|
+
MvcCdkConstructLibrary[_a] = { fqn: "@mavogel/mvc-projen.MvcCdkConstructLibrary", version: "0.0.16" };
|
|
292
294
|
class SampleCode extends projen_1.Component {
|
|
293
295
|
constructor(library, options) {
|
|
294
296
|
super(library);
|
|
@@ -355,4 +357,4 @@ class SampleCode extends projen_1.Component {
|
|
|
355
357
|
fs.writeFileSync(path.join(examplesdir, 'main.ts'), fs.readFileSync(`${this.options.baseAssetsDirectory}/cdk-construct/examples_simple_main.ts`).toString());
|
|
356
358
|
}
|
|
357
359
|
}
|
|
358
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9jZGstY29uc3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixxQ0FBOEI7QUFDOUIsbUNBQXNGO0FBQ3RGLDhDQUF5RztBQUN6Ryw4Q0FBK0Q7QUFHL0QsMkVBQTJFO0FBQzNFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQztBQUMzQixNQUFNLGlCQUFpQixHQUFHLHNCQUFhLENBQUMsV0FBVyxDQUFDO0FBRXBELG9GQUFvRjtBQUNwRiw2Q0FBNkM7QUFDN0MsTUFBTSxzQkFBc0IsR0FBRyxTQUFTLENBQUM7QUFxQnpDOzs7O0dBSUc7QUFDSCxNQUFhLHNCQUF1QixTQUFRLCtCQUFzQjtJQUVoRSxZQUFZLE9BQXNDO1FBQ2hELE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixJQUFJLEdBQUcsSUFBQSxhQUFHLEdBQUUsMENBQTBDLENBQUM7UUFDOUcsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFaEYsS0FBSyxDQUFDO1lBQ0osa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixjQUFjLEVBQUUsb0JBQW9CO1lBQ3BDLGVBQWUsRUFBRSxNQUFNO1lBQ3ZCLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLGNBQWMsRUFBRSxXQUFXO1lBQzNCLG1CQUFtQixFQUFFLFdBQVc7WUFDaEMsU0FBUyxFQUFFLGNBQWM7WUFDekIsWUFBWSxFQUFFLElBQUk7WUFDbEIsY0FBYyxFQUFFLG1CQUFVLENBQUMsa0JBQWtCLENBQUMsR0FBRztZQUNqRCxTQUFTLEVBQUUsbUJBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTTtZQUN0QyxhQUFhLEVBQUU7Z0JBQ2IsT0FBTyxFQUFFLGlC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QUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUM1RCxDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFDRCxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsaUNBQWlDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRTdKLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1RCxJQUNFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQ2hFLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUNELEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0MsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsd0NBQXdDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9KLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBjd2QgfSBmcm9tICdwcm9jZXNzJztcbmltcG9ydCB7IENvbXBvbmVudCwgamF2YXNjcmlwdCwgUmVsZWFzYWJsZUNvbW1pdHMsIFRleHRGaWxlLCBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5LCBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucywgTGFtYmRhUnVudGltZSB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IERlcGVuZGFib3RTY2hlZHVsZUludGVydmFsIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgSm9iU3RlcCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5cbi8vIFNldCB0aGUgbWluaW11bSBub2RlIHZlcnNpb24gZm9yIEFXUyBDREsgYW5kIHRoZSBHaXRIdWIgYWN0aW9ucyB3b3JrZmxvd1xuY29uc3Qgbm9kZVZlcnNpb24gPSAnMjIueCc7XG5jb25zdCBsYW1iZGFOb2RlVmVyc2lvbiA9IExhbWJkYVJ1bnRpbWUuTk9ERUpTXzIyX1g7XG5cbi8vIFRoZSBsYXN0IENESyB2ZXJzaW9uIGZvciB3aGljaCBAYXdzLWNkay9pbnRlZy1ydW5uZXIsIEBhd3MtY2RrL2ludGVnLXRlc3RzLWFscGhhLFxuLy8gYW5kIGF3c2xpbnQgYWxwaGEgcGFja2FnZXMgd2VyZSBwdWJsaXNoZWQuXG5jb25zdCBMQVNUX0NES19BTFBIQV9WRVJTSU9OID0gJzIuMTk3LjQnO1xuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciB0aGUgY29uc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXZjQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBCYXNlIGRpcmVjdG9yeSBmb3IgdGhlIGFzc2V0c1xuICAgKlxuICAgKiBAZGVmYXVsdCAke2N3ZCgpfS9ub2RlX21vZHVsZXMvbXZjLXByb2plbi9hc3NldHNcbiAgICovXG4gIHJlYWRvbmx5IGJhc2VBc3NldHNEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb25zIHRvIHJ1biB0aGUgaW50ZWcgdGVzdHMgaW5cbiAgICpcbiAgICogQGRlZmF1bHQgZXUtd2VzdC0xIGFuZCBldS13ZXN0LTJcbiAgICovXG4gIHJlYWRvbmx5IGludGVnVGVzdFJlZ2lvbnM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBUeXBlU2NyaXB0IGxpYnJhcnlcbiAqXG4gKiBAcGppZCBtdmMtYXdzY2RrLWNvbnN0cnVjdFxuICovXG5leHBvcnQgY2xhc3MgTXZjQ2RrQ29uc3RydWN0TGlicmFyeSBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnkge1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE12Y0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zKSB7XG4gICAgY29uc3QgYmFzZUFzc2V0c0RpcmVjdG9yeSA9IG9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeSA/PyBgJHtjd2QoKX0vbm9kZV9tb2R1bGVzL0BtYXZvZ2VsL212Yy1wcm9qZW4vYXNzZXRzYDtcbiAgICBjb25zdCBpbnRlZ1Rlc3RSZWdpb25zID0gb3B0aW9ucy5pbnRlZ1Rlc3RSZWdpb25zID8/IFsnZXUtd2VzdC0xJywgJ2V1LXdlc3QtMiddO1xuXG4gICAgc3VwZXIoe1xuICAgICAgYXV0aG9yT3JnYW5pemF0aW9uOiB0cnVlLFxuICAgICAgY29weXJpZ2h0T3duZXI6ICdNViBDb25zdWx0aW5nIEdtYkgnLFxuICAgICAgY29weXJpZ2h0UGVyaW9kOiAnMjAyNScsXG4gICAgICBsaWNlbnNlOiAnQXBhY2hlLTIuMCcsXG4gICAgICBqc2lpVmVyc2lvbjogJ341LjkuMCcsXG4gICAgICBtaW5Ob2RlVmVyc2lvbjogbm9kZVZlcnNpb24sXG4gICAgICB3b3JrZmxvd05vZGVWZXJzaW9uOiBub2RlVmVyc2lvbixcbiAgICAgIHN0YWJpbGl0eTogJ2V4cGVyaW1lbnRhbCcsXG4gICAgICByZWxlYXNlVG9OcG06IHRydWUsXG4gICAgICBwYWNrYWdlTWFuYWdlcjogamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuTlBNLFxuICAgICAgbnBtQWNjZXNzOiBqYXZhc2NyaXB0Lk5wbUFjY2Vzcy5QVUJMSUMsXG4gICAgICBsYW1iZGFPcHRpb25zOiB7XG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYU5vZGVWZXJzaW9uLFxuICAgICAgICBhd3NTZGtDb25uZWN0aW9uUmV1c2U6IGZhbHNlLCAvLyBkb2Vzbid0IGV4aXN0IGluIEFXUyBTREsgSlMgdjNcbiAgICAgIH0sXG4gICAgICBhdXRvQXBwcm92ZU9wdGlvbnM6IHtcbiAgICAgICAgYWxsb3dlZFVzZXJuYW1lczogW1xuICAgICAgICAgICdkZXBlbmRhYm90JyxcbiAgICAgICAgICAnZGVwZW5kYWJvdFtib3RdJyxcbiAgICAgICAgICAnZ2l0aHViLWJvdCcsXG4gICAgICAgICAgJ2dpdGh1Yi1hY3Rpb25zW2JvdF0nLFxuICAgICAgICAgICdtdmMtYm90JyxcbiAgICAgICAgXSxcbiAgICAgICAgLy8gVGhlIG5hbWUgb2YgdGhlIHNlY3JldCB0aGF0IGhhcyB0aGUgR2l0SHViIFBBVCBmb3IgYXV0by1hcHByb3ZpbmcgUFJzIHdpdGggcGVybWlzc2lvbnMgcmVwbywgd29ya2Zsb3csIHdyaXRlOnBhY2thZ2VzXG4gICAgICAgIC8vIEdlbmVyYXRlIGEgbmV3IFBBVCAoaHR0cHM6Ly9naXRodWIuY29tL3NldHRpbmdzL3Rva2Vucy9uZXcpIGFuZCBhZGQgaXQgdG8geW91ciByZXBvJ3Mgc2VjcmV0c1xuICAgICAgICAvLyBOT1RFOiBjb21lcyBmcm9tIE1WLUNvbnN1bHRpbmcgT3JnXG4gICAgICAgIHNlY3JldDogJ1BST0pFTl9HSVRIVUJfVE9LRU4nLFxuICAgICAgfSxcbiAgICAgIGRlcGVuZGFib3Q6IHRydWUsXG4gICAgICBkZXBlbmRhYm90T3B0aW9uczoge1xuICAgICAgICBzY2hlZHVsZUludGVydmFsOiBEZXBlbmRhYm90U2NoZWR1bGVJbnRlcnZhbC5XRUVLTFksXG4gICAgICAgIGxhYmVsczogWydkZXBlbmRlbmNpZXMnLCAnYXV0by1hcHByb3ZlJ10sXG4gICAgICAgIGdyb3Vwczoge1xuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHBhdHRlcm5zOiBbJyonXSxcbiAgICAgICAgICAgIGV4Y2x1ZGVQYXR0ZXJuczogWydhd3MtY2RrKicsICdwcm9qZW4nXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBpZ25vcmU6IFt7IGRlcGVuZGVuY3lOYW1lOiAnYXdzLWNkay1saWInIH0sIHsgZGVwZW5kZW5jeU5hbWU6ICdhd3MtY2RrJyB9XSxcbiAgICAgIH0sXG4gICAgICAvLyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Byb2plbi9wcm9qZW4vZGlzY3Vzc2lvbnMvNDA0MCNkaXNjdXNzaW9uY29tbWVudC0xMTkwNTYyOFxuICAgICAgcmVsZWFzYWJsZUNvbW1pdHM6IFJlbGVhc2FibGVDb21taXRzLm9mVHlwZShbXG4gICAgICAgICdmZWF0JyxcbiAgICAgICAgJ2ZpeCcsXG4gICAgICAgICdjaG9yZScsXG4gICAgICAgICdyZWZhY3RvcicsXG4gICAgICAgICdwZXJmJyxcbiAgICAgIF0pLFxuICAgICAgZ2l0aHViT3B0aW9uczoge1xuICAgICAgICBwdWxsUmVxdWVzdExpbnRPcHRpb25zOiB7XG4gICAgICAgICAgc2VtYW50aWNUaXRsZU9wdGlvbnM6IHtcbiAgICAgICAgICAgIC8vIHNlZSBjb21taXQgdHlwZXMgaGVyZTogaHR0cHM6Ly93d3cuY29udmVudGlvbmFsY29tbWl0cy5vcmcvZW4vdjEuMC4wLyNzdW1tYXJ5XG4gICAgICAgICAgICB0eXBlczogW1xuICAgICAgICAgICAgICAnZmVhdCcsXG4gICAgICAgICAgICAgICdmaXgnLFxuICAgICAgICAgICAgICAnY2hvcmUnLFxuICAgICAgICAgICAgICAncmVmYWN0b3InLFxuICAgICAgICAgICAgICAncGVyZicsXG4gICAgICAgICAgICAgICdkb2NzJyxcbiAgICAgICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAgICAgJ3Rlc3QnLFxuICAgICAgICAgICAgICAnYnVpbGQnLFxuICAgICAgICAgICAgICAnY2knLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHZlcnNpb25yY09wdGlvbnM6IHtcbiAgICAgICAgdHlwZXM6IFtcbiAgICAgICAgICB7IHR5cGU6ICdmZWF0Jywgc2VjdGlvbjogJ0ZlYXR1cmVzJyB9LFxuICAgICAgICAgIHsgdHlwZTogJ2ZpeCcsIHNlY3Rpb246ICdCdWcgRml4ZXMnIH0sXG4gICAgICAgICAgeyB0eXBlOiAnY2hvcmUnLCBzZWN0aW9uOiAnQ2hvcmVzJyB9LFxuICAgICAgICAgIHsgdHlwZTogJ2RvY3MnLCBzZWN0aW9uOiAnRG9jcycgfSxcbiAgICAgICAgICB7IHR5cGU6ICdzdHlsZScsIGhpZGRlbjogdHJ1ZSB9LFxuICAgICAgICAgIHsgdHlwZTogJ3JlZmFjdG9yJywgaGlkZGVuOiB0cnVlIH0sXG4gICAgICAgICAgeyB0eXBlOiAncGVyZicsIHNlY3Rpb246ICdQZXJmb3JtYW5jZScgfSxcbiAgICAgICAgICB7IHR5cGU6ICd0ZXN0JywgaGlkZGVuOiB0cnVlIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgZXNsaW50T3B0aW9uczoge1xuICAgICAgICBwcmV0dGllcjogZmFsc2UsXG4gICAgICAgIGRpcnM6IFsnc3JjJ10sXG4gICAgICAgIGlnbm9yZVBhdHRlcm5zOiBbJyoqLyotZnVuY3Rpb24udHMnLCAnZXhhbXBsZXMvJ10sXG4gICAgICB9LFxuICAgICAgLy8gZXhwZXJpbWVudGFsSW50ZWdSdW5uZXI6IHRydWUsXG4gICAgICAvLyBtYW51YWwgaW50ZWcgdGVzdCBzZXR1cFxuICAgICAgdHNjb25maWdEZXY6IHtcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7fSxcbiAgICAgICAgaW5jbHVkZTogWydpbnRlZy10ZXN0cy8qKi8qLnRzJ10sXG4gICAgICB9LFxuICAgICAgcHVsbFJlcXVlc3RUZW1wbGF0ZUNvbnRlbnRzOiBbZnMucmVhZEZpbGVTeW5jKGAke2Jhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9naXRodWJfcHVsbF9yZXF1ZXN0Lm1kYCkudG9TdHJpbmcoKV0sXG4gICAgICAvLyBOT1RFOiBpc3N1ZSB0ZW1wbGF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQgeWV0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Byb2plbi9wcm9qZW4vcHVsbC8zNjQ4XG4gICAgICAvLyBpc3N1ZVRlbXBsYXRlczoge31cbiAgICAgIHJlYWRtZToge1xuICAgICAgICBjb250ZW50czogW1xuICAgICAgICAgIGBcbiFbU291cmNlXShodHRwczovL2ltZy5zaGllbGRzLmlvL2dpdGh1Yi9zdGFycy9NVi1Db25zdWx0aW5nLyR7b3B0aW9ucy5uYW1lfT9sb2dvPWdpdGh1YiZsYWJlbD1HaXRIdWIlMjBTdGFycylcblshW0J1aWxkIFN0YXR1c10oaHR0cHM6Ly9naXRodWIuY29tL01WLUNvbnN1bHRpbmcvJHtvcHRpb25zLm5hbWV9L2FjdGlvbnMvd29ya2Zsb3dzL2J1aWxkLnltbC9iYWRnZS5zdmcpXShodHRwczovL2dpdGh1Yi5jb20vTVYtQ29uc3VsdGluZy8ke29wdGlvbnMubmFtZX0vYWN0aW9ucy93b3JrZmxvd3MvYnVpbGQueW1sKVxuWyFbRVNMaW50IENvZGUgRm9ybWF0dGluZ10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9jb2RlX3N0eWxlLWVzbGludC1icmlnaHRncmVlbi5zdmcpXShodHRwczovL2VzbGludC5vcmcpXG5bIVtMYXRlc3QgcmVsZWFzZV0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9naXRodWIvcmVsZWFzZS9NVi1Db25zdWx0aW5nLyR7b3B0aW9ucy5uYW1lfS5zdmcpXShodHRwczovL2dpdGh1Yi5jb20vTVYtQ29uc3VsdGluZy8ke29wdGlvbnMubmFtZX0vcmVsZWFzZXMpXG4hW0dpdEh1Yl0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9naXRodWIvbGljZW5zZS9NVi1Db25zdWx0aW5nLyR7b3B0aW9ucy5uYW1lfSlcblshW25wbV0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9ucG0vZHQvQG1hdm9nZWwvJHtvcHRpb25zLm5hbWV9P2xhYmVsPW5wbSZjb2xvcj1vcmFuZ2UpXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9AbWF2b2dlbC8ke29wdGlvbnMubmFtZX0pXG5bIVt0eXBlc2NyaXB0XShodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL2pzaWktdHlwZXNjcmlwdC1ibHVldmlvbGV0LnN2ZyldKGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL0BtYXZvZ2VsLyR7b3B0aW9ucy5uYW1lfSlcbiAgICAgICAgICBgLFxuICAgICAgICAgIGAjICR7b3B0aW9ucy5uYW1lfWAsXG4gICAgICAgICAgJ015IGF3ZXNvbWUgZGVzY3JpcHRpb24uLi4nLFxuICAgICAgICAgIGBcbiMjIFRhYmxlIG9mIENvbnRlbnRzXG5cbi0gW0ZlYXR1cmVzXSgjZmVhdHVyZXMpXG4tIFtVc2FnZV0oI3VzYWdlKVxuLSBbU29sdXRpb24gRGVzaWduXSgjc29sdXRpb24tZGVzaWduKVxuLSBbSW5zcGlyYXRpb25dKCNpbnNwaXJhdGlvbilcblxuIyMgRmVhdHVyZXNcblxuLSDimqEgKipRdWljayBTZXR1cCoqOiBUQkRcbi0g8J+TjyAqKkJlc3QgUHJhY3RpY2UgU2V0dXAqKjogVEJEXG4tIPCfpLnigI3imYLvuI8gKipQcmUtaW5zdGFsbGVkIHBhY2thZ2VzKio6IFRCRFxuLSDwn4+X77iPICoqRXh0ZW5zaWJpbGl0eSoqOiBUQkRcblxuIyMgVXNhZ2VcblRoZSBmb2xsb3dpbmcgc3RlcHMgZ2V0IHlvdSBzdGFydGVkOlxuXG4xLiBDcmVhdGUgYSBuZXcgXFxgYXdzY2RrLWFwcFxcYCB2aWFcblxcYFxcYFxcYGJhc2hcbm5weCBwcm9qZW4gbmV3IGF3c2Nkay1hcHAtdHMgLS1jZGtWZXJzaW9uPTIuMTc3LjAgLS1wYWNrYWdlLW1hbmFnZXI9bnBtXG5cXGBcXGBcXGBcbjMuIEFkZCBcXGBAbWF2b2dlbC8ke29wdGlvbnMubmFtZX1cXGAgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgcHJvamVjdCBpbiB0aGUgXFxgLnByb2plbnJjLnRzXFxgIGZpbGVcbjQuIFJ1biBcXGBucHggcHJvamVuXFxgIHRvIGluc3RhbGwgaXRcbjUuIEFkZCB0aGUgZm9sbG93aW5nIHRvIHRoZSBcXGBzcmMvbWFpbi50c1xcYCBmaWxlOlxuXFxgXFxgXFxgdHNcbmltcG9ydCB7IEFwcCwgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSAnQG1hdm9nZWwvJHtvcHRpb25zLm5hbWV9JztcblxuZXhwb3J0IGNsYXNzIE15U3RhY2sgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFja1Byb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIG5ldyBQbGFjZWhvbGRlcih0aGlzLCAncGxhY2Vob2xkZXInLCB7XG4gICAgICAvLyBhbmQgbW9yZS4uLiDwn5KhXG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgZW52ID0ge1xuICBhY2NvdW50OiAnMTIzNDU2Nzg5OTEyJyxcbiAgcmVnaW9uOiAnZXUtY2VudHJhbC0xJyxcbn07XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbm5ldyBNeVN0YWNrKGFwcCwgJ3BsYWNlaG9sZGVyJywgeyBlbnYgfSk7XG5hcHAuc3ludGgoKTtcblxcYFxcYFxcYFxuXG5hbmQgZGVwbG95IGl0XG5cXGBcXGBcXGBiYXNoXG5ucHggcHJvamVuIGJ1aWxkXG5ucHggcHJvamVuIGRlcGxveVxuXFxgXFxgXFxgXG5cbndpdGggdGhlIG91dHB1dFxuXFxgXFxgXFxgY29uc29sZVxuVEJEXG5cXGBcXGBcXGBcblxuU2VlIHRoZSBbZXhhbXBsZXNdKC4vZXhhbXBsZXMpIGZvbGRlciBmb3IgbW9yZSBpbnNwaXJhdGlvbi5cblxuIyMgU29sdXRpb24gRGVzaWduXG5cbjxkZXRhaWxzPlxuICA8c3VtbWFyeT4uLi4gaWYgeW91J3JlIGN1cmlvdXMgYWJvdXQgY2xpY2sgaGVyZSBmb3IgdGhlIGRldGFpbHM8L3N1bW1hcnk+XG5cbiFbcGxhY2Vob2xkZXJdKGRvY3MvaW1nL3BsYWNlaG9sZGVyLmRyYXdpby1taW4ucG5nKVxuXG48L2RldGFpbHM+XG5cbiMjIEluc3BpcmF0aW9uXG5cbmFkZCB0b29scyBvciBsaW5rcyB3aGljaCBpbnNwaXJlZCB5b3VcbiAgICAgICAgICBgLFxuICAgICAgICAgIGZzLnJlYWRGaWxlU3luYyhgJHtiYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vZ2l0aHViX3JlYWRtZV9jdGEubWRgKS50b1N0cmluZygpLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgfSxcbiAgICAgIC8vIE5PVEU6IGtlZXAgYWxsIHRoZSBwYXNzZWQgaW4gb3B0aW9ucyB3aGljaCBjYW4gb3ZlcnJpZGUgdGhlIGV4aXN0aW5nIG9uZXMhXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgLy8gZ2l0aWdub3JlXG4gICAgY29uc3QgZmlsZXNQYXR0ZXJuVG9HaXRpZ25vcmUgPSBbXG4gICAgICAndG1wJyxcbiAgICAgICcuY29kZWdwdCcsXG4gICAgXTtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXNQYXR0ZXJuVG9HaXRpZ25vcmUpIHtcbiAgICAgIHRoaXMuZ2l0aWdub3JlLmV4Y2x1ZGUoZmlsZSk7XG4gICAgfVxuICAgIHRoaXMuYWRkRGVwcyhcbiAgICAgICdjZGstbmFnQF4yLjM3LjU1JyxcbiAgICApO1xuICAgIC8vIENhcCBhbHBoYSBwYWNrYWdlIHZlcnNpb25zIGF0IExBU1RfQ0RLX0FMUEhBX1ZFUlNJT04gc2luY2UgdGhlc2UgcGFja2FnZXNcbiAgICAvLyBzdG9wcGVkIHB1Ymxpc2hpbmcgYWZ0ZXIgdGhhdCB2ZXJzaW9uLlxuICAgIGNvbnN0IHJhd0Nka1ZlcnNpb24gPSB0aGlzLmNka1ZlcnNpb24ucmVwbGFjZSgvW1xcXn5dLywgJycpO1xuICAgIGNvbnN0IGFscGhhVmVyc2lvbiA9IHJhd0Nka1ZlcnNpb24ubG9jYWxlQ29tcGFyZShMQVNUX0NES19BTFBIQV9WRVJTSU9OLCB1bmRlZmluZWQsIHsgbnVtZXJpYzogdHJ1ZSwgc2Vuc2l0aXZpdHk6ICdiYXNlJyB9KSA+IDBcbiAgICAgID8gTEFTVF9DREtfQUxQSEFfVkVSU0lPTlxuICAgICAgOiByYXdDZGtWZXJzaW9uO1xuICAgIHRoaXMuYWRkRGV2RGVwcyhcbiAgICAgIGBAYXdzLWNkay9pbnRlZy1ydW5uZXJAJHthbHBoYVZlcnNpb259LWFscGhhLjBgLFxuICAgICAgYEBhd3MtY2RrL2ludGVnLXRlc3RzLWFscGhhQCR7YWxwaGFWZXJzaW9ufS1hbHBoYS4wYCxcbiAgICAgICdAY29tbWl0bGludC9jbGlAXjIwLjEuMCcsXG4gICAgICAnQGNvbW1pdGxpbnQvY29uZmlnLWNvbnZlbnRpb25hbEBeMjAuMC4wJyxcbiAgICAgIGBhd3NsaW50QCR7YWxwaGFWZXJzaW9ufS1hbHBoYS4wYCxcbiAgICAgICdodXNreUBeOS4xLjcnLFxuICAgICk7XG5cbiAgICB0aGlzLnBhY2thZ2Uuc2V0U2NyaXB0KCdwcmVwYXJlJywgJ2h1c2t5Jyk7XG4gICAgbmV3IFRleHRGaWxlKHRoaXMsICcuY29tbWl0bGludHJjLmpzJywge1xuICAgICAgbGluZXM6IFtcbiAgICAgICAgJ21vZHVsZS5leHBvcnRzID0geyBleHRlbmRzOiBbXFwnQGNvbW1pdGxpbnQvY29uZmlnLWNvbnZlbnRpb25hbFxcJ10gfTsnLFxuICAgICAgXSxcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMucGFja2FnZS5zZXRTY3JpcHQoJ2F3c2xpbnQnLCAnYXdzbGludCcpO1xuICAgIC8vIC5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnltbFxuICAgIGNvbnN0IGJ1aWxkV29ya2Zsb3cgPSB0aGlzLmdpdGh1Yj8udHJ5RmluZFdvcmtmbG93KCdidWlsZCcpO1xuICAgIGlmICghYnVpbGRXb3JrZmxvdykgcmV0dXJuO1xuICAgIGNvbnN0IGJ1aWxkSm9iID0gYnVpbGRXb3JrZmxvdy5nZXRKb2IoJ2J1aWxkJyk7XG4gICAgaWYgKCFidWlsZEpvYiB8fCAhKCdzdGVwcycgaW4gYnVpbGRKb2IpKSByZXR1cm47XG4gICAgLy8gVE9ETzogZmlndXJlIG91dCB3aHkgd3JvbmcgdHlwZXNcbiAgICBjb25zdCBnZXRCdWlsZFN0ZXBzID0gYnVpbGRKb2Iuc3RlcHMgYXMgdW5rbm93biBhcyAoKSA9PiBKb2JTdGVwW107XG4gICAgY29uc3QgYnVpbGRKb2JTdGVwcyA9IGdldEJ1aWxkU3RlcHMoKTtcbiAgICBidWlsZFdvcmtmbG93LnVwZGF0ZUpvYignYnVpbGQnLCB7XG4gICAgICAuLi5idWlsZEpvYixcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIC4uLmJ1aWxkSm9iU3RlcHMuc2xpY2UoMCwgNCksXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnUnVuIGF3c2xpbnQnLFxuICAgICAgICAgIHJ1bjogJ25wbSBydW4gYXdzbGludCcsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmJ1aWxkSm9iU3RlcHMuc2xpY2UoNCksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wYWNrYWdlLnNldFNjcmlwdChcbiAgICAgICdpbnRlZy10ZXN0JyxcbiAgICAgIGBpbnRlZy1ydW5uZXIgLS1kaXJlY3RvcnkgLi9pbnRlZy10ZXN0cyAke2ludGVnVGVzdFJlZ2lvbnM/Lm1hcChyZWdpb24gPT4gYC0tcGFyYWxsZWwtcmVnaW9ucyAke3JlZ2lvbn1gKS5qb2luKCcgJyl9IC0tdXBkYXRlLW9uLWZhaWxlZGAsXG4gICAgKTtcblxuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCAnLmdpdGh1Yi9JU1NVRV9URU1QTEFURS9idWdfcmVwb3J0Lm1kJywge1xuICAgICAgbGluZXM6IFtmcy5yZWFkRmlsZVN5bmMoYCR7YmFzZUFzc2V0c0RpcmVjdG9yeX0vY29tbW9uL2dpdGh1Yl9idWdfcmVwb3J0Lm1kYCkudG9TdHJpbmcoKV0sXG4gICAgfSk7XG5cbiAgICBuZXcgVGV4dEZpbGUodGhpcywgJy5naXRodWIvSVNTVUVfVEVNUExBVEUvZmVhdHVyZV9yZXF1ZXN0Lm1kJywge1xuICAgICAgbGluZXM6IFtmcy5yZWFkRmlsZVN5bmMoYCR7YmFzZUFzc2V0c0RpcmVjdG9yeX0vY29tbW9uL2dpdGh1Yl9mZWF0dXJlX3JlcXVlc3QubWRgKS50b1N0cmluZygpXSxcbiAgICB9KTtcblxuICAgIG5ldyBZYW1sRmlsZSh0aGlzLCAnLmdpdGh1Yi9GVU5ESU5HLnlhbWwnLCB7XG4gICAgICBvYmo6IHtcbiAgICAgICAgZ2l0aHViOiAnbWF2b2dlbCcsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3IFRleHRGaWxlKHRoaXMsICdDT05UUklCVVRJTkcubWQnLCB7XG4gICAgICBsaW5lczogW2ZzLnJlYWRGaWxlU3luYyhgJHtiYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vY29udHJpYnV0aW5nLm1kYCkudG9TdHJpbmcoKV0sXG4gICAgfSk7XG5cbiAgICBuZXcgVGV4dEZpbGUodGhpcywgJy5wcmV0dGllcnJjJywge1xuICAgICAgbGluZXM6IFtmcy5yZWFkRmlsZVN5bmMoYCR7YmFzZUFzc2V0c0RpcmVjdG9yeX0vY29tbW9uL3ByZXR0aWVycmNgKS50b1N0cmluZygpXSxcbiAgICB9KTtcblxuICAgIC8vIHdyaXRlIHNhbXBsZSBjb2RlIHRvIG1haW4udHMgJiB0byBtYWluLnRlc3QudHNcbiAgICBpZiAob3B0aW9ucy5zYW1wbGVDb2RlID8/IHRydWUpIHtcbiAgICAgIG5ldyBTYW1wbGVDb2RlKHRoaXMsIHtcbiAgICAgICAgYmFzZUFzc2V0c0RpcmVjdG9yeSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5pbnRlcmZhY2UgU2FtcGxlQ29kZU9wdGlvbnMge1xuICByZWFkb25seSBiYXNlQXNzZXRzRGlyZWN0b3J5Pzogc3RyaW5nO1xufVxuXG5jbGFzcyBTYW1wbGVDb2RlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBsaWJyYXJ5OiBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5O1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFNhbXBsZUNvZGVPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxpYnJhcnk6IEF3c0Nka0NvbnN0cnVjdExpYnJhcnksXG4gICAgb3B0aW9uczogU2FtcGxlQ29kZU9wdGlvbnMsXG4gICkge1xuICAgIHN1cGVyKGxpYnJhcnkpO1xuICAgIHRoaXMubGlicmFyeSA9IGxpYnJhcnk7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBzeW50aGVzaXplKCkge1xuICAgIGNvbnN0IG91dGRpciA9IHRoaXMucHJvamVjdC5vdXRkaXI7XG4gICAgY29uc3Qgc3JjZGlyID0gcGF0aC5qb2luKG91dGRpciwgdGhpcy5saWJyYXJ5LnNyY2Rpcik7XG4gICAgaWYgKFxuICAgICAgZnMuZXhpc3RzU3luYyhzcmNkaXIpICYmXG4gICAgICBmcy5yZWFkZGlyU3luYyhzcmNkaXIpLmZpbHRlcigoeCkgPT4geC5lbmRzV2l0aCgnLnRzJykpICYmXG4gICAgICAhZnMucmVhZEZpbGVTeW5jKGAke3NyY2Rpcn0vaW5kZXgudHNgKS50b1N0cmluZygpLmluY2x1ZGVzKCdleHBvcnQgY2xhc3MgSGVsbG8nKSAvLyBOb3RlOiBmcm9tIHBhcmVudFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZzLm1rZGlyU3luYyhzcmNkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHNyY2RpciwgJ2luZGV4LnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC9zcmNfaW5kZXgudHNgKS50b1N0cmluZygpKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihzcmNkaXIsICdwbGFjZWhvbGRlci50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3Qvc3JjX3BsYWNlaG9sZGVyLnRzYCkudG9TdHJpbmcoKSk7XG4gICAgLy8gY3JkIHdpdGggbGFtYmRhIGdlbmVyYXRpb25cbiAgICBmcy5ta2RpclN5bmMoYCR7c3JjZGlyfS9jcmQtZXhhbXBsZWAsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKGAke3NyY2Rpcn0vY3JkLWV4YW1wbGVgLCAnY3JkLWV4YW1wbGUudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L3NyY19jcmQtZXhhbXBsZS50c2ApLnRvU3RyaW5nKCkpO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKGAke3NyY2Rpcn0vY3JkLWV4YW1wbGVgLCAnY3JkLWV4YW1wbGUubGFtYmRhLnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC9zcmNfY3JkLWV4YW1wbGUubGFtYmRhLnRzYCkudG9TdHJpbmcoKSk7XG5cblxuICAgIGNvbnN0IHRlc3RkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCB0aGlzLmxpYnJhcnkudGVzdGRpcik7XG4gICAgaWYgKFxuICAgICAgZnMuZXhpc3RzU3luYyh0ZXN0ZGlyKSAmJlxuICAgICAgZnMucmVhZGRpclN5bmModGVzdGRpcikuZmlsdGVyKCh4KSA9PiB4LmVuZHNXaXRoKCcudHMnKSkgJiZcbiAgICAgICFmcy5leGlzdHNTeW5jKGAke3Rlc3RkaXJ9L2hlbGxvLnRlc3QudHNgKSAvLyBOb3RlOiBmcm9tIHBhcmVudFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyByZW1vdmUgJHt0ZXN0ZGlyfS9oZWxsby50ZXN0LnRzIGZpbGUuIE9uIHRoZSBvdGhlciBoYW5kLCB3ZSBvdmVycmlkZSBpbmRleC50c1xuICAgIGZzLnVubGlua1N5bmMoYCR7dGVzdGRpcn0vaGVsbG8udGVzdC50c2ApO1xuICAgIGZzLm1rZGlyU3luYyh0ZXN0ZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbih0ZXN0ZGlyLCAnaW5kZXgudGVzdC50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3QvdGVzdF9pbmRleC50ZXN0LnRzYCkudG9TdHJpbmcoKSk7XG4gICAgLy8gbGFtYmRhIHRlc3RzIHdpdGggamVzdCBzdHVic1xuICAgIGZzLm1rZGlyU3luYyhgJHt0ZXN0ZGlyfS9jcmQtZXhhbXBsZWAsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKGAke3Rlc3RkaXJ9L2NyZC1leGFtcGxlYCwgJ2NyZC1leGFtcGxlLnRlc3QudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L3Rlc3RfY3JkLWV4YW1wbGUudGVzdC50c2ApLnRvU3RyaW5nKCkpO1xuXG5cbiAgICBjb25zdCBpbnRlZ1Rlc3RkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCAnaW50ZWctdGVzdHMnKTtcbiAgICBpZiAoXG4gICAgICBmcy5leGlzdHNTeW5jKGludGVnVGVzdGRpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKGludGVnVGVzdGRpcikuZmlsdGVyKCh4KSA9PiB4LmVuZHNXaXRoKCcudHMnKSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZnMubWtkaXJTeW5jKGludGVnVGVzdGRpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oaW50ZWdUZXN0ZGlyLCAnaW50ZWcucGxhY2Vob2xkZXIudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L2ludGVnX2ludGVnLnBsYWNlaG9sZGVyLnRzYCkudG9TdHJpbmcoKSk7XG5cbiAgICBjb25zdCBpbnRlZ1Rlc3RGdW5jdGlvbnNkaXIgPSBwYXRoLmpvaW4oaW50ZWdUZXN0ZGlyLCAnZnVuY3Rpb25zJyk7XG4gICAgaWYgKFxuICAgICAgZnMuZXhpc3RzU3luYyhpbnRlZ1Rlc3RGdW5jdGlvbnNkaXIpICYmXG4gICAgICBmcy5yZWFkZGlyU3luYyhpbnRlZ1Rlc3RGdW5jdGlvbnNkaXIpLmZpbHRlcigoeCkgPT4geC5lbmRzV2l0aCgnLnRzJykpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZzLm1rZGlyU3luYyhpbnRlZ1Rlc3RGdW5jdGlvbnNkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKGludGVnVGVzdEZ1bmN0aW9uc2RpciwgJ3Rlc3QtaGFuZGxlci50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3QvaW50ZWdfdGVzdC1oYW5kbGVyLnRzYCkudG9TdHJpbmcoKSk7XG5cbiAgICBjb25zdCBkb2NzZGlyID0gcGF0aC5qb2luKG91dGRpciwgJ2RvY3MnKTtcbiAgICBpZiAoXG4gICAgICBmcy5leGlzdHNTeW5jKGRvY3NkaXIpICYmXG4gICAgICBmcy5yZWFkZGlyU3luYyhkb2NzZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoJy5kcmF3aW8nKSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZnMubWtkaXJTeW5jKGRvY3NkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKGRvY3NkaXIsICdwbGFjZWhvbGRlci5kcmF3aW8nKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vZG9jc19wbGFjZWhvbGRlci5kcmF3aW9gKS50b1N0cmluZygpKTtcblxuICAgIGNvbnN0IGV4YW1wbGVzZGlyID0gcGF0aC5qb2luKG91dGRpciwgJ2V4YW1wbGVzJywgJ3NpbXBsZScpO1xuICAgIGlmIChcbiAgICAgIGZzLmV4aXN0c1N5bmMoZXhhbXBsZXNkaXIpICYmXG4gICAgICBmcy5yZWFkZGlyU3luYyhleGFtcGxlc2RpcikuZmlsdGVyKCh4KSA9PiB4LmVuZHNXaXRoKCcuZHJhd2lvJykpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZzLm1rZGlyU3luYyhleGFtcGxlc2RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oZXhhbXBsZXNkaXIsICdtYWluLnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC9leGFtcGxlc19zaW1wbGVfbWFpbi50c2ApLnRvU3RyaW5nKCkpO1xuICB9XG59Il19
|
|
360
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9jZGstY29uc3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixxQ0FBOEI7QUFDOUIsbUNBQXNGO0FBQ3RGLDhDQUF5RztBQUN6Ryw4Q0FBK0Q7QUFHL0QsMkVBQTJFO0FBQzNFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQztBQUMzQixNQUFNLGlCQUFpQixHQUFHLHNCQUFhLENBQUMsV0FBVyxDQUFDO0FBRXBELHNFQUFzRTtBQUN0RSxtR0FBbUc7QUFDbkcscUZBQXFGO0FBQ3JGLE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDO0FBcUI1Qzs7OztHQUlHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwrQkFBc0I7SUFFaEUsWUFBWSxPQUFzQztRQUNoRCxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxHQUFHLElBQUEsYUFBRyxHQUFFLDBDQUEwQyxDQUFDO1FBQzlHLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRWhGLEtBQUssQ0FBQztZQUNKLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsY0FBYyxFQUFFLG9CQUFvQjtZQUNwQyxlQUFlLEVBQUUsTUFBTTtZQUN2QixPQUFPLEVBQUUsWUFBWTtZQUNyQixXQUFXLEVBQUUsUUFBUTtZQUNyQixjQUFjLEVBQUUsV0FBVztZQUMzQixtQkFBbUIsRUFBRSxXQUFXO1lBQ2hDLFNBQVMsRUFBRSxjQUFjO1lBQ3pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxtQkFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUc7WUFDakQsU0FBUyxFQUFFLG1CQUFVLENBQUMsU0FBUyxDQUFDLE1BQU07WUFDdEMsYUFBYSxFQUFFO2dCQUNi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cG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBjd2QgfSBmcm9tICdwcm9jZXNzJztcbmltcG9ydCB7IENvbXBvbmVudCwgamF2YXNjcmlwdCwgUmVsZWFzYWJsZUNvbW1pdHMsIFRleHRGaWxlLCBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5LCBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucywgTGFtYmRhUnVudGltZSB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IERlcGVuZGFib3RTY2hlZHVsZUludGVydmFsIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgSm9iU3RlcCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5cbi8vIFNldCB0aGUgbWluaW11bSBub2RlIHZlcnNpb24gZm9yIEFXUyBDREsgYW5kIHRoZSBHaXRIdWIgYWN0aW9ucyB3b3JrZmxvd1xuY29uc3Qgbm9kZVZlcnNpb24gPSAnMjIueCc7XG5jb25zdCBsYW1iZGFOb2RlVmVyc2lvbiA9IExhbWJkYVJ1bnRpbWUuTk9ERUpTXzIyX1g7XG5cbi8vIFRoZSBsYXN0IENESyB2ZXJzaW9uIGZvciB3aGljaCBAYXdzLWNkay9pbnRlZy1ydW5uZXIgd2FzIHB1Ymxpc2hlZC5cbi8vIGludGVnLXJ1bm5lciB1c2VzIHBsYWluIHZlcnNpb25zIChubyAtYWxwaGEuMCBzdWZmaXgpIGFuZCBzdG9wcGVkIHB1Ymxpc2hpbmcgYWZ0ZXIgdGhpcyB2ZXJzaW9uLlxuLy8gQGF3cy1jZGsvaW50ZWctdGVzdHMtYWxwaGEgYW5kIGF3c2xpbnQgY29udGludWUgdG8gcHVibGlzaCBhbmQgdHJhY2sgQ0RLIHZlcnNpb25zLlxuY29uc3QgTEFTVF9JTlRFR19SVU5ORVJfVkVSU0lPTiA9ICcyLjE5Ny40JztcblxuLyoqXG4gKiBUaGUgb3B0aW9ucyBmb3IgdGhlIGNvbnN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE12Y0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIGV4dGVuZHMgQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMge1xuICAvKipcbiAgICogQmFzZSBkaXJlY3RvcnkgZm9yIHRoZSBhc3NldHNcbiAgICpcbiAgICogQGRlZmF1bHQgJHtjd2QoKX0vbm9kZV9tb2R1bGVzL212Yy1wcm9qZW4vYXNzZXRzXG4gICAqL1xuICByZWFkb25seSBiYXNlQXNzZXRzRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9ucyB0byBydW4gdGhlIGludGVnIHRlc3RzIGluXG4gICAqXG4gICAqIEBkZWZhdWx0IGV1LXdlc3QtMSBhbmQgZXUtd2VzdC0yXG4gICAqL1xuICByZWFkb25seSBpbnRlZ1Rlc3RSZWdpb25zPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogVHlwZVNjcmlwdCBsaWJyYXJ5XG4gKlxuICogQHBqaWQgbXZjLWF3c2Nkay1jb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGNsYXNzIE12Y0Nka0NvbnN0cnVjdExpYnJhcnkgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IHtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBNdmNDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IGJhc2VBc3NldHNEaXJlY3RvcnkgPSBvcHRpb25zLmJhc2VBc3NldHNEaXJlY3RvcnkgPz8gYCR7Y3dkKCl9L25vZGVfbW9kdWxlcy9AbWF2b2dlbC9tdmMtcHJvamVuL2Fzc2V0c2A7XG4gICAgY29uc3QgaW50ZWdUZXN0UmVnaW9ucyA9IG9wdGlvbnMuaW50ZWdUZXN0UmVnaW9ucyA/PyBbJ2V1LXdlc3QtMScsICdldS13ZXN0LTInXTtcblxuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhvck9yZ2FuaXphdGlvbjogdHJ1ZSxcbiAgICAgIGNvcHlyaWdodE93bmVyOiAnTVYgQ29uc3VsdGluZyBHbWJIJyxcbiAgICAgIGNvcHlyaWdodFBlcmlvZDogJzIwMjUnLFxuICAgICAgbGljZW5zZTogJ0FwYWNoZS0yLjAnLFxuICAgICAganNpaVZlcnNpb246ICd+NS45LjAnLFxuICAgICAgbWluTm9kZVZlcnNpb246IG5vZGVWZXJzaW9uLFxuICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogbm9kZVZlcnNpb24sXG4gICAgICBzdGFiaWxpdHk6ICdleHBlcmltZW50YWwnLFxuICAgICAgcmVsZWFzZVRvTnBtOiB0cnVlLFxuICAgICAgcGFja2FnZU1hbmFnZXI6IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLk5QTSxcbiAgICAgIG5wbUFjY2VzczogamF2YXNjcmlwdC5OcG1BY2Nlc3MuUFVCTElDLFxuICAgICAgbGFtYmRhT3B0aW9uczoge1xuICAgICAgICBydW50aW1lOiBsYW1iZGFOb2RlVmVyc2lvbixcbiAgICAgICAgYXdzU2RrQ29ubmVjdGlvblJldXNlOiBmYWxzZSwgLy8gZG9lc24ndCBleGlzdCBpbiBBV1MgU0RLIEpTIHYzXG4gICAgICB9LFxuICAgICAgYXV0b0FwcHJvdmVPcHRpb25zOiB7XG4gICAgICAgIGFsbG93ZWRVc2VybmFtZXM6IFtcbiAgICAgICAgICAnZGVwZW5kYWJvdCcsXG4gICAgICAgICAgJ2RlcGVuZGFib3RbYm90XScsXG4gICAgICAgICAgJ2dpdGh1Yi1ib3QnLFxuICAgICAgICAgICdnaXRodWItYWN0aW9uc1tib3RdJyxcbiAgICAgICAgICAnbXZjLWJvdCcsXG4gICAgICAgIF0sXG4gICAgICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBzZWNyZXQgdGhhdCBoYXMgdGhlIEdpdEh1YiBQQVQgZm9yIGF1dG8tYXBwcm92aW5nIFBScyB3aXRoIHBlcm1pc3Npb25zIHJlcG8sIHdvcmtmbG93LCB3cml0ZTpwYWNrYWdlc1xuICAgICAgICAvLyBHZW5lcmF0ZSBhIG5ldyBQQVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9zZXR0aW5ncy90b2tlbnMvbmV3KSBhbmQgYWRkIGl0IHRvIHlvdXIgcmVwbydzIHNlY3JldHNcbiAgICAgICAgLy8gTk9URTogY29tZXMgZnJvbSBNVi1Db25zdWx0aW5nIE9yZ1xuICAgICAgICBzZWNyZXQ6ICdQUk9KRU5fR0lUSFVCX1RPS0VOJyxcbiAgICAgIH0sXG4gICAgICBkZXBlbmRhYm90OiB0cnVlLFxuICAgICAgZGVwZW5kYWJvdE9wdGlvbnM6IHtcbiAgICAgICAgc2NoZWR1bGVJbnRlcnZhbDogRGVwZW5kYWJvdFNjaGVkdWxlSW50ZXJ2YWwuV0VFS0xZLFxuICAgICAgICBsYWJlbHM6IFsnZGVwZW5kZW5jaWVzJywgJ2F1dG8tYXBwcm92ZSddLFxuICAgICAgICBncm91cHM6IHtcbiAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBwYXR0ZXJuczogWycqJ10sXG4gICAgICAgICAgICBleGNsdWRlUGF0dGVybnM6IFsnYXdzLWNkayonLCAncHJvamVuJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgaWdub3JlOiBbeyBkZXBlbmRlbmN5TmFtZTogJ2F3cy1jZGstbGliJyB9LCB7IGRlcGVuZGVuY3lOYW1lOiAnYXdzLWNkaycgfV0sXG4gICAgICB9LFxuICAgICAgLy8gLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZW4vcHJvamVuL2Rpc2N1c3Npb25zLzQwNDAjZGlzY3Vzc2lvbmNvbW1lbnQtMTE5MDU2MjhcbiAgICAgIHJlbGVhc2FibGVDb21taXRzOiBSZWxlYXNhYmxlQ29tbWl0cy5vZlR5cGUoW1xuICAgICAgICAnZmVhdCcsXG4gICAgICAgICdmaXgnLFxuICAgICAgICAnY2hvcmUnLFxuICAgICAgICAncmVmYWN0b3InLFxuICAgICAgICAncGVyZicsXG4gICAgICBdKSxcbiAgICAgIGdpdGh1Yk9wdGlvbnM6IHtcbiAgICAgICAgcHVsbFJlcXVlc3RMaW50T3B0aW9uczoge1xuICAgICAgICAgIHNlbWFudGljVGl0bGVPcHRpb25zOiB7XG4gICAgICAgICAgICAvLyBzZWUgY29tbWl0IHR5cGVzIGhlcmU6IGh0dHBzOi8vd3d3LmNvbnZlbnRpb25hbGNvbW1pdHMub3JnL2VuL3YxLjAuMC8jc3VtbWFyeVxuICAgICAgICAgICAgdHlwZXM6IFtcbiAgICAgICAgICAgICAgJ2ZlYXQnLFxuICAgICAgICAgICAgICAnZml4JyxcbiAgICAgICAgICAgICAgJ2Nob3JlJyxcbiAgICAgICAgICAgICAgJ3JlZmFjdG9yJyxcbiAgICAgICAgICAgICAgJ3BlcmYnLFxuICAgICAgICAgICAgICAnZG9jcycsXG4gICAgICAgICAgICAgICdzdHlsZScsXG4gICAgICAgICAgICAgICd0ZXN0JyxcbiAgICAgICAgICAgICAgJ2J1aWxkJyxcbiAgICAgICAgICAgICAgJ2NpJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB2ZXJzaW9ucmNPcHRpb25zOiB7XG4gICAgICAgIHR5cGVzOiBbXG4gICAgICAgICAgeyB0eXBlOiAnZmVhdCcsIHNlY3Rpb246ICdGZWF0dXJlcycgfSxcbiAgICAgICAgICB7IHR5cGU6ICdmaXgnLCBzZWN0aW9uOiAnQnVnIEZpeGVzJyB9LFxuICAgICAgICAgIHsgdHlwZTogJ2Nob3JlJywgc2VjdGlvbjogJ0Nob3JlcycgfSxcbiAgICAgICAgICB7IHR5cGU6ICdkb2NzJywgc2VjdGlvbjogJ0RvY3MnIH0sXG4gICAgICAgICAgeyB0eXBlOiAnc3R5bGUnLCBoaWRkZW46IHRydWUgfSxcbiAgICAgICAgICB7IHR5cGU6ICdyZWZhY3RvcicsIGhpZGRlbjogdHJ1ZSB9LFxuICAgICAgICAgIHsgdHlwZTogJ3BlcmYnLCBzZWN0aW9uOiAnUGVyZm9ybWFuY2UnIH0sXG4gICAgICAgICAgeyB0eXBlOiAndGVzdCcsIGhpZGRlbjogdHJ1ZSB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGVzbGludE9wdGlvbnM6IHtcbiAgICAgICAgcHJldHRpZXI6IGZhbHNlLFxuICAgICAgICBkaXJzOiBbJ3NyYyddLFxuICAgICAgICBpZ25vcmVQYXR0ZXJuczogWycqKi8qLWZ1bmN0aW9uLnRzJywgJ2V4YW1wbGVzLyddLFxuICAgICAgfSxcbiAgICAgIC8vIGV4cGVyaW1lbnRhbEludGVnUnVubmVyOiB0cnVlLFxuICAgICAgLy8gbWFudWFsIGludGVnIHRlc3Qgc2V0dXBcbiAgICAgIHRzY29uZmlnRGV2OiB7XG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge30sXG4gICAgICAgIGluY2x1ZGU6IFsnaW50ZWctdGVzdHMvKiovKi50cyddLFxuICAgICAgfSxcbiAgICAgIHB1bGxSZXF1ZXN0VGVtcGxhdGVDb250ZW50czogW2ZzLnJlYWRGaWxlU3luYyhgJHtiYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vZ2l0aHViX3B1bGxfcmVxdWVzdC5tZGApLnRvU3RyaW5nKCldLFxuICAgICAgLy8gTk9URTogaXNzdWUgdGVtcGxhdGVzIGFyZSBub3Qgc3VwcG9ydGVkIHlldC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZW4vcHJvamVuL3B1bGwvMzY0OFxuICAgICAgLy8gaXNzdWVUZW1wbGF0ZXM6IHt9XG4gICAgICByZWFkbWU6IHtcbiAgICAgICAgY29udGVudHM6IFtcbiAgICAgICAgICBgXG4hW1NvdXJjZV0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9naXRodWIvc3RhcnMvTVYtQ29uc3VsdGluZy8ke29wdGlvbnMubmFtZX0/bG9nbz1naXRodWImbGFiZWw9R2l0SHViJTIwU3RhcnMpXG5bIVtCdWlsZCBTdGF0dXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9NVi1Db25zdWx0aW5nLyR7b3B0aW9ucy5uYW1lfS9hY3Rpb25zL3dvcmtmbG93cy9idWlsZC55bWwvYmFkZ2Uuc3ZnKV0oaHR0cHM6Ly9naXRodWIuY29tL01WLUNvbnN1bHRpbmcvJHtvcHRpb25zLm5hbWV9L2FjdGlvbnMvd29ya2Zsb3dzL2J1aWxkLnltbClcblshW0VTTGludCBDb2RlIEZvcm1hdHRpbmddKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvY29kZV9zdHlsZS1lc2xpbnQtYnJpZ2h0Z3JlZW4uc3ZnKV0oaHR0cHM6Ly9lc2xpbnQub3JnKVxuWyFbTGF0ZXN0IHJlbGVhc2VdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL3JlbGVhc2UvTVYtQ29uc3VsdGluZy8ke29wdGlvbnMubmFtZX0uc3ZnKV0oaHR0cHM6Ly9naXRodWIuY29tL01WLUNvbnN1bHRpbmcvJHtvcHRpb25zLm5hbWV9L3JlbGVhc2VzKVxuIVtHaXRIdWJdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2xpY2Vuc2UvTVYtQ29uc3VsdGluZy8ke29wdGlvbnMubmFtZX0pXG5bIVtucG1dKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vbnBtL2R0L0BtYXZvZ2VsLyR7b3B0aW9ucy5uYW1lfT9sYWJlbD1ucG0mY29sb3I9b3JhbmdlKV0oaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvQG1hdm9nZWwvJHtvcHRpb25zLm5hbWV9KVxuWyFbdHlwZXNjcmlwdF0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9qc2lpLXR5cGVzY3JpcHQtYmx1ZXZpb2xldC5zdmcpXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9AbWF2b2dlbC8ke29wdGlvbnMubmFtZX0pXG4gICAgICAgICAgYCxcbiAgICAgICAgICBgIyAke29wdGlvbnMubmFtZX1gLFxuICAgICAgICAgICdNeSBhd2Vzb21lIGRlc2NyaXB0aW9uLi4uJyxcbiAgICAgICAgICBgXG4jIyBUYWJsZSBvZiBDb250ZW50c1xuXG4tIFtGZWF0dXJlc10oI2ZlYXR1cmVzKVxuLSBbVXNhZ2VdKCN1c2FnZSlcbi0gW1NvbHV0aW9uIERlc2lnbl0oI3NvbHV0aW9uLWRlc2lnbilcbi0gW0luc3BpcmF0aW9uXSgjaW5zcGlyYXRpb24pXG5cbiMjIEZlYXR1cmVzXG5cbi0g4pqhICoqUXVpY2sgU2V0dXAqKjogVEJEXG4tIPCfk48gKipCZXN0IFByYWN0aWNlIFNldHVwKio6IFRCRFxuLSDwn6S54oCN4pmC77iPICoqUHJlLWluc3RhbGxlZCBwYWNrYWdlcyoqOiBUQkRcbi0g8J+Pl++4jyAqKkV4dGVuc2liaWxpdHkqKjogVEJEXG5cbiMjIFVzYWdlXG5UaGUgZm9sbG93aW5nIHN0ZXBzIGdldCB5b3Ugc3RhcnRlZDpcblxuMS4gQ3JlYXRlIGEgbmV3IFxcYGF3c2Nkay1hcHBcXGAgdmlhXG5cXGBcXGBcXGBiYXNoXG5ucHggcHJvamVuIG5ldyBhd3NjZGstYXBwLXRzIC0tY2RrVmVyc2lvbj0yLjE3Ny4wIC0tcGFja2FnZS1tYW5hZ2VyPW5wbVxuXFxgXFxgXFxgXG4zLiBBZGQgXFxgQG1hdm9nZWwvJHtvcHRpb25zLm5hbWV9XFxgIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIHByb2plY3QgaW4gdGhlIFxcYC5wcm9qZW5yYy50c1xcYCBmaWxlXG40LiBSdW4gXFxgbnB4IHByb2plblxcYCB0byBpbnN0YWxsIGl0XG41LiBBZGQgdGhlIGZvbGxvd2luZyB0byB0aGUgXFxgc3JjL21haW4udHNcXGAgZmlsZTpcblxcYFxcYFxcYHRzXG5pbXBvcnQgeyBBcHAsIFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gJ0BtYXZvZ2VsLyR7b3B0aW9ucy5uYW1lfSc7XG5cbmV4cG9ydCBjbGFzcyBNeVN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhY2tQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBuZXcgUGxhY2Vob2xkZXIodGhpcywgJ3BsYWNlaG9sZGVyJywge1xuICAgICAgLy8gYW5kIG1vcmUuLi4g8J+SoVxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IGVudiA9IHtcbiAgYWNjb3VudDogJzEyMzQ1Njc4OTkxMicsXG4gIHJlZ2lvbjogJ2V1LWNlbnRyYWwtMScsXG59O1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5uZXcgTXlTdGFjayhhcHAsICdwbGFjZWhvbGRlcicsIHsgZW52IH0pO1xuYXBwLnN5bnRoKCk7XG5cXGBcXGBcXGBcblxuYW5kIGRlcGxveSBpdFxuXFxgXFxgXFxgYmFzaFxubnB4IHByb2plbiBidWlsZFxubnB4IHByb2plbiBkZXBsb3lcblxcYFxcYFxcYFxuXG53aXRoIHRoZSBvdXRwdXRcblxcYFxcYFxcYGNvbnNvbGVcblRCRFxuXFxgXFxgXFxgXG5cblNlZSB0aGUgW2V4YW1wbGVzXSguL2V4YW1wbGVzKSBmb2xkZXIgZm9yIG1vcmUgaW5zcGlyYXRpb24uXG5cbiMjIFNvbHV0aW9uIERlc2lnblxuXG48ZGV0YWlscz5cbiAgPHN1bW1hcnk+Li4uIGlmIHlvdSdyZSBjdXJpb3VzIGFib3V0IGNsaWNrIGhlcmUgZm9yIHRoZSBkZXRhaWxzPC9zdW1tYXJ5PlxuXG4hW3BsYWNlaG9sZGVyXShkb2NzL2ltZy9wbGFjZWhvbGRlci5kcmF3aW8tbWluLnBuZylcblxuPC9kZXRhaWxzPlxuXG4jIyBJbnNwaXJhdGlvblxuXG5hZGQgdG9vbHMgb3IgbGlua3Mgd2hpY2ggaW5zcGlyZWQgeW91XG4gICAgICAgICAgYCxcbiAgICAgICAgICBmcy5yZWFkRmlsZVN5bmMoYCR7YmFzZUFzc2V0c0RpcmVjdG9yeX0vY29tbW9uL2dpdGh1Yl9yZWFkbWVfY3RhLm1kYCkudG9TdHJpbmcoKSxcbiAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgIH0sXG4gICAgICAvLyBOT1RFOiBrZWVwIGFsbCB0aGUgcGFzc2VkIGluIG9wdGlvbnMgd2hpY2ggY2FuIG92ZXJyaWRlIHRoZSBleGlzdGluZyBvbmVzIVxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIC8vIGdpdGlnbm9yZVxuICAgIGNvbnN0IGZpbGVzUGF0dGVyblRvR2l0aWdub3JlID0gW1xuICAgICAgJ3RtcCcsXG4gICAgICAnLmNvZGVncHQnLFxuICAgIF07XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzUGF0dGVyblRvR2l0aWdub3JlKSB7XG4gICAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKGZpbGUpO1xuICAgIH1cbiAgICB0aGlzLmFkZERlcHMoXG4gICAgICAnY2RrLW5hZ0BeMi4zNy41NScsXG4gICAgKTtcbiAgICAvLyBDYXAgaW50ZWctcnVubmVyIGF0IExBU1RfSU5URUdfUlVOTkVSX1ZFUlNJT04gc2luY2UgaXQgc3RvcHBlZCBwdWJsaXNoaW5nIGFmdGVyIHRoYXQgdmVyc2lvbi5cbiAgICAvLyBpbnRlZy1ydW5uZXIgdXNlcyBwbGFpbiB2ZXJzaW9ucyAobm8gLWFscGhhLjAgc3VmZml4KS5cbiAgICAvLyBpbnRlZy10ZXN0cy1hbHBoYSBhbmQgYXdzbGludCBjb250aW51ZSB0byBwdWJsaXNoIGFuZCB0cmFjayBDREsgdmVyc2lvbnMgd2l0aCAtYWxwaGEuMCBzdWZmaXguXG4gICAgY29uc3QgcmF3Q2RrVmVyc2lvbiA9IHRoaXMuY2RrVmVyc2lvbi5yZXBsYWNlKC9bXFxefl0vLCAnJyk7XG4gICAgY29uc3QgaW50ZWdSdW5uZXJWZXJzaW9uID0gcmF3Q2RrVmVyc2lvbi5sb2NhbGVDb21wYXJlKExBU1RfSU5URUdfUlVOTkVSX1ZFUlNJT04sIHVuZGVmaW5lZCwgeyBudW1lcmljOiB0cnVlLCBzZW5zaXRpdml0eTogJ2Jhc2UnIH0pID4gMFxuICAgICAgPyBMQVNUX0lOVEVHX1JVTk5FUl9WRVJTSU9OXG4gICAgICA6IHJhd0Nka1ZlcnNpb247XG4gICAgdGhpcy5hZGREZXZEZXBzKFxuICAgICAgYEBhd3MtY2RrL2ludGVnLXJ1bm5lckAke2ludGVnUnVubmVyVmVyc2lvbn1gLFxuICAgICAgYEBhd3MtY2RrL2ludGVnLXRlc3RzLWFscGhhQCR7cmF3Q2RrVmVyc2lvbn0tYWxwaGEuMGAsXG4gICAgICAnQGNvbW1pdGxpbnQvY2xpQF4yMC4xLjAnLFxuICAgICAgJ0Bjb21taXRsaW50L2NvbmZpZy1jb252ZW50aW9uYWxAXjIwLjAuMCcsXG4gICAgICBgYXdzbGludEAke3Jhd0Nka1ZlcnNpb259LWFscGhhLjBgLFxuICAgICAgJ2h1c2t5QF45LjEuNycsXG4gICAgKTtcblxuICAgIHRoaXMucGFja2FnZS5zZXRTY3JpcHQoJ3ByZXBhcmUnLCAnaHVza3knKTtcbiAgICBuZXcgVGV4dEZpbGUodGhpcywgJy5jb21taXRsaW50cmMuanMnLCB7XG4gICAgICBsaW5lczogW1xuICAgICAgICAnbW9kdWxlLmV4cG9ydHMgPSB7IGV4dGVuZHM6IFtcXCdAY29tbWl0bGludC9jb25maWctY29udmVudGlvbmFsXFwnXSB9OycsXG4gICAgICBdLFxuICAgICAgbWFya2VyOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wYWNrYWdlLnNldFNjcmlwdCgnYXdzbGludCcsICdhd3NsaW50Jyk7XG4gICAgLy8gLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueW1sXG4gICAgY29uc3QgYnVpbGRXb3JrZmxvdyA9IHRoaXMuZ2l0aHViPy50cnlGaW5kV29ya2Zsb3coJ2J1aWxkJyk7XG4gICAgaWYgKCFidWlsZFdvcmtmbG93KSByZXR1cm47XG4gICAgY29uc3QgYnVpbGRKb2IgPSBidWlsZFdvcmtmbG93LmdldEpvYignYnVpbGQnKTtcbiAgICBpZiAoIWJ1aWxkSm9iIHx8ICEoJ3N0ZXBzJyBpbiBidWlsZEpvYikpIHJldHVybjtcbiAgICAvLyBUT0RPOiBmaWd1cmUgb3V0IHdoeSB3cm9uZyB0eXBlc1xuICAgIGNvbnN0IGdldEJ1aWxkU3RlcHMgPSBidWlsZEpvYi5zdGVwcyBhcyB1bmtub3duIGFzICgpID0+IEpvYlN0ZXBbXTtcbiAgICBjb25zdCBidWlsZEpvYlN0ZXBzID0gZ2V0QnVpbGRTdGVwcygpO1xuICAgIGJ1aWxkV29ya2Zsb3cudXBkYXRlSm9iKCdidWlsZCcsIHtcbiAgICAgIC4uLmJ1aWxkSm9iLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4uYnVpbGRKb2JTdGVwcy5zbGljZSgwLCA0KSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdSdW4gYXdzbGludCcsXG4gICAgICAgICAgcnVuOiAnbnBtIHJ1biBhd3NsaW50JyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uYnVpbGRKb2JTdGVwcy5zbGljZSg0KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBhY2thZ2Uuc2V0U2NyaXB0KFxuICAgICAgJ2ludGVnLXRlc3QnLFxuICAgICAgYGludGVnLXJ1bm5lciAtLWRpcmVjdG9yeSAuL2ludGVnLXRlc3RzICR7aW50ZWdUZXN0UmVnaW9ucz8ubWFwKHJlZ2lvbiA9PiBgLS1wYXJhbGxlbC1yZWdpb25zICR7cmVnaW9ufWApLmpvaW4oJyAnKX0gLS11cGRhdGUtb24tZmFpbGVkYCxcbiAgICApO1xuXG4gICAgbmV3IFRleHRGaWxlKHRoaXMsICcuZ2l0aHViL0lTU1VFX1RFTVBMQVRFL2J1Z19yZXBvcnQubWQnLCB7XG4gICAgICBsaW5lczogW2ZzLnJlYWRGaWxlU3luYyhgJHtiYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vZ2l0aHViX2J1Z19yZXBvcnQubWRgKS50b1N0cmluZygpXSxcbiAgICB9KTtcblxuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCAnLmdpdGh1Yi9JU1NVRV9URU1QTEFURS9mZWF0dXJlX3JlcXVlc3QubWQnLCB7XG4gICAgICBsaW5lczogW2ZzLnJlYWRGaWxlU3luYyhgJHtiYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vZ2l0aHViX2ZlYXR1cmVfcmVxdWVzdC5tZGApLnRvU3RyaW5nKCldLFxuICAgIH0pO1xuXG4gICAgbmV3IFlhbWxGaWxlKHRoaXMsICcuZ2l0aHViL0ZVTkRJTkcueWFtbCcsIHtcbiAgICAgIG9iajoge1xuICAgICAgICBnaXRodWI6ICdtYXZvZ2VsJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBuZXcgVGV4dEZpbGUodGhpcywgJ0NPTlRSSUJVVElORy5tZCcsIHtcbiAgICAgIGxpbmVzOiBbZnMucmVhZEZpbGVTeW5jKGAke2Jhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9jb250cmlidXRpbmcubWRgKS50b1N0cmluZygpXSxcbiAgICB9KTtcblxuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCAnLnByZXR0aWVycmMnLCB7XG4gICAgICBsaW5lczogW2ZzLnJlYWRGaWxlU3luYyhgJHtiYXNlQXNzZXRzRGlyZWN0b3J5fS9jb21tb24vcHJldHRpZXJyY2ApLnRvU3RyaW5nKCldLFxuICAgIH0pO1xuXG4gICAgLy8gd3JpdGUgc2FtcGxlIGNvZGUgdG8gbWFpbi50cyAmIHRvIG1haW4udGVzdC50c1xuICAgIGlmIChvcHRpb25zLnNhbXBsZUNvZGUgPz8gdHJ1ZSkge1xuICAgICAgbmV3IFNhbXBsZUNvZGUodGhpcywge1xuICAgICAgICBiYXNlQXNzZXRzRGlyZWN0b3J5LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBTYW1wbGVDb2RlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGJhc2VBc3NldHNEaXJlY3Rvcnk/OiBzdHJpbmc7XG59XG5cbmNsYXNzIFNhbXBsZUNvZGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGxpYnJhcnk6IEF3c0Nka0NvbnN0cnVjdExpYnJhcnk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogU2FtcGxlQ29kZU9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbGlicmFyeTogQXdzQ2RrQ29uc3RydWN0TGlicmFyeSxcbiAgICBvcHRpb25zOiBTYW1wbGVDb2RlT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIobGlicmFyeSk7XG4gICAgdGhpcy5saWJyYXJ5ID0gbGlicmFyeTtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgcHVibGljIHN5bnRoZXNpemUoKSB7XG4gICAgY29uc3Qgb3V0ZGlyID0gdGhpcy5wcm9qZWN0Lm91dGRpcjtcbiAgICBjb25zdCBzcmNkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCB0aGlzLmxpYnJhcnkuc3JjZGlyKTtcbiAgICBpZiAoXG4gICAgICBmcy5leGlzdHNTeW5jKHNyY2RpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKHNyY2RpcikuZmlsdGVyKCh4KSA9PiB4LmVuZHNXaXRoKCcudHMnKSkgJiZcbiAgICAgICFmcy5yZWFkRmlsZVN5bmMoYCR7c3JjZGlyfS9pbmRleC50c2ApLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ2V4cG9ydCBjbGFzcyBIZWxsbycpIC8vIE5vdGU6IGZyb20gcGFyZW50XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZnMubWtkaXJTeW5jKHNyY2RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oc3JjZGlyLCAnaW5kZXgudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L3NyY19pbmRleC50c2ApLnRvU3RyaW5nKCkpO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHNyY2RpciwgJ3BsYWNlaG9sZGVyLnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC9zcmNfcGxhY2Vob2xkZXIudHNgKS50b1N0cmluZygpKTtcbiAgICAvLyBjcmQgd2l0aCBsYW1iZGEgZ2VuZXJhdGlvblxuICAgIGZzLm1rZGlyU3luYyhgJHtzcmNkaXJ9L2NyZC1leGFtcGxlYCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oYCR7c3JjZGlyfS9jcmQtZXhhbXBsZWAsICdjcmQtZXhhbXBsZS50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3Qvc3JjX2NyZC1leGFtcGxlLnRzYCkudG9TdHJpbmcoKSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oYCR7c3JjZGlyfS9jcmQtZXhhbXBsZWAsICdjcmQtZXhhbXBsZS5sYW1iZGEudHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L3NyY19jcmQtZXhhbXBsZS5sYW1iZGEudHNgKS50b1N0cmluZygpKTtcblxuXG4gICAgY29uc3QgdGVzdGRpciA9IHBhdGguam9pbihvdXRkaXIsIHRoaXMubGlicmFyeS50ZXN0ZGlyKTtcbiAgICBpZiAoXG4gICAgICBmcy5leGlzdHNTeW5jKHRlc3RkaXIpICYmXG4gICAgICBmcy5yZWFkZGlyU3luYyh0ZXN0ZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoJy50cycpKSAmJlxuICAgICAgIWZzLmV4aXN0c1N5bmMoYCR7dGVzdGRpcn0vaGVsbG8udGVzdC50c2ApIC8vIE5vdGU6IGZyb20gcGFyZW50XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIHJlbW92ZSAke3Rlc3RkaXJ9L2hlbGxvLnRlc3QudHMgZmlsZS4gT24gdGhlIG90aGVyIGhhbmQsIHdlIG92ZXJyaWRlIGluZGV4LnRzXG4gICAgZnMudW5saW5rU3luYyhgJHt0ZXN0ZGlyfS9oZWxsby50ZXN0LnRzYCk7XG4gICAgZnMubWtkaXJTeW5jKHRlc3RkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHRlc3RkaXIsICdpbmRleC50ZXN0LnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC90ZXN0X2luZGV4LnRlc3QudHNgKS50b1N0cmluZygpKTtcbiAgICAvLyBsYW1iZGEgdGVzdHMgd2l0aCBqZXN0IHN0dWJzXG4gICAgZnMubWtkaXJTeW5jKGAke3Rlc3RkaXJ9L2NyZC1leGFtcGxlYCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oYCR7dGVzdGRpcn0vY3JkLWV4YW1wbGVgLCAnY3JkLWV4YW1wbGUudGVzdC50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3QvdGVzdF9jcmQtZXhhbXBsZS50ZXN0LnRzYCkudG9TdHJpbmcoKSk7XG5cblxuICAgIGNvbnN0IGludGVnVGVzdGRpciA9IHBhdGguam9pbihvdXRkaXIsICdpbnRlZy10ZXN0cycpO1xuICAgIGlmIChcbiAgICAgIGZzLmV4aXN0c1N5bmMoaW50ZWdUZXN0ZGlyKSAmJlxuICAgICAgZnMucmVhZGRpclN5bmMoaW50ZWdUZXN0ZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoJy50cycpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmcy5ta2RpclN5bmMoaW50ZWdUZXN0ZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihpbnRlZ1Rlc3RkaXIsICdpbnRlZy5wbGFjZWhvbGRlci50cycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2Nkay1jb25zdHJ1Y3QvaW50ZWdfaW50ZWcucGxhY2Vob2xkZXIudHNgKS50b1N0cmluZygpKTtcblxuICAgIGNvbnN0IGludGVnVGVzdEZ1bmN0aW9uc2RpciA9IHBhdGguam9pbihpbnRlZ1Rlc3RkaXIsICdmdW5jdGlvbnMnKTtcbiAgICBpZiAoXG4gICAgICBmcy5leGlzdHNTeW5jKGludGVnVGVzdEZ1bmN0aW9uc2RpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKGludGVnVGVzdEZ1bmN0aW9uc2RpcikuZmlsdGVyKCh4KSA9PiB4LmVuZHNXaXRoKCcudHMnKSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZnMubWtkaXJTeW5jKGludGVnVGVzdEZ1bmN0aW9uc2RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oaW50ZWdUZXN0RnVuY3Rpb25zZGlyLCAndGVzdC1oYW5kbGVyLnRzJyksIGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLm9wdGlvbnMuYmFzZUFzc2V0c0RpcmVjdG9yeX0vY2RrLWNvbnN0cnVjdC9pbnRlZ190ZXN0LWhhbmRsZXIudHNgKS50b1N0cmluZygpKTtcblxuICAgIGNvbnN0IGRvY3NkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCAnZG9jcycpO1xuICAgIGlmIChcbiAgICAgIGZzLmV4aXN0c1N5bmMoZG9jc2RpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKGRvY3NkaXIpLmZpbHRlcigoeCkgPT4geC5lbmRzV2l0aCgnLmRyYXdpbycpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmcy5ta2RpclN5bmMoZG9jc2RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oZG9jc2RpciwgJ3BsYWNlaG9sZGVyLmRyYXdpbycpLCBmcy5yZWFkRmlsZVN5bmMoYCR7dGhpcy5vcHRpb25zLmJhc2VBc3NldHNEaXJlY3Rvcnl9L2NvbW1vbi9kb2NzX3BsYWNlaG9sZGVyLmRyYXdpb2ApLnRvU3RyaW5nKCkpO1xuXG4gICAgY29uc3QgZXhhbXBsZXNkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCAnZXhhbXBsZXMnLCAnc2ltcGxlJyk7XG4gICAgaWYgKFxuICAgICAgZnMuZXhpc3RzU3luYyhleGFtcGxlc2RpcikgJiZcbiAgICAgIGZzLnJlYWRkaXJTeW5jKGV4YW1wbGVzZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoJy5kcmF3aW8nKSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZnMubWtkaXJTeW5jKGV4YW1wbGVzZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihleGFtcGxlc2RpciwgJ21haW4udHMnKSwgZnMucmVhZEZpbGVTeW5jKGAke3RoaXMub3B0aW9ucy5iYXNlQXNzZXRzRGlyZWN0b3J5fS9jZGstY29uc3RydWN0L2V4YW1wbGVzX3NpbXBsZV9tYWluLnRzYCkudG9TdHJpbmcoKSk7XG4gIH1cbn0iXX0=
|
|
@@ -13,7 +13,7 @@ import (
|
|
|
13
13
|
projen "github.com/projen/projen-go/projen/jsii"
|
|
14
14
|
)
|
|
15
15
|
|
|
16
|
-
//go:embed mavogel-mvc-projen-0.0.
|
|
16
|
+
//go:embed mavogel-mvc-projen-0.0.15.tgz
|
|
17
17
|
var tarball []byte
|
|
18
18
|
|
|
19
19
|
// Initialize loads the necessary packages in the @jsii/kernel to support the enclosing module.
|
|
@@ -24,5 +24,5 @@ func Initialize() {
|
|
|
24
24
|
projen.Initialize()
|
|
25
25
|
|
|
26
26
|
// Load this library into the kernel
|
|
27
|
-
_jsii_.Load("@mavogel/mvc-projen", "0.0.
|
|
27
|
+
_jsii_.Load("@mavogel/mvc-projen", "0.0.15", tarball)
|
|
28
28
|
}
|
package/mavogelmvcprojen/version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.15
|