truemark-cdk-lib 1.2.4-alpha.2 → 1.2.4-alpha.21

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.
Files changed (69) hide show
  1. package/aws-apigatewayv2/lib/index.d.ts +2 -0
  2. package/aws-apigatewayv2/lib/index.js +3 -1
  3. package/aws-apigatewayv2/lib/standard-domain-name.d.ts +17 -13
  4. package/aws-apigatewayv2/lib/standard-domain-name.js +22 -22
  5. package/aws-apigatewayv2/lib/standard-http-api.d.ts +60 -0
  6. package/aws-apigatewayv2/lib/standard-http-api.js +50 -0
  7. package/aws-apigatewayv2/lib/standard-web-socket-api.d.ts +61 -0
  8. package/aws-apigatewayv2/lib/standard-web-socket-api.js +55 -0
  9. package/aws-cdk/lib/extended-app.d.ts +18 -0
  10. package/aws-cdk/lib/extended-app.js +27 -0
  11. package/aws-cdk/lib/extended-stack.d.ts +4 -6
  12. package/aws-cdk/lib/extended-stack.js +11 -9
  13. package/aws-cdk/lib/index.d.ts +2 -3
  14. package/aws-cdk/lib/index.js +3 -4
  15. package/aws-cdk/lib/single-env-app.d.ts +28 -0
  16. package/aws-cdk/lib/single-env-app.js +44 -0
  17. package/aws-cdk/lib/standard-tags.d.ts +37 -33
  18. package/aws-cdk/lib/standard-tags.js +93 -10
  19. package/aws-centergauge/lib/alerts-topic.d.ts +3 -1
  20. package/aws-centergauge/lib/alerts-topic.js +2 -8
  21. package/aws-codepipeline/lib/cdk-pipeline.d.ts +4 -0
  22. package/aws-codepipeline/lib/cdk-pipeline.js +3 -2
  23. package/aws-dynamodb/lib/standard-table.d.ts +3 -1
  24. package/aws-dynamodb/lib/standard-table.js +2 -8
  25. package/aws-ecs/lib/standard-fargate-cluster.d.ts +3 -1
  26. package/aws-ecs/lib/standard-fargate-cluster.js +2 -8
  27. package/aws-ecs/lib/standard-fargate-service.d.ts +3 -1
  28. package/aws-ecs/lib/standard-fargate-service.js +2 -8
  29. package/aws-route53/lib/domain-name.d.ts +7 -14
  30. package/aws-route53/lib/domain-name.js +27 -28
  31. package/aws-route53/lib/extended-record-target.d.ts +14 -0
  32. package/aws-route53/lib/extended-record-target.js +35 -0
  33. package/aws-route53/lib/index.d.ts +3 -3
  34. package/aws-route53/lib/index.js +2 -2
  35. package/aws-route53/lib/latency-a-record.d.ts +4 -0
  36. package/aws-route53/lib/latency-a-record.js +2 -1
  37. package/aws-route53/lib/weighted-a-record.d.ts +4 -0
  38. package/aws-route53/lib/weighted-a-record.js +2 -1
  39. package/aws-s3/lib/cloud-front-bucket.d.ts +14 -3
  40. package/aws-s3/lib/cloud-front-bucket.js +25 -3
  41. package/aws-s3/lib/extended-bucket.d.ts +1 -0
  42. package/aws-s3/lib/extended-bucket.js +3 -0
  43. package/aws-s3/lib/website-bucket.d.ts +2 -2
  44. package/aws-s3/lib/website-bucket.js +5 -7
  45. package/aws-sqs/lib/standard-queue.d.ts +3 -1
  46. package/aws-sqs/lib/standard-queue.js +2 -8
  47. package/aws-vpc/lib/network-parameters.d.ts +3 -1
  48. package/aws-vpc/lib/network-parameters.js +2 -8
  49. package/helpers/lib/index.d.ts +0 -1
  50. package/helpers/lib/index.js +1 -2
  51. package/package.json +2 -2
  52. package/test/aws-cdk/standard-tags.test.d.ts +1 -0
  53. package/test/aws-cdk/standard-tags.test.js +9 -0
  54. package/test/aws-route53/extended-record-target.test.d.ts +1 -0
  55. package/test/aws-route53/extended-record-target.test.js +52 -0
  56. package/test/test-helper.d.ts +4 -0
  57. package/test/test-helper.js +11 -3
  58. package/aws-cdk/lib/standard-app.d.ts +0 -19
  59. package/aws-cdk/lib/standard-app.js +0 -27
  60. package/aws-cdk/lib/standard-environment.d.ts +0 -10
  61. package/aws-cdk/lib/standard-environment.js +0 -3
  62. package/aws-cdk/lib/standard-stack.d.ts +0 -25
  63. package/aws-cdk/lib/standard-stack.js +0 -35
  64. package/aws-cdk/lib/standard-stage.d.ts +0 -20
  65. package/aws-cdk/lib/standard-stage.js +0 -21
  66. package/aws-route53/lib/weighted-latency-a-record.d.ts +0 -30
  67. package/aws-route53/lib/weighted-latency-a-record.js +0 -34
  68. package/helpers/lib/constants.d.ts +0 -3
  69. package/helpers/lib/constants.js +0 -7
@@ -10,9 +10,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./extended-app"), exports);
13
14
  __exportStar(require("./extended-stack"), exports);
