cdktn 0.26.0-pre.0 → 0.26.0-pre.2

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 (57) hide show
  1. package/.jsii +6 -6
  2. package/lib/annotations.js +1 -1
  3. package/lib/app.js +1 -1
  4. package/lib/aspect.js +1 -1
  5. package/lib/asset-hash.js +1 -1
  6. package/lib/asset-staging.js +1 -1
  7. package/lib/assets.js +4 -4
  8. package/lib/backends/azurerm-backend.js +2 -2
  9. package/lib/backends/cloud-backend.js +4 -4
  10. package/lib/backends/consul-backend.js +2 -2
  11. package/lib/backends/cos-backend.js +2 -2
  12. package/lib/backends/gcs-backend.js +2 -2
  13. package/lib/backends/http-backend.js +2 -2
  14. package/lib/backends/local-backend.js +2 -2
  15. package/lib/backends/oss-backend.js +2 -2
  16. package/lib/backends/pg-backend.js +2 -2
  17. package/lib/backends/remote-backend.js +4 -4
  18. package/lib/backends/s3-backend.js +2 -2
  19. package/lib/backends/swift-backend.js +2 -2
  20. package/lib/complex-computed-list.js +26 -26
  21. package/lib/functions/provider-function.js +1 -1
  22. package/lib/functions/terraform-functions.generated.js +1 -1
  23. package/lib/ignore-strategy.js +1 -1
  24. package/lib/importable-resource.js +1 -1
  25. package/lib/manifest.js +1 -1
  26. package/lib/resource.js +1 -1
  27. package/lib/terraform-asset.js +1 -1
  28. package/lib/terraform-backend.js +1 -1
  29. package/lib/terraform-count.js +1 -1
  30. package/lib/terraform-data-resource.js +1 -1
  31. package/lib/terraform-data-source.js +1 -1
  32. package/lib/terraform-element.js +1 -1
  33. package/lib/terraform-ephemeral-resource.js +1 -1
  34. package/lib/terraform-functions.d.ts +4 -4
  35. package/lib/terraform-functions.js +6 -6
  36. package/lib/terraform-hcl-module.js +1 -1
  37. package/lib/terraform-iterator.js +5 -5
  38. package/lib/terraform-local.js +1 -1
  39. package/lib/terraform-module.js +1 -1
  40. package/lib/terraform-operators.js +1 -1
  41. package/lib/terraform-output.js +1 -1
  42. package/lib/terraform-provider.js +1 -1
  43. package/lib/terraform-provisioner.js +1 -1
  44. package/lib/terraform-remote-state.js +1 -1
  45. package/lib/terraform-resource-targets.js +1 -1
  46. package/lib/terraform-resource.js +1 -1
  47. package/lib/terraform-stack.js +1 -1
  48. package/lib/terraform-variable.js +2 -2
  49. package/lib/testing/index.js +1 -1
  50. package/lib/testing/matchers.js +1 -1
  51. package/lib/tokens/lazy.js +2 -2
  52. package/lib/tokens/resolvable.js +2 -2
  53. package/lib/tokens/string-fragments.js +1 -1
  54. package/lib/tokens/token.js +2 -2
  55. package/lib/upgrade-id-aspect.js +1 -1
  56. package/lib/validations/target-versions.js +4 -2
  57. package/package.json +1 -1
@@ -10,7 +10,7 @@ const fs_1 = require("./private/fs");
10
10
  * directories (with everything inside them).
11
11
  */
12
12
  class ExcludeIgnoreStrategy {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ExcludeIgnoreStrategy", version: "0.26.0-pre.0" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ExcludeIgnoreStrategy", version: "0.26.0-pre.2" };
14
14
  matcher;
15
15
  cacheKey;
16
16
  // Undefined (the interface default) prunes excluded directories, which is
@@ -9,7 +9,7 @@ const target_versions_1 = require("./validations/target-versions");
9
9
  */
