projen 0.101.36 → 0.102.0

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 (157) hide show
  1. package/.jsii +399 -381
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +6 -6
  4. package/lib/awscdk/awscdk-app-java.js +1 -1
  5. package/lib/awscdk/awscdk-app-py.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +1 -1
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps-py.js +1 -1
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +3 -3
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/lambda-extension.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/build/build-workflow.js +1 -1
  18. package/lib/cdk/auto-discover-base.js +2 -2
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/integration-test-base.js +1 -1
  21. package/lib/cdk/jsii-build.js +5 -4
  22. package/lib/cdk/jsii-docgen.js +1 -1
  23. package/lib/cdk/jsii-project.js +1 -1
  24. package/lib/cdk8s/auto-discover.js +2 -2
  25. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  26. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  27. package/lib/cdk8s/cdk8s-construct.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  29. package/lib/cdk8s/cdk8s-deps.js +1 -1
  30. package/lib/cdk8s/integration-test.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/cdktn/cdktn-app-ts.js +1 -1
  33. package/lib/cdktn/cdktn-config.js +1 -1
  34. package/lib/cdktn/cdktn-construct.js +1 -1
  35. package/lib/cdktn/cdktn-deps.js +1 -1
  36. package/lib/cdktn/cdktn-tasks.js +1 -1
  37. package/lib/circleci/circleci.js +1 -1
  38. package/lib/cleanup.js +79 -5
  39. package/lib/component.js +2 -2
  40. package/lib/dependencies.js +1 -1
  41. package/lib/dev-env.js +1 -1
  42. package/lib/docker-compose/docker-compose-service.js +1 -1
  43. package/lib/docker-compose/docker-compose.js +1 -1
  44. package/lib/file.js +1 -1
  45. package/lib/gitattributes.js +1 -1
  46. package/lib/github/actions-provider.js +1 -1
  47. package/lib/github/actions.const.d.ts +44 -0
  48. package/lib/github/actions.const.js +50 -0
  49. package/lib/github/auto-approve.js +1 -1
  50. package/lib/github/auto-merge.js +1 -1
  51. package/lib/github/auto-queue.js +1 -1
  52. package/lib/github/dependabot.js +1 -1
  53. package/lib/github/dependency-review.js +4 -3
  54. package/lib/github/github-credentials.js +4 -3
  55. package/lib/github/github-project.js +1 -1
  56. package/lib/github/github.js +1 -1
  57. package/lib/github/merge-queue.js +1 -1
  58. package/lib/github/mergify.js +1 -1
  59. package/lib/github/pr-template.js +1 -1
  60. package/lib/github/pull-request-backport.js +4 -3
  61. package/lib/github/pull-request-lint.js +5 -4
  62. package/lib/github/stale.js +5 -3
  63. package/lib/github/task-workflow-job.js +1 -1
  64. package/lib/github/task-workflow.js +1 -1
  65. package/lib/github/workflow-actions.js +5 -4
  66. package/lib/github/workflow-jobs.js +1 -1
  67. package/lib/github/workflow-steps.js +6 -5
  68. package/lib/github/workflows.js +8 -7
  69. package/lib/gitlab/configuration.js +1 -1
  70. package/lib/gitlab/gitlab-configuration.js +1 -1
  71. package/lib/gitlab/nested-configuration.js +1 -1
  72. package/lib/gitpod.js +1 -1
  73. package/lib/ignore-file.js +1 -1
  74. package/lib/ini.js +1 -1
  75. package/lib/java/java-project.js +1 -1
  76. package/lib/java/junit.js +1 -1
  77. package/lib/java/maven-compile.js +1 -1
  78. package/lib/java/maven-packaging.js +1 -1
  79. package/lib/java/maven-sample.js +1 -1
  80. package/lib/java/pom.js +2 -2
  81. package/lib/java/projenrc.js +1 -1
  82. package/lib/javascript/biome/biome.js +1 -1
  83. package/lib/javascript/bundler.js +1 -1
  84. package/lib/javascript/eslint.js +1 -1
  85. package/lib/javascript/jest.js +4 -4
  86. package/lib/javascript/license-checker.js +1 -1
  87. package/lib/javascript/node-package.js +1 -1
  88. package/lib/javascript/node-project.d.ts +3 -2
  89. package/lib/javascript/node-project.js +9 -8
  90. package/lib/javascript/npm-config.js +1 -1
  91. package/lib/javascript/pnpm-workspace-config.js +2 -2
  92. package/lib/javascript/pnpm-workspace.d.ts +5 -0
  93. package/lib/javascript/pnpm-workspace.js +7 -3
  94. package/lib/javascript/prettier.js +1 -1
  95. package/lib/javascript/projenrc.js +1 -1
  96. package/lib/javascript/typescript-config.js +2 -2
  97. package/lib/javascript/upgrade-dependencies.js +2 -2
  98. package/lib/javascript/yarnrc.js +1 -1
  99. package/lib/json-patch.js +1 -1
  100. package/lib/json.js +1 -1
  101. package/lib/license.js +1 -1
  102. package/lib/logger.js +1 -1
  103. package/lib/makefile.js +1 -1
  104. package/lib/object-file.js +1 -1
  105. package/lib/project-build.js +1 -1
  106. package/lib/project-tree.js +1 -1
  107. package/lib/project.js +1 -1
  108. package/lib/projects.js +1 -1
  109. package/lib/projenrc-json.js +1 -1
  110. package/lib/projenrc.js +1 -1
  111. package/lib/python/pip.js +1 -1
  112. package/lib/python/poetry.js +2 -2
  113. package/lib/python/projenrc.js +1 -1
  114. package/lib/python/pyproject-toml-file.js +1 -1
  115. package/lib/python/pytest-sample.js +1 -1
  116. package/lib/python/pytest.js +1 -1
  117. package/lib/python/python-project.js +1 -1
  118. package/lib/python/python-sample.js +1 -1
  119. package/lib/python/requirements-file.js +1 -1
  120. package/lib/python/setuppy.js +1 -1
  121. package/lib/python/setuptools.js +1 -1
  122. package/lib/python/uv-config.js +1 -1
  123. package/lib/python/uv.js +1 -1
  124. package/lib/python/venv.js +1 -1
  125. package/lib/readme.js +1 -1
  126. package/lib/release/publisher.js +5 -4
  127. package/lib/release/release-trigger.js +1 -1
  128. package/lib/release/release.js +1 -1
  129. package/lib/renovatebot.js +1 -1
  130. package/lib/run-task.cjs +5 -3
  131. package/lib/sample-file.js +2 -2
  132. package/lib/script-runner.js +1 -1
  133. package/lib/source-code.js +1 -1
  134. package/lib/task-shell.js +1 -1
  135. package/lib/task.js +1 -1
  136. package/lib/tasks.js +1 -1
  137. package/lib/testing.js +1 -1
  138. package/lib/textfile.js +1 -1
  139. package/lib/toml.js +1 -1
  140. package/lib/typescript/projenrc-ts.js +1 -1
  141. package/lib/typescript/projenrc.js +1 -1
  142. package/lib/typescript/typescript-runner.js +1 -1
  143. package/lib/typescript/typescript-typedoc.js +1 -1
  144. package/lib/typescript/typescript.js +5 -5
  145. package/lib/version.js +2 -2
  146. package/lib/vscode/devcontainer.js +1 -1
  147. package/lib/vscode/extensions.js +1 -1
  148. package/lib/vscode/launch-config.js +1 -1
  149. package/lib/vscode/settings.js +1 -1
  150. package/lib/vscode/vscode.js +1 -1
  151. package/lib/web/next.js +3 -3
  152. package/lib/web/postcss.js +1 -1
  153. package/lib/web/react.js +3 -3
  154. package/lib/web/tailwind.js +1 -1
  155. package/lib/xmlfile.js +1 -1
  156. package/lib/yaml.js +1 -1
  157. package/package.json +5 -3
@@ -49,7 +49,7 @@ const cdk_1 = require("../cdk");
49
49
  * @pjid cdktf-construct
50
50
  */