14
- __exportStar(require("./standard-app"), exports);
15
- __exportStar(require("./standard-environment"), exports);
16
- __exportStar(require("./standard-stack"), exports);
15
+ __exportStar(require("./single-env-app"), exports);
17
16
  __exportStar(require("./standard-tags"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxtREFBaUM7QUFDakMsaURBQStCO0FBQy9CLHlEQUF1QztBQUN2QyxtREFBaUM7QUFDakMsa0RBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZXh0ZW5kZWQtc3RhY2tcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkLWFwcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RhbmRhcmQtZW52aXJvbm1lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkLXN0YWNrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGFuZGFyZC10YWdzXCI7XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IsbURBQWlDO0FBQ2pDLG1EQUFpQztBQUNqQyxrREFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9leHRlbmRlZC1hcHBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4dGVuZGVkLXN0YWNrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zaW5nbGUtZW52LWFwcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RhbmRhcmQtdGFnc1wiO1xuIl19
@@ -0,0 +1,28 @@
1
+ import { ExtendedApp, ExtendedAppProps } from "./extended-app";
2
+ /**
3
+ * Properties for SingleEnvApp
4
+ */
5
+ export interface SingleEnvAppProps extends ExtendedAppProps {
6
+ /**
7
+ * The name of the property in the context where the environment name is stored.
8
+ * Default is "env".
9
+ *
10
+ * @default - env
11
+ */
12
+ readonly environmentPropertyName?: string;
13
+ }
14
+ /**
15
+ * Extension of ExtendedApp that supports a standard way to declare environment names.
16
+ */
17
+ export declare class SingleEnvApp extends ExtendedApp {
18
+ readonly environmentName: string;
19
+ constructor(props?: SingleEnvAppProps);
20
+ /**
21
+ * Returns the name of the environment.
22
+ */
23
+ getEnvironmentName(): string;
24
+ /**
25
+ * Returns the name of the environment in title case.
26
+ */
27
+ getEnvironmentNameTitleCase(): string;
28
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SingleEnvApp = void 0;
4
+ const helpers_1 = require("../../helpers");
5
+ const extended_app_1 = require("./extended-app");
6
+ const standard_tags_1 = require("./standard-tags");
7
+ /**
8
+ * Extension of ExtendedApp that supports a standard way to declare environment names.
9
+ */
10
+ class SingleEnvApp extends extended_app_1.ExtendedApp {
11
+ constructor(props) {
12
+ var _a, _b;
13
+ super(props);
14
+ const environmentPropertyName = (_a = props === null || props === void 0 ? void 0 : props.environmentPropertyName) !== null && _a !== void 0 ? _a : "env";
15
+ this.environmentName = this.node.tryGetContext(environmentPropertyName);
16
+ if (!this.environmentName) {
17
+ throw new Error(`Environment is missing. Please add \"-c ${environmentPropertyName}=<name>\" to your CDK command`);
18
+ }
19
+ if (!helpers_1.StringHelper.isLowerAlphanumeric(this.environmentName)) {
20
+ throw new Error("Environment name must be lower case alpha numeric");
21
+ }
22
+ // Add environment to cost center tags
23
+ if ((_b = props === null || props === void 0 ? void 0 : props.standardTags) === null || _b === void 0 ? void 0 : _b.costCenterTags) {
24
+ new standard_tags_1.StandardTags(this).addCostCenterTags({
25
+ ...props.standardTags.costCenterTags,
26
+ environment: this.environmentName
27
+ });
28
+ }
29
+ }
30
+ /**
31
+ * Returns the name of the environment.
32
+ */
33
+ getEnvironmentName() {
34
+ return this.environmentName;
35
+ }
36
+ /**
37
+ * Returns the name of the environment in title case.
38
+ */
39
+ getEnvironmentNameTitleCase() {
40
+ return helpers_1.StringHelper.toPascalCase(this.environmentName);
41
+ }
42
+ }
43
+ exports.SingleEnvApp = SingleEnvApp;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWVudi1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzaW5nbGUtZW52LWFwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBMkM7QUFDM0MsaURBQTZEO0FBQzdELG1EQUE2QztBQWdCN0M7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSwwQkFBVztJQUkzQyxZQUFZLEtBQXlCOztRQUNuQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixNQUFNLHVCQUF1QixTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSx1QkFBdUIsbUNBQUksS0FBSyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyx1QkFBdUIsK0JBQStCLENBQUMsQ0FBQztTQUNwSDtRQUNELElBQUksQ0FBQyxzQkFBWSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7U0FDdEU7UUFDRCxzQ0FBc0M7UUFDdEMsVUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSwwQ0FBRSxjQUFjLEVBQUU7WUFDdkMsSUFBSSw0QkFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixDQUFDO2dCQUN2QyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYztnQkFDcEMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlO2FBQ2xDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCwyQkFBMkI7UUFDekIsT0FBTyxzQkFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBcENELG9DQW9DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3RyaW5nSGVscGVyfSBmcm9tIFwiLi4vLi4vaGVscGVyc1wiO1xuaW1wb3J0IHtFeHRlbmRlZEFwcCwgRXh0ZW5kZWRBcHBQcm9wc30gZnJvbSBcIi4vZXh0ZW5kZWQtYXBwXCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc30gZnJvbSBcIi4vc3RhbmRhcmQtdGFnc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFNpbmdsZUVudkFwcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpbmdsZUVudkFwcFByb3BzIGV4dGVuZHMgRXh0ZW5kZWRBcHBQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgY29udGV4dCB3aGVyZSB0aGUgZW52aXJvbm1lbnQgbmFtZSBpcyBzdG9yZWQuXG4gICAqIERlZmF1bHQgaXMgXCJlbnZcIi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBlbnZcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50UHJvcGVydHlOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEV4dGVuc2lvbiBvZiBFeHRlbmRlZEFwcCB0aGF0IHN1cHBvcnRzIGEgc3RhbmRhcmQgd2F5IHRvIGRlY2xhcmUgZW52aXJvbm1lbnQgbmFtZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW5nbGVFbnZBcHAgZXh0ZW5kcyBFeHRlbmRlZEFwcCB7XG5cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnROYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvcHM/OiBTaW5nbGVFbnZBcHBQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICBjb25zdCBlbnZpcm9ubWVudFByb3BlcnR5TmFtZSA9IHByb3BzPy5lbnZpcm9ubWVudFByb3BlcnR5TmFtZSA/PyBcImVudlwiO1xuICAgIHRoaXMuZW52aXJvbm1lbnROYW1lID0gdGhpcy5ub2RlLnRyeUdldENvbnRleHQoZW52aXJvbm1lbnRQcm9wZXJ0eU5hbWUpO1xuICAgIGlmICghdGhpcy5lbnZpcm9ubWVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW52aXJvbm1lbnQgaXMgbWlzc2luZy4gUGxlYXNlIGFkZCBcXFwiLWMgJHtlbnZpcm9ubWVudFByb3BlcnR5TmFtZX09PG5hbWU+XFxcIiB0byB5b3VyIENESyBjb21tYW5kYCk7XG4gICAgfVxuICAgIGlmICghU3RyaW5nSGVscGVyLmlzTG93ZXJBbHBoYW51bWVyaWModGhpcy5lbnZpcm9ubWVudE5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbnZpcm9ubWVudCBuYW1lIG11c3QgYmUgbG93ZXIgY2FzZSBhbHBoYSBudW1lcmljXCIpO1xuICAgIH1cbiAgICAvLyBBZGQgZW52aXJvbm1lbnQgdG8gY29zdCBjZW50ZXIgdGFnc1xuICAgIGlmIChwcm9wcz8uc3RhbmRhcmRUYWdzPy5jb3N0Q2VudGVyVGFncykge1xuICAgICAgbmV3IFN0YW5kYXJkVGFncyh0aGlzKS5hZGRDb3N0Q2VudGVyVGFncyh7XG4gICAgICAgIC4uLnByb3BzLnN0YW5kYXJkVGFncy5jb3N0Q2VudGVyVGFncyxcbiAgICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuZW52aXJvbm1lbnROYW1lXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQuXG4gICAqL1xuICBnZXRFbnZpcm9ubWVudE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudE5hbWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgaW4gdGl0bGUgY2FzZS5cbiAgICovXG4gIGdldEVudmlyb25tZW50TmFtZVRpdGxlQ2FzZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmdIZWxwZXIudG9QYXNjYWxDYXNlKHRoaXMuZW52aXJvbm1lbnROYW1lKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
- import { Construct } from "constructs";
2
- import { TagProps, Tags } from "aws-cdk-lib";
1
+ import { Construct, IConstruct } from "constructs";
2
+ import { IAspect, TagProps, Tags } from "aws-cdk-lib";
3
3
  /**
4
4
  * Properties for automation component tags.
5
5
  */
@@ -9,7 +9,7 @@ export interface AutomationComponentTagsProps extends TagProps {
9
9
  *
10
10
  * @default scope.constructor.name
11
11
  */
12
- readonly id?: string;
12
+ readonly id: string;
13
13
  /**
14
14
  * The URL of the component.
15
15
  */
@@ -169,16 +169,36 @@ export interface TeamTagsProps extends TagProps {
169
169
  readonly department?: string;
170
170
  }
171
171
  /**
172
- * Properties for StandardTags.
172
+ * Contains standard tagging properties.
173
173
  */
174
174
  export interface StandardTagsProps {
175
+ /**
176
+ * Automation component tags.
177
+ */
178
+ readonly automationComponentTags?: AutomationComponentTagsProps;
179
+ /**
180
+ * Automation tags to apply to created resources.
181
+ */
182
+ readonly automationTags?: AutomationTagsProps;
183
+ /**
184
+ * Cost center tags to apply to created resources.
185
+ */
186
+ readonly costCenterTags?: CostCenterTagsProps;
187
+ /**
188
+ * Security tags to apply to created resources.
189
+ */
190
+ readonly securityTags?: SecurityTagsProps;
191
+ /**
192
+ * Team tags to apply to created resources.
193
+ */
194
+ readonly teamTags?: TeamTagsProps;
175
195
  /**
176
196
  * Setting this to true will suppress the creation of tags this resource creates.
177
197
  * Default value is false.
178
198
  *
179
199
  * @default - false
180
200
  */
181
- readonly suppress?: boolean;
201
+ readonly suppressTagging?: boolean;
182
202
  }
183
203
  /**
184
204
  * Provides convenience methods to tag resources following TrueMark's tagging strategy.
@@ -204,7 +224,8 @@ export declare class StandardTags {
204
224
  */
205
225
  constructor(scope: Construct, props?: StandardTagsProps);
206
226
  /**
207
- * Adds automation component tags.
227
+ * Adds automation component tags. These are meant to be used in individual constructs to identify
228
+ * what resources were stood up by specific constructs.
208
229
  *
209
230
  * @param props optional properties for the tags
210
231
  */
@@ -233,32 +254,15 @@ export declare class StandardTags {
233
254
  * @param props properties for team tags
234
255
  */
235
256
  addTeamTags(props?: TeamTagsProps): StandardTags;
257
+ static merge(from?: StandardTagsProps, to?: StandardTagsProps): StandardTagsProps;
236
258
  }
237
- /**
238
- * Contains standard tagging options.
239
- */
240
- export interface StandardTagsOptions {
241
- /**
242
- * Automation tags to apply to created resources.
243
- */
244
- readonly automationTags?: AutomationTagsProps;
245
- /**
246
- * Cost center tags to apply to created resources.
247
- */
248
- readonly costCenterTags?: CostCenterTagsProps;
249
- /**
250
- * Security tags to apply to created resources.
251
- */
252
- readonly securityTags?: SecurityTagsProps;
253
- /**
254
- * Team tags to apply to created resources.
255
- */
256
- readonly teamTags?: TeamTagsProps;
257
- /**
258
- * Setting this to true will suppress the creation of tags this resource creates.
259
- * Default value is false.
260
- *
261
- * @default - false
262
- */
263
- readonly suppressTags?: boolean;
259
+ export interface IAutomationComponent {
260
+ readonly automationComponentTags?: AutomationComponentTagsProps;
261
+ }
262
+ export declare const InternalAutomationComponentTags: AutomationComponentTagsProps;
263
+ export declare function isAutomationComponent(o: any): o is IAutomationComponent;
264
+ export declare class AutomationComponentAspect implements IAspect {
265
+ readonly suppressed: boolean;
266
+ constructor(suppressTagging?: boolean);
267
+ visit(node: IConstruct): void;
264
268
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StandardTags = exports.DataSensitivity = exports.DataClassification = void 0;
3
+ exports.AutomationComponentAspect = exports.isAutomationComponent = exports.InternalAutomationComponentTags = exports.StandardTags = exports.DataSensitivity = exports.DataClassification = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
5
  /**
6
6
  * Holds values that may be applied to the data-classification security tag.
@@ -62,22 +62,36 @@ class StandardTags {
62
62
  var _a;
63
63
  this.scope = scope;
64
64
  this.tags = aws_cdk_lib_1.Tags.of(scope);
65
- this.suppressed = (_a = props === null || props === void 0 ? void 0 : props.suppress) !== null && _a !== void 0 ? _a : false;
65
+ this.suppressed = (_a = props === null || props === void 0 ? void 0 : props.suppressTagging) !== null && _a !== void 0 ? _a : false;
66
+ this.addAutomationComponentTags(props === null || props === void 0 ? void 0 : props.automationComponentTags);
67
+ this.addAutomationTags(props === null || props === void 0 ? void 0 : props.automationTags);
68
+ this.addCostCenterTags(props === null || props === void 0 ? void 0 : props.costCenterTags);
69
+ this.addSecurityTags(props === null || props === void 0 ? void 0 : props.securityTags);
70
+ this.addTeamTags(props === null || props === void 0 ? void 0 : props.teamTags);
66
71
  }
67
72
  /**
68
- * Adds automation component tags.
73
+ * Adds automation component tags. These are meant to be used in individual constructs to identify
74
+ * what resources were stood up by specific constructs.
69
75
  *
70
76
  * @param props optional properties for the tags
71
77
  */
72
78
  addAutomationComponentTags(props) {
73
- var _a;
74
79
  if (props && !this.suppressed) {
75
- this.tags.add("automation:component-id", (_a = props.id) !== null && _a !== void 0 ? _a : this.scope.constructor.name, props);
76
- if (props.url) {
77
- this.tags.add("automation:component-url", props.url, props);
80
+ if (props.id === "{{TMCDK}}") {
81
+ this.tags.add("automation:component-id", this.scope.constructor.name, props);
82
+ this.tags.add("automation:component-url", "https://github.com/truemark/cdk", props);
83
+ this.tags.add("automation:component-vendor", "TrueMark", props);
78
84
  }
79
- if (props.vendor) {
80
- this.tags.add("automation:component-vendor", props.vendor, props);
85
+ else {
86
+ if (props.id) {
87
+ this.tags.add("automation:component-id", props.id, props);
88
+ }
89
+ if (props.url) {
90
+ this.tags.add("automation:component-url", props.url, props);
91
+ }
92
+ if (props.vendor) {
93
+ this.tags.add("automation:component-vendor", props.vendor, props);
94
+ }
81
95
  }
82
96
  }
83
97
  return this;
@@ -173,6 +187,75 @@ class StandardTags {
173
187
  }
174
188
  return this;
175
189
  }
190
+ static merge(from, to) {
191
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
192
+ let automationComponentTags = undefined;
193
+ if ((from === null || from === void 0 ? void 0 : from.automationComponentTags) || (to === null || to === void 0 ? void 0 : to.automationComponentTags)) {
194
+ automationComponentTags = {
195
+ id: (_d = (_b = (_a = to === null || to === void 0 ? void 0 : to.automationComponentTags) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : (_c = from === null || from === void 0 ? void 0 : from.automationComponentTags) === null || _c === void 0 ? void 0 : _c.id) !== null && _d !== void 0 ? _d : "",
196
+ ...from === null || from === void 0 ? void 0 : from.automationComponentTags,
197
+ ...to === null || to === void 0 ? void 0 : to.automationComponentTags
198
+ };
199
+ }
200
+ let automationTags = undefined;
201
+ if ((from === null || from === void 0 ? void 0 : from.automationTags) || (to === null || to === void 0 ? void 0 : to.automationTags)) {
202
+ automationTags = {
203
+ id: (_h = (_f = (_e = to === null || to === void 0 ? void 0 : to.automationTags) === null || _e === void 0 ? void 0 : _e.id) !== null && _f !== void 0 ? _f : (_g = from === null || from === void 0 ? void 0 : from.automationTags) === null || _g === void 0 ? void 0 : _g.id) !== null && _h !== void 0 ? _h : "",
204
+ ...from === null || from === void 0 ? void 0 : from.automationTags,
205
+ ...to === null || to === void 0 ? void 0 : to.automationTags
206
+ };
207
+ }
208
+ let costCenterTags = undefined;
209
+ if ((from === null || from === void 0 ? void 0 : from.costCenterTags) || (to === null || to === void 0 ? void 0 : to.costCenterTags)) {
210
+ costCenterTags = {
211
+ businessUnitName: (_m = (_k = (_j = to === null || to === void 0 ? void 0 : to.costCenterTags) === null || _j === void 0 ? void 0 : _j.businessUnitName) !== null && _k !== void 0 ? _k : (_l = from === null || from === void 0 ? void 0 : from.costCenterTags) === null || _l === void 0 ? void 0 : _l.businessUnitName) !== null && _m !== void 0 ? _m : "",
212
+ projectName: (_r = (_p = (_o = to === null || to === void 0 ? void 0 : to.costCenterTags) === null || _o === void 0 ? void 0 : _o.projectName) !== null && _p !== void 0 ? _p : (_q = from === null || from === void 0 ? void 0 : from.costCenterTags) === null || _q === void 0 ? void 0 : _q.projectName) !== null && _r !== void 0 ? _r : "",
213
+ ...from === null || from === void 0 ? void 0 : from.costCenterTags,
214
+ ...to === null || to === void 0 ? void 0 : to.costCenterTags
215
+ };
216
+ }
217
+ let securityTags = undefined;
218
+ if ((from === null || from === void 0 ? void 0 : from.securityTags) || (to === null || to === void 0 ? void 0 : to.securityTags)) {
219
+ securityTags = {
220
+ dataClassification: (_v = (_t = (_s = to === null || to === void 0 ? void 0 : to.securityTags) === null || _s === void 0 ? void 0 : _s.dataClassification) !== null && _t !== void 0 ? _t : (_u = from === null || from === void 0 ? void 0 : from.securityTags) === null || _u === void 0 ? void 0 : _u.dataClassification) !== null && _v !== void 0 ? _v : DataClassification.Controlled,
221
+ ...from === null || from === void 0 ? void 0 : from.securityTags,
222
+ ...to === null || to === void 0 ? void 0 : to.securityTags
223
+ };
224
+ }
225
+ let teamTags = undefined;
226
+ if ((from === null || from === void 0 ? void 0 : from.teamTags) || (to === null || to === void 0 ? void 0 : to.teamTags)) {
227
+ teamTags = {
228
+ name: (_z = (_x = (_w = to === null || to === void 0 ? void 0 : to.teamTags) === null || _w === void 0 ? void 0 : _w.name) !== null && _x !== void 0 ? _x : (_y = from === null || from === void 0 ? void 0 : from.teamTags) === null || _y === void 0 ? void 0 : _y.name) !== null && _z !== void 0 ? _z : "",
229
+ ...from === null || from === void 0 ? void 0 : from.teamTags,
230
+ ...to === null || to === void 0 ? void 0 : to.teamTags
231
+ };
232
+ }
233
+ return {
234
+ automationComponentTags,
235
+ automationTags,
236
+ costCenterTags,
237
+ securityTags,
238
+ teamTags
239
+ };
240
+ }
176
241
  }
177
242
  exports.StandardTags = StandardTags;
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YW5kYXJkLXRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQWtEO0FBZ0dsRDs7R0FFRztBQUNILElBQVksa0JBeUJYO0FBekJELFdBQVksa0JBQWtCO0lBQzVCOzs7T0FHRztJQUNILDREQUFzQyxDQUFBO0lBRXRDOzs7O09BSUc7SUFDSCwrQ0FBeUIsQ0FBQTtJQUV6Qjs7OztPQUlHO0lBQ0gsK0NBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCx1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBekJXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBeUI3QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxlQWlCWDtBQWpCRCxXQUFZLGVBQWU7SUFFekI7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7OztPQUdHO0lBQ0gsOEJBQVcsQ0FBQTtBQUNiLENBQUMsRUFqQlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFpQjFCO0FBeUVEOztHQUVHO0FBQ0gsTUFBYSxZQUFZO0lBaUJ2Qjs7Ozs7T0FLRztJQUNILFlBQVksS0FBZ0IsRUFBRSxLQUF5Qjs7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxRQUFRLG1DQUFJLEtBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDBCQUEwQixDQUFDLEtBQW9DOztRQUM3RCxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENB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RCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDL0Q7WUFDRCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDaEU7WUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDM0Q7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBN0lELG9DQTZJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtTdGFjaywgVGFnUHJvcHMsIFRhZ3N9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBjb21wb25lbnQuIERlZmF1bHQgaXMgc2NvcGUuY29uc3RydWN0b3IubmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgc2NvcGUuY29uc3RydWN0b3IubmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHJlYWRvbmx5IHVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlbmRvciBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVuZG9yPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGF1dG9tYXRpb24gdGFncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvbWF0aW9uVGFnc1Byb3BzIGV4dGVuZHMgVGFnUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHN0YWNrLiBJZiBvbmUgaWYgbm90IHByb3ZpZGVkLCB0aGUgbmFtZSBvZiB0aGUgc3RhY2sgaXMgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBTdGFjay5vZih0aGlzKS5zdGFja05hbWVcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgdG8gd2hlcmUgdGhlIGF1dG9tYXRpb24gaXMgc3RvcmVkIG9yIHB1Ymxpc2hlZC4gVGhpcyBmaWVsZCBpcyByZXF1aXJlZFxuICAgKiB3aGVuIGFwcGx5aW5nIGF1dG9tYXRpb24gdGFncy5cbiAgICovXG4gIHJlYWRvbmx5IHVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjb3N0IGNlbnRlciB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvc3RDZW50ZXJUYWdzUHJvcHMgZXh0ZW5kcyBUYWdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJ1c2luZXNzIHVuaXQgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBidXNpbmVzc1VuaXROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRoZSBidXNpbmVzcyB1bml0IHJlc3BvbnNpYmxlIGZvciB0aGUgY29zdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKiBJZiBub3Qgc2V0LCB0aGUgdGFnIGlzIG5vdCBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVzaW5lc3NVbml0SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHByb2plY3QgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoZSBjb3N0cy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3ROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRoZSBwcm9qZWN0IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGUgY29zdHMuXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGVudmlyb25tZW50IGluY3VycmluZyB0aGUgY29zdHMuIEV4YW1wbGUgXCJzdGFnZVwiIG9yIFwicHJvZFwiXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgY29udGFjdCByZXNwb25zaWJsZSBmb3IgY29zdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKiBJZiBub3Qgc2V0LCB0aGUgdGFnIGlzIG5vdCBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVtYWlsIG9mIHRoZSBjb250YWN0IHJlc3BvbnNpYmxlIGZvciB0aGUgY29zdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKiBJZiBub3Qgc2V0LCB0aGUgdGFnIGlzIG5vdCBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdEVtYWlsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaG9uZSBudW1iZXIgb2YgdGhlIGNvbnRhY3QgcmVzcG9uc2libGUgZm9yIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICogSWYgbm90IHNldCwgdGhlIHRhZyBpcyBub3QgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3RQaG9uZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBIb2xkcyB2YWx1ZXMgdGhhdCBtYXkgYmUgYXBwbGllZCB0byB0aGUgZGF0YS1jbGFzc2lmaWNhdGlvbiBzZWN1cml0eSB0YWcuXG4gKi9cbmV4cG9ydCBlbnVtIERhdGFDbGFzc2lmaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gZGF0YSBtYXkgbm90IGxlYXZlIHRoZSBnZW9ncmFwaGljIHJlZ2lvbiBpbiB3aGljaCBpdCBpcyBzdG9yZWQuXG4gICAqIFRoaXMgaXMgdXN1YWxseSByZWxhdGVkIHRvIGdvdmVybm1lbnQgcmVzdHJpY3Rpb25zIGFwcGxpZWQgdG8gdGhlIGRhdGEuXG4gICAqL1xuICBFeHBvcnRSZXN0cmljdGVkID0gXCJleHBvcnQtcmVzdHJpY3RlZFwiLFxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gdW5hdXRob3JpemVkIGRpc2Nsb3N1cmUsIGFsdGVyYXRpb24gb3IgZGVzdHJ1Y3Rpb24gb2YgZGF0YSB3b3VsZFxuICAgKiByZXN1bHQgaW4gYSBzaWduaWZpY2FudCByaXNrIHRvIHRoZSBvcmdhbml6YXRpb24uIFRoaXMgaW5jbHVkZXMgUElJLCBQSElcbiAgICogYW5kIFBDSSBkYXRhLlxuICAgKi9cbiAgUmVzdHJpY3RlZCA9IFwicmVzdHJpY3RlZFwiLFxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gdW5hdXRob3JpemVkIGRpc2Nsb3N1cmUsIGFsdGVyYXRpb24gb3IgZGVzdHJ1Y3Rpb24gb2YgdGhlIGRhdGEgd291bGRcbiAgICogcmVzdWx0IGluIG1vZGVyYXRlIHJpc2suIFRoaXMgaW5jbHVkZXMgYWxsIGRhdGEgdGhhdCBpcyBub3QgaW4gb25lIG9mIHRoZSBvdGhlclxuICAgKiBjbGFzc2lmaWNhdGlvbnMuXG4gICAqL1xuICBDb250cm9sbGVkID0gXCJjb250cm9sbGVkXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiBoYW5kbGVkIG9yIHN0b3JlZCBkYXRhIHJlYWRpbHkgYXZhaWxhYmxlIHRvIHRoZSBwdWJsaWMuXG4gICAqL1xuICBQdWJsaWMgPSBcInB1YmxpY1wiXG59XG5cbi8qKlxuICogSG9sZHMgdmFsdWVzIHRoYXQgbWF5IGJlIGFwcGxpZWQgdG8gdGhlIGRhdGEtc2Vuc2l0aXZpdHkgc2VjdXJpdHkgdGFnLlxuICovXG5leHBvcnQgZW51bSBEYXRhU2Vuc2l0aXZpdHkge1xuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gcmVzb3VyY2VzIGFyZSBpbiBQQ0kgc2NvcGUuXG4gICAqL1xuICBQQ0kgPSBcInBjaVwiLFxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gcmVzb3VyY2VzIGhhbmRsZSBvciBzdG9yZSBwZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbi5cbiAgICovXG4gIFBJSSA9IFwicGlpXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiByZXNvdXJjZXMgaGFuZGxlIG9yIHN0b3JlIHBlcnNvbmFsIGhlYWx0aCBpbmZvcm1hdGlvbiBhbmQgYXJlXG4gICAqIHN1YmplY3QgdG8gSElQUEEgcnVsZXMuXG4gICAqL1xuICBQSEkgPSBcInBoaVwiXG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3Igc2VjdXJpdHkgdGFncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eVRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogRGF0YSBjbGFzc2lmaWNhdGlvbiB2YWx1ZS4gU2VlIHRoZSBUcnVlTWFyayBBV1MgdGFnZ2luZyBzdHJhdGVneSBkb2N1bWVudGF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YUNsYXNzaWZpY2F0aW9uOiBEYXRhQ2xhc3NpZmljYXRpb247XG5cbiAgLyoqXG4gICAqIERhdGEgc2Vuc2l0aXZpdHkuIFNlZSB0aGUgVHJ1ZU1hcmsgQVdTIHRhZ2dpbmcgc3RyYXRlZ3kgZG9jdW1lbnRhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTZW5zaXRpdml0eT86IERhdGFTZW5zaXRpdml0eTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0ZWFtIHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVhbVRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgdGVhbS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBpZiBkaWZmZXJlbnQgdGhhbiB0aGUgdGVhbSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHRlYW0gbGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3ROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWFpbCBvZiB0aGUgdGVhbSBsZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdEVtYWlsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaG9uZSBudW1iZXIgZm9yIHRoZSB0ZWFtIGxlYWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0UGhvbmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJ1c2luZXNzIHVuaXQgdGhlIHRlYW0gYmVsb25ncyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGJ1c2luZXNzVW5pdD86IHN0cmluZztcblxuICAvKipcbiAgICogRGVwYXJ0bWVudCB0aGUgdGVhbSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVwYXJ0bWVudD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBTdGFuZGFyZFRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRUYWdzUHJvcHMge1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIHN1cHByZXNzIHRoZSBjcmVhdGlvbiBvZiB0YWdzIHRoaXMgcmVzb3VyY2UgY3JlYXRlcy5cbiAgICogRGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGNvbnZlbmllbmNlIG1ldGhvZHMgdG8gdGFnIHJlc291cmNlcyBmb2xsb3dpbmcgVHJ1ZU1hcmsncyB0YWdnaW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUYWdzIHtcblxuICAvKipcbiAgICogVGhlIHNjb3BlIGJlaW5nIHRhZ2dlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWdzLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFnczogVGFncztcblxuICAvKipcbiAgICogSWYgdGFncyB3ZXJlIHN1cHByZXNzZWQuXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc2VkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFN0YW5kYXJkVGFncyBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byB0YWdcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBwcm9wcz86IFN0YW5kYXJkVGFnc1Byb3BzKSB7XG4gICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgIHRoaXMudGFncyA9IFRhZ3Mub2Yoc2NvcGUpO1xuICAgIHRoaXMuc3VwcHJlc3NlZCA9IHByb3BzPy5zdXBwcmVzcyA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBvcHRpb25hbCBwcm9wZXJ0aWVzIGZvciB0aGUgdGFnc1xuICAgKi9cbiAgYWRkQXV0b21hdGlvbkNvbXBvbmVudFRhZ3MocHJvcHM/OiBBdXRvbWF0aW9uQ29tcG9uZW50VGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LWlkXCIsIHByb3BzLmlkID8/IHRoaXMuc2NvcGUuY29uc3RydWN0b3IubmFtZSwgcHJvcHMpO1xuICAgICAgaWYgKHByb3BzLnVybCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdXJsXCIsIHByb3BzLnVybCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnZlbmRvcikge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdmVuZG9yXCIsIHByb3BzLnZlbmRvciwgcHJvcHMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGF1dG9tYXRpb24gdGFncy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHRoZSB0YWdzXG4gICAqL1xuICBhZGRBdXRvbWF0aW9uVGFncyhwcm9wcz86IEF1dG9tYXRpb25UYWdzUHJvcHMpOiBTdGFuZGFyZFRhZ3Mge1xuICAgIGlmICghdGhpcy5zdXBwcmVzc2VkKSB7XG4gICAgICBsZXQgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHByb3BzPy5pZFxuICAgICAgaWYgKCFpZCkge1xuICAgICAgICBpZCA9IFN0YWNrLm9mKHRoaXMuc2NvcGUpLnN0YWNrTmFtZVxuICAgICAgfVxuICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246aWRcIiwgaWQsIHByb3BzKTtcbiAgICAgIGlmIChwcm9wcz8udXJsKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJhdXRvbWF0aW9uOnVybFwiLCBwcm9wcy51cmwsIHByb3BzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBjb3N0IGNlbnRlciB0YWdzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyBmb3IgdGhlIHRhZ3NcbiAgICovXG4gIGFkZENvc3RDZW50ZXJUYWdzKHByb3BzPzogQ29zdENlbnRlclRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFncyB7XG4gICAgaWYgKHByb3BzICYmICF0aGlzLnN1cHByZXNzZWQpIHtcbiAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpidXNpbmVzcy11bml0LW5hbWVcIiwgcHJvcHMuYnVzaW5lc3NVbml0TmFtZSwgcHJvcHMpO1xuICAgICAgaWYgKHByb3BzLmJ1c2luZXNzVW5pdElkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpidXNpbmVzcy11bml0LWlkXCIsIHByb3BzLmJ1c2luZXNzVW5pdElkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6cHJvamVjdC1uYW1lXCIsIHByb3BzLnByb2plY3ROYW1lLCBwcm9wcyk7XG4gICAgICBpZiAocHJvcHMucHJvamVjdElkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpwcm9qZWN0LWlkXCIsIHByb3BzLnByb2plY3RJZCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmVudmlyb25tZW50KSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjplbnZpcm9ubWVudFwiLCBwcm9wcy5lbnZpcm9ubWVudCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmNvbnRhY3ROYW1lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpjb250YWN0LW5hbWVcIiwgcHJvcHMuY29udGFjdE5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0RW1haWwpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmNvbnRhY3QtZW1haWxcIiwgcHJvcHMuY29udGFjdEVtYWlsLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdFBob25lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpjb250YWN0LXBob25lXCIsIHByb3BzLmNvbnRhY3RQaG9uZSwgcHJvcHMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHNlY3VyaXR5IHRhZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0aWVzIGZvciBzZWN1cml0eSB0YWdzXG4gICAqL1xuICBhZGRTZWN1cml0eVRhZ3MocHJvcHM/OiBTZWN1cml0eVRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFncyB7XG4gICAgaWYgKHByb3BzICYmICF0aGlzLnN1cHByZXNzZWQpIHtcbiAgICAgIHRoaXMudGFncy5hZGQoXCJzZWN1cml0eTpkYXRhLWNsYXNzaWZpY2F0aW9uXCIsIHByb3BzLmRhdGFDbGFzc2lmaWNhdGlvbiwgcHJvcHMpO1xuICAgICAgaWYgKHByb3BzLmRhdGFTZW5zaXRpdml0eSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwic2VjdXJpdHk6ZGF0YS1zZW5zaXRpdml0eVwiLCBwcm9wcy5kYXRhU2Vuc2l0aXZpdHksIHByb3BzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0ZWFtIHRhZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0aWVzIGZvciB0ZWFtIHRhZ3NcbiAgICovXG4gIGFkZFRlYW1UYWdzKHByb3BzPzogVGVhbVRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFncyB7XG4gICAgaWYgKHByb3BzICYmICF0aGlzLnN1cHByZXNzZWQpIHtcbiAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOm5hbWVcIiwgcHJvcHMubmFtZSwgcHJvcHMpO1xuICAgICAgaWYgKHByb3BzLmlkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmlkXCIsIHByb3BzLmlkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdE5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06Y29udGFjdC1uYW1lXCIsIHByb3BzLmNvbnRhY3ROYW1lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdEVtYWlsKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmNvbnRhY3QtZW1haWxcIiwgcHJvcHMuY29udGFjdEVtYWlsLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdFBob25lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmNvbnRhY3QtaG9uZVwiLCBwcm9wcy5jb250YWN0UGhvbmUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5idXNpbmVzc1VuaXQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06YnVzaW5lc3MtdW5pdFwiLCBwcm9wcy5idXNpbmVzc1VuaXQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5kZXBhcnRtZW50KSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmRlcGFydG1lbnRcIiwgcHJvcHMuZGVwYXJ0bWVudCwgcHJvcHMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG4vKipcbiAqIENvbnRhaW5zIHN0YW5kYXJkIHRhZ2dpbmcgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZFRhZ3NPcHRpb25zIHtcblxuICAvKipcbiAgICogQXV0b21hdGlvbiB0YWdzIHRvIGFwcGx5IHRvIGNyZWF0ZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b21hdGlvblRhZ3M/OiBBdXRvbWF0aW9uVGFnc1Byb3BzO1xuXG4gIC8qKlxuICAgKiBDb3N0IGNlbnRlciB0YWdzIHRvIGFwcGx5IHRvIGNyZWF0ZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29zdENlbnRlclRhZ3M/OiBDb3N0Q2VudGVyVGFnc1Byb3BzO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSB0YWdzIHRvIGFwcGx5IHRvIGNyZWF0ZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlUYWdzPzogU2VjdXJpdHlUYWdzUHJvcHM7XG5cbiAgLyoqXG4gICAqIFRlYW0gdGFncyB0byBhcHBseSB0byBjcmVhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHRlYW1UYWdzPzogVGVhbVRhZ3NQcm9wcztcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgdGFncyB0aGlzIHJlc291cmNlIGNyZWF0ZXMuXG4gICAqIERlZmF1bHQgdmFsdWUgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFncz86IGJvb2xlYW47XG59XG4iXX0=
243
+ exports.InternalAutomationComponentTags = {
244
+ id: "{{TMCDK}}"
245
+ };
246
+ function isAutomationComponent(o) {
247
+ return "automationComponentTags" in o;
248
+ }
249
+ exports.isAutomationComponent = isAutomationComponent;
250
+ class AutomationComponentAspect {
251
+ constructor(suppressTagging) {
252
+ this.suppressed = suppressTagging !== null && suppressTagging !== void 0 ? suppressTagging : false;
253
+ }
254
+ visit(node) {
255
+ if (isAutomationComponent(node) && !this.suppressed) {
256
+ new StandardTags(node, { automationComponentTags: node.automationComponentTags });
257
+ }
258
+ }
259
+ }
260
+ exports.AutomationComponentAspect = AutomationComponentAspect;
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YW5kYXJkLXRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQTJEO0FBZ0czRDs7R0FFRztBQUNILElBQVksa0JBeUJYO0FBekJELFdBQVksa0JBQWtCO0lBQzVCOzs7T0FHRztJQUNILDREQUFzQyxDQUFBO0lBRXRDOzs7O09BSUc7SUFDSCwrQ0FBeUIsQ0FBQTtJQUV6Qjs7OztPQUlHO0lBQ0gsK0NBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCx1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBekJXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBeUI3QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxlQWlCWDtBQWpCRCxXQUFZLGVBQWU7SUFFekI7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7OztPQUdHO0lBQ0gsOEJBQVcsQ0FBQTtBQUNiLENBQUMsRUFqQlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFpQjFCO0FBa0dEOztHQUVHO0FBQ0gsTUFBYSxZQUFZO0lBaUJ2Qjs7Ozs7T0FLRztJQUNILFlBQVksS0FBZ0IsRUFBRSxLQUF5Qjs7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLG1DQUFJLEtBQUssQ0FBQztRQUVsRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxjQUFjLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDBCQUEwQixDQUFDLEtBQW9DO1FBQzdELElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM3QixJQUFJLEtBQUssQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFO2dCQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzdFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFLGlDQUFpQyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNwRixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDakU7aUJBQU07Z0JBQ0wsSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFO29CQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7aUJBQzNEO2dCQUNELElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRTtvQkFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUM3RDtnQkFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7aUJBQ25FO2FBQ0Y7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUIsQ0FBQyxLQUEyQjtRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLEVBQUUsR0FBdUIsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEVBQUUsQ0FBQTtZQUN0QyxJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUNQLEVBQUUsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFBO2FBQ3BDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMxQyxJQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNuRDtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLEtBQTJCO1FBQzNDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0UsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFO2dCQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQzVFO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRSxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDakU7WUFDRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDcEU7WUFDRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDckU7WUFDRCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDdkU7WUFDRCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDdkU7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsS0FBeUI7UUFDdkMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvRSxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDMUU7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsS0FBcUI7UUFDL0IsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlDLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMzQztZQUNELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtnQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUM5RDtZQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNoRTtZQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMvRDtZQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNoRTtZQUNELElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMzRDtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUF3QixFQUFFLEVBQXNCOztRQUMzRCxJQUFJLHVCQUF1QixHQUE2QyxTQUFTLENBQUM7UUFDbEYsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSx1QkFBdUIsTUFBSSxFQUFFLGFBQUYsRUFBRSx1QkFBRixFQUFFLENBQUUsdUJBQXVCLENBQUEsRUFBRTtZQUNoRSx1QkFBdUIsR0FBRztnQkFDeEIsRUFBRSxvQkFBRSxFQUFFLGFBQUYsRUFBRSx1QkFBRixFQUFFLENBQUUsdUJBQXVCLDBDQUFFLEVBQUUseUNBQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLHVCQUF1QiwwQ0FBRSxFQUFFLG1DQUFJLEVBQUU7Z0JBQzlFLEdBQUcsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLHVCQUF1QjtnQkFDaEMsR0FBRyxFQUFFLGFBQUYsRUFBRSx1QkFBRixFQUFFLENBQUUsdUJBQXVCO2FBQy9CLENBQUE7U0FDRjtRQUVELElBQUksY0FBYyxHQUFvQyxTQUFTLENBQUM7UUFDaEUsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxjQUFjLE1BQUksRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLGNBQWMsQ0FBQSxFQUFFO1lBQzlDLGNBQWMsR0FBRztnQkFDZixFQUFFLG9CQUFFLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxjQUFjLDBDQUFFLEVBQUUseUNBQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGNBQWMsMENBQUUsRUFBRSxtQ0FBSSxFQUFFO2dCQUM1RCxHQUFHLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxjQUFjO2dCQUN2QixHQUFHLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxjQUFjO2FBQ3RCLENBQUE7U0FDRjtRQUNELElBQUksY0FBYyxHQUFvQyxTQUFTLENBQUM7UUFDaEUsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxjQUFjLE1BQUksRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLGNBQWMsQ0FBQSxFQUFFO1lBQzlDLGNBQWMsR0FBRztnQkFDZixnQkFBZ0Isb0JBQUUsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLGNBQWMsMENBQUUsZ0JBQWdCLHlDQUFJLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxjQUFjLDBDQUFFLGdCQUFnQixtQ0FBSSxFQUFFO2dCQUN0RyxXQUFXLG9CQUFFLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxjQUFjLDBDQUFFLFdBQVcseUNBQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGNBQWMsMENBQUUsV0FBVyxtQ0FBSSxFQUFFO2dCQUN2RixHQUFHLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxjQUFjO2dCQUN2QixHQUFHLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxjQUFjO2FBQ3RCLENBQUE7U0FDRjtRQUNELElBQUksWUFBWSxHQUFrQyxTQUFTLENBQUM7UUFDNUQsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxZQUFZLE1BQUksRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLFlBQVksQ0FBQSxFQUFFO1lBQzFDLFlBQVksR0FBRztnQkFDYixrQkFBa0Isb0JBQUUsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLFlBQVksMENBQUUsa0JBQWtCLHlDQUFJLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxZQUFZLDBDQUFFLGtCQUFrQixtQ0FBSSxrQkFBa0IsQ0FBQyxVQUFVO2dCQUNuSSxHQUFHLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxZQUFZO2dCQUNyQixHQUFHLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxZQUFZO2FBQ3BCLENBQUE7U0FDRjtRQUNELElBQUksUUFBUSxHQUE4QixTQUFTLENBQUM7UUFDcEQsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxRQUFRLE1BQUksRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLFFBQVEsQ0FBQSxFQUFFO1lBQ2xDLFFBQVEsR0FBRztnQkFDVCxJQUFJLG9CQUFFLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxRQUFRLDBDQUFFLElBQUkseUNBQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFFBQVEsMENBQUUsSUFBSSxtQ0FBSSxFQUFFO2dCQUN0RCxHQUFHLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxRQUFRO2dCQUNqQixHQUFHLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxRQUFRO2FBQ2hCLENBQUE7U0FDRjtRQUNELE9BQU87WUFDTCx1QkFBdUI7WUFDdkIsY0FBYztZQUNkLGNBQWM7WUFDZCxZQUFZO1lBQ1osUUFBUTtTQUNULENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFoTkQsb0NBZ05DO0FBUVksUUFBQSwrQkFBK0IsR0FBaUM7SUFDM0UsRUFBRSxFQUFFLFdBQVc7Q0FDaEIsQ0FBQTtBQUVELFNBQWdCLHFCQUFxQixDQUFDLENBQU07SUFDMUMsT0FBTyx5QkFBeUIsSUFBSSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUZELHNEQUVDO0FBRUQsTUFBYSx5QkFBeUI7SUFJcEMsWUFBWSxlQUF5QjtRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsYUFBZixlQUFlLGNBQWYsZUFBZSxHQUFJLEtBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWdCO1FBQ3BCLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25ELElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUE7U0FDbEY7SUFDSCxDQUFDO0NBQ0Y7QUFiRCw4REFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0LCBJQ29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtJQXNwZWN0LCBTdGFjaywgVGFnUHJvcHMsIFRhZ3N9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBjb21wb25lbnQuIERlZmF1bHQgaXMgc2NvcGUuY29uc3RydWN0b3IubmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgc2NvcGUuY29uc3RydWN0b3IubmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVuZG9yIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSB2ZW5kb3I/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYXV0b21hdGlvbiB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tYXRpb25UYWdzUHJvcHMgZXh0ZW5kcyBUYWdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgc3RhY2suIElmIG9uZSBpZiBub3QgcHJvdmlkZWQsIHRoZSBuYW1lIG9mIHRoZSBzdGFjayBpcyB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCB0byB3aGVyZSB0aGUgYXV0b21hdGlvbiBpcyBzdG9yZWQgb3IgcHVibGlzaGVkLiBUaGlzIGZpZWxkIGlzIHJlcXVpcmVkXG4gICAqIHdoZW4gYXBwbHlpbmcgYXV0b21hdGlvbiB0YWdzLlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNvc3QgY2VudGVyIHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29zdENlbnRlclRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYnVzaW5lc3MgdW5pdCByZXNwb25zaWJsZSBmb3IgdGhlIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGJ1c2luZXNzVW5pdE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhlIGJ1c2luZXNzIHVuaXQgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBidXNpbmVzc1VuaXRJZD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgcHJvamVjdCByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIGNvc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhlIHByb2plY3QgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoZSBjb3N0cy5cbiAgICogSWYgbm90IHNldCwgdGhlIHRhZyBpcyBub3QgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3RJZD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgaW5jdXJyaW5nIHRoZSBjb3N0cy4gRXhhbXBsZSBcInN0YWdlXCIgb3IgXCJwcm9kXCJcbiAgICogSWYgbm90IHNldCwgdGhlIHRhZyBpcyBub3QgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBjb250YWN0IHJlc3BvbnNpYmxlIGZvciBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW1haWwgb2YgdGhlIGNvbnRhY3QgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0RW1haWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBob25lIG51bWJlciBvZiB0aGUgY29udGFjdCByZXNwb25zaWJsZSBmb3IgY29zdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKiBJZiBub3Qgc2V0LCB0aGUgdGFnIGlzIG5vdCBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdFBob25lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEhvbGRzIHZhbHVlcyB0aGF0IG1heSBiZSBhcHBsaWVkIHRvIHRoZSBkYXRhLWNsYXNzaWZpY2F0aW9uIHNlY3VyaXR5IHRhZy5cbiAqL1xuZXhwb3J0IGVudW0gRGF0YUNsYXNzaWZpY2F0aW9uIHtcbiAgLyoqXG4gICAqIFVzZWQgd2hlbiBkYXRhIG1heSBub3QgbGVhdmUgdGhlIGdlb2dyYXBoaWMgcmVnaW9uIGluIHdoaWNoIGl0IGlzIHN0b3JlZC5cbiAgICogVGhpcyBpcyB1c3VhbGx5IHJlbGF0ZWQgdG8gZ292ZXJubWVudCByZXN0cmljdGlvbnMgYXBwbGllZCB0byB0aGUgZGF0YS5cbiAgICovXG4gIEV4cG9ydFJlc3RyaWN0ZWQgPSBcImV4cG9ydC1yZXN0cmljdGVkXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiB1bmF1dGhvcml6ZWQgZGlzY2xvc3VyZSwgYWx0ZXJhdGlvbiBvciBkZXN0cnVjdGlvbiBvZiBkYXRhIHdvdWxkXG4gICAqIHJlc3VsdCBpbiBhIHNpZ25pZmljYW50IHJpc2sgdG8gdGhlIG9yZ2FuaXphdGlvbi4gVGhpcyBpbmNsdWRlcyBQSUksIFBISVxuICAgKiBhbmQgUENJIGRhdGEuXG4gICAqL1xuICBSZXN0cmljdGVkID0gXCJyZXN0cmljdGVkXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiB1bmF1dGhvcml6ZWQgZGlzY2xvc3VyZSwgYWx0ZXJhdGlvbiBvciBkZXN0cnVjdGlvbiBvZiB0aGUgZGF0YSB3b3VsZFxuICAgKiByZXN1bHQgaW4gbW9kZXJhdGUgcmlzay4gVGhpcyBpbmNsdWRlcyBhbGwgZGF0YSB0aGF0IGlzIG5vdCBpbiBvbmUgb2YgdGhlIG90aGVyXG4gICAqIGNsYXNzaWZpY2F0aW9ucy5cbiAgICovXG4gIENvbnRyb2xsZWQgPSBcImNvbnRyb2xsZWRcIixcblxuICAvKipcbiAgICogVXNlZCB3aGVuIGhhbmRsZWQgb3Igc3RvcmVkIGRhdGEgcmVhZGlseSBhdmFpbGFibGUgdG8gdGhlIHB1YmxpYy5cbiAgICovXG4gIFB1YmxpYyA9IFwicHVibGljXCJcbn1cblxuLyoqXG4gKiBIb2xkcyB2YWx1ZXMgdGhhdCBtYXkgYmUgYXBwbGllZCB0byB0aGUgZGF0YS1zZW5zaXRpdml0eSBzZWN1cml0eSB0YWcuXG4gKi9cbmV4cG9ydCBlbnVtIERhdGFTZW5zaXRpdml0eSB7XG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiByZXNvdXJjZXMgYXJlIGluIFBDSSBzY29wZS5cbiAgICovXG4gIFBDSSA9IFwicGNpXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiByZXNvdXJjZXMgaGFuZGxlIG9yIHN0b3JlIHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgUElJID0gXCJwaWlcIixcblxuICAvKipcbiAgICogVXNlZCB3aGVuIHJlc291cmNlcyBoYW5kbGUgb3Igc3RvcmUgcGVyc29uYWwgaGVhbHRoIGluZm9ybWF0aW9uIGFuZCBhcmVcbiAgICogc3ViamVjdCB0byBISVBQQSBydWxlcy5cbiAgICovXG4gIFBISSA9IFwicGhpXCJcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBzZWN1cml0eSB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5VGFnc1Byb3BzIGV4dGVuZHMgVGFnUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEYXRhIGNsYXNzaWZpY2F0aW9uIHZhbHVlLiBTZWUgdGhlIFRydWVNYXJrIEFXUyB0YWdnaW5nIHN0cmF0ZWd5IGRvY3VtZW50YXRpb24uXG4gICAqL1xuICByZWFkb25seSBkYXRhQ2xhc3NpZmljYXRpb246IERhdGFDbGFzc2lmaWNhdGlvbjtcblxuICAvKipcbiAgICogRGF0YSBzZW5zaXRpdml0eS4gU2VlIHRoZSBUcnVlTWFyayBBV1MgdGFnZ2luZyBzdHJhdGVneSBkb2N1bWVudGF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVNlbnNpdGl2aXR5PzogRGF0YVNlbnNpdGl2aXR5O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRlYW0gdGFncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZWFtVGFnc1Byb3BzIGV4dGVuZHMgVGFnUHJvcHMge1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB0ZWFtLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGlmIGRpZmZlcmVudCB0aGFuIHRoZSB0ZWFtIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgdGVhbSBsZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVtYWlsIG9mIHRoZSB0ZWFtIGxlYWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0RW1haWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBob25lIG51bWJlciBmb3IgdGhlIHRlYW0gbGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3RQaG9uZT86IHN0cmluZztcblxuICAvKipcbiAgICogQnVzaW5lc3MgdW5pdCB0aGUgdGVhbSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVzaW5lc3NVbml0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXBhcnRtZW50IHRoZSB0ZWFtIGJlbG9uZ3MgdG8uXG4gICAqL1xuICByZWFkb25seSBkZXBhcnRtZW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnRhaW5zIHN0YW5kYXJkIHRhZ2dpbmcgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZFRhZ3NQcm9wcyB7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuXG4gICAqL1xuICByZWFkb25seSBhdXRvbWF0aW9uQ29tcG9uZW50VGFncz86IEF1dG9tYXRpb25Db21wb25lbnRUYWdzUHJvcHM7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpb24gdGFncyB0byBhcHBseSB0byBjcmVhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGF1dG9tYXRpb25UYWdzPzogQXV0b21hdGlvblRhZ3NQcm9wcztcblxuICAvKipcbiAgICogQ29zdCBjZW50ZXIgdGFncyB0byBhcHBseSB0byBjcmVhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGNvc3RDZW50ZXJUYWdzPzogQ29zdENlbnRlclRhZ3NQcm9wcztcblxuICAvKipcbiAgICogU2VjdXJpdHkgdGFncyB0byBhcHBseSB0byBjcmVhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5VGFncz86IFNlY3VyaXR5VGFnc1Byb3BzO1xuXG4gIC8qKlxuICAgKiBUZWFtIHRhZ3MgdG8gYXBwbHkgdG8gY3JlYXRlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSB0ZWFtVGFncz86IFRlYW1UYWdzUHJvcHM7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIHRhZ3MgdGhpcyByZXNvdXJjZSBjcmVhdGVzLlxuICAgKiBEZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGNvbnZlbmllbmNlIG1ldGhvZHMgdG8gdGFnIHJlc291cmNlcyBmb2xsb3dpbmcgVHJ1ZU1hcmsncyB0YWdnaW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUYWdzIHtcblxuICAvKipcbiAgICogVGhlIHNjb3BlIGJlaW5nIHRhZ2dlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWdzLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFnczogVGFncztcblxuICAvKipcbiAgICogSWYgdGFncyB3ZXJlIHN1cHByZXNzZWQuXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc2VkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFN0YW5kYXJkVGFncyBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byB0YWdcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBwcm9wcz86IFN0YW5kYXJkVGFnc1Byb3BzKSB7XG4gICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgIHRoaXMudGFncyA9IFRhZ3Mub2Yoc2NvcGUpO1xuICAgIHRoaXMuc3VwcHJlc3NlZCA9IHByb3BzPy5zdXBwcmVzc1RhZ2dpbmcgPz8gZmFsc2U7XG5cbiAgICB0aGlzLmFkZEF1dG9tYXRpb25Db21wb25lbnRUYWdzKHByb3BzPy5hdXRvbWF0aW9uQ29tcG9uZW50VGFncyk7XG4gICAgdGhpcy5hZGRBdXRvbWF0aW9uVGFncyhwcm9wcz8uYXV0b21hdGlvblRhZ3MpO1xuICAgIHRoaXMuYWRkQ29zdENlbnRlclRhZ3MocHJvcHM/LmNvc3RDZW50ZXJUYWdzKTtcbiAgICB0aGlzLmFkZFNlY3VyaXR5VGFncyhwcm9wcz8uc2VjdXJpdHlUYWdzKTtcbiAgICB0aGlzLmFkZFRlYW1UYWdzKHByb3BzPy50ZWFtVGFncyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhdXRvbWF0aW9uIGNvbXBvbmVudCB0YWdzLiBUaGVzZSBhcmUgbWVhbnQgdG8gYmUgdXNlZCBpbiBpbmRpdmlkdWFsIGNvbnN0cnVjdHMgdG8gaWRlbnRpZnlcbiAgICogd2hhdCByZXNvdXJjZXMgd2VyZSBzdG9vZCB1cCBieSBzcGVjaWZpYyBjb25zdHJ1Y3RzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgb3B0aW9uYWwgcHJvcGVydGllcyBmb3IgdGhlIHRhZ3NcbiAgICovXG4gIGFkZEF1dG9tYXRpb25Db21wb25lbnRUYWdzKHByb3BzPzogQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFncyB7XG4gICAgaWYgKHByb3BzICYmICF0aGlzLnN1cHByZXNzZWQpIHtcbiAgICAgIGlmIChwcm9wcy5pZCA9PT0gXCJ7e1RNQ0RLfX1cIikge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtaWRcIiwgdGhpcy5zY29wZS5jb25zdHJ1Y3Rvci5uYW1lLCBwcm9wcyk7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJhdXRvbWF0aW9uOmNvbXBvbmVudC11cmxcIiwgXCJodHRwczovL2dpdGh1Yi5jb20vdHJ1ZW1hcmsvY2RrXCIsIHByb3BzKTtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LXZlbmRvclwiLCBcIlRydWVNYXJrXCIsIHByb3BzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChwcm9wcy5pZCkge1xuICAgICAgICAgIHRoaXMudGFncy5hZGQoXCJhdXRvbWF0aW9uOmNvbXBvbmVudC1pZFwiLCBwcm9wcy5pZCwgcHJvcHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcy51cmwpIHtcbiAgICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdXJsXCIsIHByb3BzLnVybCwgcHJvcHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcy52ZW5kb3IpIHtcbiAgICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdmVuZG9yXCIsIHByb3BzLnZlbmRvciwgcHJvcHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYXV0b21hdGlvbiB0YWdzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyBmb3IgdGhlIHRhZ3NcbiAgICovXG4gIGFkZEF1dG9tYXRpb25UYWdzKHByb3BzPzogQXV0b21hdGlvblRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFncyB7XG4gICAgaWYgKCF0aGlzLnN1cHByZXNzZWQpIHtcbiAgICAgIGxldCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gcHJvcHM/LmlkXG4gICAgICBpZiAoIWlkKSB7XG4gICAgICAgIGlkID0gU3RhY2sub2YodGhpcy5zY29wZSkuc3RhY2tOYW1lXG4gICAgICB9XG4gICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjppZFwiLCBpZCwgcHJvcHMpO1xuICAgICAgaWYgKHByb3BzPy51cmwpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246dXJsXCIsIHByb3BzLnVybCwgcHJvcHMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGNvc3QgY2VudGVyIHRhZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0aWVzIGZvciB0aGUgdGFnc1xuICAgKi9cbiAgYWRkQ29zdENlbnRlclRhZ3MocHJvcHM/OiBDb3N0Q2VudGVyVGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmJ1c2luZXNzLXVuaXQtbmFtZVwiLCBwcm9wcy5idXNpbmVzc1VuaXROYW1lLCBwcm9wcyk7XG4gICAgICBpZiAocHJvcHMuYnVzaW5lc3NVbml0SWQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmJ1c2luZXNzLXVuaXQtaWRcIiwgcHJvcHMuYnVzaW5lc3NVbml0SWQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpwcm9qZWN0LW5hbWVcIiwgcHJvcHMucHJvamVjdE5hbWUsIHByb3BzKTtcbiAgICAgIGlmIChwcm9wcy5wcm9qZWN0SWQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOnByb2plY3QtaWRcIiwgcHJvcHMucHJvamVjdElkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZW52aXJvbm1lbnQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmVudmlyb25tZW50XCIsIHByb3BzLmVudmlyb25tZW50LCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdE5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmNvbnRhY3QtbmFtZVwiLCBwcm9wcy5jb250YWN0TmFtZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmNvbnRhY3RFbWFpbCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6Y29udGFjdC1lbWFpbFwiLCBwcm9wcy5jb250YWN0RW1haWwsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0UGhvbmUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmNvbnRhY3QtcGhvbmVcIiwgcHJvcHMuY29udGFjdFBob25lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgc2VjdXJpdHkgdGFncy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHNlY3VyaXR5IHRhZ3NcbiAgICovXG4gIGFkZFNlY3VyaXR5VGFncyhwcm9wcz86IFNlY3VyaXR5VGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgdGhpcy50YWdzLmFkZChcInNlY3VyaXR5OmRhdGEtY2xhc3NpZmljYXRpb25cIiwgcHJvcHMuZGF0YUNsYXNzaWZpY2F0aW9uLCBwcm9wcyk7XG4gICAgICBpZiAocHJvcHMuZGF0YVNlbnNpdGl2aXR5KSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJzZWN1cml0eTpkYXRhLXNlbnNpdGl2aXR5XCIsIHByb3BzLmRhdGFTZW5zaXRpdml0eSwgcHJvcHMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRlYW0gdGFncy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHRlYW0gdGFnc1xuICAgKi9cbiAgYWRkVGVhbVRhZ3MocHJvcHM/OiBUZWFtVGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06bmFtZVwiLCBwcm9wcy5uYW1lLCBwcm9wcyk7XG4gICAgICBpZiAocHJvcHMuaWQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06aWRcIiwgcHJvcHMuaWQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0TmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpjb250YWN0LW5hbWVcIiwgcHJvcHMuY29udGFjdE5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0RW1haWwpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06Y29udGFjdC1lbWFpbFwiLCBwcm9wcy5jb250YWN0RW1haWwsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0UGhvbmUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06Y29udGFjdC1ob25lXCIsIHByb3BzLmNvbnRhY3RQaG9uZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmJ1c2luZXNzVW5pdCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpidXNpbmVzcy11bml0XCIsIHByb3BzLmJ1c2luZXNzVW5pdCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmRlcGFydG1lbnQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06ZGVwYXJ0bWVudFwiLCBwcm9wcy5kZXBhcnRtZW50LCBwcm9wcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc3RhdGljIG1lcmdlKGZyb20/OiBTdGFuZGFyZFRhZ3NQcm9wcywgdG8/OiBTdGFuZGFyZFRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFnc1Byb3BzIHtcbiAgICBsZXQgYXV0b21hdGlvbkNvbXBvbmVudFRhZ3M6IEF1dG9tYXRpb25Db21wb25lbnRUYWdzUHJvcHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZyb20/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzIHx8IHRvPy5hdXRvbWF0aW9uQ29tcG9uZW50VGFncykge1xuICAgICAgYXV0b21hdGlvbkNvbXBvbmVudFRhZ3MgPSB7XG4gICAgICAgIGlkOiB0bz8uYXV0b21hdGlvbkNvbXBvbmVudFRhZ3M/LmlkID8/IGZyb20/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzPy5pZCA/PyBcIlwiLFxuICAgICAgICAuLi5mcm9tPy5hdXRvbWF0aW9uQ29tcG9uZW50VGFncyxcbiAgICAgICAgLi4udG8/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzXG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGF1dG9tYXRpb25UYWdzOiBBdXRvbWF0aW9uVGFnc1Byb3BzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChmcm9tPy5hdXRvbWF0aW9uVGFncyB8fCB0bz8uYXV0b21hdGlvblRhZ3MpIHtcbiAgICAgIGF1dG9tYXRpb25UYWdzID0ge1xuICAgICAgICBpZDogdG8/LmF1dG9tYXRpb25UYWdzPy5pZCA/PyBmcm9tPy5hdXRvbWF0aW9uVGFncz8uaWQgPz8gXCJcIixcbiAgICAgICAgLi4uZnJvbT8uYXV0b21hdGlvblRhZ3MsXG4gICAgICAgIC4uLnRvPy5hdXRvbWF0aW9uVGFnc1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgY29zdENlbnRlclRhZ3M6IENvc3RDZW50ZXJUYWdzUHJvcHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZyb20/LmNvc3RDZW50ZXJUYWdzIHx8IHRvPy5jb3N0Q2VudGVyVGFncykge1xuICAgICAgY29zdENlbnRlclRhZ3MgPSB7XG4gICAgICAgIGJ1c2luZXNzVW5pdE5hbWU6IHRvPy5jb3N0Q2VudGVyVGFncz8uYnVzaW5lc3NVbml0TmFtZSA/PyBmcm9tPy5jb3N0Q2VudGVyVGFncz8uYnVzaW5lc3NVbml0TmFtZSA/PyBcIlwiLFxuICAgICAgICBwcm9qZWN0TmFtZTogdG8/LmNvc3RDZW50ZXJUYWdzPy5wcm9qZWN0TmFtZSA/PyBmcm9tPy5jb3N0Q2VudGVyVGFncz8ucHJvamVjdE5hbWUgPz8gXCJcIixcbiAgICAgICAgLi4uZnJvbT8uY29zdENlbnRlclRhZ3MsXG4gICAgICAgIC4uLnRvPy5jb3N0Q2VudGVyVGFnc1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgc2VjdXJpdHlUYWdzOiBTZWN1cml0eVRhZ3NQcm9wcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoZnJvbT8uc2VjdXJpdHlUYWdzIHx8IHRvPy5zZWN1cml0eVRhZ3MpIHtcbiAgICAgIHNlY3VyaXR5VGFncyA9IHtcbiAgICAgICAgZGF0YUNsYXNzaWZpY2F0aW9uOiB0bz8uc2VjdXJpdHlUYWdzPy5kYXRhQ2xhc3NpZmljYXRpb24gPz8gZnJvbT8uc2VjdXJpdHlUYWdzPy5kYXRhQ2xhc3NpZmljYXRpb24gPz8gRGF0YUNsYXNzaWZpY2F0aW9uLkNvbnRyb2xsZWQsXG4gICAgICAgIC4uLmZyb20/LnNlY3VyaXR5VGFncyxcbiAgICAgICAgLi4udG8/LnNlY3VyaXR5VGFnc1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgdGVhbVRhZ3M6IFRlYW1UYWdzUHJvcHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZyb20/LnRlYW1UYWdzIHx8IHRvPy50ZWFtVGFncykge1xuICAgICAgdGVhbVRhZ3MgPSB7XG4gICAgICAgIG5hbWU6IHRvPy50ZWFtVGFncz8ubmFtZSA/PyBmcm9tPy50ZWFtVGFncz8ubmFtZSA/PyBcIlwiLFxuICAgICAgICAuLi5mcm9tPy50ZWFtVGFncyxcbiAgICAgICAgLi4udG8/LnRlYW1UYWdzXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBhdXRvbWF0aW9uQ29tcG9uZW50VGFncyxcbiAgICAgIGF1dG9tYXRpb25UYWdzLFxuICAgICAgY29zdENlbnRlclRhZ3MsXG4gICAgICBzZWN1cml0eVRhZ3MsXG4gICAgICB0ZWFtVGFnc1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBdXRvbWF0aW9uQ29tcG9uZW50IHtcblxuICByZWFkb25seSBhdXRvbWF0aW9uQ29tcG9uZW50VGFncz86IEF1dG9tYXRpb25Db21wb25lbnRUYWdzUHJvcHM7XG5cbn1cblxuZXhwb3J0IGNvbnN0IEludGVybmFsQXV0b21hdGlvbkNvbXBvbmVudFRhZ3M6IEF1dG9tYXRpb25Db21wb25lbnRUYWdzUHJvcHMgPSB7XG4gIGlkOiBcInt7VE1DREt9fVwiXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0F1dG9tYXRpb25Db21wb25lbnQobzogYW55KTogbyBpcyBJQXV0b21hdGlvbkNvbXBvbmVudCB7XG4gIHJldHVybiBcImF1dG9tYXRpb25Db21wb25lbnRUYWdzXCIgaW4gbztcbn1cblxuZXhwb3J0IGNsYXNzIEF1dG9tYXRpb25Db21wb25lbnRBc3BlY3QgaW1wbGVtZW50cyBJQXNwZWN0IHtcblxuICByZWFkb25seSBzdXBwcmVzc2VkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN1cHByZXNzZWQgPSBzdXBwcmVzc1RhZ2dpbmcgPz8gZmFsc2U7XG4gIH1cblxuICB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKGlzQXV0b21hdGlvbkNvbXBvbmVudChub2RlKSAmJiAhdGhpcy5zdXBwcmVzc2VkKSB7XG4gICAgICBuZXcgU3RhbmRhcmRUYWdzKG5vZGUsIHsgYXV0b21hdGlvbkNvbXBvbmVudFRhZ3M6IG5vZGUuYXV0b21hdGlvbkNvbXBvbmVudFRhZ3MgfSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { Construct } from "constructs";
2
2
  import { IKey } from "aws-cdk-lib/aws-kms";
3
+ import { IAutomationComponent } from "../../aws-cdk";
3
4
  /**
4
5
  * Properties for AlertsTopic
5
6
  */
@@ -33,6 +34,7 @@ export interface AlertsTopicProps {
33
34
  /**
34
35
  * Sets up an SNS Topic that will send notifications to CenterGauge.
35
36
  */
36
- export declare class AlertsTopic extends Construct {
37
+ export declare class AlertsTopic extends Construct implements IAutomationComponent {
38
+ readonly automationComponentTags: import("../../aws-cdk").AutomationComponentTagsProps;
37
39
  constructor(scope: Construct, id: string, props: AlertsTopicProps);
38
40
  }
@@ -6,7 +6,6 @@ const aws_sns_1 = require("aws-cdk-lib/aws-sns");
6
6
  const aws_kms_1 = require("aws-cdk-lib/aws-kms");
7
7
  const aws_sqs_1 = require("../../aws-sqs");
8
8
  const aws_iam_1 = require("aws-cdk-lib/aws-iam");
9
- const helpers_1 = require("../../helpers");
10
9
  const aws_cdk_1 = require("../../aws-cdk");
11
10
  /**
12
11
  * Sets up an SNS Topic that will send notifications to CenterGauge.
@@ -15,6 +14,7 @@ class AlertsTopic extends constructs_1.Construct {
15
14
  constructor(scope, id, props) {
16
15
  var _a, _b, _c;
17
16
  super(scope, id);
17
+ this.automationComponentTags = aws_cdk_1.InternalAutomationComponentTags;
18
18
  const masterKey = (_a = props.masterKey) !== null && _a !== void 0 ? _a : aws_kms_1.Alias.fromAliasName(this, "AwsSnsKey", "aws/sns");
19
19
  const dlq = new aws_sqs_1.StandardQueue(this, "Dlq", {
20
20
  maxReceiveCount: -1,
@@ -58,13 +58,7 @@ class AlertsTopic extends constructs_1.Construct {
58
58
  "deadLetterTargetArn": dlq.queueArn
59
59
  })
60
60
  });
61
- new aws_cdk_1.StandardTags(this, {
62
- suppress: props === null || props === void 0 ? void 0 : props.suppressTagging
63
- }).addAutomationComponentTags({
64
- url: helpers_1.CDK_NPMJS_URL,
65
- vendor: helpers_1.CDK_VENDOR
66
- });
67
61
  }
68
62
  }
69
63
  exports.AlertsTopic = AlertsTopic;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnRzLXRvcGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYWxlcnRzLXRvcGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxpREFBMkQ7QUFDM0QsaURBQWdEO0FBQ2hELDJDQUE0QztBQUM1QyxpREFBMEU7QUFDMUUsMkNBQXdEO0FBQ3hELDJDQUEyQztBQXFDM0M7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUV4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCOztRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sU0FBUyxTQUFHLEtBQUssQ0FBQyxTQUFTLG1DQUFJLGVBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV2RixNQUFNLEdBQUcsR0FBRyxJQUFJLHVCQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtZQUN6QyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQ25CLG9CQUFvQixFQUFFO2dCQUNwQixPQUFPLEVBQUUsQ0FBQzthQUNYO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLEdBQUcsSUFBSSxlQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN2QyxXQUFXLFFBQUUsS0FBSyxDQUFDLFdBQVcsbUNBQUksbUJBQW1CO1lBQ3JELElBQUksRUFBRSxLQUFLO1lBQ1gsU0FBUztTQUNWLENBQUMsQ0FBQztRQUVILEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLHlCQUFlLENBQUM7WUFDMUMsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztZQUNwQixHQUFHLEVBQUUsT0FBTztZQUNaLFVBQVUsRUFBRSxDQUFDLElBQUksc0JBQVksRUFBRSxDQUFDO1lBQ2hDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzVCLFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUU7b0JBQ1gsZUFBZSxFQUFFLEtBQUssQ0FBQyxRQUFRO2lCQUNoQzthQUNGO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLHlCQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxRQUFFLEtBQUssQ0FBQyxHQUFHLG1DQUFJLGlDQUFpQztZQUN4RCxrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLGNBQWMsRUFBRTtnQkFDZCxvQkFBb0IsRUFBRTtvQkFDcEIsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLG1CQUFtQixFQUFFLENBQUM7b0JBQ3RCLGdCQUFnQixFQUFFLEVBQUU7b0JBQ3BCLGdCQUFnQixFQUFFLEdBQUc7b0JBQ3JCLG9CQUFvQixFQUFFLENBQUM7b0JBQ3ZCLG9CQUFvQixFQUFFLENBQUM7b0JBQ3ZCLGlCQUFpQixFQUFFLFFBQVE7aUJBQzVCO2FBQ0Y7WUFDRCxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDNUIscUJBQXFCLEVBQUUsR0FBRyxDQUFDLFFBQVE7YUFDcEMsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILElBQUksc0JBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsUUFBUSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO1NBQ2pDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztZQUM1QixHQUFHLEVBQUUsdUJBQWE7WUFDbEIsTUFBTSxFQUFFLG9CQUFVO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTVERCxrQ0E0REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7Q2ZuU3Vic2NyaXB0aW9uLCBUb3BpY30gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnNcIjtcbmltcG9ydCB7QWxpYXMsIElLZXl9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCI7XG5pbXBvcnQge1N0YW5kYXJkUXVldWV9IGZyb20gXCIuLi8uLi9hd3Mtc3FzXCI7XG5pbXBvcnQge0FueVByaW5jaXBhbCwgRWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1J9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBBbGVydHNUb3BpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0c1RvcGljUHJvcHMge1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgZGVmYXVsdCB0b3BpYyBkaXNwbGF5IG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiQ2VudGVyR2F1Z2VBbGVydHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgdXNlIG9mIHRoZSBkZWZhdWx0IGF3cy9zbnMgS01TIGtleSBmb3IgZW5jcnlwdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCB1c2VzIEFXUyBtYW5hZ2VkIFNOUyBLTVMga2V5XG4gICAqL1xuICByZWFkb25seSBtYXN0ZXJLZXk/OiBJS2V5O1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgdGhlIGRlZmF1bHQgYWxlcnRzIFVSTC5cbiAgICpcbiAgICogQGRlZmF1bHQgaHR0cHM6Ly9hbGVydHMuY2VudGVyZ2F1Z2UuY29tL1xuICAgKi9cbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIHN1cHByZXNzIHRoZSBjcmVhdGlvbiBvZiBkZWZhdWx0IHRhZ3Mgb24gcmVzb3VyY2VzXG4gICAqIGNyZWF0ZWQgYnkgdGhpcyBjb25zdHJ1Y3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU2V0cyB1cCBhbiBTTlMgVG9waWMgdGhhdCB3aWxsIHNlbmQgbm90aWZpY2F0aW9ucyB0byBDZW50ZXJHYXVnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFsZXJ0c1RvcGljIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQWxlcnRzVG9waWNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBtYXN0ZXJLZXkgPSBwcm9wcy5tYXN0ZXJLZXkgPz8gQWxpYXMuZnJvbUFsaWFzTmFtZSh0aGlzLCBcIkF3c1Nuc0tleVwiLCBcImF3cy9zbnNcIik7XG5cbiAgICBjb25zdCBkbHEgPSBuZXcgU3RhbmRhcmRRdWV1ZSh0aGlzLCBcIkRscVwiLCB7XG4gICAgICBtYXhSZWNlaXZlQ291bnQ6IC0xLFxuICAgICAgY3JpdGljYWxBbGFybU9wdGlvbnM6IHtcbiAgICAgICAgbWF4U2l6ZTogMVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgdG9waWMgPSBuZXcgVG9waWModGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGRpc3BsYXlOYW1lOiBwcm9wcy5kaXNwbGF5TmFtZSA/PyBcIkNlbnRlckdhdWdlQWxlcnRzXCIsXG4gICAgICBmaWZvOiBmYWxzZSxcbiAgICAgIG1hc3RlcktleVxuICAgIH0pO1xuXG4gICAgZGxxLmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIHNpZDogXCJGaXJzdFwiLFxuICAgICAgcHJpbmNpcGFsczogW25ldyBBbnlQcmluY2lwYWwoKV0sXG4gICAgICBhY3Rpb25zOiBbXCJzcXM6U2VuZE1lc3NhZ2VcIl0sXG4gICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgIFwiQXJuRXF1YWxzXCI6IHtcbiAgICAgICAgICBcImF3czpTb3VyY2VBcm5cIjogdG9waWMudG9waWNBcm5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcblxuICAgIG5ldyBDZm5TdWJzY3JpcHRpb24odGhpcywgXCJTdWJzY3JpcHRpb25cIiwge1xuICAgICAgdG9waWNBcm46IHRvcGljLnRvcGljQXJuLFxuICAgICAgcHJvdG9jb2w6IFwiaHR0cHNcIixcbiAgICAgIGVuZHBvaW50OiBwcm9wcy51cmwgPz8gXCJodHRwczovL2FsZXJ0cy5jZW50ZXJnYXVnZS5jb20vXCIsXG4gICAgICByYXdNZXNzYWdlRGVsaXZlcnk6IGZhbHNlLFxuICAgICAgZGVsaXZlcnlQb2xpY3k6IHtcbiAgICAgICAgXCJoZWFsdGh5UmV0cnlQb2xpY3lcIjoge1xuICAgICAgICAgIFwibnVtUmV0cmllc1wiOiAxMCxcbiAgICAgICAgICBcIm51bU5vRGVsYXlSZXRyaWVzXCI6IDAsXG4gICAgICAgICAgXCJtaW5EZWxheVRhcmdldFwiOiAzMCxcbiAgICAgICAgICBcIm1heERlbGF5VGFyZ2V0XCI6IDEyMCxcbiAgICAgICAgICBcIm51bU1pbkRlbGF5UmV0cmllc1wiOiAzLFxuICAgICAgICAgIFwibnVtTWF4RGVsYXlSZXRyaWVzXCI6IDAsXG4gICAgICAgICAgXCJiYWNrb2ZmRnVuY3Rpb25cIjogXCJsaW5lYXJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcmVkcml2ZVBvbGljeTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBcImRlYWRMZXR0ZXJUYXJnZXRBcm5cIjogZGxxLnF1ZXVlQXJuXG4gICAgICB9KVxuICAgIH0pO1xuXG4gICAgbmV3IFN0YW5kYXJkVGFncyh0aGlzLCB7XG4gICAgICBzdXBwcmVzczogcHJvcHM/LnN1cHByZXNzVGFnZ2luZ1xuICAgIH0pLmFkZEF1dG9tYXRpb25Db21wb25lbnRUYWdzKHtcbiAgICAgIHVybDogQ0RLX05QTUpTX1VSTCxcbiAgICAgIHZlbmRvcjogQ0RLX1ZFTkRPUlxuICAgIH0pO1xuICB9XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnRzLXRvcGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYWxlcnRzLXRvcGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxpREFBMkQ7QUFDM0QsaURBQWdEO0FBQ2hELDJDQUE0QztBQUM1QyxpREFBMEU7QUFDMUUsMkNBQW9GO0FBcUNwRjs7R0FFRztBQUNILE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBSXhDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUI7O1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFIViw0QkFBdUIsR0FBRyx5Q0FBK0IsQ0FBQztRQUtqRSxNQUFNLFNBQVMsU0FBRyxLQUFLLENBQUMsU0FBUyxtQ0FBSSxlQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFdkYsTUFBTSxHQUFHLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDekMsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUNuQixvQkFBb0IsRUFBRTtnQkFDcEIsT0FBTyxFQUFFLENBQUM7YUFDWDtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxHQUFHLElBQUksZUFBSyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDdkMsV0FBVyxRQUFFLEtBQUssQ0FBQyxXQUFXLG1DQUFJLG1CQUFtQjtZQUNyRCxJQUFJLEVBQUUsS0FBSztZQUNYLFNBQVM7U0FDVixDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSx5QkFBZSxDQUFDO1lBQzFDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7WUFDcEIsR0FBRyxFQUFFLE9BQU87WUFDWixVQUFVLEVBQUUsQ0FBQyxJQUFJLHNCQUFZLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUM1QixVQUFVLEVBQUU7Z0JBQ1YsV0FBVyxFQUFFO29CQUNYLGVBQWUsRUFBRSxLQUFLLENBQUMsUUFBUTtpQkFDaEM7YUFDRjtTQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSx5QkFBZSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsUUFBRSxLQUFLLENBQUMsR0FBRyxtQ0FBSSxpQ0FBaUM7WUFDeEQsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixjQUFjLEVBQUU7Z0JBQ2Qsb0JBQW9CLEVBQUU7b0JBQ3BCLFlBQVksRUFBRSxFQUFFO29CQUNoQixtQkFBbUIsRUFBRSxDQUFDO29CQUN0QixnQkFBZ0IsRUFBRSxFQUFFO29CQUNwQixnQkFBZ0IsRUFBRSxHQUFHO29CQUNyQixvQkFBb0IsRUFBRSxDQUFDO29CQUN2QixvQkFBb0IsRUFBRSxDQUFDO29CQUN2QixpQkFBaUIsRUFBRSxRQUFRO2lCQUM1QjthQUNGO1lBQ0QsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQzVCLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxRQUFRO2FBQ3BDLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF2REQsa0NBdURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0NmblN1YnNjcmlwdGlvbiwgVG9waWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc25zXCI7XG5pbXBvcnQge0FsaWFzLCBJS2V5fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHtTdGFuZGFyZFF1ZXVlfSBmcm9tIFwiLi4vLi4vYXdzLXNxc1wiO1xuaW1wb3J0IHtBbnlQcmluY2lwYWwsIEVmZmVjdCwgUG9saWN5U3RhdGVtZW50fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHtJQXV0b21hdGlvbkNvbXBvbmVudCwgSW50ZXJuYWxBdXRvbWF0aW9uQ29tcG9uZW50VGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBBbGVydHNUb3BpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0c1RvcGljUHJvcHMge1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgZGVmYXVsdCB0b3BpYyBkaXNwbGF5IG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiQ2VudGVyR2F1Z2VBbGVydHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgdXNlIG9mIHRoZSBkZWZhdWx0IGF3cy9zbnMgS01TIGtleSBmb3IgZW5jcnlwdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCB1c2VzIEFXUyBtYW5hZ2VkIFNOUyBLTVMga2V5XG4gICAqL1xuICByZWFkb25seSBtYXN0ZXJLZXk/OiBJS2V5O1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgdGhlIGRlZmF1bHQgYWxlcnRzIFVSTC5cbiAgICpcbiAgICogQGRlZmF1bHQgaHR0cHM6Ly9hbGVydHMuY2VudGVyZ2F1Z2UuY29tL1xuICAgKi9cbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIHN1cHByZXNzIHRoZSBjcmVhdGlvbiBvZiBkZWZhdWx0IHRhZ3Mgb24gcmVzb3VyY2VzXG4gICAqIGNyZWF0ZWQgYnkgdGhpcyBjb25zdHJ1Y3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU2V0cyB1cCBhbiBTTlMgVG9waWMgdGhhdCB3aWxsIHNlbmQgbm90aWZpY2F0aW9ucyB0byBDZW50ZXJHYXVnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFsZXJ0c1RvcGljIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUF1dG9tYXRpb25Db21wb25lbnQge1xuXG4gIHJlYWRvbmx5IGF1dG9tYXRpb25Db21wb25lbnRUYWdzID0gSW50ZXJuYWxBdXRvbWF0aW9uQ29tcG9uZW50VGFncztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQWxlcnRzVG9waWNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBtYXN0ZXJLZXkgPSBwcm9wcy5tYXN0ZXJLZXkgPz8gQWxpYXMuZnJvbUFsaWFzTmFtZSh0aGlzLCBcIkF3c1Nuc0tleVwiLCBcImF3cy9zbnNcIik7XG5cbiAgICBjb25zdCBkbHEgPSBuZXcgU3RhbmRhcmRRdWV1ZSh0aGlzLCBcIkRscVwiLCB7XG4gICAgICBtYXhSZWNlaXZlQ291bnQ6IC0xLFxuICAgICAgY3JpdGljYWxBbGFybU9wdGlvbnM6IHtcbiAgICAgICAgbWF4U2l6ZTogMVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgdG9waWMgPSBuZXcgVG9waWModGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGRpc3BsYXlOYW1lOiBwcm9wcy5kaXNwbGF5TmFtZSA/PyBcIkNlbnRlckdhdWdlQWxlcnRzXCIsXG4gICAgICBmaWZvOiBmYWxzZSxcbiAgICAgIG1hc3RlcktleVxuICAgIH0pO1xuXG4gICAgZGxxLmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIHNpZDogXCJGaXJzdFwiLFxuICAgICAgcHJpbmNpcGFsczogW25ldyBBbnlQcmluY2lwYWwoKV0sXG4gICAgICBhY3Rpb25zOiBbXCJzcXM6U2VuZE1lc3NhZ2VcIl0sXG4gICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgIFwiQXJuRXF1YWxzXCI6IHtcbiAgICAgICAgICBcImF3czpTb3VyY2VBcm5cIjogdG9waWMudG9waWNBcm5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcblxuICAgIG5ldyBDZm5TdWJzY3JpcHRpb24odGhpcywgXCJTdWJzY3JpcHRpb25cIiwge1xuICAgICAgdG9waWNBcm46IHRvcGljLnRvcGljQXJuLFxuICAgICAgcHJvdG9jb2w6IFwiaHR0cHNcIixcbiAgICAgIGVuZHBvaW50OiBwcm9wcy51cmwgPz8gXCJodHRwczovL2FsZXJ0cy5jZW50ZXJnYXVnZS5jb20vXCIsXG4gICAgICByYXdNZXNzYWdlRGVsaXZlcnk6IGZhbHNlLFxuICAgICAgZGVsaXZlcnlQb2xpY3k6IHtcbiAgICAgICAgXCJoZWFsdGh5UmV0cnlQb2xpY3lcIjoge1xuICAgICAgICAgIFwibnVtUmV0cmllc1wiOiAxMCxcbiAgICAgICAgICBcIm51bU5vRGVsYXlSZXRyaWVzXCI6IDAsXG4gICAgICAgICAgXCJtaW5EZWxheVRhcmdldFwiOiAzMCxcbiAgICAgICAgICBcIm1heERlbGF5VGFyZ2V0XCI6IDEyMCxcbiAgICAgICAgICBcIm51bU1pbkRlbGF5UmV0cmllc1wiOiAzLFxuICAgICAgICAgIFwibnVtTWF4RGVsYXlSZXRyaWVzXCI6IDAsXG4gICAgICAgICAgXCJiYWNrb2ZmRnVuY3Rpb25cIjogXCJsaW5lYXJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcmVkcml2ZVBvbGljeTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBcImRlYWRMZXR0ZXJUYXJnZXRBcm5cIjogZGxxLnF1ZXVlQXJuXG4gICAgICB9KVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -8,6 +8,10 @@ import { NodePackageManager } from "./enums";
8
8
  * Properties for CdkPipeline
9
9
  */
10
10
  export interface CdkPipelineProps {
11
+ /**
12
+ * By default, CDK will name the pipeline. Set this to override the name.
13
+ */
14
+ readonly pipelineName?: string;
11
15
  /**
12
16
  * By default, CDK will create KMS keys for cross account deployments. This
13
17
  * can be costly if you have a large number of pipelines. This property
@@ -24,7 +24,8 @@ class CdkPipeline extends constructs_1.Construct {
24
24
  accountIds: props.accountIds
25
25
  });
26
26
  const underlyingPipeline = new aws_codepipeline_1.Pipeline(this, 'Pipeline', {
27
- artifactBucket
27
+ artifactBucket,
28
+ pipelineName: props.pipelineName
28
29
  });
29
30
  let input;
30
31
  if (props.connectionArn !== undefined) {
@@ -125,4 +126,4 @@ class CdkPipeline extends constructs_1.Construct {
125
126
  }
126
127
  }
127
128
  exports.CdkPipeline = CdkPipeline;
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXBpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxtRUFBc0Q7QUFDdEQsaURBQXdDO0FBQ3hDLHVEQUFpRDtBQUNqRCxxREFTK0I7QUFDL0IsNkRBQStGO0FBQy9GLDZFQUFzRTtBQUN0RSw2Q0FBeUM7QUFDekMsK0RBQXNEO0FBQ3RELG1DQUEyQztBQThHM0M7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUt4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCOztRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sYUFBYSxHQUFHLGFBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUUsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNoRSxhQUFhO1lBQ2IsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzdCLENBQUMsQ0FBQztRQUVILE1BQU0sa0JBQWtCLEdBQUcsSUFBSSwyQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDeEQsY0FBYztTQUNmLENBQUMsQ0FBQztRQUVILElBQUksS0FBeUIsQ0FBQztRQUM5QixJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO1lBQ3JDLEtBQUssR0FBRyw4QkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNwRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7YUFDbkMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FB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Q0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLGdCQUFnQixFQUFFO29CQUNoQixVQUFVLEVBQUUsK0JBQWUsQ0FBQyxnQkFBZ0I7aUJBQzdDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsRUFBRTtZQUN0QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxxREFBd0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO2dCQUNqRixNQUFNLEVBQUUsa0JBQWtCO2dCQUMxQiw0QkFBNEIsRUFBRSxLQUFLLENBQUMsNEJBQTRCO2FBQ2pFLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZLEVBQUUsT0FBc0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVLEVBQUUsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBdkhELGtDQXVIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtQaXBlbGluZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcbmltcG9ydCB7S2V5fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHtBcnRpZmFjdEJ1Y2tldH0gZnJvbSBcIi4vYXJ0aWZhY3QtYnVja2V0XCI7XG5pbXBvcnQge1xuICBBZGRTdGFnZU9wdHMsXG4gIENvZGVQaXBlbGluZSxcbiAgQ29kZVBpcGVsaW5lU291cmNlLFxuICBJRmlsZVNldFByb2R1Y2VyLFxuICBTaGVsbFN0ZXAsXG4gIFN0YWdlRGVwbG95bWVudCxcbiAgV2F2ZSxcbiAgV2F2ZU9wdGlvbnNcbn0gZnJvbSBcImF3cy1jZGstbGliL3BpcGVsaW5lc1wiO1xuaW1wb3J0IHtCdWlsZFNwZWMsIENvbXB1dGVUeXBlLCBJQnVpbGRJbWFnZSwgTGludXhCdWlsZEltYWdlfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiO1xuaW1wb3J0IHtQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGV9IGZyb20gXCIuL3BpcGVsaW5lLW5vdGlmaWNhdGlvbi1ydWxlXCI7XG5pbXBvcnQge1N0YWNrLCBTdGFnZX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1JlcG9zaXRvcnl9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdFwiO1xuaW1wb3J0IHtOb2RlUGFja2FnZU1hbmFnZXJ9IGZyb20gXCIuL2VudW1zXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgQ2RrUGlwZWxpbmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtQaXBlbGluZVByb3BzIHtcblxuICAvKipcbiAgICogQnkgZGVmYXVsdCwgQ0RLIHdpbGwgY3JlYXRlIEtNUyBrZXlzIGZvciBjcm9zcyBhY2NvdW50IGRlcGxveW1lbnRzLiBUaGlzXG4gICAqIGNhbiBiZSBjb3N0bHkgaWYgeW91IGhhdmUgYSBsYXJnZSBudW1iZXIgb2YgcGlwZWxpbmVzLiBUaGlzIHByb3BlcnR5XG4gICAqIGFsbG93cyBhIGNvbW1vbiBrZXkgdG8gYmUgc2hhcmVkIGFjcm9zcyBwaXBlbGluZXMuXG4gICAqL1xuICByZWFkb25seSBrZXlBcm46IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBhY2NvdW50IElEcyB0aGlzIHBpcGVsaW5lIHdpbGwgZGVwbG95IGludG8uXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFybiBvZiB0aGUgQ29kZVN0YXIgY29ubmVjdGlvbiB1c2VkIHRvIGFjY2VzcyB0aGUgc291cmNlIGNvZGUgcmVwb3NpdG9yeS4gSWYgbm90IHNldCwgdGhpc1xuICAgKiBjb25zdHJ1Y3QgYXNzdW1lcyB0aGUgcmVwb3NpdG9yeSBpcyBpbiBBV1MgQ29kZUNvbW1pdC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25Bcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB1c2UgaW5zaWRlIHRoZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHNlbGYtbXV0YXRpb24uIFVzZWZ1bCBmb3IgY2RrIHBpcGVsaW5lIGRldmVsb3BtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWxmTXV0YXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgJ3N5bnRoJyBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJFbmFibGVkRm9yU3ludGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgc2VsZi1tdXRhdGUgc3RlcC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgY29tcHV0ZSB0byB1c2UgZm9yIHRoaXMgYnVpbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0IENvbXB1dGVUeXBlLlNNQUxMXG4gICAqL1xuICByZWFkb25seSBjb21wdXRlVHlwZT86IENvbXB1dGVUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgdG8gdXNlIGZvciBidWlsZHMuIERlZmF1bHQgaXMgTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzRcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkSW1hZ2U/OiBJQnVpbGRJbWFnZTtcblxuICAvKipcbiAgICogVGhlIFNsYWNrIGNoYW5uZWwgY29uZmlndXJhdGlvbiB0byB1c2UgZm9yIG5vdGlmaWNhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBub3RpZmljYXRpb24gZXZlbnRzIHRvIHJlY2VpdmUuIEJ5IGRlZmF1bHQsIHRoaXMgaXMgYWxsIG5vdGlmaWNhdGlvbnMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2R0Y29uc29sZS9sYXRlc3QvdXNlcmd1aWRlL2NvbmNlcHRzLmh0bWwjZXZlbnRzLXJlZi1waXBlbGluZVxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgRmlsZVNldHMgdG8gcHV0IGluIG90aGVyIGRpcmVjdG9yaWVzXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsSW5wdXRzPzogUmVjb3JkPHN0cmluZywgSUZpbGVTZXRQcm9kdWNlcj47XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBkZWZhdWx0IGNvbW1hbmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHVibGljIGFzc2V0cyBpbiBtdWx0aXBsZSBDb2RlQnVpbGQgcHJvamVjdHMuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoQXNzZXRzSW5QYXJhbGxlbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBhY2thZ2UgbWFuYWdlciB0byB1c2Ugd2hlbiBleGVjdXRpbmcgQ0RLLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU1hbmFnZXI/OiBOb2RlUGFja2FnZU1hbmFnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3RvcnkgdGhlIENESyBwcm9qZWN0IGlzIGxvY2F0ZWQgaW4gdGhlIHJlcG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gXCIuXCJcbiAgICovXG4gIHJlYWRvbmx5IGNka0RpcmVjdG9yeT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiBhYnN0cmFjdGlvbiB0byBlYXNlIENESyBwaXBlbGluZSBjcmVhdGlvbiBhbmQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENka1BpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICByZWFkb25seSBwaXBlbGluZTogQ29kZVBpcGVsaW5lO1xuICByZWFkb25seSBwaXBlbGluZU5vdGlmaWNhdGlvblJ1bGU/OiBQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENka1BpcGVsaW5lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZW5jcnlwdGlvbktleSA9IEtleS5mcm9tS2V5QXJuKHRoaXMsICdFbmNyeXB0aW9uS2V5JywgcHJvcHMua2V5QXJuKTtcblxuICAgIGNvbnN0IGFydGlmYWN0QnVja2V0ID0gbmV3IEFydGlmYWN0QnVja2V0KHRoaXMsICdBcnRpZmFjdEJ1Y2tldCcsIHtcbiAgICAgIGVuY3J5cHRpb25LZXksXG4gICAgICBhY2NvdW50SWRzOiBwcm9wcy5hY2NvdW50SWRzXG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmRlcmx5aW5nUGlwZWxpbmUgPSBuZXcgUGlwZWxpbmUodGhpcywgJ1BpcGVsaW5lJywge1xuICAgICAgYXJ0aWZhY3RCdWNrZXRcbiAgICB9KTtcblxuICAgIGxldCBpbnB1dDogQ29kZVBpcGVsaW5lU291cmNlO1xuICAgIGlmIChwcm9wcy5jb25uZWN0aW9uQXJuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlucHV0ID0gQ29kZVBpcGVsaW5lU291cmNlLmNvbm5lY3Rpb24ocHJvcHMucmVwb3NpdG9yeSwgcHJvcHMuYnJhbmNoLCB7XG4gICAgICAgIGNvbm5lY3Rpb25Bcm46IHByb3BzLmNvbm5lY3Rpb25Bcm5cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZXBvc2l0b3J5ID0gcHJvcHMucmVwb3NpdG9yeS5zdGFydHNXaXRoKFwiYXJuOlwiKVxuICAgICAgICA/IFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4odGhpcywgXCJSZXBvc2l0b3J5XCIsIHByb3BzLnJlcG9zaXRvcnkpXG4gICAgICAgIDogUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeU5hbWUodGhpcywgXCJSZXBvc2l0b3J5XCIsIHByb3BzLnJlcG9zaXRvcnkpXG4gICAgICBpbnB1dCA9IENvZGVQaXBlbGluZVNvdXJjZS5jb2RlQ29tbWl0KHJlcG9zaXRvcnksIHByb3BzLmJyYW5jaCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhY2tOYW1lID0gU3RhY2sub2YodGhpcykuc3RhY2tOYW1lO1xuICAgIGNvbnN0IGNka0RpcmVjdG9yeSA9IHByb3BzLmNka0RpcmVjdG9yeSA/PyBcIi5cIjtcblxuICAgIGxldCBjb21tYW5kczogc3RyaW5nW10gfCB1bmRlZmluZWQgPSBwcm9wcy5jb21tYW5kcztcbiAgICBpZiAoY29tbWFuZHMgPT09IHVuZGVmaW5lZCAmJiBwcm9wcy5wYWNrYWdlTWFuYWdlciA9PT0gTm9kZVBhY2thZ2VNYW5hZ2VyLlBOUE0pIHtcbiAgICAgIGNvbW1hbmRzID0gW1xuICAgICAgICBgY2QgJHtjZGtEaXJlY3RvcnkgPz8gXCIuXCJ9YCxcbiAgICAgICAgJ25wbSAtZyBpbnN0YWxsIHBucG0nLFxuICAgICAgICAncG5wbSBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlIC0tcHJlZmVyLW9mZmxpbmUnLFxuICAgICAgICAncG5wbSBydW4gYnVpbGQnLFxuICAgICAgICAncG5wbSBydW4gdGVzdCcsXG4gICAgICAgIGBwbnB4IGNkayBzeW50aCAke3N0YWNrTmFtZX1gXG4gICAgICBdXG4gICAgfSBlbHNlIGlmIChjb21tYW5kcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb21tYW5kcyA9IFtcbiAgICAgICAgYGNkICR7Y2RrRGlyZWN0b3J5ID8/IFwiLlwifWAsXG4gICAgICAgICducG0gY29uZmlnIHNldCBmdW5kIGZhbHNlJyxcbiAgICAgICAgJ25wbSBjaSAtLXByZWZlci1vZmZsaW5lJyxcbiAgICAgICAgJ25wbSBydW4gYnVpbGQnLFxuICAgICAgICAnbnBtIHJ1biB0ZXN0JyxcbiAgICAgICAgYG5weCBjZGsgc3ludGggJHtzdGFja05hbWV9YFxuICAgICAgXVxuICAgIH1cblxuICAgIHRoaXMucGlwZWxpbmUgPSBuZXcgQ29kZVBpcGVsaW5lKHRoaXMsICdDb2RlUGlwZWxpbmUnLCB7XG4gICAgICBjb2RlUGlwZWxpbmU6IHVuZGVybHlpbmdQaXBlbGluZSxcbiAgICAgIHNlbGZNdXRhdGlvbjogcHJvcHMuc2VsZk11dGF0aW9uID8/IHRydWUsXG4gICAgICBkb2NrZXJFbmFibGVkRm9yU3ludGg6IHByb3BzLmRvY2tlckVuYWJsZWRGb3JTeW50aCA/PyB0cnVlLFxuICAgICAgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbjogcHJvcHMuZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbiA/PyB0cnVlLFxuICAgICAgcHVibGlzaEFzc2V0c0luUGFyYWxsZWw6IHByb3BzLnB1Ymxpc2hBc3NldHNJblBhcmFsbGVsID8/IGZhbHNlLFxuICAgICAgc3ludGg6IG5ldyBTaGVsbFN0ZXAoJ1N5bnRoJywge1xuICAgICAgICBwcmltYXJ5T3V0cHV0RGlyZWN0b3J5OiBgJHtjZGtEaXJlY3Rvcnl9L2Nkay5vdXRgLFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgY29tbWFuZHMsXG4gICAgICAgIGFkZGl0aW9uYWxJbnB1dHM6IHByb3BzLmFkZGl0aW9uYWxJbnB1dHM/P3t9XG4gICAgICB9KSxcbiAgICAgIHN5bnRoQ29kZUJ1aWxkRGVmYXVsdHM6IHtcbiAgICAgICAgLy8gY2FjaGU6IENhY2hlLmxvY2FsKCksIC8vIFRPRE8gTm90IHN1cHBvcnRlZCBvbiBBUk1cbiAgICAgICAgcGFydGlhbEJ1aWxkU3BlYzogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICAgIC8vIFRPRE8gTmVlZCB0byBsb29rIGludG8gdGhpcyBmdXJ0aGVyXG4gICAgICAgICAgY2FjaGU6IHtcbiAgICAgICAgICAgIHBhdGhzOiBcIi90bXAvbnBtLWNhY2hlXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBoYXNlczoge1xuICAgICAgICAgICAgaW5zdGFsbDoge1xuICAgICAgICAgICAgICBjb21tYW5kczogW1xuICAgICAgICAgICAgICAgIFwibiAxNlwiLCAvLyBJbnN0YWxsIE5vZGUgdjE2XG4gICAgICAgICAgICAgICAgXCJucG0gaSAtLWxvY2F0aW9uPWdsb2JhbCAtLW5vLWZ1bmQgZXNidWlsZFwiIC8vIEluc3RhbGwgZXNidWlsZCBsb2NhbGx5XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBidWlsZEVudmlyb25tZW50OiB7XG4gICAgICAgICAgY29tcHV0ZVR5cGU6IHByb3BzLmNvbXB1dGVUeXBlID8/IENvbXB1dGVUeXBlLlNNQUxMLFxuICAgICAgICAgIGJ1aWxkSW1hZ2U6IHByb3BzLmJ1aWxkSW1hZ2UgPz8gTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzRcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGFzc2V0UHVibGlzaGluZ0NvZGVCdWlsZERlZmF1bHRzOiB7XG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBidWlsZEltYWdlOiBMaW51eEJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzJfNFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2VsZk11dGF0aW9uQ29kZUJ1aWxkRGVmYXVsdHM6IHtcbiAgICAgICAgYnVpbGRFbnZpcm9ubWVudDoge1xuICAgICAgICAgIGJ1aWxkSW1hZ2U6IExpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl80XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjb2RlQnVpbGREZWZhdWx0czoge1xuICAgICAgICBidWlsZEVudmlyb25tZW50OiB7XG4gICAgICAgICAgYnVpbGRJbWFnZTogTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuKSB7XG4gICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZSA9IG5ldyBQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGUodGhpcywgJ05vdGlmaWNhdGlvbicsIHtcbiAgICAgICAgc291cmNlOiB1bmRlcmx5aW5nUGlwZWxpbmUsXG4gICAgICAgIHNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm46IHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm5cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFkZFN0YWdlKHN0YWdlOiBTdGFnZSwgb3B0aW9ucz86IEFkZFN0YWdlT3B0cyk6IFN0YWdlRGVwbG95bWVudCB7XG4gICAgcmV0dXJuIHRoaXMucGlwZWxpbmUuYWRkU3RhZ2Uoc3RhZ2UsIG9wdGlvbnMpO1xuICB9XG5cbiAgYWRkV2F2ZShpZDogc3RyaW5nLCBvcHRpb25zPzogV2F2ZU9wdGlvbnMpOiBXYXZlIHtcbiAgICByZXR1cm4gdGhpcy5waXBlbGluZS5hZGRXYXZlKGlkLCBvcHRpb25zKTtcbiAgfVxufVxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXBpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxtRUFBc0Q7QUFDdEQsaURBQXdDO0FBQ3hDLHVEQUFpRDtBQUNqRCxxREFTK0I7QUFDL0IsNkRBQStGO0FBQy9GLDZFQUFzRTtBQUN0RSw2Q0FBeUM7QUFDekMsK0RBQXNEO0FBQ3RELG1DQUEyQztBQW1IM0M7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUt4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCOztRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sYUFBYSxHQUFHLGFBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUUsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNoRSxhQUFhO1lBQ2IsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzdCLENBQUMsQ0FBQztRQUVILE1BQU0sa0JBQWtCLEdBQUcsSUFBSSwyQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDeEQsY0FBYztZQUNkLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtTQUNqQyxDQUFDLENBQUM7UUFFSCxJQUFJLEtBQXlCLENBQUM7UUFDOUIsSUFBSSxLQUFLLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUNyQyxLQUFLLEdBQUcsOEJBQWtCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDcEUsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO2FBQ25DLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BELENBQUMsQ0FBQywyQkFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQztnQkFDcEUsQ0FBQyxDQUFDLDJCQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDdkUsS0FBSyxHQUFHLDhCQUFrQixDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsTUFBTSxTQUFTLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzNDLE1BQU0sWUFBWSxTQUFHLEtBQUssQ0FBQyxZQUFZLG1DQUFJLEdBQUcsQ0FBQztRQUUvQyxJQUFJLFFBQVEsR0FBeUIsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNwRCxJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSywwQkFBa0IsQ0FBQyxJQUFJLEVBQUU7WUFDOUUsUUFBUSxHQUFHO2dCQUNULE1BQU0sWUFBWSxhQUFaLFlBQVksY0FBWixZQUFZLEdBQUksR0FBRyxFQUFFO2dCQUMzQixxQkFBcUI7Z0JBQ3JCLGlEQUFpRDtnQkFDakQsZ0JBQWdCO2dCQUNoQixlQUFlO2dCQUNmLGtCQUFrQixTQUFTLEVBQUU7YUFDOUIsQ0FBQTtTQUNGO2FBQU0sSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQ2pDLFFBQVEsR0FBRztnQkFDVCxNQUFNLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLEdBQUcsRUFBRTtnQkFDM0IsMkJBQTJCO2dCQUMzQix5QkFBeUI7Z0JBQ3pCLGVBQWU7Z0JBQ2YsY0FBYztnQkFDZCxpQkFBaUIsU0FBUyxFQUFFO2FBQzdCLENBQUE7U0FDRjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx3QkFBWSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDckQsWUFBWSxFQUFFLGtCQUFrQjtZQUNoQyxZQUFZLFFBQUUsS0FBSyxDQUFDLFlBQVksbUNBQUksSUFBSTtZQUN4QyxxQkFBcUIsUUFBRSxLQUFLLENBQUMscUJBQXFCLG1DQUFJLElBQUk7WUFDMUQsNEJBQTRCLFFBQUUsS0FBSyxDQUFDLDRCQUE0QixtQ0FBSSxJQUFJO1lBQ3hFLHVCQUF1QixRQUFFLEtBQUssQ0FBQyx1QkFBdUIsbUNBQUksS0FBSztZQUMvRCxLQUFLLEVBQUUsSUFBSSxxQkFBUyxDQUFDLE9BQU8sRUFBRTtnQkFDNUIsc0JBQXNCLEVBQUUsR0FBRyxZQUFZLFVBQVU7Z0JBQ2pELEtBQUs7Z0JBQ0wsUUFBUTtnQkFDUixnQkFBZ0IsUUFBRSxLQUFLLENBQUMsZ0JBQWdCLG1DQUFFLEVBQUU7YUFDN0MsQ0FBQztZQUNGLHNCQUFzQixFQUFFO2dCQUN0QixxREFBcUQ7Z0JBQ3JELGdCQUFnQixFQUFFLHlCQUFTLENBQUMsVUFBVSxDQUFDO29CQUNyQyxzQ0FBc0M7b0JBQ3RDLEtBQUssRUFBRTt3QkFDTCxLQUFLLEVBQUUsZ0JBQWdCO3FCQUN4QjtvQkFDRCxNQUFNLEVBQUU7d0JBQ04sT0FBTyxFQUFFOzRCQUNQLFFBQVEsRUFBRTtnQ0FDUixNQUFNO2dDQUNOLDJDQUEyQyxDQUFDLDBCQUEwQjs2QkFDdkU7eUJBQ0Y7cUJBQ0Y7aUJBQ0YsQ0FBQztnQkFDRixnQkFBZ0IsRUFBRTtvQkFDaEIsV0FBVyxRQUFFLEtBQUssQ0FBQyxXQUFXLG1DQUFJLDJCQUFXLENBQUMsS0FBSztvQkFDbkQsVUFBVSxRQUFFLEtBQUssQ0FBQyxVQUFVLG1DQUFJLCtCQUFlLENBQUMsZ0JBQWdCO2lCQUNqRTthQUNGO1lBQ0QsZ0NBQWdDLEVBQUU7Z0JBQ2hDLGdCQUFnQixFQUFFO29CQUNoQixVQUFVLEVBQUUsK0JBQWUsQ0FBQyxnQkFBZ0I7aUJBQzdDO2FBQ0Y7WUFDRCw2QkFBNkIsRUFBRTtnQkFDN0IsZ0JBQWdCLEVBQUU7b0JBQ2hCLFVBQVUsRUFBRSwrQkFBZSxDQUFDLGdCQUFnQjtpQkFDN0M7YUFDRjtZQUNELGlCQUFpQixFQUFFO2dCQUNqQixnQkFBZ0IsRUFBRTtvQkFDaEIsVUFBVSxFQUFFLCtCQUFlLENBQUMsZ0JBQWdCO2lCQUM3QzthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxLQUFLLENBQUMsNEJBQTRCLEVBQUU7WUFDdEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUkscURBQXdCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtnQkFDakYsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLDRCQUE0QjthQUNqRSxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWSxFQUFFLE9BQXNCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVSxFQUFFLE9BQXFCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQXhIRCxrQ0F3SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7UGlwZWxpbmV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge0tleX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1rbXNcIjtcbmltcG9ydCB7QXJ0aWZhY3RCdWNrZXR9IGZyb20gXCIuL2FydGlmYWN0LWJ1Y2tldFwiO1xuaW1wb3J0IHtcbiAgQWRkU3RhZ2VPcHRzLFxuICBDb2RlUGlwZWxpbmUsXG4gIENvZGVQaXBlbGluZVNvdXJjZSxcbiAgSUZpbGVTZXRQcm9kdWNlcixcbiAgU2hlbGxTdGVwLFxuICBTdGFnZURlcGxveW1lbnQsXG4gIFdhdmUsXG4gIFdhdmVPcHRpb25zXG59IGZyb20gXCJhd3MtY2RrLWxpYi9waXBlbGluZXNcIjtcbmltcG9ydCB7QnVpbGRTcGVjLCBDb21wdXRlVHlwZSwgSUJ1aWxkSW1hZ2UsIExpbnV4QnVpbGRJbWFnZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlYnVpbGRcIjtcbmltcG9ydCB7UGlwZWxpbmVOb3RpZmljYXRpb25SdWxlfSBmcm9tIFwiLi9waXBlbGluZS1ub3RpZmljYXRpb24tcnVsZVwiO1xuaW1wb3J0IHtTdGFjaywgU3RhZ2V9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtSZXBvc2l0b3J5fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVjb21taXRcIjtcbmltcG9ydCB7Tm9kZVBhY2thZ2VNYW5hZ2VyfSBmcm9tIFwiLi9lbnVtc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIENka1BpcGVsaW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrUGlwZWxpbmVQcm9wcyB7XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIENESyB3aWxsIG5hbWUgdGhlIHBpcGVsaW5lLiBTZXQgdGhpcyB0byBvdmVycmlkZSB0aGUgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQnkgZGVmYXVsdCwgQ0RLIHdpbGwgY3JlYXRlIEtNUyBrZXlzIGZvciBjcm9zcyBhY2NvdW50IGRlcGxveW1lbnRzLiBUaGlzXG4gICAqIGNhbiBiZSBjb3N0bHkgaWYgeW91IGhhdmUgYSBsYXJnZSBudW1iZXIgb2YgcGlwZWxpbmVzLiBUaGlzIHByb3BlcnR5XG4gICAqIGFsbG93cyBhIGNvbW1vbiBrZXkgdG8gYmUgc2hhcmVkIGFjcm9zcyBwaXBlbGluZXMuXG4gICAqL1xuICByZWFkb25seSBrZXlBcm46IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBhY2NvdW50IElEcyB0aGlzIHBpcGVsaW5lIHdpbGwgZGVwbG95IGludG8uXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFybiBvZiB0aGUgQ29kZVN0YXIgY29ubmVjdGlvbiB1c2VkIHRvIGFjY2VzcyB0aGUgc291cmNlIGNvZGUgcmVwb3NpdG9yeS4gSWYgbm90IHNldCwgdGhpc1xuICAgKiBjb25zdHJ1Y3QgYXNzdW1lcyB0aGUgcmVwb3NpdG9yeSBpcyBpbiBBV1MgQ29kZUNvbW1pdC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25Bcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB1c2UgaW5zaWRlIHRoZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHNlbGYtbXV0YXRpb24uIFVzZWZ1bCBmb3IgY2RrIHBpcGVsaW5lIGRldmVsb3BtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWxmTXV0YXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgJ3N5bnRoJyBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJFbmFibGVkRm9yU3ludGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgc2VsZi1tdXRhdGUgc3RlcC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgY29tcHV0ZSB0byB1c2UgZm9yIHRoaXMgYnVpbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0IENvbXB1dGVUeXBlLlNNQUxMXG4gICAqL1xuICByZWFkb25seSBjb21wdXRlVHlwZT86IENvbXB1dGVUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgdG8gdXNlIGZvciBidWlsZHMuIERlZmF1bHQgaXMgTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzRcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkSW1hZ2U/OiBJQnVpbGRJbWFnZTtcblxuICAvKipcbiAgICogVGhlIFNsYWNrIGNoYW5uZWwgY29uZmlndXJhdGlvbiB0byB1c2UgZm9yIG5vdGlmaWNhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBub3RpZmljYXRpb24gZXZlbnRzIHRvIHJlY2VpdmUuIEJ5IGRlZmF1bHQsIHRoaXMgaXMgYWxsIG5vdGlmaWNhdGlvbnMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2R0Y29uc29sZS9sYXRlc3QvdXNlcmd1aWRlL2NvbmNlcHRzLmh0bWwjZXZlbnRzLXJlZi1waXBlbGluZVxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgRmlsZVNldHMgdG8gcHV0IGluIG90aGVyIGRpcmVjdG9yaWVzXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsSW5wdXRzPzogUmVjb3JkPHN0cmluZywgSUZpbGVTZXRQcm9kdWNlcj47XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBkZWZhdWx0IGNvbW1hbmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHVibGljIGFzc2V0cyBpbiBtdWx0aXBsZSBDb2RlQnVpbGQgcHJvamVjdHMuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoQXNzZXRzSW5QYXJhbGxlbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBhY2thZ2UgbWFuYWdlciB0byB1c2Ugd2hlbiBleGVjdXRpbmcgQ0RLLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU1hbmFnZXI/OiBOb2RlUGFja2FnZU1hbmFnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3RvcnkgdGhlIENESyBwcm9qZWN0IGlzIGxvY2F0ZWQgaW4gdGhlIHJlcG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gXCIuXCJcbiAgICovXG4gIHJlYWRvbmx5IGNka0RpcmVjdG9yeT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiBhYnN0cmFjdGlvbiB0byBlYXNlIENESyBwaXBlbGluZSBjcmVhdGlvbiBhbmQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENka1BpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICByZWFkb25seSBwaXBlbGluZTogQ29kZVBpcGVsaW5lO1xuICByZWFkb25seSBwaXBlbGluZU5vdGlmaWNhdGlvblJ1bGU/OiBQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENka1BpcGVsaW5lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZW5jcnlwdGlvbktleSA9IEtleS5mcm9tS2V5QXJuKHRoaXMsICdFbmNyeXB0aW9uS2V5JywgcHJvcHMua2V5QXJuKTtcblxuICAgIGNvbnN0IGFydGlmYWN0QnVja2V0ID0gbmV3IEFydGlmYWN0QnVja2V0KHRoaXMsICdBcnRpZmFjdEJ1Y2tldCcsIHtcbiAgICAgIGVuY3J5cHRpb25LZXksXG4gICAgICBhY2NvdW50SWRzOiBwcm9wcy5hY2NvdW50SWRzXG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmRlcmx5aW5nUGlwZWxpbmUgPSBuZXcgUGlwZWxpbmUodGhpcywgJ1BpcGVsaW5lJywge1xuICAgICAgYXJ0aWZhY3RCdWNrZXQsXG4gICAgICBwaXBlbGluZU5hbWU6IHByb3BzLnBpcGVsaW5lTmFtZVxuICAgIH0pO1xuXG4gICAgbGV0IGlucHV0OiBDb2RlUGlwZWxpbmVTb3VyY2U7XG4gICAgaWYgKHByb3BzLmNvbm5lY3Rpb25Bcm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5wdXQgPSBDb2RlUGlwZWxpbmVTb3VyY2UuY29ubmVjdGlvbihwcm9wcy5yZXBvc2l0b3J5LCBwcm9wcy5icmFuY2gsIHtcbiAgICAgICAgY29ubmVjdGlvbkFybjogcHJvcHMuY29ubmVjdGlvbkFyblxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBwcm9wcy5yZXBvc2l0b3J5LnN0YXJ0c1dpdGgoXCJhcm46XCIpXG4gICAgICAgID8gUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeUFybih0aGlzLCBcIlJlcG9zaXRvcnlcIiwgcHJvcHMucmVwb3NpdG9yeSlcbiAgICAgICAgOiBSZXBvc2l0b3J5LmZyb21SZXBvc2l0b3J5TmFtZSh0aGlzLCBcIlJlcG9zaXRvcnlcIiwgcHJvcHMucmVwb3NpdG9yeSlcbiAgICAgIGlucHV0ID0gQ29kZVBpcGVsaW5lU291cmNlLmNvZGVDb21taXQocmVwb3NpdG9yeSwgcHJvcHMuYnJhbmNoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFja05hbWUgPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG4gICAgY29uc3QgY2RrRGlyZWN0b3J5ID0gcHJvcHMuY2RrRGlyZWN0b3J5ID8/IFwiLlwiO1xuXG4gICAgbGV0IGNvbW1hbmRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCA9IHByb3BzLmNvbW1hbmRzO1xuICAgIGlmIChjb21tYW5kcyA9PT0gdW5kZWZpbmVkICYmIHByb3BzLnBhY2thZ2VNYW5hZ2VyID09PSBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTSkge1xuICAgICAgY29tbWFuZHMgPSBbXG4gICAgICAgIGBjZCAke2Nka0RpcmVjdG9yeSA/PyBcIi5cIn1gLFxuICAgICAgICAnbnBtIC1nIGluc3RhbGwgcG5wbScsXG4gICAgICAgICdwbnBtIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUgLS1wcmVmZXItb2ZmbGluZScsXG4gICAgICAgICdwbnBtIHJ1biBidWlsZCcsXG4gICAgICAgICdwbnBtIHJ1biB0ZXN0JyxcbiAgICAgICAgYHBucHggY2RrIHN5bnRoICR7c3RhY2tOYW1lfWBcbiAgICAgIF1cbiAgICB9IGVsc2UgaWYgKGNvbW1hbmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbW1hbmRzID0gW1xuICAgICAgICBgY2QgJHtjZGtEaXJlY3RvcnkgPz8gXCIuXCJ9YCxcbiAgICAgICAgJ25wbSBjb25maWcgc2V0IGZ1bmQgZmFsc2UnLFxuICAgICAgICAnbnBtIGNpIC0tcHJlZmVyLW9mZmxpbmUnLFxuICAgICAgICAnbnBtIHJ1biBidWlsZCcsXG4gICAgICAgICducG0gcnVuIHRlc3QnLFxuICAgICAgICBgbnB4IGNkayBzeW50aCAke3N0YWNrTmFtZX1gXG4gICAgICBdXG4gICAgfVxuXG4gICAgdGhpcy5waXBlbGluZSA9IG5ldyBDb2RlUGlwZWxpbmUodGhpcywgJ0NvZGVQaXBlbGluZScsIHtcbiAgICAgIGNvZGVQaXBlbGluZTogdW5kZXJseWluZ1BpcGVsaW5lLFxuICAgICAgc2VsZk11dGF0aW9uOiBwcm9wcy5zZWxmTXV0YXRpb24gPz8gdHJ1ZSxcbiAgICAgIGRvY2tlckVuYWJsZWRGb3JTeW50aDogcHJvcHMuZG9ja2VyRW5hYmxlZEZvclN5bnRoID8/IHRydWUsXG4gICAgICBkb2NrZXJFbmFibGVkRm9yU2VsZk11dGF0aW9uOiBwcm9wcy5kb2NrZXJFbmFibGVkRm9yU2VsZk11dGF0aW9uID8/IHRydWUsXG4gICAgICBwdWJsaXNoQXNzZXRzSW5QYXJhbGxlbDogcHJvcHMucHVibGlzaEFzc2V0c0luUGFyYWxsZWwgPz8gZmFsc2UsXG4gICAgICBzeW50aDogbmV3IFNoZWxsU3RlcCgnU3ludGgnLCB7XG4gICAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6IGAke2Nka0RpcmVjdG9yeX0vY2RrLm91dGAsXG4gICAgICAgIGlucHV0LFxuICAgICAgICBjb21tYW5kcyxcbiAgICAgICAgYWRkaXRpb25hbElucHV0czogcHJvcHMuYWRkaXRpb25hbElucHV0cz8/e31cbiAgICAgIH0pLFxuICAgICAgc3ludGhDb2RlQnVpbGREZWZhdWx0czoge1xuICAgICAgICAvLyBjYWNoZTogQ2FjaGUubG9jYWwoKSwgLy8gVE9ETyBOb3Qgc3VwcG9ydGVkIG9uIEFSTVxuICAgICAgICBwYXJ0aWFsQnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgICAgLy8gVE9ETyBOZWVkIHRvIGxvb2sgaW50byB0aGlzIGZ1cnRoZXJcbiAgICAgICAgICBjYWNoZToge1xuICAgICAgICAgICAgcGF0aHM6IFwiL3RtcC9ucG0tY2FjaGVcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICBpbnN0YWxsOiB7XG4gICAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgICAgXCJuIDE2XCIsIC8vIEluc3RhbGwgTm9kZSB2MTZcbiAgICAgICAgICAgICAgICBcIm5wbSBpIC0tbG9jYXRpb249Z2xvYmFsIC0tbm8tZnVuZCBlc2J1aWxkXCIgLy8gSW5zdGFsbCBlc2J1aWxkIGxvY2FsbHlcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBjb21wdXRlVHlwZTogcHJvcHMuY29tcHV0ZVR5cGUgPz8gQ29tcHV0ZVR5cGUuU01BTEwsXG4gICAgICAgICAgYnVpbGRJbWFnZTogcHJvcHMuYnVpbGRJbWFnZSA/PyBMaW51eEJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzJfNFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgYXNzZXRQdWJsaXNoaW5nQ29kZUJ1aWxkRGVmYXVsdHM6IHtcbiAgICAgICAgYnVpbGRFbnZpcm9ubWVudDoge1xuICAgICAgICAgIGJ1aWxkSW1hZ2U6IExpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl80XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzZWxmTXV0YXRpb25Db2RlQnVpbGREZWZhdWx0czoge1xuICAgICAgICBidWlsZEVudmlyb25tZW50OiB7XG4gICAgICAgICAgYnVpbGRJbWFnZTogTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzRcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGNvZGVCdWlsZERlZmF1bHRzOiB7XG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBidWlsZEltYWdlOiBMaW51eEJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzJfNFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm4pIHtcbiAgICAgIHRoaXMucGlwZWxpbmVOb3RpZmljYXRpb25SdWxlID0gbmV3IFBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZSh0aGlzLCAnTm90aWZpY2F0aW9uJywge1xuICAgICAgICBzb3VyY2U6IHVuZGVybHlpbmdQaXBlbGluZSxcbiAgICAgICAgc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybjogcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFyblxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYWRkU3RhZ2Uoc3RhZ2U6IFN0YWdlLCBvcHRpb25zPzogQWRkU3RhZ2VPcHRzKTogU3RhZ2VEZXBsb3ltZW50IHtcbiAgICByZXR1cm4gdGhpcy5waXBlbGluZS5hZGRTdGFnZShzdGFnZSwgb3B0aW9ucyk7XG4gIH1cblxuICBhZGRXYXZlKGlkOiBzdHJpbmcsIG9wdGlvbnM/OiBXYXZlT3B0aW9ucyk6IFdhdmUge1xuICAgIHJldHVybiB0aGlzLnBpcGVsaW5lLmFkZFdhdmUoaWQsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=
@@ -4,6 +4,7 @@ import { TableEncryption } from "aws-cdk-lib/aws-dynamodb";
4
4
  import { RemovalPolicy } from "aws-cdk-lib";
5
5
  import { BillingMode } from "aws-cdk-lib/aws-dynamodb";
6
6
  import * as kms from "aws-cdk-lib/aws-kms";
7
+ import { IAutomationComponent } from "../../aws-cdk";
7
8
  /**
8
9
  * Properties for StandardTable.
9
10
  */
@@ -82,6 +83,7 @@ export interface StandardTableProps {
82
83
  * class is intended to fit most development use cases. Where this class does not meet
83
84
  * your requirements, use ExtendedTable directly.
84
85
  */
85
- export declare class StandardTable extends ExtendedTable {
86
+ export declare class StandardTable extends ExtendedTable implements IAutomationComponent {
87
+ readonly automationComponentTags: import("../../aws-cdk").AutomationComponentTagsProps;
86
88
  constructor(scope: Construct, id: string, props?: StandardTableProps);
87
89
  }