projen-pipelines 0.3.21 → 0.3.23

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 (123) hide show
  1. package/.jsii +7 -4
  2. package/API.md +420 -0
  3. package/lib/assign-approver/base.js +3 -4
  4. package/lib/assign-approver/github.js +4 -4
  5. package/lib/awscdk/base.js +48 -6
  6. package/lib/awscdk/bash.js +2 -4
  7. package/lib/awscdk/github.js +13 -6
  8. package/lib/awscdk/gitlab.js +11 -6
  9. package/lib/drift/base.js +8 -4
  10. package/lib/drift/bash.js +3 -4
  11. package/lib/drift/detect-drift.js +3 -2
  12. package/lib/drift/github.js +5 -4
  13. package/lib/drift/gitlab.js +5 -4
  14. package/lib/drift/step.js +2 -4
  15. package/lib/release.js +5 -2
  16. package/lib/steps/amplify-deploy.step.js +5 -4
  17. package/lib/steps/artifact-steps.js +5 -6
  18. package/lib/steps/aws-assume-role.step.js +3 -4
  19. package/lib/steps/github-summary.step.js +3 -4
  20. package/lib/steps/package-manager-setup.step.js +4 -6
  21. package/lib/steps/registries.js +7 -8
  22. package/lib/steps/set-env.step.js +2 -1
  23. package/lib/steps/step.js +9 -10
  24. package/lib/versioning/computation.js +6 -8
  25. package/lib/versioning/config.js +3 -6
  26. package/lib/versioning/outputs.js +13 -16
  27. package/lib/versioning/setup.js +9 -9
  28. package/lib/versioning/strategy.js +4 -4
  29. package/lib/versioning/version-info.js +18 -9
  30. package/node_modules/@babel/code-frame/package.json +2 -2
  31. package/node_modules/@babel/helper-validator-identifier/package.json +1 -1
  32. package/node_modules/@nodable/entities/README.md +52 -1
  33. package/node_modules/@nodable/entities/package.json +4 -1
  34. package/node_modules/@nodable/entities/src/EntityDecoder.js +105 -4
  35. package/node_modules/@nodable/entities/src/EntityEncoder.js +79 -34
  36. package/node_modules/@nodable/entities/src/all-entities.js +53 -0
  37. package/node_modules/@nodable/entities/src/entities.js +0 -38
  38. package/node_modules/@nodable/entities/src/entityTries.js +48 -37
  39. package/node_modules/@nodable/entities/src/index.d.ts +93 -2
  40. package/node_modules/@nodable/entities/src/index.js +2 -2
  41. package/node_modules/anynum/LICENSE +21 -0
  42. package/node_modules/anynum/README.md +142 -0
  43. package/node_modules/anynum/anynum.js +135 -0
  44. package/node_modules/anynum/digitTable.js +116 -0
  45. package/node_modules/anynum/package.json +42 -0
  46. package/node_modules/dotgitignore/node_modules/brace-expansion/README.md +23 -1
  47. package/node_modules/dotgitignore/node_modules/brace-expansion/index.js +265 -86
  48. package/node_modules/dotgitignore/node_modules/brace-expansion/package.json +1 -1
  49. package/node_modules/fast-xml-builder/CHANGELOG.md +12 -0
  50. package/node_modules/fast-xml-builder/README.md +4 -1
  51. package/node_modules/fast-xml-builder/lib/fxb.cjs +1 -1
  52. package/node_modules/fast-xml-builder/lib/fxb.min.js +1 -1
  53. package/node_modules/fast-xml-builder/lib/fxb.min.js.map +1 -1
  54. package/node_modules/fast-xml-builder/package.json +6 -10
  55. package/node_modules/fast-xml-builder/src/fxb.js +34 -24
  56. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +18 -17
  57. package/node_modules/fast-xml-builder/src/util.js +10 -3
  58. package/node_modules/fast-xml-parser/CHANGELOG.md +34 -0
  59. package/node_modules/fast-xml-parser/README.md +10 -6
  60. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
  61. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
  62. package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
  63. package/node_modules/fast-xml-parser/lib/fxp.d.cts +3 -1
  64. package/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
  65. package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
  66. package/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
  67. package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
  68. package/node_modules/fast-xml-parser/package.json +8 -10
  69. package/node_modules/fast-xml-parser/src/fxp.d.ts +5 -1
  70. package/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +16 -1
  71. package/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +2 -1
  72. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +36 -3
  73. package/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +14 -0
  74. package/node_modules/get-pkg-repo/node_modules/yargs/package.json +27 -26
  75. package/node_modules/get-pkg-repo/node_modules/yargs/yargs +5 -9
  76. package/node_modules/get-pkg-repo/node_modules/yargs/yargs.cjs +15 -0
  77. package/node_modules/hasown/CHANGELOG.md +7 -0
  78. package/node_modules/hasown/index.d.ts +0 -1
  79. package/node_modules/hasown/package.json +4 -5
  80. package/node_modules/is-unsafe/LICENSE +21 -0
  81. package/node_modules/is-unsafe/README.md +599 -0
  82. package/node_modules/is-unsafe/package.json +56 -0
  83. package/node_modules/is-unsafe/src/contexts/html.js +102 -0
  84. package/node_modules/is-unsafe/src/contexts/log.js +98 -0
  85. package/node_modules/is-unsafe/src/contexts/nosql.js +114 -0
  86. package/node_modules/is-unsafe/src/contexts/redos.js +60 -0
  87. package/node_modules/is-unsafe/src/contexts/shell.js +105 -0
  88. package/node_modules/is-unsafe/src/contexts/sql-strict.js +47 -0
  89. package/node_modules/is-unsafe/src/contexts/sql.js +95 -0
  90. package/node_modules/is-unsafe/src/contexts/svg.js +81 -0
  91. package/node_modules/is-unsafe/src/contexts/xml.js +79 -0
  92. package/node_modules/is-unsafe/src/index.cjs +27 -0
  93. package/node_modules/is-unsafe/src/index.d.ts +95 -0
  94. package/node_modules/is-unsafe/src/index.js +265 -0
  95. package/node_modules/path-expression-matcher/README.md +82 -7
  96. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
  97. package/node_modules/path-expression-matcher/lib/pem.d.cts +94 -3
  98. package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
  99. package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -1
  100. package/node_modules/path-expression-matcher/package.json +2 -1
  101. package/node_modules/path-expression-matcher/src/ExpressionSet.js +18 -2
  102. package/node_modules/path-expression-matcher/src/Matcher.js +109 -16
  103. package/node_modules/path-expression-matcher/src/index.d.ts +67 -1
  104. package/node_modules/path-expression-matcher/src/index.js +3 -2
  105. package/node_modules/semver/classes/range.js +24 -4
  106. package/node_modules/semver/classes/semver.js +19 -2
  107. package/node_modules/semver/package.json +2 -2
  108. package/node_modules/semver/ranges/subset.js +2 -2
  109. package/node_modules/strnum/CHANGELOG.md +14 -0
  110. package/node_modules/strnum/README.md +9 -0
  111. package/node_modules/strnum/package.json +7 -3
  112. package/node_modules/strnum/strnum.js +14 -2
  113. package/node_modules/xml-naming/LICENSE +21 -0
  114. package/node_modules/xml-naming/README.md +99 -1
  115. package/node_modules/xml-naming/package.json +4 -2
  116. package/node_modules/xml-naming/src/index.d.ts +34 -0
  117. package/node_modules/xml-naming/src/index.js +134 -22
  118. package/node_modules/yargs/build/index.cjs +1 -1
  119. package/node_modules/yargs/package.json +6 -4
  120. package/node_modules/yargs/yargs +5 -9
  121. package/node_modules/yargs/yargs.cjs +15 -0
  122. package/package.json +8 -9
  123. package/node_modules/yargs/browser.d.ts +0 -5
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b, _c, _d, _e;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.VersioningOutputs = exports.OutputFormat = exports.ParameterStoreOutput = exports.CloudFormationOutput = exports.OutputConfigBase = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -7,17 +6,20 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
6
  * Base class for output configurations
8
7
  */
9
8
  class OutputConfigBase {
9
+ type;
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-pipelines.OutputConfigBase", version: "0.3.23" };
10
11
  constructor(type) {
11
12
  this.type = type;
12
13
  }
13
14
  }
14
15
  exports.OutputConfigBase = OutputConfigBase;
15
- _a = JSII_RTTI_SYMBOL_1;
16
- OutputConfigBase[_a] = { fqn: "projen-pipelines.OutputConfigBase", version: "0.3.21" };
17
16
  /**
18
17
  * CloudFormation output configuration
19
18
  */
20
19
  class CloudFormationOutput extends OutputConfigBase {
20
+ config;
21
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-pipelines.CloudFormationOutput", version: "0.3.23" };
22
+ static TYPE = 'cloudformation';
21
23
  /**
22
24
  * Enable CloudFormation outputs with default configuration
23
25
  */
@@ -48,13 +50,13 @@ class CloudFormationOutput extends OutputConfigBase {
48
50
  }
49
51
  }
50
52
  exports.CloudFormationOutput = CloudFormationOutput;
51
- _b = JSII_RTTI_SYMBOL_1;
52
- CloudFormationOutput[_b] = { fqn: "projen-pipelines.CloudFormationOutput", version: "0.3.21" };
53
- CloudFormationOutput.TYPE = 'cloudformation';
54
53
  /**
55
54
  * SSM Parameter Store output configuration
56
55
  */
57
56
  class ParameterStoreOutput extends OutputConfigBase {
57
+ config;
58
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-pipelines.ParameterStoreOutput", version: "0.3.23" };
59
+ static TYPE = 'parameterStore';
58
60
  /**
59
61
  * Enable Parameter Store outputs with parameter name
60
62
  */
@@ -97,24 +99,21 @@ class ParameterStoreOutput extends OutputConfigBase {
97
99
  }
98
100
  }
99
101
  exports.ParameterStoreOutput = ParameterStoreOutput;
100
- _c = JSII_RTTI_SYMBOL_1;
101
- ParameterStoreOutput[_c] = { fqn: "projen-pipelines.ParameterStoreOutput", version: "0.3.21" };
102
- ParameterStoreOutput.TYPE = 'parameterStore';
103
102
  /**
104
103
  * Output format types
105
104
  */
106
105
  class OutputFormat {
106
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-pipelines.OutputFormat", version: "0.3.23" };
107
+ static PLAIN = 'plain';
108
+ static STRUCTURED = 'structured';
107
109
  constructor() { }
108
110
  }
109
111
  exports.OutputFormat = OutputFormat;
110
- _d = JSII_RTTI_SYMBOL_1;
111
- OutputFormat[_d] = { fqn: "projen-pipelines.OutputFormat", version: "0.3.21" };
112
- OutputFormat.PLAIN = 'plain';
113
- OutputFormat.STRUCTURED = 'structured';
114
112
  /**
115
113
  * Factory class for output configurations
116
114
  */
117
115
  class VersioningOutputs {
116
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-pipelines.VersioningOutputs", version: "0.3.23" };
118
117
  /**
119
118
  * Create output configuration with CloudFormation and SSM Parameter Store
120
119
  */
@@ -161,6 +160,4 @@ class VersioningOutputs {
161
160
  }
162
161
  }
163
162
  exports.VersioningOutputs = VersioningOutputs;
