deployable-awscdk-app-ts 0.1.783 → 0.1.784

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 CHANGED
@@ -421,7 +421,7 @@
421
421
  },
422
422
  "locationInModule": {
423
423
  "filename": "src/index.ts",
424
- "line": 30
424
+ "line": 69
425
425
  },
426
426
  "parameters": [
427
427
  {
@@ -438,6 +438,27 @@
438
438
  "line": 12
439
439
  },
440
440
  "methods": [
441
+ {
442
+ "docs": {
443
+ "returns": "void",
444
+ "stability": "stable",
445
+ "summary": "If the diff output is enabled, adds a script and a job step to generate the CDK diff output to a file in cdk.out."
446
+ },
447
+ "locationInModule": {
448
+ "filename": "src/index.ts",
449
+ "line": 18
450
+ },
451
+ "name": "addDiffOutputScript",
452
+ "parameters": [
453
+ {
454
+ "name": "project",
455
+ "type": {
456
+ "fqn": "projen.awscdk.AwsCdkTypeScriptApp"
457
+ }
458
+ }
459
+ ],
460
+ "static": true
461
+ },
441
462
  {
442
463
  "docs": {
443
464
  "stability": "stable",
@@ -445,7 +466,7 @@
445
466
  },
446
467
  "locationInModule": {
447
468
  "filename": "src/index.ts",
448
- "line": 164
469
+ "line": 172
449
470
  },
450
471
  "name": "addEnvironments",
451
472
  "parameters": [
@@ -470,7 +491,7 @@
470
491
  },
471
492
  "locationInModule": {
472
493
  "filename": "src/index.ts",
473
- "line": 146
494
+ "line": 154
474
495
  },
475
496
  "name": "synth",
476
497
  "overrides": "projen.Project"
@@ -482,7 +503,7 @@
482
503
  },
483
504
  "locationInModule": {
484
505
  "filename": "src/index.ts",
485
- "line": 228
506
+ "line": 236
486
507
  },
487
508
  "name": "updateEnvironmentDeploymentDependencies",
488
509
  "parameters": [
@@ -514,7 +535,7 @@
514
535
  },
515
536
  "locationInModule": {
516
537
  "filename": "src/index.ts",
517
- "line": 180
538
+ "line": 188
518
539
  },
519
540
  "name": "updatePostDeployWorkflowScriptToEnvironments",
520
541
  "parameters": [
@@ -551,7 +572,7 @@
551
572
  },
552
573
  "locationInModule": {
553
574
  "filename": "src/index.ts",
554
- "line": 197
575
+ "line": 205
555
576
  },
556
577
  "name": "updatePreDeployWorkflowScriptToEnvironments",
557
578
  "parameters": [
@@ -592,7 +613,7 @@
592
613
  "immutable": true,
593
614
  "locationInModule": {
594
615
  "filename": "src/index.ts",
595
- "line": 17
616
+ "line": 56
596
617
  },
597
618
  "name": "deployWorkflowTask",
598
619
  "type": {
@@ -608,7 +629,7 @@
608
629
  "immutable": true,
609
630
  "locationInModule": {
610
631
  "filename": "src/index.ts",
611
- "line": 74
632
+ "line": 113
612
633
  },
613
634
  "name": "majorNodeVersion",
614
635
  "type": {
@@ -621,7 +642,7 @@
621
642
  },
622
643
  "locationInModule": {
623
644
  "filename": "src/index.ts",
624
- "line": 27
645
+ "line": 66
625
646
  },
626
647
  "name": "deployOptions",
627
648
  "protected": true,
@@ -635,7 +656,7 @@
635
656
  },
636
657
  "locationInModule": {
637
658
  "filename": "src/index.ts",
638
- "line": 28
659
+ "line": 67
639
660
  },
640
661
  "name": "environmentDependencies",
641
662
  "optional": true,
@@ -1967,6 +1988,6 @@
1967
1988
  "symbolId": "src/types:EnvironmentOptions"
1968
1989
  }
1969
1990
  },
1970
- "version": "0.1.783",
1971
- "fingerprint": "z6s1A8NPcw9hnMmzmqDCX/TWY4km1RQey8ZVxNfAosc="
1991
+ "version": "0.1.784",
1992
+ "fingerprint": "+VlPHZqpVjiU2RA8ohpUA2uZua3PjC63pd2PyyOazYE="
1972
1993
  }
package/API.md CHANGED
@@ -708,6 +708,7 @@ the name of environments to add the scripts to, if not provided or empty will up
708
708
  | <code><a href="#deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
709
709
  | <code><a href="#deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp.isProject">isProject</a></code> | Test whether the given construct is a project. |
710
710
  | <code><a href="#deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp.of">of</a></code> | Find the closest ancestor project for given construct. |
711
+ | <code><a href="#deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp.addDiffOutputScript">addDiffOutputScript</a></code> | If the diff output is enabled, adds a script and a job step to generate the CDK diff output to a file in cdk.out. |
711
712
 
712
713
  ---
713
714
 
@@ -777,6 +778,22 @@ When given a project, this it the project itself.
777
778
 
778
779
  ---
779
780
 
781
+ ##### `addDiffOutputScript` <a name="addDiffOutputScript" id="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp.addDiffOutputScript"></a>
782
+
783
+ ```typescript
784
+ import { DeployableAwsCdkTypeScriptApp } from 'deployable-awscdk-app-ts'
785
+
786
+ DeployableAwsCdkTypeScriptApp.addDiffOutputScript(project: AwsCdkTypeScriptApp)
787
+ ```
788
+
789
+ If the diff output is enabled, adds a script and a job step to generate the CDK diff output to a file in cdk.out.
790
+
791
+ ###### `project`<sup>Required</sup> <a name="project" id="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp.addDiffOutputScript.parameter.project"></a>
792
+
793
+ - *Type:* projen.awscdk.AwsCdkTypeScriptApp
794
+
795
+ ---
796
+
780
797
  #### Properties <a name="Properties" id="Properties"></a>
781
798
 
782
799
  | **Name** | **Type** | **Description** |
package/lib/index.d.ts CHANGED
@@ -4,6 +4,11 @@ export * from './types';
4
4
  export * as utils from './utils';
5
5
  export * from './steps';
