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

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 (56) hide show
  1. package/aws-cdk/lib/extended-app.d.ts +11 -0
  2. package/aws-cdk/lib/extended-app.js +17 -5
  3. package/aws-cdk/lib/extended-stack.js +8 -5
  4. package/aws-cdk/lib/standard-tags.d.ts +34 -12
  5. package/aws-cdk/lib/standard-tags.js +60 -11
  6. package/{test/aws-cdk → aws-cdk/lib}/standard-tags.test.d.ts +0 -0
  7. package/aws-cdk/lib/standard-tags.test.js +9 -0
  8. package/{test/aws-cloudwatch → aws-cloudwatch/lib}/estimated-charges-alarm.test.d.ts +0 -0
  9. package/{test/aws-cloudwatch → aws-cloudwatch/lib}/estimated-charges-alarm.test.js +4 -4
  10. package/{test/aws-codepipeline → aws-codepipeline/lib}/cdk-pipeline.test.d.ts +0 -0
  11. package/{test/aws-codepipeline → aws-codepipeline/lib}/cdk-pipeline.test.js +4 -4
  12. package/{test/aws-codepipeline → aws-codepipeline/lib}/extended-stack.test.d.ts +0 -0
  13. package/{test/aws-codepipeline → aws-codepipeline/lib}/extended-stack.test.js +4 -4
  14. package/{test/aws-dynamodb → aws-dynamodb/lib}/batch-write-item.test.d.ts +0 -0
  15. package/{test/aws-dynamodb → aws-dynamodb/lib}/batch-write-item.test.js +3 -3
  16. package/{test/aws-dynamodb → aws-dynamodb/lib}/extended-table.test.d.ts +0 -0
  17. package/aws-dynamodb/lib/extended-table.test.js +32 -0
  18. package/{test/aws-dynamodb → aws-dynamodb/lib}/put-item.test.d.ts +0 -0
  19. package/{test/aws-dynamodb → aws-dynamodb/lib}/put-item.test.js +3 -3
  20. package/{test/aws-lambda → aws-lambda/lib}/extended-function.test.d.ts +0 -0
  21. package/aws-lambda/lib/extended-function.test.js +20 -0
  22. package/{test/aws-lambda → aws-lambda/lib}/extended-go-function.test.d.ts +0 -0
  23. package/{test/aws-lambda → aws-lambda/lib}/extended-go-function.test.js +4 -4
  24. package/{test/aws-lambda → aws-lambda/lib}/extended-nodejs-function.test.d.ts +0 -0
  25. package/aws-lambda/lib/extended-nodejs-function.test.js +20 -0
  26. package/{test/aws-lambda → aws-lambda/lib}/extended-python-function.test.d.ts +0 -0
  27. package/aws-lambda/lib/extended-python-function.test.js +17 -0
  28. package/{test/aws-lambda → aws-lambda/lib}/standard-python-function.test.d.ts +0 -0
  29. package/{test/aws-lambda → aws-lambda/lib}/standard-python-function.test.js +2 -2
  30. package/{test/aws-monitoring → aws-monitoring/lib}/alarm-facade.test.d.ts +0 -0
  31. package/{test/aws-monitoring → aws-monitoring/lib}/alarm-facade.test.js +9 -9
  32. package/{test/aws-route53 → aws-route53/lib}/domain-name.test.d.ts +0 -0
  33. package/{test/aws-route53 → aws-route53/lib}/domain-name.test.js +8 -8
  34. package/{test/aws-route53 → aws-route53/lib}/extended-record-target.test.d.ts +0 -0
  35. package/aws-route53/lib/extended-record-target.test.js +52 -0
  36. package/{test/aws-sqs → aws-sqs/lib}/standard-queue.test.d.ts +0 -0
  37. package/aws-sqs/lib/standard-queue.test.js +16 -0
  38. package/{test/aws-ssm → aws-ssm/lib}/parameter-store.test.d.ts +0 -0
  39. package/{test/aws-ssm → aws-ssm/lib}/parameter-store.test.js +4 -4
  40. package/{test/aws-website → aws-website/lib}/website.test.d.ts +0 -0
  41. package/aws-website/lib/website.test.js +60 -0
  42. package/{test/helpers → helpers/lib}/string-helper.test.d.ts +0 -0
  43. package/{test/helpers → helpers/lib}/string-helper.test.js +2 -2
  44. package/jest.config.js +1 -1
  45. package/package.json +2 -2
  46. package/{test/test-helper.d.ts → test-helper.d.ts} +5 -4
  47. package/test-helper.js +45 -0
  48. package/test/aws-cdk/standard-tags.test.js +0 -9
  49. package/test/aws-dynamodb/extended-table.test.js +0 -32
  50. package/test/aws-lambda/extended-function.test.js +0 -20
  51. package/test/aws-lambda/extended-nodejs-function.test.js +0 -20
  52. package/test/aws-lambda/extended-python-function.test.js +0 -17
  53. package/test/aws-route53/extended-record-target.test.js +0 -52
  54. package/test/aws-sqs/standard-queue.test.js +0 -16
  55. package/test/aws-website/website.test.js +0 -60
  56. package/test/test-helper.js +0 -42
@@ -4,7 +4,18 @@ import { StandardTagsProps } from "./standard-tags";
4
4
  * Properties for ExtendedApp.
5
5
  */
6
6
  export interface ExtendedAppProps extends AppProps {
7
+ /**
8
+ * Standard tags to apply to all stacks.
9
+ */
7
10
  readonly standardTags?: StandardTagsProps;
11
+ /**
12
+ * Skips account lookup and uses this account.
13
+ */
14
+ readonly account?: string;
15
+ /**
16
+ * Skips region lookup and uses this region.
17
+ */
18
+ readonly region?: string;
8
19
  }
9
20
  /**
10
21
  * Adds functionality to the base App class to support standard tags
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExtendedApp = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const standard_tags_1 = require("./standard-tags");
5
6
  /**
6
7
  * Adds functionality to the base App class to support standard tags
7
8
  * and access to the account and region being used to execute the
@@ -9,19 +10,30 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
9
10
  */
10
11
  class ExtendedApp extends aws_cdk_lib_1.App {
11
12
  constructor(props) {
12
- super(props);
13
- const account = process.env.CDK_DEFAULT_ACCOUNT || process.env.AWS_ACCOUNT_ID;
13
+ var _a;
14
+ super({
15
+ ...props,
16
+ context: {
17
+ ...props === null || props === void 0 ? void 0 : props.context,
18
+ // Add standardTags to the context to be used by ExtendedStack
19
+ standardTags: props === null || props === void 0 ? void 0 : props.standardTags
20
+ }
21
+ });
22
+ // Use the provided account or do a lookup
23
+ const account = (props === null || props === void 0 ? void 0 : props.account) || process.env.CDK_DEFAULT_ACCOUNT || process.env.AWS_ACCOUNT_ID;
14
24
  if (account === undefined) {
15
25
  throw new Error("Unable to identify default account");
16
26
  }
17
27
  this.account = account;
18
- const region = process.env.CDK_DEFAULT_REGION || process.env.AWS_DEFAULT_REGION;
28
+ // Use the provided region or do a lookup
29
+ const region = (props === null || props === void 0 ? void 0 : props.region) || process.env.CDK_DEFAULT_REGION || process.env.AWS_DEFAULT_REGION;
19
30
  if (region === undefined) {
20
31
  throw new Error("Unable to identify default region");
21
32
  }
22
33
  this.region = region;
23
- this.node.setContext("standardTags", props === null || props === void 0 ? void 0 : props.standardTags);
34
+ // Add automation component tags to AutomationComponent children
35
+ aws_cdk_lib_1.Aspects.of(this).add(new standard_tags_1.AutomationComponentAspect((_a = props === null || props === void 0 ? void 0 : props.standardTags) === null || _a === void 0 ? void 0 : _a.suppressTagging));
24
36
  }
25
37
  }
26
38
  exports.ExtendedApp = ExtendedApp;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXh0ZW5kZWQtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUEwQztBQVcxQzs7OztHQUlHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsaUJBQUc7SUFLbEMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzlFLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7UUFDaEYsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNGO0FBckJELGtDQXFCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXBwLCBBcHBQcm9wc30gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc1Byb3BzfSBmcm9tIFwiLi9zdGFuZGFyZC10YWdzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRXh0ZW5kZWRBcHAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRBcHBQcm9wcyBleHRlbmRzIEFwcFByb3BzIHtcblxuICByZWFkb25seSBzdGFuZGFyZFRhZ3M/OiBTdGFuZGFyZFRhZ3NQcm9wcztcbn1cblxuLyoqXG4gKiBBZGRzIGZ1bmN0aW9uYWxpdHkgdG8gdGhlIGJhc2UgQXBwIGNsYXNzIHRvIHN1cHBvcnQgc3RhbmRhcmQgdGFnc1xuICogYW5kIGFjY2VzcyB0byB0aGUgYWNjb3VudCBhbmQgcmVnaW9uIGJlaW5nIHVzZWQgdG8gZXhlY3V0ZSB0aGVcbiAqIENESyBwcm9jZXNzLlxuICovXG5leHBvcnQgY2xhc3MgRXh0ZW5kZWRBcHAgZXh0ZW5kcyBBcHAge1xuXG4gIHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvcHM/OiBFeHRlbmRlZEFwcFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgY29uc3QgYWNjb3VudCA9IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQgfHwgcHJvY2Vzcy5lbnYuQVdTX0FDQ09VTlRfSUQ7XG4gICAgaWYgKGFjY291bnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGlkZW50aWZ5IGRlZmF1bHQgYWNjb3VudFwiKTtcbiAgICB9XG4gICAgdGhpcy5hY2NvdW50ID0gYWNjb3VudDtcbiAgICBjb25zdCByZWdpb24gPSBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT04gfHwgcHJvY2Vzcy5lbnYuQVdTX0RFRkFVTFRfUkVHSU9OO1xuICAgIGlmIChyZWdpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGlkZW50aWZ5IGRlZmF1bHQgcmVnaW9uXCIpO1xuICAgIH1cbiAgICB0aGlzLnJlZ2lvbiA9IHJlZ2lvbjtcblxuICAgIHRoaXMubm9kZS5zZXRDb250ZXh0KFwic3RhbmRhcmRUYWdzXCIsIHByb3BzPy5zdGFuZGFyZFRhZ3MpO1xuICB9XG59XG5cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXh0ZW5kZWQtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFtRDtBQUNuRCxtREFBNkU7QUF1QjdFOzs7O0dBSUc7QUFDSCxNQUFhLFdBQVksU0FBUSxpQkFBRztJQUtsQyxZQUFZLEtBQXdCOztRQUNsQyxLQUFLLENBQUM7WUFDSixHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTztnQkFDakIsOERBQThEO2dCQUM5RCxZQUFZLEVBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVk7YUFDbkM7U0FDRixDQUFDLENBQUM7UUFFSCwwQ0FBMEM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxLQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7UUFDaEcsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztTQUN2RDtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRXZCLHlDQUF5QztRQUN6QyxNQUFNLE1BQU0sR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNLEtBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDO1FBQ2pHLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixnRUFBZ0U7UUFDaEUscUJBQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUkseUNBQXlCLE9BQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksMENBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0NBQ0Y7QUFoQ0Qsa0NBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHAsIEFwcFByb3BzLCBBc3BlY3RzfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7QXV0b21hdGlvbkNvbXBvbmVudEFzcGVjdCwgU3RhbmRhcmRUYWdzUHJvcHN9IGZyb20gXCIuL3N0YW5kYXJkLXRhZ3NcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBFeHRlbmRlZEFwcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZEFwcFByb3BzIGV4dGVuZHMgQXBwUHJvcHMge1xuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCB0YWdzIHRvIGFwcGx5IHRvIGFsbCBzdGFja3MuXG4gICAqL1xuICByZWFkb25seSBzdGFuZGFyZFRhZ3M/OiBTdGFuZGFyZFRhZ3NQcm9wcztcblxuICAvKipcbiAgICogU2tpcHMgYWNjb3VudCBsb29rdXAgYW5kIHVzZXMgdGhpcyBhY2NvdW50LlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblxuICAvKipcbiAgICogU2tpcHMgcmVnaW9uIGxvb2t1cCBhbmQgdXNlcyB0aGlzIHJlZ2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBZGRzIGZ1bmN0aW9uYWxpdHkgdG8gdGhlIGJhc2UgQXBwIGNsYXNzIHRvIHN1cHBvcnQgc3RhbmRhcmQgdGFnc1xuICogYW5kIGFjY2VzcyB0byB0aGUgYWNjb3VudCBhbmQgcmVnaW9uIGJlaW5nIHVzZWQgdG8gZXhlY3V0ZSB0aGVcbiAqIENESyBwcm9jZXNzLlxuICovXG5leHBvcnQgY2xhc3MgRXh0ZW5kZWRBcHAgZXh0ZW5kcyBBcHAge1xuXG4gIHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvcHM/OiBFeHRlbmRlZEFwcFByb3BzKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIC4uLnByb3BzPy5jb250ZXh0LFxuICAgICAgICAvLyBBZGQgc3RhbmRhcmRUYWdzIHRvIHRoZSBjb250ZXh0IHRvIGJlIHVzZWQgYnkgRXh0ZW5kZWRTdGFja1xuICAgICAgICBzdGFuZGFyZFRhZ3M6ICBwcm9wcz8uc3RhbmRhcmRUYWdzXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBVc2UgdGhlIHByb3ZpZGVkIGFjY291bnQgb3IgZG8gYSBsb29rdXBcbiAgICBjb25zdCBhY2NvdW50ID0gcHJvcHM/LmFjY291bnQgfHwgcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVCB8fCBwcm9jZXNzLmVudi5BV1NfQUNDT1VOVF9JRDtcbiAgICBpZiAoYWNjb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmFibGUgdG8gaWRlbnRpZnkgZGVmYXVsdCBhY2NvdW50XCIpO1xuICAgIH1cbiAgICB0aGlzLmFjY291bnQgPSBhY2NvdW50O1xuXG4gICAgLy8gVXNlIHRoZSBwcm92aWRlZCByZWdpb24gb3IgZG8gYSBsb29rdXBcbiAgICBjb25zdCByZWdpb24gPSBwcm9wcz8ucmVnaW9uIHx8IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTiB8fCBwcm9jZXNzLmVudi5BV1NfREVGQVVMVF9SRUdJT047XG4gICAgaWYgKHJlZ2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmFibGUgdG8gaWRlbnRpZnkgZGVmYXVsdCByZWdpb25cIik7XG4gICAgfVxuICAgIHRoaXMucmVnaW9uID0gcmVnaW9uO1xuXG4gICAgLy8gQWRkIGF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MgdG8gQXV0b21hdGlvbkNvbXBvbmVudCBjaGlsZHJlblxuICAgIEFzcGVjdHMub2YodGhpcykuYWRkKG5ldyBBdXRvbWF0aW9uQ29tcG9uZW50QXNwZWN0KHByb3BzPy5zdGFuZGFyZFRhZ3M/LnN1cHByZXNzVGFnZ2luZykpO1xuICB9XG59XG5cbiJdfQ==
