projen 0.98.5 → 0.98.7

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 (148) hide show
  1. package/.jsii +589 -360
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +5 -5
  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 +2 -2
  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 +4 -4
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/internal.d.ts +1 -0
  16. package/lib/awscdk/lambda-extension.js +1 -1
  17. package/lib/awscdk/lambda-function.js +2 -2
  18. package/lib/awscdk/private/feature-flags-v2.const.d.ts +2 -1
  19. package/lib/awscdk/private/feature-flags-v2.const.js +3 -2
  20. package/lib/build/build-workflow.js +1 -1
  21. package/lib/cdk/auto-discover-base.js +2 -2
  22. package/lib/cdk/construct-lib.js +1 -1
  23. package/lib/cdk/integration-test-base.js +1 -1
  24. package/lib/cdk/jsii-docgen.js +1 -1
  25. package/lib/cdk/jsii-project.js +1 -1
  26. package/lib/cdk8s/auto-discover.js +2 -2
  27. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  28. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  29. package/lib/cdk8s/cdk8s-construct.js +1 -1
  30. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  31. package/lib/cdk8s/cdk8s-deps.js +1 -1
  32. package/lib/cdk8s/integration-test.js +1 -1
  33. package/lib/cdktf/cdktf-construct.js +1 -1
  34. package/lib/circleci/circleci.js +1 -1
  35. package/lib/component.js +1 -1
  36. package/lib/dependencies.js +1 -1
  37. package/lib/dev-env.js +1 -1
  38. package/lib/docker-compose/docker-compose-service.js +1 -1
  39. package/lib/docker-compose/docker-compose.js +1 -1
  40. package/lib/file.js +1 -1
  41. package/lib/gitattributes.js +1 -1
  42. package/lib/github/actions-provider.js +1 -1
  43. package/lib/github/auto-approve.js +1 -1
  44. package/lib/github/auto-merge.js +1 -1
  45. package/lib/github/auto-queue.js +1 -1
  46. package/lib/github/dependabot.js +1 -1
  47. package/lib/github/github-credentials.js +1 -1
  48. package/lib/github/github-project.js +1 -1
  49. package/lib/github/github.js +1 -1
  50. package/lib/github/merge-queue.js +1 -1
  51. package/lib/github/mergify.js +1 -1
  52. package/lib/github/pr-template.js +1 -1
  53. package/lib/github/pull-request-backport.js +1 -1
  54. package/lib/github/pull-request-lint.js +1 -1
  55. package/lib/github/stale.js +1 -1
  56. package/lib/github/task-workflow-job.js +1 -1
  57. package/lib/github/task-workflow.js +1 -1
  58. package/lib/github/workflow-actions.js +1 -1
  59. package/lib/github/workflow-jobs.js +1 -1
  60. package/lib/github/workflow-steps.js +1 -1
  61. package/lib/github/workflows.js +1 -1
  62. package/lib/gitlab/configuration-model.d.ts +7 -0
  63. package/lib/gitlab/configuration-model.js +1 -1
  64. package/lib/gitlab/configuration.d.ts +11 -1
  65. package/lib/gitlab/configuration.js +11 -2
  66. package/lib/gitlab/gitlab-configuration.js +1 -1
  67. package/lib/gitlab/nested-configuration.js +1 -1
  68. package/lib/gitpod.js +1 -1
  69. package/lib/ignore-file.js +1 -1
  70. package/lib/ini.js +1 -1
  71. package/lib/java/java-project.js +1 -1
  72. package/lib/java/junit.js +1 -1
  73. package/lib/java/maven-compile.js +1 -1
  74. package/lib/java/maven-packaging.js +1 -1
  75. package/lib/java/maven-sample.js +1 -1
  76. package/lib/java/pom.js +2 -2
  77. package/lib/java/projenrc.js +1 -1
  78. package/lib/javascript/biome/biome-config.d.ts +1 -1
  79. package/lib/javascript/biome/biome-config.js +1 -1
  80. package/lib/javascript/biome/biome.js +1 -1
  81. package/lib/javascript/bundler.js +1 -1
  82. package/lib/javascript/eslint.js +1 -1
  83. package/lib/javascript/jest.js +4 -4
  84. package/lib/javascript/license-checker.js +1 -1
  85. package/lib/javascript/node-package.js +1 -1
  86. package/lib/javascript/node-project.d.ts +64 -0
  87. package/lib/javascript/node-project.js +118 -3
  88. package/lib/javascript/npm-config.js +1 -1
  89. package/lib/javascript/prettier.js +1 -1
  90. package/lib/javascript/projenrc.js +1 -1
  91. package/lib/javascript/typescript-config.js +2 -2
  92. package/lib/javascript/upgrade-dependencies.js +2 -2
  93. package/lib/javascript/yarnrc.js +1 -1
  94. package/lib/json-patch.js +1 -1
  95. package/lib/json.js +1 -1
  96. package/lib/license.js +1 -1
  97. package/lib/logger.js +1 -1
  98. package/lib/makefile.js +1 -1
  99. package/lib/object-file.js +1 -1
  100. package/lib/project-build.js +1 -1
  101. package/lib/project-tree.js +1 -1
  102. package/lib/project.js +1 -1
  103. package/lib/projects.js +1 -1
  104. package/lib/projenrc-json.js +2 -2
  105. package/lib/projenrc.js +1 -1
  106. package/lib/python/pip.js +1 -1
  107. package/lib/python/poetry.js +2 -2
  108. package/lib/python/projenrc.js +1 -1
  109. package/lib/python/pytest-sample.js +1 -1
  110. package/lib/python/pytest.js +1 -1
  111. package/lib/python/python-project.js +1 -1
  112. package/lib/python/python-sample.js +1 -1
  113. package/lib/python/requirements-file.js +1 -1
  114. package/lib/python/setuppy.js +1 -1
  115. package/lib/python/setuptools.js +1 -1
  116. package/lib/python/venv.js +1 -1
  117. package/lib/readme.js +1 -1
  118. package/lib/release/publisher.js +1 -1
  119. package/lib/release/release-trigger.js +1 -1
  120. package/lib/release/release.d.ts +10 -2
  121. package/lib/release/release.js +16 -4
  122. package/lib/renovatebot.js +1 -1
  123. package/lib/sample-file.js +2 -2
  124. package/lib/semver.js +1 -1
  125. package/lib/source-code.js +1 -1
  126. package/lib/task-runtime.js +1 -1
  127. package/lib/task.js +1 -1
  128. package/lib/tasks.js +1 -1
  129. package/lib/testing.js +1 -1
  130. package/lib/textfile.js +1 -1
  131. package/lib/toml.js +1 -1
  132. package/lib/typescript/projenrc-ts.js +1 -1
  133. package/lib/typescript/projenrc.js +1 -1
  134. package/lib/typescript/typescript-typedoc.js +1 -1
  135. package/lib/typescript/typescript.js +6 -6
  136. package/lib/version.js +2 -2
  137. package/lib/vscode/devcontainer.js +1 -1
  138. package/lib/vscode/extensions.js +1 -1
  139. package/lib/vscode/launch-config.js +1 -1
  140. package/lib/vscode/settings.js +1 -1
  141. package/lib/vscode/vscode.js +1 -1
  142. package/lib/web/next.js +3 -3
  143. package/lib/web/postcss.js +1 -1
  144. package/lib/web/react.js +4 -4
  145. package/lib/web/tailwind.js +1 -1
  146. package/lib/xmlfile.js +1 -1
  147. package/lib/yaml.js +1 -1
  148. package/package.json +7 -6
@@ -227,6 +227,14 @@ class CiConfiguration extends component_1.Component {
227
227
  this.assertIsValidCacheSetup(caches);
228
228
  this._defaultCache = caches;
229
229
  }