6
6
  export declare class DeployableAwsCdkTypeScriptApp extends awscdk.AwsCdkTypeScriptApp {
7
+ /**
8
+ * If the diff output is enabled, adds a script and a job step to generate the CDK diff output to a file in cdk.out
9
+ * @returns void
10
+ */
11
+ static addDiffOutputScript(project: awscdk.AwsCdkTypeScriptApp): void;
7
12
  /**
8
13
  * Task to deploy your app.
9
14
  */
package/lib/index.js CHANGED
@@ -26,6 +26,38 @@ __exportStar(require("./types"), exports);
26
26
  exports.utils = require("./utils");
27
27
  __exportStar(require("./steps"), exports);
28
28
  class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp {
29
+ /**
30
+ * If the diff output is enabled, adds a script and a job step to generate the CDK diff output to a file in cdk.out
31
+ * @returns void
32
+ */
33
+ static addDiffOutputScript(project) {
34
+ project.addDevDeps('@aws-cdk/toolkit-lib', '@aws-cdk/cloudformation-diff');
35
+ const filePath = path.posix.join('scripts', 'generateDiffOutput.ts');
36
+ const sourceCode = new projen_1.SourceCode(project, filePath);
37
+ sourceCode.line("import {createWriteStream} from 'fs'");
38
+ sourceCode.line("import {formatDifferences} from '@aws-cdk/cloudformation-diff';");
39
+ sourceCode.line("import {Toolkit} from '@aws-cdk/toolkit-lib';");
40
+ sourceCode.line('');
41
+ sourceCode.line('const cdk = new Toolkit({});');
42
+ sourceCode.line('');
43
+ sourceCode.open('async function main() {');
44
+ sourceCode.line(`const cx = await cdk.fromCdkApp('ts-node-transpile-only ${path.posix.join(project.srcdir, project.appEntrypoint)}');`);
45
+ sourceCode.line('const diffs = await cdk.diff(cx, {});');
46
+ sourceCode.line("const stream = createWriteStream('./cdk.out/diff.log');");
47
+ sourceCode.open('Object.entries(diffs).forEach(([stackName, diff]) => {');
48
+ sourceCode.line('stream.write(`Difference for stack ${stackName}:\\n`);');
49
+ sourceCode.line('formatDifferences(stream, diff);');
50
+ sourceCode.close('});');
51
+ sourceCode.close('}');
52
+ sourceCode.line('');
53
+ sourceCode.open('main().catch((err) => {');
54
+ sourceCode.line('console.error(err);');
55
+ sourceCode.line('process.exit(1);');
56
+ sourceCode.close('});');
57
+ project.addTask('diff:output', {
58
+ exec: `ts-node --transpile-only ${filePath}`,
59
+ });
60
+ }
29
61
  constructor(options) {
30
62
  const deployable = options.release ?? true;
31
63
  super({
@@ -84,32 +116,7 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
84
116
  if (!this.diffOutputOptions.enable) {
85
117
  return;
86
118
  }
87
- this.addDevDeps('@aws-cdk/toolkit-lib', '@aws-cdk/cloudformation-diff');
88
- const filePath = path.posix.join('scripts', 'generateDiffOutput.ts');
89
- const sourceCode = new projen_1.SourceCode(this, filePath);
90
- sourceCode.line("import {createWriteStream} from 'fs'");
91
- sourceCode.line("import {formatDifferences} from '@aws-cdk/cloudformation-diff';");
92
- sourceCode.line("import {Toolkit} from '@aws-cdk/toolkit-lib';");
93
- sourceCode.line('');
94
- sourceCode.line('const cdk = new Toolkit({});');
95
- sourceCode.line('');
96
- sourceCode.open('async function main() {');
97
- sourceCode.line(`const cx = await cdk.fromCdkApp('ts-node-transpile-only ${path.posix.join(this.srcdir, this.appEntrypoint)}');`);
98
- sourceCode.line('const diffs = await cdk.diff(cx, {});');
99
- sourceCode.line("const stream = createWriteStream('./cdk.out/diff.log');");
100
- sourceCode.open('Object.entries(diffs).forEach(([stackName, diff]) => {');
101
- sourceCode.line('stream.write(`Difference for stack ${stackName}:\\n`);');
102
- sourceCode.line('formatDifferences(stream, diff);');
103
- sourceCode.close('});');
104
- sourceCode.close('}');
105
- sourceCode.line('');
106
- sourceCode.open('main().catch((err) => {');
107
- sourceCode.line('console.error(err);');
108
- sourceCode.line('process.exit(1);');
109
- sourceCode.close('});');
110
- this.addTask('diff:output', {
111
- exec: `ts-node --transpile-only ${filePath}`,
112
- });
119
+ DeployableAwsCdkTypeScriptApp.addDiffOutputScript(this);
113
120
  }
114
121
  /**
115
122
  * If the diff output is enabled with annotation, adds the diff output generation step and the annotation steps to the build jobs
@@ -215,5 +222,5 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
215
222
  }
216
223
  exports.DeployableAwsCdkTypeScriptApp = DeployableAwsCdkTypeScriptApp;
217
224
  _a = JSII_RTTI_SYMBOL_1;
218
- DeployableAwsCdkTypeScriptApp[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp", version: "0.1.783" };
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUE2QjtBQUM3QixtQ0FBNEQ7QUFFNUQsbUNBQW9FO0FBQ3BFLG1DQUF3TTtBQUN4TSxtQ0FBOEM7QUFFOUMsMENBQXdCO0FBQ3hCLG1DQUFpQztBQUNqQywwQ0FBd0I7QUFFeEIsTUFBYSw2QkFBOEIsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBa0IzRSxZQUFZLE9BQTZDO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDO1FBQzNDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLE9BQU8sRUFBRSxVQUFVO1NBQ3BCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFDbkQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxLQUFLLENBQUM7UUFDcEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUN2RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUkseUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQ3BGLElBQUksQ0FBQyxpQkFBaUIsR0FBRztZQUN2QixNQUFNLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksS0FBSztZQUMzQyxlQUFlLEVBQUUs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QztJQUMzQyxDQUFDO0lBRU8sYUFBYTtRQUVuQixNQUFNLFdBQVcsR0FBRyxJQUFJLGlEQUF5QyxDQUFDLElBQUksRUFBRTtZQUN0RSxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFlBQVk7WUFDcEQscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtZQUNqRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUI7WUFDMUQsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0I7WUFDN0QsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDbkMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtTQUN0RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLHVDQUF1QyxDQUFDLHVCQUEwRDtRQUN2RyxpREFBeUMsQ0FBQyx5Q0FBeUMsQ0FDakYsSUFBSSxDQUFDLGFBQWEsRUFDbEIsdUJBQXVCLENBQ3hCLENBQUM7UUFFRixJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDekQsQ0FBQzs7QUEvTkgsc0VBZ09DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGF3c2NkaywgU291cmNlQ29kZSwgVGFzaywgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ29kZUFydGlmYWN0T3B0aW9ucyB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5pbXBvcnQgeyBEZXBsb3lhYmxlQXdzQ2RrVHlwZVNjcmlwdEFwcFN0ZXBzRmFjdG9yeSB9IGZyb20gJy4vc3RlcHMnO1xuaW1wb3J0IHsgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBEaWZmT3V0cHV0T3B0aW9ucywgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zLCBEZXBsb3lKb2JTdHJhdGVneSwgRGVwbG95T3B0aW9ucywgRW52aXJvbm1lbnREZXBsb3ltZW50RGVwZW5kZW5jaWVzLCBFbnZpcm9ubWVudE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldE1ham9yTm9kZVZlcnNpb24gfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RlcHMnO1xuXG5leHBvcnQgY2xhc3MgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHAgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG5cbiAgLyoqXG4gICAqIFRhc2sgdG8gZGVwbG95IHlvdXIgYXBwLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlcGxveVdvcmtmbG93VGFzazogVGFzaztcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlcGxveWFibGU6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgZ2VuZXJhdGVOdm1yYzogYm9vbGVhbjtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGVja0FjdGl2ZURlcGxveW1lbnQ6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb2RlQXJ0aWZhY3RPcHRpb25zPzogQ29kZUFydGlmYWN0T3B0aW9ucztcbiAgcHJpdmF0ZSByZWFkb25seSBkZXBsb3lKb2JTdHJhdGVneTogRGVwbG95Sm9iU3RyYXRlZ3k7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlmZk91dHB1dE9wdGlvbnM6IERlcGxveWFibGVBd3NDZGtUeXBlU2NyaXB0QXBwRGlmZk91dHB1dE9wdGlvbnM7XG5cbiAgcHJvdGVjdGVkIGRlcGxveU9wdGlvbnM6IERlcGxveU9wdGlvbnM7XG4gIHByb3RlY3RlZCBlbnZpcm9ubWVudERlcGVuZGVuY2llczogRW52aXJvbm1lbnREZXBsb3ltZW50RGVwZW5kZW5jaWVzIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IERlcGxveWFibGVBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucykge1xuICAgIGNvbnN0IGRlcGxveWFibGUgPSBvcHRpb25zLnJlbGVhc2UgPz8gdHJ1ZTtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgcmVsZWFzZTogZGVwbG95YWJsZSxcbiAgICB9KTtcbiAgICB0aGlzLmRlcGxveWFibGUgPSBkZXBsb3lhYmxlO1xuICAgIHRoaXMuZ2VuZXJhdGVOdm1yYyA9IG9wdGlvbnMuZ2VuZXJhdGVOdm1yYyA/PyB0cnVlO1xuICAgIHRoaXMuY2hlY2tBY3RpdmVEZXBsb3ltZW50ID0gb3B0aW9ucy5jaGVja0FjdGl2ZURlcGxveW1lbnQgPz8gZmFsc2U7XG4gICAgdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uO1xuICAgIHRoaXMuZGVwbG95T3B0aW9ucyA9IG9wdGlvbnMuZGVwbG95T3B0aW9ucyA/PyB7IGVudmlyb25tZW50czogW10gfTtcbiAgICB0aGlzLmNvZGVBcnRpZmFjdE9wdGlvbnMgPSBvcHRpb25zLmNvZGVBcnRpZmFjdE9wdGlvbnM7XG4gICAgdGhpcy5kZXBsb3lKb2JTdHJhdGVneSA9IHRoaXMuZGVwbG95T3B0aW9ucy5qb2JTdHJhdGVneSA/PyBEZXBsb3lKb2JTdHJhdGVneS5NQVRSSVg7XG4gICAgdGhpcy5kaWZmT3V0cHV0T3B0aW9ucyA9IHtcbiAgICAgIGVuYWJsZTogb3B0aW9ucy5kaWZmT3V0cHV0Py5lbmFibGUgPz8gZmFsc2UsXG4gICAgICBhbm5vdGF0ZU9uQnVpbGQ6IChvcHRpb25zLmRpZmZPdXRwdXQ/LmFubm90YXRlT25CdWlsZCA/PyBvcHRpb25zLmRpZmZPdXRwdXQ/LmVuYWJsZSA/PyBmYWxzZSksXG4gICAgfTtcblxuICAgIHRoaXMuYWRkRGV2RGVwcygnZGVwbG95YWJsZS1hd3NjZGstYXBwLXRzJyk7XG4gICAgdGhpcy5hZGREaWZmT3V0cHV0U2NyaXB0KCk7XG5cbiAgICBpZiAoIWRlcGxveWFibGUpIHt0aGlzLmxvZ2dlci53YXJuKCdUaGUgcHJvamVjdCBpcyBleHBsaWNpdGx5IHNldCB0byBub3QgcmVsZWFzZSwgbWFrZSBzdXJlIHRoaXMgaXMgZGVzaXJlZCBzZXR0aW5nJyk7fVxuXG4gICAgaWYgKHRoaXMuZ2VuZXJhdGVOdm1yYyAmJiAhdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uKSB7dGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gJzE0LjE4LjEnO31cblxuICAgIGlmICh0aGlzLmRlcGxveU9wdGlvbnMubnBtQ29uZmlnRW52aXJvbm1lbnQgJiYgdGhpcy5tYWpvck5vZGVWZXJzaW9uID49IDE4KSB7dGhyb3cgbmV3IEVycm9yKGBucG1Db25maWdFbnZpcm9ubWVudCBpcyBub3Qgc3VwcG9ydGVkIGZvciBub2RlIHZlcnNpb25zIGFib3ZlIHZlcnNpb24gMTguIEN1cnJlbnQgdmVyc2lvbiBpcyAke3RoaXMubm9kZVZlcnNpb259YCk7fVxuXG4gICAgY29uc3QgZGVwbG95QXJndW1lbnQgPSB0aGlzLmRlcGxveU9wdGlvbnMuc3RhY2tQYXR0ZXJuID8gYCAke3RoaXMuZGVwbG95T3B0aW9ucy5zdGFja1BhdHRlcm59YDogJyc7XG4gICAgY29uc3QgZGVwbG95Q29tbWFuZCA9IGBjZGsgZGVwbG95JHtkZXBsb3lBcmd1bWVudH0gJHt0aGlzLmdldE1ldGhvZEFyZ3VtZW50KCl9IC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlcmA7XG4gICAgY29uc3QgcmVxdWlyZWRFbnYgPSB0aGlzLmRlcGxveU9wdGlvbnMubnBtQ29uZmlnRW52aXJvbm1lbnQgPyBbYG5wbV9jb25maWdfJHt0aGlzLmRlcGxveU9wdGlvbnMubnBtQ29uZmlnRW52aXJvbm1lbnR9YF0gOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5kZXBsb3lXb3JrZmxvd1Rhc2sgPSB0aGlzLmFkZFRhc2soJ2RlcGxveTp3b3JrZmxvdycsIHtcbiAgICAgIHJlcXVpcmVkRW52LFxuICAgICAgZXhlYzogZGVwbG95Q29tbWFuZCxcbiAgICB9KTtcbiAgICB0aGlzLmFkZFRhc2soJ2RlcGxveTpob3Rzd2FwJywge1xuICAgICAgcmVxdWlyZWRFbnYsXG4gICAgICBleGVjOiBgJHtkZXBsb3lDb21tYW5kfSAtLWhvdHN3YXBgLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiB0aGUgbWFqb3Igbm9kZSB2ZXJzaW9uIHNldCBmb3IgdGhlIHByb2plY3RcbiAgICogQGRlZmF1bHQgMTZcbiAgICovXG4gIGdldCBtYWpvck5vZGVWZXJzaW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGdldE1ham9yTm9kZVZlcnNpb24odGhpcy5ub2RlVmVyc2lvbik7XG4gIH1cblxuICBwcml2YXRlIGdldE1ldGhvZEFyZ3VtZW50KCkge1xuICAgIHJldHVybiBgLS1tZXRob2QgJHt0aGlzLmRlcGxveU9wdGlvbnMubWV0aG9kID8/ICdjaGFuZ2Utc2V0J31gO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZSBkaWZmIG91dHB1dCBpcyBlbmFibGVkLCBhZGRzIGEgc2NyaXB0IGFuZCBhIGpvYiBzdGVwIHRvIGdlbmVyYXRlIHRoZSBDREsgZGlmZiBvdXRwdXQgdG8gYSBmaWxlIGluIGNkay5vdXRcbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgcHJpdmF0ZSBhZGREaWZmT3V0cHV0U2NyaXB0KCkge1xuICAgIGlmICghdGhpcy5kaWZmT3V0cHV0T3B0aW9ucy5lbmFibGUpIHtyZXR1cm47fVxuXG4gICAgdGhpcy5hZGREZXZEZXBzKFxuICAgICAgJ0Bhd3MtY2RrL3Rvb2xraXQtbGliJyxcbiAgICAgICdAYXdzLWNkay9jbG91ZGZvcm1hdGlvbi1kaWZmJyxcbiAgICApO1xuXG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLnBvc2l4LmpvaW4oJ3NjcmlwdHMnLCAnZ2VuZXJhdGVEaWZmT3V0cHV0LnRzJyk7XG5cbiAgICBjb25zdCBzb3VyY2VDb2RlID0gbmV3IFNvdXJjZUNvZGUodGhpcywgZmlsZVBhdGgpO1xuICAgIHNvdXJjZUNvZGUubGluZShcImltcG9ydCB7Y3JlYXRlV3JpdGVTdHJlYW19IGZyb20gJ2ZzJ1wiKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoXCJpbXBvcnQge2Zvcm1hdERpZmZlcmVuY2VzfSBmcm9tICdAYXdzLWNkay9jbG91ZGZvcm1hdGlvbi1kaWZmJztcIik7XG4gICAgc291cmNlQ29kZS5saW5lKFwiaW1wb3J0IHtUb29sa2l0fSBmcm9tICdAYXdzLWNkay90b29sa2l0LWxpYic7XCIpO1xuICAgIHNvdXJjZUNvZGUubGluZSgnJyk7XG4gICAgc291cmNlQ29kZS5saW5lKCdjb25zdCBjZGsgPSBuZXcgVG9vbGtpdCh7fSk7Jyk7XG4gICAgc291cmNlQ29kZS5saW5lKCcnKTtcbiAgICBzb3VyY2VDb2RlLm9wZW4oJ2FzeW5jIGZ1bmN0aW9uIG1haW4oKSB7Jyk7XG4gICAgc291cmNlQ29kZS5saW5lKGBjb25zdCBjeCA9IGF3YWl0IGNkay5mcm9tQ2RrQXBwKCd0cy1ub2RlLXRyYW5zcGlsZS1vbmx5ICR7cGF0aC5wb3NpeC5qb2luKHRoaXMuc3JjZGlyLCB0aGlzLmFwcEVudHJ5cG9pbnQpfScpO2ApO1xuICAgIHNvdXJjZUNvZGUubGluZSgnY29uc3QgZGlmZnMgPSBhd2FpdCBjZGsuZGlmZihjeCwge30pOycpO1xuICAgIHNvdXJjZUNvZGUubGluZShcImNvbnN0IHN0cmVhbSA9IGNyZWF0ZVdyaXRlU3RyZWFtKCcuL2Nkay5vdXQvZGlmZi5sb2cnKTtcIik7XG4gICAgc291cmNlQ29kZS5vcGVuKCdPYmplY3QuZW50cmllcyhkaWZmcykuZm9yRWFjaCgoW3N0YWNrTmFtZSwgZGlmZl0pID0+IHsnKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoJ3N0cmVhbS53cml0ZShgRGlmZmVyZW5jZSBmb3Igc3RhY2sgJHtzdGFja05hbWV9OlxcXFxuYCk7Jyk7XG4gICAgc291cmNlQ29kZS5saW5lKCdmb3JtYXREaWZmZXJlbmNlcyhzdHJlYW0sIGRpZmYpOycpO1xuICAgIHNvdXJjZUNvZGUuY2xvc2UoJ30pOycpO1xuICAgIHNvdXJjZUNvZGUuY2xvc2UoJ30nKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoJycpO1xuICAgIHNvdXJjZUNvZGUub3BlbignbWFpbigpLmNhdGNoKChlcnIpID0+IHsnKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoJ2NvbnNvbGUuZXJyb3IoZXJyKTsnKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoJ3Byb2Nlc3MuZXhpdCgxKTsnKTtcbiAgICBzb3VyY2VDb2RlLmNsb3NlKCd9KTsnKTtcblxuICAgIHRoaXMuYWRkVGFzaygnZGlmZjpvdXRwdXQnLCB7XG4gICAgICBleGVjOiBgdHMtbm9kZSAtLXRyYW5zcGlsZS1vbmx5ICR7ZmlsZVBhdGh9YCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgZGlmZiBvdXRwdXQgaXMgZW5hYmxlZCB3aXRoIGFubm90YXRpb24sIGFkZHMgdGhlIGRpZmYgb3V0cHV0IGdlbmVyYXRpb24gc3RlcCBhbmQgdGhlIGFubm90YXRpb24gc3RlcHMgdG8gdGhlIGJ1aWxkIGpvYnNcbiAgICogVGhlIGFubm90YXRpb24gc3RlcHMgd2lsbCBhZGQgYSBjb21tZW50IHRvIHRoZSBHaXRIdWIgUFIgd2l0aCB0aGUgZGlmZiBvdXRwdXQsIGFuZCBhbHNvIGFkZCBhbiBhbm5vdGF0aW9uIHRvIHRoZSBsaW5lcyBvZiBjb2RlIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIHRoZSBkZXBsb3llZCBzdGFjayBhbmQgdGhlIGNoYW5nZXMgbWFkZSBvbiBQUlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBwcml2YXRlIGFkZERpZmZBbm5vdGF0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaWZmT3V0cHV0T3B0aW9ucy5hbm5vdGF0ZU9uQnVpbGQpIHtyZXR1cm47fVxuXG4gICAgY29uc3Qgc3RlcEZhY3RvcnkgPSBuZXcgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBTdGVwc0ZhY3RvcnkodGhpcywge1xuICAgICAgY2hlY2tBY3RpdmVEZXBsb3ltZW50OiB0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCxcbiAgICAgIGRlcGxveU9wdGlvbnM6IHRoaXMuZGVwbG95T3B0aW9ucyxcbiAgICAgIHByZUluc3RhbGxUYXNrTmFtZTogdGhpcy5kZXBsb3lPcHRpb25zLnRhc2tUb1J1blByZUluc3RhbGwsXG4gICAgICBucG1Db25maWdFbnZpcm9ubWVudDogdGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50LFxuICAgICAgam9iU3RyYXRlZ3k6IHRoaXMuZGVwbG95Sm9iU3RyYXRlZ3ksXG4gICAgICBlbnZpcm9ubWVudERlcGVuZGVuY2llczogdGhpcy5lbnZpcm9ubWVudERlcGVuZGVuY2llcyxcbiAgICAgIGF1dGhQcm92aWRlcjogdGhpcy5jb2RlQXJ0aWZhY3RPcHRpb25zPy5hdXRoUHJvdmlkZXIsXG4gICAgfSk7XG5cbiAgICBPYmplY3QuZW50cmllcyhzdGVwRmFjdG9yeS5kaWZmQW5ub3RhdGlvbkpvYnMpLmZvckVhY2goKFtuYW1lLCBqb2JdKSA9PiB7XG4gICAgICB0aGlzLmJ1aWxkV29ya2Zsb3c/LmFkZFBvc3RCdWlsZEpvYihuYW1lLCBqb2IpO1xuICAgIH0pO1xuICB9XG5cbiAgc3ludGgoKSB7XG4gICAgaWYgKHRoaXMuZGVwbG95YWJsZSkge3RoaXMuYWRkRGVwbG95Sm9icygpO31cblxuICAgIGlmICh0aGlzLmdlbmVyYXRlTnZtcmMpIHtcbiAgICAgIG5ldyBUZXh0RmlsZSh0aGlzLCAnLm52bXJjJywge1xuICAgICAgICBsaW5lczogW3RoaXMud29ya2Zsb3dOb2RlVmVyc2lvbiA/PyAnJ10sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZERpZmZBbm5vdGF0aW9uKCk7XG5cbiAgICBzdXBlci5zeW50aCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBuZXcgZW52aXJvbm1lbnRzIHRvIHRoZSBhcHBsaWNhdGlvblxuICAgKiBAcGFyYW0gaXRlbXMgbGlzdCBvZiBlbnZpcm9ubWVudCBvcHRpb25zXG4gICAqL1xuICBhZGRFbnZpcm9ubWVudHMoLi4uaXRlbXM6IEVudmlyb25tZW50T3B0aW9uc1tdKSB7XG4gICAgdGhpcy5kZXBsb3lPcHRpb25zLmVudmlyb25tZW50cy5wdXNoKC4uLml0ZW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRW52aXJvbm1lbnRzKG5ld0Vudmlyb25tZW50czogRW52aXJvbm1lbnRPcHRpb25zW10pIHtcbiAgICB0aGlzLmRlcGxveU9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLmRlcGxveU9wdGlvbnMsXG4gICAgICBlbnZpcm9ubWVudHM6IG5ld0Vudmlyb25tZW50cyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHBvc3REZXBsb3lXb3JrZmxvd1NjcmlwdCBmb3IgZW52aXJvbm1lbnRzXG4gICAqIEBwYXJhbSBzY3JpcHQgdGhlIHNjcmlwdCB0byBiZSBhZGRlZCwgZm9yIGV4YW1wbGUgXCJwb3N0OmRlcGxveVwiXG4gICAqIEBwYXJhbSBlbnZpcm9ubWVudE5hbWVGaWx0ZXIgdGhlIG5hbWUgb2YgZW52aXJvbm1lbnRzIHRvIGFkZCB0aGUgc2NyaXB0cyB0bywgaWYgbm90IHByb3ZpZGVkIG9yIGVtcHR5IHdpbGwgdXBkYXRlIGFsbFxuICAgKi9cbiAgdXBkYXRlUG9zdERlcGxveVdvcmtmbG93U2NyaXB0VG9FbnZpcm9ubWVudHMoc2NyaXB0OiBzdHJpbmcsIGVudmlyb25tZW50TmFtZUZpbHRlcj86IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgbmV3RW52aXJvbm1lbnRzID0gdGhpcy5kZXBsb3lPcHRpb25zLmVudmlyb25tZW50cy5tYXAoZW52aXJvbm1lbnQgPT4ge1xuICAgICAgaWYgKGVudmlyb25tZW50TmFtZUZpbHRlciAmJiBlbnZpcm9ubWVudE5hbWVGaWx0ZXIubGVuZ3RoID4gMCAmJiAhZW52aXJvbm1lbnROYW1lRmlsdGVyLmluY2x1ZGVzKGVudmlyb25tZW50Lm5hbWUpKSB7cmV0dXJuIGVudmlyb25tZW50O31cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZW52aXJvbm1lbnQsXG4gICAgICAgIHBvc3REZXBsb3lXb3JrZmxvd1NjcmlwdDogc2NyaXB0LFxuICAgICAgfTtcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUVudmlyb25tZW50cyhuZXdFbnZpcm9ubWVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHByZURlcGxveVdvcmtmbG93U2NyaXB0IGZvciBlbnZpcm9ubWVudHNcbiAgICogQHBhcmFtIHNjcmlwdCB0aGUgc2NyaXB0IHRvIGJlIGFkZGVkLCBmb3IgZXhhbXBsZSBcInByZTpkZXBsb3lcIlxuICAgKiBAcGFyYW0gZW52aXJvbm1lbnROYW1lRmlsdGVyIHRoZSBuYW1lIG9mIGVudmlyb25tZW50cyB0byBhZGQgdGhlIHNjcmlwdHMgdG8sIGlmIG5vdCBwcm92aWRlZCBvciBlbXB0eSB3aWxsIHVwZGF0ZSBhbGxcbiAgICovXG4gIHVwZGF0ZVByZURlcGxveVdvcmtmbG93U2NyaXB0VG9FbnZpcm9ubWVudHMoc2NyaXB0OiBzdHJpbmcsIGVudmlyb25tZW50TmFtZUZpbHRlcj86IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgbmV3RW52aXJvbm1lbnRzID0gdGhpcy5kZXBsb3lPcHRpb25zLmVudmlyb25tZW50cy5tYXAoZW52aXJvbm1lbnQgPT4ge1xuICAgICAgaWYgKGVudmlyb25tZW50TmFtZUZpbHRlciAmJiBlbnZpcm9ubWVudE5hbWVGaWx0ZXIubGVuZ3RoID4gMCAmJiAhZW52aXJvbm1lbnROYW1lRmlsdGVyLmluY2x1ZGVzKGVudmlyb25tZW50Lm5hbWUpKSB7cmV0dXJuIGVudmlyb25tZW50O31cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZW52aXJvbm1lbnQsXG4gICAgICAgIHByZURlcGxveVdvcmtmbG93U2NyaXB0OiBzY3JpcHQsXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlRW52aXJvbm1lbnRzKG5ld0Vudmlyb25tZW50cyk7XG4gIH1cblxuICBwcml2YXRlIGFkZERlcGxveUpvYnMoKSB7XG5cbiAgICBjb25zdCBzdGVwRmFjdG9yeSA9IG5ldyBEZXBsb3lhYmxlQXdzQ2RrVHlwZVNjcmlwdEFwcFN0ZXBzRmFjdG9yeSh0aGlzLCB7XG4gICAgICBhdXRoUHJvdmlkZXI6IHRoaXMuY29kZUFydGlmYWN0T3B0aW9ucz8uYXV0aFByb3ZpZGVyLFxuICAgICAgY2hlY2tBY3RpdmVEZXBsb3ltZW50OiB0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCxcbiAgICAgIGRlcGxveU9wdGlvbnM6IHRoaXMuZGVwbG95T3B0aW9ucyxcbiAgICAgIHByZUluc3RhbGxUYXNrTmFtZTogdGhpcy5kZXBsb3lPcHRpb25zLnRhc2tUb1J1blByZUluc3RhbGwsXG4gICAgICBucG1Db25maWdFbnZpcm9ubWVudDogdGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50LFxuICAgICAgam9iU3RyYXRlZ3k6IHRoaXMuZGVwbG95Sm9iU3RyYXRlZ3ksXG4gICAgICBlbnZpcm9ubWVudERlcGVuZGVuY2llczogdGhpcy5lbnZpcm9ubWVudERlcGVuZGVuY2llcyxcbiAgICB9KTtcblxuICAgIHRoaXMucmVsZWFzZT8uYWRkSm9icyhzdGVwRmFjdG9yeS5kZXBsb3ltZW50Sm9icyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGVudmlyb25tZW50IGRlcGxveW1lbnQgZGVwZW5kZW5jaWVzXG4gICAqIEBwYXJhbSBlbnZpcm9ubWVudERlcGVuZGVuY2llcyBhbiBvYmplY3QgZGVmaW5pbmcgZGVwZW5kZW5jaWVzIGJldHdlZW4gZW52aXJvbm1lbnRzXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlRW52aXJvbm1lbnREZXBsb3ltZW50RGVwZW5kZW5jaWVzKGVudmlyb25tZW50RGVwZW5kZW5jaWVzOiBFbnZpcm9ubWVudERlcGxveW1lbnREZXBlbmRlbmNpZXMpIHtcbiAgICBEZXBsb3lhYmxlQXdzQ2RrVHlwZVNjcmlwdEFwcFN0ZXBzRmFjdG9yeS52YWxpZGF0ZUVudmlyb25tZW50RGVwbG95bWVudERlcGVuZGVuY2llcyhcbiAgICAgIHRoaXMuZGVwbG95T3B0aW9ucyxcbiAgICAgIGVudmlyb25tZW50RGVwZW5kZW5jaWVzLFxuICAgICk7XG5cbiAgICB0aGlzLmVudmlyb25tZW50RGVwZW5kZW5jaWVzID0gZW52aXJvbm1lbnREZXBlbmRlbmNpZXM7XG4gIH1cbn0iXX0=
225
+ DeployableAwsCdkTypeScriptApp[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp", version: "0.1.784" };
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUE2QjtBQUM3QixtQ0FBNEQ7QUFFNUQsbUNBQW9FO0FBQ3BFLG1DQUF3TTtBQUN4TSxtQ0FBOEM7QUFFOUMsMENBQXdCO0FBQ3hCLG1DQUFpQztBQUNqQywwQ0FBd0I7QUFFeEIsTUFBYSw2QkFBOEIsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBRTNFOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFtQztRQUNuRSxPQUFPLENBQUMsVUFBVSxDQUNoQixzQkFBc0IsRUFDdEIsOEJBQThCLENBQy9CLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUVyRSxNQUFNLFVBQVUsR0FBRyxJQUFJLG1CQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELFVBQVUsQ0FBQyxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUN4RCxVQUFVLENBQUMsSUFBSSxDQUFDLGlFQUFpRSxDQUFDLENBQUM7UUFDbkYsVUFBVSxDQUFDLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ2pFLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEIsVUFBVSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ2hELFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEIsVUFBVSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzNDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMkRBQTJELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGFBQWEs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QUcsV0FBVztnQkFDZCx1QkFBdUIsRUFBRSxNQUFNO2FBQ2hDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sYUFBYTtRQUVuQixNQUFNLFdBQVcsR0FBRyxJQUFJLGlEQUF5QyxDQUFDLElBQUksRUFBRTtZQUN0RSxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFlBQVk7WUFDcEQscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtZQUNqRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUI7WUFDMUQsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0I7WUFDN0QsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDbkMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtTQUN0RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLHVDQUF1QyxDQUFDLHVCQUEwRDtRQUN2RyxpREFBeUMsQ0FBQyx5Q0FBeUMsQ0FDakYsSUFBSSxDQUFDLGFBQWEsRUFDbEIsdUJBQXVCLENBQ3hCLENBQUM7UUFFRixJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDekQsQ0FBQzs7QUF2T0gsc0VBd09DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGF3c2NkaywgU291cmNlQ29kZSwgVGFzaywgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ29kZUFydGlmYWN0T3B0aW9ucyB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5pbXBvcnQgeyBEZXBsb3lhYmxlQXdzQ2RrVHlwZVNjcmlwdEFwcFN0ZXBzRmFjdG9yeSB9IGZyb20gJy4vc3RlcHMnO1xuaW1wb3J0IHsgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBEaWZmT3V0cHV0T3B0aW9ucywgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zLCBEZXBsb3lKb2JTdHJhdGVneSwgRGVwbG95T3B0aW9ucywgRW52aXJvbm1lbnREZXBsb3ltZW50RGVwZW5kZW5jaWVzLCBFbnZpcm9ubWVudE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldE1ham9yTm9kZVZlcnNpb24gfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RlcHMnO1xuXG5leHBvcnQgY2xhc3MgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHAgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBkaWZmIG91dHB1dCBpcyBlbmFibGVkLCBhZGRzIGEgc2NyaXB0IGFuZCBhIGpvYiBzdGVwIHRvIGdlbmVyYXRlIHRoZSBDREsgZGlmZiBvdXRwdXQgdG8gYSBmaWxlIGluIGNkay5vdXRcbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGREaWZmT3V0cHV0U2NyaXB0KHByb2plY3Q6IGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwKSB7XG4gICAgcHJvamVjdC5hZGREZXZEZXBzKFxuICAgICAgJ0Bhd3MtY2RrL3Rvb2xraXQtbGliJyxcbiAgICAgICdAYXdzLWNkay9jbG91ZGZvcm1hdGlvbi1kaWZmJyxcbiAgICApO1xuXG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLnBvc2l4LmpvaW4oJ3NjcmlwdHMnLCAnZ2VuZXJhdGVEaWZmT3V0cHV0LnRzJyk7XG5cbiAgICBjb25zdCBzb3VyY2VDb2RlID0gbmV3IFNvdXJjZUNvZGUocHJvamVjdCwgZmlsZVBhdGgpO1xuICAgIHNvdXJjZUNvZGUubGluZShcImltcG9ydCB7Y3JlYXRlV3JpdGVTdHJlYW19IGZyb20gJ2ZzJ1wiKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoXCJpbXBvcnQge2Zvcm1hdERpZmZlcmVuY2VzfSBmcm9tICdAYXdzLWNkay9jbG91ZGZvcm1hdGlvbi1kaWZmJztcIik7XG4gICAgc291cmNlQ29kZS5saW5lKFwiaW1wb3J0IHtUb29sa2l0fSBmcm9tICdAYXdzLWNkay90b29sa2l0LWxpYic7XCIpO1xuICAgIHNvdXJjZUNvZGUubGluZSgnJyk7XG4gICAgc291cmNlQ29kZS5saW5lKCdjb25zdCBjZGsgPSBuZXcgVG9vbGtpdCh7fSk7Jyk7XG4gICAgc291cmNlQ29kZS5saW5lKCcnKTtcbiAgICBzb3VyY2VDb2RlLm9wZW4oJ2FzeW5jIGZ1bmN0aW9uIG1haW4oKSB7Jyk7XG4gICAgc291cmNlQ29kZS5saW5lKGBjb25zdCBjeCA9IGF3YWl0IGNkay5mcm9tQ2RrQXBwKCd0cy1ub2RlLXRyYW5zcGlsZS1vbmx5ICR7cGF0aC5wb3NpeC5qb2luKHByb2plY3Quc3JjZGlyLCBwcm9qZWN0LmFwcEVudHJ5cG9pbnQpfScpO2ApO1xuICAgIHNvdXJjZUNvZGUubGluZSgnY29uc3QgZGlmZnMgPSBhd2FpdCBjZGsuZGlmZihjeCwge30pOycpO1xuICAgIHNvdXJjZUNvZGUubGluZShcImNvbnN0IHN0cmVhbSA9IGNyZWF0ZVdyaXRlU3RyZWFtKCcuL2Nkay5vdXQvZGlmZi5sb2cnKTtcIik7XG4gICAgc291cmNlQ29kZS5vcGVuKCdPYmplY3QuZW50cmllcyhkaWZmcykuZm9yRWFjaCgoW3N0YWNrTmFtZSwgZGlmZl0pID0+IHsnKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoJ3N0cmVhbS53cml0ZShgRGlmZmVyZW5jZSBmb3Igc3RhY2sgJHtzdGFja05hbWV9OlxcXFxuYCk7Jyk7XG4gICAgc291cmNlQ29kZS5saW5lKCdmb3JtYXREaWZmZXJlbmNlcyhzdHJlYW0sIGRpZmYpOycpO1xuICAgIHNvdXJjZUNvZGUuY2xvc2UoJ30pOycpO1xuICAgIHNvdXJjZUNvZGUuY2xvc2UoJ30nKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoJycpO1xuICAgIHNvdXJjZUNvZGUub3BlbignbWFpbigpLmNhdGNoKChlcnIpID0+IHsnKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoJ2NvbnNvbGUuZXJyb3IoZXJyKTsnKTtcbiAgICBzb3VyY2VDb2RlLmxpbmUoJ3Byb2Nlc3MuZXhpdCgxKTsnKTtcbiAgICBzb3VyY2VDb2RlLmNsb3NlKCd9KTsnKTtcblxuICAgIHByb2plY3QuYWRkVGFzaygnZGlmZjpvdXRwdXQnLCB7XG4gICAgICBleGVjOiBgdHMtbm9kZSAtLXRyYW5zcGlsZS1vbmx5ICR7ZmlsZVBhdGh9YCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYXNrIHRvIGRlcGxveSB5b3VyIGFwcC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZXBsb3lXb3JrZmxvd1Rhc2s6IFRhc2s7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXBsb3lhYmxlOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IGdlbmVyYXRlTnZtcmM6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tBY3RpdmVEZXBsb3ltZW50OiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29kZUFydGlmYWN0T3B0aW9ucz86IENvZGVBcnRpZmFjdE9wdGlvbnM7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwbG95Sm9iU3RyYXRlZ3k6IERlcGxveUpvYlN0cmF0ZWd5O1xuICBwcml2YXRlIHJlYWRvbmx5IGRpZmZPdXRwdXRPcHRpb25zOiBEZXBsb3lhYmxlQXdzQ2RrVHlwZVNjcmlwdEFwcERpZmZPdXRwdXRPcHRpb25zO1xuXG4gIHByb3RlY3RlZCBkZXBsb3lPcHRpb25zOiBEZXBsb3lPcHRpb25zO1xuICBwcm90ZWN0ZWQgZW52aXJvbm1lbnREZXBlbmRlbmNpZXM6IEVudmlyb25tZW50RGVwbG95bWVudERlcGVuZGVuY2llcyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBEZXBsb3lhYmxlQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMpIHtcbiAgICBjb25zdCBkZXBsb3lhYmxlID0gb3B0aW9ucy5yZWxlYXNlID8/IHRydWU7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHJlbGVhc2U6IGRlcGxveWFibGUsXG4gICAgfSk7XG4gICAgdGhpcy5kZXBsb3lhYmxlID0gZGVwbG95YWJsZTtcbiAgICB0aGlzLmdlbmVyYXRlTnZtcmMgPSBvcHRpb25zLmdlbmVyYXRlTnZtcmMgPz8gdHJ1ZTtcbiAgICB0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCA9IG9wdGlvbnMuY2hlY2tBY3RpdmVEZXBsb3ltZW50ID8/IGZhbHNlO1xuICAgIHRoaXMud29ya2Zsb3dOb2RlVmVyc2lvbiA9IG9wdGlvbnMud29ya2Zsb3dOb2RlVmVyc2lvbjtcbiAgICB0aGlzLmRlcGxveU9wdGlvbnMgPSBvcHRpb25zLmRlcGxveU9wdGlvbnMgPz8geyBlbnZpcm9ubWVudHM6IFtdIH07XG4gICAgdGhpcy5jb2RlQXJ0aWZhY3RPcHRpb25zID0gb3B0aW9ucy5jb2RlQXJ0aWZhY3RPcHRpb25zO1xuICAgIHRoaXMuZGVwbG95Sm9iU3RyYXRlZ3kgPSB0aGlzLmRlcGxveU9wdGlvbnMuam9iU3RyYXRlZ3kgPz8gRGVwbG95Sm9iU3RyYXRlZ3kuTUFUUklYO1xuICAgIHRoaXMuZGlmZk91dHB1dE9wdGlvbnMgPSB7XG4gICAgICBlbmFibGU6IG9wdGlvbnMuZGlmZk91dHB1dD8uZW5hYmxlID8/IGZhbHNlLFxuICAgICAgYW5ub3RhdGVPbkJ1aWxkOiAob3B0aW9ucy5kaWZmT3V0cHV0Py5hbm5vdGF0ZU9uQnVpbGQgPz8gb3B0aW9ucy5kaWZmT3V0cHV0Py5lbmFibGUgPz8gZmFsc2UpLFxuICAgIH07XG5cbiAgICB0aGlzLmFkZERldkRlcHMoJ2RlcGxveWFibGUtYXdzY2RrLWFwcC10cycpO1xuICAgIHRoaXMuYWRkRGlmZk91dHB1dFNjcmlwdCgpO1xuXG4gICAgaWYgKCFkZXBsb3lhYmxlKSB7dGhpcy5sb2dnZXIud2FybignVGhlIHByb2plY3QgaXMgZXhwbGljaXRseSBzZXQgdG8gbm90IHJlbGVhc2UsIG1ha2Ugc3VyZSB0aGlzIGlzIGRlc2lyZWQgc2V0dGluZycpO31cblxuICAgIGlmICh0aGlzLmdlbmVyYXRlTnZtcmMgJiYgIXRoaXMud29ya2Zsb3dOb2RlVmVyc2lvbikge3RoaXMud29ya2Zsb3dOb2RlVmVyc2lvbiA9ICcxNC4xOC4xJzt9XG5cbiAgICBpZiAodGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50ICYmIHRoaXMubWFqb3JOb2RlVmVyc2lvbiA+PSAxOCkge3Rocm93IG5ldyBFcnJvcihgbnBtQ29uZmlnRW52aXJvbm1lbnQgaXMgbm90IHN1cHBvcnRlZCBmb3Igbm9kZSB2ZXJzaW9ucyBhYm92ZSB2ZXJzaW9uIDE4LiBDdXJyZW50IHZlcnNpb24gaXMgJHt0aGlzLm5vZGVWZXJzaW9ufWApO31cblxuICAgIGNvbnN0IGRlcGxveUFyZ3VtZW50ID0gdGhpcy5kZXBsb3lPcHRpb25zLnN0YWNrUGF0dGVybiA/IGAgJHt0aGlzLmRlcGxveU9wdGlvbnMuc3RhY2tQYXR0ZXJufWA6ICcnO1xuICAgIGNvbnN0IGRlcGxveUNvbW1hbmQgPSBgY2RrIGRlcGxveSR7ZGVwbG95QXJndW1lbnR9ICR7dGhpcy5nZXRNZXRob2RBcmd1bWVudCgpfSAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXJgO1xuICAgIGNvbnN0IHJlcXVpcmVkRW52ID0gdGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50ID8gW2BucG1fY29uZmlnXyR7dGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50fWBdIDogdW5kZWZpbmVkO1xuICAgIHRoaXMuZGVwbG95V29ya2Zsb3dUYXNrID0gdGhpcy5hZGRUYXNrKCdkZXBsb3k6d29ya2Zsb3cnLCB7XG4gICAgICByZXF1aXJlZEVudixcbiAgICAgIGV4ZWM6IGRlcGxveUNvbW1hbmQsXG4gICAgfSk7XG4gICAgdGhpcy5hZGRUYXNrKCdkZXBsb3k6aG90c3dhcCcsIHtcbiAgICAgIHJlcXVpcmVkRW52LFxuICAgICAgZXhlYzogYCR7ZGVwbG95Q29tbWFuZH0gLS1ob3Rzd2FwYCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gdGhlIG1ham9yIG5vZGUgdmVyc2lvbiBzZXQgZm9yIHRoZSBwcm9qZWN0XG4gICAqIEBkZWZhdWx0IDE2XG4gICAqL1xuICBnZXQgbWFqb3JOb2RlVmVyc2lvbigpOiBudW1iZXIge1xuICAgIHJldHVybiBnZXRNYWpvck5vZGVWZXJzaW9uKHRoaXMubm9kZVZlcnNpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZXRob2RBcmd1bWVudCgpIHtcbiAgICByZXR1cm4gYC0tbWV0aG9kICR7dGhpcy5kZXBsb3lPcHRpb25zLm1ldGhvZCA/PyAnY2hhbmdlLXNldCd9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgZGlmZiBvdXRwdXQgaXMgZW5hYmxlZCwgYWRkcyBhIHNjcmlwdCBhbmQgYSBqb2Igc3RlcCB0byBnZW5lcmF0ZSB0aGUgQ0RLIGRpZmYgb3V0cHV0IHRvIGEgZmlsZSBpbiBjZGsub3V0XG4gICAqIEByZXR1cm5zIHZvaWRcbiAgICovXG4gIHByaXZhdGUgYWRkRGlmZk91dHB1dFNjcmlwdCgpIHtcbiAgICBpZiAoIXRoaXMuZGlmZk91dHB1dE9wdGlvbnMuZW5hYmxlKSB7cmV0dXJuO31cblxuICAgIERlcGxveWFibGVBd3NDZGtUeXBlU2NyaXB0QXBwLmFkZERpZmZPdXRwdXRTY3JpcHQodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIGRpZmYgb3V0cHV0IGlzIGVuYWJsZWQgd2l0aCBhbm5vdGF0aW9uLCBhZGRzIHRoZSBkaWZmIG91dHB1dCBnZW5lcmF0aW9uIHN0ZXAgYW5kIHRoZSBhbm5vdGF0aW9uIHN0ZXBzIHRvIHRoZSBidWlsZCBqb2JzXG4gICAqIFRoZSBhbm5vdGF0aW9uIHN0ZXBzIHdpbGwgYWRkIGEgY29tbWVudCB0byB0aGUgR2l0SHViIFBSIHdpdGggdGhlIGRpZmYgb3V0cHV0LCBhbmQgYWxzbyBhZGQgYW4gYW5ub3RhdGlvbiB0byB0aGUgbGluZXMgb2YgY29kZSB0aGF0IGFyZSBkaWZmZXJlbnQgYmV0d2VlbiB0aGUgZGVwbG95ZWQgc3RhY2sgYW5kIHRoZSBjaGFuZ2VzIG1hZGUgb24gUFJcbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgcHJpdmF0ZSBhZGREaWZmQW5ub3RhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlmZk91dHB1dE9wdGlvbnMuYW5ub3RhdGVPbkJ1aWxkKSB7cmV0dXJuO31cblxuICAgIGNvbnN0IHN0ZXBGYWN0b3J5ID0gbmV3IERlcGxveWFibGVBd3NDZGtUeXBlU2NyaXB0QXBwU3RlcHNGYWN0b3J5KHRoaXMsIHtcbiAgICAgIGNoZWNrQWN0aXZlRGVwbG95bWVudDogdGhpcy5jaGVja0FjdGl2ZURlcGxveW1lbnQsXG4gICAgICBkZXBsb3lPcHRpb25zOiB0aGlzLmRlcGxveU9wdGlvbnMsXG4gICAgICBwcmVJbnN0YWxsVGFza05hbWU6IHRoaXMuZGVwbG95T3B0aW9ucy50YXNrVG9SdW5QcmVJbnN0YWxsLFxuICAgICAgbnBtQ29uZmlnRW52aXJvbm1lbnQ6IHRoaXMuZGVwbG95T3B0aW9ucy5ucG1Db25maWdFbnZpcm9ubWVudCxcbiAgICAgIGpvYlN0cmF0ZWd5OiB0aGlzLmRlcGxveUpvYlN0cmF0ZWd5LFxuICAgICAgZW52aXJvbm1lbnREZXBlbmRlbmNpZXM6IHRoaXMuZW52aXJvbm1lbnREZXBlbmRlbmNpZXMsXG4gICAgICBhdXRoUHJvdmlkZXI6IHRoaXMuY29kZUFydGlmYWN0T3B0aW9ucz8uYXV0aFByb3ZpZGVyLFxuICAgIH0pO1xuXG4gICAgT2JqZWN0LmVudHJpZXMoc3RlcEZhY3RvcnkuZGlmZkFubm90YXRpb25Kb2JzKS5mb3JFYWNoKChbbmFtZSwgam9iXSkgPT4ge1xuICAgICAgdGhpcy5idWlsZFdvcmtmbG93Py5hZGRQb3N0QnVpbGRKb2IobmFtZSwgam9iKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN5bnRoKCkge1xuICAgIGlmICh0aGlzLmRlcGxveWFibGUpIHt0aGlzLmFkZERlcGxveUpvYnMoKTt9XG5cbiAgICBpZiAodGhpcy5nZW5lcmF0ZU52bXJjKSB7XG4gICAgICBuZXcgVGV4dEZpbGUodGhpcywgJy5udm1yYycsIHtcbiAgICAgICAgbGluZXM6IFt0aGlzLndvcmtmbG93Tm9kZVZlcnNpb24gPz8gJyddLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5hZGREaWZmQW5ub3RhdGlvbigpO1xuXG4gICAgc3VwZXIuc3ludGgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgbmV3IGVudmlyb25tZW50cyB0byB0aGUgYXBwbGljYXRpb25cbiAgICogQHBhcmFtIGl0ZW1zIGxpc3Qgb2YgZW52aXJvbm1lbnQgb3B0aW9uc1xuICAgKi9cbiAgYWRkRW52aXJvbm1lbnRzKC4uLml0ZW1zOiBFbnZpcm9ubWVudE9wdGlvbnNbXSkge1xuICAgIHRoaXMuZGVwbG95T3B0aW9ucy5lbnZpcm9ubWVudHMucHVzaCguLi5pdGVtcyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUVudmlyb25tZW50cyhuZXdFbnZpcm9ubWVudHM6IEVudmlyb25tZW50T3B0aW9uc1tdKSB7XG4gICAgdGhpcy5kZXBsb3lPcHRpb25zID0ge1xuICAgICAgLi4udGhpcy5kZXBsb3lPcHRpb25zLFxuICAgICAgZW52aXJvbm1lbnRzOiBuZXdFbnZpcm9ubWVudHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBwb3N0RGVwbG95V29ya2Zsb3dTY3JpcHQgZm9yIGVudmlyb25tZW50c1xuICAgKiBAcGFyYW0gc2NyaXB0IHRoZSBzY3JpcHQgdG8gYmUgYWRkZWQsIGZvciBleGFtcGxlIFwicG9zdDpkZXBsb3lcIlxuICAgKiBAcGFyYW0gZW52aXJvbm1lbnROYW1lRmlsdGVyIHRoZSBuYW1lIG9mIGVudmlyb25tZW50cyB0byBhZGQgdGhlIHNjcmlwdHMgdG8sIGlmIG5vdCBwcm92aWRlZCBvciBlbXB0eSB3aWxsIHVwZGF0ZSBhbGxcbiAgICovXG4gIHVwZGF0ZVBvc3REZXBsb3lXb3JrZmxvd1NjcmlwdFRvRW52aXJvbm1lbnRzKHNjcmlwdDogc3RyaW5nLCBlbnZpcm9ubWVudE5hbWVGaWx0ZXI/OiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IG5ld0Vudmlyb25tZW50cyA9IHRoaXMuZGVwbG95T3B0aW9ucy5lbnZpcm9ubWVudHMubWFwKGVudmlyb25tZW50ID0+IHtcbiAgICAgIGlmIChlbnZpcm9ubWVudE5hbWVGaWx0ZXIgJiYgZW52aXJvbm1lbnROYW1lRmlsdGVyLmxlbmd0aCA+IDAgJiYgIWVudmlyb25tZW50TmFtZUZpbHRlci5pbmNsdWRlcyhlbnZpcm9ubWVudC5uYW1lKSkge3JldHVybiBlbnZpcm9ubWVudDt9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmVudmlyb25tZW50LFxuICAgICAgICBwb3N0RGVwbG95V29ya2Zsb3dTY3JpcHQ6IHNjcmlwdCxcbiAgICAgIH07XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVFbnZpcm9ubWVudHMobmV3RW52aXJvbm1lbnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBwcmVEZXBsb3lXb3JrZmxvd1NjcmlwdCBmb3IgZW52aXJvbm1lbnRzXG4gICAqIEBwYXJhbSBzY3JpcHQgdGhlIHNjcmlwdCB0byBiZSBhZGRlZCwgZm9yIGV4YW1wbGUgXCJwcmU6ZGVwbG95XCJcbiAgICogQHBhcmFtIGVudmlyb25tZW50TmFtZUZpbHRlciB0aGUgbmFtZSBvZiBlbnZpcm9ubWVudHMgdG8gYWRkIHRoZSBzY3JpcHRzIHRvLCBpZiBub3QgcHJvdmlkZWQgb3IgZW1wdHkgd2lsbCB1cGRhdGUgYWxsXG4gICAqL1xuICB1cGRhdGVQcmVEZXBsb3lXb3JrZmxvd1NjcmlwdFRvRW52aXJvbm1lbnRzKHNjcmlwdDogc3RyaW5nLCBlbnZpcm9ubWVudE5hbWVGaWx0ZXI/OiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IG5ld0Vudmlyb25tZW50cyA9IHRoaXMuZGVwbG95T3B0aW9ucy5lbnZpcm9ubWVudHMubWFwKGVudmlyb25tZW50ID0+IHtcbiAgICAgIGlmIChlbnZpcm9ubWVudE5hbWVGaWx0ZXIgJiYgZW52aXJvbm1lbnROYW1lRmlsdGVyLmxlbmd0aCA+IDAgJiYgIWVudmlyb25tZW50TmFtZUZpbHRlci5pbmNsdWRlcyhlbnZpcm9ubWVudC5uYW1lKSkge3JldHVybiBlbnZpcm9ubWVudDt9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmVudmlyb25tZW50LFxuICAgICAgICBwcmVEZXBsb3lXb3JrZmxvd1NjcmlwdDogc2NyaXB0LFxuICAgICAgfTtcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUVudmlyb25tZW50cyhuZXdFbnZpcm9ubWVudHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGREZXBsb3lKb2JzKCkge1xuXG4gICAgY29uc3Qgc3RlcEZhY3RvcnkgPSBuZXcgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBTdGVwc0ZhY3RvcnkodGhpcywge1xuICAgICAgYXV0aFByb3ZpZGVyOiB0aGlzLmNvZGVBcnRpZmFjdE9wdGlvbnM/LmF1dGhQcm92aWRlcixcbiAgICAgIGNoZWNrQWN0aXZlRGVwbG95bWVudDogdGhpcy5jaGVja0FjdGl2ZURlcGxveW1lbnQsXG4gICAgICBkZXBsb3lPcHRpb25zOiB0aGlzLmRlcGxveU9wdGlvbnMsXG4gICAgICBwcmVJbnN0YWxsVGFza05hbWU6IHRoaXMuZGVwbG95T3B0aW9ucy50YXNrVG9SdW5QcmVJbnN0YWxsLFxuICAgICAgbnBtQ29uZmlnRW52aXJvbm1lbnQ6IHRoaXMuZGVwbG95T3B0aW9ucy5ucG1Db25maWdFbnZpcm9ubWVudCxcbiAgICAgIGpvYlN0cmF0ZWd5OiB0aGlzLmRlcGxveUpvYlN0cmF0ZWd5LFxuICAgICAgZW52aXJvbm1lbnREZXBlbmRlbmNpZXM6IHRoaXMuZW52aXJvbm1lbnREZXBlbmRlbmNpZXMsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlbGVhc2U/LmFkZEpvYnMoc3RlcEZhY3RvcnkuZGVwbG95bWVudEpvYnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBlbnZpcm9ubWVudCBkZXBsb3ltZW50IGRlcGVuZGVuY2llc1xuICAgKiBAcGFyYW0gZW52aXJvbm1lbnREZXBlbmRlbmNpZXMgYW4gb2JqZWN0IGRlZmluaW5nIGRlcGVuZGVuY2llcyBiZXR3ZWVuIGVudmlyb25tZW50c1xuICAgKi9cbiAgcHVibGljIHVwZGF0ZUVudmlyb25tZW50RGVwbG95bWVudERlcGVuZGVuY2llcyhlbnZpcm9ubWVudERlcGVuZGVuY2llczogRW52aXJvbm1lbnREZXBsb3ltZW50RGVwZW5kZW5jaWVzKSB7XG4gICAgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBTdGVwc0ZhY3RvcnkudmFsaWRhdGVFbnZpcm9ubWVudERlcGxveW1lbnREZXBlbmRlbmNpZXMoXG4gICAgICB0aGlzLmRlcGxveU9wdGlvbnMsXG4gICAgICBlbnZpcm9ubWVudERlcGVuZGVuY2llcyxcbiAgICApO1xuXG4gICAgdGhpcy5lbnZpcm9ubWVudERlcGVuZGVuY2llcyA9IGVudmlyb25tZW50RGVwZW5kZW5jaWVzO1xuICB9XG59Il19
package/lib/steps.js CHANGED
@@ -629,7 +629,7 @@ class DeployableAwsCdkTypeScriptAppStepsFactory {
629
629
  }
630
630
  exports.DeployableAwsCdkTypeScriptAppStepsFactory = DeployableAwsCdkTypeScriptAppStepsFactory;
631
631
  _a = JSII_RTTI_SYMBOL_1;
632
- DeployableAwsCdkTypeScriptAppStepsFactory[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppStepsFactory", version: "0.1.783" };
632
+ DeployableAwsCdkTypeScriptAppStepsFactory[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppStepsFactory", version: "0.1.784" };
633
633
  /**
634
634
  * Get the deploy job ID for a specific environment
635
635
  * @param environmentName The name of the environment
package/package.json CHANGED
@@ -88,7 +88,7 @@
88
88
  "publishConfig": {
89
89
  "access": "public"
90
90
  },
91
- "version": "0.1.783",
91
+ "version": "0.1.784",
92
92
  "jest": {
93
93
  "coverageProvider": "v8",
94
94
  "testMatch": [