@@ -42,12 +42,15 @@ class ExtendedStack extends aws_cdk_lib_1.Stack {
42
42
  const standardTagsProps = standard_tags_1.StandardTags.merge(this.node.tryGetContext("standardTags"), props === null || props === void 0 ? void 0 : props.standardTags);
43
43
  const standardTags = new standard_tags_1.StandardTags(this, standardTagsProps);
44
44
  // Add automation component tags to this stack
45
- standardTags.addAutomationTags({
45
+ standardTags.addAutomationComponentTags({
46
46
  ...standard_tags_1.InternalAutomationComponentTags,
47
- includeResourceTypes: ["AWS::CloudFormation::Stack"]
47
+ propagate: false
48
48
  });
49
- // Add automation component tags to AutomationComponent children
50
- aws_cdk_lib_1.Aspects.of(this).add(new standard_tags_1.AutomationComponentAspect(standardTagsProps.suppressTagging));
49
+ // Add automation component tags to AutomationComponent children, but don't add the aspect if it's already been added
50
+ const aspects = aws_cdk_lib_1.Aspects.of(this);
51
+ if (!aspects.all.reduce((a, v) => a || v instanceof standard_tags_1.AutomationComponentAspect)) {
52
+ aspects.add(new standard_tags_1.AutomationComponentAspect(standardTagsProps.suppressTagging));
53
+ }
51
54
  }
52
55
  /**
53
56
  * Helper method to exports a parameter as an SSM Parameter.
@@ -71,4 +74,4 @@ class ExtendedStack extends aws_cdk_lib_1.Stack {
71
74
  }
72
75
  }
73
76
  exports.ExtendedStack = ExtendedStack;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZC1zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBbUY7QUFDbkYsMkNBQW9FO0FBR3BFLHlFQUltQztBQUNuQyxtREFLeUI7QUE2RnpCOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsbUJBQUs7SUFNdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsTUFBTSxTQUFTLFNBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLDBDQUFFLFNBQVMsQ0FBQztRQUU1QyxJQUFJLENBQUMsc0JBQXNCLEdBQUc7WUFDNUIsTUFBTSxRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxzQkFBc0IsbUNBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsV0FBVztZQUM3RyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHdCQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRWxHLFVBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHNCQUFzQixtQ0FBSSxJQUFJLEVBQUU7WUFDekMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLG1EQUF1QixDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtnQkFDN0UsbUJBQW1CLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG1CQUFtQixtQ0FBSSxJQUFJLENBQUMsU0FBUztnQkFDakUsb0JBQW9CLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG9CQUFvQixtQ0FBSSxLQUFLO2dCQUMxRCxlQUFlLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGVBQWUsbUNBQUksS0FBSztnQkFDaEQsc0JBQXNCLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHNCQUFzQixtQ0FBSSxLQUFLO2dCQUM5RCxtQkFBbUIsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsNEJBQTRCLG1DQUFJLHdEQUE0QixDQUFDLGdCQUFnQjthQUMxRyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSw0Q0FBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO2dCQUMvRCxxQkFBcUIsRUFBRTtvQkFDckIsU0FBUyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO29CQUNqQyxNQUFNLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVk7aUJBQzVCO2dCQUNELG9CQUFvQixFQUFFO29CQUNwQixjQUFjLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG1CQUFtQixtQ0FBSSxJQUFJO29CQUNsRCxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVM7aUJBQ2hDO2dCQUNELGdCQUFnQixFQUFFLGdCQUFnQjthQUNuQyxDQUFDLENBQUM7U0FDSjtRQUVELHNCQUFzQjtRQUN0QixNQUFNLGlCQUFpQixHQUFHLDRCQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLENBQUMsQ0FBQztRQUMzRyxNQUFNLFlBQVksR0FBRyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFL0QsOENBQThDO1FBQzlDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztZQUM3QixHQUFHLCtDQUErQjtZQUNsQyxvQkFBb0IsRUFBRSxDQUFDLDRCQUE0QixDQUFDO1NBQ3JELENBQUMsQ0FBQztRQUVILGdFQUFnRTtRQUNoRSxxQkFBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSx5Q0FBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFHRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN6QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN6QyxPQUFPLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQy9CLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUEzRUQsc0NBMkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3BlY3RzLCBDZm5PdXRwdXQsIER1cmF0aW9uLCBTdGFjaywgU3RhY2tQcm9wcywgU3RhZ2V9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtQYXJhbWV0ZXJTdG9yZSwgUGFyYW1ldGVyU3RvcmVPcHRpb25zfSBmcm9tIFwiLi4vLi4vYXdzLXNzbVwiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1N0cmluZ1BhcmFtZXRlcn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zc21cIjtcbmltcG9ydCB7XG4gIERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UsXG4gIERlZmF1bHREYXNoYm9hcmRGYWN0b3J5LFxuICBNb25pdG9yaW5nRmFjYWRlXG59IGZyb20gXCJjZGstbW9uaXRvcmluZy1jb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBdXRvbWF0aW9uQ29tcG9uZW50QXNwZWN0LFxuICBJbnRlcm5hbEF1dG9tYXRpb25Db21wb25lbnRUYWdzLFxuICBTdGFuZGFyZFRhZ3MsXG4gIFN0YW5kYXJkVGFnc1Byb3BzXG59IGZyb20gXCIuL3N0YW5kYXJkLXRhZ3NcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBFeHRTdGFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFN0YWNrT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFByZWZpeCB0byBiZSB1c2VkIGJ5IHBhcmFtZXRlciBleHBvcnRzIHRvIGJlIHN0b3JlZCBpbiB0aGVcbiAgICogU3lzdGVtcyBNYW5hZ2VyIFBhcmFtZXRlciBTdG9yZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJHtzdGFnZU5hbWV9LyR7c3RhY2tJZH0vRXhwb3J0cy9cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlckV4cG9ydHNQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gZGV0ZXJtaW5lIGlmIGEgZGVmYXVsdCBNb25pdG9yaW5nRmFjYWRlIGFuZFxuICAgKiBEZWZhdWx0RGFzaGJvYXJkRmFjdG9yeSBzaG91bGQgYmUgY3JlYXRlZCBpbiB0aGlzIHN0YWNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVNb25pdG9yaW5nRmFjYWRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHJlZml4IGFkZGVkIHRvIGVhY2ggZGFzaGJvYXJkIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IHN0YWNrTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZGFzaGJvYXJkTmFtZVByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogRmxhZyB0byBkZXRlcm1pbmUgaWYgdGhlIGRlZmF1bHQgZGFzaGJvYXJkIHNob3VsZCBiZSBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlRGFzaGJvYXJkPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiB0aGUgc3VtbWFyeSBkYXNoYm9hcmQgc2hvdWxkIGJlIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVTdW1tYXJ5RGFzaGJvYXJkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmxhZyB0byBkZXRlcm1pbmUgaWYgdGhlIGFsYXJtIGRhc2hib2FyZCBzaG91bGQgYmUgY3JldGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQWxhcm1EYXNoYm9hcmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZW5kZXJpbmcgcHJlZmVyZW5jZSB0byBkYXNoYm9hcmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEYXNoYm9hcmRSZW5kZXJpbmdQcmVmZXJlbmNlLklOVEVSQUNUSVZFX09OTFlcbiAgICovXG4gIHJlYWRvbmx5IGRhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2U/OiBEYXNoYm9hcmRSZW5kZXJpbmdQcmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IG5hbWVzcGFjZSBmb3IgbWV0cmljcy5cbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY05hbWVzcGFjZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmYXVsdCBtZXRyaWMgcGVyaW9kXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNQZXJpb2Q/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogUHJlZml4IGZvciBnZW5lcmF0ZWQgYWxhcm1zLlxuICAgKlxuICAgKiBAZGVmYXVsdCBzdGFja05hbWVcbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtTmFtZVByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlcyBhbGFybSBhY3Rpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhbGFybUFjdGlvbnNFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0cyBzdGFuZGFyZCB0YWdzIGZvciB0aGlzIFN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhbmRhcmRUYWdzPzogU3RhbmRhcmRUYWdzUHJvcHM7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRXh0U3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRTdGFja1Byb3BzIGV4dGVuZHMgRXh0ZW5kZWRTdGFja09wdGlvbnMsIFN0YWNrUHJvcHMge31cblxuLyoqXG4gKiBFeHRlbmRlZCB2ZXJzaW9uIG9mIFN0YWNrIHByb3ZpZGluZyBmdW5jdGlvbmFsaXR5IGZvciBwYXJhbWV0ZXIgZXhwb3J0cyBhbmQgbW9uaXRvcmluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEV4dGVuZGVkU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmFtZXRlckV4cG9ydHM6IFBhcmFtZXRlclN0b3JlO1xuICByZWFkb25seSBwYXJhbWV0ZXJFeHBvcnRPcHRpb25zOiBQYXJhbWV0ZXJTdG9yZU9wdGlvbnM7XG4gIHJlYWRvbmx5IG1vbml0b3JpbmdGYWNhZGU/OiBNb25pdG9yaW5nRmFjYWRlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogRXh0ZW5kZWRTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCBzdGFnZU5hbWUgPSBTdGFnZS5vZih0aGlzKT8uc3RhZ2VOYW1lO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJFeHBvcnRPcHRpb25zID0ge1xuICAgICAgcHJlZml4OiBwcm9wcz8ucGFyYW1ldGVyRXhwb3J0c1ByZWZpeCA/PyAoc3RhZ2VOYW1lID09PSB1bmRlZmluZWQgPyBcIlwiIDogYC8ke3N0YWdlTmFtZX1gKSArIGAvJHtpZH0vRXhwb3J0cy9gLFxuICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvblxuICAgIH07XG4gICAgdGhpcy5wYXJhbWV0ZXJFeHBvcnRzID0gbmV3IFBhcmFtZXRlclN0b3JlKHRoaXMsIFwiUGFyYW1ldGVyRXhwb3J0c1wiLCB0aGlzLnBhcmFtZXRlckV4cG9ydE9wdGlvbnMpO1xuXG4gICAgaWYgKHByb3BzPy5jcmVhdGVNb25pdG9yaW5nRmFjYWRlID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZEZhY3RvcnkgPSBuZXcgRGVmYXVsdERhc2hib2FyZEZhY3RvcnkodGhpcywgXCJEYXNoYm9hcmRGYWN0b3J5XCIsIHtcbiAgICAgICAgZGFzaGJvYXJkTmFtZVByZWZpeDogcHJvcHM/LmRhc2hib2FyZE5hbWVQcmVmaXggPz8gdGhpcy5zdGFja05hbWUsXG4gICAgICAgIGNyZWF0ZUFsYXJtRGFzaGJvYXJkOiBwcm9wcz8uY3JlYXRlQWxhcm1EYXNoYm9hcmQgPz8gZmFsc2UsXG4gICAgICAgIGNyZWF0ZURhc2hib2FyZDogcHJvcHM/LmNyZWF0ZURhc2hib2FyZCA/PyBmYWxzZSxcbiAgICAgICAgY3JlYXRlU3VtbWFyeURhc2hib2FyZDogcHJvcHM/LmNyZWF0ZVN1bW1hcnlEYXNoYm9hcmQgPz8gZmFsc2UsXG4gICAgICAgIHJlbmRlcmluZ1ByZWZlcmVuY2U6IHByb3BzPy5kYXNoYm9hcmRSZW5kZXJpbmdQcmVmZXJlbmNlID8/IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UuSU5URVJBQ1RJVkVfT05MWVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMubW9uaXRvcmluZ0ZhY2FkZSA9IG5ldyBNb25pdG9yaW5nRmFjYWRlKHRoaXMsIFwiTW9uaXRvcmluZ1wiLCB7XG4gICAgICAgIG1ldHJpY0ZhY3RvcnlEZWZhdWx0czoge1xuICAgICAgICAgIG5hbWVzcGFjZTogcHJvcHM/Lm1ldHJpY05hbWVzcGFjZSxcbiAgICAgICAgICBwZXJpb2Q6IHByb3BzPy5tZXRyaWNQZXJpb2RcbiAgICAgICAgfSxcbiAgICAgICAgYWxhcm1GYWN0b3J5RGVmYXVsdHM6IHtcbiAgICAgICAgICBhY3Rpb25zRW5hYmxlZDogcHJvcHM/LmFsYXJtQWN0aW9uc0VuYWJsZWQgPz8gdHJ1ZSxcbiAgICAgICAgICBhbGFybU5hbWVQcmVmaXg6IHRoaXMuc3RhY2tOYW1lXG4gICAgICAgIH0sXG4gICAgICAgIGRhc2hib2FyZEZhY3Rvcnk6IGRhc2hib2FyZEZhY3RvcnlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFNldHVwIHN0YW5kYXJkIHRhZ3NcbiAgICBjb25zdCBzdGFuZGFyZFRhZ3NQcm9wcyA9IFN0YW5kYXJkVGFncy5tZXJnZSh0aGlzLm5vZGUudHJ5R2V0Q29udGV4dChcInN0YW5kYXJkVGFnc1wiKSwgcHJvcHM/LnN0YW5kYXJkVGFncyk7XG4gICAgY29uc3Qgc3RhbmRhcmRUYWdzID0gbmV3IFN0YW5kYXJkVGFncyh0aGlzLCBzdGFuZGFyZFRhZ3NQcm9wcyk7XG5cbiAgICAvLyBBZGQgYXV0b21hdGlvbiBjb21wb25lbnQgdGFncyB0byB0aGlzIHN0YWNrXG4gICAgc3RhbmRhcmRUYWdzLmFkZEF1dG9tYXRpb25UYWdzKHtcbiAgICAgIC4uLkludGVybmFsQXV0b21hdGlvbkNvbXBvbmVudFRhZ3MsXG4gICAgICBpbmNsdWRlUmVzb3VyY2VUeXBlczogW1wiQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2tcIl1cbiAgICB9KTtcblxuICAgIC8vIEFkZCBhdXRvbWF0aW9uIGNvbXBvbmVudCB0YWdzIHRvIEF1dG9tYXRpb25Db21wb25lbnQgY2hpbGRyZW5cbiAgICBBc3BlY3RzLm9mKHRoaXMpLmFkZChuZXcgQXV0b21hdGlvbkNvbXBvbmVudEFzcGVjdChzdGFuZGFyZFRhZ3NQcm9wcy5zdXBwcmVzc1RhZ2dpbmcpKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gZXhwb3J0cyBhIHBhcmFtZXRlciBhcyBhbiBTU00gUGFyYW1ldGVyLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSB0aGUgcGFyYW1ldGVyIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlIHRoZSBwYXJhbWV0ZXIgdmFsdWVcbiAgICovXG4gIGV4cG9ydFBhcmFtZXRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBTdHJpbmdQYXJhbWV0ZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlckV4cG9ydHMud3JpdGUobmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gb3V0cHV0IGEgcGFyYW1ldGVyIGFzIGEgQ2ZuT3V0cHV0LlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSB0aGUgcGFyYW1ldGVyIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlIHRoZSBwYXJhbWV0ZXIgdmFsdWVcbiAgICovXG4gIG91dHB1dFBhcmFtZXRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBDZm5PdXRwdXQge1xuICAgIHJldHVybiBuZXcgQ2ZuT3V0cHV0KHRoaXMsIG5hbWUsIHtcbiAgICAgIHZhbHVlXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZC1zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBbUY7QUFDbkYsMkNBQW9FO0FBR3BFLHlFQUltQztBQUNuQyxtREFLeUI7QUE2RnpCOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsbUJBQUs7SUFNdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsTUFBTSxTQUFTLFNBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLDBDQUFFLFNBQVMsQ0FBQztRQUU1QyxJQUFJLENBQUMsc0JBQXNCLEdBQUc7WUFDNUIsTUFBTSxRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxzQkFBc0IsbUNBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsV0FBVztZQUM3RyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHdCQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRWxHLFVBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHNCQUFzQixtQ0FBSSxJQUFJLEVBQUU7WUFDekMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLG1EQUF1QixDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtnQkFDN0UsbUJBQW1CLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG1CQUFtQixtQ0FBSSxJQUFJLENBQUMsU0FBUztnQkFDakUsb0JBQW9CLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG9CQUFvQixtQ0FBSSxLQUFLO2dCQUMxRCxlQUFlLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGVBQWUsbUNBQUksS0FBSztnQkFDaEQsc0JBQXNCLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHNCQUFzQixtQ0FBSSxLQUFLO2dCQUM5RCxtQkFBbUIsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsNEJBQTRCLG1DQUFJLHdEQUE0QixDQUFDLGdCQUFnQjthQUMxRyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSw0Q0FBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO2dCQUMvRCxxQkFBcUIsRUFBRTtvQkFDckIsU0FBUyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO29CQUNqQyxNQUFNLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVk7aUJBQzVCO2dCQUNELG9CQUFvQixFQUFFO29CQUNwQixjQUFjLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG1CQUFtQixtQ0FBSSxJQUFJO29CQUNsRCxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVM7aUJBQ2hDO2dCQUNELGdCQUFnQixFQUFFLGdCQUFnQjthQUNuQyxDQUFDLENBQUM7U0FDSjtRQUVELHNCQUFzQjtRQUN0QixNQUFNLGlCQUFpQixHQUFHLDRCQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLENBQUMsQ0FBQztRQUMzRyxNQUFNLFlBQVksR0FBRyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFL0QsOENBQThDO1FBQzlDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQztZQUN0QyxHQUFHLCtDQUErQjtZQUNsQyxTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQUM7UUFFSCxxSEFBcUg7UUFDckgsTUFBTSxPQUFPLEdBQUcscUJBQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSx5Q0FBeUIsQ0FBQyxFQUFFO1lBQzlFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSx5Q0FBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQy9FO0lBQ0gsQ0FBQztJQUdEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ3pDLE9BQU8sSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDL0IsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTlFRCxzQ0E4RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzcGVjdHMsIENmbk91dHB1dCwgRHVyYXRpb24sIFN0YWNrLCBTdGFja1Byb3BzLCBTdGFnZX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1BhcmFtZXRlclN0b3JlLCBQYXJhbWV0ZXJTdG9yZU9wdGlvbnN9IGZyb20gXCIuLi8uLi9hd3Mtc3NtXCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7U3RyaW5nUGFyYW1ldGVyfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNzbVwiO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkUmVuZGVyaW5nUHJlZmVyZW5jZSxcbiAgRGVmYXVsdERhc2hib2FyZEZhY3RvcnksXG4gIE1vbml0b3JpbmdGYWNhZGVcbn0gZnJvbSBcImNkay1tb25pdG9yaW5nLWNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEF1dG9tYXRpb25Db21wb25lbnRBc3BlY3QsXG4gIEludGVybmFsQXV0b21hdGlvbkNvbXBvbmVudFRhZ3MsXG4gIFN0YW5kYXJkVGFncyxcbiAgU3RhbmRhcmRUYWdzUHJvcHNcbn0gZnJvbSBcIi4vc3RhbmRhcmQtdGFnc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIEV4dFN0YWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkU3RhY2tPcHRpb25zIHtcblxuICAvKipcbiAgICogUHJlZml4IHRvIGJlIHVzZWQgYnkgcGFyYW1ldGVyIGV4cG9ydHMgdG8gYmUgc3RvcmVkIGluIHRoZVxuICAgKiBTeXN0ZW1zIE1hbmFnZXIgUGFyYW1ldGVyIFN0b3JlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAke3N0YWdlTmFtZX0vJHtzdGFja0lkfS9FeHBvcnRzL1xuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyRXhwb3J0c1ByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogRmxhZyB0byBkZXRlcm1pbmUgaWYgYSBkZWZhdWx0IE1vbml0b3JpbmdGYWNhZGUgYW5kXG4gICAqIERlZmF1bHREYXNoYm9hcmRGYWN0b3J5IHNob3VsZCBiZSBjcmVhdGVkIGluIHRoaXMgc3RhY2suXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZU1vbml0b3JpbmdGYWNhZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggYWRkZWQgdG8gZWFjaCBkYXNoYm9hcmQgbmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgc3RhY2tOYW1lXG4gICAqL1xuICByZWFkb25seSBkYXNoYm9hcmROYW1lUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiB0aGUgZGVmYXVsdCBkYXNoYm9hcmQgc2hvdWxkIGJlIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVEYXNoYm9hcmQ/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzdW1tYXJ5IGRhc2hib2FyZCBzaG91bGQgYmUgY3JlYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZVN1bW1hcnlEYXNoYm9hcmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiB0aGUgYWxhcm0gZGFzaGJvYXJkIHNob3VsZCBiZSBjcmV0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVBbGFybURhc2hib2FyZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlbmRlcmluZyBwcmVmZXJlbmNlIHRvIGRhc2hib2FyZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UuSU5URVJBQ1RJVkVfT05MWVxuICAgKi9cbiAgcmVhZG9ubHkgZGFzaGJvYXJkUmVuZGVyaW5nUHJlZmVyZW5jZT86IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgbmFtZXNwYWNlIGZvciBtZXRyaWNzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljTmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IG1ldHJpYyBwZXJpb2RcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY1BlcmlvZD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggZm9yIGdlbmVyYXRlZCBhbGFybXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHN0YWNrTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxhcm1OYW1lUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFsYXJtIGFjdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtQWN0aW9uc0VuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXRzIHN0YW5kYXJkIHRhZ3MgZm9yIHRoaXMgU3RhY2suXG4gICAqL1xuICByZWFkb25seSBzdGFuZGFyZFRhZ3M/OiBTdGFuZGFyZFRhZ3NQcm9wcztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBFeHRTdGFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFN0YWNrUHJvcHMgZXh0ZW5kcyBFeHRlbmRlZFN0YWNrT3B0aW9ucywgU3RhY2tQcm9wcyB7fVxuXG4vKipcbiAqIEV4dGVuZGVkIHZlcnNpb24gb2YgU3RhY2sgcHJvdmlkaW5nIGZ1bmN0aW9uYWxpdHkgZm9yIHBhcmFtZXRlciBleHBvcnRzIGFuZCBtb25pdG9yaW5nLlxuICovXG5leHBvcnQgY2xhc3MgRXh0ZW5kZWRTdGFjayBleHRlbmRzIFN0YWNrIHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFyYW1ldGVyRXhwb3J0czogUGFyYW1ldGVyU3RvcmU7XG4gIHJlYWRvbmx5IHBhcmFtZXRlckV4cG9ydE9wdGlvbnM6IFBhcmFtZXRlclN0b3JlT3B0aW9ucztcbiAgcmVhZG9ubHkgbW9uaXRvcmluZ0ZhY2FkZT86IE1vbml0b3JpbmdGYWNhZGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBFeHRlbmRlZFN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGNvbnN0IHN0YWdlTmFtZSA9IFN0YWdlLm9mKHRoaXMpPy5zdGFnZU5hbWU7XG5cbiAgICB0aGlzLnBhcmFtZXRlckV4cG9ydE9wdGlvbnMgPSB7XG4gICAgICBwcmVmaXg6IHByb3BzPy5wYXJhbWV0ZXJFeHBvcnRzUHJlZml4ID8/IChzdGFnZU5hbWUgPT09IHVuZGVmaW5lZCA/IFwiXCIgOiBgLyR7c3RhZ2VOYW1lfWApICsgYC8ke2lkfS9FeHBvcnRzL2AsXG4gICAgICByZWdpb246IHRoaXMucmVnaW9uXG4gICAgfTtcbiAgICB0aGlzLnBhcmFtZXRlckV4cG9ydHMgPSBuZXcgUGFyYW1ldGVyU3RvcmUodGhpcywgXCJQYXJhbWV0ZXJFeHBvcnRzXCIsIHRoaXMucGFyYW1ldGVyRXhwb3J0T3B0aW9ucyk7XG5cbiAgICBpZiAocHJvcHM/LmNyZWF0ZU1vbml0b3JpbmdGYWNhZGUgPz8gdHJ1ZSkge1xuICAgICAgY29uc3QgZGFzaGJvYXJkRmFjdG9yeSA9IG5ldyBEZWZhdWx0RGFzaGJvYXJkRmFjdG9yeSh0aGlzLCBcIkRhc2hib2FyZEZhY3RvcnlcIiwge1xuICAgICAgICBkYXNoYm9hcmROYW1lUHJlZml4OiBwcm9wcz8uZGFzaGJvYXJkTmFtZVByZWZpeCA/PyB0aGlzLnN0YWNrTmFtZSxcbiAgICAgICAgY3JlYXRlQWxhcm1EYXNoYm9hcmQ6IHByb3BzPy5jcmVhdGVBbGFybURhc2hib2FyZCA/PyBmYWxzZSxcbiAgICAgICAgY3JlYXRlRGFzaGJvYXJkOiBwcm9wcz8uY3JlYXRlRGFzaGJvYXJkID8/IGZhbHNlLFxuICAgICAgICBjcmVhdGVTdW1tYXJ5RGFzaGJvYXJkOiBwcm9wcz8uY3JlYXRlU3VtbWFyeURhc2hib2FyZCA/PyBmYWxzZSxcbiAgICAgICAgcmVuZGVyaW5nUHJlZmVyZW5jZTogcHJvcHM/LmRhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UgPz8gRGFzaGJvYXJkUmVuZGVyaW5nUHJlZmVyZW5jZS5JTlRFUkFDVElWRV9PTkxZXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5tb25pdG9yaW5nRmFjYWRlID0gbmV3IE1vbml0b3JpbmdGYWNhZGUodGhpcywgXCJNb25pdG9yaW5nXCIsIHtcbiAgICAgICAgbWV0cmljRmFjdG9yeURlZmF1bHRzOiB7XG4gICAgICAgICAgbmFtZXNwYWNlOiBwcm9wcz8ubWV0cmljTmFtZXNwYWNlLFxuICAgICAgICAgIHBlcmlvZDogcHJvcHM/Lm1ldHJpY1BlcmlvZFxuICAgICAgICB9LFxuICAgICAgICBhbGFybUZhY3RvcnlEZWZhdWx0czoge1xuICAgICAgICAgIGFjdGlvbnNFbmFibGVkOiBwcm9wcz8uYWxhcm1BY3Rpb25zRW5hYmxlZCA/PyB0cnVlLFxuICAgICAgICAgIGFsYXJtTmFtZVByZWZpeDogdGhpcy5zdGFja05hbWVcbiAgICAgICAgfSxcbiAgICAgICAgZGFzaGJvYXJkRmFjdG9yeTogZGFzaGJvYXJkRmFjdG9yeVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gU2V0dXAgc3RhbmRhcmQgdGFnc1xuICAgIGNvbnN0IHN0YW5kYXJkVGFnc1Byb3BzID0gU3RhbmRhcmRUYWdzLm1lcmdlKHRoaXMubm9kZS50cnlHZXRDb250ZXh0KFwic3RhbmRhcmRUYWdzXCIpLCBwcm9wcz8uc3RhbmRhcmRUYWdzKTtcbiAgICBjb25zdCBzdGFuZGFyZFRhZ3MgPSBuZXcgU3RhbmRhcmRUYWdzKHRoaXMsIHN0YW5kYXJkVGFnc1Byb3BzKTtcblxuICAgIC8vIEFkZCBhdXRvbWF0aW9uIGNvbXBvbmVudCB0YWdzIHRvIHRoaXMgc3RhY2tcbiAgICBzdGFuZGFyZFRhZ3MuYWRkQXV0b21hdGlvbkNvbXBvbmVudFRhZ3Moe1xuICAgICAgLi4uSW50ZXJuYWxBdXRvbWF0aW9uQ29tcG9uZW50VGFncyxcbiAgICAgIHByb3BhZ2F0ZTogZmFsc2VcbiAgICB9KTtcblxuICAgIC8vIEFkZCBhdXRvbWF0aW9uIGNvbXBvbmVudCB0YWdzIHRvIEF1dG9tYXRpb25Db21wb25lbnQgY2hpbGRyZW4sIGJ1dCBkb24ndCBhZGQgdGhlIGFzcGVjdCBpZiBpdCdzIGFscmVhZHkgYmVlbiBhZGRlZFxuICAgIGNvbnN0IGFzcGVjdHMgPSBBc3BlY3RzLm9mKHRoaXMpO1xuICAgIGlmICghYXNwZWN0cy5hbGwucmVkdWNlKChhLCB2KSA9PiBhIHx8IHYgaW5zdGFuY2VvZiBBdXRvbWF0aW9uQ29tcG9uZW50QXNwZWN0KSkge1xuICAgICAgYXNwZWN0cy5hZGQobmV3IEF1dG9tYXRpb25Db21wb25lbnRBc3BlY3Qoc3RhbmRhcmRUYWdzUHJvcHMuc3VwcHJlc3NUYWdnaW5nKSk7XG4gICAgfVxuICB9XG5cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBleHBvcnRzIGEgcGFyYW1ldGVyIGFzIGFuIFNTTSBQYXJhbWV0ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIHRoZSBwYXJhbWV0ZXIgbmFtZVxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHBhcmFtZXRlciB2YWx1ZVxuICAgKi9cbiAgZXhwb3J0UGFyYW1ldGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFN0cmluZ1BhcmFtZXRlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVyRXhwb3J0cy53cml0ZShuYW1lLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBvdXRwdXQgYSBwYXJhbWV0ZXIgYXMgYSBDZm5PdXRwdXQuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIHRoZSBwYXJhbWV0ZXIgbmFtZVxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHBhcmFtZXRlciB2YWx1ZVxuICAgKi9cbiAgb3V0cHV0UGFyYW1ldGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IENmbk91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBDZm5PdXRwdXQodGhpcywgbmFtZSwge1xuICAgICAgdmFsdWVcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -5,11 +5,9 @@ import { IAspect, TagProps, Tags } from "aws-cdk-lib";
5
5
  */
6
6
  export interface AutomationComponentTagsProps extends TagProps {
7
7
  /**
8
- * The ID of the component. Default is scope.constructor.name.
9
- *
10
- * @default scope.constructor.name
8
+ * The ID of the component.
11
9
  */
12
- readonly id: string;
10
+ readonly id?: string;
13
11
  /**
14
12
  * The URL of the component.
15
13
  */
@@ -18,6 +16,12 @@ export interface AutomationComponentTagsProps extends TagProps {
18
16
  * The vendor of the component.
19
17
  */
20
18
  readonly vendor?: string;
19
+ /**
20
+ * Determines if tags are propagated to children. Default is true.
21
+ *
22
+ * @default - true
23
+ */
24
+ readonly propagate?: boolean;
21
25
  }
22
26
  /**
23
27
  * Properties for automation tags.
@@ -28,7 +32,7 @@ export interface AutomationTagsProps extends TagProps {
28
32
  *
29
33
  * @default - Stack.of(this).stackName
30
34
  */
31
- readonly id: string;
35
+ readonly id?: string;
32
36
  /**
33
37
  * The URL to where the automation is stored or published. This field is required
34
38
  * when applying automation tags.
@@ -42,24 +46,21 @@ export interface CostCenterTagsProps extends TagProps {
42
46
  /**
43
47
  * Name of the business unit responsible for the costs associated with the tagged resources.
44
48
  */
45
- readonly businessUnitName: string;
49
+ readonly businessUnitName?: string;
46
50
  /**
47
51
  * Identifier for the business unit responsible for the costs associated with the tagged resources.
48
- * If not set, the tag is not created.
49
52
  */
50
53
  readonly businessUnitId?: string;
51
54
  /**
52
55
  * Name of the project responsible for creating the costs.
53
56
  */
54
- readonly projectName: string;
57
+ readonly projectName?: string;
55
58
  /**
56
59
  * Identifier for the project responsible for creating the costs.
57
- * If not set, the tag is not created.
58
60
  */
59
61
  readonly projectId?: string;
60
62
  /**
61
63
  * Name of the environment incurring the costs. Example "stage" or "prod"
62
- * If not set, the tag is not created.
63
64
  */
64
65
  readonly environment?: string;
65
66
  /**
@@ -129,7 +130,7 @@ export interface SecurityTagsProps extends TagProps {
129
130
  /**
130
131
  * Data classification value. See the TrueMark AWS tagging strategy documentation.
131
132
  */
132
- readonly dataClassification: DataClassification;
133
+ readonly dataClassification?: DataClassification;
133
134
  /**
134
135
  * Data sensitivity. See the TrueMark AWS tagging strategy documentation.
135
136
  */
@@ -142,7 +143,7 @@ export interface TeamTagsProps extends TagProps {
142
143
  /**
143
144
  * Name of the team.
144
145
  */
145
- readonly name: string;
146
+ readonly name?: string;
146
147
  /**
147
148
  * Identifier if different than the team name.
148
149
  */
@@ -254,13 +255,34 @@ export declare class StandardTags {
254
255
  * @param props properties for team tags
255
256
  */
256
257
  addTeamTags(props?: TeamTagsProps): StandardTags;
258
+ /**
259
+ * Returns a merged StandardTagsProps.
260
+ *
261
+ * @param from properties to source from
262
+ * @param to properties to source to
263
+ */
257
264
  static merge(from?: StandardTagsProps, to?: StandardTagsProps): StandardTagsProps;
258
265
  }
266
+ /**
267
+ * Implemented by Constructs to apply automation component tags.
268
+ */
259
269
  export interface IAutomationComponent {
260
270
  readonly automationComponentTags?: AutomationComponentTagsProps;
261
271
  }
272
+ /**
273
+ * Used internally by truemark-cdk-lib to handle automation component tagging.
274
+ * Do not use outside of this library. This is not meant for general consumption.
275
+ */
262
276
  export declare const InternalAutomationComponentTags: AutomationComponentTagsProps;
277
+ /**
278
+ * Type guard to detect if an object is an IAutomationComponent
279
+ *
280
+ * @param o the object to inspect
281
+ */
263
282
  export declare function isAutomationComponent(o: any): o is IAutomationComponent;
283
+ /**
284
+ * Aspect which tags all constructs that implement IAutomationComponent.
285
+ */
264
286
  export declare class AutomationComponentAspect implements IAspect {
265
287
  readonly suppressed: boolean;
266
288
  constructor(suppressTagging?: boolean);
@@ -76,21 +76,44 @@ class StandardTags {
76
76
  * @param props optional properties for the tags
77
77
  */
78
78
  addAutomationComponentTags(props) {
79
+ var _a, _b, _c, _d;
79
80
  if (props && !this.suppressed) {
80
81
  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);
82
+ if ((_a = props.propagate) !== null && _a !== void 0 ? _a : true) {
83
+ this.tags.add("automation:component-id", this.scope.constructor.name, props);
84
+ this.tags.add("automation:component-url", "https://github.com/truemark/cdk", props);
85
+ this.tags.add("automation:component-vendor", "TrueMark", props);
86
+ }
87
+ else {
88
+ new aws_cdk_lib_1.Tag("automation:component-id", this.scope.constructor.name).visit(this.scope);
89
+ new aws_cdk_lib_1.Tag("automation:component-url", "https://github.com/truemark/cdk").visit(this.scope);
90
+ new aws_cdk_lib_1.Tag("automation:component-vendor", "TrueMark").visit(this.scope);
91
+ }
84
92
  }
85
93
  else {
86
94
  if (props.id) {
87
- this.tags.add("automation:component-id", props.id, props);
95
+ if ((_b = props.propagate) !== null && _b !== void 0 ? _b : true) {
96
+ this.tags.add("automation:component-id", props.id, props);
97
+ }
98
+ else {
99
+ new aws_cdk_lib_1.Tag("automation:component-id", props.id).visit(this.scope);
100
+ }
88
101
  }
89
102
  if (props.url) {
90
- this.tags.add("automation:component-url", props.url, props);
103
+ if ((_c = props.propagate) !== null && _c !== void 0 ? _c : true) {
104
+ this.tags.add("automation:component-url", props.url, props);
105
+ }
106
+ else {
107
+ new aws_cdk_lib_1.Tag("automation:component-url", props.url).visit(this.scope);
108
+ }
91
109
  }
92
110
  if (props.vendor) {
93
- this.tags.add("automation:component-vendor", props.vendor, props);
111
+ if ((_d = props.propagate) !== null && _d !== void 0 ? _d : true) {
112
+ this.tags.add("automation:component-vendor", props.vendor, props);
113
+ }
114
+ else {
115
+ new aws_cdk_lib_1.Tag("automation:component-vendor", props.vendor).visit(this.scope);
116
+ }
94
117
  }
95
118
  }
96
119
  }
@@ -121,11 +144,15 @@ class StandardTags {
121
144
  */
122
145
  addCostCenterTags(props) {
123
146
  if (props && !this.suppressed) {
124
- this.tags.add("cost-center:business-unit-name", props.businessUnitName, props);
147
+ if (props.businessUnitName) {
148
+ this.tags.add("cost-center:business-unit-name", props.businessUnitName, props);
149
+ }
125
150
  if (props.businessUnitId) {
126
151
  this.tags.add("cost-center:business-unit-id", props.businessUnitId, props);
127
152
  }
128
- this.tags.add("cost-center:project-name", props.projectName, props);
153
+ if (props.projectName) {
154
+ this.tags.add("cost-center:project-name", props.projectName, props);
155
+ }
129
156
  if (props.projectId) {
130
157
  this.tags.add("cost-center:project-id", props.projectId, props);
131
158
  }
@@ -151,7 +178,9 @@ class StandardTags {
151
178
  */
152
179
  addSecurityTags(props) {
153
180
  if (props && !this.suppressed) {
154
- this.tags.add("security:data-classification", props.dataClassification, props);
181
+ if (props.dataClassification) {
182
+ this.tags.add("security:data-classification", props.dataClassification, props);
183
+ }
155
184
  if (props.dataSensitivity) {
156
185
  this.tags.add("security:data-sensitivity", props.dataSensitivity, props);
157
186
  }
@@ -165,7 +194,9 @@ class StandardTags {
165
194
  */
166
195
  addTeamTags(props) {
167
196
  if (props && !this.suppressed) {
168
- this.tags.add("team:name", props.name, props);
197
+ if (props.name) {
198
+ this.tags.add("team:name", props.name, props);
199
+ }
169
200
  if (props.id) {
170
201
  this.tags.add("team:id", props.id, props);
171
202
  }
@@ -187,6 +218,12 @@ class StandardTags {
187
218
  }
188
219
  return this;
189
220
  }
221
+ /**
222
+ * Returns a merged StandardTagsProps.
223
+ *
224
+ * @param from properties to source from
225
+ * @param to properties to source to
226
+ */
190
227
  static merge(from, to) {
191
228
  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
229
  let automationComponentTags = undefined;
@@ -240,13 +277,25 @@ class StandardTags {
240
277
  }
241
278
  }
242
279
  exports.StandardTags = StandardTags;
280
+ /**
281
+ * Used internally by truemark-cdk-lib to handle automation component tagging.
282
+ * Do not use outside of this library. This is not meant for general consumption.
283
+ */
243
284
  exports.InternalAutomationComponentTags = {
244
285
  id: "{{TMCDK}}"
245
286
  };
287
+ /**
288
+ * Type guard to detect if an object is an IAutomationComponent
289
+ *
290
+ * @param o the object to inspect
291
+ */
246
292
  function isAutomationComponent(o) {
247
293
  return "automationComponentTags" in o;
248
294
  }
249
295
  exports.isAutomationComponent = isAutomationComponent;
296
+ /**
297
+ * Aspect which tags all constructs that implement IAutomationComponent.
298
+ */
250
299
  class AutomationComponentAspect {
251
300
  constructor(suppressTagging) {
252
301
  this.suppressed = suppressTagging !== null && suppressTagging !== void 0 ? suppressTagging : false;
@@ -258,4 +307,4 @@ class AutomationComponentAspect {
258
307
  }
259
308
  }
260
309
  exports.AutomationComponentAspect = AutomationComponentAspect;
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YW5kYXJkLXRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQTJEO0FBZ0czRDs7R0FFRztBQUNILElBQVksa0JBeUJYO0FBekJELFdBQVksa0JBQWtCO0lBQzVCOzs7T0FHRztJQUNILDREQUFzQyxDQUFBO0lBRXRDOzs7O09BSUc7SUFDSCwrQ0FBeUIsQ0FBQTtJQUV6Qjs7OztPQUlHO0lBQ0gsK0NBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCx1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBekJXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBeUI3QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxlQWlCWDtBQWpCRCxXQUFZLGVBQWU7SUFFekI7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7OztPQUdHO0lBQ0gsOEJBQVcsQ0FBQTtBQUNiLENBQUMsRUFqQlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFpQjFCO0FBa0dEOztHQUVHO0FBQ0gsTUFBYSxZQUFZO0lBaUJ2Qjs7Ozs7T0FLRztJQUNILFlBQVksS0FBZ0IsRUFBRSxLQUF5Qjs7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLG1DQUFJLEtBQUssQ0FBQztRQUVsRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtB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LElBQWdCO1FBQ3BCLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25ELElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUE7U0FDbEY7SUFDSCxDQUFDO0NBQ0Y7QUFiRCw4REFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0LCBJQ29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtJQXNwZWN0LCBTdGFjaywgVGFnUHJvcHMsIFRhZ3N9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBjb21wb25lbnQuIERlZmF1bHQgaXMgc2NvcGUuY29uc3RydWN0b3IubmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgc2NvcGUuY29uc3RydWN0b3IubmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVuZG9yIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSB2ZW5kb3I/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==
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YW5kYXJkLXRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQWdFO0FBa0doRTs7R0FFRztBQUNILElBQVksa0JBeUJYO0FBekJELFdBQVksa0JBQWtCO0lBQzVCOzs7T0FHRztJQUNILDREQUFzQyxDQUFBO0lBRXRDOzs7O09BSUc7SUFDSCwrQ0FBeUIsQ0FBQTtJQUV6Qjs7OztPQUlHO0lBQ0gsK0NBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCx1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBekJXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBeUI3QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxlQWlCWDtBQWpCRCxXQUFZLGVBQWU7SUFFekI7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7OztPQUdHO0lBQ0gsOEJBQVcsQ0FBQTtBQUNiLENBQUMsRUFqQlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFpQjFCO0FBa0dEOztHQUVHO0FBQ0gsTUFBYSxZQUFZO0lBaUJ2Qjs7Ozs7T0FLRztJQUNILFlBQVksS0FBZ0IsRUFBRSxLQUF5Qjs7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLG1DQUFJLEtBQUssQ0FBQztRQUVsRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtB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QWEseUJBQXlCO0lBSXBDLFlBQVksZUFBeUI7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLGFBQWYsZUFBZSxjQUFmLGVBQWUsR0FBSSxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFnQjtRQUNwQixJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuRCxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFBO1NBQ2xGO0lBQ0gsQ0FBQztDQUNGO0FBYkQsOERBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdCwgSUNvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7SUFzcGVjdCwgU3RhY2ssIFRhZywgVGFnUHJvcHMsIFRhZ3N9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVuZG9yIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSB2ZW5kb3I/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGFncyBhcmUgcHJvcGFnYXRlZCB0byBjaGlsZHJlbi4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHByb3BhZ2F0ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYXV0b21hdGlvbiB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tYXRpb25UYWdzUHJvcHMgZXh0ZW5kcyBUYWdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgc3RhY2suIElmIG9uZSBpZiBub3QgcHJvdmlkZWQsIHRoZSBuYW1lIG9mIHRoZSBzdGFjayBpcyB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgdG8gd2hlcmUgdGhlIGF1dG9tYXRpb24gaXMgc3RvcmVkIG9yIHB1Ymxpc2hlZC4gVGhpcyBmaWVsZCBpcyByZXF1aXJlZFxuICAgKiB3aGVuIGFwcGx5aW5nIGF1dG9tYXRpb24gdGFncy5cbiAgICovXG4gIHJlYWRvbmx5IHVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjb3N0IGNlbnRlciB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvc3RDZW50ZXJUYWdzUHJvcHMgZXh0ZW5kcyBUYWdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJ1c2luZXNzIHVuaXQgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBidXNpbmVzc1VuaXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGUgYnVzaW5lc3MgdW5pdCByZXNwb25zaWJsZSBmb3IgdGhlIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGJ1c2luZXNzVW5pdElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBwcm9qZWN0IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGUgY29zdHMuXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhlIHByb2plY3QgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoZSBjb3N0cy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3RJZD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgaW5jdXJyaW5nIHRoZSBjb3N0cy4gRXhhbXBsZSBcInN0YWdlXCIgb3IgXCJwcm9kXCJcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBjb250YWN0IHJlc3BvbnNpYmxlIGZvciBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW1haWwgb2YgdGhlIGNvbnRhY3QgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0RW1haWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBob25lIG51bWJlciBvZiB0aGUgY29udGFjdCByZXNwb25zaWJsZSBmb3IgY29zdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKiBJZiBub3Qgc2V0LCB0aGUgdGFnIGlzIG5vdCBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdFBob25lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEhvbGRzIHZhbHVlcyB0aGF0IG1heSBiZSBhcHBsaWVkIHRvIHRoZSBkYXRhLWNsYXNzaWZpY2F0aW9uIHNlY3VyaXR5IHRhZy5cbiAqL1xuZXhwb3J0IGVudW0gRGF0YUNsYXNzaWZpY2F0aW9uIHtcbiAgLyoqXG4gICAqIFVzZWQgd2hlbiBkYXRhIG1heSBub3QgbGVhdmUgdGhlIGdlb2dyYXBoaWMgcmVnaW9uIGluIHdoaWNoIGl0IGlzIHN0b3JlZC5cbiAgICogVGhpcyBpcyB1c3VhbGx5IHJlbGF0ZWQgdG8gZ292ZXJubWVudCByZXN0cmljdGlvbnMgYXBwbGllZCB0byB0aGUgZGF0YS5cbiAgICovXG4gIEV4cG9ydFJlc3RyaWN0ZWQgPSBcImV4cG9ydC1yZXN0cmljdGVkXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiB1bmF1dGhvcml6ZWQgZGlzY2xvc3VyZSwgYWx0ZXJhdGlvbiBvciBkZXN0cnVjdGlvbiBvZiBkYXRhIHdvdWxkXG4gICAqIHJlc3VsdCBpbiBhIHNpZ25pZmljYW50IHJpc2sgdG8gdGhlIG9yZ2FuaXphdGlvbi4gVGhpcyBpbmNsdWRlcyBQSUksIFBISVxuICAgKiBhbmQgUENJIGRhdGEuXG4gICAqL1xuICBSZXN0cmljdGVkID0gXCJyZXN0cmljdGVkXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiB1bmF1dGhvcml6ZWQgZGlzY2xvc3VyZSwgYWx0ZXJhdGlvbiBvciBkZXN0cnVjdGlvbiBvZiB0aGUgZGF0YSB3b3VsZFxuICAgKiByZXN1bHQgaW4gbW9kZXJhdGUgcmlzay4gVGhpcyBpbmNsdWRlcyBhbGwgZGF0YSB0aGF0IGlzIG5vdCBpbiBvbmUgb2YgdGhlIG90aGVyXG4gICAqIGNsYXNzaWZpY2F0aW9ucy5cbiAgICovXG4gIENvbnRyb2xsZWQgPSBcImNvbnRyb2xsZWRcIixcblxuICAvKipcbiAgICogVXNlZCB3aGVuIGhhbmRsZWQgb3Igc3RvcmVkIGRhdGEgcmVhZGlseSBhdmFpbGFibGUgdG8gdGhlIHB1YmxpYy5cbiAgICovXG4gIFB1YmxpYyA9IFwicHVibGljXCJcbn1cblxuLyoqXG4gKiBIb2xkcyB2YWx1ZXMgdGhhdCBtYXkgYmUgYXBwbGllZCB0byB0aGUgZGF0YS1zZW5zaXRpdml0eSBzZWN1cml0eSB0YWcuXG4gKi9cbmV4cG9ydCBlbnVtIERhdGFTZW5zaXRpdml0eSB7XG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiByZXNvdXJjZXMgYXJlIGluIFBDSSBzY29wZS5cbiAgICovXG4gIFBDSSA9IFwicGNpXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiByZXNvdXJjZXMgaGFuZGxlIG9yIHN0b3JlIHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgUElJID0gXCJwaWlcIixcblxuICAvKipcbiAgICogVXNlZCB3aGVuIHJlc291cmNlcyBoYW5kbGUgb3Igc3RvcmUgcGVyc29uYWwgaGVhbHRoIGluZm9ybWF0aW9uIGFuZCBhcmVcbiAgICogc3ViamVjdCB0byBISVBQQSBydWxlcy5cbiAgICovXG4gIFBISSA9IFwicGhpXCJcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBzZWN1cml0eSB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5VGFnc1Byb3BzIGV4dGVuZHMgVGFnUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEYXRhIGNsYXNzaWZpY2F0aW9uIHZhbHVlLiBTZWUgdGhlIFRydWVNYXJrIEFXUyB0YWdnaW5nIHN0cmF0ZWd5IGRvY3VtZW50YXRpb24uXG4gICAqL1xuICByZWFkb25seSBkYXRhQ2xhc3NpZmljYXRpb24/OiBEYXRhQ2xhc3NpZmljYXRpb247XG5cbiAgLyoqXG4gICAqIERhdGEgc2Vuc2l0aXZpdHkuIFNlZSB0aGUgVHJ1ZU1hcmsgQVdTIHRhZ2dpbmcgc3RyYXRlZ3kgZG9jdW1lbnRhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTZW5zaXRpdml0eT86IERhdGFTZW5zaXRpdml0eTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0ZWFtIHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVhbVRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgdGVhbS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgaWYgZGlmZmVyZW50IHRoYW4gdGhlIHRlYW0gbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB0ZWFtIGxlYWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW1haWwgb2YgdGhlIHRlYW0gbGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3RFbWFpbD86IHN0cmluZztcblxuICAvKipcbiAgICogUGhvbmUgbnVtYmVyIGZvciB0aGUgdGVhbSBsZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdFBob25lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCdXNpbmVzcyB1bml0IHRoZSB0ZWFtIGJlbG9uZ3MgdG8uXG4gICAqL1xuICByZWFkb25seSBidXNpbmVzc1VuaXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlcGFydG1lbnQgdGhlIHRlYW0gYmVsb25ncyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGFydG1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udGFpbnMgc3RhbmRhcmQgdGFnZ2luZyBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkVGFnc1Byb3BzIHtcblxuICAvKipcbiAgICogQXV0b21hdGlvbiBjb21wb25lbnQgdGFncy5cbiAgICovXG4gIHJlYWRvbmx5IGF1dG9tYXRpb25Db21wb25lbnRUYWdzPzogQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcztcblxuICAvKipcbiAgICogQXV0b21hdGlvbiB0YWdzIHRvIGFwcGx5IHRvIGNyZWF0ZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b21hdGlvblRhZ3M/OiBBdXRvbWF0aW9uVGFnc1Byb3BzO1xuXG4gIC8qKlxuICAgKiBDb3N0IGNlbnRlciB0YWdzIHRvIGFwcGx5IHRvIGNyZWF0ZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29zdENlbnRlclRhZ3M/OiBDb3N0Q2VudGVyVGFnc1Byb3BzO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSB0YWdzIHRvIGFwcGx5IHRvIGNyZWF0ZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlUYWdzPzogU2VjdXJpdHlUYWdzUHJvcHM7XG5cbiAgLyoqXG4gICAqIFRlYW0gdGFncyB0byBhcHBseSB0byBjcmVhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHRlYW1UYWdzPzogVGVhbVRhZ3NQcm9wcztcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgdGFncyB0aGlzIHJlc291cmNlIGNyZWF0ZXMuXG4gICAqIERlZmF1bHQgdmFsdWUgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUHJvdmlkZXMgY29udmVuaWVuY2UgbWV0aG9kcyB0byB0YWcgcmVzb3VyY2VzIGZvbGxvd2luZyBUcnVlTWFyaydzIHRhZ2dpbmcgc3RyYXRlZ3kuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZFRhZ3Mge1xuXG4gIC8qKlxuICAgKiBUaGUgc2NvcGUgYmVpbmcgdGFnZ2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcblxuICAvKipcbiAgICogVGhlIHRhZ3MuXG4gICAqL1xuICByZWFkb25seSB0YWdzOiBUYWdzO1xuXG4gIC8qKlxuICAgKiBJZiB0YWdzIHdlcmUgc3VwcHJlc3NlZC5cbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgU3RhbmRhcmRUYWdzIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHRhZ1xuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzPzogU3RhbmRhcmRUYWdzUHJvcHMpIHtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy50YWdzID0gVGFncy5vZihzY29wZSk7XG4gICAgdGhpcy5zdXBwcmVzc2VkID0gcHJvcHM/LnN1cHByZXNzVGFnZ2luZyA/PyBmYWxzZTtcblxuICAgIHRoaXMuYWRkQXV0b21hdGlvbkNvbXBvbmVudFRhZ3MocHJvcHM/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzKTtcbiAgICB0aGlzLmFkZEF1dG9tYXRpb25UYWdzKHByb3BzPy5hdXRvbWF0aW9uVGFncyk7XG4gICAgdGhpcy5hZGRDb3N0Q2VudGVyVGFncyhwcm9wcz8uY29zdENlbnRlclRhZ3MpO1xuICAgIHRoaXMuYWRkU2VjdXJpdHlUYWdzKHByb3BzPy5zZWN1cml0eVRhZ3MpO1xuICAgIHRoaXMuYWRkVGVhbVRhZ3MocHJvcHM/LnRlYW1UYWdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuIFRoZXNlIGFyZSBtZWFudCB0byBiZSB1c2VkIGluIGluZGl2aWR1YWwgY29uc3RydWN0cyB0byBpZGVudGlmeVxuICAgKiB3aGF0IHJlc291cmNlcyB3ZXJlIHN0b29kIHVwIGJ5IHNwZWNpZmljIGNvbnN0cnVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBvcHRpb25hbCBwcm9wZXJ0aWVzIGZvciB0aGUgdGFnc1xuICAgKi9cbiAgYWRkQXV0b21hdGlvbkNvbXBvbmVudFRhZ3MocHJvcHM/OiBBdXRvbWF0aW9uQ29tcG9uZW50VGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgaWYgKHByb3BzLmlkID09PSBcInt7VE1DREt9fVwiKSB7XG4gICAgICAgIGlmIChwcm9wcy5wcm9wYWdhdGUgPz8gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMudGFncy5hZGQoXCJhdXRvbWF0aW9uOmNvbXBvbmVudC1pZFwiLCB0aGlzLnNjb3BlLmNvbnN0cnVjdG9yLm5hbWUsIHByb3BzKTtcbiAgICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdXJsXCIsIFwiaHR0cHM6Ly9naXRodWIuY29tL3RydWVtYXJrL2Nka1wiLCBwcm9wcyk7XG4gICAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LXZlbmRvclwiLCBcIlRydWVNYXJrXCIsIHByb3BzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXcgVGFnKFwiYXV0b21hdGlvbjpjb21wb25lbnQtaWRcIiwgdGhpcy5zY29wZS5jb25zdHJ1Y3Rvci5uYW1lKS52aXNpdCh0aGlzLnNjb3BlKTtcbiAgICAgICAgICBuZXcgVGFnKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdXJsXCIsIFwiaHR0cHM6Ly9naXRodWIuY29tL3RydWVtYXJrL2Nka1wiKS52aXNpdCh0aGlzLnNjb3BlKTtcbiAgICAgICAgICBuZXcgVGFnKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdmVuZG9yXCIsIFwiVHJ1ZU1hcmtcIikudmlzaXQodGhpcy5zY29wZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChwcm9wcy5pZCkge1xuICAgICAgICAgIGlmIChwcm9wcy5wcm9wYWdhdGUgPz8gdHJ1ZSkge1xuICAgICAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LWlkXCIsIHByb3BzLmlkLCBwcm9wcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgbmV3IFRhZyhcImF1dG9tYXRpb246Y29tcG9uZW50LWlkXCIsIHByb3BzLmlkKS52aXNpdCh0aGlzLnNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLnVybCkge1xuICAgICAgICAgIGlmIChwcm9wcy5wcm9wYWdhdGUgPz8gdHJ1ZSkge1xuICAgICAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LXVybFwiLCBwcm9wcy51cmwsIHByb3BzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3IFRhZyhcImF1dG9tYXRpb246Y29tcG9uZW50LXVybFwiLCBwcm9wcy51cmwpLnZpc2l0KHRoaXMuc2NvcGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcHMudmVuZG9yKSB7XG4gICAgICAgICAgaWYgKHByb3BzLnByb3BhZ2F0ZSA/PyB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdmVuZG9yXCIsIHByb3BzLnZlbmRvciwgcHJvcHMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXcgVGFnKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdmVuZG9yXCIsIHByb3BzLnZlbmRvcikudmlzaXQodGhpcy5zY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYXV0b21hdGlvbiB0YWdzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyBmb3IgdGhlIHRhZ3NcbiAgICovXG4gIGFkZEF1dG9tYXRpb25UYWdzKHByb3BzPzogQXV0b21hdGlvblRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFncyB7XG4gICAgaWYgKCF0aGlzLnN1cHByZXNzZWQpIHtcbiAgICAgIGxldCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gcHJvcHM/LmlkXG4gICAgICBpZiAoIWlkKSB7XG4gICAgICAgIGlkID0gU3RhY2sub2YodGhpcy5zY29wZSkuc3RhY2tOYW1lXG4gICAgICB9XG4gICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjppZFwiLCBpZCwgcHJvcHMpO1xuICAgICAgaWYgKHByb3BzPy51cmwpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246dXJsXCIsIHByb3BzLnVybCwgcHJvcHMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGNvc3QgY2VudGVyIHRhZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0aWVzIGZvciB0aGUgdGFnc1xuICAgKi9cbiAgYWRkQ29zdENlbnRlclRhZ3MocHJvcHM/OiBDb3N0Q2VudGVyVGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgaWYgKHByb3BzLmJ1c2luZXNzVW5pdE5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmJ1c2luZXNzLXVuaXQtbmFtZVwiLCBwcm9wcy5idXNpbmVzc1VuaXROYW1lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYnVzaW5lc3NVbml0SWQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmJ1c2luZXNzLXVuaXQtaWRcIiwgcHJvcHMuYnVzaW5lc3NVbml0SWQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcm9qZWN0TmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6cHJvamVjdC1uYW1lXCIsIHByb3BzLnByb2plY3ROYW1lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHJvamVjdElkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpwcm9qZWN0LWlkXCIsIHByb3BzLnByb2plY3RJZCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmVudmlyb25tZW50KSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjplbnZpcm9ubWVudFwiLCBwcm9wcy5lbnZpcm9ubWVudCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmNvbnRhY3ROYW1lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpjb250YWN0LW5hbWVcIiwgcHJvcHMuY29udGFjdE5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0RW1haWwpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmNvbnRhY3QtZW1haWxcIiwgcHJvcHMuY29udGFjdEVtYWlsLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdFBob25lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpjb250YWN0LXBob25lXCIsIHByb3BzLmNvbnRhY3RQaG9uZSwgcHJvcHMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHNlY3VyaXR5IHRhZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0aWVzIGZvciBzZWN1cml0eSB0YWdzXG4gICAqL1xuICBhZGRTZWN1cml0eVRhZ3MocHJvcHM/OiBTZWN1cml0eVRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFncyB7XG4gICAgaWYgKHByb3BzICYmICF0aGlzLnN1cHByZXNzZWQpIHtcbiAgICAgIGlmIChwcm9wcy5kYXRhQ2xhc3NpZmljYXRpb24pIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInNlY3VyaXR5OmRhdGEtY2xhc3NpZmljYXRpb25cIiwgcHJvcHMuZGF0YUNsYXNzaWZpY2F0aW9uLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGF0YVNlbnNpdGl2aXR5KSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJzZWN1cml0eTpkYXRhLXNlbnNpdGl2aXR5XCIsIHByb3BzLmRhdGFTZW5zaXRpdml0eSwgcHJvcHMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRlYW0gdGFncy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHRlYW0gdGFnc1xuICAgKi9cbiAgYWRkVGVhbVRhZ3MocHJvcHM/OiBUZWFtVGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgaWYgKHByb3BzLm5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06bmFtZVwiLCBwcm9wcy5uYW1lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuaWQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06aWRcIiwgcHJvcHMuaWQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0TmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpjb250YWN0LW5hbWVcIiwgcHJvcHMuY29udGFjdE5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0RW1haWwpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06Y29udGFjdC1lbWFpbFwiLCBwcm9wcy5jb250YWN0RW1haWwsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0UGhvbmUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06Y29udGFjdC1ob25lXCIsIHByb3BzLmNvbnRhY3RQaG9uZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmJ1c2luZXNzVW5pdCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpidXNpbmVzcy11bml0XCIsIHByb3BzLmJ1c2luZXNzVW5pdCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmRlcGFydG1lbnQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06ZGVwYXJ0bWVudFwiLCBwcm9wcy5kZXBhcnRtZW50LCBwcm9wcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBtZXJnZWQgU3RhbmRhcmRUYWdzUHJvcHMuXG4gICAqXG4gICAqIEBwYXJhbSBmcm9tIHByb3BlcnRpZXMgdG8gc291cmNlIGZyb21cbiAgICogQHBhcmFtIHRvIHByb3BlcnRpZXMgdG8gc291cmNlIHRvXG4gICAqL1xuICBzdGF0aWMgbWVyZ2UoZnJvbT86IFN0YW5kYXJkVGFnc1Byb3BzLCB0bz86IFN0YW5kYXJkVGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzUHJvcHMge1xuICAgIGxldCBhdXRvbWF0aW9uQ29tcG9uZW50VGFnczogQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoZnJvbT8uYXV0b21hdGlvbkNvbXBvbmVudFRhZ3MgfHwgdG8/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzKSB7XG4gICAgICBhdXRvbWF0aW9uQ29tcG9uZW50VGFncyA9IHtcbiAgICAgICAgaWQ6IHRvPy5hdXRvbWF0aW9uQ29tcG9uZW50VGFncz8uaWQgPz8gZnJvbT8uYXV0b21hdGlvbkNvbXBvbmVudFRhZ3M/LmlkID8/IFwiXCIsXG4gICAgICAgIC4uLmZyb20/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzLFxuICAgICAgICAuLi50bz8uYXV0b21hdGlvbkNvbXBvbmVudFRhZ3NcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgYXV0b21hdGlvblRhZ3M6IEF1dG9tYXRpb25UYWdzUHJvcHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZyb20/LmF1dG9tYXRpb25UYWdzIHx8IHRvPy5hdXRvbWF0aW9uVGFncykge1xuICAgICAgYXV0b21hdGlvblRhZ3MgPSB7XG4gICAgICAgIGlkOiB0bz8uYXV0b21hdGlvblRhZ3M/LmlkID8/IGZyb20/LmF1dG9tYXRpb25UYWdzPy5pZCA/PyBcIlwiLFxuICAgICAgICAuLi5mcm9tPy5hdXRvbWF0aW9uVGFncyxcbiAgICAgICAgLi4udG8/LmF1dG9tYXRpb25UYWdzXG4gICAgICB9XG4gICAgfVxuICAgIGxldCBjb3N0Q2VudGVyVGFnczogQ29zdENlbnRlclRhZ3NQcm9wcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoZnJvbT8uY29zdENlbnRlclRhZ3MgfHwgdG8/LmNvc3RDZW50ZXJUYWdzKSB7XG4gICAgICBjb3N0Q2VudGVyVGFncyA9IHtcbiAgICAgICAgYnVzaW5lc3NVbml0TmFtZTogdG8/LmNvc3RDZW50ZXJUYWdzPy5idXNpbmVzc1VuaXROYW1lID8/IGZyb20/LmNvc3RDZW50ZXJUYWdzPy5idXNpbmVzc1VuaXROYW1lID8/IFwiXCIsXG4gICAgICAgIHByb2plY3ROYW1lOiB0bz8uY29zdENlbnRlclRhZ3M/LnByb2plY3ROYW1lID8/IGZyb20/LmNvc3RDZW50ZXJUYWdzPy5wcm9qZWN0TmFtZSA/PyBcIlwiLFxuICAgICAgICAuLi5mcm9tPy5jb3N0Q2VudGVyVGFncyxcbiAgICAgICAgLi4udG8/LmNvc3RDZW50ZXJUYWdzXG4gICAgICB9XG4gICAgfVxuICAgIGxldCBzZWN1cml0eVRhZ3M6IFNlY3VyaXR5VGFnc1Byb3BzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChmcm9tPy5zZWN1cml0eVRhZ3MgfHwgdG8/LnNlY3VyaXR5VGFncykge1xuICAgICAgc2VjdXJpdHlUYWdzID0ge1xuICAgICAgICBkYXRhQ2xhc3NpZmljYXRpb246IHRvPy5zZWN1cml0eVRhZ3M/LmRhdGFDbGFzc2lmaWNhdGlvbiA/PyBmcm9tPy5zZWN1cml0eVRhZ3M/LmRhdGFDbGFzc2lmaWNhdGlvbiA/PyBEYXRhQ2xhc3NpZmljYXRpb24uQ29udHJvbGxlZCxcbiAgICAgICAgLi4uZnJvbT8uc2VjdXJpdHlUYWdzLFxuICAgICAgICAuLi50bz8uc2VjdXJpdHlUYWdzXG4gICAgICB9XG4gICAgfVxuICAgIGxldCB0ZWFtVGFnczogVGVhbVRhZ3NQcm9wcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoZnJvbT8udGVhbVRhZ3MgfHwgdG8/LnRlYW1UYWdzKSB7XG4gICAgICB0ZWFtVGFncyA9IHtcbiAgICAgICAgbmFtZTogdG8/LnRlYW1UYWdzPy5uYW1lID8/IGZyb20/LnRlYW1UYWdzPy5uYW1lID8/IFwiXCIsXG4gICAgICAgIC4uLmZyb20/LnRlYW1UYWdzLFxuICAgICAgICAuLi50bz8udGVhbVRhZ3NcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGF1dG9tYXRpb25Db21wb25lbnRUYWdzLFxuICAgICAgYXV0b21hdGlvblRhZ3MsXG4gICAgICBjb3N0Q2VudGVyVGFncyxcbiAgICAgIHNlY3VyaXR5VGFncyxcbiAgICAgIHRlYW1UYWdzXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogSW1wbGVtZW50ZWQgYnkgQ29uc3RydWN0cyB0byBhcHBseSBhdXRvbWF0aW9uIGNvbXBvbmVudCB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBdXRvbWF0aW9uQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgYXV0b21hdGlvbkNvbXBvbmVudFRhZ3M/OiBBdXRvbWF0aW9uQ29tcG9uZW50VGFnc1Byb3BzO1xufVxuXG4vKipcbiAqIFVzZWQgaW50ZXJuYWxseSBieSB0cnVlbWFyay1jZGstbGliIHRvIGhhbmRsZSBhdXRvbWF0aW9uIGNvbXBvbmVudCB0YWdnaW5nLlxuICogRG8gbm90IHVzZSBvdXRzaWRlIG9mIHRoaXMgbGlicmFyeS4gVGhpcyBpcyBub3QgbWVhbnQgZm9yIGdlbmVyYWwgY29uc3VtcHRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBJbnRlcm5hbEF1dG9tYXRpb25Db21wb25lbnRUYWdzOiBBdXRvbWF0aW9uQ29tcG9uZW50VGFnc1Byb3BzID0ge1xuICBpZDogXCJ7e1RNQ0RLfX1cIlxufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gZGV0ZWN0IGlmIGFuIG9iamVjdCBpcyBhbiBJQXV0b21hdGlvbkNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSBvIHRoZSBvYmplY3QgdG8gaW5zcGVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBdXRvbWF0aW9uQ29tcG9uZW50KG86IGFueSk6IG8gaXMgSUF1dG9tYXRpb25Db21wb25lbnQge1xuICByZXR1cm4gXCJhdXRvbWF0aW9uQ29tcG9uZW50VGFnc1wiIGluIG87XG59XG5cbi8qKlxuICogQXNwZWN0IHdoaWNoIHRhZ3MgYWxsIGNvbnN0cnVjdHMgdGhhdCBpbXBsZW1lbnQgSUF1dG9tYXRpb25Db21wb25lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRvbWF0aW9uQ29tcG9uZW50QXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG5cbiAgcmVhZG9ubHkgc3VwcHJlc3NlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuKSB7XG4gICAgdGhpcy5zdXBwcmVzc2VkID0gc3VwcHJlc3NUYWdnaW5nID8/IGZhbHNlO1xuICB9XG5cbiAgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChpc0F1dG9tYXRpb25Db21wb25lbnQobm9kZSkgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgbmV3IFN0YW5kYXJkVGFncyhub2RlLCB7IGF1dG9tYXRpb25Db21wb25lbnRUYWdzOiBub2RlLmF1dG9tYXRpb25Db21wb25lbnRUYWdzIH0pXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const test_helper_1 = require("../../test-helper");
4
+ const index_1 = require("../index");
5
+ test("Test StandardTags", () => {
6
+ const stack = test_helper_1.TestHelper.stack();
7
+ const standardTags = new index_1.StandardTags(stack);
8
+ });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtdGFncy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQTZDO0FBQzdDLG9DQUFzQztBQUV0QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO0lBQzdCLE1BQU0sS0FBSyxHQUFHLHdCQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUZXN0SGVscGVyfSBmcm9tIFwiLi4vLi4vdGVzdC1oZWxwZXJcIjtcbmltcG9ydCB7U3RhbmRhcmRUYWdzfSBmcm9tIFwiLi4vaW5kZXhcIjtcblxudGVzdChcIlRlc3QgU3RhbmRhcmRUYWdzXCIsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBUZXN0SGVscGVyLnN0YWNrKCk7XG4gIGNvbnN0IHN0YW5kYXJkVGFncyA9IG5ldyBTdGFuZGFyZFRhZ3Moc3RhY2spO1xufSk7XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_helper_1 = require("../test-helper");
4
- const aws_cloudwatch_1 = require("../../aws-cloudwatch");
3
+ const test_helper_1 = require("../../test-helper");
4
+ const index_1 = require("../index");
5
5
  const assertions_1 = require("aws-cdk-lib/assertions");
6
6
  test("Create EstimatedChargesAlarm", () => {
7
7
  const stack = test_helper_1.TestHelper.stack();
8
- new aws_cloudwatch_1.EstimatedChargesAlarm(stack, "EstimatedChargesAlarm", {
8
+ new index_1.EstimatedChargesAlarm(stack, "EstimatedChargesAlarm", {
9
9
  maxMonthly: 10
10
10
  });
11
11
  const template = assertions_1.Template.fromStack(stack);
@@ -25,4 +25,4 @@ test("Create EstimatedChargesAlarm", () => {
25
25
  });
26
26
  // TODO I (Erik) cannot figure out how to assert in the test the threshold was actually set to 10. If you figure it out, let me know.
27
27
  });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0aW1hdGVkLWNoYXJnZXMtYWxhcm0udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVzdGltYXRlZC1jaGFyZ2VzLWFsYXJtLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnREFBd0Q7QUFDeEQseURBQTJEO0FBQzNELHVEQUFnRDtBQUVoRCxJQUFJLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLHdCQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsSUFBSSxzQ0FBcUIsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLEVBQUU7UUFDeEQsVUFBVSxFQUFFLEVBQUU7S0FDZixDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMsZUFBZSxDQUFDLDBCQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsUUFBUSxDQUFDLHFCQUFxQixDQUFDLDBCQUFZLENBQUMsZ0JBQWdCLEVBQUU7UUFDNUQsa0JBQWtCLEVBQUUsc0JBQXNCO1FBQzFDLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFVBQVUsRUFBRSxrQkFBa0I7UUFDOUIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsaUJBQWlCLEVBQUUsQ0FBQztRQUNwQixVQUFVLEVBQUU7WUFDVjtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gscUlBQXFJO0FBQ3ZJLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZXNvdXJjZVR5cGUsIFRlc3RIZWxwZXJ9IGZyb20gXCIuLi90ZXN0LWhlbHBlclwiO1xuaW1wb3J0IHtFc3RpbWF0ZWRDaGFyZ2VzQWxhcm19IGZyb20gXCIuLi8uLi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtUZW1wbGF0ZX0gZnJvbSBcImF3cy1jZGstbGliL2Fzc2VydGlvbnNcIjtcblxudGVzdChcIkNyZWF0ZSBFc3RpbWF0ZWRDaGFyZ2VzQWxhcm1cIiwgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IFRlc3RIZWxwZXIuc3RhY2soKTtcbiAgbmV3IEVzdGltYXRlZENoYXJnZXNBbGFybShzdGFjaywgXCJFc3RpbWF0ZWRDaGFyZ2VzQWxhcm1cIiwge1xuICAgIG1heE1vbnRobHk6IDEwXG4gIH0pO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhSZXNvdXJjZVR5cGUuQ0xPVURXQVRDSF9BTEFSTSwgMSk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhSZXNvdXJjZVR5cGUuQ0xPVURXQVRDSF9BTEFSTSwge1xuICAgIENvbXBhcmlzb25PcGVyYXRvcjogXCJHcmVhdGVyVGhhblRocmVzaG9sZFwiLFxuICAgIFN0YXRpc3RpYzogXCJNYXhpbXVtXCIsXG4gICAgTWV0cmljTmFtZTogXCJFc3RpbWF0ZWRDaGFyZ2VzXCIsXG4gICAgTmFtZXNwYWNlOiBcIkFXUy9CaWxsaW5nXCIsXG4gICAgRXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgRGltZW5zaW9uczogW1xuICAgICAge1xuICAgICAgICBOYW1lOiBcIkN1cnJlbmN5XCIsXG4gICAgICAgIFZhbHVlOiBcIlVTRFwiXG4gICAgICB9XG4gICAgXVxuICB9KTtcbiAgLy8gVE9ETyBJIChFcmlrKSBjYW5ub3QgZmlndXJlIG91dCBob3cgdG8gYXNzZXJ0IGluIHRoZSB0ZXN0IHRoZSB0aHJlc2hvbGQgd2FzIGFjdHVhbGx5IHNldCB0byAxMC4gSWYgeW91IGZpZ3VyZSBpdCBvdXQsIGxldCBtZSBrbm93LlxufSk7XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0aW1hdGVkLWNoYXJnZXMtYWxhcm0udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVzdGltYXRlZC1jaGFyZ2VzLWFsYXJtLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFBMkQ7QUFDM0Qsb0NBQStDO0FBQy9DLHVEQUFnRDtBQUVoRCxJQUFJLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLHdCQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsSUFBSSw2QkFBcUIsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLEVBQUU7UUFDeEQsVUFBVSxFQUFFLEVBQUU7S0FDZixDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMsZUFBZSxDQUFDLDBCQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsUUFBUSxDQUFDLHFCQUFxQixDQUFDLDBCQUFZLENBQUMsZ0JBQWdCLEVBQUU7UUFDNUQsa0JBQWtCLEVBQUUsc0JBQXNCO1FBQzFDLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFVBQVUsRUFBRSxrQkFBa0I7UUFDOUIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsaUJBQWlCLEVBQUUsQ0FBQztRQUNwQixVQUFVLEVBQUU7WUFDVjtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gscUlBQXFJO0FBQ3ZJLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZXNvdXJjZVR5cGUsIFRlc3RIZWxwZXJ9IGZyb20gXCIuLi8uLi90ZXN0LWhlbHBlclwiO1xuaW1wb3J0IHtFc3RpbWF0ZWRDaGFyZ2VzQWxhcm19IGZyb20gXCIuLi9pbmRleFwiO1xuaW1wb3J0IHtUZW1wbGF0ZX0gZnJvbSBcImF3cy1jZGstbGliL2Fzc2VydGlvbnNcIjtcblxudGVzdChcIkNyZWF0ZSBFc3RpbWF0ZWRDaGFyZ2VzQWxhcm1cIiwgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IFRlc3RIZWxwZXIuc3RhY2soKTtcbiAgbmV3IEVzdGltYXRlZENoYXJnZXNBbGFybShzdGFjaywgXCJFc3RpbWF0ZWRDaGFyZ2VzQWxhcm1cIiwge1xuICAgIG1heE1vbnRobHk6IDEwXG4gIH0pO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhSZXNvdXJjZVR5cGUuQ0xPVURXQVRDSF9BTEFSTSwgMSk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhSZXNvdXJjZVR5cGUuQ0xPVURXQVRDSF9BTEFSTSwge1xuICAgIENvbXBhcmlzb25PcGVyYXRvcjogXCJHcmVhdGVyVGhhblRocmVzaG9sZFwiLFxuICAgIFN0YXRpc3RpYzogXCJNYXhpbXVtXCIsXG4gICAgTWV0cmljTmFtZTogXCJFc3RpbWF0ZWRDaGFyZ2VzXCIsXG4gICAgTmFtZXNwYWNlOiBcIkFXUy9CaWxsaW5nXCIsXG4gICAgRXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgRGltZW5zaW9uczogW1xuICAgICAge1xuICAgICAgICBOYW1lOiBcIkN1cnJlbmN5XCIsXG4gICAgICAgIFZhbHVlOiBcIlVTRFwiXG4gICAgICB9XG4gICAgXVxuICB9KTtcbiAgLy8gVE9ETyBJIChFcmlrKSBjYW5ub3QgZmlndXJlIG91dCBob3cgdG8gYXNzZXJ0IGluIHRoZSB0ZXN0IHRoZSB0aHJlc2hvbGQgd2FzIGFjdHVhbGx5IHNldCB0byAxMC4gSWYgeW91IGZpZ3VyZSBpdCBvdXQsIGxldCBtZSBrbm93LlxufSk7XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_helper_1 = require("../test-helper");
4
- const aws_codepipeline_1 = require("../../aws-codepipeline");
3
+ const test_helper_1 = require("../../test-helper");
4
+ const index_1 = require("../index");
5
5
  const assertions_1 = require("aws-cdk-lib/assertions");
6
6
  test("Test CdkPipeline", () => {
7
7
  const stack = test_helper_1.TestHelper.stack();
8
- new aws_codepipeline_1.CdkPipeline(stack, "Test", {
8
+ new index_1.CdkPipeline(stack, "Test", {
9
9
  keyArn: "arn:aws:kms:us-east-2:000000000000:key/00000000-0000-0000-0000-000000000000",
10
10
  connectionArn: "arn:aws:codestar-connections:us-east-2:000000000000:connection/00000000-0000-0000-0000-000000000000",
11
11
  repository: "SomeOwner/SomeRepo",
@@ -14,4 +14,4 @@ test("Test CdkPipeline", () => {
14
14
  const template = assertions_1.Template.fromStack(stack);
15
15
  template.resourceCountIs(test_helper_1.ResourceType.CODEPIPELINE, 1);
16
16
  });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstcGlwZWxpbmUudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUF3RDtBQUN4RCw2REFBbUQ7QUFDbkQsdURBQWdEO0FBRWhELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7SUFDNUIsTUFBTSxLQUFLLEdBQUcsd0JBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQyxJQUFJLDhCQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUM3QixNQUFNLEVBQUUsNkVBQTZFO1FBQ3JGLGFBQWEsRUFBRSxxR0FBcUc7UUFDcEgsVUFBVSxFQUFFLG9CQUFvQjtRQUNoQyxNQUFNLEVBQUUsWUFBWTtLQUNyQixDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMsZUFBZSxDQUFDLDBCQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZXNvdXJjZVR5cGUsIFRlc3RIZWxwZXJ9IGZyb20gXCIuLi90ZXN0LWhlbHBlclwiO1xuaW1wb3J0IHtDZGtQaXBlbGluZX0gZnJvbSBcIi4uLy4uL2F3cy1jb2RlcGlwZWxpbmVcIjtcbmltcG9ydCB7VGVtcGxhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hc3NlcnRpb25zXCI7XG5cbnRlc3QoXCJUZXN0IENka1BpcGVsaW5lXCIsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBUZXN0SGVscGVyLnN0YWNrKCk7XG4gIG5ldyBDZGtQaXBlbGluZShzdGFjaywgXCJUZXN0XCIsIHtcbiAgICBrZXlBcm46IFwiYXJuOmF3czprbXM6dXMtZWFzdC0yOjAwMDAwMDAwMDAwMDprZXkvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwXCIsXG4gICAgY29ubmVjdGlvbkFybjogXCJhcm46YXdzOmNvZGVzdGFyLWNvbm5lY3Rpb25zOnVzLWVhc3QtMjowMDAwMDAwMDAwMDA6Y29ubmVjdGlvbi8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDBcIixcbiAgICByZXBvc2l0b3J5OiBcIlNvbWVPd25lci9Tb21lUmVwb1wiLFxuICAgIGJyYW5jaDogXCJTb21lQnJhbmNoXCJcbiAgfSk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUucmVzb3VyY2VDb3VudElzKFJlc291cmNlVHlwZS5DT0RFUElQRUxJTkUsIDEpO1xufSk7XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstcGlwZWxpbmUudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1EQUEyRDtBQUMzRCxvQ0FBcUM7QUFDckMsdURBQWdEO0FBRWhELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7SUFDNUIsTUFBTSxLQUFLLEdBQUcsd0JBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQyxJQUFJLG1CQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUM3QixNQUFNLEVBQUUsNkVBQTZFO1FBQ3JGLGFBQWEsRUFBRSxxR0FBcUc7UUFDcEgsVUFBVSxFQUFFLG9CQUFvQjtRQUNoQyxNQUFNLEVBQUUsWUFBWTtLQUNyQixDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMsZUFBZSxDQUFDLDBCQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZXNvdXJjZVR5cGUsIFRlc3RIZWxwZXJ9IGZyb20gXCIuLi8uLi90ZXN0LWhlbHBlclwiO1xuaW1wb3J0IHtDZGtQaXBlbGluZX0gZnJvbSBcIi4uL2luZGV4XCI7XG5pbXBvcnQge1RlbXBsYXRlfSBmcm9tIFwiYXdzLWNkay1saWIvYXNzZXJ0aW9uc1wiO1xuXG50ZXN0KFwiVGVzdCBDZGtQaXBlbGluZVwiLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gVGVzdEhlbHBlci5zdGFjaygpO1xuICBuZXcgQ2RrUGlwZWxpbmUoc3RhY2ssIFwiVGVzdFwiLCB7XG4gICAga2V5QXJuOiBcImFybjphd3M6a21zOnVzLWVhc3QtMjowMDAwMDAwMDAwMDA6a2V5LzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMFwiLFxuICAgIGNvbm5lY3Rpb25Bcm46IFwiYXJuOmF3czpjb2Rlc3Rhci1jb25uZWN0aW9uczp1cy1lYXN0LTI6MDAwMDAwMDAwMDAwOmNvbm5lY3Rpb24vMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwXCIsXG4gICAgcmVwb3NpdG9yeTogXCJTb21lT3duZXIvU29tZVJlcG9cIixcbiAgICBicmFuY2g6IFwiU29tZUJyYW5jaFwiXG4gIH0pO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhSZXNvdXJjZVR5cGUuQ09ERVBJUEVMSU5FLCAxKTtcbn0pO1xuIl19