230
+ /**
231
+ * Specify a list of commands to execute on the runner before cloning the Git repository and any submodules
232
+ * https://docs.gitlab.com/ci/yaml/#hookspre_get_sources_script
233
+ * @param hooks
234
+ */
235
+ addDefaultHooks(hooks) {
236
+ this.defaultHooks = hooks;
237
+ }
230
238
  renderCI() {
231
239
  return {
232
240
  default: this.renderDefault(),
@@ -261,6 +269,7 @@ class CiConfiguration extends component_1.Component {
261
269
  services: this.defaultServices.length > 0 ? this.defaultServices : undefined,
262
270
  tags: this.defaultTags.length > 0 ? this.defaultTags : undefined,
263
271
  timeout: this.defaultTimeout,
272
+ hooks: this.defaultHooks,
264
273
  };
265
274
  return Object.values(defaults).filter((x) => x).length
266
275
  ? snakeCaseKeys(defaults)
@@ -269,7 +278,7 @@ class CiConfiguration extends component_1.Component {
269
278
  }
270
279
  exports.CiConfiguration = CiConfiguration;
271
280
  _a = JSII_RTTI_SYMBOL_1;
272
- CiConfiguration[_a] = { fqn: "projen.gitlab.CiConfiguration", version: "0.98.5" };
281
+ CiConfiguration[_a] = { fqn: "projen.gitlab.CiConfiguration", version: "0.98.7" };
273
282
  function snakeCaseKeys(obj, skipTopLevel = false) {
274
283
  if (typeof obj !== "object" || obj == null) {
275
284
  return obj;
@@ -289,4 +298,4 @@ function snakeCaseKeys(obj, skipTopLevel = false) {
289
298
  }
290
299
  return result;
291
300
  }
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXRsYWIvY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3QiwrQkFBNkI7QUFjN0IsNENBQXlDO0FBRXpDLGtDQUFtQztBQXVDbkM7Ozs7R0FJRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxxQkFBUztJQThCNUMsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBNERELFlBQ0UsT0FBZ0IsRUFDaEIsSUFBWSxFQUNaLE9BQWdDO1FBRWhDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQXBGakI7O1dBRUc7UUFDYSx1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFLbEQ7O1dBRUc7UUFDYSx3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFxQm5EOztXQUVHO1FBQ0ssb0JBQWUsR0FBYyxFQUFFLENBQUM7UUFDeEM7O1dBRUc7UUFDTSxnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQVNwQzs7OztXQUlHO1FBQ0ssWUFBTyxHQUFjLEVBQUUsQ0FBQztRQU1oQzs7O1dBR0c7UUFDYSxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RDOzs7V0FHRztRQUNhLGNBQVMsR0FDdkIsRUFBRSxDQUFDO1FBS0w7O1dBRUc7UUFDYSxTQUFJLEdBQXdCLEVBQUUsQ0FBQztRQVE3QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVztZQUN2QixDQUFDLENBQUMsZ0JBQWdCO1lBQ2xCLENBQUMsQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLElB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QUM7SUFDRCxPQUFPLE1BQWEsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgc25ha2UgfSBmcm9tIFwiY2FzZVwiO1xuaW1wb3J0IHtcbiAgQXJ0aWZhY3RzLFxuICBDYWNoZSxcbiAgRGVmYXVsdCxcbiAgSURUb2tlbixcbiAgSW1hZ2UsXG4gIEluY2x1ZGUsXG4gIEpvYixcbiAgUmV0cnksXG4gIFNlcnZpY2UsXG4gIFZhcmlhYmxlQ29uZmlnLFxuICBXb3JrZmxvdyxcbn0gZnJvbSBcIi4vY29uZmlndXJhdGlvbi1tb2RlbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gXCIuLi95YW1sXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYENpQ29uZmlndXJhdGlvbmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2lDb25maWd1cmF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IHNldHRpbmdzIGZvciB0aGUgQ0kgQ29uZmlndXJhdGlvbi4gSm9icyB0aGF0IGRvIG5vdCBkZWZpbmUgb25lIG9yIG1vcmUgb2YgdGhlIGxpc3RlZCBrZXl3b3JkcyB1c2UgdGhlIHZhbHVlIGRlZmluZWQgaW4gdGhlIGRlZmF1bHQgc2VjdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHQ/OiBEZWZhdWx0O1xuICAvKipcbiAgICogQSBzcGVjaWFsIGpvYiB1c2VkIHRvIHVwbG9hZCBzdGF0aWMgc2l0ZXMgdG8gR2l0bGFiIHBhZ2VzLiBSZXF1aXJlcyBhIGBwdWJsaWMvYCBkaXJlY3RvcnlcbiAgICogd2l0aCBgYXJ0aWZhY3RzLnBhdGhgIHBvaW50aW5nIHRvIGl0LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFnZXM/OiBKb2I7XG4gIC8qKlxuICAgKiBVc2VkIHRvIGNvbnRyb2wgcGlwZWxpbmUgYmVoYXZpb3IuXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvdz86IFdvcmtmbG93O1xuICAvKipcbiAgICogR3JvdXBzIGpvYnMgaW50byBzdGFnZXMuIEFsbCBqb2JzIGluIG9uZSBzdGFnZSBtdXN0IGNvbXBsZXRlIGJlZm9yZSBuZXh0IHN0YWdlIGlzXG4gICAqIGV4ZWN1dGVkLiBJZiBubyBzdGFnZXMgYXJlIHNwZWNpZmllZC4gRGVmYXVsdHMgdG8gWydidWlsZCcsICd0ZXN0JywgJ2RlcGxveSddLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2VzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBHbG9iYWwgdmFyaWFibGVzIHRoYXQgYXJlIHBhc3NlZCB0byBqb2JzLlxuICAgKiBJZiB0aGUgam9iIGFscmVhZHkgaGFzIHRoYXQgdmFyaWFibGUgZGVmaW5lZCwgdGhlIGpvYi1sZXZlbCB2YXJpYWJsZSB0YWtlcyBwcmVjZWRlbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFyaWFibGVzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgLyoqXG4gICAqIEFuIGluaXRpYWwgc2V0IG9mIGpvYnMgdG8gYWRkIHRvIHRoZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgam9icz86IFJlY29yZDxzdHJpbmcsIEpvYj47XG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBnZW5lcmF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ0kgZm9yIEdpdExhYi5cbiAqIEEgQ0kgaXMgYSBjb25maWd1cmFibGUgYXV0b21hdGVkIHByb2Nlc3MgbWFkZSB1cCBvZiBvbmUgb3IgbW9yZSBzdGFnZXMvam9icy5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmdpdGxhYi5jb20vZWUvY2kveWFtbC9cbiAqL1xuZXhwb3J0IGNsYXNzIENpQ29uZmlndXJhdGlvbiBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXRoIHRvIENJIGZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB3b3JrZmxvdyBZQU1MIGZpbGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZTogWWFtbEZpbGU7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZmF1bHQgc2NyaXB0cyB0aGF0IHNob3VsZCBydW4gKmFmdGVyKiBhbGwgam9icy4gQ2FuIGJlIG92ZXJyaWRlbiBieSB0aGUgam9iIGxldmVsIGBhZnRlclNjcmlwdGAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEFmdGVyU2NyaXB0OiBzdHJpbmdbXSA9IFtdO1xuICAvKipcbiAgICogRGVmYXVsdCBsaXN0IG9mIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0aGF0IHNob3VsZCBiZSBhdHRhY2hlZCB0byB0aGUgam9iIGlmIGl0IHN1Y2NlZWRzLiBBcnRpZmFjdHMgYXJlIHNlbnQgdG8gR2l0bGFiIHdoZXJlIHRoZXkgY2FuIGJlIGRvd25sb2FkZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEFydGlmYWN0cz86IEFydGlmYWN0cztcbiAgLyoqXG4gICAqIERlZmluZXMgZGVmYXVsdCBzY3JpcHRzIHRoYXQgc2hvdWxkIHJ1biAqYmVmb3JlKiBhbGwgam9icy4gQ2FuIGJlIG92ZXJyaWRlbiBieSB0aGUgam9iIGxldmVsIGBhZnRlclNjcmlwdGAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEJlZm9yZVNjcmlwdDogc3RyaW5nW10gPSBbXTtcbiAgLyoqXG4gICAqIEEgZGVmYXVsdCBsaXN0IG9mIGNhY2hlIGRlZmluaXRpb25zIChtw6F4LiA0KSB3aXRoIHRoZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdG8gY2FjaGUgYmV0d2VlbiBqb2JzLiBZb3UgY2FuIG9ubHkgdXNlIHBhdGhzIHRoYXQgYXJlIGluIHRoZSBsb2NhbCB3b3JraW5nIGNvcHkuXG4gICAqL1xuICBwcml2YXRlIF9kZWZhdWx0Q2FjaGU/OiBDYWNoZVtdO1xuXG4gIHB1YmxpYyBnZXQgZGVmYXVsdENhY2hlKCk6IENhY2hlW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0Q2FjaGU7XG4gIH1cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZGVmYXVsdCBkb2NrZXIgaW1hZ2UgdG8gdXNlIGdsb2JhbGx5IGZvciBhbGwgam9icy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0SW1hZ2U/OiBJbWFnZTtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciB3aGV0aGVyIGEgam9iIHNob3VsZCBiZSBjYW5jZWxlZCB3aGVuIGEgbmV3ZXIgcGlwZWxpbmUgc3RhcnRzIGJlZm9yZSB0aGUgam9iIGNvbXBsZXRlcyAoRGVmYXVsdDogZmFsc2UpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRJbnRlcnJ1cHRpYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvdyBtYW55IHRpbWVzIGEgam9iIGlzIHJldHJpZWQgaWYgaXQgZmFpbHMuIElmIG5vdCBkZWZpbmVkLCBkZWZhdWx0cyB0byAwIGFuZCBqb2JzIGRvIG5vdCByZXRyeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0UmV0cnk/OiBSZXRyeTtcbiAgLyoqXG4gICAqIEEgZGVmYXVsdCBsaXN0IG9mIGFkZGl0aW9uYWwgRG9ja2VyIGltYWdlcyB0byBydW4gc2NyaXB0cyBpbi4gVGhlIHNlcnZpY2UgaW1hZ2UgaXMgbGlua2VkIHRvIHRoZSBpbWFnZSBzcGVjaWZpZWQgaW4gdGhlICBpbWFnZSBwYXJhbWV0ZXIuXG4gICAqL1xuICBwcml2YXRlIGRlZmF1bHRTZXJ2aWNlczogU2VydmljZVtdID0gW107XG4gIC8qKlxuICAgKiBVc2VkIHRvIHNlbGVjdCBhIHNwZWNpZmljIHJ1bm5lciBmcm9tIHRoZSBsaXN0IG9mIGFsbCBydW5uZXJzIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0VGFnczogc3RyaW5nW10gPSBbXTtcbiAgLyoqXG4gICAqIEEgZGVmYXVsdCB0aW1lb3V0IGpvYiB3cml0dGVuIGluIG5hdHVyYWwgbGFuZ3VhZ2UgKEV4LiBvbmUgaG91ciwgMzYwMCBzZWNvbmRzLCA2MCBtaW51dGVzKS5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRUaW1lb3V0Pzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmYXVsdCBJRCB0b2tlbnMgKEpTT04gV2ViIFRva2VucykgdGhhdCBhcmUgdXNlZCBmb3IgQ0kvQ0QgYXV0aGVudGljYXRpb24gdG8gdXNlIGdsb2JhbGx5IGZvciBhbGwgam9icy5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRJZFRva2Vucz86IFJlY29yZDxzdHJpbmcsIElEVG9rZW4+O1xuICAvKipcbiAgICogQ2FuIGJlIGBJbmNsdWRlYCBvciBgSW5jbHVkZVtdYC4gRWFjaCBgSW5jbHVkZWAgd2lsbCBiZSBhIHN0cmluZywgb3IgYW5cbiAgICogb2JqZWN0IHdpdGggcHJvcGVydGllcyBmb3IgdGhlIG1ldGhvZCBpZiBpbmNsdWRpbmcgZXh0ZXJuYWwgWUFNTCBmaWxlLiBUaGUgZXh0ZXJuYWxcbiAgICogY29udGVudCB3aWxsIGJlIGZldGNoZWQsIGluY2x1ZGVkIGFuZCBldmFsdWF0ZWQgYWxvbmcgdGhlIGAuZ2l0bGFiLWNpLnltbGAuXG4gICAqL1xuICBwcml2YXRlIGluY2x1ZGU6IEluY2x1ZGVbXSA9IFtdO1xuICAvKipcbiAgICogQSBzcGVjaWFsIGpvYiB1c2VkIHRvIHVwbG9hZCBzdGF0aWMgc2l0ZXMgdG8gR2l0bGFiIHBhZ2VzLiBSZXF1aXJlcyBhIGBwdWJsaWMvYCBkaXJlY3RvcnlcbiAgICogd2l0aCBgYXJ0aWZhY3RzLnBhdGhgIHBvaW50aW5nIHRvIGl0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhZ2VzPzogSm9iO1xuICAvKipcbiAgICogR3JvdXBzIGpvYnMgaW50byBzdGFnZXMuIEFsbCBqb2JzIGluIG9uZSBzdGFnZSBtdXN0IGNvbXBsZXRlIGJlZm9yZSBuZXh0IHN0YWdlIGlzXG4gICAqIGV4ZWN1dGVkLiBEZWZhdWx0cyB0byBbJ2J1aWxkJywgJ3Rlc3QnLCAnZGVwbG95J10uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuICAvKipcbiAgICogR2xvYmFsIHZhcmlhYmxlcyB0aGF0IGFyZSBwYXNzZWQgdG8gam9icy5cbiAgICogSWYgdGhlIGpvYiBhbHJlYWR5IGhhcyB0aGF0IHZhcmlhYmxlIGRlZmluZWQsIHRoZSBqb2ItbGV2ZWwgdmFyaWFibGUgdGFrZXMgcHJlY2VkZW5jZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIG51bWJlciB8IFZhcmlhYmxlQ29uZmlnIHwgc3RyaW5nPiA9XG4gICAge307XG4gIC8qKlxuICAgKiBVc2VkIHRvIGNvbnRyb2wgcGlwZWxpbmUgYmVoYXZpb3IuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3c/OiBXb3JrZmxvdztcbiAgLyoqXG4gICAqIFRoZSBqb2JzIGluIHRoZSBDSSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGpvYnM6IFJlY29yZDxzdHJpbmcsIEpvYj4gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQ2lDb25maWd1cmF0aW9uT3B0aW9uc1xuICApIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICB0aGlzLm5hbWUgPSBwYXRoLnBhcnNlKG5hbWUpLm5hbWU7XG4gICAgY29uc3QgZGVyaXZlZFBhdGggPVxuICAgICAgdGhpcy5uYW1lID09PSBcImdpdGxhYi1jaVwiXG4gICAgICAgID8gXCIuZ2l0bGFiLWNpLnltbFwiXG4gICAgICAgIDogYC5naXRsYWIvY2ktdGVtcGxhdGVzLyR7bmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpfS55bWxgO1xuICAgIHRoaXMucGF0aCA9IG9wdGlvbnM/LnBhdGggPz8gZGVyaXZlZFBhdGg7XG4gICAgdGhpcy5maWxlID0gbmV3IFlhbWxGaWxlKHRoaXMucHJvamVjdCwgdGhpcy5wYXRoLCB7XG4gICAgICBvYmo6ICgpID0+IHRoaXMucmVuZGVyQ0koKSxcbiAgICAgIC8vIEdpdExhYiBuZWVkcyB0byByZWFkIHRoZSBmaWxlIGZyb20gdGhlIHJlcG9zaXRvcnkgaW4gb3JkZXIgdG8gd29yay5cbiAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICB9KTtcbiAgICBjb25zdCBkZWZhdWx0cyA9IG9wdGlvbnM/LmRlZmF1bHQ7XG4gICAgaWYgKGRlZmF1bHRzKSB7XG4gICAgICB0aGlzLmRlZmF1bHRBZnRlclNjcmlwdC5wdXNoKC4uLihkZWZhdWx0cy5hZnRlclNjcmlwdCA/PyBbXSkpO1xuICAgICAgdGhpcy5kZWZhdWx0QXJ0aWZhY3RzID0gZGVmYXVsdHMuYXJ0aWZhY3RzO1xuICAgICAgZGVmYXVsdHMuYmVmb3JlU2NyaXB0ICYmXG4gICAgICAgIHRoaXMuZGVmYXVsdEJlZm9yZVNjcmlwdC5wdXNoKC4uLmRlZmF1bHRzLmJlZm9yZVNjcmlwdCk7XG4gICAgICBkZWZhdWx0cy5jYWNoZSAmJiB0aGlzLmFkZERlZmF1bHRDYWNoZXMoZGVmYXVsdHMuY2FjaGUpO1xuICAgICAgdGhpcy5kZWZhdWx0SWRUb2tlbnMgPSBkZWZhdWx0cy5pZFRva2VucztcbiAgICAgIHRoaXMuZGVmYXVsdEltYWdlID0gZGVmYXVsdHMuaW1hZ2U7XG4gICAgICB0aGlzLmRlZmF1bHRJbnRlcnJ1cHRpYmxlID0gZGVmYXVsdHMuaW50ZXJydXB0aWJsZTtcbiAgICAgIHRoaXMuZGVmYXVsdFJldHJ5ID0gZGVmYXVsdHMucmV0cnk7XG4gICAgICBkZWZhdWx0cy5zZXJ2aWNlcyAmJiB0aGlzLmFkZFNlcnZpY2VzKC4uLmRlZmF1bHRzLnNlcnZpY2VzKTtcbiAgICAgIGRlZmF1bHRzLnRhZ3MgJiYgdGhpcy5kZWZhdWx0VGFncy5wdXNoKC4uLmRlZmF1bHRzLnRhZ3MpO1xuICAgICAgdGhpcy5kZWZhdWx0VGltZW91dCA9IGRlZmF1bHRzLnRpbWVvdXQ7XG4gICAgfVxuICAgIHRoaXMucGFnZXMgPSBvcHRpb25zPy5wYWdlcztcbiAgICB0aGlzLndvcmtmbG93ID0gb3B0aW9ucz8ud29ya2Zsb3c7XG4gICAgaWYgKG9wdGlvbnM/LnN0YWdlcykge1xuICAgICAgdGhpcy5hZGRTdGFnZXMoLi4ub3B0aW9ucy5zdGFnZXMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8udmFyaWFibGVzKSB7XG4gICAgICB0aGlzLmFkZEdsb2JhbFZhcmlhYmxlcyhvcHRpb25zLnZhcmlhYmxlcyk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5qb2JzKSB7XG4gICAgICB0aGlzLmFkZEpvYnMob3B0aW9ucy5qb2JzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFkZGl0aW9uYWwgeW1sL3lhbWwgZmlsZXMgdG8gdGhlIENJIGluY2x1ZGVzXG4gICAqIEBwYXJhbSBpbmNsdWRlcyBUaGUgaW5jbHVkZXMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZEluY2x1ZGVzKC4uLmluY2x1ZGVzOiBJbmNsdWRlW10pIHtcbiAgICBmb3IgKGNvbnN0IGFkZGl0aW9uYWwgb2YgaW5jbHVkZXMpIHtcbiAgICAgIHRoaXMuYXNzZXJ0SXNWYWxpZEluY2x1ZGUoYWRkaXRpb25hbCk7XG4gICAgICBmb3IgKGNvbnN0IGV4aXN0aW5nIG9mIHRoaXMuaW5jbHVkZSkge1xuICAgICAgICBpZiAodGhpcy5hcmVFcXVhbEluY2x1ZGVzKGV4aXN0aW5nLCBhZGRpdGlvbmFsKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGAke3RoaXMubmFtZX06IEdpdExhYiBDSSAke2V4aXN0aW5nfSBhbHJlYWR5IGNvbnRhaW5zIG9uZSBvciBtb3JlIHRlbXBsYXRlcyBzcGVjaWZpZWQgaW4gJHthZGRpdGlvbmFsfS5gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5pbmNsdWRlLnB1c2goYWRkaXRpb25hbCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRocm93IGFuIGVycm9yIGlmIHRoZSBwcm92aWRlZCBJbmNsdWRlIGlzIGludmFsaWQuXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRsYWIuY29tL2dpdGxhYi1vcmcvZ2l0bGFiLy0vYmxvYi9tYXN0ZXIvbGliL2dpdGxhYi9jaS9jb25maWcvZXh0ZXJuYWwvbWFwcGVyLnJiXG4gICAqIEBwYXJhbSBpbmNsdWRlIHRoZSBJbmNsdWRlIHRvIHZhbGlkYXRlLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3NlcnRJc1ZhbGlkSW5jbHVkZShpbmNsdWRlOiBJbmNsdWRlKSB7XG4gICAgY29uc3QgY29tYm9zID0gW1xuICAgICAgaW5jbHVkZS5sb2NhbCxcbiAgICAgIGluY2x1ZGUuZmlsZSAmJiBpbmNsdWRlLnByb2plY3QsXG4gICAgICBpbmNsdWRlLnJlbW90ZSxcbiAgICAgIGluY2x1ZGUudGVtcGxhdGUsXG4gICAgXTtcbiAgICBjb25zdCBsZW4gPSBjb21ib3MuZmlsdGVyKCh4KSA9PiBCb29sZWFuKHgpKS5sZW5ndGg7XG4gICAgaWYgKGxlbiAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgJHt0aGlzLm5hbWV9OiBHaXRMYWIgQ0kgaW5jbHVkZSAke2luY2x1ZGV9IGNvbnRhaW5zICR7bGVufSBwcm9wZXJ0eSBjb21iaW5hdGlvbihzKS5cbiAgICAgICAgQSB2YWxpZCBpbmNsdWRlIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzICpvbmUqIG9mIHRoZSBmb2xsb3dpbmcgcHJvcGVydHkgY29tYmluYXRpb25zLlxuICAgICAgICAqIGxvY2FsXG4gICAgICAgICogZmlsZSwgcHJvamVjdFxuICAgICAgICAqIHJlbW90ZVxuICAgICAgICAqIHRlbXBsYXRlICBcbiAgICAgICAgYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIGVxdWFsaXR5IG9mIEluY2x1ZGVzLlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0bGFiLmNvbS9naXRsYWItb3JnL2dpdGxhYi8tL2Jsb2IvbWFzdGVyL2xpYi9naXRsYWIvY2kvY29uZmlnL2V4dGVybmFsL21hcHBlci5yYlxuICAgKiBAcGFyYW0geCBGaXJzdCBpbmNsdWRlIHRvIGNvbXBhcmUuXG4gICAqIEBwYXJhbSB5IFNlY29uZCBpbmNsdWRlIHRvIGNvbXBhcmUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGluY2x1ZGVzIGFyZSBlcXVhbC5cbiAgICovXG4gIHByaXZhdGUgYXJlRXF1YWxJbmNsdWRlcyh4OiBJbmNsdWRlLCB5OiBJbmNsdWRlKTogYm9vbGVhbiB7XG4gICAgaWYgKHgubG9jYWwgPT09IHkubG9jYWwgJiYgeC5sb2NhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHgudGVtcGxhdGUgPT09IHkudGVtcGxhdGUgJiYgeC50ZW1wbGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHgucmVtb3RlID09PSB5LnJlbW90ZSAmJiB4LnJlbW90ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHgucHJvamVjdCA9PT0geS5wcm9qZWN0ICYmIHgucmVmID09PSB5LnJlZikge1xuICAgICAgY29uc3QgeEZpbGVzID0geC5maWxlID8geC5maWxlIDogW107XG4gICAgICBjb25zdCB5RmlsZXMgPSB5LmZpbGUgPyB5LmZpbGUgOiBbXTtcbiAgICAgIGNvbnN0IGFsbEZpbGVzID0geEZpbGVzLmNvbmNhdCh5RmlsZXMpO1xuICAgICAgcmV0dXJuIG5ldyBTZXQoYWxsRmlsZXMpLnNpemUgIT09IGFsbEZpbGVzLmxlbmd0aDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhZGRpdGlvbmFsIHNlcnZpY2VzLlxuICAgKiBAcGFyYW0gc2VydmljZXMgVGhlIHNlcnZpY2VzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhZGRTZXJ2aWNlcyguLi5zZXJ2aWNlczogU2VydmljZVtdKSB7XG4gICAgZm9yIChjb25zdCBhZGRpdGlvbmFsIG9mIHNlcnZpY2VzKSB7XG4gICAgICBmb3IgKGNvbnN0IGV4aXN0aW5nIG9mIHRoaXMuZGVmYXVsdFNlcnZpY2VzKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBhZGRpdGlvbmFsLm5hbWUgPT09IGV4aXN0aW5nLm5hbWUgJiZcbiAgICAgICAgICBhZGRpdGlvbmFsLmFsaWFzID09PSBleGlzdGluZy5hbGlhc1xuICAgICAgICApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgJHt0aGlzLm5hbWV9OiBHaXRMYWIgQ0kgYWxyZWFkeSBjb250YWlucyBzZXJ2aWNlICR7YWRkaXRpb25hbH0uYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZGVmYXVsdFNlcnZpY2VzLnB1c2goYWRkaXRpb25hbCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGdsb2JhbGx5IGRlZmluZWQgdmFyaWFibGUgdG8gdGhlIENJIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSB2YXJpYWJsZXMgVGhlIHZhcmlhYmxlcyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkR2xvYmFsVmFyaWFibGVzKHZhcmlhYmxlczogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhcmlhYmxlcykpIHtcbiAgICAgIGlmICh0aGlzLnZhcmlhYmxlc1trZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGAke3RoaXMubmFtZX06IEdpdExhYiBDSSBhbHJlYWR5IGNvbnRhaW5zIHZhcmlhYmxlICR7a2V5fS5gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLnZhcmlhYmxlc1trZXldID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBzdGFnZXMgdG8gdGhlIENJIGNvbmZpZ3VyYXRpb24gaWYgbm90IGFscmVhZHkgcHJlc2VudC5cbiAgICogQHBhcmFtIHN0YWdlcyBzdGFnZXMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZFN0YWdlcyguLi5zdGFnZXM6IHN0cmluZ1tdKSB7XG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBzdGFnZXMpIHtcbiAgICAgIGlmICghdGhpcy5zdGFnZXMuaW5jbHVkZXMoc3RhZ2UpKSB7XG4gICAgICAgIHRoaXMuc3RhZ2VzLnB1c2goc3RhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgam9icyBhbmQgdGhlaXIgc3RhZ2VzIHRvIHRoZSBDSSBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gam9icyBKb2JzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhZGRKb2JzKGpvYnM6IFJlY29yZDxzdHJpbmcsIEpvYj4pIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhqb2JzKSkge1xuICAgICAgaWYgKHRoaXMuam9ic1trZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMubmFtZX06IEdpdExhYiBDSSBhbHJlYWR5IGNvbnRhaW5zIGpvYiAke2tleX0uYCk7XG4gICAgICB9XG4gICAgICB0aGlzLmpvYnNba2V5XSA9IHZhbHVlO1xuICAgICAgaWYgKHZhbHVlLnN0YWdlKSB7XG4gICAgICAgIHRoaXMuYWRkU3RhZ2VzKHZhbHVlLnN0YWdlKTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZS5jYWNoZSkge1xuICAgICAgICB0aGlzLmFzc2VydElzVmFsaWRDYWNoZVNldHVwKHZhbHVlLmNhY2hlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWRDYWNoZVNldHVwKGNhY2hlczogQ2FjaGVbXSk6IEJvb2xlYW4ge1xuICAgIGNvbnN0IE1BWF9DT05GSUdVUkFCTEVfQ0FDSEVTID0gNDtcbiAgICByZXR1cm4gY2FjaGVzLmxlbmd0aCA8PSBNQVhfQ09ORklHVVJBQkxFX0NBQ0hFUztcbiAgfVxuXG4gIHByaXZhdGUgYXNzZXJ0SXNWYWxpZENhY2hlU2V0dXAoY2FjaGVzOiBDYWNoZVtdKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWRDYWNoZVNldHVwKGNhY2hlcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYCR7dGhpcy5uYW1lfTogR2l0TGFiIENJIGNhbiBvbmx5IGRlZmluZSB1cCB0byA0IGNhY2hlcywgZ290OiAke2NhY2hlcy5sZW5ndGh9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB1cCB0byA0IGRlZmF1bHQgY2FjaGVzIGNvbmZpZ3VyYXRpb24gdG8gdGhlIENJIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSBjYWNoZXMgQ2FjaGVzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhZGREZWZhdWx0Q2FjaGVzKGNhY2hlczogQ2FjaGVbXSkge1xuICAgIHRoaXMuYXNzZXJ0SXNWYWxpZENhY2hlU2V0dXAoY2FjaGVzKTtcbiAgICB0aGlzLl9kZWZhdWx0Q2FjaGUgPSBjYWNoZXM7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckNJKCkge1xuICAgIHJldHVybiB7XG4gICAgICBkZWZhdWx0OiB0aGlzLnJlbmRlckRlZmF1bHQoKSxcbiAgICAgIGluY2x1ZGU6XG4gICAgICAgIHRoaXMuaW5jbHVkZS5sZW5ndGggPiAwID8gc25ha2VDYXNlS2V5cyh0aGlzLmluY2x1ZGUpIDogdW5kZWZpbmVkLFxuICAgICAgcGFnZXM6IHNuYWtlQ2FzZUtleXModGhpcy5wYWdlcyksXG4gICAgICBzZXJ2aWNlczpcbiAgICAgICAgdGhpcy5kZWZhdWx0U2VydmljZXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gc25ha2VDYXNlS2V5cyh0aGlzLmRlZmF1bHRTZXJ2aWNlcylcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHZhcmlhYmxlczpcbiAgICAgICAgT2JqZWN0LmVudHJpZXModGhpcy52YXJpYWJsZXMpLmxlbmd0aCA+IDAgPyB0aGlzLnZhcmlhYmxlcyA6IHVuZGVmaW5lZCxcbiAgICAgIHdvcmtmbG93OiBzbmFrZUNhc2VLZXlzKHRoaXMud29ya2Zsb3cpLFxuICAgICAgc3RhZ2VzOiB0aGlzLnN0YWdlcy5sZW5ndGggPiAwID8gdGhpcy5zdGFnZXMgOiB1bmRlZmluZWQsXG4gICAgICAvLyB3ZSBkbyBub3Qgd2FudCB0byBjaGFuZ2Ugam9iIG5hbWVzXG4gICAgICAvLyBhcyB0aGV5IGNhbiBiZSBoaWRkZW4gKGh0dHBzOi8vZG9jcy5naXRsYWIuY29tL2VlL2NpL2pvYnMvaW5kZXguaHRtbCNoaWRlLWpvYnMpXG4gICAgICAvLyBvciByZWZlcmVuY2VkIGluIGV4dGVuZHNcbiAgICAgIC4uLnNuYWtlQ2FzZUtleXModGhpcy5qb2JzLCB0cnVlKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJEZWZhdWx0KCkge1xuICAgIGNvbnN0IGRlZmF1bHRzOiBEZWZhdWx0ID0ge1xuICAgICAgYWZ0ZXJTY3JpcHQ6XG4gICAgICAgIHRoaXMuZGVmYXVsdEFmdGVyU2NyaXB0Lmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMuZGVmYXVsdEFmdGVyU2NyaXB0XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBhcnRpZmFjdHM6IHRoaXMuZGVmYXVsdEFydGlmYWN0cyxcbiAgICAgIGJlZm9yZVNjcmlwdDpcbiAgICAgICAgdGhpcy5kZWZhdWx0QmVmb3JlU2NyaXB0Lmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMuZGVmYXVsdEJlZm9yZVNjcmlwdFxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgY2FjaGU6IHRoaXMuZGVmYXVsdENhY2hlLFxuICAgICAgaWRUb2tlbnM6IHRoaXMuZGVmYXVsdElkVG9rZW5zLFxuICAgICAgaW1hZ2U6IHRoaXMuZGVmYXVsdEltYWdlLFxuICAgICAgaW50ZXJydXB0aWJsZTogdGhpcy5kZWZhdWx0SW50ZXJydXB0aWJsZSxcbiAgICAgIHJldHJ5OiB0aGlzLmRlZmF1bHRSZXRyeSxcbiAgICAgIHNlcnZpY2VzOlxuICAgICAgICB0aGlzLmRlZmF1bHRTZXJ2aWNlcy5sZW5ndGggPiAwID8gdGhpcy5kZWZhdWx0U2VydmljZXMgOiB1bmRlZmluZWQsXG4gICAgICB0YWdzOiB0aGlzLmRlZmF1bHRUYWdzLmxlbmd0aCA+IDAgPyB0aGlzLmRlZmF1bHRUYWdzIDogdW5kZWZpbmVkLFxuICAgICAgdGltZW91dDogdGhpcy5kZWZhdWx0VGltZW91dCxcbiAgICB9O1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKGRlZmF1bHRzKS5maWx0ZXIoKHgpID0+IHgpLmxlbmd0aFxuICAgICAgPyBzbmFrZUNhc2VLZXlzKGRlZmF1bHRzKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gc25ha2VDYXNlS2V5czxUID0gdW5rbm93bj4ob2JqOiBULCBza2lwVG9wTGV2ZWw6IGJvb2xlYW4gPSBmYWxzZSk6IFQge1xuICBpZiAodHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiB8fCBvYmogPT0gbnVsbCkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5tYXAoKG8pID0+IHNuYWtlQ2FzZUtleXMobykpIGFzIGFueTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChsZXQgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgdiA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgdiAhPSBudWxsICYmXG4gICAgICBrICE9PSBcInZhcmlhYmxlc1wiICYmXG4gICAgICBrICE9PSBcImlkVG9rZW5zXCJcbiAgICApIHtcbiAgICAgIHYgPSBzbmFrZUNhc2VLZXlzKHYpO1xuICAgIH1cbiAgICByZXN1bHRbc2tpcFRvcExldmVsID8gayA6IHNuYWtlKGspXSA9IHY7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdCBhcyBhbnk7XG59XG4iXX0=
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXRsYWIvY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3QiwrQkFBNkI7QUFlN0IsNENBQXlDO0FBRXpDLGtDQUFtQztBQXVDbkM7Ozs7R0FJRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxxQkFBUztJQThCNUMsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBZ0VELFlBQ0UsT0FBZ0IsRUFDaEIsSUFBWSxFQUNaLE9BQWdDO1FBRWhDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQXhGakI7O1dBRUc7UUFDYSx1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFLbEQ7O1dBRUc7UUFDYSx3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFxQm5EOztXQUVHO1FBQ0ssb0JBQWUsR0FBYyxFQUFFLENBQUM7UUFDeEM7O1dBRUc7UUFDTSxnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQWFwQzs7OztXQUlHO1FBQ0ssWUFBTyxHQUFjLEVBQUUsQ0FBQztRQU1oQzs7O1dBR0c7UUFDYSxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RDOzs7V0FHRztRQUNhLGNBQVMsR0FDdkIsRUFBRSxDQUFDO1FBS0w7O1dBRUc7UUFDYSxTQUFJLEdBQXdCLEVBQUUsQ0FBQztRQVE3QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVztZQUN2QixDQUFDLENBQUMsZ0JBQWdCO1lBQ2xCLENBQUMsQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLElB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QUFDO1FBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLFlBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsT0FBTyxNQUFhLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IHNuYWtlIH0gZnJvbSBcImNhc2VcIjtcbmltcG9ydCB7XG4gIEFydGlmYWN0cyxcbiAgQ2FjaGUsXG4gIERlZmF1bHQsXG4gIERlZmF1bHRIb29rcyxcbiAgSURUb2tlbixcbiAgSW1hZ2UsXG4gIEluY2x1ZGUsXG4gIEpvYixcbiAgUmV0cnksXG4gIFNlcnZpY2UsXG4gIFZhcmlhYmxlQ29uZmlnLFxuICBXb3JrZmxvdyxcbn0gZnJvbSBcIi4vY29uZmlndXJhdGlvbi1tb2RlbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gXCIuLi95YW1sXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYENpQ29uZmlndXJhdGlvbmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2lDb25maWd1cmF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IHNldHRpbmdzIGZvciB0aGUgQ0kgQ29uZmlndXJhdGlvbi4gSm9icyB0aGF0IGRvIG5vdCBkZWZpbmUgb25lIG9yIG1vcmUgb2YgdGhlIGxpc3RlZCBrZXl3b3JkcyB1c2UgdGhlIHZhbHVlIGRlZmluZWQgaW4gdGhlIGRlZmF1bHQgc2VjdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHQ/OiBEZWZhdWx0O1xuICAvKipcbiAgICogQSBzcGVjaWFsIGpvYiB1c2VkIHRvIHVwbG9hZCBzdGF0aWMgc2l0ZXMgdG8gR2l0bGFiIHBhZ2VzLiBSZXF1aXJlcyBhIGBwdWJsaWMvYCBkaXJlY3RvcnlcbiAgICogd2l0aCBgYXJ0aWZhY3RzLnBhdGhgIHBvaW50aW5nIHRvIGl0LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFnZXM/OiBKb2I7XG4gIC8qKlxuICAgKiBVc2VkIHRvIGNvbnRyb2wgcGlwZWxpbmUgYmVoYXZpb3IuXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvdz86IFdvcmtmbG93O1xuICAvKipcbiAgICogR3JvdXBzIGpvYnMgaW50byBzdGFnZXMuIEFsbCBqb2JzIGluIG9uZSBzdGFnZSBtdXN0IGNvbXBsZXRlIGJlZm9yZSBuZXh0IHN0YWdlIGlzXG4gICAqIGV4ZWN1dGVkLiBJZiBubyBzdGFnZXMgYXJlIHNwZWNpZmllZC4gRGVmYXVsdHMgdG8gWydidWlsZCcsICd0ZXN0JywgJ2RlcGxveSddLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2VzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBHbG9iYWwgdmFyaWFibGVzIHRoYXQgYXJlIHBhc3NlZCB0byBqb2JzLlxuICAgKiBJZiB0aGUgam9iIGFscmVhZHkgaGFzIHRoYXQgdmFyaWFibGUgZGVmaW5lZCwgdGhlIGpvYi1sZXZlbCB2YXJpYWJsZSB0YWtlcyBwcmVjZWRlbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFyaWFibGVzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgLyoqXG4gICAqIEFuIGluaXRpYWwgc2V0IG9mIGpvYnMgdG8gYWRkIHRvIHRoZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgam9icz86IFJlY29yZDxzdHJpbmcsIEpvYj47XG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBnZW5lcmF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ0kgZm9yIEdpdExhYi5cbiAqIEEgQ0kgaXMgYSBjb25maWd1cmFibGUgYXV0b21hdGVkIHByb2Nlc3MgbWFkZSB1cCBvZiBvbmUgb3IgbW9yZSBzdGFnZXMvam9icy5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmdpdGxhYi5jb20vZWUvY2kveWFtbC9cbiAqL1xuZXhwb3J0IGNsYXNzIENpQ29uZmlndXJhdGlvbiBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXRoIHRvIENJIGZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB3b3JrZmxvdyBZQU1MIGZpbGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZTogWWFtbEZpbGU7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZmF1bHQgc2NyaXB0cyB0aGF0IHNob3VsZCBydW4gKmFmdGVyKiBhbGwgam9icy4gQ2FuIGJlIG92ZXJyaWRlbiBieSB0aGUgam9iIGxldmVsIGBhZnRlclNjcmlwdGAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEFmdGVyU2NyaXB0OiBzdHJpbmdbXSA9IFtdO1xuICAvKipcbiAgICogRGVmYXVsdCBsaXN0IG9mIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0aGF0IHNob3VsZCBiZSBhdHRhY2hlZCB0byB0aGUgam9iIGlmIGl0IHN1Y2NlZWRzLiBBcnRpZmFjdHMgYXJlIHNlbnQgdG8gR2l0bGFiIHdoZXJlIHRoZXkgY2FuIGJlIGRvd25sb2FkZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEFydGlmYWN0cz86IEFydGlmYWN0cztcbiAgLyoqXG4gICAqIERlZmluZXMgZGVmYXVsdCBzY3JpcHRzIHRoYXQgc2hvdWxkIHJ1biAqYmVmb3JlKiBhbGwgam9icy4gQ2FuIGJlIG92ZXJyaWRlbiBieSB0aGUgam9iIGxldmVsIGBhZnRlclNjcmlwdGAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEJlZm9yZVNjcmlwdDogc3RyaW5nW10gPSBbXTtcbiAgLyoqXG4gICAqIEEgZGVmYXVsdCBsaXN0IG9mIGNhY2hlIGRlZmluaXRpb25zIChtw6F4LiA0KSB3aXRoIHRoZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdG8gY2FjaGUgYmV0d2VlbiBqb2JzLiBZb3UgY2FuIG9ubHkgdXNlIHBhdGhzIHRoYXQgYXJlIGluIHRoZSBsb2NhbCB3b3JraW5nIGNvcHkuXG4gICAqL1xuICBwcml2YXRlIF9kZWZhdWx0Q2FjaGU/OiBDYWNoZVtdO1xuXG4gIHB1YmxpYyBnZXQgZGVmYXVsdENhY2hlKCk6IENhY2hlW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0Q2FjaGU7XG4gIH1cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZGVmYXVsdCBkb2NrZXIgaW1hZ2UgdG8gdXNlIGdsb2JhbGx5IGZvciBhbGwgam9icy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0SW1hZ2U/OiBJbWFnZTtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciB3aGV0aGVyIGEgam9iIHNob3VsZCBiZSBjYW5jZWxlZCB3aGVuIGEgbmV3ZXIgcGlwZWxpbmUgc3RhcnRzIGJlZm9yZSB0aGUgam9iIGNvbXBsZXRlcyAoRGVmYXVsdDogZmFsc2UpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRJbnRlcnJ1cHRpYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvdyBtYW55IHRpbWVzIGEgam9iIGlzIHJldHJpZWQgaWYgaXQgZmFpbHMuIElmIG5vdCBkZWZpbmVkLCBkZWZhdWx0cyB0byAwIGFuZCBqb2JzIGRvIG5vdCByZXRyeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0UmV0cnk/OiBSZXRyeTtcbiAgLyoqXG4gICAqIEEgZGVmYXVsdCBsaXN0IG9mIGFkZGl0aW9uYWwgRG9ja2VyIGltYWdlcyB0byBydW4gc2NyaXB0cyBpbi4gVGhlIHNlcnZpY2UgaW1hZ2UgaXMgbGlua2VkIHRvIHRoZSBpbWFnZSBzcGVjaWZpZWQgaW4gdGhlICBpbWFnZSBwYXJhbWV0ZXIuXG4gICAqL1xuICBwcml2YXRlIGRlZmF1bHRTZXJ2aWNlczogU2VydmljZVtdID0gW107XG4gIC8qKlxuICAgKiBVc2VkIHRvIHNlbGVjdCBhIHNwZWNpZmljIHJ1bm5lciBmcm9tIHRoZSBsaXN0IG9mIGFsbCBydW5uZXJzIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0VGFnczogc3RyaW5nW10gPSBbXTtcbiAgLyoqXG4gICAqIEEgZGVmYXVsdCB0aW1lb3V0IGpvYiB3cml0dGVuIGluIG5hdHVyYWwgbGFuZ3VhZ2UgKEV4LiBvbmUgaG91ciwgMzYwMCBzZWNvbmRzLCA2MCBtaW51dGVzKS5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRUaW1lb3V0Pzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmYXVsdCBJRCB0b2tlbnMgKEpTT04gV2ViIFRva2VucykgdGhhdCBhcmUgdXNlZCBmb3IgQ0kvQ0QgYXV0aGVudGljYXRpb24gdG8gdXNlIGdsb2JhbGx5IGZvciBhbGwgam9icy5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRJZFRva2Vucz86IFJlY29yZDxzdHJpbmcsIElEVG9rZW4+O1xuICAvKipcbiAgICogU3BlY2lmeSBhIGxpc3Qgb2YgY29tbWFuZHMgdG8gZXhlY3V0ZSBvbiB0aGUgcnVubmVyIGJlZm9yZSBjbG9uaW5nIHRoZSBHaXQgcmVwb3NpdG9yeSBhbmQgYW55IHN1Ym1vZHVsZXMgaHR0cHM6Ly9kb2NzLmdpdGxhYi5jb20vY2kveWFtbC8jaG9va3NwcmVfZ2V0X3NvdXJjZXNfc2NyaXB0XG4gICAqL1xuICBwcml2YXRlIGRlZmF1bHRIb29rcz86IERlZmF1bHRbXCJob29rc1wiXTtcbiAgLyoqXG4gICAqIENhbiBiZSBgSW5jbHVkZWAgb3IgYEluY2x1ZGVbXWAuIEVhY2ggYEluY2x1ZGVgIHdpbGwgYmUgYSBzdHJpbmcsIG9yIGFuXG4gICAqIG9iamVjdCB3aXRoIHByb3BlcnRpZXMgZm9yIHRoZSBtZXRob2QgaWYgaW5jbHVkaW5nIGV4dGVybmFsIFlBTUwgZmlsZS4gVGhlIGV4dGVybmFsXG4gICAqIGNvbnRlbnQgd2lsbCBiZSBmZXRjaGVkLCBpbmNsdWRlZCBhbmQgZXZhbHVhdGVkIGFsb25nIHRoZSBgLmdpdGxhYi1jaS55bWxgLlxuICAgKi9cbiAgcHJpdmF0ZSBpbmNsdWRlOiBJbmNsdWRlW10gPSBbXTtcbiAgLyoqXG4gICAqIEEgc3BlY2lhbCBqb2IgdXNlZCB0byB1cGxvYWQgc3RhdGljIHNpdGVzIHRvIEdpdGxhYiBwYWdlcy4gUmVxdWlyZXMgYSBgcHVibGljL2AgZGlyZWN0b3J5XG4gICAqIHdpdGggYGFydGlmYWN0cy5wYXRoYCBwb2ludGluZyB0byBpdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwYWdlcz86IEpvYjtcbiAgLyoqXG4gICAqIEdyb3VwcyBqb2JzIGludG8gc3RhZ2VzLiBBbGwgam9icyBpbiBvbmUgc3RhZ2UgbXVzdCBjb21wbGV0ZSBiZWZvcmUgbmV4dCBzdGFnZSBpc1xuICAgKiBleGVjdXRlZC4gRGVmYXVsdHMgdG8gWydidWlsZCcsICd0ZXN0JywgJ2RlcGxveSddLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN0YWdlczogc3RyaW5nW10gPSBbXTtcbiAgLyoqXG4gICAqIEdsb2JhbCB2YXJpYWJsZXMgdGhhdCBhcmUgcGFzc2VkIHRvIGpvYnMuXG4gICAqIElmIHRoZSBqb2IgYWxyZWFkeSBoYXMgdGhhdCB2YXJpYWJsZSBkZWZpbmVkLCB0aGUgam9iLWxldmVsIHZhcmlhYmxlIHRha2VzIHByZWNlZGVuY2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBWYXJpYWJsZUNvbmZpZyB8IHN0cmluZz4gPVxuICAgIHt9O1xuICAvKipcbiAgICogVXNlZCB0byBjb250cm9sIHBpcGVsaW5lIGJlaGF2aW9yLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93PzogV29ya2Zsb3c7XG4gIC8qKlxuICAgKiBUaGUgam9icyBpbiB0aGUgQ0kgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBqb2JzOiBSZWNvcmQ8c3RyaW5nLCBKb2I+ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvamVjdDogUHJvamVjdCxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IENpQ29uZmlndXJhdGlvbk9wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgdGhpcy5uYW1lID0gcGF0aC5wYXJzZShuYW1lKS5uYW1lO1xuICAgIGNvbnN0IGRlcml2ZWRQYXRoID1cbiAgICAgIHRoaXMubmFtZSA9PT0gXCJnaXRsYWItY2lcIlxuICAgICAgICA/IFwiLmdpdGxhYi1jaS55bWxcIlxuICAgICAgICA6IGAuZ2l0bGFiL2NpLXRlbXBsYXRlcy8ke25hbWUudG9Mb2NhbGVMb3dlckNhc2UoKX0ueW1sYDtcbiAgICB0aGlzLnBhdGggPSBvcHRpb25zPy5wYXRoID8/IGRlcml2ZWRQYXRoO1xuICAgIHRoaXMuZmlsZSA9IG5ldyBZYW1sRmlsZSh0aGlzLnByb2plY3QsIHRoaXMucGF0aCwge1xuICAgICAgb2JqOiAoKSA9PiB0aGlzLnJlbmRlckNJKCksXG4gICAgICAvLyBHaXRMYWIgbmVlZHMgdG8gcmVhZCB0aGUgZmlsZSBmcm9tIHRoZSByZXBvc2l0b3J5IGluIG9yZGVyIHRvIHdvcmsuXG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgfSk7XG4gICAgY29uc3QgZGVmYXVsdHMgPSBvcHRpb25zPy5kZWZhdWx0O1xuICAgIGlmIChkZWZhdWx0cykge1xuICAgICAgdGhpcy5kZWZhdWx0QWZ0ZXJTY3JpcHQucHVzaCguLi4oZGVmYXVsdHMuYWZ0ZXJTY3JpcHQgPz8gW10pKTtcbiAgICAgIHRoaXMuZGVmYXVsdEFydGlmYWN0cyA9IGRlZmF1bHRzLmFydGlmYWN0cztcbiAgICAgIGRlZmF1bHRzLmJlZm9yZVNjcmlwdCAmJlxuICAgICAgICB0aGlzLmRlZmF1bHRCZWZvcmVTY3JpcHQucHVzaCguLi5kZWZhdWx0cy5iZWZvcmVTY3JpcHQpO1xuICAgICAgZGVmYXVsdHMuY2FjaGUgJiYgdGhpcy5hZGREZWZhdWx0Q2FjaGVzKGRlZmF1bHRzLmNhY2hlKTtcbiAgICAgIHRoaXMuZGVmYXVsdElkVG9rZW5zID0gZGVmYXVsdHMuaWRUb2tlbnM7XG4gICAgICB0aGlzLmRlZmF1bHRJbWFnZSA9IGRlZmF1bHRzLmltYWdlO1xuICAgICAgdGhpcy5kZWZhdWx0SW50ZXJydXB0aWJsZSA9IGRlZmF1bHRzLmludGVycnVwdGlibGU7XG4gICAgICB0aGlzLmRlZmF1bHRSZXRyeSA9IGRlZmF1bHRzLnJldHJ5O1xuICAgICAgZGVmYXVsdHMuc2VydmljZXMgJiYgdGhpcy5hZGRTZXJ2aWNlcyguLi5kZWZhdWx0cy5zZXJ2aWNlcyk7XG4gICAgICBkZWZhdWx0cy50YWdzICYmIHRoaXMuZGVmYXVsdFRhZ3MucHVzaCguLi5kZWZhdWx0cy50YWdzKTtcbiAgICAgIHRoaXMuZGVmYXVsdFRpbWVvdXQgPSBkZWZhdWx0cy50aW1lb3V0O1xuICAgIH1cbiAgICB0aGlzLnBhZ2VzID0gb3B0aW9ucz8ucGFnZXM7XG4gICAgdGhpcy53b3JrZmxvdyA9IG9wdGlvbnM/LndvcmtmbG93O1xuICAgIGlmIChvcHRpb25zPy5zdGFnZXMpIHtcbiAgICAgIHRoaXMuYWRkU3RhZ2VzKC4uLm9wdGlvbnMuc3RhZ2VzKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LnZhcmlhYmxlcykge1xuICAgICAgdGhpcy5hZGRHbG9iYWxWYXJpYWJsZXMob3B0aW9ucy52YXJpYWJsZXMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8uam9icykge1xuICAgICAgdGhpcy5hZGRKb2JzKG9wdGlvbnMuam9icyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhZGRpdGlvbmFsIHltbC95YW1sIGZpbGVzIHRvIHRoZSBDSSBpbmNsdWRlc1xuICAgKiBAcGFyYW0gaW5jbHVkZXMgVGhlIGluY2x1ZGVzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhZGRJbmNsdWRlcyguLi5pbmNsdWRlczogSW5jbHVkZVtdKSB7XG4gICAgZm9yIChjb25zdCBhZGRpdGlvbmFsIG9mIGluY2x1ZGVzKSB7XG4gICAgICB0aGlzLmFzc2VydElzVmFsaWRJbmNsdWRlKGFkZGl0aW9uYWwpO1xuICAgICAgZm9yIChjb25zdCBleGlzdGluZyBvZiB0aGlzLmluY2x1ZGUpIHtcbiAgICAgICAgaWYgKHRoaXMuYXJlRXF1YWxJbmNsdWRlcyhleGlzdGluZywgYWRkaXRpb25hbCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgJHt0aGlzLm5hbWV9OiBHaXRMYWIgQ0kgJHtleGlzdGluZ30gYWxyZWFkeSBjb250YWlucyBvbmUgb3IgbW9yZSB0ZW1wbGF0ZXMgc3BlY2lmaWVkIGluICR7YWRkaXRpb25hbH0uYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuaW5jbHVkZS5wdXNoKGFkZGl0aW9uYWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaHJvdyBhbiBlcnJvciBpZiB0aGUgcHJvdmlkZWQgSW5jbHVkZSBpcyBpbnZhbGlkLlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0bGFiLmNvbS9naXRsYWItb3JnL2dpdGxhYi8tL2Jsb2IvbWFzdGVyL2xpYi9naXRsYWIvY2kvY29uZmlnL2V4dGVybmFsL21hcHBlci5yYlxuICAgKiBAcGFyYW0gaW5jbHVkZSB0aGUgSW5jbHVkZSB0byB2YWxpZGF0ZS5cbiAgICovXG4gIHByaXZhdGUgYXNzZXJ0SXNWYWxpZEluY2x1ZGUoaW5jbHVkZTogSW5jbHVkZSkge1xuICAgIGNvbnN0IGNvbWJvcyA9IFtcbiAgICAgIGluY2x1ZGUubG9jYWwsXG4gICAgICBpbmNsdWRlLmZpbGUgJiYgaW5jbHVkZS5wcm9qZWN0LFxuICAgICAgaW5jbHVkZS5yZW1vdGUsXG4gICAgICBpbmNsdWRlLnRlbXBsYXRlLFxuICAgIF07XG4gICAgY29uc3QgbGVuID0gY29tYm9zLmZpbHRlcigoeCkgPT4gQm9vbGVhbih4KSkubGVuZ3RoO1xuICAgIGlmIChsZW4gIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYCR7dGhpcy5uYW1lfTogR2l0TGFiIENJIGluY2x1ZGUgJHtpbmNsdWRlfSBjb250YWlucyAke2xlbn0gcHJvcGVydHkgY29tYmluYXRpb24ocykuXG4gICAgICAgIEEgdmFsaWQgaW5jbHVkZSBjb25maWd1cmF0aW9uIHNwZWNpZmllcyAqb25lKiBvZiB0aGUgZm9sbG93aW5nIHByb3BlcnR5IGNvbWJpbmF0aW9ucy5cbiAgICAgICAgKiBsb2NhbFxuICAgICAgICAqIGZpbGUsIHByb2plY3RcbiAgICAgICAgKiByZW1vdGVcbiAgICAgICAgKiB0ZW1wbGF0ZSAgXG4gICAgICAgIGBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBlcXVhbGl0eSBvZiBJbmNsdWRlcy5cbiAgICogQHNlZSBodHRwczovL2dpdGxhYi5jb20vZ2l0bGFiLW9yZy9naXRsYWIvLS9ibG9iL21hc3Rlci9saWIvZ2l0bGFiL2NpL2NvbmZpZy9leHRlcm5hbC9tYXBwZXIucmJcbiAgICogQHBhcmFtIHggRmlyc3QgaW5jbHVkZSB0byBjb21wYXJlLlxuICAgKiBAcGFyYW0geSBTZWNvbmQgaW5jbHVkZSB0byBjb21wYXJlLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBpbmNsdWRlcyBhcmUgZXF1YWwuXG4gICAqL1xuICBwcml2YXRlIGFyZUVxdWFsSW5jbHVkZXMoeDogSW5jbHVkZSwgeTogSW5jbHVkZSk6IGJvb2xlYW4ge1xuICAgIGlmICh4LmxvY2FsID09PSB5LmxvY2FsICYmIHgubG9jYWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh4LnRlbXBsYXRlID09PSB5LnRlbXBsYXRlICYmIHgudGVtcGxhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh4LnJlbW90ZSA9PT0geS5yZW1vdGUgJiYgeC5yZW1vdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh4LnByb2plY3QgPT09IHkucHJvamVjdCAmJiB4LnJlZiA9PT0geS5yZWYpIHtcbiAgICAgIGNvbnN0IHhGaWxlcyA9IHguZmlsZSA/IHguZmlsZSA6IFtdO1xuICAgICAgY29uc3QgeUZpbGVzID0geS5maWxlID8geS5maWxlIDogW107XG4gICAgICBjb25zdCBhbGxGaWxlcyA9IHhGaWxlcy5jb25jYXQoeUZpbGVzKTtcbiAgICAgIHJldHVybiBuZXcgU2V0KGFsbEZpbGVzKS5zaXplICE9PSBhbGxGaWxlcy5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYWRkaXRpb25hbCBzZXJ2aWNlcy5cbiAgICogQHBhcmFtIHNlcnZpY2VzIFRoZSBzZXJ2aWNlcyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkU2VydmljZXMoLi4uc2VydmljZXM6IFNlcnZpY2VbXSkge1xuICAgIGZvciAoY29uc3QgYWRkaXRpb25hbCBvZiBzZXJ2aWNlcykge1xuICAgICAgZm9yIChjb25zdCBleGlzdGluZyBvZiB0aGlzLmRlZmF1bHRTZXJ2aWNlcykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgYWRkaXRpb25hbC5uYW1lID09PSBleGlzdGluZy5uYW1lICYmXG4gICAgICAgICAgYWRkaXRpb25hbC5hbGlhcyA9PT0gZXhpc3RpbmcuYWxpYXNcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYCR7dGhpcy5uYW1lfTogR2l0TGFiIENJIGFscmVhZHkgY29udGFpbnMgc2VydmljZSAke2FkZGl0aW9uYWx9LmBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmRlZmF1bHRTZXJ2aWNlcy5wdXNoKGFkZGl0aW9uYWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBnbG9iYWxseSBkZWZpbmVkIHZhcmlhYmxlIHRvIHRoZSBDSSBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gdmFyaWFibGVzIFRoZSB2YXJpYWJsZXMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZEdsb2JhbFZhcmlhYmxlcyh2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YXJpYWJsZXMpKSB7XG4gICAgICBpZiAodGhpcy52YXJpYWJsZXNba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgJHt0aGlzLm5hbWV9OiBHaXRMYWIgQ0kgYWxyZWFkeSBjb250YWlucyB2YXJpYWJsZSAke2tleX0uYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy52YXJpYWJsZXNba2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgc3RhZ2VzIHRvIHRoZSBDSSBjb25maWd1cmF0aW9uIGlmIG5vdCBhbHJlYWR5IHByZXNlbnQuXG4gICAqIEBwYXJhbSBzdGFnZXMgc3RhZ2VzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhZGRTdGFnZXMoLi4uc3RhZ2VzOiBzdHJpbmdbXSkge1xuICAgIGZvciAoY29uc3Qgc3RhZ2Ugb2Ygc3RhZ2VzKSB7XG4gICAgICBpZiAoIXRoaXMuc3RhZ2VzLmluY2x1ZGVzKHN0YWdlKSkge1xuICAgICAgICB0aGlzLnN0YWdlcy5wdXNoKHN0YWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkIGpvYnMgYW5kIHRoZWlyIHN0YWdlcyB0byB0aGUgQ0kgY29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIGpvYnMgSm9icyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkSm9icyhqb2JzOiBSZWNvcmQ8c3RyaW5nLCBKb2I+KSB7XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoam9icykpIHtcbiAgICAgIGlmICh0aGlzLmpvYnNba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLm5hbWV9OiBHaXRMYWIgQ0kgYWxyZWFkeSBjb250YWlucyBqb2IgJHtrZXl9LmApO1xuICAgICAgfVxuICAgICAgdGhpcy5qb2JzW2tleV0gPSB2YWx1ZTtcbiAgICAgIGlmICh2YWx1ZS5zdGFnZSkge1xuICAgICAgICB0aGlzLmFkZFN0YWdlcyh2YWx1ZS5zdGFnZSk7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUuY2FjaGUpIHtcbiAgICAgICAgdGhpcy5hc3NlcnRJc1ZhbGlkQ2FjaGVTZXR1cCh2YWx1ZS5jYWNoZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkQ2FjaGVTZXR1cChjYWNoZXM6IENhY2hlW10pOiBCb29sZWFuIHtcbiAgICBjb25zdCBNQVhfQ09ORklHVVJBQkxFX0NBQ0hFUyA9IDQ7XG4gICAgcmV0dXJuIGNhY2hlcy5sZW5ndGggPD0gTUFYX0NPTkZJR1VSQUJMRV9DQUNIRVM7XG4gIH1cblxuICBwcml2YXRlIGFzc2VydElzVmFsaWRDYWNoZVNldHVwKGNhY2hlczogQ2FjaGVbXSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkQ2FjaGVTZXR1cChjYWNoZXMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGAke3RoaXMubmFtZX06IEdpdExhYiBDSSBjYW4gb25seSBkZWZpbmUgdXAgdG8gNCBjYWNoZXMsIGdvdDogJHtjYWNoZXMubGVuZ3RofWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdXAgdG8gNCBkZWZhdWx0IGNhY2hlcyBjb25maWd1cmF0aW9uIHRvIHRoZSBDSSBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gY2FjaGVzIENhY2hlcyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkRGVmYXVsdENhY2hlcyhjYWNoZXM6IENhY2hlW10pIHtcbiAgICB0aGlzLmFzc2VydElzVmFsaWRDYWNoZVNldHVwKGNhY2hlcyk7XG4gICAgdGhpcy5fZGVmYXVsdENhY2hlID0gY2FjaGVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBsaXN0IG9mIGNvbW1hbmRzIHRvIGV4ZWN1dGUgb24gdGhlIHJ1bm5lciBiZWZvcmUgY2xvbmluZyB0aGUgR2l0IHJlcG9zaXRvcnkgYW5kIGFueSBzdWJtb2R1bGVzXG4gICAqIGh0dHBzOi8vZG9jcy5naXRsYWIuY29tL2NpL3lhbWwvI2hvb2tzcHJlX2dldF9zb3VyY2VzX3NjcmlwdFxuICAgKiBAcGFyYW0gaG9va3NcbiAgICovXG4gIHB1YmxpYyBhZGREZWZhdWx0SG9va3MoaG9va3M6IERlZmF1bHRIb29rcykge1xuICAgIHRoaXMuZGVmYXVsdEhvb2tzID0gaG9va3M7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckNJKCkge1xuICAgIHJldHVybiB7XG4gICAgICBkZWZhdWx0OiB0aGlzLnJlbmRlckRlZmF1bHQoKSxcbiAgICAgIGluY2x1ZGU6XG4gICAgICAgIHRoaXMuaW5jbHVkZS5sZW5ndGggPiAwID8gc25ha2VDYXNlS2V5cyh0aGlzLmluY2x1ZGUpIDogdW5kZWZpbmVkLFxuICAgICAgcGFnZXM6IHNuYWtlQ2FzZUtleXModGhpcy5wYWdlcyksXG4gICAgICBzZXJ2aWNlczpcbiAgICAgICAgdGhpcy5kZWZhdWx0U2VydmljZXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gc25ha2VDYXNlS2V5cyh0aGlzLmRlZmF1bHRTZXJ2aWNlcylcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHZhcmlhYmxlczpcbiAgICAgICAgT2JqZWN0LmVudHJpZXModGhpcy52YXJpYWJsZXMpLmxlbmd0aCA+IDAgPyB0aGlzLnZhcmlhYmxlcyA6IHVuZGVmaW5lZCxcbiAgICAgIHdvcmtmbG93OiBzbmFrZUNhc2VLZXlzKHRoaXMud29ya2Zsb3cpLFxuICAgICAgc3RhZ2VzOiB0aGlzLnN0YWdlcy5sZW5ndGggPiAwID8gdGhpcy5zdGFnZXMgOiB1bmRlZmluZWQsXG4gICAgICAvLyB3ZSBkbyBub3Qgd2FudCB0byBjaGFuZ2Ugam9iIG5hbWVzXG4gICAgICAvLyBhcyB0aGV5IGNhbiBiZSBoaWRkZW4gKGh0dHBzOi8vZG9jcy5naXRsYWIuY29tL2VlL2NpL2pvYnMvaW5kZXguaHRtbCNoaWRlLWpvYnMpXG4gICAgICAvLyBvciByZWZlcmVuY2VkIGluIGV4dGVuZHNcbiAgICAgIC4uLnNuYWtlQ2FzZUtleXModGhpcy5qb2JzLCB0cnVlKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJEZWZhdWx0KCkge1xuICAgIGNvbnN0IGRlZmF1bHRzOiBEZWZhdWx0ID0ge1xuICAgICAgYWZ0ZXJTY3JpcHQ6XG4gICAgICAgIHRoaXMuZGVmYXVsdEFmdGVyU2NyaXB0Lmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMuZGVmYXVsdEFmdGVyU2NyaXB0XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBhcnRpZmFjdHM6IHRoaXMuZGVmYXVsdEFydGlmYWN0cyxcbiAgICAgIGJlZm9yZVNjcmlwdDpcbiAgICAgICAgdGhpcy5kZWZhdWx0QmVmb3JlU2NyaXB0Lmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMuZGVmYXVsdEJlZm9yZVNjcmlwdFxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgY2FjaGU6IHRoaXMuZGVmYXVsdENhY2hlLFxuICAgICAgaWRUb2tlbnM6IHRoaXMuZGVmYXVsdElkVG9rZW5zLFxuICAgICAgaW1hZ2U6IHRoaXMuZGVmYXVsdEltYWdlLFxuICAgICAgaW50ZXJydXB0aWJsZTogdGhpcy5kZWZhdWx0SW50ZXJydXB0aWJsZSxcbiAgICAgIHJldHJ5OiB0aGlzLmRlZmF1bHRSZXRyeSxcbiAgICAgIHNlcnZpY2VzOlxuICAgICAgICB0aGlzLmRlZmF1bHRTZXJ2aWNlcy5sZW5ndGggPiAwID8gdGhpcy5kZWZhdWx0U2VydmljZXMgOiB1bmRlZmluZWQsXG4gICAgICB0YWdzOiB0aGlzLmRlZmF1bHRUYWdzLmxlbmd0aCA+IDAgPyB0aGlzLmRlZmF1bHRUYWdzIDogdW5kZWZpbmVkLFxuICAgICAgdGltZW91dDogdGhpcy5kZWZhdWx0VGltZW91dCxcbiAgICAgIGhvb2tzOiB0aGlzLmRlZmF1bHRIb29rcyxcbiAgICB9O1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKGRlZmF1bHRzKS5maWx0ZXIoKHgpID0+IHgpLmxlbmd0aFxuICAgICAgPyBzbmFrZUNhc2VLZXlzKGRlZmF1bHRzKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gc25ha2VDYXNlS2V5czxUID0gdW5rbm93bj4ob2JqOiBULCBza2lwVG9wTGV2ZWw6IGJvb2xlYW4gPSBmYWxzZSk6IFQge1xuICBpZiAodHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiB8fCBvYmogPT0gbnVsbCkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5tYXAoKG8pID0+IHNuYWtlQ2FzZUtleXMobykpIGFzIGFueTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChsZXQgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgdiA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgdiAhPSBudWxsICYmXG4gICAgICBrICE9PSBcInZhcmlhYmxlc1wiICYmXG4gICAgICBrICE9PSBcImlkVG9rZW5zXCJcbiAgICApIHtcbiAgICAgIHYgPSBzbmFrZUNhc2VLZXlzKHYpO1xuICAgIH1cbiAgICByZXN1bHRbc2tpcFRvcExldmVsID8gayA6IHNuYWtlKGspXSA9IHY7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdCBhcyBhbnk7XG59XG4iXX0=
@@ -34,5 +34,5 @@ class GitlabConfiguration extends configuration_1.CiConfiguration {
34
34
  }
35
35
  exports.GitlabConfiguration = GitlabConfiguration;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- GitlabConfiguration[_a] = { fqn: "projen.gitlab.GitlabConfiguration", version: "0.98.5" };
37
+ GitlabConfiguration[_a] = { fqn: "projen.gitlab.GitlabConfiguration", version: "0.98.7" };
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0bGFiL2dpdGxhYi1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsbURBQWtEO0FBQ2xELGlFQUE2RDtBQUc3RDs7R0FFRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsK0JBQWU7SUFFdEQsWUFBWSxPQUFnQixFQUFFLE9BQWdDO1FBQzVELEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRnZCLG9CQUFlLEdBQXdDLEVBQUUsQ0FBQztJQUcxRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUJBQXFCLENBQUMsTUFBOEM7UUFDekUsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzdDLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxJQUFJLENBQUMsSUFBSSwwQ0FBMEMsSUFBSSxJQUFJLENBQy9ELENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSwwQ0FBbUIsQ0FDdEMsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLEVBQ0osSUFBSSxFQUNKLE9BQU8sQ0FDUixDQUFDO1lBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzs7QUE5Qkgsa0RBK0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2lDb25maWd1cmF0aW9uT3B0aW9ucyB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBDaUNvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgeyBOZXN0ZWRDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vbmVzdGVkLWNvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIEEgR2l0TGFiIENJIGZvciB0aGUgbWFpbiBgLmdpdGxhYi1jaS55bWxgIGZpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBHaXRsYWJDb25maWd1cmF0aW9uIGV4dGVuZHMgQ2lDb25maWd1cmF0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IG5lc3RlZFRlbXBsYXRlczogUmVjb3JkPHN0cmluZywgTmVzdGVkQ29uZmlndXJhdGlvbj4gPSB7fTtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9ucz86IENpQ29uZmlndXJhdGlvbk9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBcImdpdGxhYi1jaVwiLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuZCBhZGRzIG5lc3RlZCB0ZW1wbGF0ZXMgdG8gdGhlIGluY2x1ZGVzIG9mIHRoZSBtYWluIENJLlxuICAgKiBBZGRpdGlvbmFsbHkgYWRkcyB0aGVpciBzdGFnZXMgdG8gdGhlIG1haW4gQ0kgaWYgdGhleSBhcmUgbm90IGFscmVhZHkgcHJlc2VudC5cbiAgICogWW91IGNhbiBmdXRoZXIgY3VzdG9taXplIG5lc3RlZCB0ZW1wbGF0ZXMgdGhyb3VnaCB0aGUgYG5lc3RlZFRlbXBsYXRlc2AgcHJvcGVydHkuXG4gICAqIEUuZy4gZ2l0bGFiQ29uZmlnLm5lc3RlZFRlbXBsYXRlc1sndGVtcGxhdGVOYW1lJ10/LmFkZFN0YWdlcygnc3RhZ2VOYW1lJylcbiAgICogQHBhcmFtIGNvbmZpZyBhIHJlY29yZCB0aGUgbmFtZXMgYW5kIGNvbmZpZ3VyYWl0b25zIG9mIHRoZSB0ZW1wbGF0ZXMuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlTmVzdGVkVGVtcGxhdGVzKGNvbmZpZzogUmVjb3JkPHN0cmluZywgQ2lDb25maWd1cmF0aW9uT3B0aW9ucz4pIHtcbiAgICBmb3IgKGNvbnN0IFtuYW1lLCBvcHRpb25zXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcpKSB7XG4gICAgICBpZiAodGhpcy5uZXN0ZWRUZW1wbGF0ZXNbbmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYCR7dGhpcy5uYW1lfTogR2l0TGFiIENJIGFscmVhZHkgY29udGFpbnMgdGVtcGxhdGUgXCIke25hbWV9XCIuYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgdGVtcGxhdGUgPSBuZXcgTmVzdGVkQ29uZmlndXJhdGlvbihcbiAgICAgICAgdGhpcy5wcm9qZWN0LFxuICAgICAgICB0aGlzLFxuICAgICAgICBuYW1lLFxuICAgICAgICBvcHRpb25zXG4gICAgICApO1xuICAgICAgdGhpcy5uZXN0ZWRUZW1wbGF0ZXNbdGVtcGxhdGUubmFtZV0gPSB0ZW1wbGF0ZTtcbiAgICAgIHRoaXMuYWRkSW5jbHVkZXMoeyBsb2NhbDogdGVtcGxhdGUucGF0aCB9KTtcbiAgICAgIHRoaXMuYWRkU3RhZ2VzKC4uLnRlbXBsYXRlLnN0YWdlcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -15,5 +15,5 @@ class NestedConfiguration extends configuration_1.CiConfiguration {
15
15
  }
16
16
  exports.NestedConfiguration = NestedConfiguration;
17
17
  _a = JSII_RTTI_SYMBOL_1;
18
- NestedConfiguration[_a] = { fqn: "projen.gitlab.NestedConfiguration", version: "0.98.5" };
18
+ NestedConfiguration[_a] = { fqn: "projen.gitlab.NestedConfiguration", version: "0.98.7" };
19
19
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0bGFiL25lc3RlZC1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsbURBQWtEO0FBSWxEOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSwrQkFBZTtJQUV0RCxZQUNFLE9BQWdCLEVBQ2hCLE1BQTJCLEVBQzNCLElBQVksRUFDWixPQUFnQztRQUVoQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDOztBQVZILGtEQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2lDb25maWd1cmF0aW9uT3B0aW9ucyB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBDaUNvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgeyBHaXRsYWJDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vZ2l0bGFiLWNvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIEEgR2l0TGFiIENJIGZvciB0ZW1wbGF0ZXMgdGhhdCBhcmUgY3JlYXRlZCBhbmQgaW5jbHVkZWQgaW4gdGhlIGAuZ2l0bGFiLWNpLnltbGAgZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5lc3RlZENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBDaUNvbmZpZ3VyYXRpb24ge1xuICBwdWJsaWMgcmVhZG9ubHkgcGFyZW50OiBHaXRsYWJDb25maWd1cmF0aW9uO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIHBhcmVudDogR2l0bGFiQ29uZmlndXJhdGlvbixcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IENpQ29uZmlndXJhdGlvbk9wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCwgbmFtZSwgb3B0aW9ucyk7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gIH1cbn1cbiJdfQ==
package/lib/gitpod.js CHANGED
@@ -241,5 +241,5 @@ class Gitpod extends component_1.Component {
241
241
  }
242
242
  exports.Gitpod = Gitpod;
243
243
  _a = JSII_RTTI_SYMBOL_1;
244
- Gitpod[_a] = { fqn: "projen.Gitpod", version: "0.98.5" };
244
+ Gitpod[_a] = { fqn: "projen.Gitpod", version: "0.98.7" };
245
245
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0cG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dpdHBvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUF3QztBQVF4QyxpQ0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUM7QUFFbEM7Ozs7O0dBS0c7QUFFSDs7R0FFRztBQUNILElBQVksY0F5Qlg7QUF6QkQsV0FBWSxjQUFjO0lBQ3hCOztPQUVHO0lBQ0gseUNBQXVCLENBQUE7SUFDdkI7O09BRUc7SUFDSCwyQ0FBeUIsQ0FBQTtJQUN6Qjs7T0FFRztJQUNILDZDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsMkNBQXlCLENBQUE7SUFDekI7O09BRUc7SUFDSCx5Q0FBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILCtDQUE2QixDQUFBO0FBQy9CLENBQUMsRUF6QlcsY0FBYyw4QkFBZCxjQUFjLFFBeUJ6QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxZQWlCWDtBQWpCRCxXQUFZLFlBQVk7SUFDdEI7O09BRUc7SUFDSCxpQ0FBaUIsQ0FBQTtJQUNqQjs7T0FFRztJQUNILDZCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILCtCQUFlLENBQUE7SUFDZjs7T0FFRztJQUNILDZCQUFhLENBQUE7QUFDZixDQUFDLEVBakJXLFlBQVksNEJBQVosWUFBWSxRQWlCdkI7QUEyREQ7O0dBRUc7QUFDSCxJQUFZLFlBb0JYO0FBcEJELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILDZDQUE2QixDQUFBO0lBRTdCOztPQUVHO0lBQ0gsNkNBQTZCLENBQUE7SUFFN0I7O09BRUc7SUFDSCxpQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILGlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFwQlcsWUFBWSw0QkFBWixZQUFZLFFBb0J2QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxvQkFVWDtBQVZELFdBQVksb0JBQW9CO0lBQzlCOztPQUVHO0lBQ0gs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LENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7O0FBekpILHdCQTBKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xuaW1wb3J0IHtcbiAgSURldkVudmlyb25tZW50LFxuICBEZXZFbnZpcm9ubWVudE9wdGlvbnMsXG4gIERldkVudmlyb25tZW50RG9ja2VySW1hZ2UsXG59IGZyb20gXCIuL2Rldi1lbnZcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSBcIi4vdGFza1wiO1xuaW1wb3J0IHsgWWFtbEZpbGUgfSBmcm9tIFwiLi95YW1sXCI7XG5cbi8qKlxuICogUmVsYXRpdmUgcGF0aCBvZiBHaXRwb2QgZmlsZSB0byBnZW5lcmF0ZVxuICovXG5jb25zdCBHSVRQT0RfRklMRSA9IFwiLmdpdHBvZC55bWxcIjtcblxuLyoqXG4gKiBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy9jb25maWd1cmF0aW9uL1xuICogaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvY29uZmlnLXN0YXJ0LXRhc2tzL1xuICogaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvcHJlYnVpbGRzLyNjb25maWd1cmUtdGhlLWdpdGh1Yi1hcHBcbiAqIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ZzY29kZS1leHRlbnNpb25zL1xuICovXG5cbi8qKlxuICogQ29uZmlndXJlIGhvdyB0aGUgdGVybWluYWwgc2hvdWxkIGJlIG9wZW5lZCByZWxhdGl2ZSB0byB0aGUgcHJldmlvdXMgdGFzay5cbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kT3Blbk1vZGUge1xuICAvKipcbiAgICogT3BlbnMgaW4gdGhlIHNhbWUgdGFiIGdyb3VwIHJpZ2h0IGFmdGVyIHRoZSBwcmV2aW91cyB0YWJcbiAgICovXG4gIFRBQl9BRlRFUiA9IFwidGFiLWFmdGVyXCIsXG4gIC8qKlxuICAgKiBPcGVucyBpbiB0aGUgc2FtZSB0YWIgZ3JvdXAgbGVmdCBiZWZvcmUgdGhlIHByZXZpb3VzIHRhYlxuICAgKi9cbiAgVEFCX0JFRk9SRSA9IFwidGFiLWJlZm9yZVwiLFxuICAvKipcbiAgICogU3BsaXRzIGFuZCBhZGRzIHRoZSB0ZXJtaW5hbCB0byB0aGUgcmlnaHRcbiAgICovXG4gIFNQTElUX1JJR0hUID0gXCJzcGxpdC1yaWdodFwiLFxuICAvKipcbiAgICogU3BsaXRzIGFuZCBhZGRzIHRoZSB0ZXJtaW5hbCB0byB0aGUgbGVmdFxuICAgKi9cbiAgU1BMSVRfTEVGVCA9IFwic3BsaXQtbGVmdFwiLFxuICAvKipcbiAgICogU3BsaXRzIGFuZCBhZGRzIHRoZSB0ZXJtaW5hbCB0byB0aGUgdG9wXG4gICAqL1xuICBTUExJVF9UT1AgPSBcInNwbGl0LXRvcFwiLFxuICAvKipcbiAgICogU3BsaXRzIGFuZCBhZGRzIHRoZSB0ZXJtaW5hbCB0byB0aGUgYm90dG9tXG4gICAqL1xuICBTUExJVF9CT1RUT00gPSBcInNwbGl0LWJvdHRvbVwiLFxufVxuXG4vKipcbiAqIENvbmZpZ3VyZSB3aGVyZSBpbiB0aGUgSURFIHRoZSB0ZXJtaW5hbCBzaG91bGQgYmUgb3BlbmVkLlxuICovXG5leHBvcnQgZW51bSBHaXRwb2RPcGVuSW4ge1xuICAvKipcbiAgICogdGhlIGJvdHRvbSBwYW5lbCAoZGVmYXVsdClcbiAgICovXG4gIEJPVFRPTSA9IFwiYm90dG9tXCIsXG4gIC8qKlxuICAgKiB0aGUgbGVmdCBwYW5lbFxuICAgKi9cbiAgTEVGVCA9IFwibGVmdFwiLFxuICAvKipcbiAgICogdGhlIHJpZ2h0IHBhbmVsXG4gICAqL1xuICBSSUdIVCA9IFwicmlnaHRcIixcbiAgLyoqXG4gICAqIHRoZSBtYWluIGVkaXRvciBhcmVhXG4gICAqL1xuICBNQUlOID0gXCJtYWluXCIsXG59XG5cbi8qKlxuICogQ29uZmlndXJlIG9wdGlvbnMgZm9yIGEgdGFzayB0byBiZSBydW4gd2hlbiBvcGVuaW5nIGEgR2l0cG9kXG4gKiB3b3Jrc3BhY2UgKGUuZy4gcnVubmluZyB0ZXN0cywgb3Igc3RhcnRpbmcgYSBkZXYgc2VydmVyKS5cbiAqXG4gKiBTdGFydCBNb2RlICAgICAgICAgfCBFeGVjdXRpb25cbiAqIEZyZXNoIFdvcmtzcGFjZSAgICB8IGJlZm9yZSAmJiBpbml0ICYmIGNvbW1hbmRcbiAqIFJlc3RhcnQgV29ya3NwYWNlICB8IGJlZm9yZSAmJiBjb21tYW5kXG4gKiBTbmFwc2hvdCAgICAgICAgICAgfCBiZWZvcmUgJiYgY29tbWFuZFxuICogUHJlYnVpbGQgICAgICAgICAgIHwgYmVmb3JlICYmIGluaXQgJiYgcHJlYnVpbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRwb2RUYXNrIHtcbiAgLyoqXG4gICAqIFJlcXVpcmVkLiBUaGUgc2hlbGwgY29tbWFuZCB0byBydW5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmQ6IHN0cmluZztcblxuICAvKipcbiAgICogQSBuYW1lIGZvciB0aGlzIHRhc2suXG4gICAqIEBkZWZhdWx0IC0gdGFzayBuYW1lcyBhcmUgb21pdHRlZCB3aGVuIGJsYW5rXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBZb3UgY2FuIGNvbmZpZ3VyZSBob3cgdGhlIHRlcm1pbmFsIHNob3VsZCBiZSBvcGVuZWQgcmVsYXRpdmUgdG8gdGhlIHByZXZpb3VzIHRhc2suXG4gICAqIEBkZWZhdWx0IEdpdHBvZE9wZW5Nb2RlLlRBQl9BRlRFUlxuICAgKi9cbiAgcmVhZG9ubHkgb3Blbk1vZGU/OiBHaXRwb2RPcGVuTW9kZTtcblxuICAvKipcbiAgICogWW91IGNhbiBjb25maWd1cmUgd2hlcmUgaW4gdGhlIElERSB0aGUgdGVybWluYWwgc2hvdWxkIGJlIG9wZW5lZFxuICAgKiBAZGVmYXVsdCBHaXRwb2RPcGVuSW4uQk9UVE9NXG4gICAqL1xuICByZWFkb25seSBvcGVuSW4/OiBHaXRwb2RPcGVuSW47XG5cbiAgLyoqXG4gICAqIEluIGNhc2UgeW91IG5lZWQgdG8gcnVuIHNvbWV0aGluZyBldmVuIGJlZm9yZSBpbml0LCB0aGF0IGlzIGEgcmVxdWlyZW1lbnQgZm9yIGJvdGggaW5pdCBhbmQgY29tbWFuZCxcbiAgICogeW91IGNhbiB1c2UgdGhlIGJlZm9yZSBwcm9wZXJ0eS5cbiAgICogQGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IGJlZm9yZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGluaXQgcHJvcGVydHkgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBzaGVsbCBjb21tYW5kcyB0aGF0IHNob3VsZCBvbmx5IGJlIGV4ZWN1dGVkIGFmdGVyIGEgd29ya3NwYWNlXG4gICAqIHdhcyBmcmVzaGx5IGNsb25lZCBhbmQgbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgc29tZWhvdy4gU3VjaCB0YXNrcyBhcmUgdXN1YWxseSBidWlsZHMgb3IgZG93bmxvYWRpbmdcbiAgICogZGVwZW5kZW5jaWVzLiBBbnl0aGluZyB5b3Ugb25seSB3YW50IHRvIGRvIG9uY2UgYnV0IG5vdCB3aGVuIHlvdSByZXN0YXJ0IGEgd29ya3NwYWNlIG9yIHN0YXJ0IGEgc25hcHNob3QuXG4gICAqIEBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBpbml0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uYWwgcHJlYnVpbGQgY29tbWFuZCB3aWxsIGJlIGV4ZWN1dGVkIGR1cmluZyBwcmVidWlsZHMuIEl0IGlzIG1lYW50IHRvIHJ1biBhZGRpdGlvbmFsIGxvbmcgcnVubmluZ1xuICAgKiBwcm9jZXNzZXMgdGhhdCBjb3VsZCBiZSB1c2VmdWwsIGUuZy4gcnVubmluZyB0ZXN0IHN1aXRlcy5cbiAgICogQGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IHByZWJ1aWxkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdoYXQgdG8gZG8gd2hlbiBhIHNlcnZpY2Ugb24gYSBwb3J0IGlzIGRldGVjdGVkLlxuICovXG5leHBvcnQgZW51bSBHaXRwb2RPbk9wZW4ge1xuICAvKipcbiAgICogT3BlbiBhIG5ldyBicm93c2VyIHRhYlxuICAgKi9cbiAgT1BFTl9CUk9XU0VSID0gXCJvcGVuLWJyb3dzZXJcIixcblxuICAvKipcbiAgICogT3BlbiBhIHByZXZpZXcgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIElERVxuICAgKi9cbiAgT1BFTl9QUkVWSUVXID0gXCJvcGVuLXByZXZpZXdcIixcblxuICAvKipcbiAgICogU2hvdyBhIG5vdGlmaWNhdGlvbiBhc2tpbmcgdGhlIHVzZXIgd2hhdCB0byBkbyAoZGVmYXVsdClcbiAgICovXG4gIE5PVElGWSA9IFwibm90aWZ5XCIsXG5cbiAgLyoqXG4gICAqIERvIG5vdGhpbmcuXG4gICAqL1xuICBJR05PUkUgPSBcImlnbm9yZVwiLFxufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIHBvcnQgdmlzaWJpbGl0eSBzaG91bGQgYmUgcHJpdmF0ZSBvciBwdWJsaWNcbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kUG9ydFZpc2liaWxpdHkge1xuICAvKipcbiAgICogQWxsb3dzIGV2ZXJ5b25lIHdpdGggdGhlIHBvcnQgVVJMIHRvIGFjY2VzcyB0aGUgcG9ydCAoZGVmYXVsdClcbiAgICovXG4gIFBVQkxJQyA9IFwicHVibGljXCIsXG5cbiAgLyoqXG4gICAqIE9ubHkgYWxsb3dzIHVzZXJzIHdpdGggd29ya3NwYWNlIGFjY2VzcyB0byBhY2Nlc3MgdGhlIHBvcnRcbiAgICovXG4gIFBSSVZBVEUgPSBcInByaXZhdGVcIixcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBhbiBleHBvc2VkIHBvcnQgb24gR2l0cG9kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kUG9ydCB7XG4gIC8qKlxuICAgKiBBIHBvcnQgdGhhdCBzaG91bGQgYmUgZXhwb3NlZCAoZm9yd2FyZGVkKSBmcm9tIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiODA4MFwiXG4gICAqL1xuICByZWFkb25seSBwb3J0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGF0IHRvIGRvIHdoZW4gYSBzZXJ2aWNlIG9uIGEgcG9ydCBpcyBkZXRlY3RlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgR2l0cG9kT25PcGVuLk5PVElGWVxuICAgKi9cbiAgcmVhZG9ubHkgb25PcGVuPzogR2l0cG9kT25PcGVuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3J0IHZpc2liaWxpdHkgc2hvdWxkIGJlIHByaXZhdGUgb3IgcHVibGljLlxuICAgKlxuICAgKiBAZGVmYXVsdCBHaXRwb2RQb3J0VmlzaWJpbGl0eS5QVUJMSUNcbiAgICovXG4gIHJlYWRvbmx5IHZpc2liaWxpdHk/OiBHaXRwb2RQb3J0VmlzaWJpbGl0eTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmUgdGhlIEdpdHBvZCBBcHAgZm9yIHByZWJ1aWxkcy5cbiAqIEN1cnJlbnRseSBvbmx5IEdpdEh1YiBpcyBzdXBwb3J0ZWQuXG4gKiBAc2VlIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ByZWJ1aWxkcy9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRwb2RQcmVidWlsZHMge1xuICAvKipcbiAgICogRW5hYmxlIGZvciB0aGUgbWFzdGVyL2RlZmF1bHQgYnJhbmNoXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG1hc3Rlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBmb3IgYWxsIGJyYW5jaGVzIGluIHRoaXMgcmVwb1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZm9yIHB1bGwgcmVxdWVzdHMgY29taW5nIGZyb20gdGhpcyByZXBvXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBmb3IgcHVsbCByZXF1ZXN0cyBjb21pbmcgZnJvbSBmb3Jrc1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbFJlcXVlc3RzRnJvbUZvcmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkIGEgY2hlY2sgdG8gcHVsbCByZXF1ZXN0c1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhZGRDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIFwiUmV2aWV3IGluIEdpdHBvZFwiIGJ1dHRvbiBhcyBhIGNvbW1lbnQgdG8gcHVsbCByZXF1ZXN0c1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkQ29tbWVudD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIFwiUmV2aWV3IGluIEdpdHBvZFwiIGJ1dHRvbiB0byB0aGUgcHVsbCByZXF1ZXN0J3MgZGVzY3JpcHRpb25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFkZEJhZGdlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkIGEgbGFiZWwgb25jZSB0aGUgcHJlYnVpbGQgaXMgcmVhZHkgdG8gcHVsbCByZXF1ZXN0c1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkTGFiZWw/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbnN0cnVjdG9yIG9wdGlvbnMgZm9yIHRoZSBHaXRwb2QgY29tcG9uZW50LlxuICpcbiAqIEJ5IGRlZmF1bHQsIEdpdHBvZCB1c2VzIHRoZSAnZ2l0cG9kL3dvcmtzcGFjZS1mdWxsJyBkb2NrZXIgaW1hZ2UuXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9naXRwb2QtaW8vd29ya3NwYWNlLWltYWdlcy9ibG9iL21hc3Rlci9mdWxsL0RvY2tlcmZpbGVcbiAqXG4gKiBCeSBkZWZhdWx0LCBhbGwgdGFza3Mgd2lsbCBiZSBydW4gaW4gcGFyYWxsZWwuIFRvIHJ1biB0aGUgdGFza3MgaW4gc2VxdWVuY2UsXG4gKiBjcmVhdGUgYSBuZXcgdGFzayBhbmQgc3BlY2lmeSB0aGUgb3RoZXIgdGFza3MgYXMgc3VidGFza3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kT3B0aW9ucyBleHRlbmRzIERldkVudmlyb25tZW50T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBHaXRwb2QncyBHaXRodWIgQXBwIGludGVncmF0aW9uIGZvciBwcmVidWlsZHNcbiAgICogSWYgdGhpcyBpcyBub3Qgc2V0IGFuZCBHaXRwb2QncyBHaXRodWIgQXBwIGlzIGluc3RhbGxlZCwgdGhlbiBHaXRwb2Qgd2lsbCBhcHBseVxuICAgKiB0aGVzZSBkZWZhdWx0czogaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvcHJlYnVpbGRzLyNjb25maWd1cmUtdGhlLWdpdGh1Yi1hcHBcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBwcmVidWlsZHM/OiBHaXRwb2RQcmVidWlsZHM7XG59XG5cbi8qKlxuICogVGhlIEdpdHBvZCBjb21wb25lbnQgd2hpY2ggZW1pdHMgLmdpdHBvZC55bWxcbiAqL1xuZXhwb3J0IGNsYXNzIEdpdHBvZCBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIElEZXZFbnZpcm9ubWVudCB7XG4gIHByaXZhdGUgZG9ja2VySW1hZ2U6IERldkVudmlyb25tZW50RG9ja2VySW1hZ2UgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcHJlYnVpbGRzOiBHaXRwb2RQcmVidWlsZHMgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFza3MgPSBuZXcgQXJyYXk8R2l0cG9kVGFzaz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwb3J0cyA9IG5ldyBBcnJheTxHaXRwb2RQb3J0PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZzY29kZUV4dGVuc2lvbnMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBEaXJlY3QgYWNjZXNzIHRvIHRoZSBnaXRwb2QgY29uZmlndXJhdGlvbiAoZXNjYXBlIGhhdGNoKVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEdpdHBvZE9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5kb2NrZXJJbWFnZSA9IG9wdGlvbnM/LmRvY2tlckltYWdlO1xuXG4gICAgaWYgKG9wdGlvbnM/LnRhc2tzKSB7XG4gICAgICBmb3IgKGNvbnN0IHRhc2sgb2Ygb3B0aW9ucy50YXNrcykge1xuICAgICAgICB0aGlzLmFkZFRhc2tzKHRhc2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChvcHRpb25zPy5wcmVidWlsZHMpIHtcbiAgICAgIHRoaXMuYWRkUHJlYnVpbGRzKG9wdGlvbnMucHJlYnVpbGRzKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucz8ucG9ydHMpIHtcbiAgICAgIHRoaXMuYWRkUG9ydHMoLi4ub3B0aW9ucy5wb3J0cyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnM/LnZzY29kZUV4dGVuc2lvbnMpIHtcbiAgICAgIHRoaXMuYWRkVnNjb2RlRXh0ZW5zaW9ucyguLi5vcHRpb25zLnZzY29kZUV4dGVuc2lvbnMpO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgaW1hZ2U6ICgpID0+IHRoaXMucmVuZGVyRG9ja2VySW1hZ2UoKSxcbiAgICAgIHRhc2tzOiB0aGlzLnRhc2tzLFxuICAgICAgZ2l0aHViOiAoKSA9PiB0aGlzLnJlbmRlclByZWJ1aWxkcygpLFxuICAgICAgcG9ydHM6IHRoaXMucG9ydHMsXG4gICAgICB2c2NvZGU6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogdGhpcy52c2NvZGVFeHRlbnNpb25zLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgbmV3IFlhbWxGaWxlKHRoaXMucHJvamVjdCwgR0lUUE9EX0ZJTEUsIHtcbiAgICAgIG9iajogdGhpcy5jb25maWcsXG4gICAgICBvbWl0RW1wdHk6IHRydWUsXG4gICAgICAvLyBHaXRQb2QgbmVlZHMgdG8gcmVhZCB0aGUgZmlsZSBmcm9tIHRoZSByZXBvc2l0b3J5IGluIG9yZGVyIHRvIHdvcmsuXG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY3VzdG9tIERvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlIGZvciB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAcGFyYW0gaW1hZ2UgVGhlIERvY2tlciBpbWFnZVxuICAgKi9cbiAgcHVibGljIGFkZERvY2tlckltYWdlKGltYWdlOiBEZXZFbnZpcm9ubWVudERvY2tlckltYWdlKSB7XG4gICAgaWYgKHRoaXMuZG9ja2VySW1hZ2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImRvY2tlckltYWdlIGNhbm5vdCBiZSByZWRlZmluZWQuXCIpO1xuICAgIH1cbiAgICB0aGlzLmRvY2tlckltYWdlID0gaW1hZ2U7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHRhc2tzIHRvIHJ1biB3aGVuIGdpdHBvZCBzdGFydHMuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGFsbCB0YXNrcyB3aWxsIGJlIHJ1biBpbiBwYXJhbGxlbC4gVG8gcnVuIHRhc2tzIGluIHNlcXVlbmNlLFxuICAgKiBjcmVhdGUgYSBuZXcgYFRhc2tgIGFuZCBzcGVjaWZ5IHRoZSBvdGhlciB0YXNrcyBhcyBzdWJ0YXNrcy5cbiAgICpcbiAgICogQHBhcmFtIHRhc2tzIFRoZSBuZXcgdGFza3NcbiAgICovXG4gIHB1YmxpYyBhZGRUYXNrcyguLi50YXNrczogVGFza1tdKSB7XG4gICAgdGhpcy50YXNrcy5wdXNoKFxuICAgICAgLi4udGFza3MubWFwKCh0YXNrKSA9PiAoe1xuICAgICAgICBuYW1lOiB0YXNrLm5hbWUsXG4gICAgICAgIGNvbW1hbmQ6IGBucHggcHJvamVuICR7dGFzay5uYW1lfWAsXG4gICAgICB9KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHByZWJ1aWxkcyBjb25maWd1cmF0aW9uIGZvciB0aGUgR2l0cG9kIEFwcFxuICAgKiBAcGFyYW0gY29uZmlnIFRoZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgYWRkUHJlYnVpbGRzKGNvbmZpZzogR2l0cG9kUHJlYnVpbGRzKSB7XG4gICAgdGhpcy5wcmVidWlsZHMgPSBjb25maWc7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgdGFzayB3aXRoIG1vcmUgZ3JhbnVsYXIgb3B0aW9ucy5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgYWxsIHRhc2tzIHdpbGwgYmUgcnVuIGluIHBhcmFsbGVsLiBUbyBydW4gdGFza3MgaW4gc2VxdWVuY2UsXG4gICAqIGNyZWF0ZSBhIG5ldyBgVGFza2AgYW5kIHNldCB0aGUgb3RoZXIgdGFza3MgYXMgc3VidGFza3MuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSB0YXNrIHBhcmFtZXRlcnNcbiAgICovXG4gIHB1YmxpYyBhZGRDdXN0b21UYXNrKG9wdGlvbnM6IEdpdHBvZFRhc2spIHtcbiAgICB0aGlzLnRhc2tzLnB1c2goe1xuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgY29tbWFuZDogb3B0aW9ucy5jb21tYW5kLFxuICAgICAgb3Blbk1vZGU6IG9wdGlvbnMub3Blbk1vZGUsXG4gICAgICBvcGVuSW46IG9wdGlvbnMub3BlbkluLFxuICAgICAgYmVmb3JlOiBvcHRpb25zLmJlZm9yZSxcbiAgICAgIGluaXQ6IG9wdGlvbnMuaW5pdCxcbiAgICAgIHByZWJ1aWxkOiBvcHRpb25zLnByZWJ1aWxkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBwb3J0cyB0aGF0IHNob3VsZCBiZSBleHBvc2VkIChmb3J3YXJkZWQpIGZyb20gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQHBhcmFtIHBvcnRzIFRoZSBuZXcgcG9ydHNcbiAgICovXG4gIHB1YmxpYyBhZGRQb3J0cyguLi5wb3J0czogc3RyaW5nW10pIHtcbiAgICB0aGlzLnBvcnRzLnB1c2goLi4ucG9ydHMubWFwKChwb3J0KSA9PiAoeyBwb3J0OiBwb3J0IH0pKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbGlzdCBvZiBWU0NvZGUgZXh0ZW5zaW9ucyB0aGF0IHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IGluc3RhbGxlZFxuICAgKiBpbiB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBUaGVzZSBtdXN0IGJlIGluIHRoZSBmb3JtYXQgZGVmaW5lZCBpbiB0aGUgT3BlbiBWU1ggcmVnaXN0cnkuXG4gICAqIEBleGFtcGxlICdzY2FsYS1sYW5nLnNjYWxhQDAuMy45Ok81WG1qd1k1R3orMG9EWkFtcW5lSnc9PSdcbiAgICogQHNlZSBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy92c2NvZGUtZXh0ZW5zaW9ucy9cbiAgICpcbiAgICogQHBhcmFtIGV4dGVuc2lvbnMgVGhlIGV4dGVuc2lvbiBJRHNcbiAgICovXG4gIHB1YmxpYyBhZGRWc2NvZGVFeHRlbnNpb25zKC4uLmV4dGVuc2lvbnM6IEdpdHBvZENvZGVFeHRlbnNpb25JZFtdKSB7XG4gICAgdGhpcy52c2NvZGVFeHRlbnNpb25zLnB1c2goLi4uZXh0ZW5zaW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckRvY2tlckltYWdlKCkge1xuICAgIGlmICh0aGlzLmRvY2tlckltYWdlPy5pbWFnZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZG9ja2VySW1hZ2UuaW1hZ2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRvY2tlckltYWdlPy5kb2NrZXJGaWxlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmaWxlOiB0aGlzLmRvY2tlckltYWdlLmRvY2tlckZpbGUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyUHJlYnVpbGRzKCkge1xuICAgIGlmICh0aGlzLnByZWJ1aWxkcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJlYnVpbGRzOiB0aGlzLnByZWJ1aWxkcyxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVlMgQ29kZSBleHRlbnNpb25zIGFzIGRlZmluZWQgaW4gdGhlIE9wZW4gVlNYIHJlZ2lzdHJ5XG4gKiBFeGFtcGxlOiBgc2NhbGEtbGFuZy5zY2FsYUAwLjMuOTpPNVhtandZNUd6KzBvRFpBbXFuZUp3PT1gXG4gKi9cbnR5cGUgR2l0cG9kQ29kZUV4dGVuc2lvbklkID0gc3RyaW5nO1xuIl19
@@ -99,7 +99,7 @@ class IgnoreFile extends file_1.FileBase {
99
99
  }
100
100
  exports.IgnoreFile = IgnoreFile;
101
101
  _a = JSII_RTTI_SYMBOL_1;
102
- IgnoreFile[_a] = { fqn: "projen.IgnoreFile", version: "0.98.5" };
102
+ IgnoreFile[_a] = { fqn: "projen.IgnoreFile", version: "0.98.7" };
103
103
  // O(n) hooray!
104
104
  function remove(arr, value) {
105
105
  const idx = arr.indexOf(value);
package/lib/ini.js CHANGED
@@ -26,5 +26,5 @@ class IniFile extends object_file_1.ObjectFile {
26
26
  }
27
27
  exports.IniFile = IniFile;
28
28
  _a = JSII_RTTI_SYMBOL_1;
29
- IniFile[_a] = { fqn: "projen.IniFile", version: "0.98.5" };
29
+ IniFile[_a] = { fqn: "projen.IniFile", version: "0.98.7" };
30
30
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJCQUEyQjtBQUUzQiwrQ0FBOEQ7QUFROUQ7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSx3QkFBVTtJQUNyQyxZQUFZLE9BQWdCLEVBQUUsUUFBZ0IsRUFBRSxPQUF1QjtRQUNyRSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsUUFBbUI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPO1lBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVDLEVBQUU7WUFDRixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDOztBQWhCSCwwQkFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBJTkkgZnJvbSBcImluaVwiO1xuaW1wb3J0IHsgSVJlc29sdmVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuaW1wb3J0IHsgT2JqZWN0RmlsZSwgT2JqZWN0RmlsZU9wdGlvbnMgfSBmcm9tIFwiLi9vYmplY3QtZmlsZVwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgSW5pRmlsZWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5pRmlsZU9wdGlvbnMgZXh0ZW5kcyBPYmplY3RGaWxlT3B0aW9ucyB7fVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gSU5JIGZpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmlGaWxlIGV4dGVuZHMgT2JqZWN0RmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIGZpbGVQYXRoOiBzdHJpbmcsIG9wdGlvbnM6IEluaUZpbGVPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgZmlsZVBhdGgsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGpzb24gPSBzdXBlci5zeW50aGVzaXplQ29udGVudChyZXNvbHZlcik7XG4gICAgaWYgKCFqc29uKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICAuLi4odGhpcy5tYXJrZXIgPyBbYCMgJHt0aGlzLm1hcmtlcn1gXSA6IFtdKSxcbiAgICAgIFwiXCIsXG4gICAgICBJTkkuc3RyaW5naWZ5KEpTT04ucGFyc2UoanNvbikpLFxuICAgIF0uam9pbihcIlxcblwiKTtcbiAgfVxufVxuIl19
@@ -91,5 +91,5 @@ class JavaProject extends github_1.GitHubProject {
91
91
  }
92
92
  exports.JavaProject = JavaProject;
93
93
  _a = JSII_RTTI_SYMBOL_1;
94
- JavaProject[_a] = { fqn: "projen.java.JavaProject", version: "0.98.5" };
94
+ JavaProject[_a] = { fqn: "projen.java.JavaProject", version: "0.98.7" };
95
95
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmEvamF2YS1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQThDO0FBQzlDLG1EQUFvRTtBQUNwRSx1REFBMEU7QUFDMUUsaURBQTZDO0FBQzdDLCtCQUF1RDtBQUN2RCx5Q0FBdUU7QUFDdkUsc0NBQWdFO0FBQ2hFLGtDQUF3RDtBQXFHeEQ7Ozs7R0FJRztBQUNILE1BQWEsV0FBWSxTQUFRLHNCQUFhO0lBK0I1QyxZQUFZLE9BQTJCO1FBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxXQUFXLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLFNBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZFLElBQUksSUFBQSx1QkFBZ0IsRUFBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFFRCxpRUFBaUU7UUFDakUsSUFDRSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ1osQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBQSxrQkFBVyxFQUFDLGlCQUFpQixDQUFDLENBQUMsRUFDekQsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxtQkFBWSxDQUM5QixJQUFJLEVBQ0osSUFBSSxDQUFDLEdBQUcsRUFDUixPQUFPLENBQUMsbUJBQW1CLENBQzVCLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLElBQUksVUFBVSxDQUFDO1FBRWxFLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksYUFBSyxDQUFDLElBQUksRUFBRTtnQkFDM0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dCQUNiLGlCQUFpQjtnQkFDakIsR0FBRyxPQUFPLENBQUMsWUFBWTthQUN4QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksMEJBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsOEJBQThCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQ0FBYyxDQUNqQyxJQUFJLEVBQ0osSUFBSSxDQUFDLEdBQUcsRUFDUixPQUFPLENBQUMsZ0JBQWdCLENBQ3pCLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLHlEQUF5RCxFQUFFO1lBQ3hFLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3pELGFBQWEsRUFBRTtnQkFDYixLQUFLLEVBQUUsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ3ZEO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUVELEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLElBQVk7UUFDL0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLElBQVk7UUFDbkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksU0FBUyxDQUFDLElBQVksRUFBRSxVQUF5QixFQUFFO1FBQ3hELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7O0FBaklILGtDQWtJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEp1bml0LCBKdW5pdE9wdGlvbnMgfSBmcm9tIFwiLi9qdW5pdFwiO1xuaW1wb3J0IHsgTWF2ZW5Db21waWxlLCBNYXZlbkNvbXBpbGVPcHRpb25zIH0gZnJvbSBcIi4vbWF2ZW4tY29tcGlsZVwiO1xuaW1wb3J0IHsgTWF2ZW5QYWNrYWdpbmcsIE1hdmVuUGFja2FnaW5nT3B0aW9ucyB9IGZyb20gXCIuL21hdmVuLXBhY2thZ2luZ1wiO1xuaW1wb3J0IHsgTWF2ZW5TYW1wbGUgfSBmcm9tIFwiLi9tYXZlbi1zYW1wbGVcIjtcbmltcG9ydCB7IFBsdWdpbk9wdGlvbnMsIFBvbSwgUG9tT3B0aW9ucyB9IGZyb20gXCIuL3BvbVwiO1xuaW1wb3J0IHsgUHJvamVucmMgYXMgUHJvamVucmNKYXZhLCBQcm9qZW5yY09wdGlvbnMgfSBmcm9tIFwiLi9wcm9qZW5yY1wiO1xuaW1wb3J0IHsgR2l0SHViUHJvamVjdCwgR2l0SHViUHJvamVjdE9wdGlvbnMgfSBmcm9tIFwiLi4vZ2l0aHViXCI7XG5pbXBvcnQgeyBhbnlTZWxlY3RlZCwgbXVsdGlwbGVTZWxlY3RlZCB9IGZyb20gXCIuLi91dGlsXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEphdmFQcm9qZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKYXZhUHJvamVjdENvbW1vbk9wdGlvbnNcbiAgZXh0ZW5kcyBHaXRIdWJQcm9qZWN0T3B0aW9ucyxcbiAgICBQb21PcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbmFsIGFydGlmYWN0IG91dHB1dCBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiZGlzdC9qYXZhXCJcbiAgICovXG4gIHJlYWRvbmx5IGRpc3RkaXI/OiBzdHJpbmc7XG5cbiAgLy8gLS0gZGVwZW5kZW5jaWVzIC0tXG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcnVudGltZSBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgcHJvamVjdC5cbiAgICpcbiAgICogRGVwZW5kZW5jaWVzIHVzZSB0aGUgZm9ybWF0OiBgPGdyb3VwSWQ+LzxhcnRpZmFjdElkPkA8c2VtdmVyPmBcbiAgICpcbiAgICogQWRkaXRpb25hbCBkZXBlbmRlbmNpZXMgY2FuIGJlIGFkZGVkIHZpYSBgcHJvamVjdC5hZGREZXBlbmRlbmN5KClgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlcHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiB0ZXN0IGRlcGVuZGVuY2llcyBmb3IgdGhpcyBwcm9qZWN0LlxuICAgKlxuICAgKiBEZXBlbmRlbmNpZXMgdXNlIHRoZSBmb3JtYXQ6IGA8Z3JvdXBJZD4vPGFydGlmYWN0SWQ+QDxzZW12ZXI+YFxuICAgKlxuICAgKiBBZGRpdGlvbmFsIGRlcGVuZGVuY2llcyBjYW4gYmUgYWRkZWQgdmlhIGBwcm9qZWN0LmFkZFRlc3REZXBlbmRlbmN5KClgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IHRlc3REZXBzPzogc3RyaW5nW107XG5cbiAgLy8gLS0gY29tcG9uZW50cyAtLVxuXG4gIC8qKlxuICAgKiBJbmNsdWRlIGp1bml0IHRlc3RzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBqdW5pdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGp1bml0IG9wdGlvbnNcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0c1xuICAgKi9cbiAgcmVhZG9ubHkganVuaXRPcHRpb25zPzogSnVuaXRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBQYWNrYWdpbmcgb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0c1xuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnaW5nT3B0aW9ucz86IE1hdmVuUGFja2FnaW5nT3B0aW9ucztcblxuICAvKipcbiAgICogQ29tcGlsZSBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzXG4gICAqL1xuICByZWFkb25seSBjb21waWxlT3B0aW9ucz86IE1hdmVuQ29tcGlsZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFVzZSBwcm9qZW5yYyBpbiBqYXZhLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgaW5zdGFsbCBgcHJvamVuYCBhcyBhIGphdmEgZGVwZW5kZW5jeSBhbmQgd2lsbCBhZGQgYSBgc3ludGhgIHRhc2sgd2hpY2hcbiAgICogd2lsbCBjb21waWxlICYgZXhlY3V0ZSBgbWFpbigpYCBmcm9tIGBzcmMvbWFpbi9qYXZhL3Byb2plbnJjLmphdmFgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0phdmE/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIHJlbGF0ZWQgdG8gcHJvamVucmMgaW4gamF2YS5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSmF2YU9wdGlvbnM/OiBQcm9qZW5yY09wdGlvbnM7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEphdmFQcm9qZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKYXZhUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBKYXZhUHJvamVjdENvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogSW5jbHVkZSBzYW1wbGUgY29kZSBhbmQgdGVzdCBpZiB0aGUgcmVsZXZhbnQgZGlyZWN0b3JpZXMgZG9uJ3QgZXhpc3QuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNhbXBsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBqYXZhIHBhY2thZ2UgdG8gdXNlIGZvciB0aGUgY29kZSBzYW1wbGUuXG4gICAqIEBkZWZhdWx0IFwib3JnLmFjbWVcIlxuICAgKi9cbiAgcmVhZG9ubHkgc2FtcGxlSmF2YVBhY2thZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSmF2YSBwcm9qZWN0LlxuICpcbiAqIEBwamlkIGphdmFcbiAqL1xuZXhwb3J0IGNsYXNzIEphdmFQcm9qZWN0IGV4dGVuZHMgR2l0SHViUHJvamVjdCB7XG4gIC8qKlxuICAgKiBBUEkgZm9yIG1hbmFnaW5nIGBwb20ueG1sYC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwb206IFBvbTtcblxuICAvKipcbiAgICogSlVuaXQgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGp1bml0PzogSnVuaXQ7XG5cbiAgLyoqXG4gICAqIFBhY2thZ2luZyBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGFja2FnaW5nOiBNYXZlblBhY2thZ2luZztcblxuICAvKipcbiAgICogQ29tcGlsZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29tcGlsZTogTWF2ZW5Db21waWxlO1xuXG4gIC8qKlxuICAgKiBQcm9qZW5yYyBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVucmM/OiBQcm9qZW5yY0phdmE7XG5cbiAgLyoqXG4gICAqIE1hdmVuIGFydGlmYWN0IG91dHB1dCBkaXJlY3RvcnkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzdGRpcjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEphdmFQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5kaXN0ZGlyID0gb3B0aW9ucy5kaXN0ZGlyID8/IFwiZGlzdC9qYXZhXCI7XG4gICAgdGhpcy5wb20gPSBuZXcgUG9tKHRoaXMsIG9wdGlvbnMpO1xuXG4gICAgY29uc3QgcmNGaWxlVHlwZU9wdGlvbnMgPSBbb3B0aW9ucy5wcm9qZW5yY0phdmEsIG9wdGlvbnMucHJvamVucmNKc29uXTtcblxuICAgIGlmIChtdWx0aXBsZVNlbGVjdGVkKHJjRmlsZVR5cGVPcHRpb25zKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIk9ubHkgb25lIG9mIHByb2plbnJjSmF2YSBhbmQgcHJvamVucmNKc29uIGNhbiBiZSBzZWxlY3RlZC5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBkZWZhdWx0IHRvIHByb2plbnJjLmphdmEgaWYgbm8gb3RoZXIgcHJvamVucmMgdHlwZSB3YXMgZWxlY3RlZFxuICAgIGlmIChcbiAgICAgICF0aGlzLnBhcmVudCAmJlxuICAgICAgKG9wdGlvbnMucHJvamVucmNKYXZhID8/ICFhbnlTZWxlY3RlZChyY0ZpbGVUeXBlT3B0aW9ucykpXG4gICAgKSB7XG4gICAgICB0aGlzLnByb2plbnJjID0gbmV3IFByb2plbnJjSmF2YShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5wb20sXG4gICAgICAgIG9wdGlvbnMucHJvamVucmNKYXZhT3B0aW9uc1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzYW1wbGVKYXZhUGFja2FnZSA9IG9wdGlvbnMuc2FtcGxlSmF2YVBhY2thZ2UgPz8gXCJvcmcuYWNtZVwiO1xuXG4gICAgaWYgKG9wdGlvbnMuanVuaXQgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5qdW5pdCA9IG5ldyBKdW5pdCh0aGlzLCB7XG4gICAgICAgIHBvbTogdGhpcy5wb20sXG4gICAgICAgIHNhbXBsZUphdmFQYWNrYWdlLFxuICAgICAgICAuLi5vcHRpb25zLmp1bml0T3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnNhbXBsZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgTWF2ZW5TYW1wbGUodGhpcywgeyBwYWNrYWdlOiBzYW1wbGVKYXZhUGFja2FnZSB9KTtcbiAgICB9XG5cbiAgICAvLyBwbGF0Zm9ybSBpbmRlcGVuZGVudCBidWlsZFxuICAgIHRoaXMucG9tLmFkZFByb3BlcnR5KFwicHJvamVjdC5idWlsZC5zb3VyY2VFbmNvZGluZ1wiLCBcIlVURi04XCIpO1xuXG4gICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShcIi5jbGFzc3BhdGhcIik7XG4gICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShcIi5wcm9qZWN0XCIpO1xuICAgIHRoaXMuZ2l0aWdub3JlLmV4Y2x1ZGUoXCIuc2V0dGluZ3NcIik7XG5cbiAgICB0aGlzLmNvbXBpbGUgPSBuZXcgTWF2ZW5Db21waWxlKHRoaXMsIHRoaXMucG9tLCBvcHRpb25zLmNvbXBpbGVPcHRpb25zKTtcbiAgICB0aGlzLnBhY2thZ2luZyA9IG5ldyBNYXZlblBhY2thZ2luZyhcbiAgICAgIHRoaXMsXG4gICAgICB0aGlzLnBvbSxcbiAgICAgIG9wdGlvbnMucGFja2FnaW5nT3B0aW9uc1xuICAgICk7XG5cbiAgICB0aGlzLmFkZFBsdWdpbihcIm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2lucy9tYXZlbi1lbmZvcmNlci1wbHVnaW5AMy4wLjAtTTNcIiwge1xuICAgICAgZXhlY3V0aW9uczogW3sgaWQ6IFwiZW5mb3JjZS1tYXZlblwiLCBnb2FsczogW1wiZW5mb3JjZVwiXSB9XSxcbiAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgcnVsZXM6IFt7IHJlcXVpcmVNYXZlblZlcnNpb246IFt7IHZlcnNpb246IFwiMy42XCIgfV0gfV0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBkZXAgb2Ygb3B0aW9ucy5kZXBzID8/IFtdKSB7XG4gICAgICB0aGlzLmFkZERlcGVuZGVuY3koZGVwKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGRlcCBvZiBvcHRpb25zLnRlc3REZXBzID8/IFtdKSB7XG4gICAgICB0aGlzLmFkZFRlc3REZXBlbmRlbmN5KGRlcCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBydW50aW1lIGRlcGVuZGVuY3kuXG4gICAqXG4gICAqIEBwYXJhbSBzcGVjIEZvcm1hdCBgPGdyb3VwSWQ+LzxhcnRpZmFjdElkPkA8c2VtdmVyPmBcbiAgICovXG4gIHB1YmxpYyBhZGREZXBlbmRlbmN5KHNwZWM6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBvbS5hZGREZXBlbmRlbmN5KHNwZWMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB0ZXN0IGRlcGVuZGVuY3kuXG4gICAqXG4gICAqIEBwYXJhbSBzcGVjIEZvcm1hdCBgPGdyb3VwSWQ+LzxhcnRpZmFjdElkPkA8c2VtdmVyPmBcbiAgICovXG4gIHB1YmxpYyBhZGRUZXN0RGVwZW5kZW5jeShzcGVjOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wb20uYWRkVGVzdERlcGVuZGVuY3koc3BlYyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGJ1aWxkIHBsdWdpbiB0byB0aGUgcG9tLlxuICAgKlxuICAgKiBUaGUgcGx1ZyBpbiBpcyBhbHNvIGFkZGVkIGFzIGEgQlVJTEQgZGVwIHRvIHRoZSBwcm9qZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gc3BlYyBkZXBlbmRlbmN5IHNwZWMgKGBncm91cC9hcnRpZmFjdEB2ZXJzaW9uYClcbiAgICogQHBhcmFtIG9wdGlvbnMgcGx1Z2luIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBhZGRQbHVnaW4oc3BlYzogc3RyaW5nLCBvcHRpb25zOiBQbHVnaW5PcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5wb20uYWRkUGx1Z2luKHNwZWMsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=
package/lib/java/junit.js CHANGED
@@ -40,5 +40,5 @@ class Junit extends component_1.Component {
40
40
  }
41
41
  exports.Junit = Junit;
42
42
  _a = JSII_RTTI_SYMBOL_1;
43
- Junit[_a] = { fqn: "projen.java.Junit", version: "0.98.5" };
43
+ Junit[_a] = { fqn: "projen.java.Junit", version: "0.98.7" };
44
44
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YS9qdW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUU1Qiw0Q0FBeUM7QUFFekMsZ0RBQTJDO0FBRTNDLE1BQU0sT0FBTyxHQUFHLElBQUEsV0FBSSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUF5QjVDOztHQUVHO0FBQ0gsTUFBYSxLQUFNLFNBQVEscUJBQVM7SUFDbEMsWUFBWSxPQUFnQixFQUFFLE9BQXFCO1FBQ2pELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUM7UUFFM0MsR0FBRyxDQUFDLGlCQUFpQixDQUFDLHVDQUF1QyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQywwQ0FBMEMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUUzRSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLElBQUksVUFBVSxDQUFDO1FBQzVELE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSx1QkFBUyxDQUFDLE9BQU8sRUFBRSxJQUFBLFdBQUksRUFBQyxPQUFPLEVBQUUsR0FBRyxlQUFlLENBQUMsRUFBRTtZQUN4RCxLQUFLLEVBQUU7Z0JBQ0wsYUFBYSxFQUFFO29CQUNiLFdBQVcsV0FBVyxHQUFHO29CQUN6QixFQUFFO29CQUNGLG9DQUFvQztvQkFDcEMsRUFBRTtvQkFDRix1QkFBdUI7b0JBQ3ZCLFNBQVM7b0JBQ1QsNkJBQTZCO29CQUM3QiwwQ0FBMEM7b0JBQzFDLEtBQUs7b0JBQ0wsR0FBRztpQkFDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBOUJILHNCQStCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgUG9tIH0gZnJvbSBcIi4vcG9tXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IFNhbXBsZURpciB9IGZyb20gXCIuLi9zYW1wbGUtZmlsZVwiO1xuXG5jb25zdCBURVNURElSID0gam9pbihcInNyY1wiLCBcInRlc3RcIiwgXCJqYXZhXCIpO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBKdW5pdGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnVuaXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEphdmEgcG9tLlxuICAgKi9cbiAgcmVhZG9ubHkgcG9tOiBQb207XG5cbiAgLyoqXG4gICAqIEp1bml0IHZlcnNpb25cbiAgICpcbiAgICogQGRlZmF1bHQgXCI1LjcuMFwiXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBKYXZhIHBhY2thZ2UgZm9yIHRlc3Qgc2FtcGxlLlxuICAgKiBAZGVmYXVsdCBcIm9yZy5hY21lXCJcbiAgICovXG4gIHJlYWRvbmx5IHNhbXBsZUphdmFQYWNrYWdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEltcGxlbWVudHMgSlVuaXQtYmFzZWQgdGVzdGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEp1bml0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogSnVuaXRPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBjb25zdCBwb20gPSBvcHRpb25zLnBvbTtcbiAgICBjb25zdCB2ZXJzaW9uID0gb3B0aW9ucy52ZXJzaW9uID8/IFwiNS43LjBcIjtcblxuICAgIHBvbS5hZGRUZXN0RGVwZW5kZW5jeShgb3JnLmp1bml0Lmp1cGl0ZXIvanVuaXQtanVwaXRlci1hcGlAJHt2ZXJzaW9ufWApO1xuICAgIHBvbS5hZGRUZXN0RGVwZW5kZW5jeShgb3JnLmp1bml0Lmp1cGl0ZXIvanVuaXQtanVwaXRlci1lbmdpbmVAJHt2ZXJzaW9ufWApO1xuXG4gICAgcHJvamVjdC50ZXN0VGFzay5leGVjKFwibXZuIHRlc3RcIik7XG5cbiAgICBjb25zdCBqYXZhUGFja2FnZSA9IG9wdGlvbnMuc2FtcGxlSmF2YVBhY2thZ2UgPz8gXCJvcmcuYWNtZVwiO1xuICAgIGNvbnN0IGphdmFQYWNrYWdlUGF0aCA9IGphdmFQYWNrYWdlLnNwbGl0KFwiLlwiKTtcbiAgICBuZXcgU2FtcGxlRGlyKHByb2plY3QsIGpvaW4oVEVTVERJUiwgLi4uamF2YVBhY2thZ2VQYXRoKSwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgXCJNeVRlc3QuamF2YVwiOiBbXG4gICAgICAgICAgYHBhY2thZ2UgJHtqYXZhUGFja2FnZX07YCxcbiAgICAgICAgICBcIlwiLFxuICAgICAgICAgIFwiaW1wb3J0IG9yZy5qdW5pdC5qdXBpdGVyLmFwaS5UZXN0O1wiLFxuICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgXCJwdWJsaWMgY2xhc3MgTXlUZXN0IHtcIixcbiAgICAgICAgICBcIiAgQFRlc3RcIixcbiAgICAgICAgICBcIiAgcHVibGljIHZvaWQgdGVzdEhlbGxvKCkge1wiLFxuICAgICAgICAgICcgICAgU3lzdGVtLm91dC5wcmludGxuKFwiSGVsbG8sIHdvcmxkIVwiKTsnLFxuICAgICAgICAgIFwiICB9XCIsXG4gICAgICAgICAgXCJ9XCIsXG4gICAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -22,5 +22,5 @@ class MavenCompile extends component_1.Component {
22
22
  }
23
23
  exports.MavenCompile = MavenCompile;
24
24
  _a = JSII_RTTI_SYMBOL_1;
25
- MavenCompile[_a] = { fqn: "projen.java.MavenCompile", version: "0.98.5" };
25
+ MavenCompile[_a] = { fqn: "projen.java.MavenCompile", version: "0.98.7" };
26
26
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF2ZW4tY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qYXZhL21hdmVuLWNvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSw0Q0FBeUM7QUFzQnpDOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEscUJBQVM7SUFDekMsWUFBWSxPQUFnQixFQUFFLEdBQVEsRUFBRSxVQUErQixFQUFFO1FBQ3ZFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBDLEdBQUcsQ0FBQyxTQUFTLENBQUMsc0RBQXNELEVBQUU7WUFDcEUsYUFBYSxFQUFFO2dCQUNiLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLEtBQUs7Z0JBQy9CLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLEtBQUs7YUFDaEM7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7O0FBZEgsb0NBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb20gfSBmcm9tIFwiLi9wb21cIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBNYXZlbkNvbXBpbGVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdmVuQ29tcGlsZU9wdGlvbnMge1xuICAvKipcbiAgICogU291cmNlIGxhbmd1YWdlIHZlcnNpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiMS44XCJcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGFyZ2V0IEpWTSB2ZXJzaW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjEuOFwiXG4gICAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWRkcyB0aGUgbWF2ZW4tY29tcGlsZXIgcGx1Z2luIHRvIGEgUE9NIGZpbGUgYW5kIHRoZSBgY29tcGlsZWAgdGFzay5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hdmVuQ29tcGlsZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHBvbTogUG9tLCBvcHRpb25zOiBNYXZlbkNvbXBpbGVPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoXCJ0YXJnZXRcIik7XG5cbiAgICBwb20uYWRkUGx1Z2luKFwib3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zL21hdmVuLWNvbXBpbGVyLXBsdWdpbkAzLjguMVwiLCB7XG4gICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgIHNvdXJjZTogb3B0aW9ucy5zb3VyY2UgPz8gXCIxLjhcIixcbiAgICAgICAgdGFyZ2V0OiBvcHRpb25zLnRhcmdldCA/PyBcIjEuOFwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHByb2plY3QuY29tcGlsZVRhc2suZXhlYyhcIm12biBjb21waWxlcjpjb21waWxlXCIpO1xuICB9XG59XG4iXX0=
@@ -57,5 +57,5 @@ class MavenPackaging extends component_1.Component {
57
57
  }
58
58
  exports.MavenPackaging = MavenPackaging;
59
59
  _a = JSII_RTTI_SYMBOL_1;
60
- MavenPackaging[_a] = { fqn: "projen.java.MavenPackaging", version: "0.98.5" };
60
+ MavenPackaging[_a] = { fqn: "projen.java.MavenPackaging", version: "0.98.7" };
61
61
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF2ZW4tcGFja2FnaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmEvbWF2ZW4tcGFja2FnaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNENBQXlDO0FBZ0N6Qzs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLHFCQUFTO0lBTTNDLFlBQVksT0FBZ0IsRUFBRSxHQUFRLEVBQUUsVUFBaUMsRUFBRTtRQUN6RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixHQUFHLENBQUMsU0FBUyxDQUFDLGlEQUFpRCxFQUFFO1lBQy9ELGFBQWEsRUFBRTtnQkFDYixPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLElBQUk7b0JBQ1gsUUFBUSxFQUFFO3dCQUNSLCtCQUErQixFQUFFLElBQUk7d0JBQ3JDLDhCQUE4QixFQUFFLElBQUk7cUJBQ3JDO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxvREFBb0QsRUFBRTtnQkFDbEUsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUN2RCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLEdBQUcsQ0FBQyxTQUFTLENBQUMscURBQXFELEVBQUU7Z0JBQ25FLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZELGFBQWEsRUFBRTtvQkFDYixXQUFXLEVBQUUsS0FBSztvQkFDbEIsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLGtCQUFrQixFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxlQUFlLEVBQUU7b0JBQ3hELGlCQUFpQixFQUFFLEtBQUssRUFBRSx1Q0FBdUM7b0JBQ2pFLGtCQUFrQixFQUFFO3dCQUNsQixpQkFBaUIsRUFBRTs0QkFDakIsMEJBQTBCOzRCQUMxQiwyQkFBMkI7eUJBQzVCO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHO1lBQ1YsVUFBVSxFQUFFLGdEQUFnRDtTQUM3RCxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQztRQUU5QyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDM0Isc0VBQXNFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDckYsQ0FBQztRQUVGLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDOztBQTVESCx3Q0E2REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb20gfSBmcm9tIFwiLi9wb21cIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBNYXZlblBhY2thZ2VgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdmVuUGFja2FnaW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJbmNsdWRlIHNvdXJjZXMgamFyIGluIHBhY2thZ2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0byBwbGFjZSB0aGUgcGFja2FnZSBvdXRwdXQ/XG4gICAqIEBkZWZhdWx0IFwiZGlzdC9qYXZhXCJcbiAgICovXG4gIHJlYWRvbmx5IGRpc3RkaXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgamF2YWRvY3MgamFyIGluIHBhY2thZ2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGphdmFkb2NzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRXhjbHVkZSBzb3VyY2UgZmlsZXMgZnJvbSBkb2NzLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgamF2YWRvY3NFeGNsdWRlPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQ29uZmlndXJlcyBhIG1hdmVuIHByb2plY3QgdG8gcHJvZHVjZSBhIC5qYXIgYXJjaGl2ZSB3aXRoIHNvdXJjZXMgYW5kIGphdmFkb2NzLlxuICovXG5leHBvcnQgY2xhc3MgTWF2ZW5QYWNrYWdpbmcgZXh0ZW5kcyBDb21wb25lbnQge1xuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBwYWNrYWdlIG91dHB1dCwgcmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgb3V0ZGlyXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzdGRpcjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHBvbTogUG9tLCBvcHRpb25zOiBNYXZlblBhY2thZ2luZ09wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgcG9tLmFkZFBsdWdpbihcIm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2lucy9tYXZlbi1qYXItcGx1Z2luQDMuMi4wXCIsIHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgYXJjaGl2ZToge1xuICAgICAgICAgIGluZGV4OiB0cnVlLFxuICAgICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgICBhZGREZWZhdWx0SW1wbGVtZW50YXRpb25FbnRyaWVzOiB0cnVlLFxuICAgICAgICAgICAgYWRkRGVmYXVsdFNwZWNpZmljYXRpb25FbnRyaWVzOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKG9wdGlvbnMuc291cmNlcyA/PyB0cnVlKSB7XG4gICAgICBwb20uYWRkUGx1Z2luKFwib3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zL21hdmVuLXNvdXJjZS1wbHVnaW5AMy4yLjFcIiwge1xuICAgICAgICBleGVjdXRpb25zOiBbeyBpZDogXCJhdHRhY2gtc291cmNlc1wiLCBnb2FsczogW1wiamFyXCJdIH1dLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuamF2YWRvY3MgPz8gdHJ1ZSkge1xuICAgICAgcG9tLmFkZFBsdWdpbihcIm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2lucy9tYXZlbi1qYXZhZG9jLXBsdWdpbkAzLjIuMFwiLCB7XG4gICAgICAgIGV4ZWN1dGlvbnM6IFt7IGlkOiBcImF0dGFjaC1qYXZhZG9jc1wiLCBnb2FsczogW1wiamFyXCJdIH1dLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgZmFpbE9uRXJyb3I6IGZhbHNlLFxuICAgICAgICAgIHNob3c6IFwicHJvdGVjdGVkXCIsXG4gICAgICAgICAgc291cmNlRmlsZUV4Y2x1ZGVzOiB7IGV4Y2x1ZGU6IG9wdGlvbnMuamF2YWRvY3NFeGNsdWRlIH0sXG4gICAgICAgICAgZGV0ZWN0SmF2YUFwaUxpbms6IGZhbHNlLCAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNjE4ODQyNjdcbiAgICAgICAgICBhZGRpdGlvbmFsSk9wdGlvbnM6IHtcbiAgICAgICAgICAgIGFkZGl0aW9uYWxKT3B0aW9uOiBbXG4gICAgICAgICAgICAgIFwiLUotWFg6K1RpZXJlZENvbXBpbGF0aW9uXCIsXG4gICAgICAgICAgICAgIFwiLUotWFg6VGllcmVkU3RvcEF0TGV2ZWw9MVwiLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgZW52ID0ge1xuICAgICAgTUFWRU5fT1BUUzogXCItWFg6K1RpZXJlZENvbXBpbGF0aW9uIC1YWDpUaWVyZWRTdG9wQXRMZXZlbD0xXCIsXG4gICAgfTtcblxuICAgIHRoaXMuZGlzdGRpciA9IG9wdGlvbnMuZGlzdGRpciA/PyBcImRpc3QvamF2YVwiO1xuXG4gICAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMoZW52KSkge1xuICAgICAgdGhpcy5wcm9qZWN0LnBhY2thZ2VUYXNrLmVudihrLCB2KTtcbiAgICB9XG4gICAgdGhpcy5wcm9qZWN0LnBhY2thZ2VUYXNrLmV4ZWMoYG1rZGlyIC1wICR7dGhpcy5kaXN0ZGlyfWApO1xuICAgIHRoaXMucHJvamVjdC5wYWNrYWdlVGFzay5leGVjKFxuICAgICAgYG12biBkZXBsb3kgLUQ9YWx0RGVwbG95bWVudFJlcG9zaXRvcnk9bG9jYWw6OmRlZmF1bHQ6OmZpbGU6Ly8vJFBXRC8ke3RoaXMuZGlzdGRpcn1gXG4gICAgKTtcblxuICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUodGhpcy5kaXN0ZGlyKTtcbiAgfVxufVxuIl19
@@ -30,5 +30,5 @@ class MavenSample extends component_1.Component {
30
30
  }
31
31
  exports.MavenSample = MavenSample;
32
32
  _a = JSII_RTTI_SYMBOL_1;
33
- MavenSample[_a] = { fqn: "projen.java.MavenSample", version: "0.98.5" };
33
+ MavenSample[_a] = { fqn: "projen.java.MavenSample", version: "0.98.7" };
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF2ZW4tc2FtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmEvbWF2ZW4tc2FtcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLDRDQUF5QztBQUV6QyxnREFBMkM7QUFTM0M7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxxQkFBUztJQUN4QyxZQUFZLE9BQWdCLEVBQUUsT0FBMkI7UUFDdkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSx1QkFBUyxDQUFDLE9BQU8sRUFBRSxJQUFBLFdBQUksRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQzFELEtBQUssRUFBRTtnQkFDTCxXQUFXLEVBQUU7b0JBQ1gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxPQUFPLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMzRCxFQUFFO29CQUNGLHFCQUFxQjtvQkFDckIsa0RBQWtEO29CQUNsRCwwQ0FBMEM7b0JBQzFDLEtBQUs7b0JBQ0wsR0FBRztpQkFDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBbEJILGtDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBTYW1wbGVEaXIgfSBmcm9tIFwiLi4vc2FtcGxlLWZpbGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNYXZlblNhbXBsZU9wdGlvbnMge1xuICAvKipcbiAgICogUHJvamVjdCByb290IGphdmEgcGFja2FnZS5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBKYXZhIGNvZGUgc2FtcGxlLlxuICovXG5leHBvcnQgY2xhc3MgTWF2ZW5TYW1wbGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBNYXZlblNhbXBsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIGNvbnN0IHBrZyA9IG9wdGlvbnMucGFja2FnZS5zcGxpdChcIi5cIik7XG4gICAgbmV3IFNhbXBsZURpcihwcm9qZWN0LCBqb2luKFwic3JjXCIsIFwibWFpblwiLCBcImphdmFcIiwgLi4ucGtnKSwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgXCJNYWluLmphdmFcIjogW1xuICAgICAgICAgIC4uLihvcHRpb25zLnBhY2thZ2UgPyBbYHBhY2thZ2UgJHtvcHRpb25zLnBhY2thZ2V9O2BdIDogW10pLFxuICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgXCJwdWJsaWMgY2xhc3MgTWFpbiB7XCIsXG4gICAgICAgICAgXCIgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKGZpbmFsIFN0cmluZ1tdIGFyZ3MpIHtcIixcbiAgICAgICAgICAnICAgIFN5c3RlbS5vdXQucHJpbnRsbihcIkhlbGxvLCB3b3JsZCFcIik7JyxcbiAgICAgICAgICBcIiAgfVwiLFxuICAgICAgICAgIFwifVwiLFxuICAgICAgICBdLmpvaW4oXCJcXG5cIiksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
package/lib/java/pom.js CHANGED
@@ -23,7 +23,7 @@ class UpdatePolicy {
23
23
  }
24
24
  exports.UpdatePolicy = UpdatePolicy;
25
25
  _a = JSII_RTTI_SYMBOL_1;
26
- UpdatePolicy[_a] = { fqn: "projen.java.UpdatePolicy", version: "0.98.5" };
26
+ UpdatePolicy[_a] = { fqn: "projen.java.UpdatePolicy", version: "0.98.7" };
27
27
  UpdatePolicy.ALWAYS = "always";
28
28
  UpdatePolicy.DAILY = "daily";
29
29
  UpdatePolicy.NEVER = "never";
@@ -181,7 +181,7 @@ class Pom extends component_1.Component {
181
181
  }
182
182
  exports.Pom = Pom;
183
183
  _b = JSII_RTTI_SYMBOL_1;
184
- Pom[_b] = { fqn: "projen.java.Pom", version: "0.98.5" };
184
+ Pom[_b] = { fqn: "projen.java.Pom", version: "0.98.7" };
185
185
  /**
186
186
  * Parses maven groupId and artifactId from a dependency name.
187
187
  *
@@ -123,7 +123,7 @@ class Projenrc extends projenrc_1.ProjenrcFile {
123
123
  }
124
124
  exports.Projenrc = Projenrc;
125
125
  _a = JSII_RTTI_SYMBOL_1;
126
- Projenrc[_a] = { fqn: "projen.java.Projenrc", version: "0.98.5" };
126
+ Projenrc[_a] = { fqn: "projen.java.Projenrc", version: "0.98.7" };
127
127
  function generateJavaOptionNames(options, jsiiManifest) {
128
128
  const optionFqns = {};
129
129
  for (const option of options) {
@@ -183,7 +183,7 @@ export declare function toJson_CssConfiguration(obj: CssConfiguration | undefine
183
183
  */
184
184
  export interface FilesConfiguration {
185
185
  /**
186
- * **Deprecated:** Please use _force-ignore syntax_ in `files.includes` instead: https://biomejs.dev/reference/configuration/#filesincludes
186
+ * **Deprecated:** Please use _force-ignore syntax_ in `files.includes` instead: <https://biomejs.dev/reference/configuration/#filesincludes>
187
187
  *
188
188
  * Set of file and folder names that should be unconditionally ignored by Biome's scanner.
189
189
  *