164
- _e = JSII_RTTI_SYMBOL_1;
165
- VersioningOutputs[_e] = { fqn: "projen-pipelines.VersioningOutputs", version: "0.3.21" };
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJzaW9uaW5nL291dHB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTs7R0FFRztBQUNILE1BQXNCLGdCQUFnQjtJQUNwQyxZQUFzQyxJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtJQUFJLENBQUM7O0FBRHpELDRDQU9DOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsZ0JBQWdCO0lBR3hEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVE7UUFDcEIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFrQztRQUN6RCxPQUFPLElBQUksb0JBQW9CLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFlBQXFDLE1BQW1DO1FBQ3RFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURFLFdBQU0sR0FBTixNQUFNLENBQTZCO0lBRXhFLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzs7QUFqQ0gsb0RBa0NDOzs7QUFqQ3dCLHlCQUFJLEdBQUcsZ0JBQWdCLENBQUM7QUFtQ2pEOztHQUVHO0FBQ0gsTUFBYSxvQkFBcUIsU0FB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QyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDdkksY0FBYyxFQUFFLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO1NBQzNFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPO1lBQ0wsY0FBYyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUN6RCxjQUFjLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1NBQzNELENBQUM7SUFDSixDQUFDOztBQWhESCw4Q0FpREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZEZvcm1hdGlvbk91dHB1dENvbmZpZywgUGFyYW1ldGVyU3RvcmVDb25maWcsIFZlcnNpb25pbmdPdXRwdXRDb25maWcsIFN0YW5kYXJkT3V0cHV0T3B0aW9ucywgQ2xvdWRGb3JtYXRpb25Pbmx5T3B0aW9ucywgSGllcmFyY2hpY2FsUGFyYW1ldGVyc09wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBvdXRwdXQgY29uZmlndXJhdGlvbnNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE91dHB1dENvbmZpZ0Jhc2Uge1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZykgeyB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdG8gY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICovXG4gIGFic3RyYWN0IHRvQ29uZmlnKCk6IGFueTtcbn1cblxuLyoqXG4gKiBDbG91ZEZvcm1hdGlvbiBvdXRwdXQgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRGb3JtYXRpb25PdXRwdXQgZXh0ZW5kcyBPdXRwdXRDb25maWdCYXNlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFID0gJ2Nsb3VkZm9ybWF0aW9uJztcblxuICAvKipcbiAgICogRW5hYmxlIENsb3VkRm9ybWF0aW9uIG91dHB1dHMgd2l0aCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZW5hYmxlZCgpOiBDbG91ZEZvcm1hdGlvbk91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBDbG91ZEZvcm1hdGlvbk91dHB1dCh7IGVuYWJsZWQ6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZSBDbG91ZEZvcm1hdGlvbiBvdXRwdXRzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRpc2FibGVkKCk6IENsb3VkRm9ybWF0aW9uT3V0cHV0IHtcbiAgICByZXR1cm4gbmV3IENsb3VkRm9ybWF0aW9uT3V0cHV0KHsgZW5hYmxlZDogZmFsc2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlIENsb3VkRm9ybWF0aW9uIG91dHB1dHMgd2l0aCBjdXN0b20gc2V0dGluZ3NcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aENvbmZpZyhjb25maWc6IENsb3VkRm9ybWF0aW9uT3V0cHV0Q29uZmlnKTogQ2xvdWRGb3JtYXRpb25PdXRwdXQge1xuICAgIHJldHVybiBuZXcgQ2xvdWRGb3JtYXRpb25PdXRwdXQoeyAuLi5jb25maWcgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29uZmlnPzogQ2xvdWRGb3JtYXRpb25PdXRwdXRDb25maWcpIHtcbiAgICBzdXBlcihDbG91ZEZvcm1hdGlvbk91dHB1dC5UWVBFKTtcbiAgfVxuXG4gIHB1YmxpYyB0b0NvbmZpZygpOiBhbnkge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiB7IGVuYWJsZWQ6IHRydWUgfTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG59XG5cbi8qKlxuICogU1NNIFBhcmFtZXRlciBTdG9yZSBvdXRwdXQgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVyU3RvcmVPdXRwdXQgZXh0ZW5kcyBPdXRwdXRDb25maWdCYXNlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFID0gJ3BhcmFtZXRlclN0b3JlJztcblxuICAvKipcbiAgICogRW5hYmxlIFBhcmFtZXRlciBTdG9yZSBvdXRwdXRzIHdpdGggcGFyYW1ldGVyIG5hbWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZW5hYmxlZChwYXJhbWV0ZXJOYW1lOiBzdHJpbmcpOiBQYXJhbWV0ZXJTdG9yZU91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTdG9yZU91dHB1dCh7IGVuYWJsZWQ6IHRydWUsIHBhcmFtZXRlck5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZSBQYXJhbWV0ZXIgU3RvcmUgb3V0cHV0c1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXNhYmxlZCgpOiBQYXJhbWV0ZXJTdG9yZU91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTdG9yZU91dHB1dCh7IGVuYWJsZWQ6IGZhbHNlLCBwYXJhbWV0ZXJOYW1lOiAnJyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgUGFyYW1ldGVyIFN0b3JlIG91dHB1dHMgd2l0aCBjdXN0b20gc2V0dGluZ3NcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aENvbmZpZyhjb25maWc6IFBhcmFtZXRlclN0b3JlQ29uZmlnKTogUGFyYW1ldGVyU3RvcmVPdXRwdXQge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVyU3RvcmVPdXRwdXQoeyAuLi5jb25maWcgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlIFBhcmFtZXRlciBTdG9yZSB3aXRoIGhpZXJhcmNoaWNhbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhpZXJhcmNoaWNhbChiYXNlUGF0aDogc3RyaW5nLCBvcHRpb25zPzogSGllcmFyY2hpY2FsUGFyYW1ldGVyc09wdGlvbnMpOiBQYXJhbWV0ZXJTdG9yZU91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTdG9yZU91dHB1dCh7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgcGFyYW1ldGVyTmFtZTogYmFzZVBhdGgsXG4gICAgICBoaWVyYXJjaGljYWw6IHRydWUsXG4gICAgICBzcGxpdFBhcmFtZXRlcnM6IHRydWUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbmZpZz86IFBhcmFtZXRlclN0b3JlQ29uZmlnKSB7XG4gICAgc3VwZXIoUGFyYW1ldGVyU3RvcmVPdXRwdXQuVFlQRSk7XG4gIH1cblxuICBwdWJsaWMgdG9Db25maWcoKTogYW55IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICByZXR1cm4geyBlbmFibGVkOiBmYWxzZSwgcGFyYW1ldGVyTmFtZTogJycgfTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG59XG5cbi8qKlxuICogT3V0cHV0IGZvcm1hdCB0eXBlc1xuICovXG5leHBvcnQgY2xhc3MgT3V0cHV0Rm9ybWF0IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQTEFJTiA9ICdwbGFpbicgYXMgY29uc3Q7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1RSVUNUVVJFRCA9ICdzdHJ1Y3R1cmVkJyBhcyBjb25zdDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkgeyB9XG59XG5cbi8qKlxuICogRmFjdG9yeSBjbGFzcyBmb3Igb3V0cHV0IGNvbmZpZ3VyYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBWZXJzaW9uaW5nT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBDcmVhdGUgb3V0cHV0IGNvbmZpZ3VyYXRpb24gd2l0aCBDbG91ZEZvcm1hdGlvbiBhbmQgU1NNIFBhcmFtZXRlciBTdG9yZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdGFuZGFyZChvcHRpb25zPzogU3RhbmRhcmRPdXRwdXRPcHRpb25zKTogVmVyc2lvbmluZ091dHB1dENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsb3VkRm9ybWF0aW9uOiBDbG91ZEZvcm1hdGlvbk91dHB1dC5lbmFibGVkKCkudG9Db25maWcoKSxcbiAgICAgIHBhcmFtZXRlclN0b3JlOiBvcHRpb25zPy5wYXJhbWV0ZXJOYW1lXG4gICAgICAgID8gUGFyYW1ldGVyU3RvcmVPdXRwdXQuZW5hYmxlZChvcHRpb25zLnBhcmFtZXRlck5hbWUpLnRvQ29uZmlnKClcbiAgICAgICAgOiBQYXJhbWV0ZXJTdG9yZU91dHB1dC5kaXNhYmxlZCgpLnRvQ29uZmlnKCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgb3V0cHV0IGNvbmZpZ3VyYXRpb24gd2l0aCBvbmx5IENsb3VkRm9ybWF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNsb3VkRm9ybWF0aW9uT25seShvcHRpb25zPzogQ2xvdWRGb3JtYXRpb25Pbmx5T3B0aW9ucyk6IFZlcnNpb25pbmdPdXRwdXRDb25maWcge1xuICAgIGNvbnN0IGNmQ29uZmlnID0gb3B0aW9ucz8uc3RhY2tPdXRwdXROYW1lIHx8IG9wdGlvbnM/LmV4cG9ydE5hbWVcbiAgICAgID8gQ2xvdWRGb3JtYXRpb25PdXRwdXQud2l0aENvbmZpZyh7XG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIGV4cG9ydE5hbWU6IG9wdGlvbnMuZXhwb3J0TmFtZSxcbiAgICAgIH0pLnRvQ29uZmlnKClcbiAgICAgIDogQ2xvdWRGb3JtYXRpb25PdXRwdXQuZW5hYmxlZCgpLnRvQ29uZmlnKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2xvdWRGb3JtYXRpb246IGNmQ29uZmlnLFxuICAgICAgcGFyYW1ldGVyU3RvcmU6IFBhcmFtZXRlclN0b3JlT3V0cHV0LmRpc2FibGVkKCkudG9Db25maWcoKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBvdXRwdXQgY29uZmlndXJhdGlvbiB3aXRoIGhpZXJhcmNoaWNhbCBTU00gcGFyYW1ldGVyc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBoaWVyYXJjaGljYWxQYXJhbWV0ZXJzKGJhc2VQYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBIaWVyYXJjaGljYWxQYXJhbWV0ZXJzT3B0aW9ucyk6IFZlcnNpb25pbmdPdXRwdXRDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBjbG91ZEZvcm1hdGlvbjogb3B0aW9ucz8uaW5jbHVkZUNsb3VkRm9ybWF0aW9uID8gQ2xvdWRGb3JtYXRpb25PdXRwdXQuZW5hYmxlZCgpLnRvQ29uZmlnKCkgOiBDbG91ZEZvcm1hdGlvbk91dHB1dC5kaXNhYmxlZCgpLnRvQ29uZmlnKCksXG4gICAgICBwYXJhbWV0ZXJTdG9yZTogUGFyYW1ldGVyU3RvcmVPdXRwdXQuaGllcmFyY2hpY2FsKGJhc2VQYXRoLCB7fSkudG9Db25maWcoKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBtaW5pbWFsIG91dHB1dCBjb25maWd1cmF0aW9uIChDbG91ZEZvcm1hdGlvbiBvbmx5LCBwbGFpbiBmb3JtYXQpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1pbmltYWwoKTogVmVyc2lvbmluZ091dHB1dENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsb3VkRm9ybWF0aW9uOiBDbG91ZEZvcm1hdGlvbk91dHB1dC5lbmFibGVkKCkudG9Db25maWcoKSxcbiAgICAgIHBhcmFtZXRlclN0b3JlOiBQYXJhbWV0ZXJTdG9yZU91dHB1dC5kaXNhYmxlZCgpLnRvQ29uZmlnKCksXG4gICAgfTtcbiAgfVxufSJdfQ==
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJzaW9uaW5nL291dHB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBOztHQUVHO0FBQ0gsTUFBc0IsZ0JBQWdCO0lBQ0U7O0lBQXRDLFlBQXNDLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUksQ0FBQzs7QUFEekQsNENBT0M7QUFFRDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsZ0JBQWdCO0lBd0JuQjs7SUF2QjlCLE1BQU0sQ0FBVSxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7SUFFL0M7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPLElBQUksb0JBQW9CLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUTtRQUNwQixPQUFPLElBQUksb0JBQW9CLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWtDO1FBQ3pELE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBcUMsTUFBbUM7UUFDdEUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBREUsV0FBTSxHQUFOLE1BQU0sQ0FBNkI7SUFFeEUsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDOztBQWpDSCxvREFrQ0M7QUFFRDs7R0FFRztBQUNI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LE9BQU87WUFDTCxjQUFjLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1lBQ3ZJLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtTQUMzRSxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTztZQUNMLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDekQsY0FBYyxFQUFFLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUMzRCxDQUFDO0lBQ0osQ0FBQzs7QUFoREgsOENBaURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25PdXRwdXRDb25maWcsIFBhcmFtZXRlclN0b3JlQ29uZmlnLCBWZXJzaW9uaW5nT3V0cHV0Q29uZmlnLCBTdGFuZGFyZE91dHB1dE9wdGlvbnMsIENsb3VkRm9ybWF0aW9uT25seU9wdGlvbnMsIEhpZXJhcmNoaWNhbFBhcmFtZXRlcnNPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3Igb3V0cHV0IGNvbmZpZ3VyYXRpb25zXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPdXRwdXRDb25maWdCYXNlIHtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0eXBlOiBzdHJpbmcpIHsgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IHRvIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqL1xuICBhYnN0cmFjdCB0b0NvbmZpZygpOiBhbnk7XG59XG5cbi8qKlxuICogQ2xvdWRGb3JtYXRpb24gb3V0cHV0IGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkRm9ybWF0aW9uT3V0cHV0IGV4dGVuZHMgT3V0cHV0Q29uZmlnQmFzZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRSA9ICdjbG91ZGZvcm1hdGlvbic7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBDbG91ZEZvcm1hdGlvbiBvdXRwdXRzIHdpdGggZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVuYWJsZWQoKTogQ2xvdWRGb3JtYXRpb25PdXRwdXQge1xuICAgIHJldHVybiBuZXcgQ2xvdWRGb3JtYXRpb25PdXRwdXQoeyBlbmFibGVkOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgQ2xvdWRGb3JtYXRpb24gb3V0cHV0c1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXNhYmxlZCgpOiBDbG91ZEZvcm1hdGlvbk91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBDbG91ZEZvcm1hdGlvbk91dHB1dCh7IGVuYWJsZWQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBDbG91ZEZvcm1hdGlvbiBvdXRwdXRzIHdpdGggY3VzdG9tIHNldHRpbmdzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGhDb25maWcoY29uZmlnOiBDbG91ZEZvcm1hdGlvbk91dHB1dENvbmZpZyk6IENsb3VkRm9ybWF0aW9uT3V0cHV0IHtcbiAgICByZXR1cm4gbmV3IENsb3VkRm9ybWF0aW9uT3V0cHV0KHsgLi4uY29uZmlnIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbmZpZz86IENsb3VkRm9ybWF0aW9uT3V0cHV0Q29uZmlnKSB7XG4gICAgc3VwZXIoQ2xvdWRGb3JtYXRpb25PdXRwdXQuVFlQRSk7XG4gIH1cblxuICBwdWJsaWMgdG9Db25maWcoKTogYW55IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICByZXR1cm4geyBlbmFibGVkOiB0cnVlIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbmZpZztcbiAgfVxufVxuXG4vKipcbiAqIFNTTSBQYXJhbWV0ZXIgU3RvcmUgb3V0cHV0IGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFBhcmFtZXRlclN0b3JlT3V0cHV0IGV4dGVuZHMgT3V0cHV0Q29uZmlnQmFzZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRSA9ICdwYXJhbWV0ZXJTdG9yZSc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBQYXJhbWV0ZXIgU3RvcmUgb3V0cHV0cyB3aXRoIHBhcmFtZXRlciBuYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVuYWJsZWQocGFyYW1ldGVyTmFtZTogc3RyaW5nKTogUGFyYW1ldGVyU3RvcmVPdXRwdXQge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVyU3RvcmVPdXRwdXQoeyBlbmFibGVkOiB0cnVlLCBwYXJhbWV0ZXJOYW1lIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgUGFyYW1ldGVyIFN0b3JlIG91dHB1dHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGlzYWJsZWQoKTogUGFyYW1ldGVyU3RvcmVPdXRwdXQge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVyU3RvcmVPdXRwdXQoeyBlbmFibGVkOiBmYWxzZSwgcGFyYW1ldGVyTmFtZTogJycgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlIFBhcmFtZXRlciBTdG9yZSBvdXRwdXRzIHdpdGggY3VzdG9tIHNldHRpbmdzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGhDb25maWcoY29uZmlnOiBQYXJhbWV0ZXJTdG9yZUNvbmZpZyk6IFBhcmFtZXRlclN0b3JlT3V0cHV0IHtcbiAgICByZXR1cm4gbmV3IFBhcmFtZXRlclN0b3JlT3V0cHV0KHsgLi4uY29uZmlnIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBQYXJhbWV0ZXIgU3RvcmUgd2l0aCBoaWVyYXJjaGljYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBoaWVyYXJjaGljYWwoYmFzZVBhdGg6IHN0cmluZywgb3B0aW9ucz86IEhpZXJhcmNoaWNhbFBhcmFtZXRlcnNPcHRpb25zKTogUGFyYW1ldGVyU3RvcmVPdXRwdXQge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVyU3RvcmVPdXRwdXQoe1xuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgIHBhcmFtZXRlck5hbWU6IGJhc2VQYXRoLFxuICAgICAgaGllcmFyY2hpY2FsOiB0cnVlLFxuICAgICAgc3BsaXRQYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc/OiBQYXJhbWV0ZXJTdG9yZUNvbmZpZykge1xuICAgIHN1cGVyKFBhcmFtZXRlclN0b3JlT3V0cHV0LlRZUEUpO1xuICB9XG5cbiAgcHVibGljIHRvQ29uZmlnKCk6IGFueSB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgcmV0dXJuIHsgZW5hYmxlZDogZmFsc2UsIHBhcmFtZXRlck5hbWU6ICcnIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbmZpZztcbiAgfVxufVxuXG4vKipcbiAqIE91dHB1dCBmb3JtYXQgdHlwZXNcbiAqL1xuZXhwb3J0IGNsYXNzIE91dHB1dEZvcm1hdCB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUExBSU4gPSAncGxhaW4nIGFzIGNvbnN0O1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNUUlVDVFVSRUQgPSAnc3RydWN0dXJlZCcgYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHsgfVxufVxuXG4vKipcbiAqIEZhY3RvcnkgY2xhc3MgZm9yIG91dHB1dCBjb25maWd1cmF0aW9uc1xuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbmluZ091dHB1dHMge1xuICAvKipcbiAgICogQ3JlYXRlIG91dHB1dCBjb25maWd1cmF0aW9uIHdpdGggQ2xvdWRGb3JtYXRpb24gYW5kIFNTTSBQYXJhbWV0ZXIgU3RvcmVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3RhbmRhcmQob3B0aW9ucz86IFN0YW5kYXJkT3V0cHV0T3B0aW9ucyk6IFZlcnNpb25pbmdPdXRwdXRDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBjbG91ZEZvcm1hdGlvbjogQ2xvdWRGb3JtYXRpb25PdXRwdXQuZW5hYmxlZCgpLnRvQ29uZmlnKCksXG4gICAgICBwYXJhbWV0ZXJTdG9yZTogb3B0aW9ucz8ucGFyYW1ldGVyTmFtZVxuICAgICAgICA/IFBhcmFtZXRlclN0b3JlT3V0cHV0LmVuYWJsZWQob3B0aW9ucy5wYXJhbWV0ZXJOYW1lKS50b0NvbmZpZygpXG4gICAgICAgIDogUGFyYW1ldGVyU3RvcmVPdXRwdXQuZGlzYWJsZWQoKS50b0NvbmZpZygpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG91dHB1dCBjb25maWd1cmF0aW9uIHdpdGggb25seSBDbG91ZEZvcm1hdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjbG91ZEZvcm1hdGlvbk9ubHkob3B0aW9ucz86IENsb3VkRm9ybWF0aW9uT25seU9wdGlvbnMpOiBWZXJzaW9uaW5nT3V0cHV0Q29uZmlnIHtcbiAgICBjb25zdCBjZkNvbmZpZyA9IG9wdGlvbnM/LnN0YWNrT3V0cHV0TmFtZSB8fCBvcHRpb25zPy5leHBvcnROYW1lXG4gICAgICA/IENsb3VkRm9ybWF0aW9uT3V0cHV0LndpdGhDb25maWcoe1xuICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICBleHBvcnROYW1lOiBvcHRpb25zLmV4cG9ydE5hbWUsXG4gICAgICB9KS50b0NvbmZpZygpXG4gICAgICA6IENsb3VkRm9ybWF0aW9uT3V0cHV0LmVuYWJsZWQoKS50b0NvbmZpZygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNsb3VkRm9ybWF0aW9uOiBjZkNvbmZpZyxcbiAgICAgIHBhcmFtZXRlclN0b3JlOiBQYXJhbWV0ZXJTdG9yZU91dHB1dC5kaXNhYmxlZCgpLnRvQ29uZmlnKCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgb3V0cHV0IGNvbmZpZ3VyYXRpb24gd2l0aCBoaWVyYXJjaGljYWwgU1NNIHBhcmFtZXRlcnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaGllcmFyY2hpY2FsUGFyYW1ldGVycyhiYXNlUGF0aDogc3RyaW5nLCBvcHRpb25zPzogSGllcmFyY2hpY2FsUGFyYW1ldGVyc09wdGlvbnMpOiBWZXJzaW9uaW5nT3V0cHV0Q29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2xvdWRGb3JtYXRpb246IG9wdGlvbnM/LmluY2x1ZGVDbG91ZEZvcm1hdGlvbiA/IENsb3VkRm9ybWF0aW9uT3V0cHV0LmVuYWJsZWQoKS50b0NvbmZpZygpIDogQ2xvdWRGb3JtYXRpb25PdXRwdXQuZGlzYWJsZWQoKS50b0NvbmZpZygpLFxuICAgICAgcGFyYW1ldGVyU3RvcmU6IFBhcmFtZXRlclN0b3JlT3V0cHV0LmhpZXJhcmNoaWNhbChiYXNlUGF0aCwge30pLnRvQ29uZmlnKCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbWluaW1hbCBvdXRwdXQgY29uZmlndXJhdGlvbiAoQ2xvdWRGb3JtYXRpb24gb25seSwgcGxhaW4gZm9ybWF0KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtaW5pbWFsKCk6IFZlcnNpb25pbmdPdXRwdXRDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBjbG91ZEZvcm1hdGlvbjogQ2xvdWRGb3JtYXRpb25PdXRwdXQuZW5hYmxlZCgpLnRvQ29uZmlnKCksXG4gICAgICBwYXJhbWV0ZXJTdG9yZTogUGFyYW1ldGVyU3RvcmVPdXRwdXQuZGlzYWJsZWQoKS50b0NvbmZpZygpLFxuICAgIH07XG4gIH1cbn0iXX0=
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.VersioningSetup = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -7,6 +6,9 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
6
  * Sets up versioning tasks and integration for a project