51
51
  class ConstructLibraryCdktf extends cdk_1.ConstructLibrary {
52
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktf.ConstructLibraryCdktf", version: "0.101.36" };
52
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktf.ConstructLibraryCdktf", version: "0.102.0" };
53
53
  constructor(options) {
54
54
  super(options);
55
55
  if (!options.cdktfVersion) {
@@ -54,7 +54,7 @@ const fs_1 = require("../util/fs");
54
54
  * @pjid cdktn-app-ts
55
55
  */
56
56
  class CdktnTypeScriptApp extends typescript_1.TypeScriptAppProject {
57
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnTypeScriptApp", version: "0.101.36" };
57
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnTypeScriptApp", version: "0.102.0" };
58
58
  /**
59
59
  * The CDKTN app entrypoint.
60
60
  */
@@ -46,7 +46,7 @@ const json_1 = require("../json");
46
46
  * backwards compatibility with its CDKTF origins.
47
47
  */
48
48
  class CdktnConfig extends component_1.Component {
49
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnConfig", version: "0.101.36" };
49
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnConfig", version: "0.102.0" };
50
50
  /**
51
51
  * Represents the JSON file.
52
52
  */
@@ -17,7 +17,7 @@ const dependencies_1 = require("../dependencies");
17
17
  * @pjid cdktn-construct
18
18
  */
19
19
  class ConstructLibraryCdktn extends cdk_1.ConstructLibrary {
20
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.ConstructLibraryCdktn", version: "0.101.36" };
20
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.ConstructLibraryCdktn", version: "0.102.0" };
21
21
  cdktnDeps;
22
22
  constructor(options) {
23
23
  super(options);
@@ -42,7 +42,7 @@ const dependencies_1 = require("../dependencies");
42
42
  * Manages dependencies on CDK Terrain (CDKTN).
43
43
  */
44
44
  class CdktnDeps extends component_1.Component {
45
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnDeps", version: "0.101.36" };
45
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnDeps", version: "0.102.0" };
46
46
  /**
47
47
  * The dependency requirement for CDKTN (e.g. `^0.24.0`).
48
48
  */
@@ -7,7 +7,7 @@ const component_1 = require("../component");
7
7
  * Adds standard CDKTN tasks to your project.
8
8
  */
9
9
  class CdktnTasks extends component_1.Component {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnTasks", version: "0.101.36" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnTasks", version: "0.102.0" };
11
11
  /**
12
12
  * Gets/updates Terraform providers and modules.
13
13
  */
@@ -12,7 +12,7 @@ const yaml_1 = require("../yaml");
12
12
  * @see https://circleci.com/docs/2.0/configuration-reference/
13
13
  */
14
14
  class Circleci extends component_1.Component {
15
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.circleci.Circleci", version: "0.101.36" };
15
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.circleci.Circleci", version: "0.102.0" };
16
16
  /**
17
17
  * The yaml file for the Circleci pipeline
18
18
  * */
package/lib/cleanup.js CHANGED
@@ -54,7 +54,8 @@ function cleanup(dir, newFiles, exclude) {
54
54
  }
55
55
  }
56
56
  catch (e) {
57
- logging.warn(`warning: failed to clean up generated files: ${e.stack}`);
57
+ logging.warn(`Could not clean up previously generated files, so outdated files may be left behind in your project. ` +
58
+ `Synthesis continues, but you may need to delete them yourself. Error: ${e.stack}`);
58
59
  }
59
60
  }
60
61
  function removeFiles(files) {
@@ -89,20 +90,93 @@ function findGeneratedFiles(dir, exclude) {
89
90
  function findOrphanedFiles(dir, oldFiles, newFiles) {
90
91
  return oldFiles
91
92
  .filter((old) => !newFiles.includes(old))
92
- .map((f) => path.resolve(dir, f));
93
+ .map((f) => resolveWithinDir(dir, f))
94
+ .filter((f) => f !== undefined);
95
+ }
96
+ /**
97
+ * Resolves a file path taken from the file manifest against the project
98
+ * directory, making sure the result stays inside of it.
99
+ *
100
+ * The file manifest is checked into the repository and is therefore untrusted
101
+ * input: without this check, a manifest containing `../` or absolute path
102
+ * entries would make cleanup delete files outside of the project directory.
103
+ *
104
+ * @returns the absolute path to delete, or `undefined` if the entry does not
105
+ * resolve to a location inside `dir`.
106
+ */
107
+ function resolveWithinDir(dir, file) {
108
+ const skip = (reason) => {
109
+ logging.warn(`Not deleting ${JSON.stringify(file)} during cleanup because ${reason}. ` +
110
+ `projen only removes generated files inside your project directory. ` +
111
+ `This entry in ${exports.FILE_MANIFEST} should not be there - review it (and who changed it) in version control, ` +
112
+ `and delete the file yourself if you really no longer need it.`);
113
+ return undefined;
114
+ };
115
+ if (typeof file !== "string" || file.trim() === "") {
116
+ return skip("it is not a file path");
117
+ }
118
+ if (path.isAbsolute(file)) {
119
+ return skip("it is an absolute path instead of a path in your project");
120
+ }
121
+ const baseDir = realpathOfClosestExisting(dir);
122
+ const resolved = path.resolve(baseDir, file);
123
+ if (!isPathInside(baseDir, resolved)) {
124
+ return skip("it points outside of your project directory");
125
+ }
126
+ // the entry might traverse outside of the project through a symlinked
127
+ // directory, which `path.resolve` cannot detect. The last path segment is
128
+ // intentionally kept as-is: removing a symlink inside the project only
129
+ // deletes the link itself, not its target.
130
+ const realParent = realpathOfClosestExisting(path.dirname(resolved));
131
+ if (!isPathInside(baseDir, path.join(realParent, path.basename(resolved)))) {
132
+ return skip("it points outside of your project directory through a symlink");
133
+ }
134
+ return resolved;
135
+ }
136
+ function isPathInside(dir, file) {
137
+ const relative = path.relative(dir, file);
138
+ return (relative !== "" &&
139
+ !relative.startsWith(`..${path.sep}`) &&
140
+ relative !== ".." &&
141
+ !path.isAbsolute(relative));
142
+ }
143
+ /**
144
+ * Resolves symlinks in `p`, falling back to the closest existing ancestor for
145
+ * paths that do not exist (yet).
146
+ */
147
+ function realpathOfClosestExisting(p) {
148
+ const missing = new Array();
149
+ let current = path.resolve(p);
150
+ while (true) {
151
+ try {
152
+ return path.join(fs.realpathSync(current), ...missing);
153
+ }
154
+ catch {
155
+ const parent = path.dirname(current);
156
+ if (parent === current) {
157
+ return path.resolve(p);
158
+ }
159
+ missing.unshift(path.basename(current));
160
+ current = parent;
161
+ }
162
+ }
93
163
  }
94
164
  function getFilesFromManifest(dir) {
95
165
  try {
96
166
  const fileManifestPath = path.resolve(dir, exports.FILE_MANIFEST);
97
167
  if (fs.existsSync(fileManifestPath)) {
98
168
  const fileManifest = JSON.parse(fs.readFileSync(fileManifestPath, "utf-8"));
99
- if (fileManifest.files) {
169
+ if (Array.isArray(fileManifest.files)) {
100
170
  return fileManifest.files;
101
171
  }
172
+ if (fileManifest.files) {
173
+ logging.debug(`"files" in ${exports.FILE_MANIFEST} is not a list of files, so it cannot be used to find files to clean up. Falling back to scanning your project for projen-generated files.`);
174
+ }
102
175
  }
103
176
  }
104
177
  catch (e) {
105
- logging.warn(`warning: unable to get files to clean from file manifest: ${e.stack}`);
178
+ logging.warn(`Could not read the list of generated files from ${exports.FILE_MANIFEST}, so projen will scan your project for generated files instead. ` +
179
+ `Check that the file exists in version control and contains valid JSON. Error: ${e.stack}`);
106
180
  }
107
181
  return [];
108
182
  }
@@ -121,4 +195,4 @@ function readGitIgnore(dir) {
121
195
  .join("\n")
122
196
  .split("\n");
123
197
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW51cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGVhbnVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLDBCQWFDO0FBckJELHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0IsZ0RBQWtDO0FBQ2xDLHFDQUFxRDtBQUNyRCxtREFBcUM7QUFFeEIsUUFBQSxhQUFhLEdBQUcsR0FBRyxtQkFBVSxhQUFhLENBQUM7QUFFeEQsU0FBZ0IsT0FBTyxDQUFDLEdBQVcsRUFBRSxRQUFrQixFQUFFLE9BQWlCO0lBQ3hFLElBQUksQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QiwyRUFBMkU7WUFDM0UsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDO2FBQU0sQ0FBQztZQUNOLHVEQUF1RDtZQUN2RCxXQUFXLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsS0FBZTtJQUNsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0FBQ0gsQ0FBQztBQUVE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LENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CO1NBQ3JELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDM0IsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNWLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gXCJmYXN0LWdsb2JcIjtcbmltcG9ydCB7IFBST0pFTl9ESVIsIFBST0pFTl9NQVJLRVIgfSBmcm9tIFwiLi9jb21tb25cIjtcbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSBcIi4vbG9nZ2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRklMRV9NQU5JRkVTVCA9IGAke1BST0pFTl9ESVJ9L2ZpbGVzLmpzb25gO1xuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cChkaXI6IHN0cmluZywgbmV3RmlsZXM6IHN0cmluZ1tdLCBleGNsdWRlOiBzdHJpbmdbXSkge1xuICB0cnkge1xuICAgIGNvbnN0IG1hbmlmZXN0RmlsZXMgPSBnZXRGaWxlc0Zyb21NYW5pZmVzdChkaXIpO1xuICAgIGlmIChtYW5pZmVzdEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIFVzZSBgRklMRV9NQU5JRkVTVGAgdG8gcmVtb3ZlIGZpbGVzIHRoYXQgYXJlIG5vIGxvbmdlciBtYW5hZ2VkIGJ5IHByb2plblxuICAgICAgcmVtb3ZlRmlsZXMoZmluZE9ycGhhbmVkRmlsZXMoZGlyLCBtYW5pZmVzdEZpbGVzLCBuZXdGaWxlcykpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZW1vdmUgYWxsIGZpbGVzIG1hbmFnZWQgYnkgcHJvamVuIHdpdGggbGVnYWN5IGxvZ2ljXG4gICAgICByZW1vdmVGaWxlcyhmaW5kR2VuZXJhdGVkRmlsZXMoZGlyLCBleGNsdWRlKSk7XG4gICAgfVxuICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICBsb2dnaW5nLndhcm4oYHdhcm5pbmc6IGZhaWxlZCB0byBjbGVhbiB1cCBnZW5lcmF0ZWQgZmlsZXM6ICR7ZS5zdGFja31gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW1vdmVGaWxlcyhmaWxlczogc3RyaW5nW10pIHtcbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgZnMucm1TeW5jKGZpbGUsIHsgZm9yY2U6IHRydWUsIHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kR2VuZXJhdGVkRmlsZXMoZGlyOiBzdHJpbmcsIGV4Y2x1ZGU6IHN0cmluZ1tdKSB7XG4gIGNvbnN0IGlnbm9yZSA9IFtcbiAgICAuLi5yZWFkR2l0SWdub3JlKGRpciksXG4gICAgXCJub2RlX21vZHVsZXMvKipcIixcbiAgICAuLi5leGNsdWRlLFxuICAgIFwiLmdpdC8qKlwiLFxuICBdO1xuXG4gIGNvbnN0IGZpbGVzID0gZ2xvYi5zeW5jKFwiKipcIiwge1xuICAgIGlnbm9yZSxcbiAgICBjd2Q6IGRpcixcbiAgICBkb3Q6IHRydWUsXG4gICAgb25seUZpbGVzOiB0cnVlLFxuICAgIGZvbGxvd1N5bWJvbGljTGlua3M6IGZhbHNlLFxuICAgIGFic29sdXRlOiB0cnVlLFxuICB9KTtcblxuICBjb25zdCBnZW5lcmF0ZWQgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgIGNvbnN0IGNvbnRlbnRzID0gZnMucmVhZEZpbGVTeW5jKGZpbGUsIFwidXRmLThcIik7XG5cbiAgICBpZiAoY29udGVudHMuaW5jbHVkZXMoUFJPSkVOX01BUktFUikpIHtcbiAgICAgIGdlbmVyYXRlZC5wdXNoKGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBnZW5lcmF0ZWQ7XG59XG5cbmZ1bmN0aW9uIGZpbmRPcnBoYW5lZEZpbGVzKFxuICBkaXI6IHN0cmluZyxcbiAgb2xkRmlsZXM6IHN0cmluZ1tdLFxuICBuZXdGaWxlczogc3RyaW5nW10sXG4pIHtcbiAgcmV0dXJuIG9sZEZpbGVzXG4gICAgLmZpbHRlcigob2xkKSA9PiAhbmV3RmlsZXMuaW5jbHVkZXMob2xkKSlcbiAgICAubWFwKChmOiBzdHJpbmcpID0+IHBhdGgucmVzb2x2ZShkaXIsIGYpKTtcbn1cblxuZnVuY3Rpb24gZ2V0RmlsZXNGcm9tTWFuaWZlc3QoZGlyOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHRyeSB7XG4gICAgY29uc3QgZmlsZU1hbmlmZXN0UGF0aCA9IHBhdGgucmVzb2x2ZShkaXIsIEZJTEVfTUFOSUZFU1QpO1xuICAgIGlmIChmcy5leGlzdHNTeW5jKGZpbGVNYW5pZmVzdFBhdGgpKSB7XG4gICAgICBjb25zdCBmaWxlTWFuaWZlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgICBmcy5yZWFkRmlsZVN5bmMoZmlsZU1hbmlmZXN0UGF0aCwgXCJ1dGYtOFwiKSxcbiAgICAgICk7XG4gICAgICBpZiAoZmlsZU1hbmlmZXN0LmZpbGVzKSB7XG4gICAgICAgIHJldHVybiBmaWxlTWFuaWZlc3QuZmlsZXM7XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICBsb2dnaW5nLndhcm4oXG4gICAgICBgd2FybmluZzogdW5hYmxlIHRvIGdldCBmaWxlcyB0byBjbGVhbiBmcm9tIGZpbGUgbWFuaWZlc3Q6ICR7ZS5zdGFja31gLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gW107XG59XG5cbmZ1bmN0aW9uIHJlYWRHaXRJZ25vcmUoZGlyOiBzdHJpbmcpIHtcbiAgY29uc3QgZmlsZXBhdGggPSBwYXRoLmpvaW4oZGlyLCBcIi5naXRpZ25vcmVcIik7XG4gIGlmICghZnMuZXhpc3RzU3luYyhmaWxlcGF0aCkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4gZnNcbiAgICAucmVhZEZpbGVTeW5jKGZpbGVwYXRoLCBcInV0Zi04XCIpXG4gICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgLmZpbHRlcigoeCkgPT4geD8udHJpbSgpICE9PSBcIlwiKVxuICAgIC5maWx0ZXIoKHgpID0+ICF4LnN0YXJ0c1dpdGgoXCIjXCIpICYmICF4LnN0YXJ0c1dpdGgoXCIhXCIpKVxuICAgIC5tYXAoKHgpID0+IHgucmVwbGFjZSgvXlxcLy8sIFwiXCIpKSAvLyByZW1vdmUgXCIvXCIgcHJlZml4XG4gICAgLm1hcCgoeCkgPT4gYCR7eH1cXG4ke3h9LyoqYClcbiAgICAuam9pbihcIlxcblwiKVxuICAgIC5zcGxpdChcIlxcblwiKTtcbn1cbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW51cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGVhbnVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLDBCQWdCQztBQXhCRCx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLGdEQUFrQztBQUNsQyxxQ0FBcUQ7QUFDckQsbURBQXFDO0FBRXhCLFFBQUEsYUFBYSxHQUFHLEdBQUcsbUJBQVUsYUFBYSxDQUFDO0FBRXhELFNBQWdCLE9BQU8sQ0FBQyxHQUFXLEVBQUUsUUFBa0IsRUFBRSxPQUFpQjtJQUN4RSxJQUFJLENBQUM7UUFDSCxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsMkVBQTJFO1lBQzNFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQzthQUFNLENBQUM7WUFDTix1REFBdUQ7WUFDdkQsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztRQUNoQixPQUFPLENBQUMsSUFBSSxDQUNWLHVHQUF1RztZQUNyRyx5RUFBeUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUNyRixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxLQUFlO0lBQ2xDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7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Q1osQ0FBQztJQUVELE9BQU8sRUFBRTtTQUNOLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO1NBQy9CLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDWCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDL0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7U0FDckQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ1YsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGdsb2IgZnJvbSBcImZhc3QtZ2xvYlwiO1xuaW1wb3J0IHsgUFJPSkVOX0RJUiwgUFJPSkVOX01BUktFUiB9IGZyb20gXCIuL2NvbW1vblwiO1xuaW1wb3J0ICogYXMgbG9nZ2luZyBmcm9tIFwiLi9sb2dnaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBGSUxFX01BTklGRVNUID0gYCR7UFJPSkVOX0RJUn0vZmlsZXMuanNvbmA7XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbnVwKGRpcjogc3RyaW5nLCBuZXdGaWxlczogc3RyaW5nW10sIGV4Y2x1ZGU6IHN0cmluZ1tdKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgbWFuaWZlc3RGaWxlcyA9IGdldEZpbGVzRnJvbU1hbmlmZXN0KGRpcik7XG4gICAgaWYgKG1hbmlmZXN0RmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gVXNlIGBGSUxFX01BTklGRVNUYCB0byByZW1vdmUgZmlsZXMgdGhhdCBhcmUgbm8gbG9uZ2VyIG1hbmFnZWQgYnkgcHJvamVuXG4gICAgICByZW1vdmVGaWxlcyhmaW5kT3JwaGFuZWRGaWxlcyhkaXIsIG1hbmlmZXN0RmlsZXMsIG5ld0ZpbGVzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJlbW92ZSBhbGwgZmlsZXMgbWFuYWdlZCBieSBwcm9qZW4gd2l0aCBsZWdhY3kgbG9naWNcbiAgICAgIHJlbW92ZUZpbGVzKGZpbmRHZW5lcmF0ZWRGaWxlcyhkaXIsIGV4Y2x1ZGUpKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgIGxvZ2dpbmcud2FybihcbiAgICAgIGBDb3VsZCBub3QgY2xlYW4gdXAgcHJldmlvdXNseSBnZW5lcmF0ZWQgZmlsZXMsIHNvIG91dGRhdGVkIGZpbGVzIG1heSBiZSBsZWZ0IGJlaGluZCBpbiB5b3VyIHByb2plY3QuIGAgK1xuICAgICAgICBgU3ludGhlc2lzIGNvbnRpbnVlcywgYnV0IHlvdSBtYXkgbmVlZCB0byBkZWxldGUgdGhlbSB5b3Vyc2VsZi4gRXJyb3I6ICR7ZS5zdGFja31gLFxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlRmlsZXMoZmlsZXM6IHN0cmluZ1tdKSB7XG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgIGZzLnJtU3luYyhmaWxlLCB7IGZvcmNlOiB0cnVlLCByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEdlbmVyYXRlZEZpbGVzKGRpcjogc3RyaW5nLCBleGNsdWRlOiBzdHJpbmdbXSkge1xuICBjb25zdCBpZ25vcmUgPSBbXG4gICAgLi4ucmVhZEdpdElnbm9yZShkaXIpLFxuICAgIFwibm9kZV9tb2R1bGVzLyoqXCIsXG4gICAgLi4uZXhjbHVkZSxcbiAgICBcIi5naXQvKipcIixcbiAgXTtcblxuICBjb25zdCBmaWxlcyA9IGdsb2Iuc3luYyhcIioqXCIsIHtcbiAgICBpZ25vcmUsXG4gICAgY3dkOiBkaXIsXG4gICAgZG90OiB0cnVlLFxuICAgIG9ubHlGaWxlczogdHJ1ZSxcbiAgICBmb2xsb3dTeW1ib2xpY0xpbmtzOiBmYWxzZSxcbiAgICBhYnNvbHV0ZTogdHJ1ZSxcbiAgfSk7XG5cbiAgY29uc3QgZ2VuZXJhdGVkID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBjb250ZW50cyA9IGZzLnJlYWRGaWxlU3luYyhmaWxlLCBcInV0Zi04XCIpO1xuXG4gICAgaWYgKGNvbnRlbnRzLmluY2x1ZGVzKFBST0pFTl9NQVJLRVIpKSB7XG4gICAgICBnZW5lcmF0ZWQucHVzaChmaWxlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZ2VuZXJhdGVkO1xufVxuXG5mdW5jdGlvbiBmaW5kT3JwaGFuZWRGaWxlcyhcbiAgZGlyOiBzdHJpbmcsXG4gIG9sZEZpbGVzOiBzdHJpbmdbXSxcbiAgbmV3RmlsZXM6IHN0cmluZ1tdLFxuKSB7XG4gIHJldHVybiBvbGRGaWxlc1xuICAgIC5maWx0ZXIoKG9sZCkgPT4gIW5ld0ZpbGVzLmluY2x1ZGVzKG9sZCkpXG4gICAgLm1hcCgoZjogc3RyaW5nKSA9PiByZXNvbHZlV2l0aGluRGlyKGRpciwgZikpXG4gICAgLmZpbHRlcigoZik6IGYgaXMgc3RyaW5nID0+IGYgIT09IHVuZGVmaW5lZCk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBmaWxlIHBhdGggdGFrZW4gZnJvbSB0aGUgZmlsZSBtYW5pZmVzdCBhZ2FpbnN0IHRoZSBwcm9qZWN0XG4gKiBkaXJlY3RvcnksIG1ha2luZyBzdXJlIHRoZSByZXN1bHQgc3RheXMgaW5zaWRlIG9mIGl0LlxuICpcbiAqIFRoZSBmaWxlIG1hbmlmZXN0IGlzIGNoZWNrZWQgaW50byB0aGUgcmVwb3NpdG9yeSBhbmQgaXMgdGhlcmVmb3JlIHVudHJ1c3RlZFxuICogaW5wdXQ6IHdpdGhvdXQgdGhpcyBjaGVjaywgYSBtYW5pZmVzdCBjb250YWluaW5nIGAuLi9gIG9yIGFic29sdXRlIHBhdGhcbiAqIGVudHJpZXMgd291bGQgbWFrZSBjbGVhbnVwIGRlbGV0ZSBmaWxlcyBvdXRzaWRlIG9mIHRoZSBwcm9qZWN0IGRpcmVjdG9yeS5cbiAqXG4gKiBAcmV0dXJucyB0aGUgYWJzb2x1dGUgcGF0aCB0byBkZWxldGUsIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBlbnRyeSBkb2VzIG5vdFxuICogcmVzb2x2ZSB0byBhIGxvY2F0aW9uIGluc2lkZSBgZGlyYC5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVdpdGhpbkRpcihkaXI6IHN0cmluZywgZmlsZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc2tpcCA9IChyZWFzb246IHN0cmluZykgPT4ge1xuICAgIGxvZ2dpbmcud2FybihcbiAgICAgIGBOb3QgZGVsZXRpbmcgJHtKU09OLnN0cmluZ2lmeShmaWxlKX0gZHVyaW5nIGNsZWFudXAgYmVjYXVzZSAke3JlYXNvbn0uIGAgK1xuICAgICAgICBgcHJvamVuIG9ubHkgcmVtb3ZlcyBnZW5lcmF0ZWQgZmlsZXMgaW5zaWRlIHlvdXIgcHJvamVjdCBkaXJlY3RvcnkuIGAgK1xuICAgICAgICBgVGhpcyBlbnRyeSBpbiAke0ZJTEVfTUFOSUZFU1R9IHNob3VsZCBub3QgYmUgdGhlcmUgLSByZXZpZXcgaXQgKGFuZCB3aG8gY2hhbmdlZCBpdCkgaW4gdmVyc2lvbiBjb250cm9sLCBgICtcbiAgICAgICAgYGFuZCBkZWxldGUgdGhlIGZpbGUgeW91cnNlbGYgaWYgeW91IHJlYWxseSBubyBsb25nZXIgbmVlZCBpdC5gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICBpZiAodHlwZW9mIGZpbGUgIT09IFwic3RyaW5nXCIgfHwgZmlsZS50cmltKCkgPT09IFwiXCIpIHtcbiAgICByZXR1cm4gc2tpcChcIml0IGlzIG5vdCBhIGZpbGUgcGF0aFwiKTtcbiAgfVxuXG4gIGlmIChwYXRoLmlzQWJzb2x1dGUoZmlsZSkpIHtcbiAgICByZXR1cm4gc2tpcChcIml0IGlzIGFuIGFic29sdXRlIHBhdGggaW5zdGVhZCBvZiBhIHBhdGggaW4geW91ciBwcm9qZWN0XCIpO1xuICB9XG5cbiAgY29uc3QgYmFzZURpciA9IHJlYWxwYXRoT2ZDbG9zZXN0RXhpc3RpbmcoZGlyKTtcbiAgY29uc3QgcmVzb2x2ZWQgPSBwYXRoLnJlc29sdmUoYmFzZURpciwgZmlsZSk7XG5cbiAgaWYgKCFpc1BhdGhJbnNpZGUoYmFzZURpciwgcmVzb2x2ZWQpKSB7XG4gICAgcmV0dXJuIHNraXAoXCJpdCBwb2ludHMgb3V0c2lkZSBvZiB5b3VyIHByb2plY3QgZGlyZWN0b3J5XCIpO1xuICB9XG5cbiAgLy8gdGhlIGVudHJ5IG1pZ2h0IHRyYXZlcnNlIG91dHNpZGUgb2YgdGhlIHByb2plY3QgdGhyb3VnaCBhIHN5bWxpbmtlZFxuICAvLyBkaXJlY3RvcnksIHdoaWNoIGBwYXRoLnJlc29sdmVgIGNhbm5vdCBkZXRlY3QuIFRoZSBsYXN0IHBhdGggc2VnbWVudCBpc1xuICAvLyBpbnRlbnRpb25hbGx5IGtlcHQgYXMtaXM6IHJlbW92aW5nIGEgc3ltbGluayBpbnNpZGUgdGhlIHByb2plY3Qgb25seVxuICAvLyBkZWxldGVzIHRoZSBsaW5rIGl0c2VsZiwgbm90IGl0cyB0YXJnZXQuXG4gIGNvbnN0IHJlYWxQYXJlbnQgPSByZWFscGF0aE9mQ2xvc2VzdEV4aXN0aW5nKHBhdGguZGlybmFtZShyZXNvbHZlZCkpO1xuICBpZiAoIWlzUGF0aEluc2lkZShiYXNlRGlyLCBwYXRoLmpvaW4ocmVhbFBhcmVudCwgcGF0aC5iYXNlbmFtZShyZXNvbHZlZCkpKSkge1xuICAgIHJldHVybiBza2lwKFxuICAgICAgXCJpdCBwb2ludHMgb3V0c2lkZSBvZiB5b3VyIHByb2plY3QgZGlyZWN0b3J5IHRocm91Z2ggYSBzeW1saW5rXCIsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiByZXNvbHZlZDtcbn1cblxuZnVuY3Rpb24gaXNQYXRoSW5zaWRlKGRpcjogc3RyaW5nLCBmaWxlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcmVsYXRpdmUgPSBwYXRoLnJlbGF0aXZlKGRpciwgZmlsZSk7XG4gIHJldHVybiAoXG4gICAgcmVsYXRpdmUgIT09IFwiXCIgJiZcbiAgICAhcmVsYXRpdmUuc3RhcnRzV2l0aChgLi4ke3BhdGguc2VwfWApICYmXG4gICAgcmVsYXRpdmUgIT09IFwiLi5cIiAmJlxuICAgICFwYXRoLmlzQWJzb2x1dGUocmVsYXRpdmUpXG4gICk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgc3ltbGlua3MgaW4gYHBgLCBmYWxsaW5nIGJhY2sgdG8gdGhlIGNsb3Nlc3QgZXhpc3RpbmcgYW5jZXN0b3IgZm9yXG4gKiBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCAoeWV0KS5cbiAqL1xuZnVuY3Rpb24gcmVhbHBhdGhPZkNsb3Nlc3RFeGlzdGluZyhwOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBtaXNzaW5nID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgbGV0IGN1cnJlbnQgPSBwYXRoLnJlc29sdmUocCk7XG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBhdGguam9pbihmcy5yZWFscGF0aFN5bmMoY3VycmVudCksIC4uLm1pc3NpbmcpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY29uc3QgcGFyZW50ID0gcGF0aC5kaXJuYW1lKGN1cnJlbnQpO1xuICAgICAgaWYgKHBhcmVudCA9PT0gY3VycmVudCkge1xuICAgICAgICByZXR1cm4gcGF0aC5yZXNvbHZlKHApO1xuICAgICAgfVxuICAgICAgbWlzc2luZy51bnNoaWZ0KHBhdGguYmFzZW5hbWUoY3VycmVudCkpO1xuICAgICAgY3VycmVudCA9IHBhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0RmlsZXNGcm9tTWFuaWZlc3QoZGlyOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHRyeSB7XG4gICAgY29uc3QgZmlsZU1hbmlmZXN0UGF0aCA9IHBhdGgucmVzb2x2ZShkaXIsIEZJTEVfTUFOSUZFU1QpO1xuICAgIGlmIChmcy5leGlzdHNTeW5jKGZpbGVNYW5pZmVzdFBhdGgpKSB7XG4gICAgICBjb25zdCBmaWxlTWFuaWZlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgICBmcy5yZWFkRmlsZVN5bmMoZmlsZU1hbmlmZXN0UGF0aCwgXCJ1dGYtOFwiKSxcbiAgICAgICk7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWxlTWFuaWZlc3QuZmlsZXMpKSB7XG4gICAgICAgIHJldHVybiBmaWxlTWFuaWZlc3QuZmlsZXM7XG4gICAgICB9XG4gICAgICBpZiAoZmlsZU1hbmlmZXN0LmZpbGVzKSB7XG4gICAgICAgIGxvZ2dpbmcuZGVidWcoXG4gICAgICAgICAgYFwiZmlsZXNcIiBpbiAke0ZJTEVfTUFOSUZFU1R9IGlzIG5vdCBhIGxpc3Qgb2YgZmlsZXMsIHNvIGl0IGNhbm5vdCBiZSB1c2VkIHRvIGZpbmQgZmlsZXMgdG8gY2xlYW4gdXAuIEZhbGxpbmcgYmFjayB0byBzY2FubmluZyB5b3VyIHByb2plY3QgZm9yIHByb2plbi1nZW5lcmF0ZWQgZmlsZXMuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgIGxvZ2dpbmcud2FybihcbiAgICAgIGBDb3VsZCBub3QgcmVhZCB0aGUgbGlzdCBvZiBnZW5lcmF0ZWQgZmlsZXMgZnJvbSAke0ZJTEVfTUFOSUZFU1R9LCBzbyBwcm9qZW4gd2lsbCBzY2FuIHlvdXIgcHJvamVjdCBmb3IgZ2VuZXJhdGVkIGZpbGVzIGluc3RlYWQuIGAgK1xuICAgICAgICBgQ2hlY2sgdGhhdCB0aGUgZmlsZSBleGlzdHMgaW4gdmVyc2lvbiBjb250cm9sIGFuZCBjb250YWlucyB2YWxpZCBKU09OLiBFcnJvcjogJHtlLnN0YWNrfWAsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBbXTtcbn1cblxuZnVuY3Rpb24gcmVhZEdpdElnbm9yZShkaXI6IHN0cmluZykge1xuICBjb25zdCBmaWxlcGF0aCA9IHBhdGguam9pbihkaXIsIFwiLmdpdGlnbm9yZVwiKTtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGZpbGVwYXRoKSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBmc1xuICAgIC5yZWFkRmlsZVN5bmMoZmlsZXBhdGgsIFwidXRmLThcIilcbiAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAuZmlsdGVyKCh4KSA9PiB4Py50cmltKCkgIT09IFwiXCIpXG4gICAgLmZpbHRlcigoeCkgPT4gIXguc3RhcnRzV2l0aChcIiNcIikgJiYgIXguc3RhcnRzV2l0aChcIiFcIikpXG4gICAgLm1hcCgoeCkgPT4geC5yZXBsYWNlKC9eXFwvLywgXCJcIikpIC8vIHJlbW92ZSBcIi9cIiBwcmVmaXhcbiAgICAubWFwKCh4KSA9PiBgJHt4fVxcbiR7eH0vKipgKVxuICAgIC5qb2luKFwiXFxuXCIpXG4gICAgLnNwbGl0KFwiXFxuXCIpO1xufVxuIl19
package/lib/component.js CHANGED
@@ -16,7 +16,7 @@ const componentId = (scope) => {
16
16
  * @param id Unique id of the component. If not provided, an unstable AutoId is generated.
17
17
  */
18
18
  class Component extends constructs_1.Construct {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Component", version: "0.101.36" };
19
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Component", version: "0.102.0" };
20
20
  /**
21
21
  * Test whether the given construct is a component.
22
22
  */
@@ -175,7 +175,7 @@ function guardDetached(target) {
175
175
  * ```
176
176
  */
177
177
  class FutureComponent extends Component {
178
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FutureComponent", version: "0.101.36" };
178
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FutureComponent", version: "0.102.0" };
179
179
  newTargetName;
180
180
  attachedState = false;
181
181
  constructor() {
@@ -51,7 +51,7 @@ const json_1 = require("./json");
51
51
  * `nodeProject.addDeps()` or use the generic API of `project.deps`:
52
52
  */
53
53
  class Dependencies extends component_1.Component {
54
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Dependencies", version: "0.101.36" };
54
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Dependencies", version: "0.102.0" };
55
55
  /**
56
56
  * The project-relative path of the deps manifest file.
57
57
  */
package/lib/dev-env.js CHANGED
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  * Options for specifying the Docker image of the container.
7
7
  */
8
8
  class DevEnvironmentDockerImage {
9
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DevEnvironmentDockerImage", version: "0.101.36" };
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DevEnvironmentDockerImage", version: "0.102.0" };
10
10
  /**
11
11
  * A publicly available Docker image.
12
12
  * @example 'ubuntu:latest'
@@ -7,7 +7,7 @@ const docker_compose_1 = require("./docker-compose");
7
7
  * A docker-compose service.
8
8
  */
9
9
  class DockerComposeService {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerComposeService", version: "0.101.36" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerComposeService", version: "0.102.0" };
11
11
  /**
12
12
  * Name of the service.
13
13
  */
@@ -11,7 +11,7 @@ const yaml_1 = require("../yaml");
11
11
  * Create a docker-compose YAML file.
12
12
  */
13
13
  class DockerCompose extends component_1.Component {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerCompose", version: "0.101.36" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerCompose", version: "0.102.0" };
15
15
  /**
16
16
  * Depends on a service name.
17
17
  */
package/lib/file.js CHANGED
@@ -45,7 +45,7 @@ const util_1 = require("./util");
45
45
  const constructs_1 = require("./util/constructs");
46
46
  const diff_1 = require("./util/diff");
47
47
  class FileBase extends component_1.Component {
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FileBase", version: "0.101.36" };
48
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FileBase", version: "0.102.0" };
49
49
  /**
50
50
  * The file path, relative to the project's outdir.
51
51
  */
@@ -32,7 +32,7 @@ var EndOfLine;
32
32
  * @see https://git-scm.com/docs/gitattributes
33
33
  */
34
34
  class GitAttributesFile extends file_1.FileBase {
35
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.GitAttributesFile", version: "0.101.36" };
35
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.GitAttributesFile", version: "0.102.0" };
36
36
  attributes = new Map();
37
37
  /**
38
38
  * The default end of line character for text files.
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  * Manage the versions used for GitHub Actions used in steps
7
7
  */
8
8
  class GitHubActionsProvider {
9
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubActionsProvider", version: "0.101.36" };
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubActionsProvider", version: "0.102.0" };
10
10
  actions = new Map();
11
11
  /**
12
12
  * Define an override for a given action.
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Fully qualified references for all GitHub Actions used by this project.
3
+ */
4
+ export declare class GitHubActions {
5
+ /** actions/checkout at v7 */
6
+ static readonly ACTIONS_CHECKOUT = "actions/checkout@v7";
7
+ /** actions/create-github-app-token at v3.2.0 (immutable) */
8
+ static readonly ACTIONS_CREATE_GITHUB_APP_TOKEN = "actions/create-github-app-token@v3.2.0";
9
+ /** actions/dependency-review-action at v5.0.0 */
10
+ static readonly ACTIONS_DEPENDENCY_REVIEW_ACTION = "actions/dependency-review-action@v5.0.0";
11
+ /** actions/download-artifact at v8 */
12
+ static readonly ACTIONS_DOWNLOAD_ARTIFACT = "actions/download-artifact@v8";
13
+ /** actions/github-script at v9 */
14
+ static readonly ACTIONS_GITHUB_SCRIPT = "actions/github-script@v9";
15
+ /** actions/setup-dotnet at v6 */
16
+ static readonly ACTIONS_SETUP_DOTNET = "actions/setup-dotnet@v6";
17
+ /** actions/setup-go at v7 */
18
+ static readonly ACTIONS_SETUP_GO = "actions/setup-go@v7";
19
+ /** actions/setup-java at v5 */
20
+ static readonly ACTIONS_SETUP_JAVA = "actions/setup-java@v5";
21
+ /** actions/setup-node at v7 */
22
+ static readonly ACTIONS_SETUP_NODE = "actions/setup-node@v7";
23
+ /** actions/setup-python at v7 */
24
+ static readonly ACTIONS_SETUP_PYTHON = "actions/setup-python@v7";
25
+ /** actions/stale at v11 */
26
+ static readonly ACTIONS_STALE = "actions/stale@v11";
27
+ /** actions/upload-artifact at v7 */
28
+ static readonly ACTIONS_UPLOAD_ARTIFACT = "actions/upload-artifact@v7";
29
+ /** amannn/action-semantic-pull-request at v6 */
30
+ static readonly AMANNN_ACTION_SEMANTIC_PULL_REQUEST = "amannn/action-semantic-pull-request@v6";
31
+ /** aws-actions/configure-aws-credentials at v6 */
32
+ static readonly AWS_ACTIONS_CONFIGURE_AWS_CREDENTIALS = "aws-actions/configure-aws-credentials@v6";
33
+ /** codecov/codecov-action at v7 */
34
+ static readonly CODECOV_CODECOV_ACTION = "codecov/codecov-action@v7";
35
+ /** oven-sh/setup-bun at v2 */
36
+ static readonly OVEN_SH_SETUP_BUN = "oven-sh/setup-bun@v2";
37
+ /** peter-evans/create-pull-request at v8 */
38
+ static readonly PETER_EVANS_CREATE_PULL_REQUEST = "peter-evans/create-pull-request@v8";
39
+ /** pnpm/action-setup at v6 */
40
+ static readonly PNPM_ACTION_SETUP = "pnpm/action-setup@v6";
41
+ /** sqren/backport-github-action at v12 */
42
+ static readonly SQREN_BACKPORT_GITHUB_ACTION = "sqren/backport-github-action@v12";
43
+ private constructor();
44
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ // ~~ Generated by projen. To modify, edit .projenrc.ts and run "node ./projen.js".
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.GitHubActions = void 0;
5
+ /**
6
+ * Fully qualified references for all GitHub Actions used by this project.
7
+ */
8
+ class GitHubActions {
9
+ /** actions/checkout at v7 */
10
+ static ACTIONS_CHECKOUT = "actions/checkout@v7";
11
+ /** actions/create-github-app-token at v3.2.0 (immutable) */
12
+ static ACTIONS_CREATE_GITHUB_APP_TOKEN = "actions/create-github-app-token@v3.2.0";
13
+ /** actions/dependency-review-action at v5.0.0 */
14
+ static ACTIONS_DEPENDENCY_REVIEW_ACTION = "actions/dependency-review-action@v5.0.0";
15
+ /** actions/download-artifact at v8 */
16
+ static ACTIONS_DOWNLOAD_ARTIFACT = "actions/download-artifact@v8";
17
+ /** actions/github-script at v9 */
18
+ static ACTIONS_GITHUB_SCRIPT = "actions/github-script@v9";
19
+ /** actions/setup-dotnet at v6 */
20
+ static ACTIONS_SETUP_DOTNET = "actions/setup-dotnet@v6";
21
+ /** actions/setup-go at v7 */
22
+ static ACTIONS_SETUP_GO = "actions/setup-go@v7";
23
+ /** actions/setup-java at v5 */
24
+ static ACTIONS_SETUP_JAVA = "actions/setup-java@v5";
25
+ /** actions/setup-node at v7 */
26
+ static ACTIONS_SETUP_NODE = "actions/setup-node@v7";
27
+ /** actions/setup-python at v7 */
28
+ static ACTIONS_SETUP_PYTHON = "actions/setup-python@v7";
29
+ /** actions/stale at v11 */
30
+ static ACTIONS_STALE = "actions/stale@v11";
31
+ /** actions/upload-artifact at v7 */
32
+ static ACTIONS_UPLOAD_ARTIFACT = "actions/upload-artifact@v7";
33
+ /** amannn/action-semantic-pull-request at v6 */
34
+ static AMANNN_ACTION_SEMANTIC_PULL_REQUEST = "amannn/action-semantic-pull-request@v6";
35
+ /** aws-actions/configure-aws-credentials at v6 */
36
+ static AWS_ACTIONS_CONFIGURE_AWS_CREDENTIALS = "aws-actions/configure-aws-credentials@v6";
37
+ /** codecov/codecov-action at v7 */
38
+ static CODECOV_CODECOV_ACTION = "codecov/codecov-action@v7";
39
+ /** oven-sh/setup-bun at v2 */
40
+ static OVEN_SH_SETUP_BUN = "oven-sh/setup-bun@v2";
41
+ /** peter-evans/create-pull-request at v8 */
42
+ static PETER_EVANS_CREATE_PULL_REQUEST = "peter-evans/create-pull-request@v8";
43
+ /** pnpm/action-setup at v6 */
44
+ static PNPM_ACTION_SETUP = "pnpm/action-setup@v6";
45
+ /** sqren/backport-github-action at v12 */
46
+ static SQREN_BACKPORT_GITHUB_ACTION = "sqren/backport-github-action@v12";
47
+ constructor() { }
48
+ }
49
+ exports.GitHubActions = GitHubActions;
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXRodWIvYWN0aW9ucy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsbUZBQW1GOzs7QUFFbkY7O0dBRUc7QUFDSCxNQUFhLGFBQWE7SUFDeEIsNkJBQTZCO0lBQ3RCLE1BQU0sQ0FBVSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztJQUNoRSw0REFBNEQ7SUFDckQsTUFBTSxDQUFVLCtCQUErQixHQUFHLHdDQUF3QyxDQUFDO0lBQ2xHLGlEQUFpRDtJQUMxQyxNQUFNLENBQVUsZ0NBQWdDLEdBQUcseUNBQXlDLENBQUM7SUFDcEcsc0NBQXNDO0lBQy9CLE1BQU0sQ0FBVSx5QkFBeUIsR0FBRyw4QkFBOEIsQ0FBQztJQUNsRixrQ0FBa0M7SUFDM0IsTUFBTSxDQUFVLHFCQUFxQixHQUFHLDBCQUEwQixDQUFDO0lBQzFFLGlDQUFpQztJQUMxQixNQUFNLENBQVUsb0JBQW9CLEdBQUcseUJBQXlCLENBQUM7SUFDeEUsNkJBQTZCO0lBQ3RCLE1BQU0sQ0FBVSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztJQUNoRSwrQkFBK0I7SUFDeEIsTUFBTSxDQUFVLGtCQUFrQixHQUFHLHVCQUF1QixDQUFDO0lBQ3BFLCtCQUErQjtJQUN4QixNQUFNLENBQVUsa0JBQWtCLEdBQUcsdUJBQXVCLENBQUM7SUFDcEUsaUNBQWlDO0lBQzFCLE1BQU0sQ0FBVSxvQkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztJQUN4RSwyQkFBMkI7SUFDcEIsTUFBTSxDQUFVLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztJQUMzRCxvQ0FBb0M7SUFDN0IsTUFBTSxDQUFVLHVCQUF1QixHQUFHLDRCQUE0QixDQUFDO0lBQzlFLGdEQUFnRDtJQUN6QyxNQUFNLENBQVUsbUNBQW1DLEdBQUcsd0NBQXdDLENBQUM7SUFDdEcsa0RBQWtEO0lBQzNDLE1BQU0sQ0FBVSxxQ0FBcUMsR0FBRywwQ0FBMEMsQ0FBQztJQUMxRyxtQ0FBbUM7SUFDNUIsTUFBTSxDQUFVLHNCQUFzQixHQUFHLDJCQUEyQixDQUFDO0lBQzVFLDhCQUE4QjtJQUN2QixNQUFNLENBQVUsaUJBQWlCLEdBQUcsc0JBQXNCLENBQUM7SUFDbEUsNENBQTRDO0lBQ3JDLE1BQU0sQ0FBVSwrQkFBK0IsR0FBRyxvQ0FBb0MsQ0FBQztJQUM5Riw4QkFBOEI7SUFDdkIsTUFBTSxDQUFVLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0lBQ2xFLDBDQUEwQztJQUNuQyxNQUFNLENBQVUsNEJBQTRCLEdBQUcsa0NBQWtDLENBQUM7SUFFekYsZ0JBQXVCLENBQUM7O0FBeEMxQixzQ0F5Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJub2RlIC4vcHJvamVuLmpzXCIuXG5cbi8qKlxuICogRnVsbHkgcXVhbGlmaWVkIHJlZmVyZW5jZXMgZm9yIGFsbCBHaXRIdWIgQWN0aW9ucyB1c2VkIGJ5IHRoaXMgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdpdEh1YkFjdGlvbnMge1xuICAvKiogYWN0aW9ucy9jaGVja291dCBhdCB2NyAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFDVElPTlNfQ0hFQ0tPVVQgPSBcImFjdGlvbnMvY2hlY2tvdXRAdjdcIjtcbiAgLyoqIGFjdGlvbnMvY3JlYXRlLWdpdGh1Yi1hcHAtdG9rZW4gYXQgdjMuMi4wIChpbW11dGFibGUpICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUNUSU9OU19DUkVBVEVfR0lUSFVCX0FQUF9UT0tFTiA9IFwiYWN0aW9ucy9jcmVhdGUtZ2l0aHViLWFwcC10b2tlbkB2My4yLjBcIjtcbiAgLyoqIGFjdGlvbnMvZGVwZW5kZW5jeS1yZXZpZXctYWN0aW9uIGF0IHY1LjAuMCAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFDVElPTlNfREVQRU5ERU5DWV9SRVZJRVdfQUNUSU9OID0gXCJhY3Rpb25zL2RlcGVuZGVuY3ktcmV2aWV3LWFjdGlvbkB2NS4wLjBcIjtcbiAgLyoqIGFjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3QgYXQgdjggKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBQ1RJT05TX0RPV05MT0FEX0FSVElGQUNUID0gXCJhY3Rpb25zL2Rvd25sb2FkLWFydGlmYWN0QHY4XCI7XG4gIC8qKiBhY3Rpb25zL2dpdGh1Yi1zY3JpcHQgYXQgdjkgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBQ1RJT05TX0dJVEhVQl9TQ1JJUFQgPSBcImFjdGlvbnMvZ2l0aHViLXNjcmlwdEB2OVwiO1xuICAvKiogYWN0aW9ucy9zZXR1cC1kb3RuZXQgYXQgdjYgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBQ1RJT05TX1NFVFVQX0RPVE5FVCA9IFwiYWN0aW9ucy9zZXR1cC1kb3RuZXRAdjZcIjtcbiAgLyoqIGFjdGlvbnMvc2V0dXAtZ28gYXQgdjcgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBQ1RJT05TX1NFVFVQX0dPID0gXCJhY3Rpb25zL3NldHVwLWdvQHY3XCI7XG4gIC8qKiBhY3Rpb25zL3NldHVwLWphdmEgYXQgdjUgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBQ1RJT05TX1NFVFVQX0pBVkEgPSBcImFjdGlvbnMvc2V0dXAtamF2YUB2NVwiO1xuICAvKiogYWN0aW9ucy9zZXR1cC1ub2RlIGF0IHY3ICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUNUSU9OU19TRVRVUF9OT0RFID0gXCJhY3Rpb25zL3NldHVwLW5vZGVAdjdcIjtcbiAgLyoqIGFjdGlvbnMvc2V0dXAtcHl0aG9uIGF0IHY3ICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUNUSU9OU19TRVRVUF9QWVRIT04gPSBcImFjdGlvbnMvc2V0dXAtcHl0aG9uQHY3XCI7XG4gIC8qKiBhY3Rpb25zL3N0YWxlIGF0IHYxMSAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFDVElPTlNfU1RBTEUgPSBcImFjdGlvbnMvc3RhbGVAdjExXCI7XG4gIC8qKiBhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdCBhdCB2NyAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFDVElPTlNfVVBMT0FEX0FSVElGQUNUID0gXCJhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdEB2N1wiO1xuICAvKiogYW1hbm5uL2FjdGlvbi1zZW1hbnRpYy1wdWxsLXJlcXVlc3QgYXQgdjYgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBTUFOTk5fQUNUSU9OX1NFTUFOVElDX1BVTExfUkVRVUVTVCA9IFwiYW1hbm5uL2FjdGlvbi1zZW1hbnRpYy1wdWxsLXJlcXVlc3RAdjZcIjtcbiAgLyoqIGF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHMgYXQgdjYgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBV1NfQUNUSU9OU19DT05GSUdVUkVfQVdTX0NSRURFTlRJQUxTID0gXCJhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY2XCI7XG4gIC8qKiBjb2RlY292L2NvZGVjb3YtYWN0aW9uIGF0IHY3ICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09ERUNPVl9DT0RFQ09WX0FDVElPTiA9IFwiY29kZWNvdi9jb2RlY292LWFjdGlvbkB2N1wiO1xuICAvKiogb3Zlbi1zaC9zZXR1cC1idW4gYXQgdjIgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBPVkVOX1NIX1NFVFVQX0JVTiA9IFwib3Zlbi1zaC9zZXR1cC1idW5AdjJcIjtcbiAgLyoqIHBldGVyLWV2YW5zL2NyZWF0ZS1wdWxsLXJlcXVlc3QgYXQgdjggKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQRVRFUl9FVkFOU19DUkVBVEVfUFVMTF9SRVFVRVNUID0gXCJwZXRlci1ldmFucy9jcmVhdGUtcHVsbC1yZXF1ZXN0QHY4XCI7XG4gIC8qKiBwbnBtL2FjdGlvbi1zZXR1cCBhdCB2NiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBOUE1fQUNUSU9OX1NFVFVQID0gXCJwbnBtL2FjdGlvbi1zZXR1cEB2NlwiO1xuICAvKiogc3FyZW4vYmFja3BvcnQtZ2l0aHViLWFjdGlvbiBhdCB2MTIgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTUVJFTl9CQUNLUE9SVF9HSVRIVUJfQUNUSU9OID0gXCJzcXJlbi9iYWNrcG9ydC1naXRodWItYWN0aW9uQHYxMlwiO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxufSJdfQ==
@@ -9,7 +9,7 @@ const runner_options_1 = require("../runner-options");
9
9
  * Auto approve pull requests that meet a criteria
10
10
  */
11
11
  class AutoApprove extends component_1.Component {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoApprove", version: "0.101.36" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoApprove", version: "0.102.0" };
13
13
  label;
14
14
  constructor(github, options = {}) {
15
15
  super(github.project);
@@ -19,7 +19,7 @@ const component_1 = require("../component");
19
19
  * @see https://mergify.com/
20
20
  */
21
21
  class AutoMerge extends component_1.Component {
22
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoMerge", version: "0.101.36" };
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoMerge", version: "0.102.0" };
23
23
  lazyConditions = new Array();
24
24
  constructor(github, options = {}) {
25
25
  super(github.project);
@@ -54,7 +54,7 @@ var MergeMethod;
54
54
  * PRs will be merged once they pass required checks.
55
55
  */
56
56
  class AutoQueue extends component_1.Component {
57
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoQueue", version: "0.101.36" };
57
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoQueue", version: "0.102.0" };
58
58
  constructor(scope, options = {}) {
59
59
  super(scope);
60
60
  const workflowEngine = github_1.GitHub.of(this.project);
@@ -166,7 +166,7 @@ var VersioningStrategy;
166
166
  * on the lockfile itself will be proposed.
167
167
  */
168
168
  class Dependabot extends component_1.Component {
169
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Dependabot", version: "0.101.36" };
169
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Dependabot", version: "0.102.0" };
170
170
  /**
171
171
  * The raw dependabot configuration.
172
172
  * @see https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DependencyReview = void 0;
4
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
+ const actions_const_1 = require("./actions.const");
5
6
  const workflow_steps_1 = require("./workflow-steps");
6
7
  const workflows_model_1 = require("./workflows-model");
7
8
  const component_1 = require("../component");
@@ -15,7 +16,7 @@ const runner_options_1 = require("../runner-options");
15
16
  * @see https://github.com/actions/dependency-review-action
16
17
  */
17
18
  class DependencyReview extends component_1.Component {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.DependencyReview", version: "0.101.36" };
19
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.DependencyReview", version: "0.102.0" };
19
20
  constructor(github, options = {}) {
20
21
  super(github.project);
21
22
  const commentSummary = options.commentSummaryInPr ?? "always";
@@ -37,7 +38,7 @@ class DependencyReview extends component_1.Component {
37
38
  workflow_steps_1.WorkflowSteps.checkout(),
38
39
  {
39
40
  name: "Dependency Review",
40
- uses: "actions/dependency-review-action@v4",
41
+ uses: actions_const_1.GitHubActions.ACTIONS_DEPENDENCY_REVIEW_ACTION,
41
42
  with: {
42
43
  "fail-on-severity": options.failOnSeverity,
43
44
  "allow-licenses": options.allowLicenses?.join(", "),
@@ -59,4 +60,4 @@ class DependencyReview extends component_1.Component {
59
60
  }
60
61
  }
61
62
  exports.DependencyReview = DependencyReview;
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS1yZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0aHViL2RlcGVuZGVuY3ktcmV2aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxxREFBaUQ7QUFDakQsdURBQWtEO0FBQ2xELDRDQUF5QztBQUV6QyxzREFBMEQ7QUF1RzFEOzs7Ozs7O0dBT0c7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHFCQUFTOztJQUM3QyxZQUFZLE1BQWMsRUFBRSxVQUFtQyxFQUFFO1FBQy9ELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEIsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixJQUFJLFFBQVEsQ0FBQztRQUU5RCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDekQsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNWLFdBQVcsRUFBRSxFQUFFO1lBQ2YsZ0JBQWdCLEVBQUUsRUFBRTtTQUNyQixDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ2YsbUJBQW1CLEVBQUU7Z0JBQ25CLEdBQUcsSUFBQSxzQ0FBcUIsRUFBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQzdELFdBQVcsRUFBRTtvQkFDWCxRQUFRLEVBQUUsK0JBQWEsQ0FBQyxJQUFJO29CQUM1QixHQUFHLENBQUMsY0FBYyxLQUFLLE9BQU87d0JBQzVCLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSwrQkFBYSxDQUFDLEtBQUssRUFBRTt3QkFDdkMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztpQkFDUjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsOEJBQWEsQ0FBQyxRQUFRLEVBQUU7b0JBQ3hCO3dCQUNFLElBQUksRUFBRSxtQkFBbUI7d0JBQ3pCLElBQUksRUFBRSxxQ0FBcUM7d0JBQzNDLElBQUksRUFBRTs0QkFDSixrQkFBa0IsRUFBRSxPQUFPLENBQUMsY0FBYzs0QkFDMUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDOzRCQUNuRCxxQkFBcUIsRUFBRSxPQUFPLENBQUMsa0JBQWtCOzRCQUNqRCxlQUFlLEVBQUUsT0FBTyxDQUFDLFlBQVk7NEJBQ3JDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQzs0QkFDbEQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVOzRCQUNqQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDOzRCQUM3QyxlQUFlLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDOzRCQUNqRCx1QkFBdUIsRUFBRSxjQUFjOzRCQUN2QyxXQUFXLEVBQUUsT0FBTyxDQUFDLFFBQVE7NEJBQzdCLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxvQkFBb0I7NEJBQ3RELGlDQUFpQyxFQUMvQixPQUFPLENBQUMsMkJBQTJCO3lCQUN0QztxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE3Q0gsNENBOENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHaXRIdWIgfSBmcm9tIFwiLi9naXRodWJcIjtcbmltcG9ydCB7IFdvcmtmbG93U3RlcHMgfSBmcm9tIFwiLi93b3JrZmxvdy1zdGVwc1wiO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gXCIuL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBHcm91cFJ1bm5lck9wdGlvbnMgfSBmcm9tIFwiLi4vcnVubmVyLW9wdGlvbnNcIjtcbmltcG9ydCB7IGZpbHRlcmVkUnVuc09uT3B0aW9ucyB9IGZyb20gXCIuLi9ydW5uZXItb3B0aW9uc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBEZXBlbmRlbmN5UmV2aWV3IGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBlbmRlbmN5UmV2aWV3T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgbGV2ZWwgYXQgd2hpY2ggdGhlIGFjdGlvbiB3aWxsIGZhaWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWluaW11bSBzZXZlcml0eSAoYWN0aW9uIGRlZmF1bHQgaXMgXCJsb3dcIilcbiAgICovXG4gIHJlYWRvbmx5IGZhaWxPblNldmVyaXR5PzogXCJsb3dcIiB8IFwibW9kZXJhdGVcIiB8IFwiaGlnaFwiIHwgXCJjcml0aWNhbFwiO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGFsbG93ZWQgU1BEWCBsaWNlbnNlIGlkZW50aWZpZXJzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGxpY2Vuc2UgYWxsb3ctbGlzdFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dMaWNlbnNlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSB0aGUgdnVsbmVyYWJpbGl0eSBjaGVjay5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdnVsbmVyYWJpbGl0eUNoZWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgdGhlIGxpY2Vuc2UgY2hlY2suXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2VDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNjb3BlcyBvZiBkZXBlbmRlbmNpZXMgdG8gZmFpbCBvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzY29wZXMgZmlsdGVyIChhY3Rpb24gZGVmYXVsdCBpcyBcInJ1bnRpbWVcIilcbiAgICovXG4gIHJlYWRvbmx5IGZhaWxPblNjb3Blcz86IEFycmF5PFwicnVudGltZVwiIHwgXCJkZXZlbG9wbWVudFwiIHwgXCJ1bmtub3duXCI+O1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIGFuIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBleHRlcm5hbCBjb25maWdcbiAgICovXG4gIHJlYWRvbmx5IGNvbmZpZ0ZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdpdEh1YiBBZHZpc29yeSBEYXRhYmFzZSBJRHMgdGhhdCBjYW4gYmUgc2tpcHBlZCBkdXJpbmcgZGV0ZWN0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkdmlzb3JpZXMgYXJlIHNraXBwZWRcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93R2hzYXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUGFja2FnZXMgdG8gYmxvY2sgaW4gYSBQUiAoaW4gcHVybCBmb3JtYXQpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHBhY2thZ2VzIGFyZSBkZW5pZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlbnlQYWNrYWdlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBvc3QgYSBjb21tZW50IHN1bW1hcnkgb24gdGhlIFBSLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImFsd2F5c1wiXG4gICAqL1xuICByZWFkb25seSBjb21tZW50U3VtbWFyeUluUHI/OiBcImFsd2F5c1wiIHwgXCJvbi1mYWlsdXJlXCIgfCBcIm5ldmVyXCI7XG5cbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSwgdGhlIGFjdGlvbiB3aWxsIG9ubHkgd2FybiBhbmQgbm90IGZhaWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB3YXJuT25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgT3BlblNTRiBTY29yZWNhcmQgc2NvcmVzIGZvciBkZXBlbmRlbmNpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3dPcGVuU1NGU2NvcmVjYXJkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2NvcmUgdGhyZXNob2xkIGZvciBPcGVuU1NGIFNjb3JlY2FyZCB3YXJuaW5ncy5cbiAgICpcbiAgICogQGRlZmF1bHQgM1xuICAgKi9cbiAgcmVhZG9ubHkgd2Fybk9uT3BlblNTRlNjb3JlY2FyZExldmVsPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICovXG4gIHJlYWRvbmx5IHJ1bnNPbj86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIEdyb3VwIHNlbGVjdGlvbiBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgcnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnM7XG59XG5cbi8qKlxuICogQWRkcyBhIEdpdEh1YiB3b3JrZmxvdyB0aGF0IHJ1bnMgdGhlIGRlcGVuZGVuY3ktcmV2aWV3LWFjdGlvbiBvbiBwdWxsIHJlcXVlc3RzLlxuICpcbiAqIFRoaXMgYWN0aW9uIHNjYW5zIHB1bGwgcmVxdWVzdHMgZm9yIGRlcGVuZGVuY3kgY2hhbmdlcyBhbmQgcmFpc2VzIGFuIGVycm9yXG4gKiBpZiBhbnkgdnVsbmVyYWJpbGl0aWVzIG9yIGludmFsaWQgbGljZW5zZXMgYXJlIGludHJvZHVjZWQuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYWN0aW9ucy9kZXBlbmRlbmN5LXJldmlldy1hY3Rpb25cbiAqL1xuZXhwb3J0IGNsYXNzIERlcGVuZGVuY3lSZXZpZXcgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihnaXRodWI6IEdpdEh1Yiwgb3B0aW9uczogRGVwZW5kZW5jeVJldmlld09wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKGdpdGh1Yi5wcm9qZWN0KTtcblxuICAgIGNvbnN0IGNvbW1lbnRTdW1tYXJ5ID0gb3B0aW9ucy5jb21tZW50U3VtbWFyeUluUHIgPz8gXCJhbHdheXNcIjtcblxuICAgIGNvbnN0IHdvcmtmbG93ID0gZ2l0aHViLmFkZFdvcmtmbG93KFwiZGVwZW5kZW5jeS1yZXZpZXdcIik7XG4gICAgd29ya2Zsb3cub24oe1xuICAgICAgcHVsbFJlcXVlc3Q6IHt9LFxuICAgICAgd29ya2Zsb3dEaXNwYXRjaDoge30sXG4gICAgfSk7XG5cbiAgICB3b3JrZmxvdy5hZGRKb2JzKHtcbiAgICAgIFwiZGVwZW5kZW5jeS1yZXZpZXdcIjoge1xuICAgICAgICAuLi5maWx0ZXJlZFJ1bnNPbk9wdGlvbnMob3B0aW9ucy5ydW5zT24sIG9wdGlvbnMucnVuc09uR3JvdXApLFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgLi4uKGNvbW1lbnRTdW1tYXJ5ICE9PSBcIm5ldmVyXCJcbiAgICAgICAgICAgID8geyBwdWxsUmVxdWVzdHM6IEpvYlBlcm1pc3Npb24uV1JJVEUgfVxuICAgICAgICAgICAgOiB7fSksXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXBzOiBbXG4gICAgICAgICAgV29ya2Zsb3dTdGVwcy5jaGVja291dCgpLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiRGVwZW5kZW5jeSBSZXZpZXdcIixcbiAgICAgICAgICAgIHVzZXM6IFwiYWN0aW9ucy9kZXBlbmRlbmN5LXJldmlldy1hY3Rpb25AdjRcIixcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgXCJmYWlsLW9uLXNldmVyaXR5XCI6IG9wdGlvbnMuZmFpbE9uU2V2ZXJpdHksXG4gICAgICAgICAgICAgIFwiYWxsb3ctbGljZW5zZXNcIjogb3B0aW9ucy5hbGxvd0xpY2Vuc2VzPy5qb2luKFwiLCBcIiksXG4gICAgICAgICAgICAgIFwidnVsbmVyYWJpbGl0eS1jaGVja1wiOiBvcHRpb25zLnZ1bG5lcmFiaWxpdHlDaGVjayxcbiAgICAgICAgICAgICAgXCJsaWNlbnNlLWNoZWNrXCI6IG9wdGlvbnMubGljZW5zZUNoZWNrLFxuICAgICAgICAgICAgICBcImZhaWwtb24tc2NvcGVzXCI6IG9wdGlvbnMuZmFpbE9uU2NvcGVzPy5qb2luKFwiLCBcIiksXG4gICAgICAgICAgICAgIFwiY29uZmlnLWZpbGVcIjogb3B0aW9ucy5jb25maWdGaWxlLFxuICAgICAgICAgICAgICBcImFsbG93LWdoc2FzXCI6IG9wdGlvbnMuYWxsb3dHaHNhcz8uam9pbihcIiwgXCIpLFxuICAgICAgICAgICAgICBcImRlbnktcGFja2FnZXNcIjogb3B0aW9ucy5kZW55UGFja2FnZXM/LmpvaW4oXCIsIFwiKSxcbiAgICAgICAgICAgICAgXCJjb21tZW50LXN1bW1hcnktaW4tcHJcIjogY29tbWVudFN1bW1hcnksXG4gICAgICAgICAgICAgIFwid2Fybi1vbmx5XCI6IG9wdGlvbnMud2Fybk9ubHksXG4gICAgICAgICAgICAgIFwic2hvdy1vcGVuc3NmLXNjb3JlY2FyZFwiOiBvcHRpb25zLnNob3dPcGVuU1NGU2NvcmVjYXJkLFxuICAgICAgICAgICAgICBcIndhcm4tb24tb3BlbnNzZi1zY29yZWNhcmQtbGV2ZWxcIjpcbiAgICAgICAgICAgICAgICBvcHRpb25zLndhcm5Pbk9wZW5TU0ZTY29yZWNhcmRMZXZlbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS1yZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0aHViL2RlcGVuZGVuY3ktcmV2aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxtREFBZ0Q7QUFFaEQscURBQWlEO0FBQ2pELHVEQUFrRDtBQUNsRCw0Q0FBeUM7QUFFekMsc0RBQTBEO0FBdUcxRDs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxxQkFBUzs7SUFDN0MsWUFBWSxNQUFjLEVBQUUsVUFBbUMsRUFBRTtRQUMvRCxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRCLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxRQUFRLENBQUM7UUFFOUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pELFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDVixXQUFXLEVBQUUsRUFBRTtZQUNmLGdCQUFnQixFQUFFLEVBQUU7U0FDckIsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNmLG1CQUFtQixFQUFFO2dCQUNuQixHQUFHLElBQUEsc0NBQXFCLEVBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUM3RCxXQUFXLEVBQUU7b0JBQ1gsUUFBUSxFQUFFLCtCQUFhLENBQUMsSUFBSTtvQkFDNUIsR0FBRyxDQUFDLGNBQWMsS0FBSyxPQUFPO3dCQUM1QixDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsK0JBQWEsQ0FBQyxLQUFLLEVBQUU7d0JBQ3ZDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ1I7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMLDhCQUFhLENBQUMsUUFBUSxFQUFFO29CQUN4Qjt3QkFDRSxJQUFJLEVBQUUsbUJBQW1CO3dCQUN6QixJQUFJLEVBQUUsNkJBQWEsQ0FBQyxnQ0FBZ0M7d0JBQ3BELElBQUksRUFBRTs0QkFDSixrQkFBa0IsRUFBRSxPQUFPLENBQUMsY0FBYzs0QkFDMUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDOzRCQUNuRCxxQkFBcUIsRUFBRSxPQUFPLENBQUMsa0JBQWtCOzRCQUNqRCxlQUFlLEVBQUUsT0FBTyxDQUFDLFlBQVk7NEJBQ3JDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQzs0QkFDbEQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVOzRCQUNqQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDOzRCQUM3QyxlQUFlLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDOzRCQUNqRCx1QkFBdUIsRUFBRSxjQUFjOzRCQUN2QyxXQUFXLEVBQUUsT0FBTyxDQUFDLFFBQVE7NEJBQzdCLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxvQkFBb0I7NEJBQ3RELGlDQUFpQyxFQUMvQixPQUFPLENBQUMsMkJBQTJCO3lCQUN0QztxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE3Q0gsNENBOENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2l0SHViQWN0aW9ucyB9IGZyb20gXCIuL2FjdGlvbnMuY29uc3RcIjtcbmltcG9ydCB0eXBlIHsgR2l0SHViIH0gZnJvbSBcIi4vZ2l0aHViXCI7XG5pbXBvcnQgeyBXb3JrZmxvd1N0ZXBzIH0gZnJvbSBcIi4vd29ya2Zsb3ctc3RlcHNcIjtcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24gfSBmcm9tIFwiLi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgR3JvdXBSdW5uZXJPcHRpb25zIH0gZnJvbSBcIi4uL3J1bm5lci1vcHRpb25zXCI7XG5pbXBvcnQgeyBmaWx0ZXJlZFJ1bnNPbk9wdGlvbnMgfSBmcm9tIFwiLi4vcnVubmVyLW9wdGlvbnNcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgRGVwZW5kZW5jeVJldmlldyBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwZW5kZW5jeVJldmlld09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IGxldmVsIGF0IHdoaWNoIHRoZSBhY3Rpb24gd2lsbCBmYWlsLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG1pbmltdW0gc2V2ZXJpdHkgKGFjdGlvbiBkZWZhdWx0IGlzIFwibG93XCIpXG4gICAqL1xuICByZWFkb25seSBmYWlsT25TZXZlcml0eT86IFwibG93XCIgfCBcIm1vZGVyYXRlXCIgfCBcImhpZ2hcIiB8IFwiY3JpdGljYWxcIjtcblxuICAvKipcbiAgICogTGlzdCBvZiBhbGxvd2VkIFNQRFggbGljZW5zZSBpZGVudGlmaWVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBsaWNlbnNlIGFsbG93LWxpc3RcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93TGljZW5zZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgdGhlIHZ1bG5lcmFiaWxpdHkgY2hlY2suXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZ1bG5lcmFiaWxpdHlDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSBsaWNlbnNlIGNoZWNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsaWNlbnNlQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTY29wZXMgb2YgZGVwZW5kZW5jaWVzIHRvIGZhaWwgb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc2NvcGVzIGZpbHRlciAoYWN0aW9uIGRlZmF1bHQgaXMgXCJydW50aW1lXCIpXG4gICAqL1xuICByZWFkb25seSBmYWlsT25TY29wZXM/OiBBcnJheTxcInJ1bnRpbWVcIiB8IFwiZGV2ZWxvcG1lbnRcIiB8IFwidW5rbm93blwiPjtcblxuICAvKipcbiAgICogUGF0aCB0byBhbiBleHRlcm5hbCBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0ZXJuYWwgY29uZmlnXG4gICAqL1xuICByZWFkb25seSBjb25maWdGaWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHaXRIdWIgQWR2aXNvcnkgRGF0YWJhc2UgSURzIHRoYXQgY2FuIGJlIHNraXBwZWQgZHVyaW5nIGRldGVjdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhZHZpc29yaWVzIGFyZSBza2lwcGVkXG4gICAqL1xuICByZWFkb25seSBhbGxvd0doc2FzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFBhY2thZ2VzIHRvIGJsb2NrIGluIGEgUFIgKGluIHB1cmwgZm9ybWF0KS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwYWNrYWdlcyBhcmUgZGVuaWVkXG4gICAqL1xuICByZWFkb25seSBkZW55UGFja2FnZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBwb3N0IGEgY29tbWVudCBzdW1tYXJ5IG9uIHRoZSBQUi5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJhbHdheXNcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWVudFN1bW1hcnlJblByPzogXCJhbHdheXNcIiB8IFwib24tZmFpbHVyZVwiIHwgXCJuZXZlclwiO1xuXG4gIC8qKlxuICAgKiBXaGVuIHRydWUsIHRoZSBhY3Rpb24gd2lsbCBvbmx5IHdhcm4gYW5kIG5vdCBmYWlsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgd2Fybk9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IE9wZW5TU0YgU2NvcmVjYXJkIHNjb3JlcyBmb3IgZGVwZW5kZW5jaWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzaG93T3BlblNTRlNjb3JlY2FyZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNjb3JlIHRocmVzaG9sZCBmb3IgT3BlblNTRiBTY29yZWNhcmQgd2FybmluZ3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIHJlYWRvbmx5IHdhcm5Pbk9wZW5TU0ZTY29yZWNhcmRMZXZlbD86IG51bWJlcjtcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBzZWxlY3Rpb24gbGFiZWxzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXCJ1YnVudHUtbGF0ZXN0XCJdXG4gICAqL1xuICByZWFkb25seSBydW5zT24/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBHcm91cCBzZWxlY3Rpb24gb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IHJ1bnNPbkdyb3VwPzogR3JvdXBSdW5uZXJPcHRpb25zO1xufVxuXG4vKipcbiAqIEFkZHMgYSBHaXRIdWIgd29ya2Zsb3cgdGhhdCBydW5zIHRoZSBkZXBlbmRlbmN5LXJldmlldy1hY3Rpb24gb24gcHVsbCByZXF1ZXN0cy5cbiAqXG4gKiBUaGlzIGFjdGlvbiBzY2FucyBwdWxsIHJlcXVlc3RzIGZvciBkZXBlbmRlbmN5IGNoYW5nZXMgYW5kIHJhaXNlcyBhbiBlcnJvclxuICogaWYgYW55IHZ1bG5lcmFiaWxpdGllcyBvciBpbnZhbGlkIGxpY2Vuc2VzIGFyZSBpbnRyb2R1Y2VkLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvZGVwZW5kZW5jeS1yZXZpZXctYWN0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBEZXBlbmRlbmN5UmV2aWV3IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoZ2l0aHViOiBHaXRIdWIsIG9wdGlvbnM6IERlcGVuZGVuY3lSZXZpZXdPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihnaXRodWIucHJvamVjdCk7XG5cbiAgICBjb25zdCBjb21tZW50U3VtbWFyeSA9IG9wdGlvbnMuY29tbWVudFN1bW1hcnlJblByID8/IFwiYWx3YXlzXCI7XG5cbiAgICBjb25zdCB3b3JrZmxvdyA9IGdpdGh1Yi5hZGRXb3JrZmxvdyhcImRlcGVuZGVuY3ktcmV2aWV3XCIpO1xuICAgIHdvcmtmbG93Lm9uKHtcbiAgICAgIHB1bGxSZXF1ZXN0OiB7fSxcbiAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHt9LFxuICAgIH0pO1xuXG4gICAgd29ya2Zsb3cuYWRkSm9icyh7XG4gICAgICBcImRlcGVuZGVuY3ktcmV2aWV3XCI6IHtcbiAgICAgICAgLi4uZmlsdGVyZWRSdW5zT25PcHRpb25zKG9wdGlvbnMucnVuc09uLCBvcHRpb25zLnJ1bnNPbkdyb3VwKSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAgIC4uLihjb21tZW50U3VtbWFyeSAhPT0gXCJuZXZlclwiXG4gICAgICAgICAgICA/IHsgcHVsbFJlcXVlc3RzOiBKb2JQZXJtaXNzaW9uLldSSVRFIH1cbiAgICAgICAgICAgIDoge30pLFxuICAgICAgICB9LFxuICAgICAgICBzdGVwczogW1xuICAgICAgICAgIFdvcmtmbG93U3RlcHMuY2hlY2tvdXQoKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIkRlcGVuZGVuY3kgUmV2aWV3XCIsXG4gICAgICAgICAgICB1c2VzOiBHaXRIdWJBY3Rpb25zLkFDVElPTlNfREVQRU5ERU5DWV9SRVZJRVdfQUNUSU9OLFxuICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICBcImZhaWwtb24tc2V2ZXJpdHlcIjogb3B0aW9ucy5mYWlsT25TZXZlcml0eSxcbiAgICAgICAgICAgICAgXCJhbGxvdy1saWNlbnNlc1wiOiBvcHRpb25zLmFsbG93TGljZW5zZXM/LmpvaW4oXCIsIFwiKSxcbiAgICAgICAgICAgICAgXCJ2dWxuZXJhYmlsaXR5LWNoZWNrXCI6IG9wdGlvbnMudnVsbmVyYWJpbGl0eUNoZWNrLFxuICAgICAgICAgICAgICBcImxpY2Vuc2UtY2hlY2tcIjogb3B0aW9ucy5saWNlbnNlQ2hlY2ssXG4gICAgICAgICAgICAgIFwiZmFpbC1vbi1zY29wZXNcIjogb3B0aW9ucy5mYWlsT25TY29wZXM/LmpvaW4oXCIsIFwiKSxcbiAgICAgICAgICAgICAgXCJjb25maWctZmlsZVwiOiBvcHRpb25zLmNvbmZpZ0ZpbGUsXG4gICAgICAgICAgICAgIFwiYWxsb3ctZ2hzYXNcIjogb3B0aW9ucy5hbGxvd0doc2FzPy5qb2luKFwiLCBcIiksXG4gICAgICAgICAgICAgIFwiZGVueS1wYWNrYWdlc1wiOiBvcHRpb25zLmRlbnlQYWNrYWdlcz8uam9pbihcIiwgXCIpLFxuICAgICAgICAgICAgICBcImNvbW1lbnQtc3VtbWFyeS1pbi1wclwiOiBjb21tZW50U3VtbWFyeSxcbiAgICAgICAgICAgICAgXCJ3YXJuLW9ubHlcIjogb3B0aW9ucy53YXJuT25seSxcbiAgICAgICAgICAgICAgXCJzaG93LW9wZW5zc2Ytc2NvcmVjYXJkXCI6IG9wdGlvbnMuc2hvd09wZW5TU0ZTY29yZWNhcmQsXG4gICAgICAgICAgICAgIFwid2Fybi1vbi1vcGVuc3NmLXNjb3JlY2FyZC1sZXZlbFwiOlxuICAgICAgICAgICAgICAgIG9wdGlvbnMud2Fybk9uT3BlblNTRlNjb3JlY2FyZExldmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -36,12 +36,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.GithubCredentials = void 0;
37
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
38
38
  const Case = __importStar(require("case"));
39
+ const actions_const_1 = require("./actions.const");
39
40
  /**
40
41
  * Represents a method of providing GitHub API access for projen workflows.
41
42
  */
42
43
  class GithubCredentials {
43
44
  options;
44
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubCredentials", version: "0.101.36" };
45
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubCredentials", version: "0.102.0" };
45
46
  /**
46
47
  * Provide API access through a GitHub personal access token.
47
48
  *
@@ -91,7 +92,7 @@ class GithubCredentials {
91
92
  {
92
93
  name: "Generate token",
93
94
  id: "generate_token",
94
- uses: "actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859",
95
+ uses: actions_const_1.GitHubActions.ACTIONS_CREATE_GITHUB_APP_TOKEN,
95
96
  with: {
96
97
  ...actionConfig,
97
98
  ...permissions,
@@ -126,4 +127,4 @@ class GithubCredentials {
126
127
  }
127
128
  }
128
129
  exports.GithubCredentials = GithubCredentials;
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLWNyZWRlbnRpYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dpdGh1Yi9naXRodWItY3JlZGVudGlhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQTRFN0I7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQXdFUzs7SUF2RXJDOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLHVCQUF1QixDQUNuQyxVQUF1RCxFQUFFO1FBRXpELE9BQU8sSUFBSSxpQkFBaUIsQ0FBQztZQUMzQixVQUFVLEVBQUUsRUFBRTtZQUNkLFFBQVEsRUFBRSxnQkFBZ0IsT0FBTyxDQUFDLE1BQU0sSUFBSSxxQkFBcUIsS0FBSztZQUN0RSxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQXVDLEVBQUU7UUFDN0QsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxlQUFlLENBQUM7UUFDM0QsTUFBTSxnQkFBZ0IsR0FDcEIsT0FBTyxDQUFDLGdCQUFnQixJQUFJLHdCQUF3QixDQUFDO1FBRXZELE1BQU0sWUFBWSxHQUEyQjtZQUMzQyxRQUFRLEVBQUUsZ0JBQWdCLFdBQVcsS0FBSztZQUMxQyxhQUFhLEVBQUUsZ0JBQWdCLGdCQUFnQixLQUFLO1NBQ3JELENBQUM7UUFFRixJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixZQUFZLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pCLFlBQVksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBRWxFLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDckIsR0FBRyxDQUFDLGNBQWMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzVDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVAsT0FBTyxJQUFJLGlCQUFpQixDQUFDO1lBQzNCLFVBQVUsRUFBRTtnQkFDVjtvQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixFQUFFLEVBQUUsZ0JBQWdCO29CQUNwQixJQUFJLEVBQUUsMEVBQTBFO29CQUNoRixJQUFJLEVBQUU7d0JBQ0osR0FBRyxZQUFZO3dCQUNmLEdBQUcsV0FBVztxQkFDZjtpQkFDRjthQUNGO1lBQ0QsUUFBUSxFQUFFLDJDQUEyQztZQUNyRCxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQXFDLE9BQWlDO1FBQWpDLFlBQU8sR0FBUCxPQUFPLENBQTBCO0lBQUcsQ0FBQztJQUUxRTs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUNsQyxDQUFDOztBQTlGSCw4Q0ErRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBDYXNlIGZyb20gXCJjYXNlXCI7XG5pbXBvcnQgdHlwZSB7IEpvYlN0ZXAsIEFwcFBlcm1pc3Npb25zIH0gZnJvbSBcIi4vd29ya2Zsb3dzLW1vZGVsXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEdpdGh1YkNyZWRlbnRpYWxzLmZyb21QZXJzb25hbEFjY2Vzc1Rva2VuYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGh1YkNyZWRlbnRpYWxzUGVyc29uYWxBY2Nlc3NUb2tlbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlY3JldCB0aGF0IGhvbGRzIHRoZSBHaXRIdWIgcGVyc29uYWwgYWNjZXNzIHRva2VuLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIlBST0pFTl9HSVRIVUJfVE9LRU5cIlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIEFjdGlvbnMgZW52aXJvbm1lbnQgdGhlIHNlY3JldHMgaXMgYWRkZWQgdG8uXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gYWRkIGV4cGxpY2l0IGFwcHJvdmFsIHN0ZXBzIHRvIGFjY2VzcyB0aGUgc2VjcmV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGVudmlyb25tZW50IHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBHaXRodWJDcmVkZW50aWFscy5mcm9tQXBwYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGh1YkNyZWRlbnRpYWxzQXBwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGNvbnRhaW5pbmcgdGhlIEdpdEh1YiBBcHAgSURcbiAgICpcbiAgICogQGRlZmF1bHQgXCJQUk9KRU5fQVBQX0lEXCJcbiAgICovXG4gIHJlYWRvbmx5IGFwcElkU2VjcmV0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGNvbnRhaW5pbmcgdGhlIEdpdEh1YiBBcHAgcHJpdmF0ZSBrZXlcbiAgICpcbiAgICogRXNjYXBlZCBuZXdsaW5lcyAoXFxcXG4pIHdpbGwgYmUgYXV0b21hdGljYWxseSByZXBsYWNlZCB3aXRoIGFjdHVhbCBuZXdsaW5lcy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJQUk9KRU5fQVBQX1BSSVZBVEVfS0VZXCJcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVLZXlTZWNyZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvd25lciBvZiB0aGUgR2l0SHViIEFwcCBpbnN0YWxsYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBpZiBlbXB0eSwgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgcmVwb3NpdG9yeSBvd25lclxuICAgKi9cbiAgcmVhZG9ubHkgb3duZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcmVwb3NpdG9yaWVzIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGlmIG93bmVyIGlzIHNldCBhbmQgcmVwb3NpdG9yaWVzIGlzIGVtcHR5LCBhY2Nlc3Mgd2lsbCBiZSBzY29wZWQgdG8gYWxsIHJlcG9zaXRvcmllcyBpbiB0aGUgcHJvdmlkZWQgcmVwb3NpdG9yeSBvd25lcidzIGluc3RhbGxhdGlvbi5cbiAgICogSWYgb3duZXIgYW5kIHJlcG9zaXRvcmllcyBhcmUgZW1wdHksIGFjY2VzcyB3aWxsIGJlIHNjb3BlZCB0byBvbmx5IHRoZSBjdXJyZW50IHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3JpZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb25zIGdyYW50ZWQgdG8gdGhlIHRva2VuLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBwZXJtaXNzaW9ucyBncmFudGVkIHRvIHRoZSBhcHBcbiAgICovXG4gIHJlYWRvbmx5IHBlcm1pc3Npb25zPzogQXBwUGVybWlzc2lvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSBHaXRIdWIgQWN0aW9ucyBlbnZpcm9ubWVudCB0aGUgc2VjcmV0cyBhcmUgYWRkZWQgdG8uXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gYWRkIGV4cGxpY2l0IGFwcHJvdmFsIHN0ZXBzIHRvIGFjY2VzcyB0aGUgc2VjcmV0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBlbnZpcm9ubWVudCB1c2VkXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbWV0aG9kIG9mIHByb3ZpZGluZyBHaXRIdWIgQVBJIGFjY2VzcyBmb3IgcHJvamVuIHdvcmtmbG93cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdpdGh1YkNyZWRlbnRpYWxzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGUgQVBJIGFjY2VzcyB0aHJvdWdoIGEgR2l0SHViIHBlcnNvbmFsIGFjY2VzcyB0b2tlbi5cbiAgICpcbiAgICogVGhlIHRva2VuIG11c3QgYmUgYWRkZWQgYXMgYSBzZWNyZXQgdG8gdGhlIEdpdEh1YiByZXBvLCBhbmQgdGhlIG5hbWUgb2YgdGhlXG4gICAqIHNlY3JldCBjYW4gYmUgc3BlY2lmaWVkIGhlcmUuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmdpdGh1Yi5jb20vZW4vYXV0aGVudGljYXRpb24va2VlcGluZy15b3VyLWFjY291bnQtYW5kLWRhdGEtc2VjdXJlL2NyZWF0aW5nLWEtcGVyc29uYWwtYWNjZXNzLXRva2VuXG4gICAqIEBkZWZhdWx0IC0gYSBzZWNyZXQgbmFtZWQgXCJQUk9KRU5fR0lUSFVCX1RPS0VOXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVBlcnNvbmFsQWNjZXNzVG9rZW4oXG4gICAgb3B0aW9uczogR2l0aHViQ3JlZGVudGlhbHNQZXJzb25hbEFjY2Vzc1Rva2VuT3B0aW9ucyA9IHt9LFxuICApIHtcbiAgICByZXR1cm4gbmV3IEdpdGh1YkNyZWRlbnRpYWxzKHtcbiAgICAgIHNldHVwU3RlcHM6IFtdLFxuICAgICAgdG9rZW5SZWY6IGBcXCR7eyBzZWNyZXRzLiR7b3B0aW9ucy5zZWNyZXQgPz8gXCJQUk9KRU5fR0lUSFVCX1RPS0VOXCJ9IH19YCxcbiAgICAgIGVudmlyb25tZW50OiBvcHRpb25zLmVudmlyb25tZW50LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgQVBJIGFjY2VzcyB0aHJvdWdoIGEgR2l0SHViIEFwcC5cbiAgICpcbiAgICogVGhlIEdpdEh1YiBBcHAgbXVzdCBiZSBpbnN0YWxsZWQgb24gdGhlIEdpdEh1YiByZXBvLCBpdHMgQXBwIElEIGFuZCBhXG4gICAqIHByaXZhdGUga2V5IG11c3QgYmUgYWRkZWQgYXMgc2VjcmV0cyB0byB0aGUgcmVwby4gVGhlIG5hbWUgb2YgdGhlIHNlY3JldHNcbiAgICogY2FuIGJlIHNwZWNpZmllZCBoZXJlLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5naXRodWIuY29tL2VuL2RldmVsb3BlcnMvYXBwcy9idWlsZGluZy1naXRodWItYXBwcy9jcmVhdGluZy1hLWdpdGh1Yi1hcHBcbiAgICogQHNlZSBodHRwczovL3Byb2plbi5pby9kb2NzL2ludGVncmF0aW9ucy9naXRodWIvI2dpdGh1Yi1hcHBcbiAgICogQGRlZmF1bHQgLSBhcHAgaWQgc3RvcmVkIGluIFwiUFJPSkVOX0FQUF9JRFwiIGFuZCBwcml2YXRlIGtleSBzdG9yZWQgaW4gXCJQUk9KRU5fQVBQX1BSSVZBVEVfS0VZXCIgd2l0aCBhbGwgcGVybWlzc2lvbnMgYXR0YWNoZWQgdG8gdGhlIGFwcFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQXBwKG9wdGlvbnM6IEdpdGh1YkNyZWRlbnRpYWxzQXBwT3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgYXBwSWRTZWNyZXQgPSBvcHRpb25zLmFwcElkU2VjcmV0ID8/IFwiUFJPSkVOX0FQUF9JRFwiO1xuICAgIGNvbnN0IHByaXZhdGVLZXlTZWNyZXQgPVxuICAgICAgb3B0aW9ucy5wcml2YXRlS2V5U2VjcmV0ID8/IFwiUFJPSkVOX0FQUF9QUklWQVRFX0tFWVwiO1xuXG4gICAgY29uc3QgYWN0aW9uQ29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgXCJhcHAtaWRcIjogYFxcJHt7IHNlY3JldHMuJHthcHBJZFNlY3JldH0gfX1gLFxuICAgICAgXCJwcml2YXRlLWtleVwiOiBgXFwke3sgc2VjcmV0cy4ke3ByaXZhdGVLZXlTZWNyZXR9IH19YCxcbiAgICB9O1xuXG4gICAgaWYgKG9wdGlvbnMub3duZXIpIHtcbiAgICAgIGFjdGlvbkNvbmZpZy5vd25lciA9IG9wdGlvbnMub3duZXI7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnJlcG9zaXRvcmllcykge1xuICAgICAgYWN0aW9uQ29uZmlnLnJlcG9zaXRvcmllcyA9IG9wdGlvbnMucmVwb3NpdG9yaWVzLmpvaW4oXCIsXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IHBlcm1pc3Npb25zID0gT2JqZWN0LmVudHJpZXMob3B0aW9ucy5wZXJtaXNzaW9ucyA/PyB7fSkucmVkdWNlPFxuICAgICAgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgID4oKG1hcCwgW25hbWUsIHZhbF0pID0+IHtcbiAgICAgIG1hcFtgcGVybWlzc2lvbi0ke0Nhc2Uua2ViYWIobmFtZSl9YF0gPSB2YWw7XG4gICAgICByZXR1cm4gbWFwO1xuICAgIH0sIHt9KTtcblxuICAgIHJldHVybiBuZXcgR2l0aHViQ3JlZGVudGlhbHMoe1xuICAgICAgc2V0dXBTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJHZW5lcmF0ZSB0b2tlblwiLFxuICAgICAgICAgIGlkOiBcImdlbmVyYXRlX3Rva2VuXCIsXG4gICAgICAgICAgdXNlczogXCJhY3Rpb25zL2NyZWF0ZS1naXRodWItYXBwLXRva2VuQGY4ZDM4N2I2OGQ2MWM1OGFiODNjNmMwMTY2NzI5MzQxMDI1Njk4NTlcIixcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAuLi5hY3Rpb25Db25maWcsXG4gICAgICAgICAgICAuLi5wZXJtaXNzaW9ucyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHRva2VuUmVmOiBcIiR7eyBzdGVwcy5nZW5lcmF0ZV90b2tlbi5vdXRwdXRzLnRva2VuIH19XCIsXG4gICAgICBlbnZpcm9ubWVudDogb3B0aW9ucy5lbnZpcm9ubWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBHaXRodWJDcmVkZW50aWFsc09wdGlvbnMpIHt9XG5cbiAgLyoqXG4gICAqIFNldHVwIHN0ZXBzIHRvIG9idGFpbiBHaXRIdWIgY3JlZGVudGlhbHMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNldHVwU3RlcHMoKTogSm9iU3RlcFtdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMub3B0aW9ucy5zZXR1cFN0ZXBzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdG8gdXNlIGluIGEgd29ya2Zsb3cgd2hlbiBhIEdpdEh1YiB0b2tlbiBpcyBleHBlY3RlZC4gVGhpc1xuICAgKiB0eXBpY2FsbHkgbG9va3MgbGlrZSBcIiR7eyBzb21lLnBhdGgudG8uYS52YWx1ZSB9fVwiLlxuICAgKi9cbiAgcHVibGljIGdldCB0b2tlblJlZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMudG9rZW5SZWY7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBBY3Rpb25zIGVudmlyb25tZW50IHRoZSBjcmVkZW50aWFscyBoYXZlIGJlZW4gYWRkZWQgdG8uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGVudmlyb25tZW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5lbnZpcm9ubWVudDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgR2l0aHViQ3JlZGVudGlhbHNPcHRpb25zIHtcbiAgcmVhZG9ubHkgc2V0dXBTdGVwczogSm9iU3RlcFtdO1xuICByZWFkb25seSB0b2tlblJlZjogc3RyaW5nO1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcbn1cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLWNyZWRlbnRpYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dpdGh1Yi9naXRodWItY3JlZGVudGlhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3QixtREFBZ0Q7QUE0RWhEOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7SUF3RVM7O0lBdkVyQzs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FDbkMsVUFBdUQsRUFBRTtRQUV6RCxPQUFPLElBQUksaUJBQWlCLENBQUM7WUFDM0IsVUFBVSxFQUFFLEVBQUU7WUFDZCxRQUFRLEVBQUUsZ0JBQWdCLE9BQU8sQ0FBQyxNQUFNLElBQUkscUJBQXFCLEtBQUs7WUFDdEUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUF1QyxFQUFFO1FBQzdELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksZUFBZSxDQUFDO1FBQzNELE1BQU0sZ0JBQWdCLEdBQ3BCLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSx3QkFBd0IsQ0FBQztRQUV2RCxNQUFNLFlBQVksR0FBMkI7WUFDM0MsUUFBUSxFQUFFLGdCQUFnQixXQUFXLEtBQUs7WUFDMUMsYUFBYSxFQUFFLGdCQUFnQixnQkFBZ0IsS0FBSztTQUNyRCxDQUFDO1FBRUYsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEIsWUFBWSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QixZQUFZLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUVsRSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1lBQ3JCLEdBQUcsQ0FBQyxjQUFjLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUM1QyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQztZQUMzQixVQUFVLEVBQUU7Z0JBQ1Y7b0JBQ0UsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsRUFBRSxFQUFFLGdCQUFnQjtvQkFDcEIsSUFBSSxFQUFFLDZCQUFhLENBQUMsK0JBQStCO29CQUNuRCxJQUFJLEVBQUU7d0JBQ0osR0FBRyxZQUFZO3dCQUNmLEdBQUcsV0FBVztxQkFDZjtpQkFDRjthQUNGO1lBQ0QsUUFBUSxFQUFFLDJDQUEyQztZQUNyRCxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQXFDLE9BQWlDO1FBQWpDLFlBQU8sR0FBUCxPQUFPLENBQTBCO0lBQUcsQ0FBQztJQUUxRTs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUNsQyxDQUFDOztBQTlGSCw4Q0ErRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBDYXNlIGZyb20gXCJjYXNlXCI7XG5pbXBvcnQgeyBHaXRIdWJBY3Rpb25zIH0gZnJvbSBcIi4vYWN0aW9ucy5jb25zdFwiO1xuaW1wb3J0IHR5cGUgeyBKb2JTdGVwLCBBcHBQZXJtaXNzaW9ucyB9IGZyb20gXCIuL3dvcmtmbG93cy1tb2RlbFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBHaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbmBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRodWJDcmVkZW50aWFsc1BlcnNvbmFsQWNjZXNzVG9rZW5PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzZWNyZXQgdGhhdCBob2xkcyB0aGUgR2l0SHViIHBlcnNvbmFsIGFjY2VzcyB0b2tlbi5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJQUk9KRU5fR0lUSFVCX1RPS0VOXCJcbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBBY3Rpb25zIGVudmlyb25tZW50IHRoZSBzZWNyZXRzIGlzIGFkZGVkIHRvLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFkZCBleHBsaWNpdCBhcHByb3ZhbCBzdGVwcyB0byBhY2Nlc3MgdGhlIHNlY3JldC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBlbnZpcm9ubWVudCB1c2VkXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgR2l0aHViQ3JlZGVudGlhbHMuZnJvbUFwcGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRodWJDcmVkZW50aWFsc0FwcE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNlY3JldCBjb250YWluaW5nIHRoZSBHaXRIdWIgQXBwIElEXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiUFJPSkVOX0FQUF9JRFwiXG4gICAqL1xuICByZWFkb25seSBhcHBJZFNlY3JldD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNlY3JldCBjb250YWluaW5nIHRoZSBHaXRIdWIgQXBwIHByaXZhdGUga2V5XG4gICAqXG4gICAqIEVzY2FwZWQgbmV3bGluZXMgKFxcXFxuKSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVwbGFjZWQgd2l0aCBhY3R1YWwgbmV3bGluZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiUFJPSkVOX0FQUF9QUklWQVRFX0tFWVwiXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlS2V5U2VjcmV0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb3duZXIgb2YgdGhlIEdpdEh1YiBBcHAgaW5zdGFsbGF0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gaWYgZW1wdHksIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IHJlcG9zaXRvcnkgb3duZXJcbiAgICovXG4gIHJlYWRvbmx5IG93bmVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHJlcG9zaXRvcmllcyB0byBncmFudCBhY2Nlc3MgdG9cbiAgICpcbiAgICogQGRlZmF1bHQgLSBpZiBvd25lciBpcyBzZXQgYW5kIHJlcG9zaXRvcmllcyBpcyBlbXB0eSwgYWNjZXNzIHdpbGwgYmUgc2NvcGVkIHRvIGFsbCByZXBvc2l0b3JpZXMgaW4gdGhlIHByb3ZpZGVkIHJlcG9zaXRvcnkgb3duZXIncyBpbnN0YWxsYXRpb24uXG4gICAqIElmIG93bmVyIGFuZCByZXBvc2l0b3JpZXMgYXJlIGVtcHR5LCBhY2Nlc3Mgd2lsbCBiZSBzY29wZWQgdG8gb25seSB0aGUgY3VycmVudCByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yaWVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9ucyBncmFudGVkIHRvIHRoZSB0b2tlbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbGwgcGVybWlzc2lvbnMgZ3JhbnRlZCB0byB0aGUgYXBwXG4gICAqL1xuICByZWFkb25seSBwZXJtaXNzaW9ucz86IEFwcFBlcm1pc3Npb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIEFjdGlvbnMgZW52aXJvbm1lbnQgdGhlIHNlY3JldHMgYXJlIGFkZGVkIHRvLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFkZCBleHBsaWNpdCBhcHByb3ZhbCBzdGVwcyB0byBhY2Nlc3MgdGhlIHNlY3JldHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW52aXJvbm1lbnQgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1ldGhvZCBvZiBwcm92aWRpbmcgR2l0SHViIEFQSSBhY2Nlc3MgZm9yIHByb2plbiB3b3JrZmxvd3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBHaXRodWJDcmVkZW50aWFscyB7XG4gIC8qKlxuICAgKiBQcm92aWRlIEFQSSBhY2Nlc3MgdGhyb3VnaCBhIEdpdEh1YiBwZXJzb25hbCBhY2Nlc3MgdG9rZW4uXG4gICAqXG4gICAqIFRoZSB0b2tlbiBtdXN0IGJlIGFkZGVkIGFzIGEgc2VjcmV0IHRvIHRoZSBHaXRIdWIgcmVwbywgYW5kIHRoZSBuYW1lIG9mIHRoZVxuICAgKiBzZWNyZXQgY2FuIGJlIHNwZWNpZmllZCBoZXJlLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5naXRodWIuY29tL2VuL2F1dGhlbnRpY2F0aW9uL2tlZXBpbmcteW91ci1hY2NvdW50LWFuZC1kYXRhLXNlY3VyZS9jcmVhdGluZy1hLXBlcnNvbmFsLWFjY2Vzcy10b2tlblxuICAgKiBAZGVmYXVsdCAtIGEgc2VjcmV0IG5hbWVkIFwiUFJPSkVOX0dJVEhVQl9UT0tFTlwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21QZXJzb25hbEFjY2Vzc1Rva2VuKFxuICAgIG9wdGlvbnM6IEdpdGh1YkNyZWRlbnRpYWxzUGVyc29uYWxBY2Nlc3NUb2tlbk9wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBHaXRodWJDcmVkZW50aWFscyh7XG4gICAgICBzZXR1cFN0ZXBzOiBbXSxcbiAgICAgIHRva2VuUmVmOiBgXFwke3sgc2VjcmV0cy4ke29wdGlvbnMuc2VjcmV0ID8/IFwiUFJPSkVOX0dJVEhVQl9UT0tFTlwifSB9fWAsXG4gICAgICBlbnZpcm9ubWVudDogb3B0aW9ucy5lbnZpcm9ubWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlIEFQSSBhY2Nlc3MgdGhyb3VnaCBhIEdpdEh1YiBBcHAuXG4gICAqXG4gICAqIFRoZSBHaXRIdWIgQXBwIG11c3QgYmUgaW5zdGFsbGVkIG9uIHRoZSBHaXRIdWIgcmVwbywgaXRzIEFwcCBJRCBhbmQgYVxuICAgKiBwcml2YXRlIGtleSBtdXN0IGJlIGFkZGVkIGFzIHNlY3JldHMgdG8gdGhlIHJlcG8uIFRoZSBuYW1lIG9mIHRoZSBzZWNyZXRzXG4gICAqIGNhbiBiZSBzcGVjaWZpZWQgaGVyZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuZ2l0aHViLmNvbS9lbi9kZXZlbG9wZXJzL2FwcHMvYnVpbGRpbmctZ2l0aHViLWFwcHMvY3JlYXRpbmctYS1naXRodWItYXBwXG4gICAqIEBzZWUgaHR0cHM6Ly9wcm9qZW4uaW8vZG9jcy9pbnRlZ3JhdGlvbnMvZ2l0aHViLyNnaXRodWItYXBwXG4gICAqIEBkZWZhdWx0IC0gYXBwIGlkIHN0b3JlZCBpbiBcIlBST0pFTl9BUFBfSURcIiBhbmQgcHJpdmF0ZSBrZXkgc3RvcmVkIGluIFwiUFJPSkVOX0FQUF9QUklWQVRFX0tFWVwiIHdpdGggYWxsIHBlcm1pc3Npb25zIGF0dGFjaGVkIHRvIHRoZSBhcHBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFwcChvcHRpb25zOiBHaXRodWJDcmVkZW50aWFsc0FwcE9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGFwcElkU2VjcmV0ID0gb3B0aW9ucy5hcHBJZFNlY3JldCA/PyBcIlBST0pFTl9BUFBfSURcIjtcbiAgICBjb25zdCBwcml2YXRlS2V5U2VjcmV0ID1cbiAgICAgIG9wdGlvbnMucHJpdmF0ZUtleVNlY3JldCA/PyBcIlBST0pFTl9BUFBfUFJJVkFURV9LRVlcIjtcblxuICAgIGNvbnN0IGFjdGlvbkNvbmZpZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiYXBwLWlkXCI6IGBcXCR7eyBzZWNyZXRzLiR7YXBwSWRTZWNyZXR9IH19YCxcbiAgICAgIFwicHJpdmF0ZS1rZXlcIjogYFxcJHt7IHNlY3JldHMuJHtwcml2YXRlS2V5U2VjcmV0fSB9fWAsXG4gICAgfTtcblxuICAgIGlmIChvcHRpb25zLm93bmVyKSB7XG4gICAgICBhY3Rpb25Db25maWcub3duZXIgPSBvcHRpb25zLm93bmVyO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5yZXBvc2l0b3JpZXMpIHtcbiAgICAgIGFjdGlvbkNvbmZpZy5yZXBvc2l0b3JpZXMgPSBvcHRpb25zLnJlcG9zaXRvcmllcy5qb2luKFwiLFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBwZXJtaXNzaW9ucyA9IE9iamVjdC5lbnRyaWVzKG9wdGlvbnMucGVybWlzc2lvbnMgPz8ge30pLnJlZHVjZTxcbiAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICA+KChtYXAsIFtuYW1lLCB2YWxdKSA9PiB7XG4gICAgICBtYXBbYHBlcm1pc3Npb24tJHtDYXNlLmtlYmFiKG5hbWUpfWBdID0gdmFsO1xuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCB7fSk7XG5cbiAgICByZXR1cm4gbmV3IEdpdGh1YkNyZWRlbnRpYWxzKHtcbiAgICAgIHNldHVwU3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiR2VuZXJhdGUgdG9rZW5cIixcbiAgICAgICAgICBpZDogXCJnZW5lcmF0ZV90b2tlblwiLFxuICAgICAgICAgIHVzZXM6IEdpdEh1YkFjdGlvbnMuQUNUSU9OU19DUkVBVEVfR0lUSFVCX0FQUF9UT0tFTixcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAuLi5hY3Rpb25Db25maWcsXG4gICAgICAgICAgICAuLi5wZXJtaXNzaW9ucyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHRva2VuUmVmOiBcIiR7eyBzdGVwcy5nZW5lcmF0ZV90b2tlbi5vdXRwdXRzLnRva2VuIH19XCIsXG4gICAgICBlbnZpcm9ubWVudDogb3B0aW9ucy5lbnZpcm9ubWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBHaXRodWJDcmVkZW50aWFsc09wdGlvbnMpIHt9XG5cbiAgLyoqXG4gICAqIFNldHVwIHN0ZXBzIHRvIG9idGFpbiBHaXRIdWIgY3JlZGVudGlhbHMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNldHVwU3RlcHMoKTogSm9iU3RlcFtdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMub3B0aW9ucy5zZXR1cFN0ZXBzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdG8gdXNlIGluIGEgd29ya2Zsb3cgd2hlbiBhIEdpdEh1YiB0b2tlbiBpcyBleHBlY3RlZC4gVGhpc1xuICAgKiB0eXBpY2FsbHkgbG9va3MgbGlrZSBcIiR7eyBzb21lLnBhdGgudG8uYS52YWx1ZSB9fVwiLlxuICAgKi9cbiAgcHVibGljIGdldCB0b2tlblJlZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMudG9rZW5SZWY7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBBY3Rpb25zIGVudmlyb25tZW50IHRoZSBjcmVkZW50aWFscyBoYXZlIGJlZW4gYWRkZWQgdG8uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGVudmlyb25tZW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5lbnZpcm9ubWVudDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgR2l0aHViQ3JlZGVudGlhbHNPcHRpb25zIHtcbiAgcmVhZG9ubHkgc2V0dXBTdGVwczogSm9iU3RlcFtdO1xuICByZWFkb25seSB0b2tlblJlZjogc3RyaW5nO1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcbn1cbiJdfQ==