10
10
  class ImportableResource extends terraform_element_1.TerraformElement {
11
11
  config;
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ImportableResource", version: "0.26.0-pre.0" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ImportableResource", version: "0.26.0-pre.2" };
13
13
  constructor(scope, name, config) {
14
14
  super(scope, name, config.terraformResourceType);
15
15
  this.config = config;
package/lib/manifest.js CHANGED
@@ -48,7 +48,7 @@ class Manifest {
48
48
  version;
49
49
  outdir;
50
50
  hclOutput;
51
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Manifest", version: "0.26.0-pre.0" };
51
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Manifest", version: "0.26.0-pre.2" };
52
52
  static fileName = "manifest.json";
53
53
  static stacksFolder = "stacks";
54
54
  static stackMetadataPath = "metadata.json";
package/lib/resource.js CHANGED
@@ -11,7 +11,7 @@ const terraform_stack_1 = require("./terraform-stack");
11
11
  * @deprecated - Please use Construct from the constructs package instead.
12
12
  */
13
13
  class Resource extends constructs_1.Construct {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Resource", version: "0.26.0-pre.0" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Resource", version: "0.26.0-pre.2" };
15
15
  stack;
16
16
  constructor(scope, id) {
17
17
  super(scope, id);
@@ -74,7 +74,7 @@ const PACKAGING_BY_TYPE = {
74
74
  };
75
75
  // eslint-disable-next-line jsdoc/require-jsdoc
76
76
  class TerraformAsset extends constructs_1.Construct {
77
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformAsset", version: "0.26.0-pre.0" };
77
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformAsset", version: "0.26.0-pre.2" };
78
78
  stack;
79
79
  sourcePath;
80
80
  // hash value of the asset that can be passed to consuming constructs (e.g. to not recreate a lambda function in case the underlying files did not change)
@@ -8,7 +8,7 @@ const BACKEND_SYMBOL = Symbol.for("cdktf/TerraformBackend");
8
8
  // eslint-disable-next-line jsdoc/require-jsdoc
9
9
  class TerraformBackend extends terraform_element_1.TerraformElement {
10
10
  name;
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformBackend", version: "0.26.0-pre.0" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformBackend", version: "0.26.0-pre.2" };
12
12
  constructor(scope, id, name) {
13
13
  super(scope, id);
14
14
  this.name = name;
@@ -12,7 +12,7 @@ const COUNT_SYMBOL = Symbol.for("cdktf/TerraformCount");
12
12
  */
13
13
  class TerraformCount {
14
14
  count;
15
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformCount", version: "0.26.0-pre.0" };
15
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformCount", version: "0.26.0-pre.2" };
16
16
  static of(count) {
17
17
  return new TerraformCount(count);
18
18
  }
@@ -19,7 +19,7 @@ const runtime_1 = require("./runtime");
19
19
  * https://developer.hashicorp.com/terraform/language/resources/terraform-data
20
20
  */
21
21
  class DataResource extends terraform_resource_1.TerraformResource {
22
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataResource", version: "0.26.0-pre.0" };
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataResource", version: "0.26.0-pre.2" };
23
23
  // =================
24
24
  // STATIC PROPERTIES
25
25
  // =================
@@ -13,7 +13,7 @@ const assert = require("assert");
13
13
  const TERRAFORM_DATA_SOURCE_SYMBOL = Symbol.for("cdktf/TerraformDataSource");
14
14
  // eslint-disable-next-line jsdoc/require-jsdoc
15
15
  class TerraformDataSource extends terraform_element_1.TerraformElement {
16
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformDataSource", version: "0.26.0-pre.0" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformDataSource", version: "0.26.0-pre.2" };
17
17
  terraformResourceType;
18
18
  terraformGeneratorMetadata;
19
19
  // TerraformMetaArguments
@@ -33,7 +33,7 @@ class GatedFeatureValidation {
33
33
  }
34
34
  // eslint-disable-next-line jsdoc/require-jsdoc
35
35
  class TerraformElement extends constructs_1.Construct {
36
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformElement", version: "0.26.0-pre.0" };
36
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformElement", version: "0.26.0-pre.2" };
37
37
  rawOverrides = {};
38
38
  /**
39
39
  * An explicit logical ID provided by `overrideLogicalId`.
@@ -14,7 +14,7 @@ const assert = require("assert");
14
14
  const TERRAFORM_EPHEMERAL_RESOURCE_SYMBOL = Symbol.for("cdktf/TerraformEphemeralResource");
15
15
  // eslint-disable-next-line jsdoc/require-jsdoc
16
16
  class TerraformEphemeralResource extends terraform_element_1.TerraformElement {
17
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformEphemeralResource", version: "0.26.0-pre.0" };
17
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformEphemeralResource", version: "0.26.0-pre.2" };
18
18
  terraformResourceType;
19
19
  terraformGeneratorMetadata;
20
20
  // TerraformEphemeralMetaArguments
@@ -2,7 +2,7 @@ import { Expression } from ".";
2
2
  import { FnGenerated } from "./functions/terraform-functions.generated";
3
3
  export declare class Fn extends FnGenerated {
4
4
  /**
5
- * {@link /terraform/docs/language/functions/bcrypt.html bcrypt} computes a hash of the given string using the Blowfish cipher, returning a string in [the _Modular Crypt Format_](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) usually expected in the shadow password file on many Unix systems.
5
+ * {@link https://developer.hashicorp.com/terraform/language/functions/bcrypt bcrypt} computes a hash of the given string using the Blowfish cipher, returning a string in [the _Modular Crypt Format_](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) usually expected in the shadow password file on many Unix systems.
6
6
  * @param {string} str
7
7
  * @param {number} [cost]
8
8
  */
@@ -15,7 +15,7 @@ export declare class Fn extends FnGenerated {
15
15
  */
16
16
  static conditional(condition: Expression, trueValue: Expression, falseValue: Expression): any;
17
17
  /**
18
- * {@link /terraform/docs/language/functions/lookup.html lookup} retrieves the value of a single element from a map, given its key. If the given key does not exist, the given default value is returned instead.
18
+ * {@link https://developer.hashicorp.com/terraform/language/functions/lookup lookup} retrieves the value of a single element from a map, given its key. If the given key does not exist, the given default value is returned instead.
19
19
  * @param {any} inputMap
20
20
  * @param {string} key
21
21
  * @param {any} [defaultValue]
@@ -29,13 +29,13 @@ export declare class Fn extends FnGenerated {
29
29
  */
30
30
  static lookupNested(inputMap: any, path: any[]): any;
31
31
  /**
32
- * {@link /terraform/docs/language/functions/join.html join} produces a string by concatenating together all elements of a given list of strings with the given delimiter.
32
+ * {@link https://developer.hashicorp.com/terraform/language/functions/join join} produces a string by concatenating together all elements of a given list of strings with the given delimiter.
33
33
  * @param {string} separator
34
34
  * @param {Array<string>} list
35
35
  */
36
36
  static join(separator: string, list: string[]): string;
37
37
  /**
38
- * {@link /terraform/docs/language/functions/range.html range} generates a list of numbers using a start value, a limit value, and a step value.
38
+ * {@link https://developer.hashicorp.com/terraform/language/functions/range range} generates a list of numbers using a start value, a limit value, and a step value.
39
39
  * @param {number} start
40
40
  * @param {number} limit
41
41
  * @param {number} [step=1]
@@ -9,9 +9,9 @@ const helpers_1 = require("./functions/helpers");
9
9
  const terraform_functions_generated_1 = require("./functions/terraform-functions.generated");
10
10
  // eslint-disable-next-line jsdoc/require-jsdoc
11
11
  class Fn extends terraform_functions_generated_1.FnGenerated {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Fn", version: "0.26.0-pre.0" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Fn", version: "0.26.0-pre.2" };
13
13
  /**
14
- * {@link /terraform/docs/language/functions/bcrypt.html bcrypt} computes a hash of the given string using the Blowfish cipher, returning a string in [the _Modular Crypt Format_](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) usually expected in the shadow password file on many Unix systems.
14
+ * {@link https://developer.hashicorp.com/terraform/language/functions/bcrypt bcrypt} computes a hash of the given string using the Blowfish cipher, returning a string in [the _Modular Crypt Format_](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) usually expected in the shadow password file on many Unix systems.
15
15
  * @param {string} str
16
16
  * @param {number} [cost]
17
17
  */
@@ -31,7 +31,7 @@ class Fn extends terraform_functions_generated_1.FnGenerated {
31
31
  return (0, _1.conditional)(condition, trueValue, falseValue);
32
32
  }
33
33
  /**
34
- * {@link /terraform/docs/language/functions/lookup.html lookup} retrieves the value of a single element from a map, given its key. If the given key does not exist, the given default value is returned instead.
34
+ * {@link https://developer.hashicorp.com/terraform/language/functions/lookup lookup} retrieves the value of a single element from a map, given its key. If the given key does not exist, the given default value is returned instead.
35
35
  * @param {any} inputMap
36
36
  * @param {string} key
37
37
  * @param {any} [defaultValue]
@@ -52,7 +52,7 @@ class Fn extends terraform_functions_generated_1.FnGenerated {
52
52
  return (0, helpers_1.asAny)((0, _1.propertyAccess)(inputMap, path));
53
53
  }
54
54
  /**
55
- * {@link /terraform/docs/language/functions/join.html join} produces a string by concatenating together all elements of a given list of strings with the given delimiter.
55
+ * {@link https://developer.hashicorp.com/terraform/language/functions/join join} produces a string by concatenating together all elements of a given list of strings with the given delimiter.
56
56
  * @param {string} separator
57
57
  * @param {Array<string>} list
58
58
  */
@@ -62,7 +62,7 @@ class Fn extends terraform_functions_generated_1.FnGenerated {
62
62
  return Fn._join(separator, [list]);
63
63
  }
64
64
  /**
65
- * {@link /terraform/docs/language/functions/range.html range} generates a list of numbers using a start value, a limit value, and a step value.
65
+ * {@link https://developer.hashicorp.com/terraform/language/functions/range range} generates a list of numbers using a start value, a limit value, and a step value.
66
66
  * @param {number} start
67
67
  * @param {number} limit
68
68
  * @param {number} [step=1]
@@ -82,4 +82,4 @@ class Fn extends terraform_functions_generated_1.FnGenerated {
82
82
  }
83
83
  }
84
84
  exports.Fn = Fn;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLHdCQUE4RTtBQUM5RSxpREFBNEM7QUFDNUMsNkZBQXdFO0FBRXhFLCtDQUErQztBQUMvQyxNQUFhLEVBQUcsU0FBUSwyQ0FBVzs7SUFDakM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLElBQWE7UUFDdEMsMEZBQTBGO1FBQzFGLCtFQUErRTtRQUMvRSwrSEFBK0g7UUFDL0gsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQ2hCLFNBQXFCLEVBQ3JCLFNBQXFCLEVBQ3JCLFVBQXNCO1FBRXRCLE9BQU8sSUFBQSxjQUFXLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQWEsRUFBRSxHQUFXLEVBQUUsWUFBa0I7UUFDMUQsc0ZBQXNGO1FBQ3RGLElBQUksWUFBWTtZQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywrRUFBK0U7SUFDaEksQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFhLEVBQUUsSUFBVztRQUM1QyxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBaUIsRUFBRSxJQUFjO1FBQzNDLGdHQUFnRztRQUNoRyxtRUFBbUU7UUFDbkUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLElBQUksR0FBRyxDQUFDO1FBQ3hELGtFQUFrRTtRQUNsRSwwRUFBMEU7UUFDMUUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sUUFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLFlBQVMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBL0VILGdCQWdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBjb25kaXRpb25hbCwgRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3MsIHJhd1N0cmluZywgVG9rZW4gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgYXNBbnkgfSBmcm9tIFwiLi9mdW5jdGlvbnMvaGVscGVyc1wiO1xuaW1wb3J0IHsgRm5HZW5lcmF0ZWQgfSBmcm9tIFwiLi9mdW5jdGlvbnMvdGVycmFmb3JtLWZ1bmN0aW9ucy5nZW5lcmF0ZWRcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBGbiBleHRlbmRzIEZuR2VuZXJhdGVkIHtcbiAgLyoqXG4gICAqIHtAbGluayAvdGVycmFmb3JtL2RvY3MvbGFuZ3VhZ2UvZnVuY3Rpb25zL2JjcnlwdC5odG1sIGJjcnlwdH0gY29tcHV0ZXMgYSBoYXNoIG9mIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIEJsb3dmaXNoIGNpcGhlciwgcmV0dXJuaW5nIGEgc3RyaW5nIGluIFt0aGUgX01vZHVsYXIgQ3J5cHQgRm9ybWF0X10oaHR0cHM6Ly9wYXNzbGliLnJlYWR0aGVkb2NzLmlvL2VuL3N0YWJsZS9tb2R1bGFyX2NyeXB0X2Zvcm1hdC5odG1sKSB1c3VhbGx5IGV4cGVjdGVkIGluIHRoZSBzaGFkb3cgcGFzc3dvcmQgZmlsZSBvbiBtYW55IFVuaXggc3lzdGVtcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKiBAcGFyYW0ge251bWJlcn0gW2Nvc3RdXG4gICAqL1xuICBzdGF0aWMgYmNyeXB0KHN0cjogc3RyaW5nLCBjb3N0PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGJjcnlwdCgpIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgdmFyaWFkaWMgcGFyYW1ldGVyIGFuZCBub3QgbXVsdGlwbGVcbiAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm90aGluZyBpbiB0aGUgc2NoZW1hIHRoYXQgcmVwcmVzZW50cyB0aGlzIHJ1bnRpbWUgY2hlY2s6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0vYmxvYi82YWIzZmFmNWY2NWE5MGFlMWU1YmQwNjI1ZmE5ZTgzYzBiMzRjNWUxL2ludGVybmFsL2xhbmcvZnVuY3MvY3J5cHRvLmdvI0wxMTUtTDExN1xuICAgIHJldHVybiBGbi5fYmNyeXB0KHN0ciwgY29zdCA/IFtjb3N0XSA6IFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29uZGl0aW9uYWxzfSBBIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gdXNlcyB0aGUgdmFsdWUgb2YgYSBib29sZWFuIGV4cHJlc3Npb24gdG8gc2VsZWN0IG9uZSBvZiB0d28gdmFsdWVzLlxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGNvbmRpdGlvblxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IHRydWVWYWx1ZVxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGZhbHNlVmFsdWVcbiAgICovXG4gIHN0YXRpYyBjb25kaXRpb25hbChcbiAgICBjb25kaXRpb246IEV4cHJlc3Npb24sXG4gICAgdHJ1ZVZhbHVlOiBFeHByZXNzaW9uLFxuICAgIGZhbHNlVmFsdWU6IEV4cHJlc3Npb24sXG4gICk6IGFueSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbmFsKGNvbmRpdGlvbiwgdHJ1ZVZhbHVlLCBmYWxzZVZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9sb29rdXAuaHRtbCBsb29rdXB9IHJldHJpZXZlcyB0aGUgdmFsdWUgb2YgYSBzaW5nbGUgZWxlbWVudCBmcm9tIGEgbWFwLCBnaXZlbiBpdHMga2V5LiBJZiB0aGUgZ2l2ZW4ga2V5IGRvZXMgbm90IGV4aXN0LCB0aGUgZ2l2ZW4gZGVmYXVsdCB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge2FueX0gaW5wdXRNYXBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcGFyYW0ge2FueX0gW2RlZmF1bHRWYWx1ZV1cbiAgICovXG4gIHN0YXRpYyBsb29rdXAoaW5wdXRNYXA6IGFueSwga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSkge1xuICAgIC8vIG92ZXJ3cml0dGVuIGJlY2F1c2UgbG9va3VwKCkgdXNlcyBhIHZhcmlhZGljIGFyZ3VtZW50IGZvciBpdHMgb3B0aW9uYWwgZGVmYXVsdFZhbHVlXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkgcmV0dXJuIEZuLl9sb29rdXAoaW5wdXRNYXAsIGtleSwgW2RlZmF1bHRWYWx1ZV0pO1xuICAgIHJldHVybiBhc0FueShwcm9wZXJ0eUFjY2VzcyhpbnB1dE1hcCwgW2tleV0pKTsgLy8gLT4gcmVuZGVycyBpbnB1dE1hcFtrZXldICh3aGljaCBpcyByZWNvbW1lbmRlZCBpZiBubyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKVxuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybnMgYSBwcm9wZXJ0eSBhY2Nlc3MgZXhwcmVzc2lvbiB0aGF0IGFjY2Vzc2VzIHRoZSBwcm9wZXJ0eSBhdCB0aGUgZ2l2ZW4gcGF0aCBpbiB0aGUgZ2l2ZW4gaW5wdXRNYXAuXG4gICAqIEZvciBleGFtcGxlIGxvb2t1cE5lc3RlZCh4LCBbXCJhXCIsIFwiYlwiLCBcImNcIl0pIHdpbGwgcmV0dXJuIGEgVGVycmFmb3JtIGV4cHJlc3Npb24gbGlrZSB4W1wiYVwiXVtcImJcIl1bXCJjXCJdXG4gICAqIEBwYXJhbSB7YW55fSBpbnB1dE1hcFxuICAgKiBAcGFyYW0ge0FycmF5PGFueT59IHBhdGhcbiAgICovXG4gIHN0YXRpYyBsb29rdXBOZXN0ZWQoaW5wdXRNYXA6IGFueSwgcGF0aDogYW55W10pIHtcbiAgICByZXR1cm4gYXNBbnkocHJvcGVydHlBY2Nlc3MoaW5wdXRNYXAsIHBhdGgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9qb2luLmh0bWwgam9pbn0gcHJvZHVjZXMgYSBzdHJpbmcgYnkgY29uY2F0ZW5hdGluZyB0b2dldGhlciBhbGwgZWxlbWVudHMgb2YgYSBnaXZlbiBsaXN0IG9mIHN0cmluZ3Mgd2l0aCB0aGUgZ2l2ZW4gZGVsaW1pdGVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VwYXJhdG9yXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gbGlzdFxuICAgKi9cbiAgc3RhdGljIGpvaW4oc2VwYXJhdG9yOiBzdHJpbmcsIGxpc3Q6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGpvaW4oKSBzdXBwb3J0cyBwYXNzaW5nIG11bHRpcGxlIGxpc3RzIHRvIGl0IGUuZy4gam9pbihzZXAsIGxpc3RBLCBsaXN0QilcbiAgICAvLyB3aGljaCB3ZSBjYW4ndCBtb2RlbCBhcyBKU0lJIGRvZXMgbm90IHN1cHBvcnQgdmFyaWFkaWMgYXJndW1lbnRzXG4gICAgcmV0dXJuIEZuLl9qb2luKHNlcGFyYXRvciwgW2xpc3RdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9yYW5nZS5odG1sIHJhbmdlfSBnZW5lcmF0ZXMgYSBsaXN0IG9mIG51bWJlcnMgdXNpbmcgYSBzdGFydCB2YWx1ZSwgYSBsaW1pdCB2YWx1ZSwgYW5kIGEgc3RlcCB2YWx1ZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0YXJ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW1pdFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3N0ZXA9MV1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmFuZ2Uoc3RhcnQ6IG51bWJlciwgbGltaXQ6IG51bWJlciwgc3RlcCA9IDEpIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIHRoZSBzdGVwIHBhcmFtIGluIHJhbmdlKCkgaXMgb3B0aW9uYWwgd2hpY2hcbiAgICAvLyB0aGUgVGVycmFmb3JtIGZ1bmN0aW9ucyBzY2hlbWEgcmVwcmVzZW50cyBhcyBhIHNpbmdsZSB2YXJpYWRpYyBhcmd1bWVudFxuICAgIHJldHVybiBGbi5fcmFuZ2UoW3N0YXJ0LCBsaW1pdCwgc3RlcF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHdyYXAgYSBzdHJpbmcgYW5kIGVzY2FwZSBpdCBwcm9wZXJseSBmb3IgdGhlIHVzZSBpbiBUZXJyYWZvcm1cbiAgICogVGhpcyBpcyBvbmx5IG5lZWRlZCBpbiBjZXJ0YWluIHNjZW5hcmlvcyAoZS5nLiwgaWYgeW91IGhhdmUgdW5lc2NhcGVkIGRvdWJsZSBxdW90ZXMgaW4gdGhlIHN0cmluZylcbiAgICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICAgKi9cbiAgc3RhdGljIHJhd1N0cmluZyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHJhd1N0cmluZyhzdHIpKTtcbiAgfVxufVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLHdCQUE4RTtBQUM5RSxpREFBNEM7QUFDNUMsNkZBQXdFO0FBRXhFLCtDQUErQztBQUMvQyxNQUFhLEVBQUcsU0FBUSwyQ0FBVzs7SUFDakM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLElBQWE7UUFDdEMsMEZBQTBGO1FBQzFGLCtFQUErRTtRQUMvRSwrSEFBK0g7UUFDL0gsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQ2hCLFNBQXFCLEVBQ3JCLFNBQXFCLEVBQ3JCLFVBQXNCO1FBRXRCLE9BQU8sSUFBQSxjQUFXLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQWEsRUFBRSxHQUFXLEVBQUUsWUFBa0I7UUFDMUQsc0ZBQXNGO1FBQ3RGLElBQUksWUFBWTtZQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywrRUFBK0U7SUFDaEksQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFhLEVBQUUsSUFBVztRQUM1QyxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBaUIsRUFBRSxJQUFjO1FBQzNDLGdHQUFnRztRQUNoRyxtRUFBbUU7UUFDbkUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLElBQUksR0FBRyxDQUFDO1FBQ3hELGtFQUFrRTtRQUNsRSwwRUFBMEU7UUFDMUUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sUUFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLFlBQVMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBL0VILGdCQWdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBjb25kaXRpb25hbCwgRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3MsIHJhd1N0cmluZywgVG9rZW4gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgYXNBbnkgfSBmcm9tIFwiLi9mdW5jdGlvbnMvaGVscGVyc1wiO1xuaW1wb3J0IHsgRm5HZW5lcmF0ZWQgfSBmcm9tIFwiLi9mdW5jdGlvbnMvdGVycmFmb3JtLWZ1bmN0aW9ucy5nZW5lcmF0ZWRcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBGbiBleHRlbmRzIEZuR2VuZXJhdGVkIHtcbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL2RldmVsb3Blci5oYXNoaWNvcnAuY29tL3RlcnJhZm9ybS9sYW5ndWFnZS9mdW5jdGlvbnMvYmNyeXB0IGJjcnlwdH0gY29tcHV0ZXMgYSBoYXNoIG9mIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIEJsb3dmaXNoIGNpcGhlciwgcmV0dXJuaW5nIGEgc3RyaW5nIGluIFt0aGUgX01vZHVsYXIgQ3J5cHQgRm9ybWF0X10oaHR0cHM6Ly9wYXNzbGliLnJlYWR0aGVkb2NzLmlvL2VuL3N0YWJsZS9tb2R1bGFyX2NyeXB0X2Zvcm1hdC5odG1sKSB1c3VhbGx5IGV4cGVjdGVkIGluIHRoZSBzaGFkb3cgcGFzc3dvcmQgZmlsZSBvbiBtYW55IFVuaXggc3lzdGVtcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKiBAcGFyYW0ge251bWJlcn0gW2Nvc3RdXG4gICAqL1xuICBzdGF0aWMgYmNyeXB0KHN0cjogc3RyaW5nLCBjb3N0PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGJjcnlwdCgpIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgdmFyaWFkaWMgcGFyYW1ldGVyIGFuZCBub3QgbXVsdGlwbGVcbiAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm90aGluZyBpbiB0aGUgc2NoZW1hIHRoYXQgcmVwcmVzZW50cyB0aGlzIHJ1bnRpbWUgY2hlY2s6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0vYmxvYi82YWIzZmFmNWY2NWE5MGFlMWU1YmQwNjI1ZmE5ZTgzYzBiMzRjNWUxL2ludGVybmFsL2xhbmcvZnVuY3MvY3J5cHRvLmdvI0wxMTUtTDExN1xuICAgIHJldHVybiBGbi5fYmNyeXB0KHN0ciwgY29zdCA/IFtjb3N0XSA6IFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29uZGl0aW9uYWxzfSBBIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gdXNlcyB0aGUgdmFsdWUgb2YgYSBib29sZWFuIGV4cHJlc3Npb24gdG8gc2VsZWN0IG9uZSBvZiB0d28gdmFsdWVzLlxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGNvbmRpdGlvblxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IHRydWVWYWx1ZVxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGZhbHNlVmFsdWVcbiAgICovXG4gIHN0YXRpYyBjb25kaXRpb25hbChcbiAgICBjb25kaXRpb246IEV4cHJlc3Npb24sXG4gICAgdHJ1ZVZhbHVlOiBFeHByZXNzaW9uLFxuICAgIGZhbHNlVmFsdWU6IEV4cHJlc3Npb24sXG4gICk6IGFueSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbmFsKGNvbmRpdGlvbiwgdHJ1ZVZhbHVlLCBmYWxzZVZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZnVuY3Rpb25zL2xvb2t1cCBsb29rdXB9IHJldHJpZXZlcyB0aGUgdmFsdWUgb2YgYSBzaW5nbGUgZWxlbWVudCBmcm9tIGEgbWFwLCBnaXZlbiBpdHMga2V5LiBJZiB0aGUgZ2l2ZW4ga2V5IGRvZXMgbm90IGV4aXN0LCB0aGUgZ2l2ZW4gZGVmYXVsdCB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge2FueX0gaW5wdXRNYXBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcGFyYW0ge2FueX0gW2RlZmF1bHRWYWx1ZV1cbiAgICovXG4gIHN0YXRpYyBsb29rdXAoaW5wdXRNYXA6IGFueSwga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSkge1xuICAgIC8vIG92ZXJ3cml0dGVuIGJlY2F1c2UgbG9va3VwKCkgdXNlcyBhIHZhcmlhZGljIGFyZ3VtZW50IGZvciBpdHMgb3B0aW9uYWwgZGVmYXVsdFZhbHVlXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkgcmV0dXJuIEZuLl9sb29rdXAoaW5wdXRNYXAsIGtleSwgW2RlZmF1bHRWYWx1ZV0pO1xuICAgIHJldHVybiBhc0FueShwcm9wZXJ0eUFjY2VzcyhpbnB1dE1hcCwgW2tleV0pKTsgLy8gLT4gcmVuZGVycyBpbnB1dE1hcFtrZXldICh3aGljaCBpcyByZWNvbW1lbmRlZCBpZiBubyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKVxuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybnMgYSBwcm9wZXJ0eSBhY2Nlc3MgZXhwcmVzc2lvbiB0aGF0IGFjY2Vzc2VzIHRoZSBwcm9wZXJ0eSBhdCB0aGUgZ2l2ZW4gcGF0aCBpbiB0aGUgZ2l2ZW4gaW5wdXRNYXAuXG4gICAqIEZvciBleGFtcGxlIGxvb2t1cE5lc3RlZCh4LCBbXCJhXCIsIFwiYlwiLCBcImNcIl0pIHdpbGwgcmV0dXJuIGEgVGVycmFmb3JtIGV4cHJlc3Npb24gbGlrZSB4W1wiYVwiXVtcImJcIl1bXCJjXCJdXG4gICAqIEBwYXJhbSB7YW55fSBpbnB1dE1hcFxuICAgKiBAcGFyYW0ge0FycmF5PGFueT59IHBhdGhcbiAgICovXG4gIHN0YXRpYyBsb29rdXBOZXN0ZWQoaW5wdXRNYXA6IGFueSwgcGF0aDogYW55W10pIHtcbiAgICByZXR1cm4gYXNBbnkocHJvcGVydHlBY2Nlc3MoaW5wdXRNYXAsIHBhdGgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZnVuY3Rpb25zL2pvaW4gam9pbn0gcHJvZHVjZXMgYSBzdHJpbmcgYnkgY29uY2F0ZW5hdGluZyB0b2dldGhlciBhbGwgZWxlbWVudHMgb2YgYSBnaXZlbiBsaXN0IG9mIHN0cmluZ3Mgd2l0aCB0aGUgZ2l2ZW4gZGVsaW1pdGVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VwYXJhdG9yXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gbGlzdFxuICAgKi9cbiAgc3RhdGljIGpvaW4oc2VwYXJhdG9yOiBzdHJpbmcsIGxpc3Q6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGpvaW4oKSBzdXBwb3J0cyBwYXNzaW5nIG11bHRpcGxlIGxpc3RzIHRvIGl0IGUuZy4gam9pbihzZXAsIGxpc3RBLCBsaXN0QilcbiAgICAvLyB3aGljaCB3ZSBjYW4ndCBtb2RlbCBhcyBKU0lJIGRvZXMgbm90IHN1cHBvcnQgdmFyaWFkaWMgYXJndW1lbnRzXG4gICAgcmV0dXJuIEZuLl9qb2luKHNlcGFyYXRvciwgW2xpc3RdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZnVuY3Rpb25zL3JhbmdlIHJhbmdlfSBnZW5lcmF0ZXMgYSBsaXN0IG9mIG51bWJlcnMgdXNpbmcgYSBzdGFydCB2YWx1ZSwgYSBsaW1pdCB2YWx1ZSwgYW5kIGEgc3RlcCB2YWx1ZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0YXJ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW1pdFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3N0ZXA9MV1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmFuZ2Uoc3RhcnQ6IG51bWJlciwgbGltaXQ6IG51bWJlciwgc3RlcCA9IDEpIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIHRoZSBzdGVwIHBhcmFtIGluIHJhbmdlKCkgaXMgb3B0aW9uYWwgd2hpY2hcbiAgICAvLyB0aGUgVGVycmFmb3JtIGZ1bmN0aW9ucyBzY2hlbWEgcmVwcmVzZW50cyBhcyBhIHNpbmdsZSB2YXJpYWRpYyBhcmd1bWVudFxuICAgIHJldHVybiBGbi5fcmFuZ2UoW3N0YXJ0LCBsaW1pdCwgc3RlcF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHdyYXAgYSBzdHJpbmcgYW5kIGVzY2FwZSBpdCBwcm9wZXJseSBmb3IgdGhlIHVzZSBpbiBUZXJyYWZvcm1cbiAgICogVGhpcyBpcyBvbmx5IG5lZWRlZCBpbiBjZXJ0YWluIHNjZW5hcmlvcyAoZS5nLiwgaWYgeW91IGhhdmUgdW5lc2NhcGVkIGRvdWJsZSBxdW90ZXMgaW4gdGhlIHN0cmluZylcbiAgICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICAgKi9cbiAgc3RhdGljIHJhd1N0cmluZyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHJhd1N0cmluZyhzdHIpKTtcbiAgfVxufVxuIl19
@@ -6,7 +6,7 @@ const terraform_module_1 = require("./terraform-module");
6
6
  const tokens_1 = require("./tokens");
7
7
  // eslint-disable-next-line jsdoc/require-jsdoc
8
8
  class TerraformHclModule extends terraform_module_1.TerraformModule {
9
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformHclModule", version: "0.26.0-pre.0" };
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformHclModule", version: "0.26.0-pre.2" };
10
10
  _variables;
11
11
  constructor(scope, id, options) {
12
12
  super(scope, id, options);
@@ -9,7 +9,7 @@ const tfExpression_1 = require("./tfExpression");
9
9
  const tokens_1 = require("./tokens");
10
10
  // eslint-disable-next-line jsdoc/require-jsdoc
11
11
  class TerraformIterator {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformIterator", version: "0.26.0-pre.0" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformIterator", version: "0.26.0-pre.2" };
13
13
  /**
14
14
  * @internal input used when this iterator appears inside a for-expression
15
15
  * body (keys / values / pluckProperty / forExpressionForList /
@@ -275,7 +275,7 @@ exports.TerraformIterator = TerraformIterator;
275
275
  // eslint-disable-next-line jsdoc/require-jsdoc
276
276
  class ListTerraformIterator extends TerraformIterator {
277
277
  list;
278
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ListTerraformIterator", version: "0.26.0-pre.0" };
278
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ListTerraformIterator", version: "0.26.0-pre.2" };
279
279
  constructor(list) {
280
280
  super();
281
281
  this.list = list;
@@ -307,7 +307,7 @@ exports.ListTerraformIterator = ListTerraformIterator;
307
307
  // eslint-disable-next-line jsdoc/require-jsdoc
308
308
  class MapTerraformIterator extends TerraformIterator {
309
309
  map;
310
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.MapTerraformIterator", version: "0.26.0-pre.0" };
310
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.MapTerraformIterator", version: "0.26.0-pre.2" };
311
311
  constructor(map) {
312
312
  super();
313
313
  this.map = map;
@@ -336,7 +336,7 @@ exports.MapTerraformIterator = MapTerraformIterator;
336
336
  // eslint-disable-next-line jsdoc/require-jsdoc
337
337
  class ResourceTerraformIterator extends TerraformIterator {
338
338
  element;
339
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.26.0-pre.0" };
339
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.26.0-pre.2" };
340
340
  constructor(element) {
341
341
  super();
342
342
  this.element = element;
@@ -374,7 +374,7 @@ exports.ResourceTerraformIterator = ResourceTerraformIterator;
374
374
  class DynamicListTerraformIterator extends MapTerraformIterator {
375
375
  list;
376
376
  mapKeyAttributeName;
377
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.26.0-pre.0" };
377
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.26.0-pre.2" };
378
378
  constructor(list, mapKeyAttributeName) {
379
379
  super(list);
380
380
  this.list = list;
@@ -7,7 +7,7 @@ const tokens_1 = require("./tokens");
7
7
  const tfExpression_1 = require("./tfExpression");
8
8
  // eslint-disable-next-line jsdoc/require-jsdoc
9
9
  class TerraformLocal extends terraform_element_1.TerraformElement {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformLocal", version: "0.26.0-pre.0" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformLocal", version: "0.26.0-pre.2" };
11
11
  _expression;
12
12
  constructor(scope, id, expression) {
13
13
  super(scope, id, "local");
@@ -19,7 +19,7 @@ const terraform_module_asset_1 = require("./terraform-module-asset");
19
19
  * you should use Constructs instead, see http://cdk.tf/constructs for more details.
20
20
  */
21
21
  class TerraformModule extends terraform_element_1.TerraformElement {
22
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformModule", version: "0.26.0-pre.0" };
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformModule", version: "0.26.0-pre.2" };
23
23
  source;
24
24
  version;
25
25
  _providers;
@@ -13,7 +13,7 @@ const tokens_1 = require("./tokens");
13
13
  * in the Terraform configuration language.
14
14
  */
15
15
  class Op {
16
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Op", version: "0.26.0-pre.0" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Op", version: "0.26.0-pre.2" };
17
17
  /**
18
18
  * Renders !expression
19
19
  */
@@ -8,7 +8,7 @@ const tokens_1 = require("./tokens");
8
8
  const TERRAFORM_OUTPUT_SYMBOL = Symbol.for("cdktf/TerraformOutput");
9
9
  // eslint-disable-next-line jsdoc/require-jsdoc
10
10
  class TerraformOutput extends terraform_element_1.TerraformElement {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformOutput", version: "0.26.0-pre.0" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformOutput", version: "0.26.0-pre.2" };
12
12
  value;
13
13
  description;
14
14
  sensitive;
@@ -8,7 +8,7 @@ const util_1 = require("./util");
8
8
  const TERRAFORM_PROVIDER_SYMBOL = Symbol.for("cdktf/TerraformProvider");
9
9
  // eslint-disable-next-line jsdoc/require-jsdoc
10
10
  class TerraformProvider extends terraform_element_1.TerraformElement {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformProvider", version: "0.26.0-pre.0" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformProvider", version: "0.26.0-pre.2" };
12
12
  terraformResourceType;
13
13
  terraformGeneratorMetadata;
14
14
  terraformProviderSource;
@@ -14,7 +14,7 @@ const util_1 = require("./util");
14
14
  * For example, use self.public_ip to reference an aws_instance's public_ip attribute.
15
15
  */
16
16
  class TerraformSelf {
17
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformSelf", version: "0.26.0-pre.0" };
17
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformSelf", version: "0.26.0-pre.2" };
18
18
  static getInterpolation(key) {
19
19
  return `self.${key
20
20
  .split(".")
@@ -10,7 +10,7 @@ const tfExpression_1 = require("./tfExpression");
10
10
  class TerraformRemoteState extends terraform_element_1.TerraformElement {
11
11
  backend;
12
12
  config;
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformRemoteState", version: "0.26.0-pre.0" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformRemoteState", version: "0.26.0-pre.2" };
14
14
  static tfResourceType = "terraform_remote_state";
15
15
  constructor(scope, id, backend, config) {
16
16
  super(scope, id, "data.terraform_remote_state");
@@ -11,7 +11,7 @@ const errors_1 = require("./errors");
11
11
  *
12
12
  */
13
13
  class TerraformResourceTargets {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformResourceTargets", version: "0.26.0-pre.0" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformResourceTargets", version: "0.26.0-pre.2" };
15
15
  _resourceTargetMap = new Map();
16
16
  prettyPrintEntries() {
17
17
  return [...this._resourceTargetMap.entries()].reduce((accum, curr) => accum + "\n" + `${curr[0]}: ${curr[1].friendlyUniqueId}`, "");
@@ -43,7 +43,7 @@ function lifecycleToTerraform(lifecycle) {
43
43
  }
44
44
  // eslint-disable-next-line jsdoc/require-jsdoc
45
45
  class TerraformResource extends terraform_element_1.TerraformElement {
46
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformResource", version: "0.26.0-pre.0" };
46
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformResource", version: "0.26.0-pre.2" };
47
47
  terraformResourceType;
48
48
  terraformGeneratorMetadata;
49
49
  // TerraformMetaArguments
@@ -38,7 +38,7 @@ function throwIfIdContainsWhitespace(str) {
38
38
  }
39
39
  // eslint-disable-next-line jsdoc/require-jsdoc
40
40
  class TerraformStack extends constructs_1.Construct {
41
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformStack", version: "0.26.0-pre.0" };
41
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformStack", version: "0.26.0-pre.2" };
42
42
  rawOverrides = {};
43
43
  cdktfVersion;
44
44
  crossStackOutputs = {};
@@ -8,7 +8,7 @@ const tokens_1 = require("./tokens");
8
8
  const tfExpression_1 = require("./tfExpression");
9
9
  // eslint-disable-next-line jsdoc/require-jsdoc
10
10
  class VariableType {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.VariableType", version: "0.26.0-pre.0" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.VariableType", version: "0.26.0-pre.2" };
12
12
  static STRING = "string";
13
13
  static NUMBER = "number";
14
14
  static BOOL = "bool";
@@ -46,7 +46,7 @@ class VariableType {
46
46
  exports.VariableType = VariableType;
47
47
  // eslint-disable-next-line jsdoc/require-jsdoc
48
48
  class TerraformVariable extends terraform_element_1.TerraformElement {
49
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformVariable", version: "0.26.0-pre.0" };
49
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformVariable", version: "0.26.0-pre.2" };
50
50
  default;
51
51
  description;
52
52
  type;
@@ -60,7 +60,7 @@ const DefaultTestingAppConfig = {
60
60
  * Testing utilities for cdktf applications.
61
61
  */
62
62
  class Testing {
63
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Testing", version: "0.26.0-pre.0" };
63
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Testing", version: "0.26.0-pre.2" };
64
64
  /**
65
65
  * Returns an app for testing with the following properties:
66
66
  * - Output directory is a temp dir.
@@ -58,7 +58,7 @@ const errors_1 = require("../errors");
58
58
  class AssertionReturn {
59
59
  message;
60
60
  pass;
61
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.testingMatchers.AssertionReturn", version: "0.26.0-pre.0" };
61
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.testingMatchers.AssertionReturn", version: "0.26.0-pre.2" };
62
62
  constructor(message, pass) {
63
63
  this.message = message;
64
64
  this.pass = pass;
@@ -14,7 +14,7 @@ const token_1 = require("./token");
14
14
  * will only be calculated later, during synthesis.
15
15
  */
16
16
  class Lazy {
17
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Lazy", version: "0.26.0-pre.0" };
17
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Lazy", version: "0.26.0-pre.2" };
18
18
  /**
19
19
  * Returns a stringified token for a lazy value.
20
20
  * @param producer The producer
@@ -50,7 +50,7 @@ class Lazy {
50
50
  exports.Lazy = Lazy;
51
51
  // eslint-disable-next-line jsdoc/require-jsdoc
52
52
  class LazyBase {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.LazyBase", version: "0.26.0-pre.0" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.LazyBase", version: "0.26.0-pre.2" };
54
54
  creationStack;
55
55
  postProcessors = [];
56
56
  constructor() {
@@ -11,7 +11,7 @@ const errors_1 = require("../errors");
11
11
  * Drops 'undefined's.
12
12
  */
13
13
  class StringConcat {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.StringConcat", version: "0.26.0-pre.0" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.StringConcat", version: "0.26.0-pre.2" };
15
15
  /**
16
16
  * Concatenates string fragments
17
17
  */
@@ -33,7 +33,7 @@ exports.StringConcat = StringConcat;
33
33
  */
34
34
  class DefaultTokenResolver {
35
35
  concat;
36
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DefaultTokenResolver", version: "0.26.0-pre.0" };
36
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DefaultTokenResolver", version: "0.26.0-pre.2" };
37
37
  /**
38
38
  * Resolves tokens
39
39
  */
@@ -8,7 +8,7 @@ const token_1 = require("./token");
8
8
  * @experimental
9
9
  */
10
10
  class TokenizedStringFragments {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TokenizedStringFragments", version: "0.26.0-pre.0" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TokenizedStringFragments", version: "0.26.0-pre.2" };
12
12
  /**
13
13
  * Fragments in the tokenized string
14
14
  */
@@ -18,7 +18,7 @@ const token_map_1 = require("./private/token-map");
18
18
  * semantics.
19
19
  */
20
20
  class Token {
21
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Token", version: "0.26.0-pre.0" };
21
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Token", version: "0.26.0-pre.2" };
22
22
  /**
23
23
  * Returns true if obj represents an unresolved value
24
24
  *
@@ -149,7 +149,7 @@ exports.Token = Token;
149
149
  * Less oft-needed functions to manipulate Tokens
150
150
  */
151
151
  class Tokenization {
152
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Tokenization", version: "0.26.0-pre.0" };
152
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Tokenization", version: "0.26.0-pre.2" };
153
153
  /**
154
154
  * Reverse any value into Resolvables, if possible
155
155
  */
@@ -172,7 +172,7 @@ function allocateLogicalIdOldVersion(tfElement) {
172
172
  * For migrating past 0.17 where the feature flag for the old id generation logic was removed after being deprecated since 0.15
173
173
  */
174
174
  class MigrateIds {
175
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.MigrateIds", version: "0.26.0-pre.0" };
175
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.MigrateIds", version: "0.26.0-pre.2" };
176
176
  visit(node) {
177
177
  // eslint-disable-next-line no-instanceof/no-instanceof
178
178
  if (node instanceof _1.TerraformResource) {
@@ -101,7 +101,9 @@ function resolveTargetVersions(scope) {
101
101
  // instead of silently meaning something else
102
102
  errors.push(`targetVersions.${product} "${range}" uses Terraform provider constraint syntax; use npm semver ranges instead (e.g. ">=1.5.7" or "~1.5.7")`);
103
103
  }
104
- else if (typeof range !== "string" || semver.validRange(range) === null) {
104
+ else if (typeof range !== "string" ||
105
+ range.trim().length === 0 ||
106
+ semver.validRange(range) === null) {
105
107
  errors.push(`targetVersions.${product} ${JSON.stringify(range)} is not a valid semver range`);
106
108
  }
107
109
  }
@@ -166,4 +168,4 @@ class ValidateFeatureTargetSupport {
166
168
  }
167
169
  }
168
170
  exports.ValidateFeatureTargetSupport = ValidateFeatureTargetSupport;
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb25zL3RhcmdldC12ZXJzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrREEsc0RBeURDO0FBWUQsd0VBZ0NDO0FBcEpELCtDQUFpQztBQUdqQzs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLGdCQUFnQixDQUFDO0FBWTVEOzs7O0dBSUc7QUFDVSxRQUFBLHVCQUF1QixHQUE0QjtJQUM5RCxTQUFTLEVBQUUsU0FBUztJQUNwQixRQUFRLEVBQUUsU0FBUztDQUNwQixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFFbEU7Ozs7O0dBS0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxLQUFpQjtJQUlyRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQ0FBMkIsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxPQUFPLEVBQUUsK0JBQXVCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUNFLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDNUIsUUFBUSxLQUFLLElBQUk7UUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDdkIsQ0FBQztRQUNELE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sNkdBQTZHO2FBQzlHO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztR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QUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyw4QkFBOEIsQ0FDbkMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsT0FBTyxFQUNQLElBQUksQ0FBQyxJQUFJLENBQ1YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXJCRCxvRUFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgSUNvbnN0cnVjdCwgSVZhbGlkYXRpb24gfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMgfSBmcm9tIFwiLi92YWxpZGF0ZS10ZXJyYWZvcm0tZmVhdHVyZS12ZXJzaW9uXCI7XG5cbi8qKlxuICogQ29udGV4dCBrZXkgY2FycnlpbmcgdGhlIHByb2plY3QncyBkZWNsYXJlZCBUZXJyYWZvcm0tY29tcGF0aWJsZSBydW50aW1lXG4gKiB0YXJnZXRzIChzZXQgZnJvbSB0aGUgYHRhcmdldFZlcnNpb25zYCBmaWVsZCBpbiBjZGt0Zi5qc29uIGJ5IHRoZSBDTEksIG9yXG4gKiBkaXJlY3RseSB2aWEgQXBwIGNvbnRleHQgLyBDREtURl9DT05URVhUX0pTT04gZm9yIHN0YW5kYWxvbmUgc3ludGgpLlxuICpcbiAqIFRoaXMgaXMgdGhlIGNhbm9uaWNhbCBkZWZpbml0aW9uLiBgQGNka3RuL2NvbW1vbnNgIGltcG9ydHMgaXQgZnJvbSBoZXJlXG4gKiAoY29tbW9ucyBkZXBlbmRzIG9uIGNka3RuOyBjZGt0biBtdXN0IG5vdCBkZXBlbmQgb24gY29tbW9ucyksIHNvIHRoZSBDTElcbiAqIHdyaXRlcyBhbmQgdGhlIGNvbnN0cnVjdCBsaWJyYXJ5IHJlYWRzIHRoZSBleGFjdCBzYW1lIGtleS4gSXQgaXMgYW5cbiAqIGludGVybmFsIHdpcmluZyBkZXRhaWwsIGRlbGliZXJhdGVseSBub3QgcGFydCBvZiBjZGt0bidzIHB1YmxpYyBBUEkuXG4gKi9cbmV4cG9ydCBjb25zdCBUQVJHRVRfVkVSU0lPTlNfQ09OVEVYVF9LRVkgPSBcInRhcmdldFZlcnNpb25zXCI7XG5cbi8qKlxuICogVGhlIFRlcnJhZm9ybS1jb21wYXRpYmxlIHJ1bnRpbWVzIGEgcHJvamVjdCBkZWNsYXJlcyBpdCBzdXBwb3J0cywgYXMgbnBtXG4gKiBzZW12ZXIgcmFuZ2VzIHBlciBwcm9kdWN0LiBBIG1pc3NpbmcgcHJvZHVjdCBtZWFucyB0aGUgcHJvamVjdCBkb2VzIG5vdFxuICogdGFyZ2V0IHRoYXQgcHJvZHVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyB7XG4gIHJlYWRvbmx5IHRlcnJhZm9ybT86IHN0cmluZztcbiAgcmVhZG9ubHkgb3BlbnRvZnU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVXNlZCB3aGVuIGEgcHJvamVjdCBkZWNsYXJlcyBubyBgdGFyZ2V0VmVyc2lvbnNgOiB0aGUgcHJvamVjdCBpcyBhc3N1bWVkXG4gKiB0byB0YXJnZXQgZXZlcnkgc3VwcG9ydGVkIHJlbGVhc2Ugb2YgYm90aCBwcm9kdWN0cywgd2hpY2ggaXMgdGhlIHN0cmljdGVzdFxuICogKG1vc3QgcG9ydGFibGUpIGludGVycHJldGF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9UQVJHRVRfVkVSU0lPTlM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zID0ge1xuICB0ZXJyYWZvcm06IFwiPj0xLjUuN1wiLFxuICBvcGVudG9mdTogXCI+PTEuNi4wXCIsXG59O1xuXG4vKipcbiAqIFRoZSBwcm9kdWN0IGtleXMgYSBwcm9qZWN0IG1heSBkZWNsYXJlIHRhcmdldHMgZm9yLiBFeHBvcnRlZCBmb3IgcmV1c2UgYnlcbiAqIGBAY2RrdG4vY29tbW9uc2AgKGltcG9ydGVkIHZpYSBzdWJwYXRoKSwgbm90IHBhcnQgb2YgY2RrdG4ncyBwdWJsaWMgQVBJLlxuICovXG5leHBvcnQgY29uc3QgVEFSR0VUX1BST0RVQ1RTID0gW1widGVycmFmb3JtXCIsIFwib3BlbnRvZnVcIl0gYXMgY29uc3Q7XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGRlY2xhcmVkIHRhcmdldCB2ZXJzaW9ucyBmcm9tIGNvbnN0cnVjdCBjb250ZXh0LCBmYWxsaW5nIGJhY2tcbiAqIHRvIERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TLiBSZXR1cm5zIGVycm9ycyBpbnN0ZWFkIG9mIHRhcmdldHMgd2hlbiB0aGVcbiAqIGRlY2xhcmVkIHZhbHVlIGlzIG1hbGZvcm1lZCAod2hpY2ggY2FuIGhhcHBlbiB3aGVuIGNvbnRleHQgaXMgc2V0IGRpcmVjdGx5XG4gKiBvbiB0aGUgQXBwIHJhdGhlciB0aGFuIGdvaW5nIHRocm91Z2ggY2RrdGYuanNvbiB2YWxpZGF0aW9uKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVUYXJnZXRWZXJzaW9ucyhzY29wZTogSUNvbnN0cnVjdCk6IHtcbiAgdGFyZ2V0cz86IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zO1xuICBlcnJvcnM6IHN0cmluZ1tdO1xufSB7XG4gIGNvbnN0IGRlY2xhcmVkID0gc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KFRBUkdFVF9WRVJTSU9OU19DT05URVhUX0tFWSk7XG4gIGlmIChkZWNsYXJlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHsgdGFyZ2V0czogREVGQVVMVF9UQVJHRVRfVkVSU0lPTlMsIGVycm9yczogW10gfTtcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgZGVjbGFyZWQgIT09IFwib2JqZWN0XCIgfHxcbiAgICBkZWNsYXJlZCA9PT0gbnVsbCB8fFxuICAgIEFycmF5LmlzQXJyYXkoZGVjbGFyZWQpXG4gICkge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcnM6IFtcbiAgICAgICAgYHRhcmdldFZlcnNpb25zIGNvbnRleHQgbXVzdCBiZSBhbiBvYmplY3QgbWFwcGluZyBwcm9kdWN0cyB0byBzZW12ZXIgcmFuZ2VzLCBlLmcuIHsgXCJ0ZXJyYWZvcm1cIjogXCI+PTEuNS43XCIgfWAsXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoZGVjbGFyZWQpO1xuICBpZiAoZW50cmllcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3JzOiBbXG4gICAgICAgIGB0YXJnZXRWZXJzaW9ucyBtdXN0IGRlY2xhcmUgYXQgbGVhc3Qgb25lIHByb2R1Y3QgKFwidGVycmFmb3JtXCIgb3IgXCJvcGVudG9mdVwiKSBvciBiZSBvbWl0dGVkIGVudGlyZWx5YCxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBbcHJvZHVjdCwgcmFuZ2VdIG9mIGVudHJpZXMpIHtcbiAgICBpZiAoIVRBUkdFVF9QUk9EVUNUUy5pbmNsdWRlcyhwcm9kdWN0IGFzIGFueSkpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMgaGFzIHVua25vd24gcHJvZHVjdCBcIiR7cHJvZHVjdH1cIiAoZXhwZWN0ZWQgXCJ0ZXJyYWZvcm1cIiBvciBcIm9wZW50b2Z1XCIpYCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmFuZ2UgPT09IFwic3RyaW5nXCIgJiYgcmFuZ2UuaW5jbHVkZXMoXCJ+PlwiKSkge1xuICAgICAgLy8gbnBtIHNlbXZlciBoYXBwZW5zIHRvIHBhcnNlIFwifj5cIiBhcyBcIn5cIiwgd2hpY2ggaGFzIGRpZmZlcmVudFxuICAgICAgLy8gc2VtYW50aWNzIHRoYW4gVGVycmFmb3JtJ3MgXCJ+PlwiIHBlc3NpbWlzdGljIGNvbnN0cmFpbnQg4oCUIHJlamVjdCBpdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzaWxlbnRseSBtZWFuaW5nIHNvbWV0aGluZyBlbHNlXG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYHRhcmdldFZlcnNpb25zLiR7cHJvZHVjdH0gXCIke3JhbmdlfVwiIHVzZXMgVGVycmFmb3JtIHByb3ZpZGVyIGNvbnN0cmFpbnQgc3ludGF4OyB1c2UgbnBtIHNlbXZlciByYW5nZXMgaW5zdGVhZCAoZS5nLiBcIj49MS41LjdcIiBvciBcIn4xLjUuN1wiKWAsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJhbmdlICE9PSBcInN0cmluZ1wiIHx8IHNlbXZlci52YWxpZFJhbmdlKHJhbmdlKSA9PT0gbnVsbCkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGB0YXJnZXRWZXJzaW9ucy4ke3Byb2R1Y3R9ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgcmFuZ2UsXG4gICAgICAgICl9IGlzIG5vdCBhIHZhbGlkIHNlbXZlciByYW5nZWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiB7IGVycm9ycyB9O1xuICB9XG5cbiAgcmV0dXJuIHsgdGFyZ2V0czogZGVjbGFyZWQgYXMgVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMsIGVycm9yczogW10gfTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGZlYXR1cmUgaXMgc3VwcG9ydGVkIGFjcm9zcyB0aGUgZW50aXJlIGRlY2xhcmVkIHRhcmdldFxuICogcmFuZ2Ugb2YgZXZlcnkgdGFyZ2V0ZWQgcHJvZHVjdC5cbiAqXG4gKiBgc3VwcG9ydGVkSW5gIGZvbGxvd3MgdGhlIFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMgc2VtYW50aWNzOiBhXG4gKiBtaXNzaW5nIHByb2R1Y3Qga2V5IG1lYW5zIHRoZSBmZWF0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhhdCBwcm9kdWN0IGF0XG4gKiBhbnkgdmVyc2lvbi4gVGhlIGNoZWNrIGlzIGEgc2VtdmVyIHJhbmdlIHN1YnNldDogZGVjbGFyaW5nXG4gKiBgdGVycmFmb3JtOiBcIj49MS41LjdcImAgd2hpbGUgYSBmZWF0dXJlIHJlcXVpcmVzIGA+PTEuOC4wYCBmYWlscywgYmVjYXVzZVxuICogdGhlIHByb2plY3QgY2xhaW1zIHRvIHN1cHBvcnQgMS41LjcuLjEuOC4wIHdoZXJlIHRoZSBmZWF0dXJlIGlzIG1pc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZlYXR1cmVTdXBwb3J0ZWRCeVRhcmdldHMoXG4gIGZlYXR1cmVOYW1lOiBzdHJpbmcsXG4gIHN1cHBvcnRlZEluOiBUZXJyYWZvcm1GZWF0dXJlVmVyc2lvbkNvbnN0cmFpbnRzLFxuICB0YXJnZXRzOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyxcbiAgaGludD86IHN0cmluZyxcbik6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgcHJvZHVjdCBvZiBUQVJHRVRfUFJPRFVDVFMpIHtcbiAgICBjb25zdCB0YXJnZXRSYW5nZSA9IHRhcmdldHNbcHJvZHVjdF07XG4gICAgaWYgKCF0YXJnZXRSYW5nZSkgY29udGludWU7IC8vIHByb2R1Y3Qgbm90IHRhcmdldGVkIGJ5IHRoZSBwcm9qZWN0XG5cbiAgICBjb25zdCBzdXBwb3J0ZWRSYW5nZSA9IHN1cHBvcnRlZEluW3Byb2R1Y3RdO1xuICAgIGlmICghc3VwcG9ydGVkUmFuZ2UpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgJHtmZWF0dXJlTmFtZX0gaXMgbm90IHN1cHBvcnRlZCBieSAke3Byb2R1Y3R9LCBidXQgdGhlIHByb2plY3QgdGFyZ2V0cyAke3Byb2R1Y3R9ICR7dGFyZ2V0UmFuZ2V9LiAke1xuICAgICAgICAgIGhpbnQgfHwgXCJcIlxuICAgICAgICB9YC50cmltRW5kKCksXG4gICAgICApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKCFzZW12ZXIuc3Vic2V0KHRhcmdldFJhbmdlLCBzdXBwb3J0ZWRSYW5nZSkpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgJHtmZWF0dXJlTmFtZX0gcmVxdWlyZXMgJHtwcm9kdWN0fSAke3N1cHBvcnRlZFJhbmdlfSwgYnV0IHRoZSBwcm9qZWN0IHRhcmdldHMgJHtwcm9kdWN0fSAke3RhcmdldFJhbmdlfS4gJHtcbiAgICAgICAgICBoaW50IHx8IFwiXCJcbiAgICAgICAgfWAudHJpbUVuZCgpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGF0IGEgZmVhdHVyZSBpcyBzdXBwb3J0ZWQgYnkgdGhlIHByb2plY3QncyBkZWNsYXJlZFxuICogVGVycmFmb3JtLWNvbXBhdGlibGUgcnVudGltZSB0YXJnZXRzIChjZGt0Zi5qc29uIGB0YXJnZXRWZXJzaW9uc2ApLFxuICogd2l0aG91dCBwcm9iaW5nIGFueSBsb2NhbGx5IGluc3RhbGxlZCBiaW5hcnkuXG4gKlxuICogVmVyaWZ5aW5nIHRoZSBhY3R1YWxseSBpbnN0YWxsZWQgYmluYXJ5IGlzIGEgc2VwYXJhdGUsIGV4cGxpY2l0IHN0ZXA6XG4gKiB0aGUgb3B0LWluIGB2YWxpZGF0ZUluc3RhbGxlZEJpbmFyeWAgY29uZmlnIGhhbmRsZWQgYnkgdGhlIENMSSBjb21tYW5kc1xuICogdGhhdCBleGVjdXRlIHRoZSBiaW5hcnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0ZUZlYXR1cmVUYXJnZXRTdXBwb3J0IGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgc2NvcGU6IElDb25zdHJ1Y3QsXG4gICAgcHJvdGVjdGVkIGZlYXR1cmVOYW1lOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHN1cHBvcnRlZEluOiBUZXJyYWZvcm1GZWF0dXJlVmVyc2lvbkNvbnN0cmFpbnRzLFxuICAgIHByb3RlY3RlZCBoaW50Pzogc3RyaW5nLFxuICApIHt9XG5cbiAgcHVibGljIHZhbGlkYXRlKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCB7IHRhcmdldHMsIGVycm9ycyB9ID0gcmVzb2x2ZVRhcmdldFZlcnNpb25zKHRoaXMuc2NvcGUpO1xuICAgIGlmICghdGFyZ2V0cykge1xuICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG5cbiAgICByZXR1cm4gY2hlY2tGZWF0dXJlU3VwcG9ydGVkQnlUYXJnZXRzKFxuICAgICAgdGhpcy5mZWF0dXJlTmFtZSxcbiAgICAgIHRoaXMuc3VwcG9ydGVkSW4sXG4gICAgICB0YXJnZXRzLFxuICAgICAgdGhpcy5oaW50LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb25zL3RhcmdldC12ZXJzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrREEsc0RBNkRDO0FBWUQsd0VBZ0NDO0FBeEpELCtDQUFpQztBQUdqQzs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLGdCQUFnQixDQUFDO0FBWTVEOzs7O0dBSUc7QUFDVSxRQUFBLHVCQUF1QixHQUE0QjtJQUM5RCxTQUFTLEVBQUUsU0FBUztJQUNwQixRQUFRLEVBQUUsU0FBUztDQUNwQixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFFbEU7Ozs7O0dBS0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxLQUFpQjtJQUlyRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQ0FBMkIsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxPQUFPLEVBQUUsK0JBQXVCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUNFLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDNUIsUUFBUSxLQUFLLElBQUk7UUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDdkIsQ0FBQztRQUNELE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sNkdBQTZHO2FBQzlHO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztR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O0lBRUcsUUFBUTtRQUNiLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLDhCQUE4QixDQUNuQyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsV0FBVyxFQUNoQixPQUFPLEVBQ1AsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBckJELG9FQXFCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJQ29uc3RydWN0LCBJVmFsaWRhdGlvbiB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSBcInNlbXZlclwiO1xuaW1wb3J0IHsgVGVycmFmb3JtRmVhdHVyZVZlcnNpb25Db25zdHJhaW50cyB9IGZyb20gXCIuL3ZhbGlkYXRlLXRlcnJhZm9ybS1mZWF0dXJlLXZlcnNpb25cIjtcblxuLyoqXG4gKiBDb250ZXh0IGtleSBjYXJyeWluZyB0aGUgcHJvamVjdCdzIGRlY2xhcmVkIFRlcnJhZm9ybS1jb21wYXRpYmxlIHJ1bnRpbWVcbiAqIHRhcmdldHMgKHNldCBmcm9tIHRoZSBgdGFyZ2V0VmVyc2lvbnNgIGZpZWxkIGluIGNka3RmLmpzb24gYnkgdGhlIENMSSwgb3JcbiAqIGRpcmVjdGx5IHZpYSBBcHAgY29udGV4dCAvIENES1RGX0NPTlRFWFRfSlNPTiBmb3Igc3RhbmRhbG9uZSBzeW50aCkuXG4gKlxuICogVGhpcyBpcyB0aGUgY2Fub25pY2FsIGRlZmluaXRpb24uIGBAY2RrdG4vY29tbW9uc2AgaW1wb3J0cyBpdCBmcm9tIGhlcmVcbiAqIChjb21tb25zIGRlcGVuZHMgb24gY2RrdG47IGNka3RuIG11c3Qgbm90IGRlcGVuZCBvbiBjb21tb25zKSwgc28gdGhlIENMSVxuICogd3JpdGVzIGFuZCB0aGUgY29uc3RydWN0IGxpYnJhcnkgcmVhZHMgdGhlIGV4YWN0IHNhbWUga2V5LiBJdCBpcyBhblxuICogaW50ZXJuYWwgd2lyaW5nIGRldGFpbCwgZGVsaWJlcmF0ZWx5IG5vdCBwYXJ0IG9mIGNka3RuJ3MgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRBUkdFVF9WRVJTSU9OU19DT05URVhUX0tFWSA9IFwidGFyZ2V0VmVyc2lvbnNcIjtcblxuLyoqXG4gKiBUaGUgVGVycmFmb3JtLWNvbXBhdGlibGUgcnVudGltZXMgYSBwcm9qZWN0IGRlY2xhcmVzIGl0IHN1cHBvcnRzLCBhcyBucG1cbiAqIHNlbXZlciByYW5nZXMgcGVyIHByb2R1Y3QuIEEgbWlzc2luZyBwcm9kdWN0IG1lYW5zIHRoZSBwcm9qZWN0IGRvZXMgbm90XG4gKiB0YXJnZXQgdGhhdCBwcm9kdWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybVRhcmdldFZlcnNpb25zIHtcbiAgcmVhZG9ubHkgdGVycmFmb3JtPzogc3RyaW5nO1xuICByZWFkb25seSBvcGVudG9mdT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBVc2VkIHdoZW4gYSBwcm9qZWN0IGRlY2xhcmVzIG5vIGB0YXJnZXRWZXJzaW9uc2A6IHRoZSBwcm9qZWN0IGlzIGFzc3VtZWRcbiAqIHRvIHRhcmdldCBldmVyeSBzdXBwb3J0ZWQgcmVsZWFzZSBvZiBib3RoIHByb2R1Y3RzLCB3aGljaCBpcyB0aGUgc3RyaWN0ZXN0XG4gKiAobW9zdCBwb3J0YWJsZSkgaW50ZXJwcmV0YXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RBUkdFVF9WRVJTSU9OUzogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMgPSB7XG4gIHRlcnJhZm9ybTogXCI+PTEuNS43XCIsXG4gIG9wZW50b2Z1OiBcIj49MS42LjBcIixcbn07XG5cbi8qKlxuICogVGhlIHByb2R1Y3Qga2V5cyBhIHByb2plY3QgbWF5IGRlY2xhcmUgdGFyZ2V0cyBmb3IuIEV4cG9ydGVkIGZvciByZXVzZSBieVxuICogYEBjZGt0bi9jb21tb25zYCAoaW1wb3J0ZWQgdmlhIHN1YnBhdGgpLCBub3QgcGFydCBvZiBjZGt0bidzIHB1YmxpYyBBUEkuXG4gKi9cbmV4cG9ydCBjb25zdCBUQVJHRVRfUFJPRFVDVFMgPSBbXCJ0ZXJyYWZvcm1cIiwgXCJvcGVudG9mdVwiXSBhcyBjb25zdDtcblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgZGVjbGFyZWQgdGFyZ2V0IHZlcnNpb25zIGZyb20gY29uc3RydWN0IGNvbnRleHQsIGZhbGxpbmcgYmFja1xuICogdG8gREVGQVVMVF9UQVJHRVRfVkVSU0lPTlMuIFJldHVybnMgZXJyb3JzIGluc3RlYWQgb2YgdGFyZ2V0cyB3aGVuIHRoZVxuICogZGVjbGFyZWQgdmFsdWUgaXMgbWFsZm9ybWVkICh3aGljaCBjYW4gaGFwcGVuIHdoZW4gY29udGV4dCBpcyBzZXQgZGlyZWN0bHlcbiAqIG9uIHRoZSBBcHAgcmF0aGVyIHRoYW4gZ29pbmcgdGhyb3VnaCBjZGt0Zi5qc29uIHZhbGlkYXRpb24pLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhcmdldFZlcnNpb25zKHNjb3BlOiBJQ29uc3RydWN0KToge1xuICB0YXJnZXRzPzogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnM7XG4gIGVycm9yczogc3RyaW5nW107XG59IHtcbiAgY29uc3QgZGVjbGFyZWQgPSBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoVEFSR0VUX1ZFUlNJT05TX0NPTlRFWFRfS0VZKTtcbiAgaWYgKGRlY2xhcmVkID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyB0YXJnZXRzOiBERUZBVUxUX1RBUkdFVF9WRVJTSU9OUywgZXJyb3JzOiBbXSB9O1xuICB9XG5cbiAgaWYgKFxuICAgIHR5cGVvZiBkZWNsYXJlZCAhPT0gXCJvYmplY3RcIiB8fFxuICAgIGRlY2xhcmVkID09PSBudWxsIHx8XG4gICAgQXJyYXkuaXNBcnJheShkZWNsYXJlZClcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVycm9yczogW1xuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMgY29udGV4dCBtdXN0IGJlIGFuIG9iamVjdCBtYXBwaW5nIHByb2R1Y3RzIHRvIHNlbXZlciByYW5nZXMsIGUuZy4geyBcInRlcnJhZm9ybVwiOiBcIj49MS41LjdcIiB9YCxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhkZWNsYXJlZCk7XG4gIGlmIChlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcnM6IFtcbiAgICAgICAgYHRhcmdldFZlcnNpb25zIG11c3QgZGVjbGFyZSBhdCBsZWFzdCBvbmUgcHJvZHVjdCAoXCJ0ZXJyYWZvcm1cIiBvciBcIm9wZW50b2Z1XCIpIG9yIGJlIG9taXR0ZWQgZW50aXJlbHlgLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IFtwcm9kdWN0LCByYW5nZV0gb2YgZW50cmllcykge1xuICAgIGlmICghVEFSR0VUX1BST0RVQ1RTLmluY2x1ZGVzKHByb2R1Y3QgYXMgYW55KSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGB0YXJnZXRWZXJzaW9ucyBoYXMgdW5rbm93biBwcm9kdWN0IFwiJHtwcm9kdWN0fVwiIChleHBlY3RlZCBcInRlcnJhZm9ybVwiIG9yIFwib3BlbnRvZnVcIilgLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByYW5nZSA9PT0gXCJzdHJpbmdcIiAmJiByYW5nZS5pbmNsdWRlcyhcIn4+XCIpKSB7XG4gICAgICAvLyBucG0gc2VtdmVyIGhhcHBlbnMgdG8gcGFyc2UgXCJ+PlwiIGFzIFwiflwiLCB3aGljaCBoYXMgZGlmZmVyZW50XG4gICAgICAvLyBzZW1hbnRpY3MgdGhhbiBUZXJyYWZvcm0ncyBcIn4+XCIgcGVzc2ltaXN0aWMgY29uc3RyYWludCDigJQgcmVqZWN0IGl0XG4gICAgICAvLyBpbnN0ZWFkIG9mIHNpbGVudGx5IG1lYW5pbmcgc29tZXRoaW5nIGVsc2VcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMuJHtwcm9kdWN0fSBcIiR7cmFuZ2V9XCIgdXNlcyBUZXJyYWZvcm0gcHJvdmlkZXIgY29uc3RyYWludCBzeW50YXg7IHVzZSBucG0gc2VtdmVyIHJhbmdlcyBpbnN0ZWFkIChlLmcuIFwiPj0xLjUuN1wiIG9yIFwifjEuNS43XCIpYCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHR5cGVvZiByYW5nZSAhPT0gXCJzdHJpbmdcIiB8fFxuICAgICAgcmFuZ2UudHJpbSgpLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgc2VtdmVyLnZhbGlkUmFuZ2UocmFuZ2UpID09PSBudWxsXG4gICAgKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYHRhcmdldFZlcnNpb25zLiR7cHJvZHVjdH0gJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICByYW5nZSxcbiAgICAgICAgKX0gaXMgbm90IGEgdmFsaWQgc2VtdmVyIHJhbmdlYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHsgZXJyb3JzIH07XG4gIH1cblxuICByZXR1cm4geyB0YXJnZXRzOiBkZWNsYXJlZCBhcyBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucywgZXJyb3JzOiBbXSB9O1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgZmVhdHVyZSBpcyBzdXBwb3J0ZWQgYWNyb3NzIHRoZSBlbnRpcmUgZGVjbGFyZWQgdGFyZ2V0XG4gKiByYW5nZSBvZiBldmVyeSB0YXJnZXRlZCBwcm9kdWN0LlxuICpcbiAqIGBzdXBwb3J0ZWRJbmAgZm9sbG93cyB0aGUgVGVycmFmb3JtRmVhdHVyZVZlcnNpb25Db25zdHJhaW50cyBzZW1hbnRpY3M6IGFcbiAqIG1pc3NpbmcgcHJvZHVjdCBrZXkgbWVhbnMgdGhlIGZlYXR1cmUgaXMgbm90IHN1cHBvcnRlZCBieSB0aGF0IHByb2R1Y3QgYXRcbiAqIGFueSB2ZXJzaW9uLiBUaGUgY2hlY2sgaXMgYSBzZW12ZXIgcmFuZ2Ugc3Vic2V0OiBkZWNsYXJpbmdcbiAqIGB0ZXJyYWZvcm06IFwiPj0xLjUuN1wiYCB3aGlsZSBhIGZlYXR1cmUgcmVxdWlyZXMgYD49MS44LjBgIGZhaWxzLCBiZWNhdXNlXG4gKiB0aGUgcHJvamVjdCBjbGFpbXMgdG8gc3VwcG9ydCAxLjUuNy4uMS44LjAgd2hlcmUgdGhlIGZlYXR1cmUgaXMgbWlzc2luZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrRmVhdHVyZVN1cHBvcnRlZEJ5VGFyZ2V0cyhcbiAgZmVhdHVyZU5hbWU6IHN0cmluZyxcbiAgc3VwcG9ydGVkSW46IFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMsXG4gIHRhcmdldHM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxuICBoaW50Pzogc3RyaW5nLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIChjb25zdCBwcm9kdWN0IG9mIFRBUkdFVF9QUk9EVUNUUykge1xuICAgIGNvbnN0IHRhcmdldFJhbmdlID0gdGFyZ2V0c1twcm9kdWN0XTtcbiAgICBpZiAoIXRhcmdldFJhbmdlKSBjb250aW51ZTsgLy8gcHJvZHVjdCBub3QgdGFyZ2V0ZWQgYnkgdGhlIHByb2plY3RcblxuICAgIGNvbnN0IHN1cHBvcnRlZFJhbmdlID0gc3VwcG9ydGVkSW5bcHJvZHVjdF07XG4gICAgaWYgKCFzdXBwb3J0ZWRSYW5nZSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGAke2ZlYXR1cmVOYW1lfSBpcyBub3Qgc3VwcG9ydGVkIGJ5ICR7cHJvZHVjdH0sIGJ1dCB0aGUgcHJvamVjdCB0YXJnZXRzICR7cHJvZHVjdH0gJHt0YXJnZXRSYW5nZX0uICR7XG4gICAgICAgICAgaGludCB8fCBcIlwiXG4gICAgICAgIH1gLnRyaW1FbmQoKSxcbiAgICAgICk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIXNlbXZlci5zdWJzZXQodGFyZ2V0UmFuZ2UsIHN1cHBvcnRlZFJhbmdlKSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGAke2ZlYXR1cmVOYW1lfSByZXF1aXJlcyAke3Byb2R1Y3R9ICR7c3VwcG9ydGVkUmFuZ2V9LCBidXQgdGhlIHByb2plY3QgdGFyZ2V0cyAke3Byb2R1Y3R9ICR7dGFyZ2V0UmFuZ2V9LiAke1xuICAgICAgICAgIGhpbnQgfHwgXCJcIlxuICAgICAgICB9YC50cmltRW5kKCksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoYXQgYSBmZWF0dXJlIGlzIHN1cHBvcnRlZCBieSB0aGUgcHJvamVjdCdzIGRlY2xhcmVkXG4gKiBUZXJyYWZvcm0tY29tcGF0aWJsZSBydW50aW1lIHRhcmdldHMgKGNka3RmLmpzb24gYHRhcmdldFZlcnNpb25zYCksXG4gKiB3aXRob3V0IHByb2JpbmcgYW55IGxvY2FsbHkgaW5zdGFsbGVkIGJpbmFyeS5cbiAqXG4gKiBWZXJpZnlpbmcgdGhlIGFjdHVhbGx5IGluc3RhbGxlZCBiaW5hcnkgaXMgYSBzZXBhcmF0ZSwgZXhwbGljaXQgc3RlcDpcbiAqIHRoZSBvcHQtaW4gYHZhbGlkYXRlSW5zdGFsbGVkQmluYXJ5YCBjb25maWcgaGFuZGxlZCBieSB0aGUgQ0xJIGNvbW1hbmRzXG4gKiB0aGF0IGV4ZWN1dGUgdGhlIGJpbmFyeS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlRmVhdHVyZVRhcmdldFN1cHBvcnQgaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzY29wZTogSUNvbnN0cnVjdCxcbiAgICBwcm90ZWN0ZWQgZmVhdHVyZU5hbWU6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgc3VwcG9ydGVkSW46IFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMsXG4gICAgcHJvdGVjdGVkIGhpbnQ/OiBzdHJpbmcsXG4gICkge31cblxuICBwdWJsaWMgdmFsaWRhdGUoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHsgdGFyZ2V0cywgZXJyb3JzIH0gPSByZXNvbHZlVGFyZ2V0VmVyc2lvbnModGhpcy5zY29wZSk7XG4gICAgaWYgKCF0YXJnZXRzKSB7XG4gICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH1cblxuICAgIHJldHVybiBjaGVja0ZlYXR1cmVTdXBwb3J0ZWRCeVRhcmdldHMoXG4gICAgICB0aGlzLmZlYXR1cmVOYW1lLFxuICAgICAgdGhpcy5zdXBwb3J0ZWRJbixcbiAgICAgIHRhcmdldHMsXG4gICAgICB0aGlzLmhpbnQsXG4gICAgKTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cdktn",
3
- "version": "0.26.0-pre.0",
3
+ "version": "0.26.0-pre.2",
4
4
  "description": "Cloud Development Kit for Terraform",
5
5
  "scripts": {
6
6
  "build": "jsii --silence-warnings reserved-word",