8
7
  */
9
8
  class VersioningSetup {
9
+ project;
10
+ config;
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-pipelines.VersioningSetup", version: "0.3.23" };
10
12
  constructor(project, config) {
11
13
  this.project = project;
12
14
  this.config = config;
@@ -22,7 +24,7 @@ class VersioningSetup {
22
24
  // Add version computation to build process
23
25
  this.integrateWithBuildProcess();
24
26
  // Add version file to gitignore
25
- this.project.gitignore.exclude('~version.json');
27
+ this.project.gitignore.exclude('.version.tmp.json');
26
28
  }
27
29
  /**
28
30
  * Create the version:compute task
@@ -45,7 +47,7 @@ class VersioningSetup {
45
47
  this.project.addTask('version:print', {
46
48
  description: 'Print version information',
47
49
  steps: [
48
- { exec: 'cat ~version.json' },
50
+ { exec: 'cat ./.version.tmp.json' },
49
51
  ],
50
52
  });
51
53
  }
@@ -125,7 +127,7 @@ try {
125
127
  // Compute version
126
128
  const computer = new VersionComputer(strategy);
127
129
  computer.computeVersionInfo(context).then(versionInfo => {
128
- fs.writeFileSync('~version.json', versionInfo.toJson());
130
+ fs.writeFileSync('.version.tmp.json', versionInfo.toJson());
129
131
  console.log('Version computed:', versionInfo.version, '(commit:', versionInfo.commitHashShort + ')');
130
132
  }).catch(error => {
131
133
  console.error('Error computing version:', error.message);
@@ -140,7 +142,7 @@ try {
140
142
  deployedBy: 'unknown',
141
143
  environment: 'unknown'
142
144
  };
143
- fs.writeFileSync('~version.json', JSON.stringify(fallback, null, 2));
145
+ fs.writeFileSync('.version.tmp.json', JSON.stringify(fallback, null, 2));
144
146
  });
145
147
  } catch (e) {
146
148
  console.error('Error in version computation:', e.message);
@@ -155,11 +157,9 @@ try {
155
157
  deployedBy: 'unknown',
156
158
  environment: 'unknown'
157
159
  };
158
- fs.writeFileSync('~version.json', JSON.stringify(fallback, null, 2));
160
+ fs.writeFileSync('.version.tmp.json', JSON.stringify(fallback, null, 2));
159
161
  }"`;
160
162
  }
161
163
  }
162
164
  exports.VersioningSetup = VersioningSetup;
163
- _a = JSII_RTTI_SYMBOL_1;
164
- VersioningSetup[_a] = { fqn: "projen-pipelines.VersioningSetup", version: "0.3.21" };
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyc2lvbmluZy9zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBOztHQUVHO0FBQ0gsTUFBYSxlQUFlO0lBRTFCLFlBQTZCLE9BQWdCLEVBQW1CLE1BQXdCO1FBQTNELFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7SUFDeEYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUVoQyw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFOUIsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRWpDLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ssd0JBQXdCO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQ3RDLFdBQVcsRUFBRSxzQ0FBc0M7WUFDbkQsS0FBSyxFQUFFO2dCQUNMLEVBQUUsSUFBSSxFQUFFLHlDQUF5QyxFQUFFO2dCQUNuRDtvQkFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixFQUFFO2lCQUMxQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtZQUNwQyxXQUFXLEVBQUUsMkJBQTJCO1lBQ3hDLEtBQUssRUFBRTtnQkFDTCxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRTthQUM5QjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLHlCQUF5QjtRQUMvQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTlELElBQUksV0FBVyxJQUFJLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM1QyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLFdBQVcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLDRCQUE0QjtRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUvRSxPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsyQkFxRGdCLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ3BDLENBQUM7SUFDRixDQUFDOztBQWhLSCwwQ0FpS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFZlcnNpb25pbmdDb25maWcgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXRzIHVwIHZlcnNpb25pbmcgdGFza3MgYW5kIGludGVncmF0aW9uIGZvciBhIHByb2plY3RcbiAqL1xuZXhwb3J0IGNsYXNzIFZlcnNpb25pbmdTZXR1cCB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9qZWN0OiBQcm9qZWN0LCBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVmVyc2lvbmluZ0NvbmZpZykge1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB1cCBhbGwgdmVyc2lvbmluZy1yZWxhdGVkIHRhc2tzIGFuZCBjb25maWd1cmF0aW9uc1xuICAgKi9cbiAgcHVibGljIHNldHVwKCk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSB2ZXJzaW9uIGNvbXB1dGF0aW9uIHRhc2tcbiAgICB0aGlzLmNyZWF0ZVZlcnNpb25Db21wdXRlVGFzaygpO1xuXG4gICAgLy8gQ3JlYXRlIHZlcnNpb24gcHJpbnQgdGFza1xuICAgIHRoaXMuY3JlYXRlVmVyc2lvblByaW50VGFzaygpO1xuXG4gICAgLy8gQWRkIHZlcnNpb24gY29tcHV0YXRpb24gdG8gYnVpbGQgcHJvY2Vzc1xuICAgIHRoaXMuaW50ZWdyYXRlV2l0aEJ1aWxkUHJvY2VzcygpO1xuXG4gICAgLy8gQWRkIHZlcnNpb24gZmlsZSB0byBnaXRpZ25vcmVcbiAgICB0aGlzLnByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoJ352ZXJzaW9uLmpzb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIHZlcnNpb246Y29tcHV0ZSB0YXNrXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVZlcnNpb25Db21wdXRlVGFzaygpOiB2b2lkIHtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygndmVyc2lvbjpjb21wdXRlJywge1xuICAgICAgZGVzY3JpcHRpb246ICdDb21wdXRlIHZlcnNpb24gaW5mb3JtYXRpb24gZnJvbSBnaXQnLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgeyBleGVjOiAnZWNobyBcIkNvbXB1dGluZyB2ZXJzaW9uIGluZm9ybWF0aW9uLi4uXCInIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBleGVjOiB0aGlzLmdlbmVyYXRlVmVyc2lvbkNvbXB1dGVTY3JpcHQoKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSB2ZXJzaW9uOnByaW50IHRhc2tcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlVmVyc2lvblByaW50VGFzaygpOiB2b2lkIHtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygndmVyc2lvbjpwcmludCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUHJpbnQgdmVyc2lvbiBpbmZvcm1hdGlvbicsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7IGV4ZWM6ICdjYXQgfnZlcnNpb24uanNvbicgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW50ZWdyYXRlIHZlcnNpb24gY29tcHV0YXRpb24gd2l0aCB0aGUgYnVpbGQgcHJvY2Vzc1xuICAgKi9cbiAgcHJpdmF0ZSBpbnRlZ3JhdGVXaXRoQnVpbGRQcm9jZXNzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBpbGVUYXNrID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ2NvbXBpbGUnKTtcbiAgICBjb25zdCBjb21wdXRlVGFzayA9IHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKCd2ZXJzaW9uOmNvbXB1dGUnKTtcbiAgICBjb25zdCBwcmludFRhc2sgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZCgndmVyc2lvbjpwcmludCcpO1xuXG4gICAgaWYgKGNvbXBpbGVUYXNrICYmIGNvbXB1dGVUYXNrICYmIHByaW50VGFzaykge1xuICAgICAgY29tcGlsZVRhc2sucHJlcGVuZFNwYXduKHByaW50VGFzayk7XG4gICAgICBjb21waWxlVGFzay5wcmVwZW5kU3Bhd24oY29tcHV0ZVRhc2spO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0aGUgTm9kZS5qcyBzY3JpcHQgZm9yIHZlcnNpb24gY29tcHV0YXRpb25cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVWZXJzaW9uQ29tcHV0ZVNjcmlwdCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0cmF0ZWd5SnNvbiA9IEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnLnN0cmF0ZWd5KS5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJyk7XG5cbiAgICByZXR1cm4gYG5vZGUgLWUgXCJcbmNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKTtcbmNvbnN0IGNwID0gcmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpO1xuXG4vLyBJbXBvcnQgdmVyc2lvbmluZyBtb2R1bGVzXG5jb25zdCB7IFZlcnNpb25Db21wdXRlciwgVmVyc2lvbmluZ1N0cmF0ZWd5IH0gPSByZXF1aXJlKCdwcm9qZW4tcGlwZWxpbmVzJyk7XG5cbnRyeSB7XG4gIC8vIEdhdGhlciBnaXQgaW5mb3JtYXRpb25cbiAgY29uc3QgY29tbWl0SGFzaCA9IGNwLmV4ZWNTeW5jKCdnaXQgcmV2LXBhcnNlIEhFQUQnLCB7ZW5jb2Rpbmc6ICd1dGY4J30pLnRyaW0oKTtcbiAgY29uc3QgY29tbWl0SGFzaFNob3J0ID0gY29tbWl0SGFzaC5zdWJzdHJpbmcoMCwgOCk7XG4gIGNvbnN0IGNvbW1pdENvdW50ID0gcGFyc2VJbnQoY3AuZXhlY1N5bmMoJ2dpdCByZXYtbGlzdCAtLWNvdW50IEhFQUQnLCB7ZW5jb2Rpbmc6ICd1dGY4J30pLnRyaW0oKSk7XG4gIGNvbnN0IGJyYW5jaCA9IGNwLmV4ZWNTeW5jKCdnaXQgcmV2LXBhcnNlIC0tYWJicmV2LXJlZiBIRUFEJywge2VuY29kaW5nOiAndXRmOCd9KS50cmltKCk7XG4gIFxuICBsZXQgdGFnID0gJyc7XG4gIGxldCBjb21taXRzU2luY2VUYWcgPSAwO1xuICB0cnkgeyBcbiAgICB0YWcgPSBjcC5leGVjU3luYygnZ2l0IGRlc2NyaWJlIC0tdGFncyAtLWV4YWN0LW1hdGNoIC0tYWxsJywge2VuY29kaW5nOiAndXRmOCd9KS50cmltKCk7XG4gIH0gY2F0Y2gge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZXNjcmliZU91dHB1dCA9IGNwLmV4ZWNTeW5jKCdnaXQgZGVzY3JpYmUgLS10YWdzIC0tbG9uZyAtLWFsbCcsIHtlbmNvZGluZzogJ3V0ZjgnfSkudHJpbSgpO1xuICAgICAgY29uc3QgbWF0Y2ggPSBkZXNjcmliZU91dHB1dC5tYXRjaCgvXiguKyktKFxcXFxcXFxcZCspLWdbMC05YS1mXSskLyk7XG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgdGFnID0gbWF0Y2hbMV07XG4gICAgICAgIGNvbW1pdHNTaW5jZVRhZyA9IHBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHt9XG4gIH1cbiAgXG4gIGxldCBwYWNrYWdlVmVyc2lvbiA9ICcwLjAuMCc7XG4gIHRyeSB7XG4gICAgcGFja2FnZVZlcnNpb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYygncGFja2FnZS5qc29uJywgJ3V0ZjgnKSkudmVyc2lvbjtcbiAgfSBjYXRjaCB7fVxuICBcbiAgLy8gQ3JlYXRlIGNvbXB1dGF0aW9uIGNvbnRleHRcbiAgY29uc3QgY29udGV4dCA9IHtcbiAgICBnaXRJbmZvOiB7XG4gICAgICBjb21taXRIYXNoLFxuICAgICAgY29tbWl0SGFzaFNob3J0LFxuICAgICAgYnJhbmNoLFxuICAgICAgdGFnLFxuICAgICAgY29tbWl0c1NpbmNlVGFnLFxuICAgICAgY29tbWl0Q291bnQsXG4gICAgICBwYWNrYWdlVmVyc2lvblxuICAgIH0sXG4gICAgZW52aXJvbm1lbnQ6IHByb2Nlc3MuZW52LlNUQUdFIHx8IHByb2Nlc3MuZW52LkVOVklST05NRU5UIHx8ICd1bmtub3duJyxcbiAgICBkZXBsb3llZEJ5OiBwcm9jZXNzLmVudi5HSVRIVUJfQUNUT1IgfHwgcHJvY2Vzcy5lbnYuR0lUTEFCX1VTRVJfTE9HSU4gfHwgcHJvY2Vzcy5lbnYuVVNFUiB8fCAndW5rbm93bicsXG4gICAgYnVpbGROdW1iZXI6IHByb2Nlc3MuZW52LkJVSUxEX05VTUJFUiB8fCBwcm9jZXNzLmVudi5HSVRIVUJfUlVOX05VTUJFUixcbiAgICByZXBvc2l0b3J5OiBwcm9jZXNzLmVudi5HSVRIVUJfUkVQT1NJVE9SWSB8fCBwcm9jZXNzLmVudi5DSV9QUk9KRUNUX1BBVEgsXG4gICAgcGlwZWxpbmVWZXJzaW9uOiBwcm9jZXNzLmVudi5QSVBFTElORV9WRVJTSU9OXG4gIH07XG4gIFxuICAvLyBDcmVhdGUgc3RyYXRlZ3kgZnJvbSBjb25maWd1cmF0aW9uXG4gIGNvbnN0IHN0cmF0ZWd5Q29uZmlnID0gJHtzdHJhdGVneUpzb259O1xuICBjb25zdCBzdHJhdGVneSA9IG5ldyBWZXJzaW9uaW5nU3RyYXRlZ3koc3RyYXRlZ3lDb25maWcuZm9ybWF0LCBzdHJhdGVneUNvbmZpZy5jb21wb25lbnRzKTtcbiAgXG4gIC8vIENvbXB1dGUgdmVyc2lvblxuICBjb25zdCBjb21wdXRlciA9IG5ldyBWZXJzaW9uQ29tcHV0ZXIoc3RyYXRlZ3kpO1xuICBjb21wdXRlci5jb21wdXRlVmVyc2lvbkluZm8oY29udGV4dCkudGhlbih2ZXJzaW9uSW5mbyA9PiB7XG4gICAgZnMud3JpdGVGaWxlU3luYygnfnZlcnNpb24uanNvbicsIHZlcnNpb25JbmZvLnRvSnNvbigpKTtcbiAgICBjb25zb2xlLmxvZygnVmVyc2lvbiBjb21wdXRlZDonLCB2ZXJzaW9uSW5mby52ZXJzaW9uLCAnKGNvbW1pdDonLCB2ZXJzaW9uSW5mby5jb21taXRIYXNoU2hvcnQgKyAnKScpO1xuICB9KS5jYXRjaChlcnJvciA9PiB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3IgY29tcHV0aW5nIHZlcnNpb246JywgZXJyb3IubWVzc2FnZSk7XG4gICAgY29uc3QgZmFsbGJhY2sgPSB7XG4gICAgICB2ZXJzaW9uOiAnMC4wLjAnLFxuICAgICAgY29tbWl0SGFzaDogJ3Vua25vd24nLFxuICAgICAgY29tbWl0SGFzaFNob3J0OiAndW5rbm93bicsXG4gICAgICBicmFuY2g6ICd1bmtub3duJyxcbiAgICAgIGNvbW1pdENvdW50OiAwLFxuICAgICAgcGFja2FnZVZlcnNpb246ICcwLjAuMCcsXG4gICAgICBkZXBsb3llZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBkZXBsb3llZEJ5OiAndW5rbm93bicsXG4gICAgICBlbnZpcm9ubWVudDogJ3Vua25vd24nXG4gICAgfTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKCd+dmVyc2lvbi5qc29uJywgSlNPTi5zdHJpbmdpZnkoZmFsbGJhY2ssIG51bGwsIDIpKTtcbiAgfSk7XG59IGNhdGNoIChlKSB7XG4gIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIHZlcnNpb24gY29tcHV0YXRpb246JywgZS5tZXNzYWdlKTtcbiAgY29uc3QgZmFsbGJhY2sgPSB7XG4gICAgdmVyc2lvbjogJzAuMC4wJyxcbiAgICBjb21taXRIYXNoOiAndW5rbm93bicsXG4gICAgY29tbWl0SGFzaFNob3J0OiAndW5rbm93bicsXG4gICAgYnJhbmNoOiAndW5rbm93bicsXG4gICAgY29tbWl0Q291bnQ6IDAsXG4gICAgcGFja2FnZVZlcnNpb246ICcwLjAuMCcsXG4gICAgZGVwbG95ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIGRlcGxveWVkQnk6ICd1bmtub3duJyxcbiAgICBlbnZpcm9ubWVudDogJ3Vua25vd24nXG4gIH07XG4gIGZzLndyaXRlRmlsZVN5bmMoJ352ZXJzaW9uLmpzb24nLCBKU09OLnN0cmluZ2lmeShmYWxsYmFjaywgbnVsbCwgMikpO1xufVwiYDtcbiAgfVxufVxuIl19
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyc2lvbmluZy9zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0E7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFFRztJQUFtQzs7SUFBaEUsWUFBNkIsT0FBZ0IsRUFBbUIsTUFBd0I7UUFBM0QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUN4RixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLO1FBQ1Ysa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBRWhDLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5QiwyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFFakMsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNLLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QyxXQUFXLEVBQUUsc0NBQXNDO1lBQ25ELEtBQUssRUFBRTtnQkFDTCxFQUFFLElBQUksRUFBRSx5Q0FBeUMsRUFBRTtnQkFDbkQ7b0JBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtpQkFDMUM7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDcEMsV0FBVyxFQUFFLDJCQUEyQjtZQUN4QyxLQUFLLEVBQUU7Z0JBQ0wsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUU7YUFDcEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyx5QkFBeUI7UUFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU5RCxJQUFJLFdBQVcsSUFBSSxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7WUFDNUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxXQUFXLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyw0QkFBNEI7UUFDbEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFL0UsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MkJBcURnQixZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNwQyxDQUFDO0lBQ0YsQ0FBQzs7QUFoS0gsMENBaUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBWZXJzaW9uaW5nQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogU2V0cyB1cCB2ZXJzaW9uaW5nIHRhc2tzIGFuZCBpbnRlZ3JhdGlvbiBmb3IgYSBwcm9qZWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBWZXJzaW9uaW5nU2V0dXAge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJvamVjdDogUHJvamVjdCwgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFZlcnNpb25pbmdDb25maWcpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgYWxsIHZlcnNpb25pbmctcmVsYXRlZCB0YXNrcyBhbmQgY29uZmlndXJhdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzZXR1cCgpOiB2b2lkIHtcbiAgICAvLyBDcmVhdGUgdmVyc2lvbiBjb21wdXRhdGlvbiB0YXNrXG4gICAgdGhpcy5jcmVhdGVWZXJzaW9uQ29tcHV0ZVRhc2soKTtcblxuICAgIC8vIENyZWF0ZSB2ZXJzaW9uIHByaW50IHRhc2tcbiAgICB0aGlzLmNyZWF0ZVZlcnNpb25QcmludFRhc2soKTtcblxuICAgIC8vIEFkZCB2ZXJzaW9uIGNvbXB1dGF0aW9uIHRvIGJ1aWxkIHByb2Nlc3NcbiAgICB0aGlzLmludGVncmF0ZVdpdGhCdWlsZFByb2Nlc3MoKTtcblxuICAgIC8vIEFkZCB2ZXJzaW9uIGZpbGUgdG8gZ2l0aWdub3JlXG4gICAgdGhpcy5wcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKCcudmVyc2lvbi50bXAuanNvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgdmVyc2lvbjpjb21wdXRlIHRhc2tcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlVmVyc2lvbkNvbXB1dGVUYXNrKCk6IHZvaWQge1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCd2ZXJzaW9uOmNvbXB1dGUnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0NvbXB1dGUgdmVyc2lvbiBpbmZvcm1hdGlvbiBmcm9tIGdpdCcsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7IGV4ZWM6ICdlY2hvIFwiQ29tcHV0aW5nIHZlcnNpb24gaW5mb3JtYXRpb24uLi5cIicgfSxcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6IHRoaXMuZ2VuZXJhdGVWZXJzaW9uQ29tcHV0ZVNjcmlwdCgpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIHZlcnNpb246cHJpbnQgdGFza1xuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVWZXJzaW9uUHJpbnRUYXNrKCk6IHZvaWQge1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCd2ZXJzaW9uOnByaW50Jywge1xuICAgICAgZGVzY3JpcHRpb246ICdQcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uJyxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHsgZXhlYzogJ2NhdCAuLy52ZXJzaW9uLnRtcC5qc29uJyB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlZ3JhdGUgdmVyc2lvbiBjb21wdXRhdGlvbiB3aXRoIHRoZSBidWlsZCBwcm9jZXNzXG4gICAqL1xuICBwcml2YXRlIGludGVncmF0ZVdpdGhCdWlsZFByb2Nlc3MoKTogdm9pZCB7XG4gICAgY29uc3QgY29tcGlsZVRhc2sgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZCgnY29tcGlsZScpO1xuICAgIGNvbnN0IGNvbXB1dGVUYXNrID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ3ZlcnNpb246Y29tcHV0ZScpO1xuICAgIGNvbnN0IHByaW50VGFzayA9IHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKCd2ZXJzaW9uOnByaW50Jyk7XG5cbiAgICBpZiAoY29tcGlsZVRhc2sgJiYgY29tcHV0ZVRhc2sgJiYgcHJpbnRUYXNrKSB7XG4gICAgICBjb21waWxlVGFzay5wcmVwZW5kU3Bhd24ocHJpbnRUYXNrKTtcbiAgICAgIGNvbXBpbGVUYXNrLnByZXBlbmRTcGF3bihjb21wdXRlVGFzayk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRoZSBOb2RlLmpzIHNjcmlwdCBmb3IgdmVyc2lvbiBjb21wdXRhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVZlcnNpb25Db21wdXRlU2NyaXB0KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RyYXRlZ3lKc29uID0gSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWcuc3RyYXRlZ3kpLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKTtcblxuICAgIHJldHVybiBgbm9kZSAtZSBcIlxuY29uc3QgZnMgPSByZXF1aXJlKCdmcycpO1xuY29uc3QgY3AgPSByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJyk7XG5cbi8vIEltcG9ydCB2ZXJzaW9uaW5nIG1vZHVsZXNcbmNvbnN0IHsgVmVyc2lvbkNvbXB1dGVyLCBWZXJzaW9uaW5nU3RyYXRlZ3kgfSA9IHJlcXVpcmUoJ3Byb2plbi1waXBlbGluZXMnKTtcblxudHJ5IHtcbiAgLy8gR2F0aGVyIGdpdCBpbmZvcm1hdGlvblxuICBjb25zdCBjb21taXRIYXNoID0gY3AuZXhlY1N5bmMoJ2dpdCByZXYtcGFyc2UgSEVBRCcsIHtlbmNvZGluZzogJ3V0ZjgnfSkudHJpbSgpO1xuICBjb25zdCBjb21taXRIYXNoU2hvcnQgPSBjb21taXRIYXNoLnN1YnN0cmluZygwLCA4KTtcbiAgY29uc3QgY29tbWl0Q291bnQgPSBwYXJzZUludChjcC5leGVjU3luYygnZ2l0IHJldi1saXN0IC0tY291bnQgSEVBRCcsIHtlbmNvZGluZzogJ3V0ZjgnfSkudHJpbSgpKTtcbiAgY29uc3QgYnJhbmNoID0gY3AuZXhlY1N5bmMoJ2dpdCByZXYtcGFyc2UgLS1hYmJyZXYtcmVmIEhFQUQnLCB7ZW5jb2Rpbmc6ICd1dGY4J30pLnRyaW0oKTtcbiAgXG4gIGxldCB0YWcgPSAnJztcbiAgbGV0IGNvbW1pdHNTaW5jZVRhZyA9IDA7XG4gIHRyeSB7IFxuICAgIHRhZyA9IGNwLmV4ZWNTeW5jKCdnaXQgZGVzY3JpYmUgLS10YWdzIC0tZXhhY3QtbWF0Y2ggLS1hbGwnLCB7ZW5jb2Rpbmc6ICd1dGY4J30pLnRyaW0oKTtcbiAgfSBjYXRjaCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlc2NyaWJlT3V0cHV0ID0gY3AuZXhlY1N5bmMoJ2dpdCBkZXNjcmliZSAtLXRhZ3MgLS1sb25nIC0tYWxsJywge2VuY29kaW5nOiAndXRmOCd9KS50cmltKCk7XG4gICAgICBjb25zdCBtYXRjaCA9IGRlc2NyaWJlT3V0cHV0Lm1hdGNoKC9eKC4rKS0oXFxcXFxcXFxkKyktZ1swLTlhLWZdKyQvKTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICB0YWcgPSBtYXRjaFsxXTtcbiAgICAgICAgY29tbWl0c1NpbmNlVGFnID0gcGFyc2VJbnQobWF0Y2hbMl0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge31cbiAgfVxuICBcbiAgbGV0IHBhY2thZ2VWZXJzaW9uID0gJzAuMC4wJztcbiAgdHJ5IHtcbiAgICBwYWNrYWdlVmVyc2lvbiA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKCdwYWNrYWdlLmpzb24nLCAndXRmOCcpKS52ZXJzaW9uO1xuICB9IGNhdGNoIHt9XG4gIFxuICAvLyBDcmVhdGUgY29tcHV0YXRpb24gY29udGV4dFxuICBjb25zdCBjb250ZXh0ID0ge1xuICAgIGdpdEluZm86IHtcbiAgICAgIGNvbW1pdEhhc2gsXG4gICAgICBjb21taXRIYXNoU2hvcnQsXG4gICAgICBicmFuY2gsXG4gICAgICB0YWcsXG4gICAgICBjb21taXRzU2luY2VUYWcsXG4gICAgICBjb21taXRDb3VudCxcbiAgICAgIHBhY2thZ2VWZXJzaW9uXG4gICAgfSxcbiAgICBlbnZpcm9ubWVudDogcHJvY2Vzcy5lbnYuU1RBR0UgfHwgcHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlQgfHwgJ3Vua25vd24nLFxuICAgIGRlcGxveWVkQnk6IHByb2Nlc3MuZW52LkdJVEhVQl9BQ1RPUiB8fCBwcm9jZXNzLmVudi5HSVRMQUJfVVNFUl9MT0dJTiB8fCBwcm9jZXNzLmVudi5VU0VSIHx8ICd1bmtub3duJyxcbiAgICBidWlsZE51bWJlcjogcHJvY2Vzcy5lbnYuQlVJTERfTlVNQkVSIHx8IHByb2Nlc3MuZW52LkdJVEhVQl9SVU5fTlVNQkVSLFxuICAgIHJlcG9zaXRvcnk6IHByb2Nlc3MuZW52LkdJVEhVQl9SRVBPU0lUT1JZIHx8IHByb2Nlc3MuZW52LkNJX1BST0pFQ1RfUEFUSCxcbiAgICBwaXBlbGluZVZlcnNpb246IHByb2Nlc3MuZW52LlBJUEVMSU5FX1ZFUlNJT05cbiAgfTtcbiAgXG4gIC8vIENyZWF0ZSBzdHJhdGVneSBmcm9tIGNvbmZpZ3VyYXRpb25cbiAgY29uc3Qgc3RyYXRlZ3lDb25maWcgPSAke3N0cmF0ZWd5SnNvbn07XG4gIGNvbnN0IHN0cmF0ZWd5ID0gbmV3IFZlcnNpb25pbmdTdHJhdGVneShzdHJhdGVneUNvbmZpZy5mb3JtYXQsIHN0cmF0ZWd5Q29uZmlnLmNvbXBvbmVudHMpO1xuICBcbiAgLy8gQ29tcHV0ZSB2ZXJzaW9uXG4gIGNvbnN0IGNvbXB1dGVyID0gbmV3IFZlcnNpb25Db21wdXRlcihzdHJhdGVneSk7XG4gIGNvbXB1dGVyLmNvbXB1dGVWZXJzaW9uSW5mbyhjb250ZXh0KS50aGVuKHZlcnNpb25JbmZvID0+IHtcbiAgICBmcy53cml0ZUZpbGVTeW5jKCcudmVyc2lvbi50bXAuanNvbicsIHZlcnNpb25JbmZvLnRvSnNvbigpKTtcbiAgICBjb25zb2xlLmxvZygnVmVyc2lvbiBjb21wdXRlZDonLCB2ZXJzaW9uSW5mby52ZXJzaW9uLCAnKGNvbW1pdDonLCB2ZXJzaW9uSW5mby5jb21taXRIYXNoU2hvcnQgKyAnKScpO1xuICB9KS5jYXRjaChlcnJvciA9PiB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3IgY29tcHV0aW5nIHZlcnNpb246JywgZXJyb3IubWVzc2FnZSk7XG4gICAgY29uc3QgZmFsbGJhY2sgPSB7XG4gICAgICB2ZXJzaW9uOiAnMC4wLjAnLFxuICAgICAgY29tbWl0SGFzaDogJ3Vua25vd24nLFxuICAgICAgY29tbWl0SGFzaFNob3J0OiAndW5rbm93bicsXG4gICAgICBicmFuY2g6ICd1bmtub3duJyxcbiAgICAgIGNvbW1pdENvdW50OiAwLFxuICAgICAgcGFja2FnZVZlcnNpb246ICcwLjAuMCcsXG4gICAgICBkZXBsb3llZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBkZXBsb3llZEJ5OiAndW5rbm93bicsXG4gICAgICBlbnZpcm9ubWVudDogJ3Vua25vd24nXG4gICAgfTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKCcudmVyc2lvbi50bXAuanNvbicsIEpTT04uc3RyaW5naWZ5KGZhbGxiYWNrLCBudWxsLCAyKSk7XG4gIH0pO1xufSBjYXRjaCAoZSkge1xuICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiB2ZXJzaW9uIGNvbXB1dGF0aW9uOicsIGUubWVzc2FnZSk7XG4gIGNvbnN0IGZhbGxiYWNrID0ge1xuICAgIHZlcnNpb246ICcwLjAuMCcsXG4gICAgY29tbWl0SGFzaDogJ3Vua25vd24nLFxuICAgIGNvbW1pdEhhc2hTaG9ydDogJ3Vua25vd24nLFxuICAgIGJyYW5jaDogJ3Vua25vd24nLFxuICAgIGNvbW1pdENvdW50OiAwLFxuICAgIHBhY2thZ2VWZXJzaW9uOiAnMC4wLjAnLFxuICAgIGRlcGxveWVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICBkZXBsb3llZEJ5OiAndW5rbm93bicsXG4gICAgZW52aXJvbm1lbnQ6ICd1bmtub3duJ1xuICB9O1xuICBmcy53cml0ZUZpbGVTeW5jKCcudmVyc2lvbi50bXAuanNvbicsIEpTT04uc3RyaW5naWZ5KGZhbGxiYWNrLCBudWxsLCAyKSk7XG59XCJgO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.VersioningStrategy = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -7,6 +6,9 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
6
  * Composite versioning strategy that combines multiple strategies
8
7
  */
9
8
  class VersioningStrategy {
9
+ format;
10
+ components;
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-pipelines.VersioningStrategy", version: "0.3.23" };
10
12
  /**
11
13
  * Create a composite strategy with custom format and components
12
14
  */
@@ -46,6 +48,4 @@ class VersioningStrategy {
46
48
  }
47
49
  }
48
50
  exports.VersioningStrategy = VersioningStrategy;
49
- _a = JSII_RTTI_SYMBOL_1;
50
- VersioningStrategy[_a] = { fqn: "projen-pipelines.VersioningStrategy", version: "0.3.21" };
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyc2lvbmluZy9zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFFN0I7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUNsQixNQUFjLEVBQ2QsVUFBd0M7UUFFeEMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQTBCO1FBQ2xELE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxNQUFNLElBQUksT0FBTyxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLE1BQU0saUNBQWlDLEVBQUU7WUFDeEUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7U0FDckUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBcUI7UUFDeEMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLFdBQVcsRUFBRTtZQUN6QyxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRTtZQUN0QyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQTBCO1FBQ2xELE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUEwQjtRQUNsRCxPQUFPLElBQUksa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUU7WUFDOUMsV0FBVyxFQUFFLE1BQU0sSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7U0FDNUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUFVO1FBQ3RCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFlBQ2tCLE1BQWMsRUFDZCxVQUF3QztRQUR4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBOEI7UUFFeEQsRUFBRTtJQUNKLENBQUM7O0FBaERILGdEQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdpdFRhZ0NvbmZpZywgUGFja2FnZUpzb25Db25maWcsIENvbW1pdENvdW50Q29uZmlnLCBJVmVyc2lvbmluZ1N0cmF0ZWd5LCBWZXJzaW9uaW5nU3RyYXRlZ3lDb21wb25lbnRzLCBCdWlsZE51bWJlckNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG5cbi8qKlxuICogQ29tcG9zaXRlIHZlcnNpb25pbmcgc3RyYXRlZ3kgdGhhdCBjb21iaW5lcyBtdWx0aXBsZSBzdHJhdGVnaWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBWZXJzaW9uaW5nU3RyYXRlZ3kgaW1wbGVtZW50cyBJVmVyc2lvbmluZ1N0cmF0ZWd5IHtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgY29tcG9zaXRlIHN0cmF0ZWd5IHdpdGggY3VzdG9tIGZvcm1hdCBhbmQgY29tcG9uZW50c1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjcmVhdGUoXG4gICAgZm9ybWF0OiBzdHJpbmcsXG4gICAgY29tcG9uZW50czogVmVyc2lvbmluZ1N0cmF0ZWd5Q29tcG9uZW50cyxcbiAgKTogVmVyc2lvbmluZ1N0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneShmb3JtYXQsIGNvbXBvbmVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGJ1aWxkIG51bWJlciBiYXNlZCBzdHJhdGVneVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBidWlsZE51bWJlcihjb25maWc/OiBCdWlsZE51bWJlckNvbmZpZyk6IFZlcnNpb25pbmdTdHJhdGVneSB7XG4gICAgY29uc3QgcHJlZml4ID0gY29uZmlnPy5wcmVmaXggPz8gJ2J1aWxkJztcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneShgJHtwcmVmaXh9LXtjb21taXQtY291bnR9LXtjb21taXQtaGFzaDo4fWAsIHtcbiAgICAgIGNvbW1pdENvdW50OiBjb25maWc/LmNvbW1pdENvdW50ID8/IHsgY291bnRGcm9tOiAnYWxsJywgcGFkZGluZzogNSB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnaXRUYWcoY29uZmlnPzogR2l0VGFnQ29uZmlnKTogVmVyc2lvbmluZ1N0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneSgne2dpdC10YWd9Jywge1xuICAgICAgZ2l0VGFnOiBjb25maWcgPz8geyBzdHJpcFByZWZpeDogJ3YnIH0sXG4gICAgICBjb21taXRDb3VudDogeyBjb3VudEZyb206ICdhbGwnIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHBhY2thZ2VKc29uKGNvbmZpZz86IFBhY2thZ2VKc29uQ29uZmlnKTogVmVyc2lvbmluZ1N0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneSgne3BhY2thZ2UtdmVyc2lvbn0nLCB7IHBhY2thZ2VKc29uOiBjb25maWcgPz8ge30gfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbW1pdENvdW50KGNvbmZpZz86IENvbW1pdENvdW50Q29uZmlnKTogVmVyc2lvbmluZ1N0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneSgne2NvbW1pdC1jb3VudH0nLCB7XG4gICAgICBjb21taXRDb3VudDogY29uZmlnID8/IHsgY291bnRGcm9tOiAnYWxsJyB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb21taXRIYXNoKCk6IFZlcnNpb25pbmdTdHJhdGVneSB7XG4gICAgcmV0dXJuIG5ldyBWZXJzaW9uaW5nU3RyYXRlZ3koJ3tjb21taXQtaGFzaH0nLCB7fSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBmb3JtYXQ6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50czogVmVyc2lvbmluZ1N0cmF0ZWd5Q29tcG9uZW50cyxcbiAgKSB7XG4gICAgLy9cbiAgfVxuXG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyc2lvbmluZy9zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0E7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjtJQTRDWDtJQUNBOztJQTNDbEI7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUNsQixNQUFjLEVBQ2QsVUFBd0M7UUFFeEMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQTBCO1FBQ2xELE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxNQUFNLElBQUksT0FBTyxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLE1BQU0saUNBQWlDLEVBQUU7WUFDeEUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7U0FDckUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBcUI7UUFDeEMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLFdBQVcsRUFBRTtZQUN6QyxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRTtZQUN0QyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQTBCO1FBQ2xELE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUEwQjtRQUNsRCxPQUFPLElBQUksa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUU7WUFDOUMsV0FBVyxFQUFFLE1BQU0sSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7U0FDNUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUFVO1FBQ3RCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFlBQ2tCLE1BQWMsRUFDZCxVQUF3QztRQUR4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBOEI7UUFFeEQsRUFBRTtJQUNKLENBQUM7O0FBaERILGdEQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdpdFRhZ0NvbmZpZywgUGFja2FnZUpzb25Db25maWcsIENvbW1pdENvdW50Q29uZmlnLCBJVmVyc2lvbmluZ1N0cmF0ZWd5LCBWZXJzaW9uaW5nU3RyYXRlZ3lDb21wb25lbnRzLCBCdWlsZE51bWJlckNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG5cbi8qKlxuICogQ29tcG9zaXRlIHZlcnNpb25pbmcgc3RyYXRlZ3kgdGhhdCBjb21iaW5lcyBtdWx0aXBsZSBzdHJhdGVnaWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBWZXJzaW9uaW5nU3RyYXRlZ3kgaW1wbGVtZW50cyBJVmVyc2lvbmluZ1N0cmF0ZWd5IHtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgY29tcG9zaXRlIHN0cmF0ZWd5IHdpdGggY3VzdG9tIGZvcm1hdCBhbmQgY29tcG9uZW50c1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjcmVhdGUoXG4gICAgZm9ybWF0OiBzdHJpbmcsXG4gICAgY29tcG9uZW50czogVmVyc2lvbmluZ1N0cmF0ZWd5Q29tcG9uZW50cyxcbiAgKTogVmVyc2lvbmluZ1N0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneShmb3JtYXQsIGNvbXBvbmVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGJ1aWxkIG51bWJlciBiYXNlZCBzdHJhdGVneVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBidWlsZE51bWJlcihjb25maWc/OiBCdWlsZE51bWJlckNvbmZpZyk6IFZlcnNpb25pbmdTdHJhdGVneSB7XG4gICAgY29uc3QgcHJlZml4ID0gY29uZmlnPy5wcmVmaXggPz8gJ2J1aWxkJztcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneShgJHtwcmVmaXh9LXtjb21taXQtY291bnR9LXtjb21taXQtaGFzaDo4fWAsIHtcbiAgICAgIGNvbW1pdENvdW50OiBjb25maWc/LmNvbW1pdENvdW50ID8/IHsgY291bnRGcm9tOiAnYWxsJywgcGFkZGluZzogNSB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnaXRUYWcoY29uZmlnPzogR2l0VGFnQ29uZmlnKTogVmVyc2lvbmluZ1N0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneSgne2dpdC10YWd9Jywge1xuICAgICAgZ2l0VGFnOiBjb25maWcgPz8geyBzdHJpcFByZWZpeDogJ3YnIH0sXG4gICAgICBjb21taXRDb3VudDogeyBjb3VudEZyb206ICdhbGwnIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHBhY2thZ2VKc29uKGNvbmZpZz86IFBhY2thZ2VKc29uQ29uZmlnKTogVmVyc2lvbmluZ1N0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneSgne3BhY2thZ2UtdmVyc2lvbn0nLCB7IHBhY2thZ2VKc29uOiBjb25maWcgPz8ge30gfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbW1pdENvdW50KGNvbmZpZz86IENvbW1pdENvdW50Q29uZmlnKTogVmVyc2lvbmluZ1N0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IFZlcnNpb25pbmdTdHJhdGVneSgne2NvbW1pdC1jb3VudH0nLCB7XG4gICAgICBjb21taXRDb3VudDogY29uZmlnID8/IHsgY291bnRGcm9tOiAnYWxsJyB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb21taXRIYXNoKCk6IFZlcnNpb25pbmdTdHJhdGVneSB7XG4gICAgcmV0dXJuIG5ldyBWZXJzaW9uaW5nU3RyYXRlZ3koJ3tjb21taXQtaGFzaH0nLCB7fSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBmb3JtYXQ6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50czogVmVyc2lvbmluZ1N0cmF0ZWd5Q29tcG9uZW50cyxcbiAgKSB7XG4gICAgLy9cbiAgfVxuXG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.VersionInfoBuilder = exports.VersionInfo = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -7,6 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
6
  * Represents complete version information for a deployment
8
7
  */
9
8
  class VersionInfo {
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-pipelines.VersionInfo", version: "0.3.23" };
10
10
  /**
11
11
  * Create a VersionInfo instance from raw data
12
12
  */
@@ -55,6 +55,20 @@ class VersionInfo {
55
55
  const data = JSON.parse(json);
56
56
  return new VersionInfo(data);
57
57
  }
58
+ version;
59
+ commitHash;
60
+ commitHashShort;
61
+ branch;
62
+ tag;
63
+ commitsSinceTag;
64
+ commitCount;
65
+ packageVersion;
66
+ deployedAt;
67
+ deployedBy;
68
+ buildNumber;
69
+ environment;
70
+ repository;
71
+ pipelineVersion;
58
72
  constructor(props) {
59
73
  this.version = props.version;
60
74
  this.commitHash = props.commitHash;
@@ -167,15 +181,12 @@ class VersionInfo {
167
181
  }
168
182
  }
169
183
  exports.VersionInfo = VersionInfo;
170
- _a = JSII_RTTI_SYMBOL_1;
171
- VersionInfo[_a] = { fqn: "projen-pipelines.VersionInfo", version: "0.3.21" };
172
184
  /**
173
185
  * Builder class for creating VersionInfo instances
174
186
  */
175
187
  class VersionInfoBuilder {
176
- constructor() {
177
- this.props = {};
178
- }
188
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-pipelines.VersionInfoBuilder", version: "0.3.23" };
189
+ props = {};
179
190
  /**
180
191
  * Set the version string
181
192
  */
@@ -264,6 +275,4 @@ class VersionInfoBuilder {
264
275
  }
265
276
  }
266
277
  exports.VersionInfoBuilder = VersionInfoBuilder;
267
- _b = JSII_RTTI_SYMBOL_1;
268
- VersionInfoBuilder[_b] = { fqn: "projen-pipelines.VersionInfoBuilder", version: "0.3.21" };
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZlcnNpb25pbmcvdmVyc2lvbi1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBbUJBOztHQUVHO0FBQ0gsTUFBYSxXQUFXO0lBRXRCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFtQjtRQUN0QyxPQUFPLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBOEI7UUFDMUQsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUMvRCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVuRCxNQUFNLEtBQUssR0FBdUI7WUFDaEMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTztZQUMvQixVQUFVO1lBQ1YsZUFBZTtZQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxlQUFlLElBQUksU0FBUztZQUMxRCxXQUFXLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ3RELFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsaUJBQWlCLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxTQUFTO1lBQzlFLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxXQUFXLElBQUksU0FBUztTQUN2RCxDQUFDO1FBRUYseUNBQXlDO1FBQ3pDLElBQUksR0FBRyxDQUFDLE9BQU87WUFBRSxLQUFLLENBQUMs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SSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO1lBQ2pDLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWdCO1lBQzVDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDekIsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRztZQUNuQixlQUFlLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQzNDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFDbkMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYztZQUN6QyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7WUFDN0QsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDOUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztZQUNuQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVU7WUFDakMsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZTtTQUM1QyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9GSCxnREFnR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVmVyc2lvbkluZm8sIEdpdEluZm9JbnB1dCwgRGVwbG95bWVudEluZm9JbnB1dCB9IGZyb20gJy4vdHlwZXMnO1xuXG5cbmludGVyZmFjZSBNdXRhYmxlVmVyc2lvbkluZm8ge1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBjb21taXRIYXNoPzogc3RyaW5nO1xuICBjb21taXRIYXNoU2hvcnQ/OiBzdHJpbmc7XG4gIGJyYW5jaD86IHN0cmluZztcbiAgdGFnPzogc3RyaW5nO1xuICBjb21taXRzU2luY2VUYWc/OiBudW1iZXI7XG4gIGNvbW1pdENvdW50PzogbnVtYmVyO1xuICBwYWNrYWdlVmVyc2lvbj86IHN0cmluZztcbiAgZGVwbG95ZWRBdD86IHN0cmluZztcbiAgZGVwbG95ZWRCeT86IHN0cmluZztcbiAgYnVpbGROdW1iZXI/OiBzdHJpbmc7XG4gIGVudmlyb25tZW50Pzogc3RyaW5nO1xuICByZXBvc2l0b3J5Pzogc3RyaW5nO1xuICBwaXBlbGluZVZlcnNpb24/OiBzdHJpbmc7XG59XG4vKipcbiAqIFJlcHJlc2VudHMgY29tcGxldGUgdmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBkZXBsb3ltZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBWZXJzaW9uSW5mbyBpbXBsZW1lbnRzIElWZXJzaW9uSW5mbyB7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFZlcnNpb25JbmZvIGluc3RhbmNlIGZyb20gcmF3IGRhdGFcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlKHByb3BzOiBJVmVyc2lvbkluZm8pOiBWZXJzaW9uSW5mbyB7XG4gICAgcmV0dXJuIG5ldyBWZXJzaW9uSW5mbyhwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgVmVyc2lvbkluZm8gaW5zdGFuY2UgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUVudmlyb25tZW50KGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IFZlcnNpb25JbmZvIHtcbiAgICBjb25zdCBjb21taXRIYXNoID0gZW52LkdJVEhVQl9TSEEgfHwgZW52LkdJVF9DT01NSVRfSEFTSCB8fCAnJztcbiAgICBjb25zdCBjb21taXRIYXNoU2hvcnQgPSBjb21taXRIYXNoLnN1YnN0cmluZygwLCA4KTtcblxuICAgIGNvbnN0IHByb3BzOiBNdXRhYmxlVmVyc2lvbkluZm8gPSB7XG4gICAgICB2ZXJzaW9uOiBlbnYuVkVSU0lPTiB8fCAnMC4wLjAnLFxuICAgICAgY29tbWl0SGFzaCxcbiAgICAgIGNvbW1pdEhhc2hTaG9ydCxcbiAgICAgIGJyYW5jaDogZW52LkdJVF9CUkFOQ0ggfHwgZW52LkdJVEhVQl9SRUZfTkFNRSB8fCAndW5rbm93bicsXG4gICAgICBjb21taXRDb3VudDogcGFyc2VJbnQoZW52LkdJVF9DT01NSVRfQ09VTlQgfHwgJzAnLCAxMCksXG4gICAgICBkZXBsb3llZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBkZXBsb3llZEJ5OiBlbnYuR0lUSFVCX0FDVE9SIHx8IGVudi5HSVRMQUJfVVNFUl9MT0dJTiB8fCBlbnYuVVNFUiB8fCAndW5rbm93bicsXG4gICAgICBlbnZpcm9ubWVudDogZW52LlNUQUdFIHx8IGVudi5FTlZJUk9OTUVOVCB8fCAndW5rbm93bicsXG4gICAgfTtcblxuICAgIC8vIEFkZCBvcHRpb25hbCBmaWVsZHMgb25seSBpZiB0aGV5IGV4aXN0XG4gICAgaWYgKGVudi5HSVRfVEFHKSBwcm9wcy50YWcgPSBlbnYuR0lUX1RBRztcbiAgICBpZiAoZW52LkNPTU1JVFNfU0lOQ0VfVEFHKSBwcm9wcy5jb21taXRzU2luY2VUYWcgPSBwYXJzZUludChlbnYuQ09NTUlUU19TSU5DRV9UQUcsIDEwKTtcbiAgICBpZiAoZW52LlBBQ0tBR0VfVkVSU0lPTikgcHJvcHMucGFja2FnZVZlcnNpb24gPSBlbnYuUEFDS0FHRV9WRVJTSU9OO1xuICAgIGlmIChlbnYuR0lUSFVCX1JVTl9OVU1CRVIpIHByb3BzLmJ1aWxkTnVtYmVyID0gZW52LkdJVEhVQl9SVU5fTlVNQkVSO1xuICAgIGVsc2UgaWYgKGVudi5DSV9QSVBFTElORV9JRCkgcHJvcHMuYnVpbGROdW1iZXIgPSBlbnYuQ0lfUElQRUxJTkVfSUQ7XG4gICAgaWYgKGVudi5HSVRIVUJfUkVQT1NJVE9SWSkgcHJvcHMucmVwb3NpdG9yeSA9IGVudi5HSVRIVUJfUkVQT1NJVE9SWTtcbiAgICBlbHNlIGlmIChlbnYuQ0lfUFJPSkVDVF9QQVRIKSBwcm9wcy5yZXBvc2l0b3J5ID0gZW52LkNJX1BST0pFQ1RfUEFUSDtcbiAgICBpZiAoZW52LlBJUEVMSU5FX1ZFUlNJT04pIHByb3BzLnBpcGVsaW5lVmVyc2lvbiA9IGVudi5QSVBFTElORV9WRVJTSU9OO1xuXG4gICAgcmV0dXJuIG5ldyBWZXJzaW9uSW5mbyhwcm9wcyBhcyBJVmVyc2lvbkluZm8pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFZlcnNpb25JbmZvIGluc3RhbmNlIGZyb20gYSBKU09OIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tSnNvbihqc29uOiBzdHJpbmcpOiBWZXJzaW9uSW5mbyB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbik7XG4gICAgcmV0dXJuIG5ldyBWZXJzaW9uSW5mbyhkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBjb21taXRIYXNoOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBjb21taXRIYXNoU2hvcnQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJyYW5jaDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFnPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY29tbWl0c1NpbmNlVGFnPzogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgY29tbWl0Q291bnQ6IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IHBhY2thZ2VWZXJzaW9uPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95ZWRBdDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95ZWRCeTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYnVpbGROdW1iZXI/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVwb3NpdG9yeT86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHBpcGVsaW5lVmVyc2lvbj86IHN0cmluZztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByb3BzOiBJVmVyc2lvbkluZm8pIHtcbiAgICB0aGlzLnZlcnNpb24gPSBwcm9wcy52ZXJzaW9uO1xuICAgIHRoaXMuY29tbWl0SGFzaCA9IHByb3BzLmNvbW1pdEhhc2g7XG4gICAgdGhpcy5jb21taXRIYXNoU2hvcnQgPSBwcm9wcy5jb21taXRIYXNoU2hvcnQ7XG4gICAgdGhpcy5icmFuY2ggPSBwcm9wcy5icmFuY2g7XG4gICAgdGhpcy50YWcgPSBwcm9wcy50YWc7XG4gICAgdGhpcy5jb21taXRzU2luY2VUYWcgPSBwcm9wcy5jb21taXRzU2luY2VUYWc7XG4gICAgdGhpcy5jb21taXRDb3VudCA9IHByb3BzLmNvbW1pdENvdW50O1xuICAgIHRoaXMucGFja2FnZVZlcnNpb24gPSBwcm9wcy5wYWNrYWdlVmVyc2lvbjtcbiAgICB0aGlzLmRlcGxveWVkQXQgPSBwcm9wcy5kZXBsb3llZEF0O1xuICAgIHRoaXMuZGVwbG95ZWRCeSA9IHByb3BzLmRlcGxveWVkQnk7XG4gICAgdGhpcy5idWlsZE51bWJlciA9IHByb3BzLmJ1aWxkTnVtYmVyO1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBwcm9wcy5lbnZpcm9ubWVudDtcbiAgICB0aGlzLnJlcG9zaXRvcnkgPSBwcm9wcy5yZXBvc2l0b3J5O1xuICAgIHRoaXMucGlwZWxpbmVWZXJzaW9uID0gcHJvcHMucGlwZWxpbmVWZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdG8gcGxhaW4gdmVyc2lvbiBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZlcnNpb247XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0byBKU09OIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIHRvSnNvbihwcmV0dHkgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0YTogTXV0YWJsZVZlcnNpb25JbmZvID0ge1xuICAgICAgdmVyc2lvbjogdGhpcy52ZXJzaW9uLFxuICAgICAgY29tbWl0SGFzaDogdGhpcy5jb21taXRIYXNoLFxuICAgICAgY29tbWl0SGFzaFNob3J0OiB0aGlzLmNvbW1pdEhhc2hTaG9ydCxcbiAgICAgIGJyYW5jaDogdGhpcy5icmFuY2gsXG4gICAgICBjb21taXRDb3VudDogdGhpcy5jb21taXRDb3VudCxcbiAgICAgIGRlcGxveWVkQXQ6IHRoaXMuZGVwbG95ZWRBdCxcbiAgICAgIGRlcGxveWVkQnk6IHRoaXMuZGVwbG95ZWRCeSxcbiAgICAgIGVudmlyb25tZW50OiB0aGlzLmVudmlyb25tZW50LFxuICAgIH07XG5cbiAgICBpZiAodGhpcy50YWcgIT09IHVuZGVmaW5lZCkgZGF0YS50YWcgPSB0aGlzLnRhZztcbiAgICBpZiAodGhpcy5jb21taXRzU2luY2VUYWcgIT09IHVuZGVmaW5lZCkgZGF0YS5jb21taXRzU2luY2VUYWcgPSB0aGlzLmNvbW1pdHNTaW5jZVRhZztcbiAgICBpZiAodGhpcy5wYWNrYWdlVmVyc2lvbiAhPT0gdW5kZWZpbmVkKSBkYXRhLnBhY2thZ2VWZXJzaW9uID0gdGhpcy5wYWNrYWdlVmVyc2lvbjtcbiAgICBpZiAodGhpcy5idWlsZE51bWJlciAhPT0gdW5kZWZpbmVkKSBkYXRhLmJ1aWxkTnVtYmVyID0gdGhpcy5idWlsZE51bWJlcjtcbiAgICBpZiAodGhpcy5yZXBvc2l0b3J5ICE9PSB1bmRlZmluZWQpIGRhdGEucmVwb3NpdG9yeSA9IHRoaXMucmVwb3NpdG9yeTtcbiAgICBpZiAodGhpcy5waXBlbGluZVZlcnNpb24gIT09IHVuZGVmaW5lZCkgZGF0YS5waXBlbGluZVZlcnNpb24gPSB0aGlzLnBpcGVsaW5lVmVyc2lvbjtcblxuICAgIHJldHVybiBwcmV0dHkgPyBKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCAyKSA6IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdG8gb2JqZWN0XG4gICAqL1xuICBwdWJsaWMgdG9PYmplY3QoKTogSVZlcnNpb25JbmZvIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLnRvSnNvbigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZm9ybWF0dGVkIHZlcnNpb24gZm9yIGRpc3BsYXlcbiAgICovXG4gIHB1YmxpYyBkaXNwbGF5VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnRhZyAmJiB0aGlzLmNvbW1pdHNTaW5jZVRhZyA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMudGFnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy52ZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoaXMgdmVyc2lvbiBpcyBmcm9tIGEgdGFnZ2VkIHJlbGVhc2VcbiAgICovXG4gIHB1YmxpYyB0YWdnZWRSZWxlYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhZyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuY29tbWl0c1NpbmNlVGFnID09PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoaXMgdmVyc2lvbiBpcyBmcm9tIHRoZSBtYWluIGJyYW5jaFxuICAgKi9cbiAgcHVibGljIG1haW5CcmFuY2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYnJhbmNoID09PSAnbWFpbicgfHwgdGhpcy5icmFuY2ggPT09ICdtYXN0ZXInO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBhcmUgd2l0aCBhbm90aGVyIHZlcnNpb25cbiAgICogUmV0dXJuczogLTEgaWYgdGhpcyA8IG90aGVyLCAwIGlmIGVxdWFsLCAxIGlmIHRoaXMgPiBvdGhlclxuICAgKi9cbiAgcHVibGljIGNvbXBhcmUob3RoZXI6IFZlcnNpb25JbmZvKTogbnVtYmVyIHtcbiAgICAvLyBGaXJzdCBjb21wYXJlIGJ5IGNvbW1pdCBjb3VudFxuICAgIGlmICh0aGlzLmNvbW1pdENvdW50IDwgb3RoZXIuY29tbWl0Q291bnQpIHJldHVybiAtMTtcbiAgICBpZiAodGhpcy5jb21taXRDb3VudCA+IG90aGVyLmNvbW1pdENvdW50KSByZXR1cm4gMTtcblxuICAgIC8vIFRoZW4gYnkgdmVyc2lvbiBzdHJpbmdcbiAgICByZXR1cm4gdGhpcy52ZXJzaW9uLmxvY2FsZUNvbXBhcmUob3RoZXIudmVyc2lvbik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcGFyYW1ldGVyIG5hbWUgZm9yIFNTTSBQYXJhbWV0ZXIgU3RvcmVcbiAgICovXG4gIHB1YmxpYyBwYXJhbWV0ZXJOYW1lKHRlbXBsYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0ZW1wbGF0ZVxuICAgICAgLnJlcGxhY2UoJ3tzdGFnZX0nLCB0aGlzLmVudmlyb25tZW50KVxuICAgICAgLnJlcGxhY2UoJ3tlbnZpcm9ubWVudH0nLCB0aGlzLmVudmlyb25tZW50KVxuICAgICAgLnJlcGxhY2UoJ3ticmFuY2h9JywgdGhpcy5icmFuY2gpXG4gICAgICAucmVwbGFjZSgne3ZlcnNpb259JywgdGhpcy52ZXJzaW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgQ2xvdWRGb3JtYXRpb24gZXhwb3J0IG5hbWVcbiAgICovXG4gIHB1YmxpYyBleHBvcnROYW1lKHRlbXBsYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0ZW1wbGF0ZVxuICAgICAgLnJlcGxhY2UoJ3tzdGFnZX0nLCB0aGlzLmVudmlyb25tZW50KVxuICAgICAgLnJlcGxhY2UoJ3tlbnZpcm9ubWVudH0nLCB0aGlzLmVudmlyb25tZW50KVxuICAgICAgLnJlcGxhY2UoJ3ticmFuY2h9JywgdGhpcy5icmFuY2gpXG4gICAgICAucmVwbGFjZSgne3ZlcnNpb259JywgdGhpcy52ZXJzaW9uKTtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkZXIgY2xhc3MgZm9yIGNyZWF0aW5nIFZlcnNpb25JbmZvIGluc3RhbmNlc1xuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbkluZm9CdWlsZGVyIHtcbiAgcHJpdmF0ZSBwcm9wczogTXV0YWJsZVZlcnNpb25JbmZvID0ge307XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdmVyc2lvbiBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyB2ZXJzaW9uKHZlcnNpb246IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMucHJvcHMudmVyc2lvbiA9IHZlcnNpb247XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGdpdCBpbmZvcm1hdGlvblxuICAgKi9cbiAgcHVibGljIGdpdEluZm8oaW5mbzogR2l0SW5mb0lucHV0KTogdGhpcyB7XG4gICAgdGhpcy5wcm9wcy5jb21taXRIYXNoID0gaW5mby5jb21taXRIYXNoO1xuICAgIHRoaXMucHJvcHMuY29tbWl0SGFzaFNob3J0ID0gaW5mby5jb21taXRIYXNoLnN1YnN0cmluZygwLCA4KTtcbiAgICB0aGlzLnByb3BzLmJyYW5jaCA9IGluZm8uYnJhbmNoO1xuICAgIHRoaXMucHJvcHMudGFnID0gaW5mby50YWc7XG4gICAgdGhpcy5wcm9wcy5jb21taXRzU2luY2VUYWcgPSBpbmZvLmNvbW1pdHNTaW5jZVRhZztcbiAgICB0aGlzLnByb3BzLmNvbW1pdENvdW50ID0gaW5mby5jb21taXRDb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgcGFja2FnZSB2ZXJzaW9uXG4gICAqL1xuICBwdWJsaWMgcGFja2FnZVZlcnNpb24odmVyc2lvbjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5wcm9wcy5wYWNrYWdlVmVyc2lvbiA9IHZlcnNpb247XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGRlcGxveW1lbnQgbWV0YWRhdGFcbiAgICovXG4gIHB1YmxpYyBkZXBsb3ltZW50SW5mbyhpbmZvOiBEZXBsb3ltZW50SW5mb0lucHV0KTogdGhpcyB7XG4gICAgdGhpcy5wcm9wcy5lbnZpcm9ubWVudCA9IGluZm8uZW52aXJvbm1lbnQ7XG4gICAgdGhpcy5wcm9wcy5kZXBsb3llZEJ5ID0gaW5mby5kZXBsb3llZEJ5ID8/ICd1bmtub3duJztcbiAgICB0aGlzLnByb3BzLmJ1aWxkTnVtYmVyID0gaW5mby5idWlsZE51bWJlcjtcbiAgICB0aGlzLnByb3BzLmRlcGxveWVkQXQgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHJlcG9zaXRvcnkgaW5mb3JtYXRpb25cbiAgICovXG4gIHB1YmxpYyByZXBvc2l0b3J5KHJlcG86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMucHJvcHMucmVwb3NpdG9yeSA9IHJlcG87XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHBpcGVsaW5lIHZlcnNpb25cbiAgICovXG4gIHB1YmxpYyBwaXBlbGluZVZlcnNpb24odmVyc2lvbjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5wcm9wcy5waXBlbGluZVZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSBWZXJzaW9uSW5mbyBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIGNyZWF0ZSgpOiBWZXJzaW9uSW5mbyB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVmVyc2lvbiBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucHJvcHMuY29tbWl0SGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21taXQgaGFzaCBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucHJvcHMuYnJhbmNoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JyYW5jaCBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy5jb21taXRDb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbW1pdCBjb3VudCBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucHJvcHMuZW52aXJvbm1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRW52aXJvbm1lbnQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gVmVyc2lvbkluZm8uY3JlYXRlKHtcbiAgICAgIHZlcnNpb246IHRoaXMucHJvcHMudmVyc2lvbixcbiAgICAgIGNvbW1pdEhhc2g6IHRoaXMucHJvcHMuY29tbWl0SGFzaCxcbiAgICAgIGNvbW1pdEhhc2hTaG9ydDogdGhpcy5wcm9wcy5jb21taXRIYXNoU2hvcnQhLFxuICAgICAgYnJhbmNoOiB0aGlzLnByb3BzLmJyYW5jaCxcbiAgICAgIHRhZzogdGhpcy5wcm9wcy50YWcsXG4gICAgICBjb21taXRzU2luY2VUYWc6IHRoaXMucHJvcHMuY29tbWl0c1NpbmNlVGFnLFxuICAgICAgY29tbWl0Q291bnQ6IHRoaXMucHJvcHMuY29tbWl0Q291bnQsXG4gICAgICBwYWNrYWdlVmVyc2lvbjogdGhpcy5wcm9wcy5wYWNrYWdlVmVyc2lvbixcbiAgICAgIGRlcGxveWVkQXQ6IHRoaXMucHJvcHMuZGVwbG95ZWRBdCA/PyBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBkZXBsb3llZEJ5OiB0aGlzLnByb3BzLmRlcGxveWVkQnkgPz8gJ3Vua25vd24nLFxuICAgICAgYnVpbGROdW1iZXI6IHRoaXMucHJvcHMuYnVpbGROdW1iZXIsXG4gICAgICBlbnZpcm9ubWVudDogdGhpcy5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgIHJlcG9zaXRvcnk6IHRoaXMucHJvcHMucmVwb3NpdG9yeSxcbiAgICAgIHBpcGVsaW5lVmVyc2lvbjogdGhpcy5wcm9wcy5waXBlbGluZVZlcnNpb24sXG4gICAgfSk7XG4gIH1cbn0iXX0=
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZlcnNpb25pbmcvdmVyc2lvbi1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFtQkE7O0dBRUc7QUFDSCxNQUFhLFdBQVc7O0lBRXRCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFtQjtRQUN0QyxPQUFPLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBOEI7UUFDMUQsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUMvRCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVuRCxNQUFNLEtBQUssR0FBdUI7WUFDaEMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTztZQUMvQixVQUFVO1lBQ1YsZUFBZTtZQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxlQUFlLElBQUksU0FBUztZQUMxRCxXQUFXLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ3RELFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsaUJBQWlCLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxTQUFTO1lBQzlFLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxXQUFXLElBQUksU0FBUztTQUN2RCxDQUFDO1FBRUYseUNBQXlDO1FBQ3pDLElBQUksR0FBRyxDQUFDLE9BQU87WUFBRSxLQUFLLENBQUMs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QUssQ0FBQyxVQUFVO1lBQ2pDLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7U0FDNUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEvRkgsZ0RBZ0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVZlcnNpb25JbmZvLCBHaXRJbmZvSW5wdXQsIERlcGxveW1lbnRJbmZvSW5wdXQgfSBmcm9tICcuL3R5cGVzJztcblxuXG5pbnRlcmZhY2UgTXV0YWJsZVZlcnNpb25JbmZvIHtcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgY29tbWl0SGFzaD86IHN0cmluZztcbiAgY29tbWl0SGFzaFNob3J0Pzogc3RyaW5nO1xuICBicmFuY2g/OiBzdHJpbmc7XG4gIHRhZz86IHN0cmluZztcbiAgY29tbWl0c1NpbmNlVGFnPzogbnVtYmVyO1xuICBjb21taXRDb3VudD86IG51bWJlcjtcbiAgcGFja2FnZVZlcnNpb24/OiBzdHJpbmc7XG4gIGRlcGxveWVkQXQ/OiBzdHJpbmc7XG4gIGRlcGxveWVkQnk/OiBzdHJpbmc7XG4gIGJ1aWxkTnVtYmVyPzogc3RyaW5nO1xuICBlbnZpcm9ubWVudD86IHN0cmluZztcbiAgcmVwb3NpdG9yeT86IHN0cmluZztcbiAgcGlwZWxpbmVWZXJzaW9uPzogc3RyaW5nO1xufVxuLyoqXG4gKiBSZXByZXNlbnRzIGNvbXBsZXRlIHZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgZGVwbG95bWVudFxuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbkluZm8gaW1wbGVtZW50cyBJVmVyc2lvbkluZm8ge1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBWZXJzaW9uSW5mbyBpbnN0YW5jZSBmcm9tIHJhdyBkYXRhXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShwcm9wczogSVZlcnNpb25JbmZvKTogVmVyc2lvbkluZm8ge1xuICAgIHJldHVybiBuZXcgVmVyc2lvbkluZm8ocHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFZlcnNpb25JbmZvIGluc3RhbmNlIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21FbnZpcm9ubWVudChlbnY6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBWZXJzaW9uSW5mbyB7XG4gICAgY29uc3QgY29tbWl0SGFzaCA9IGVudi5HSVRIVUJfU0hBIHx8IGVudi5HSVRfQ09NTUlUX0hBU0ggfHwgJyc7XG4gICAgY29uc3QgY29tbWl0SGFzaFNob3J0ID0gY29tbWl0SGFzaC5zdWJzdHJpbmcoMCwgOCk7XG5cbiAgICBjb25zdCBwcm9wczogTXV0YWJsZVZlcnNpb25JbmZvID0ge1xuICAgICAgdmVyc2lvbjogZW52LlZFUlNJT04gfHwgJzAuMC4wJyxcbiAgICAgIGNvbW1pdEhhc2gsXG4gICAgICBjb21taXRIYXNoU2hvcnQsXG4gICAgICBicmFuY2g6IGVudi5HSVRfQlJBTkNIIHx8IGVudi5HSVRIVUJfUkVGX05BTUUgfHwgJ3Vua25vd24nLFxuICAgICAgY29tbWl0Q291bnQ6IHBhcnNlSW50KGVudi5HSVRfQ09NTUlUX0NPVU5UIHx8ICcwJywgMTApLFxuICAgICAgZGVwbG95ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgZGVwbG95ZWRCeTogZW52LkdJVEhVQl9BQ1RPUiB8fCBlbnYuR0lUTEFCX1VTRVJfTE9HSU4gfHwgZW52LlVTRVIgfHwgJ3Vua25vd24nLFxuICAgICAgZW52aXJvbm1lbnQ6IGVudi5TVEFHRSB8fCBlbnYuRU5WSVJPTk1FTlQgfHwgJ3Vua25vd24nLFxuICAgIH07XG5cbiAgICAvLyBBZGQgb3B0aW9uYWwgZmllbGRzIG9ubHkgaWYgdGhleSBleGlzdFxuICAgIGlmIChlbnYuR0lUX1RBRykgcHJvcHMudGFnID0gZW52LkdJVF9UQUc7XG4gICAgaWYgKGVudi5DT01NSVRTX1NJTkNFX1RBRykgcHJvcHMuY29tbWl0c1NpbmNlVGFnID0gcGFyc2VJbnQoZW52LkNPTU1JVFNfU0lOQ0VfVEFHLCAxMCk7XG4gICAgaWYgKGVudi5QQUNLQUdFX1ZFUlNJT04pIHByb3BzLnBhY2thZ2VWZXJzaW9uID0gZW52LlBBQ0tBR0VfVkVSU0lPTjtcbiAgICBpZiAoZW52LkdJVEhVQl9SVU5fTlVNQkVSKSBwcm9wcy5idWlsZE51bWJlciA9IGVudi5HSVRIVUJfUlVOX05VTUJFUjtcbiAgICBlbHNlIGlmIChlbnYuQ0lfUElQRUxJTkVfSUQpIHByb3BzLmJ1aWxkTnVtYmVyID0gZW52LkNJX1BJUEVMSU5FX0lEO1xuICAgIGlmIChlbnYuR0lUSFVCX1JFUE9TSVRPUlkpIHByb3BzLnJlcG9zaXRvcnkgPSBlbnYuR0lUSFVCX1JFUE9TSVRPUlk7XG4gICAgZWxzZSBpZiAoZW52LkNJX1BST0pFQ1RfUEFUSCkgcHJvcHMucmVwb3NpdG9yeSA9IGVudi5DSV9QUk9KRUNUX1BBVEg7XG4gICAgaWYgKGVudi5QSVBFTElORV9WRVJTSU9OKSBwcm9wcy5waXBlbGluZVZlcnNpb24gPSBlbnYuUElQRUxJTkVfVkVSU0lPTjtcblxuICAgIHJldHVybiBuZXcgVmVyc2lvbkluZm8ocHJvcHMgYXMgSVZlcnNpb25JbmZvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBWZXJzaW9uSW5mbyBpbnN0YW5jZSBmcm9tIGEgSlNPTiBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUpzb24oanNvbjogc3RyaW5nKTogVmVyc2lvbkluZm8ge1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGpzb24pO1xuICAgIHJldHVybiBuZXcgVmVyc2lvbkluZm8oZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY29tbWl0SGFzaDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY29tbWl0SGFzaFNob3J0OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBicmFuY2g6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRhZz86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGNvbW1pdHNTaW5jZVRhZz86IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IGNvbW1pdENvdW50OiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBwYWNrYWdlVmVyc2lvbj86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRlcGxveWVkQXQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRlcGxveWVkQnk6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJ1aWxkTnVtYmVyPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHJlcG9zaXRvcnk/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBwaXBlbGluZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcm9wczogSVZlcnNpb25JbmZvKSB7XG4gICAgdGhpcy52ZXJzaW9uID0gcHJvcHMudmVyc2lvbjtcbiAgICB0aGlzLmNvbW1pdEhhc2ggPSBwcm9wcy5jb21taXRIYXNoO1xuICAgIHRoaXMuY29tbWl0SGFzaFNob3J0ID0gcHJvcHMuY29tbWl0SGFzaFNob3J0O1xuICAgIHRoaXMuYnJhbmNoID0gcHJvcHMuYnJhbmNoO1xuICAgIHRoaXMudGFnID0gcHJvcHMudGFnO1xuICAgIHRoaXMuY29tbWl0c1NpbmNlVGFnID0gcHJvcHMuY29tbWl0c1NpbmNlVGFnO1xuICAgIHRoaXMuY29tbWl0Q291bnQgPSBwcm9wcy5jb21taXRDb3VudDtcbiAgICB0aGlzLnBhY2thZ2VWZXJzaW9uID0gcHJvcHMucGFja2FnZVZlcnNpb247XG4gICAgdGhpcy5kZXBsb3llZEF0ID0gcHJvcHMuZGVwbG95ZWRBdDtcbiAgICB0aGlzLmRlcGxveWVkQnkgPSBwcm9wcy5kZXBsb3llZEJ5O1xuICAgIHRoaXMuYnVpbGROdW1iZXIgPSBwcm9wcy5idWlsZE51bWJlcjtcbiAgICB0aGlzLmVudmlyb25tZW50ID0gcHJvcHMuZW52aXJvbm1lbnQ7XG4gICAgdGhpcy5yZXBvc2l0b3J5ID0gcHJvcHMucmVwb3NpdG9yeTtcbiAgICB0aGlzLnBpcGVsaW5lVmVyc2lvbiA9IHByb3BzLnBpcGVsaW5lVmVyc2lvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IHRvIHBsYWluIHZlcnNpb24gc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52ZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdG8gSlNPTiBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyB0b0pzb24ocHJldHR5ID0gZmFsc2UpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGE6IE11dGFibGVWZXJzaW9uSW5mbyA9IHtcbiAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvbixcbiAgICAgIGNvbW1pdEhhc2g6IHRoaXMuY29tbWl0SGFzaCxcbiAgICAgIGNvbW1pdEhhc2hTaG9ydDogdGhpcy5jb21taXRIYXNoU2hvcnQsXG4gICAgICBicmFuY2g6IHRoaXMuYnJhbmNoLFxuICAgICAgY29tbWl0Q291bnQ6IHRoaXMuY29tbWl0Q291bnQsXG4gICAgICBkZXBsb3llZEF0OiB0aGlzLmRlcGxveWVkQXQsXG4gICAgICBkZXBsb3llZEJ5OiB0aGlzLmRlcGxveWVkQnksXG4gICAgICBlbnZpcm9ubWVudDogdGhpcy5lbnZpcm9ubWVudCxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMudGFnICE9PSB1bmRlZmluZWQpIGRhdGEudGFnID0gdGhpcy50YWc7XG4gICAgaWYgKHRoaXMuY29tbWl0c1NpbmNlVGFnICE9PSB1bmRlZmluZWQpIGRhdGEuY29tbWl0c1NpbmNlVGFnID0gdGhpcy5jb21taXRzU2luY2VUYWc7XG4gICAgaWYgKHRoaXMucGFja2FnZVZlcnNpb24gIT09IHVuZGVmaW5lZCkgZGF0YS5wYWNrYWdlVmVyc2lvbiA9IHRoaXMucGFja2FnZVZlcnNpb247XG4gICAgaWYgKHRoaXMuYnVpbGROdW1iZXIgIT09IHVuZGVmaW5lZCkgZGF0YS5idWlsZE51bWJlciA9IHRoaXMuYnVpbGROdW1iZXI7XG4gICAgaWYgKHRoaXMucmVwb3NpdG9yeSAhPT0gdW5kZWZpbmVkKSBkYXRhLnJlcG9zaXRvcnkgPSB0aGlzLnJlcG9zaXRvcnk7XG4gICAgaWYgKHRoaXMucGlwZWxpbmVWZXJzaW9uICE9PSB1bmRlZmluZWQpIGRhdGEucGlwZWxpbmVWZXJzaW9uID0gdGhpcy5waXBlbGluZVZlcnNpb247XG5cbiAgICByZXR1cm4gcHJldHR5ID8gSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMikgOiBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IHRvIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHRvT2JqZWN0KCk6IElWZXJzaW9uSW5mbyB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy50b0pzb24oKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZvcm1hdHRlZCB2ZXJzaW9uIGZvciBkaXNwbGF5XG4gICAqL1xuICBwdWJsaWMgZGlzcGxheVZlcnNpb24oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50YWcgJiYgdGhpcy5jb21taXRzU2luY2VUYWcgPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnRhZztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudmVyc2lvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGlzIHZlcnNpb24gaXMgZnJvbSBhIHRhZ2dlZCByZWxlYXNlXG4gICAqL1xuICBwdWJsaWMgdGFnZ2VkUmVsZWFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YWcgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmNvbW1pdHNTaW5jZVRhZyA9PT0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGlzIHZlcnNpb24gaXMgZnJvbSB0aGUgbWFpbiBicmFuY2hcbiAgICovXG4gIHB1YmxpYyBtYWluQnJhbmNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmJyYW5jaCA9PT0gJ21haW4nIHx8IHRoaXMuYnJhbmNoID09PSAnbWFzdGVyJztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wYXJlIHdpdGggYW5vdGhlciB2ZXJzaW9uXG4gICAqIFJldHVybnM6IC0xIGlmIHRoaXMgPCBvdGhlciwgMCBpZiBlcXVhbCwgMSBpZiB0aGlzID4gb3RoZXJcbiAgICovXG4gIHB1YmxpYyBjb21wYXJlKG90aGVyOiBWZXJzaW9uSW5mbyk6IG51bWJlciB7XG4gICAgLy8gRmlyc3QgY29tcGFyZSBieSBjb21taXQgY291bnRcbiAgICBpZiAodGhpcy5jb21taXRDb3VudCA8IG90aGVyLmNvbW1pdENvdW50KSByZXR1cm4gLTE7XG4gICAgaWYgKHRoaXMuY29tbWl0Q291bnQgPiBvdGhlci5jb21taXRDb3VudCkgcmV0dXJuIDE7XG5cbiAgICAvLyBUaGVuIGJ5IHZlcnNpb24gc3RyaW5nXG4gICAgcmV0dXJuIHRoaXMudmVyc2lvbi5sb2NhbGVDb21wYXJlKG90aGVyLnZlcnNpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHBhcmFtZXRlciBuYW1lIGZvciBTU00gUGFyYW1ldGVyIFN0b3JlXG4gICAqL1xuICBwdWJsaWMgcGFyYW1ldGVyTmFtZSh0ZW1wbGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGVtcGxhdGVcbiAgICAgIC5yZXBsYWNlKCd7c3RhZ2V9JywgdGhpcy5lbnZpcm9ubWVudClcbiAgICAgIC5yZXBsYWNlKCd7ZW52aXJvbm1lbnR9JywgdGhpcy5lbnZpcm9ubWVudClcbiAgICAgIC5yZXBsYWNlKCd7YnJhbmNofScsIHRoaXMuYnJhbmNoKVxuICAgICAgLnJlcGxhY2UoJ3t2ZXJzaW9ufScsIHRoaXMudmVyc2lvbik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIENsb3VkRm9ybWF0aW9uIGV4cG9ydCBuYW1lXG4gICAqL1xuICBwdWJsaWMgZXhwb3J0TmFtZSh0ZW1wbGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGVtcGxhdGVcbiAgICAgIC5yZXBsYWNlKCd7c3RhZ2V9JywgdGhpcy5lbnZpcm9ubWVudClcbiAgICAgIC5yZXBsYWNlKCd7ZW52aXJvbm1lbnR9JywgdGhpcy5lbnZpcm9ubWVudClcbiAgICAgIC5yZXBsYWNlKCd7YnJhbmNofScsIHRoaXMuYnJhbmNoKVxuICAgICAgLnJlcGxhY2UoJ3t2ZXJzaW9ufScsIHRoaXMudmVyc2lvbik7XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZGVyIGNsYXNzIGZvciBjcmVhdGluZyBWZXJzaW9uSW5mbyBpbnN0YW5jZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFZlcnNpb25JbmZvQnVpbGRlciB7XG4gIHByaXZhdGUgcHJvcHM6IE11dGFibGVWZXJzaW9uSW5mbyA9IHt9O1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHZlcnNpb24gc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgdmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnByb3BzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBnaXQgaW5mb3JtYXRpb25cbiAgICovXG4gIHB1YmxpYyBnaXRJbmZvKGluZm86IEdpdEluZm9JbnB1dCk6IHRoaXMge1xuICAgIHRoaXMucHJvcHMuY29tbWl0SGFzaCA9IGluZm8uY29tbWl0SGFzaDtcbiAgICB0aGlzLnByb3BzLmNvbW1pdEhhc2hTaG9ydCA9IGluZm8uY29tbWl0SGFzaC5zdWJzdHJpbmcoMCwgOCk7XG4gICAgdGhpcy5wcm9wcy5icmFuY2ggPSBpbmZvLmJyYW5jaDtcbiAgICB0aGlzLnByb3BzLnRhZyA9IGluZm8udGFnO1xuICAgIHRoaXMucHJvcHMuY29tbWl0c1NpbmNlVGFnID0gaW5mby5jb21taXRzU2luY2VUYWc7XG4gICAgdGhpcy5wcm9wcy5jb21taXRDb3VudCA9IGluZm8uY29tbWl0Q291bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHBhY2thZ2UgdmVyc2lvblxuICAgKi9cbiAgcHVibGljIHBhY2thZ2VWZXJzaW9uKHZlcnNpb246IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMucHJvcHMucGFja2FnZVZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBkZXBsb3ltZW50IG1ldGFkYXRhXG4gICAqL1xuICBwdWJsaWMgZGVwbG95bWVudEluZm8oaW5mbzogRGVwbG95bWVudEluZm9JbnB1dCk6IHRoaXMge1xuICAgIHRoaXMucHJvcHMuZW52aXJvbm1lbnQgPSBpbmZvLmVudmlyb25tZW50O1xuICAgIHRoaXMucHJvcHMuZGVwbG95ZWRCeSA9IGluZm8uZGVwbG95ZWRCeSA/PyAndW5rbm93bic7XG4gICAgdGhpcy5wcm9wcy5idWlsZE51bWJlciA9IGluZm8uYnVpbGROdW1iZXI7XG4gICAgdGhpcy5wcm9wcy5kZXBsb3llZEF0ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCByZXBvc2l0b3J5IGluZm9ybWF0aW9uXG4gICAqL1xuICBwdWJsaWMgcmVwb3NpdG9yeShyZXBvOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnByb3BzLnJlcG9zaXRvcnkgPSByZXBvO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBwaXBlbGluZSB2ZXJzaW9uXG4gICAqL1xuICBwdWJsaWMgcGlwZWxpbmVWZXJzaW9uKHZlcnNpb246IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMucHJvcHMucGlwZWxpbmVWZXJzaW9uID0gdmVyc2lvbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgVmVyc2lvbkluZm8gaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyBjcmVhdGUoKTogVmVyc2lvbkluZm8ge1xuICAgIGlmICghdGhpcy5wcm9wcy52ZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZlcnNpb24gaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnByb3BzLmNvbW1pdEhhc2gpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29tbWl0IGhhc2ggaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnByb3BzLmJyYW5jaCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCcmFuY2ggaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuY29tbWl0Q291bnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21taXQgY291bnQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnByb3BzLmVudmlyb25tZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vudmlyb25tZW50IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFZlcnNpb25JbmZvLmNyZWF0ZSh7XG4gICAgICB2ZXJzaW9uOiB0aGlzLnByb3BzLnZlcnNpb24sXG4gICAgICBjb21taXRIYXNoOiB0aGlzLnByb3BzLmNvbW1pdEhhc2gsXG4gICAgICBjb21taXRIYXNoU2hvcnQ6IHRoaXMucHJvcHMuY29tbWl0SGFzaFNob3J0ISxcbiAgICAgIGJyYW5jaDogdGhpcy5wcm9wcy5icmFuY2gsXG4gICAgICB0YWc6IHRoaXMucHJvcHMudGFnLFxuICAgICAgY29tbWl0c1NpbmNlVGFnOiB0aGlzLnByb3BzLmNvbW1pdHNTaW5jZVRhZyxcbiAgICAgIGNvbW1pdENvdW50OiB0aGlzLnByb3BzLmNvbW1pdENvdW50LFxuICAgICAgcGFja2FnZVZlcnNpb246IHRoaXMucHJvcHMucGFja2FnZVZlcnNpb24sXG4gICAgICBkZXBsb3llZEF0OiB0aGlzLnByb3BzLmRlcGxveWVkQXQgPz8gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgZGVwbG95ZWRCeTogdGhpcy5wcm9wcy5kZXBsb3llZEJ5ID8/ICd1bmtub3duJyxcbiAgICAgIGJ1aWxkTnVtYmVyOiB0aGlzLnByb3BzLmJ1aWxkTnVtYmVyLFxuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMucHJvcHMuZW52aXJvbm1lbnQsXG4gICAgICByZXBvc2l0b3J5OiB0aGlzLnByb3BzLnJlcG9zaXRvcnksXG4gICAgICBwaXBlbGluZVZlcnNpb246IHRoaXMucHJvcHMucGlwZWxpbmVWZXJzaW9uLFxuICAgIH0pO1xuICB9XG59Il19
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babel/code-frame",
3
- "version": "7.29.0",
3
+ "version": "7.29.7",
4
4
  "description": "Generate errors that contain a code frame that point to source locations.",
5
5
  "author": "The Babel Team (https://babel.dev/team)",
6
6
  "homepage": "https://babel.dev/docs/en/next/babel-code-frame",
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "main": "./lib/index.js",
18
18
  "dependencies": {
19
- "@babel/helper-validator-identifier": "^7.28.5",
19
+ "@babel/helper-validator-identifier": "^7.29.7",
20
20
  "js-tokens": "^4.0.0",
21
21
  "picocolors": "^1.1.1"
22
22
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babel/helper-validator-identifier",
3
- "version": "7.28.5",
3
+ "version": "7.29.7",
4
4
  "description": "Validate identifier/keywords name",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,7 +14,8 @@ npm install @nodable/entities
14
14
  import { EntityEncoder, EntityDecoder, ALL_ENTITIES } from '@nodable/entities';
15
15
 
16
16
  // Encode: plain text → entity references
17
- const enc = new EntityEncoder();
17
+ // v3 requires an explicit entity set when encoding named (non‑ASCII) characters
18
+ const enc = new EntityEncoder({ namedEntities: ALL_ENTITIES });
18
19
  enc.encode('Hello © 2024 & <stuff>');
19
20
  // → 'Hello &copy; 2024 &amp; &lt;stuff&gt;'
20
21
 
@@ -24,6 +25,56 @@ dec.decode('Hello &copy; 2024 &amp; &lt;stuff&gt;');
24
25
  // → 'Hello © 2024 & <stuff>'
25
26
  ```
26
27
 
28
+ If you only need to encode XML‑unsafe characters (`&`, `<`, `>`, `"`, `'`), you can disable named‑entity encoding entirely and avoid importing any entity set:
29
+
30
+ ```js
31
+ const enc = new EntityEncoder({ encodeAllNamed: false });
32
+ enc.encode('© <stuff>'); // → '© &lt;stuff&gt;' (copyright stays literal)
33
+ ```
34
+
35
+ To encode only a specific subset of characters (e.g. common HTML entities), pass a custom map:
36
+
37
+ ```js
38
+ import { EntityEncoder, COMMON_HTML, CURRENCY } from '@nodable/entities';
39
+
40
+ const enc = new EntityEncoder({ namedEntities: { ...COMMON_HTML, ...CURRENCY } });
41
+ enc.encode('Price: 10 © 2024'); // only COMMON_HTML/CURRENCY entities are recognized
42
+ ```
43
+
44
+ ---
45
+
46
+ ## Migration from v2 to v3
47
+
48
+ **Breaking change:**
49
+ In v2, `new EntityEncoder()` automatically used the full built‑in entity set to encode non‑ASCII characters (like `©` → `&copy;`). This caused poor tree‑shaking: every consumer paid the cost of the entire entity table, even if they never used it.
50
+
51
+ In v3, **`EntityEncoder` no longer includes a default entity set**.
52
+ If you pass no options and `encodeAllNamed` is `true` (the default), the constructor will **throw an error**:
53
+
54
+ ```js
55
+ const enc = new EntityEncoder(); // throws: "encodeAllNamed is true but no `namedEntities` was provided"
56
+ ```
57
+
58
+ ### How to update
59
+
60
+ | What you need | v2 code | v3 code |
61
+ |---------------|---------|---------|
62
+ | **Full built‑in set** (same as v2) | `new EntityEncoder()` | `import { ALL_ENTITIES } from '@nodable/entities';`<br>`new EntityEncoder({ namedEntities: ALL_ENTITIES })` |
63
+ | **Only XML‑unsafe chars** (no named entities) | `new EntityEncoder({ encodeAllNamed: false })` | **Same** – no change |
64
+ | **Custom subset** | `new EntityEncoder({ namedEntities: myMap })` | **Same** – but now your map is required for named‑entity encoding |
65
+
66
+ This change allows bundlers to tree‑shake unused entity categories – you only pay for the characters you actually encode.
67
+
68
+ ### Upgrading step‑by‑step
69
+
70
+ 1. Update to `@nodable/entities@3.0.0`.
71
+ 2. Find all `new EntityEncoder()` calls in your project.
72
+ 3. Decide:
73
+ - If you need the full set: import `ALL_ENTITIES` and pass it as `namedEntities`.
74
+ - If you only need XML‑unsafe escaping: add `{ encodeAllNamed: false }`.
75
+ - If you used a custom set: keep it as‑is – it already worked.
76
+ 4. Run your tests – the encoder should now behave as before, but with better bundle size.
77
+
27
78
  ## Performance
28
79
 
29
80
  | | encode | decode |
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodable/entities",
3
- "version": "2.1.0",
3
+ "version": "3.0.0",
4
4
  "description": "Entity parser for XML, HTML, External entites with security and NCR control",
5
5
  "main": "./src/index.js",
6
6
  "type": "module",
@@ -25,10 +25,13 @@
25
25
  "xml",
26
26
  "html",
27
27
  "entity",
28
+ "entities",
29
+ "stringify",
28
30
  "encode",
29
31
  "decode",
30
32
  "ncr",
31
33
  "security",
34
+ "safe",
32
35
  "performance"
33
36
  ],
34
37
  "author": "Amit Gupta (https://solothought.com)",