@angular/cli 15.1.0-next.3 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/bin/bootstrap.js +0 -0
  4. package/bin/ng.js +0 -0
  5. package/bin/package.json +0 -0
  6. package/lib/cli/index.d.ts +0 -0
  7. package/lib/cli/index.js +1 -0
  8. package/lib/config/schema.json +20 -12
  9. package/lib/config/workspace-schema.d.ts +13 -13
  10. package/lib/config/workspace-schema.js +1 -0
  11. package/lib/init.d.ts +0 -0
  12. package/lib/init.js +5 -3
  13. package/package.json +16 -16
  14. package/src/analytics/analytics-collector.d.ts +0 -0
  15. package/src/analytics/analytics-collector.js +1 -0
  16. package/src/analytics/analytics-parameters.d.ts +1 -1
  17. package/src/analytics/analytics-parameters.js +1 -0
  18. package/src/analytics/analytics.d.ts +0 -0
  19. package/src/analytics/analytics.js +1 -0
  20. package/src/command-builder/architect-base-command-module.d.ts +0 -0
  21. package/src/command-builder/architect-base-command-module.js +2 -1
  22. package/src/command-builder/architect-command-module.d.ts +0 -0
  23. package/src/command-builder/architect-command-module.js +8 -1
  24. package/src/command-builder/command-module.d.ts +2 -2
  25. package/src/command-builder/command-module.js +8 -1
  26. package/src/command-builder/command-runner.d.ts +0 -0
  27. package/src/command-builder/command-runner.js +1 -0
  28. package/src/command-builder/schematics-command-module.d.ts +0 -0
  29. package/src/command-builder/schematics-command-module.js +16 -3
  30. package/src/command-builder/utilities/command.d.ts +0 -0
  31. package/src/command-builder/utilities/command.js +1 -0
  32. package/src/command-builder/utilities/json-help.d.ts +0 -0
  33. package/src/command-builder/utilities/json-help.js +2 -1
  34. package/src/command-builder/utilities/json-schema.d.ts +0 -0
  35. package/src/command-builder/utilities/json-schema.js +1 -0
  36. package/src/command-builder/utilities/normalize-options-middleware.d.ts +0 -0
  37. package/src/command-builder/utilities/normalize-options-middleware.js +1 -0
  38. package/src/command-builder/utilities/schematic-engine-host.d.ts +0 -0
  39. package/src/command-builder/utilities/schematic-engine-host.js +1 -0
  40. package/src/command-builder/utilities/schematic-workflow.d.ts +0 -0
  41. package/src/command-builder/utilities/schematic-workflow.js +1 -0
  42. package/src/commands/add/cli.d.ts +0 -0
  43. package/src/commands/add/cli.js +6 -5
  44. package/src/commands/add/long-description.md +0 -0
  45. package/src/commands/analytics/cli.d.ts +0 -0
  46. package/src/commands/analytics/cli.js +1 -0
  47. package/src/commands/analytics/info/cli.d.ts +0 -0
  48. package/src/commands/analytics/info/cli.js +1 -0
  49. package/src/commands/analytics/long-description.md +0 -0
  50. package/src/commands/analytics/settings/cli.d.ts +0 -0
  51. package/src/commands/analytics/settings/cli.js +1 -0
  52. package/src/commands/build/cli.d.ts +0 -0
  53. package/src/commands/build/cli.js +1 -0
  54. package/src/commands/build/long-description.md +0 -0
  55. package/src/commands/cache/clean/cli.d.ts +0 -0
  56. package/src/commands/cache/clean/cli.js +1 -0
  57. package/src/commands/cache/cli.d.ts +0 -0
  58. package/src/commands/cache/cli.js +1 -0
  59. package/src/commands/cache/info/cli.d.ts +0 -0
  60. package/src/commands/cache/info/cli.js +2 -1
  61. package/src/commands/cache/long-description.md +0 -0
  62. package/src/commands/cache/settings/cli.d.ts +0 -0
  63. package/src/commands/cache/settings/cli.js +1 -0
  64. package/src/commands/cache/utilities.d.ts +0 -0
  65. package/src/commands/cache/utilities.js +1 -0
  66. package/src/commands/completion/cli.d.ts +0 -0
  67. package/src/commands/completion/cli.js +1 -0
  68. package/src/commands/completion/long-description.md +0 -0
  69. package/src/commands/config/cli.d.ts +0 -0
  70. package/src/commands/config/cli.js +2 -1
  71. package/src/commands/config/long-description.md +0 -0
  72. package/src/commands/deploy/cli.d.ts +0 -0
  73. package/src/commands/deploy/cli.js +1 -0
  74. package/src/commands/deploy/long-description.md +0 -0
  75. package/src/commands/doc/cli.d.ts +0 -0
  76. package/src/commands/doc/cli.js +2 -1
  77. package/src/commands/e2e/cli.d.ts +0 -0
  78. package/src/commands/e2e/cli.js +1 -0
  79. package/src/commands/extract-i18n/cli.d.ts +0 -0
  80. package/src/commands/extract-i18n/cli.js +1 -0
  81. package/src/commands/generate/cli.d.ts +0 -0
  82. package/src/commands/generate/cli.js +1 -0
  83. package/src/commands/lint/cli.d.ts +0 -0
  84. package/src/commands/lint/cli.js +1 -0
  85. package/src/commands/lint/long-description.md +0 -0
  86. package/src/commands/make-this-awesome/cli.d.ts +0 -0
  87. package/src/commands/make-this-awesome/cli.js +1 -0
  88. package/src/commands/new/cli.d.ts +0 -0
  89. package/src/commands/new/cli.js +1 -0
  90. package/src/commands/run/cli.d.ts +0 -0
  91. package/src/commands/run/cli.js +1 -0
  92. package/src/commands/run/long-description.md +0 -0
  93. package/src/commands/serve/cli.d.ts +0 -0
  94. package/src/commands/serve/cli.js +1 -0
  95. package/src/commands/test/cli.d.ts +0 -0
  96. package/src/commands/test/cli.js +1 -0
  97. package/src/commands/test/long-description.md +0 -0
  98. package/src/commands/update/cli.d.ts +0 -0
  99. package/src/commands/update/cli.js +4 -3
  100. package/src/commands/update/long-description.md +0 -0
  101. package/src/commands/update/schematic/collection.json +0 -0
  102. package/src/commands/update/schematic/index.d.ts +0 -0
  103. package/src/commands/update/schematic/index.js +2 -1
  104. package/src/commands/update/schematic/schema.d.ts +0 -0
  105. package/src/commands/update/schematic/schema.js +1 -0
  106. package/src/commands/update/schematic/schema.json +0 -0
  107. package/src/commands/version/cli.d.ts +0 -0
  108. package/src/commands/version/cli.js +5 -4
  109. package/src/typings-bazel.d.ts +0 -0
  110. package/src/typings.d.ts +0 -0
  111. package/src/typings.js +1 -0
  112. package/src/utilities/color.d.ts +0 -0
  113. package/src/utilities/color.js +1 -0
  114. package/src/utilities/completion.d.ts +0 -0
  115. package/src/utilities/completion.js +1 -0
  116. package/src/utilities/config.d.ts +0 -0
  117. package/src/utilities/config.js +3 -2
  118. package/src/utilities/environment-options.d.ts +0 -0
  119. package/src/utilities/environment-options.js +1 -0
  120. package/src/utilities/error.d.ts +0 -0
  121. package/src/utilities/error.js +1 -0
  122. package/src/utilities/find-up.d.ts +0 -0
  123. package/src/utilities/find-up.js +1 -0
  124. package/src/utilities/json-file.d.ts +2 -14
  125. package/src/utilities/json-file.js +1 -0
  126. package/src/utilities/log-file.d.ts +0 -0
  127. package/src/utilities/log-file.js +1 -0
  128. package/src/utilities/memoize.d.ts +0 -0
  129. package/src/utilities/memoize.js +1 -0
  130. package/src/utilities/package-manager.d.ts +0 -0
  131. package/src/utilities/package-manager.js +15 -5
  132. package/src/utilities/package-metadata.d.ts +1 -1
  133. package/src/utilities/package-metadata.js +4 -3
  134. package/src/utilities/package-tree.d.ts +0 -0
  135. package/src/utilities/package-tree.js +3 -2
  136. package/src/utilities/project.d.ts +0 -0
  137. package/src/utilities/project.js +2 -1
  138. package/src/utilities/prompt.d.ts +0 -0
  139. package/src/utilities/prompt.js +1 -0
  140. package/src/utilities/spinner.d.ts +0 -0
  141. package/src/utilities/spinner.js +1 -0
  142. package/src/utilities/tty.d.ts +0 -0
  143. package/src/utilities/tty.js +1 -0
  144. package/src/utilities/version.d.ts +0 -0
  145. package/src/utilities/version.js +2 -1
package/LICENSE CHANGED
File without changes
package/README.md CHANGED
File without changes
package/bin/bootstrap.js CHANGED
File without changes
package/bin/ng.js CHANGED
File without changes
package/bin/package.json CHANGED
File without changes
File without changes
package/lib/cli/index.js CHANGED
@@ -105,3 +105,4 @@ async function default_1(options) {
105
105
  }
106
106
  }
107
107
  exports.default = default_1;
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2NsaS9saWIvY2xpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILCtDQUErQztBQUMvQywrQkFBOEI7QUFDOUIsNkVBQThFO0FBQzlFLDZFQUFzRTtBQUN0RSxxREFBZ0U7QUFDaEUsaUZBQWtFO0FBQ2xFLDJEQUFtRTtBQUVuRSx1REFBc0Q7QUFBN0Msa0dBQUEsT0FBTyxPQUFBO0FBRWhCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFVLENBQUM7QUFFN0MsK0JBQStCO0FBQ2hCLEtBQUssb0JBQVcsT0FBOEI7SUFDM0QsbUdBQW1HO0lBQ25HLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEYsSUFDRSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUMsS0FBSyxLQUFLLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsRTtRQUNBLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNsQixtQkFBbUIsT0FBTyxDQUFDLE9BQU8sY0FBYztZQUM5QywwQ0FBMEMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE9BQU87WUFDL0YsZ0dBQWdHLENBQ25HLENBQUM7UUFFRixPQUFPLENBQUMsQ0FBQztLQUNWO0lBRUQsTUFBTSxXQUFXLEdBQWdEO1FBQy9ELElBQUksRUFB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SyxDQUNWLG9DQUFvQyxHQUFHLENBQUMsT0FBTyxJQUFJO29CQUNqRCx1Q0FBdUMsQ0FBQyxFQUFFLENBQzdDLENBQUM7Z0JBQ0YsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFO29CQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN6QjthQUNGO1lBRUQsT0FBTyxHQUFHLENBQUM7U0FDWjthQUFNLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQ2xDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbkI7YUFBTSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUNsQyxlQUFlO1NBQ2hCO2FBQU07WUFDTCxNQUFNLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsT0FBTyxDQUFDLENBQUM7S0FDVjtZQUFTO1FBQ1IsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sY0FBYyxDQUFDO0tBQ3RCO0FBQ0gsQ0FBQztBQTlGRCw0QkE4RkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgbG9nZ2luZyB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHsgQ29tbWFuZE1vZHVsZUVycm9yIH0gZnJvbSAnLi4vLi4vc3JjL2NvbW1hbmQtYnVpbGRlci9jb21tYW5kLW1vZHVsZSc7XG5pbXBvcnQgeyBydW5Db21tYW5kIH0gZnJvbSAnLi4vLi4vc3JjL2NvbW1hbmQtYnVpbGRlci9jb21tYW5kLXJ1bm5lcic7XG5pbXBvcnQgeyBjb2xvcnMsIHJlbW92ZUNvbG9yIH0gZnJvbSAnLi4vLi4vc3JjL3V0aWxpdGllcy9jb2xvcic7XG5pbXBvcnQgeyBuZ0RlYnVnIH0gZnJvbSAnLi4vLi4vc3JjL3V0aWxpdGllcy9lbnZpcm9ubWVudC1vcHRpb25zJztcbmltcG9ydCB7IHdyaXRlRXJyb3JUb0xvZ0ZpbGUgfSBmcm9tICcuLi8uLi9zcmMvdXRpbGl0aWVzL2xvZy1maWxlJztcblxuZXhwb3J0IHsgVkVSU0lPTiB9IGZyb20gJy4uLy4uL3NyYy91dGlsaXRpZXMvdmVyc2lvbic7XG5cbmNvbnN0IE1JTl9OT0RFSlNfVkVSSVNPTiA9IFsxNCwgMTVdIGFzIGNvbnN0O1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiAob3B0aW9uczogeyBjbGlBcmdzOiBzdHJpbmdbXSB9KSB7XG4gIC8vIFRoaXMgbm9kZSB2ZXJzaW9uIGNoZWNrIGVuc3VyZXMgdGhhdCB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBwcm9qZWN0IGluc3RhbmNlIG9mIHRoZSBDTEkgYXJlIG1ldFxuICBjb25zdCBbbWFqb3IsIG1pbm9yXSA9IHByb2Nlc3MudmVyc2lvbnMubm9kZS5zcGxpdCgnLicpLm1hcCgocGFydCkgPT4gTnVtYmVyKHBhcnQpKTtcbiAgaWYgKFxuICAgIG1ham9yIDwgTUlOX05PREVKU19WRVJJU09OWzBdIHx8XG4gICAgKG1ham9yID09PSBNSU5fTk9ERUpTX1ZFUklTT05bMF0gJiYgbWlub3IgPCBNSU5fTk9ERUpTX1ZFUklTT05bMV0pXG4gICkge1xuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKFxuICAgICAgYE5vZGUuanMgdmVyc2lvbiAke3Byb2Nlc3MudmVyc2lvbn0gZGV0ZWN0ZWQuXFxuYCArXG4gICAgICAgIGBUaGUgQW5ndWxhciBDTEkgcmVxdWlyZXMgYSBtaW5pbXVtIG9mIHYke01JTl9OT0RFSlNfVkVSSVNPTlswXX0uJHtNSU5fTk9ERUpTX1ZFUklTT05bMV19LlxcblxcbmAgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIE5vZGUuanMgdmVyc2lvbiBvciB2aXNpdCBodHRwczovL25vZGVqcy5vcmcvIGZvciBhZGRpdGlvbmFsIGluc3RydWN0aW9ucy5cXG4nLFxuICAgICk7XG5cbiAgICByZXR1cm4gMztcbiAgfVxuXG4gIGNvbnN0IGNvbG9yTGV2ZWxzOiBSZWNvcmQ8c3RyaW5nLCAobWVzc2FnZTogc3RyaW5nKSA9PiBzdHJpbmc+ID0ge1xuICAgIGluZm86IChzKSA9PiBzLFxuICAgIGRlYnVnOiAocykgPT4gcyxcbiAgICB3YXJuOiAocykgPT4gY29sb3JzLmJvbGQueWVsbG93KHMpLFxuICAgIGVycm9yOiAocykgPT4gY29sb3JzLmJvbGQucmVkKHMpLFxuICAgIGZhdGFsOiAocykgPT4gY29sb3JzLmJvbGQucmVkKHMpLFxuICB9O1xuICBjb25zdCBsb2dnZXIgPSBuZXcgbG9nZ2luZy5JbmRlbnRMb2dnZXIoJ2NsaS1tYWluLWxvZ2dlcicpO1xuICBjb25zdCBsb2dJbmZvID0gY29uc29sZS5sb2c7XG4gIGNvbnN0IGxvZ0Vycm9yID0gY29uc29sZS5lcnJvcjtcblxuICBjb25zdCBsb2dnZXJGaW5pc2hlZCA9IGxvZ2dlci5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgIGlmICghbmdEZWJ1ZyAmJiBlbnRyeS5sZXZlbCA9PT0gJ2RlYnVnJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbG9yID0gY29sb3JzLmVuYWJsZWQgPyBjb2xvckxldmVsc1tlbnRyeS5sZXZlbF0gOiByZW1vdmVDb2xvcjtcbiAgICBjb25zdCBtZXNzYWdlID0gY29sb3IoZW50cnkubWVzc2FnZSk7XG5cbiAgICBzd2l0Y2ggKGVudHJ5LmxldmVsKSB7XG4gICAgICBjYXNlICd3YXJuJzpcbiAgICAgIGNhc2UgJ2ZhdGFsJzpcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgbG9nRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgbG9nSW5mbyhtZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9KTtcblxuICAvLyBSZWRpcmVjdCBjb25zb2xlIHRvIGxvZ2dlclxuICBjb25zb2xlLmluZm8gPSBjb25zb2xlLmxvZyA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgbG9nZ2VyLmluZm8oZm9ybWF0KC4uLmFyZ3MpKTtcbiAgfTtcbiAgY29uc29sZS53YXJuID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICBsb2dnZXIud2Fybihmb3JtYXQoLi4uYXJncykpO1xuICB9O1xuICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICBsb2dnZXIuZXJyb3IoZm9ybWF0KC4uLmFyZ3MpKTtcbiAgfTtcblxuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBydW5Db21tYW5kKG9wdGlvbnMuY2xpQXJncywgbG9nZ2VyKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIENvbW1hbmRNb2R1bGVFcnJvcikge1xuICAgICAgbG9nZ2VyLmZhdGFsKGBFcnJvcjogJHtlcnIubWVzc2FnZX1gKTtcbiAgICB9IGVsc2UgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBsb2dQYXRoID0gd3JpdGVFcnJvclRvTG9nRmlsZShlcnIpO1xuICAgICAgICBsb2dnZXIuZmF0YWwoXG4gICAgICAgICAgYEFuIHVuaGFuZGxlZCBleGNlcHRpb24gb2NjdXJyZWQ6ICR7ZXJyLm1lc3NhZ2V9XFxuYCArXG4gICAgICAgICAgICBgU2VlIFwiJHtsb2dQYXRofVwiIGZvciBmdXJ0aGVyIGRldGFpbHMuYCxcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgbG9nZ2VyLmZhdGFsKFxuICAgICAgICAgIGBBbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9jY3VycmVkOiAke2Vyci5tZXNzYWdlfVxcbmAgK1xuICAgICAgICAgICAgYEZhdGFsIGVycm9yIHdyaXRpbmcgZGVidWcgbG9nIGZpbGU6ICR7ZX1gLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZXJyLnN0YWNrKSB7XG4gICAgICAgICAgbG9nZ2VyLmZhdGFsKGVyci5zdGFjayk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDEyNztcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnIgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsb2dnZXIuZmF0YWwoZXJyKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnIgPT09ICdudW1iZXInKSB7XG4gICAgICAvLyBMb2cgbm90aGluZy5cbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmZhdGFsKGBBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkOiAke2Vycn1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gMTtcbiAgfSBmaW5hbGx5IHtcbiAgICBsb2dnZXIuY29tcGxldGUoKTtcbiAgICBhd2FpdCBsb2dnZXJGaW5pc2hlZDtcbiAgfVxufVxuIl19
@@ -761,7 +761,7 @@
761
761
  "SchematicsAngularClassSchema": {
762
762
  "title": "Angular Class Options Schema",
763
763
  "type": "object",
764
- "description": "Creates a new, generic class definition in the given or default project.",
764
+ "description": "Creates a new, generic class definition in the given project.",
765
765
  "additionalProperties": false,
766
766
  "properties": {
767
767
  "name": {
@@ -802,7 +802,7 @@
802
802
  "SchematicsAngularComponentSchema": {
803
803
  "title": "Angular Component Options Schema",
804
804
  "type": "object",
805
- "description": "Creates a new, generic component definition in the given or default project.",
805
+ "description": "Creates a new, generic component definition in the given project.",
806
806
  "additionalProperties": false,
807
807
  "properties": {
808
808
  "path": {
@@ -943,7 +943,7 @@
943
943
  "SchematicsAngularDirectiveSchema": {
944
944
  "title": "Angular Directive Options Schema",
945
945
  "type": "object",
946
- "description": "Creates a new, generic directive definition in the given or default project.",
946
+ "description": "Creates a new, generic directive definition in the given project.",
947
947
  "additionalProperties": false,
948
948
  "properties": {
949
949
  "name": {
@@ -1024,7 +1024,7 @@
1024
1024
  "SchematicsAngularEnumSchema": {
1025
1025
  "title": "Angular Enum Options Schema",
1026
1026
  "type": "object",
1027
- "description": "Generates a new, generic enum definition for the given or default project.",
1027
+ "description": "Generates a new, generic enum definition in the given project.",
1028
1028
  "additionalProperties": false,
1029
1029
  "properties": {
1030
1030
  "name": {
@@ -1060,7 +1060,7 @@
1060
1060
  "SchematicsAngularGuardSchema": {
1061
1061
  "title": "Angular Guard Options Schema",
1062
1062
  "type": "object",
1063
- "description": "Generates a new, generic route guard definition in the given or default project.",
1063
+ "description": "Generates a new, generic route guard definition in the given project.",
1064
1064
  "additionalProperties": false,
1065
1065
  "properties": {
1066
1066
  "name": {
@@ -1128,7 +1128,7 @@
1128
1128
  "title": "Angular Interceptor Options Schema",
1129
1129
  "type": "object",
1130
1130
  "additionalProperties": false,
1131
- "description": "Creates a new, generic interceptor definition in the given or default project.",
1131
+ "description": "Creates a new, generic interceptor definition in the given project.",
1132
1132
  "properties": {
1133
1133
  "name": {
1134
1134
  "type": "string",
@@ -1175,7 +1175,7 @@
1175
1175
  "title": "Angular Interface Options Schema",
1176
1176
  "type": "object",
1177
1177
  "additionalProperties": false,
1178
- "description": "Creates a new, generic interface definition in the given or default project.",
1178
+ "description": "Creates a new, generic interface definition in the given project.",
1179
1179
  "properties": {
1180
1180
  "name": {
1181
1181
  "type": "string",
@@ -1268,7 +1268,7 @@
1268
1268
  "title": "Angular Pipe Options Schema",
1269
1269
  "type": "object",
1270
1270
  "additionalProperties": false,
1271
- "description": "Creates a new, generic pipe definition in the given or default project.",
1271
+ "description": "Creates a new, generic pipe definition in the given project.",
1272
1272
  "properties": {
1273
1273
  "name": {
1274
1274
  "type": "string",
@@ -1476,7 +1476,7 @@
1476
1476
  "title": "Angular resolver Options Schema",
1477
1477
  "type": "object",
1478
1478
  "additionalProperties": false,
1479
- "description": "Generates a new, generic resolver definition in the given or default project.",
1479
+ "description": "Generates a new, generic resolver definition in the given project.",
1480
1480
  "properties": {
1481
1481
  "name": {
1482
1482
  "type": "string",
@@ -1523,7 +1523,7 @@
1523
1523
  "title": "Angular Service Options Schema",
1524
1524
  "type": "object",
1525
1525
  "additionalProperties": false,
1526
- "description": "Creates a new, generic service definition in the given or default project.",
1526
+ "description": "Creates a new, generic service definition in the given project.",
1527
1527
  "properties": {
1528
1528
  "name": {
1529
1529
  "type": "string",
@@ -1564,7 +1564,7 @@
1564
1564
  "title": "Angular Web Worker Options Schema",
1565
1565
  "type": "object",
1566
1566
  "additionalProperties": false,
1567
- "description": "Creates a new, generic web worker definition in the given or default project.",
1567
+ "description": "Creates a new, generic web worker definition in the given project.",
1568
1568
  "properties": {
1569
1569
  "path": {
1570
1570
  "type": "string",
@@ -3045,7 +3045,15 @@
3045
3045
  "default": [
3046
3046
  "**/*.spec.ts"
3047
3047
  ],
3048
- "description": "Globs of files to include, relative to workspace or project root. \nThere are 2 special cases:\n - when a path to directory is provided, all spec files ending \".spec.@(ts|tsx)\" will be included\n - when a path to a file is provided, and a matching spec file exists it will be included instead."
3048
+ "description": "Globs of files to include, relative to project root. \nThere are 2 special cases:\n - when a path to directory is provided, all spec files ending \".spec.@(ts|tsx)\" will be included\n - when a path to a file is provided, and a matching spec file exists it will be included instead."
3049
+ },
3050
+ "exclude": {
3051
+ "type": "array",
3052
+ "items": {
3053
+ "type": "string"
3054
+ },
3055
+ "default": [],
3056
+ "description": "Globs of files to exclude, relative to the project root."
3049
3057
  },
3050
3058
  "sourceMap": {
3051
3059
  "description": "Output source maps for scripts and styles. For more information, see https://angular.io/guide/workspace-config#source-map-configuration.",
@@ -43,7 +43,7 @@ export interface CliOptions {
43
43
  /**
44
44
  * Share pseudonymous usage data with the Angular Team at Google.
45
45
  */
46
- export declare type Analytics = boolean | string;
46
+ export type Analytics = boolean | string;
47
47
  /**
48
48
  * Control disk cache.
49
49
  */
@@ -190,7 +190,7 @@ export declare enum ViewEncapsulation {
190
190
  ShadowDom = "ShadowDom"
191
191
  }
192
192
  /**
193
- * Creates a new, generic class definition in the given or default project.
193
+ * Creates a new, generic class definition in the given project.
194
194
  */
195
195
  export interface AngularClassOptionsSchema {
196
196
  /**
@@ -215,7 +215,7 @@ export interface AngularClassOptionsSchema {
215
215
  type?: string;
216
216
  }
217
217
  /**
218
- * Creates a new, generic component definition in the given or default project.
218
+ * Creates a new, generic component definition in the given project.
219
219
  */
220
220
  export interface AngularComponentOptionsSchema {
221
221
  /**
@@ -318,7 +318,7 @@ export declare enum SchematicsAngularComponentStyle {
318
318
  Scss = "scss"
319
319
  }
320
320
  /**
321
- * Creates a new, generic directive definition in the given or default project.
321
+ * Creates a new, generic directive definition in the given project.
322
322
  */
323
323
  export interface AngularDirectiveOptionsSchema {
324
324
  /**
@@ -368,7 +368,7 @@ export interface AngularDirectiveOptionsSchema {
368
368
  standalone?: boolean;
369
369
  }
370
370
  /**
371
- * Generates a new, generic enum definition for the given or default project.
371
+ * Generates a new, generic enum definition in the given project.
372
372
  */
373
373
  export interface AngularEnumOptionsSchema {
374
374
  /**
@@ -390,7 +390,7 @@ export interface AngularEnumOptionsSchema {
390
390
  type?: string;
391
391
  }
392
392
  /**
393
- * Generates a new, generic route guard definition in the given or default project.
393
+ * Generates a new, generic route guard definition in the given project.
394
394
  */
395
395
  export interface AngularGuardOptionsSchema {
396
396
  /**
@@ -431,7 +431,7 @@ export declare enum Implement {
431
431
  CanMatch = "CanMatch"
432
432
  }
433
433
  /**
434
- * Creates a new, generic interceptor definition in the given or default project.
434
+ * Creates a new, generic interceptor definition in the given project.
435
435
  */
436
436
  export interface AngularInterceptorOptionsSchema {
437
437
  /**
@@ -460,7 +460,7 @@ export interface AngularInterceptorOptionsSchema {
460
460
  skipTests?: boolean;
461
461
  }
462
462
  /**
463
- * Creates a new, generic interface definition in the given or default project.
463
+ * Creates a new, generic interface definition in the given project.
464
464
  */
465
465
  export interface AngularInterfaceOptionsSchema {
466
466
  /**
@@ -608,14 +608,14 @@ export interface AngularNgNewOptionsSchema {
608
608
  /**
609
609
  * Initial git repository commit information.
610
610
  */
611
- export declare type CommitUnion = boolean | CommitObject;
611
+ export type CommitUnion = boolean | CommitObject;
612
612
  export interface CommitObject {
613
613
  email: string;
614
614
  message?: string;
615
615
  name: string;
616
616
  }
617
617
  /**
618
- * Creates a new, generic pipe definition in the given or default project.
618
+ * Creates a new, generic pipe definition in the given project.
619
619
  */
620
620
  export interface AngularPipeOptionsSchema {
621
621
  /**
@@ -656,7 +656,7 @@ export interface AngularPipeOptionsSchema {
656
656
  standalone?: boolean;
657
657
  }
658
658
  /**
659
- * Generates a new, generic resolver definition in the given or default project.
659
+ * Generates a new, generic resolver definition in the given project.
660
660
  */
661
661
  export interface AngularResolverOptionsSchema {
662
662
  /**
@@ -686,7 +686,7 @@ export interface AngularResolverOptionsSchema {
686
686
  skipTests?: boolean;
687
687
  }
688
688
  /**
689
- * Creates a new, generic service definition in the given or default project.
689
+ * Creates a new, generic service definition in the given project.
690
690
  */
691
691
  export interface AngularServiceOptionsSchema {
692
692
  /**
@@ -711,7 +711,7 @@ export interface AngularServiceOptionsSchema {
711
711
  skipTests?: boolean;
712
712
  }
713
713
  /**
714
- * Creates a new, generic web worker definition in the given or default project.
714
+ * Creates a new, generic web worker definition in the given project.
715
715
  */
716
716
  export interface AngularWebWorkerOptionsSchema {
717
717
  /**
@@ -75,3 +75,4 @@ var Implement;
75
75
  Implement["CanLoad"] = "CanLoad";
76
76
  Implement["CanMatch"] = "CanMatch";
77
77
  })(Implement = exports.Implement || (exports.Implement = {}));
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvY2xpL2xpYi9jb25maWcvd29ya3NwYWNlLXNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsbUZBQW1GO0FBQ25GLG9GQUFvRjs7O0FBcUVwRjs7R0FFRztBQUNILElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNuQiwwQkFBVyxDQUFBO0lBQ1gsd0JBQVMsQ0FBQTtJQUNULDhCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBSXRCO0FBRUQ7Ozs7R0FJRztBQUNILElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN0QiwrQkFBYSxDQUFBO0lBQ2IsNkJBQVcsQ0FBQTtJQUNYLCtCQUFhLENBQUE7SUFDYiwrQkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUt6QjtBQThGRDs7R0FFRztBQUNILElBQVksaUNBS1g7QUFMRCxXQUFZLGlDQUFpQztJQUN6QyxnREFBVyxDQUFBO0lBQ1gsa0RBQWEsQ0FBQTtJQUNiLGtEQUFhLENBQUE7SUFDYixrREFBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxpQ0FBaUMsR0FBakMseUNBQWlDLEtBQWpDLHlDQUFpQyxRQUs1QztBQUVEOzs7Ozs7R0FNRztBQUNILElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUN6QiwwQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBYSxDQUFBO0lBQ2IsNENBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLGlCQUFpQixHQUFqQix5QkFBaUIsS0FBakIseUJBQWlCLFFBSTVCO0FBa0hEOztHQUVHO0FBQ0gsSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3ZCLHNDQUFtQixDQUFBO0lBQ25CLG9DQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxlQUFlLEdBQWYsdUJBQWUsS0FBZix1QkFBZSxRQUcxQjtBQUVEOzs7R0FHRztBQUNILElBQVksK0JBTVg7QUFORCxXQUFZLCtCQUErQjtJQUN2Qyw4Q0FBVyxDQUFBO0lBQ1gsZ0RBQWEsQ0FBQTtJQUNiLGdEQUFhLENBQUE7SUFDYixnREFBYSxDQUFBO0lBQ2IsZ0RBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTlcsK0JBQStCLEdBQS9CLHVDQUErQixLQUEvQix1Q0FBK0IsUUFNMUM7QUErR0QsSUFBWSxTQU1YO0FBTkQsV0FBWSxTQUFTO0lBQ2pCLHdDQUEyQixDQUFBO0lBQzNCLGtEQUFxQyxDQUFBO0lBQ3JDLDRDQUErQixDQUFBO0lBQy9CLGdDQUFtQixDQUFBO0lBQ25CLGtDQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFOVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQU1wQiIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gVEhJUyBGSUxFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELiBUTyBVUERBVEUgVEhJUyBGSUxFIFlPVSBORUVEIFRPIENIQU5HRSBUSEVcbi8vIENPUlJFU1BPTkRJTkcgSlNPTiBTQ0hFTUEgRklMRSwgVEhFTiBSVU4gZGV2a2l0LWFkbWluIGJ1aWxkIChvciBiYXplbCBidWlsZCAuLi4pLlxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgJHNjaGVtYT86IHN0cmluZztcbiAgICBjbGk/OiAgICAgQ2xpT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHByb2plY3QgbmFtZSB1c2VkIGluIGNvbW1hbmRzLlxuICAgICAqIEBkZXByZWNhdGVkIFRoZSBwcm9qZWN0IHRvIHVzZSB3aWxsIGJlIGRldGVybWluZWQgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKi9cbiAgICBkZWZhdWx0UHJvamVjdD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBQYXRoIHdoZXJlIG5ldyBwcm9qZWN0cyB3aWxsIGJlIGNyZWF0ZWQuXG4gICAgICovXG4gICAgbmV3UHJvamVjdFJvb3Q/OiBzdHJpbmc7XG4gICAgcHJvamVjdHM/OiAgICAgICBQcm9qZWN0cztcbiAgICBzY2hlbWF0aWNzPzogICAgIFNjaGVtYXRpY09wdGlvbnM7XG4gICAgdmVyc2lvbjogICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICogU2hhcmUgcHNldWRvbnltb3VzIHVzYWdlIGRhdGEgd2l0aCB0aGUgQW5ndWxhciBUZWFtIGF0IEdvb2dsZS5cbiAgICAgKi9cbiAgICBhbmFseXRpY3M/OiBBbmFseXRpY3M7XG4gICAgLyoqXG4gICAgICogQ29udHJvbCBkaXNrIGNhY2hlLlxuICAgICAqL1xuICAgIGNhY2hlPzogQ2FjaGU7XG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgc2NoZW1hdGljcyBjb2xsZWN0aW9uIHRvIHVzZS5cbiAgICAgKi9cbiAgICBkZWZhdWx0Q29sbGVjdGlvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHdoaWNoIHBhY2thZ2UgbWFuYWdlciB0b29sIHRvIHVzZS5cbiAgICAgKi9cbiAgICBwYWNrYWdlTWFuYWdlcj86IFBhY2thZ2VNYW5hZ2VyO1xuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIHNjaGVtYXRpYyBjb2xsZWN0aW9ucyB0byB1c2UuXG4gICAgICovXG4gICAgc2NoZW1hdGljQ29sbGVjdGlvbnM/OiBzdHJpbmdbXTtcbiAgICAvKipcbiAgICAgKiBDb250cm9sIENMSSBzcGVjaWZpYyBjb25zb2xlIHdhcm5pbmdzXG4gICAgICovXG4gICAgd2FybmluZ3M/OiBXYXJuaW5ncztcbn1cblxuLyoqXG4gKiBTaGFyZSBwc2V1ZG9ueW1vdXMgdXNhZ2UgZGF0YSB3aXRoIHRoZSBBbmd1bGFyIFRlYW0gYXQgR29vZ2xlLlxuICovXG5leHBvcnQgdHlwZSBBbmFseXRpY3MgPSBib29sZWFuIHwgc3RyaW5nO1xuXG4vKipcbiAqIENvbnRyb2wgZGlzayBjYWNoZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYWNoZSB7XG4gICAgLyoqXG4gICAgICogQ29uZmlndXJlIHdoZXRoZXIgZGlzayBjYWNoaW5nIGlzIGVuYWJsZWQuXG4gICAgICovXG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ29uZmlndXJlIGluIHdoaWNoIGVudmlyb25tZW50IGRpc2sgY2FjaGUgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBlbnZpcm9ubWVudD86IEVudmlyb25tZW50O1xuICAgIC8qKlxuICAgICAqIENhY2hlIGJhc2UgcGF0aC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyZSBpbiB3aGljaCBlbnZpcm9ubWVudCBkaXNrIGNhY2hlIGlzIGVuYWJsZWQuXG4gKi9cbmV4cG9ydCBlbnVtIEVudmlyb25tZW50IHtcbiAgICBBbGwgPSBcImFsbFwiLFxuICAgIENpID0gXCJjaVwiLFxuICAgIExvY2FsID0gXCJsb2NhbFwiLFxufVxuXG4vKipcbiAqIFNwZWNpZnkgd2hpY2ggcGFja2FnZSBtYW5hZ2VyIHRvb2wgdG8gdXNlLlxuICpcbiAqIFRoZSBwYWNrYWdlIG1hbmFnZXIgdXNlZCB0byBpbnN0YWxsIGRlcGVuZGVuY2llcy5cbiAqL1xuZXhwb3J0IGVudW0gUGFja2FnZU1hbmFnZXIge1xuICAgIENucG0gPSBcImNucG1cIixcbiAgICBOcG0gPSBcIm5wbVwiLFxuICAgIFBucG0gPSBcInBucG1cIixcbiAgICBZYXJuID0gXCJ5YXJuXCIsXG59XG5cbi8qKlxuICogQ29udHJvbCBDTEkgc3BlY2lmaWMgY29uc29sZSB3YXJuaW5nc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhcm5pbmdzIHtcbiAgICAvKipcbiAgICAgKiBTaG93IGEgd2FybmluZyB3aGVuIHRoZSBnbG9iYWwgdmVyc2lvbiBpcyBuZXdlciB0aGFuIHRoZSBsb2NhbCBvbmUuXG4gICAgICovXG4gICAgdmVyc2lvbk1pc21hdGNoPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0cyB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hdGljT3B0aW9ucyB7XG4gICAgXCJAc2NoZW1hdGljcy9hbmd1bGFyOmFwcGxpY2F0aW9uXCI/OiBBbmd1bGFyQXBwbGljYXRpb25PcHRpb25zU2NoZW1hO1xuICAgIFwiQHNjaGVtYXRpY3MvYW5ndWxhcjpjbGFzc1wiPzogICAgICAgQW5ndWxhckNsYXNzT3B0aW9uc1NjaGVtYTtcbiAgICBcIkBzY2hlbWF0aWNzL2FuZ3VsYXI6Y29tcG9uZW50XCI/OiAgIEFuZ3VsYXJDb21wb25lbnRPcHRpb25zU2NoZW1hO1xuICAgIFwiQHNjaGVtYXRpY3MvYW5ndWxhcjpkaXJlY3RpdmVcIj86ICAgQW5ndWxhckRpcmVjdGl2ZU9wdGlvbnNTY2hlbWE7XG4gICAgXCJAc2NoZW1hdGljcy9hbmd1bGFyOmVudW1cIj86ICAgICAgICBBbmd1bGFyRW51bU9wdGlvbnNTY2hlbWE7XG4gICAgXCJAc2NoZW1hdGljcy9hbmd1bGFyOmd1YXJkXCI/OiAgICAgICBBbmd1bGFyR3VhcmRPcHRpb25zU2NoZW1hO1xuICAgIFwiQHNjaGVtYXRpY3MvYW5ndWxhcjppbnRlcmNlcHRvclwiPzogQW5ndWxhckludGVyY2VwdG9yT3B0aW9uc1NjaGVtYTtcbiAgICBcIkBzY2hlbWF0aWNzL2FuZ3VsYXI6aW50ZXJmYWNlXCI/OiAgIEFuZ3VsYXJJbnRlcmZhY2VPcHRpb25zU2NoZW1hO1xuICAgIFwiQHNjaGVtYXRpY3MvYW5ndWxhcjpsaWJyYXJ5XCI/OiAgICAgTGlicmFyeU9wdGlvbnNTY2hlbWE7XG4gICAgXCJAc2NoZW1hdGljcy9hbmd1bGFyOm5nLW5ld1wiPzogICAgICBBbmd1bGFyTmdOZXdPcHRpb25zU2NoZW1hO1xuICAgIFwiQHNjaGVtYXRpY3MvYW5ndWxhcjpwaXBlXCI/OiAgICAgICAgQW5ndWxhclBpcGVPcHRpb25zU2NoZW1hO1xuICAgIFwiQHNjaGVtYXRpY3MvYW5ndWxhcjpyZXNvbHZlclwiPzogICAgQW5ndWxhclJlc29sdmVyT3B0aW9uc1NjaGVtYTtcbiAgICBcIkBzY2hlbWF0aWNzL2FuZ3VsYXI6c2VydmljZVwiPzogICAgIEFuZ3VsYXJTZXJ2aWNlT3B0aW9uc1NjaGVtYTtcbiAgICBcIkBzY2hlbWF0aWNzL2FuZ3VsYXI6d2ViLXdvcmtlclwiPzogIEFuZ3VsYXJXZWJXb3JrZXJPcHRpb25zU2NoZW1hO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG5ldyBiYXNpYyBhcHBsaWNhdGlvbiBkZWZpbml0aW9uIGluIHRoZSBcInByb2plY3RzXCIgc3ViZm9sZGVyIG9mIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckFwcGxpY2F0aW9uT3B0aW9uc1NjaGVtYSB7XG4gICAgLyoqXG4gICAgICogSW5jbHVkZSBzdHlsZXMgaW5saW5lIGluIHRoZSByb290IGNvbXBvbmVudC50cyBmaWxlLiBPbmx5IENTUyBzdHlsZXMgY2FuIGJlIGluY2x1ZGVkXG4gICAgICogaW5saW5lLiBEZWZhdWx0IGlzIGZhbHNlLCBtZWFuaW5nIHRoYXQgYW4gZXh0ZXJuYWwgc3R5bGVzIGZpbGUgaXMgY3JlYXRlZCBhbmQgcmVmZXJlbmNlZFxuICAgICAqIGluIHRoZSByb290IGNvbXBvbmVudC50cyBmaWxlLlxuICAgICAqL1xuICAgIGlubGluZVN0eWxlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJbmNsdWRlIHRlbXBsYXRlIGlubGluZSBpbiB0aGUgcm9vdCBjb21wb25lbnQudHMgZmlsZS4gRGVmYXVsdCBpcyBmYWxzZSwgbWVhbmluZyB0aGF0IGFuXG4gICAgICogZXh0ZXJuYWwgdGVtcGxhdGUgZmlsZSBpcyBjcmVhdGVkIGFuZCByZWZlcmVuY2VkIGluIHRoZSByb290IGNvbXBvbmVudC50cyBmaWxlLlxuICAgICAqL1xuICAgIGlubGluZVRlbXBsYXRlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBiYXJlLWJvbmVzIHByb2plY3Qgd2l0aG91dCBhbnkgdGVzdGluZyBmcmFtZXdvcmtzLiAoVXNlIGZvciBsZWFybmluZyBwdXJwb3Nlc1xuICAgICAqIG9ubHkuKVxuICAgICAqL1xuICAgIG1pbmltYWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBuZXcgYXBwbGljYXRpb24uXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEEgcHJlZml4IHRvIGFwcGx5IHRvIGdlbmVyYXRlZCBzZWxlY3RvcnMuXG4gICAgICovXG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgbmV3IGFwcGxpY2F0aW9uLlxuICAgICAqL1xuICAgIHByb2plY3RSb290Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIHJvdXRpbmcgTmdNb2R1bGUuXG4gICAgICovXG4gICAgcm91dGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogU2tpcCBpbnN0YWxsaW5nIGRlcGVuZGVuY3kgcGFja2FnZXMuXG4gICAgICovXG4gICAgc2tpcEluc3RhbGw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBhZGQgZGVwZW5kZW5jaWVzIHRvIHRoZSBcInBhY2thZ2UuanNvblwiIGZpbGUuXG4gICAgICovXG4gICAgc2tpcFBhY2thZ2VKc29uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBEbyBub3QgY3JlYXRlIFwic3BlYy50c1wiIHRlc3QgZmlsZXMgZm9yIHRoZSBhcHBsaWNhdGlvbi5cbiAgICAgKi9cbiAgICBza2lwVGVzdHM/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXBwbGljYXRpb24gd2l0aCBzdHJpY3RlciBidW5kbGUgYnVkZ2V0cyBzZXR0aW5ncy5cbiAgICAgKi9cbiAgICBzdHJpY3Q/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBmaWxlIGV4dGVuc2lvbiBvciBwcmVwcm9jZXNzb3IgdG8gdXNlIGZvciBzdHlsZSBmaWxlcy5cbiAgICAgKi9cbiAgICBzdHlsZT86IFNjaGVtYXRpY3NBbmd1bGFyQXBwbGljYXRpb25TdHlsZTtcbiAgICAvKipcbiAgICAgKiBUaGUgdmlldyBlbmNhcHN1bGF0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgbmV3IGFwcGxpY2F0aW9uLlxuICAgICAqL1xuICAgIHZpZXdFbmNhcHN1bGF0aW9uPzogVmlld0VuY2Fwc3VsYXRpb247XG59XG5cbi8qKlxuICogVGhlIGZpbGUgZXh0ZW5zaW9uIG9yIHByZXByb2Nlc3NvciB0byB1c2UgZm9yIHN0eWxlIGZpbGVzLlxuICovXG5leHBvcnQgZW51bSBTY2hlbWF0aWNzQW5ndWxhckFwcGxpY2F0aW9uU3R5bGUge1xuICAgIENzcyA9IFwiY3NzXCIsXG4gICAgTGVzcyA9IFwibGVzc1wiLFxuICAgIFNhc3MgPSBcInNhc3NcIixcbiAgICBTY3NzID0gXCJzY3NzXCIsXG59XG5cbi8qKlxuICogVGhlIHZpZXcgZW5jYXBzdWxhdGlvbiBzdHJhdGVneSB0byB1c2UgaW4gdGhlIG5ldyBhcHBsaWNhdGlvbi5cbiAqXG4gKiBUaGUgdmlldyBlbmNhcHN1bGF0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgbmV3IGNvbXBvbmVudC5cbiAqXG4gKiBUaGUgdmlldyBlbmNhcHN1bGF0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgaW5pdGlhbCBwcm9qZWN0LlxuICovXG5leHBvcnQgZW51bSBWaWV3RW5jYXBzdWxhdGlvbiB7XG4gICAgRW11bGF0ZWQgPSBcIkVtdWxhdGVkXCIsXG4gICAgTm9uZSA9IFwiTm9uZVwiLFxuICAgIFNoYWRvd0RvbSA9IFwiU2hhZG93RG9tXCIsXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldywgZ2VuZXJpYyBjbGFzcyBkZWZpbml0aW9uIGluIHRoZSBnaXZlbiBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJDbGFzc09wdGlvbnNTY2hlbWEge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBuZXcgY2xhc3MuXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBwYXRoIGF0IHdoaWNoIHRvIGNyZWF0ZSB0aGUgY2xhc3MsIHJlbGF0aXZlIHRvIHRoZSB3b3Jrc3BhY2Ugcm9vdC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEbyBub3QgY3JlYXRlIFwic3BlYy50c1wiIHRlc3QgZmlsZXMgZm9yIHRoZSBuZXcgY2xhc3MuXG4gICAgICovXG4gICAgc2tpcFRlc3RzPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBZGRzIGEgZGV2ZWxvcGVyLWRlZmluZWQgdHlwZSB0byB0aGUgZmlsZW5hbWUsIGluIHRoZSBmb3JtYXQgXCJuYW1lLnR5cGUudHNcIi5cbiAgICAgKi9cbiAgICB0eXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcsIGdlbmVyaWMgY29tcG9uZW50IGRlZmluaXRpb24gaW4gdGhlIGdpdmVuIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckNvbXBvbmVudE9wdGlvbnNTY2hlbWEge1xuICAgIC8qKlxuICAgICAqIFRoZSBjaGFuZ2UgZGV0ZWN0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgbmV3IGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBjaGFuZ2VEZXRlY3Rpb24/OiBDaGFuZ2VEZXRlY3Rpb247XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIGlmIHRoZSBzdHlsZSB3aWxsIGNvbnRhaW4gYDpob3N0IHsgZGlzcGxheTogYmxvY2s7IH1gLlxuICAgICAqL1xuICAgIGRpc3BsYXlCbG9jaz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIGRlY2xhcmluZyBOZ01vZHVsZSBleHBvcnRzIHRoaXMgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGV4cG9ydD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIHRoZSBuZXcgZmlsZXMgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgY3VycmVudCBwcm9qZWN0LlxuICAgICAqL1xuICAgIGZsYXQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEluY2x1ZGUgc3R5bGVzIGlubGluZSBpbiB0aGUgY29tcG9uZW50LnRzIGZpbGUuIE9ubHkgQ1NTIHN0eWxlcyBjYW4gYmUgaW5jbHVkZWQgaW5saW5lLlxuICAgICAqIEJ5IGRlZmF1bHQsIGFuIGV4dGVybmFsIHN0eWxlcyBmaWxlIGlzIGNyZWF0ZWQgYW5kIHJlZmVyZW5jZWQgaW4gdGhlIGNvbXBvbmVudC50cyBmaWxlLlxuICAgICAqL1xuICAgIGlubGluZVN0eWxlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJbmNsdWRlIHRlbXBsYXRlIGlubGluZSBpbiB0aGUgY29tcG9uZW50LnRzIGZpbGUuIEJ5IGRlZmF1bHQsIGFuIGV4dGVybmFsIHRlbXBsYXRlIGZpbGVcbiAgICAgKiBpcyBjcmVhdGVkIGFuZCByZWZlcmVuY2VkIGluIHRoZSBjb21wb25lbnQudHMgZmlsZS5cbiAgICAgKi9cbiAgICBpbmxpbmVUZW1wbGF0ZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIGRlY2xhcmluZyBOZ01vZHVsZS5cbiAgICAgKi9cbiAgICBtb2R1bGU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBjb21wb25lbnQgZmlsZSwgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuICAgICAqIERlZmF1bHQgaXMgYSBmb2xkZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSBjb21wb25lbnQgaW4gdGhlIHByb2plY3Qgcm9vdC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmaXggdG8gYXBwbHkgdG8gdGhlIGdlbmVyYXRlZCBjb21wb25lbnQgc2VsZWN0b3IuXG4gICAgICovXG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgSFRNTCBzZWxlY3RvciB0byB1c2UgZm9yIHRoaXMgY29tcG9uZW50LlxuICAgICAqL1xuICAgIHNlbGVjdG9yPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBpbXBvcnQgdGhpcyBjb21wb25lbnQgaW50byB0aGUgb3duaW5nIE5nTW9kdWxlLlxuICAgICAqL1xuICAgIHNraXBJbXBvcnQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyBpZiB0aGUgY29tcG9uZW50IHNob3VsZCBoYXZlIGEgc2VsZWN0b3Igb3Igbm90LlxuICAgICAqL1xuICAgIHNraXBTZWxlY3Rvcj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRG8gbm90IGNyZWF0ZSBcInNwZWMudHNcIiB0ZXN0IGZpbGVzIGZvciB0aGUgbmV3IGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBza2lwVGVzdHM/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGdlbmVyYXRlZCBjb21wb25lbnQgaXMgc3RhbmRhbG9uZS5cbiAgICAgKi9cbiAgICBzdGFuZGFsb25lPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgZmlsZSBleHRlbnNpb24gb3IgcHJlcHJvY2Vzc29yIHRvIHVzZSBmb3Igc3R5bGUgZmlsZXMsIG9yICdub25lJyB0byBza2lwIGdlbmVyYXRpbmdcbiAgICAgKiB0aGUgc3R5bGUgZmlsZS5cbiAgICAgKi9cbiAgICBzdHlsZT86IFNjaGVtYXRpY3NBbmd1bGFyQ29tcG9uZW50U3R5bGU7XG4gICAgLyoqXG4gICAgICogQWRkcyBhIGRldmVsb3Blci1kZWZpbmVkIHR5cGUgdG8gdGhlIGZpbGVuYW1lLCBpbiB0aGUgZm9ybWF0IFwibmFtZS50eXBlLnRzXCIuXG4gICAgICovXG4gICAgdHlwZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgdmlldyBlbmNhcHN1bGF0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgbmV3IGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICB2aWV3RW5jYXBzdWxhdGlvbj86IFZpZXdFbmNhcHN1bGF0aW9uO1xufVxuXG4vKipcbiAqIFRoZSBjaGFuZ2UgZGV0ZWN0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgbmV3IGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGVudW0gQ2hhbmdlRGV0ZWN0aW9uIHtcbiAgICBEZWZhdWx0ID0gXCJEZWZhdWx0XCIsXG4gICAgT25QdXNoID0gXCJPblB1c2hcIixcbn1cblxuLyoqXG4gKiBUaGUgZmlsZSBleHRlbnNpb24gb3IgcHJlcHJvY2Vzc29yIHRvIHVzZSBmb3Igc3R5bGUgZmlsZXMsIG9yICdub25lJyB0byBza2lwIGdlbmVyYXRpbmdcbiAqIHRoZSBzdHlsZSBmaWxlLlxuICovXG5leHBvcnQgZW51bSBTY2hlbWF0aWNzQW5ndWxhckNvbXBvbmVudFN0eWxlIHtcbiAgICBDc3MgPSBcImNzc1wiLFxuICAgIExlc3MgPSBcImxlc3NcIixcbiAgICBOb25lID0gXCJub25lXCIsXG4gICAgU2FzcyA9IFwic2Fzc1wiLFxuICAgIFNjc3MgPSBcInNjc3NcIixcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3LCBnZW5lcmljIGRpcmVjdGl2ZSBkZWZpbml0aW9uIGluIHRoZSBnaXZlbiBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJEaXJlY3RpdmVPcHRpb25zU2NoZW1hIHtcbiAgICAvKipcbiAgICAgKiBUaGUgZGVjbGFyaW5nIE5nTW9kdWxlIGV4cG9ydHMgdGhpcyBkaXJlY3RpdmUuXG4gICAgICovXG4gICAgZXhwb3J0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUgKHRoZSBkZWZhdWx0KSwgY3JlYXRlcyB0aGUgbmV3IGZpbGVzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIGN1cnJlbnQgcHJvamVjdC5cbiAgICAgKi9cbiAgICBmbGF0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgZGVjbGFyaW5nIE5nTW9kdWxlLlxuICAgICAqL1xuICAgIG1vZHVsZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgbmV3IGRpcmVjdGl2ZS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBpbnRlcmZhY2UgdGhhdCBkZWZpbmVzIHRoZSBkaXJlY3RpdmUsIHJlbGF0aXZlIHRvIHRoZVxuICAgICAqIHdvcmtzcGFjZSByb290LlxuICAgICAqL1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQSBwcmVmaXggdG8gYXBwbHkgdG8gZ2VuZXJhdGVkIHNlbGVjdG9ycy5cbiAgICAgKi9cbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHByb2plY3QuXG4gICAgICovXG4gICAgcHJvamVjdDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBIVE1MIHNlbGVjdG9yIHRvIHVzZSBmb3IgdGhpcyBkaXJlY3RpdmUuXG4gICAgICovXG4gICAgc2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRG8gbm90IGltcG9ydCB0aGlzIGRpcmVjdGl2ZSBpbnRvIHRoZSBvd25pbmcgTmdNb2R1bGUuXG4gICAgICovXG4gICAgc2tpcEltcG9ydD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRG8gbm90IGNyZWF0ZSBcInNwZWMudHNcIiB0ZXN0IGZpbGVzIGZvciB0aGUgbmV3IGNsYXNzLlxuICAgICAqL1xuICAgIHNraXBUZXN0cz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZ2VuZXJhdGVkIGRpcmVjdGl2ZSBpcyBzdGFuZGFsb25lLlxuICAgICAqL1xuICAgIHN0YW5kYWxvbmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG5ldywgZ2VuZXJpYyBlbnVtIGRlZmluaXRpb24gaW4gdGhlIGdpdmVuIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckVudW1PcHRpb25zU2NoZW1hIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgZW51bS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBlbnVtIGRlZmluaXRpb24sIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtzcGFjZS5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0IGluIHdoaWNoIHRvIGNyZWF0ZSB0aGUgZW51bS4gRGVmYXVsdCBpcyB0aGUgY29uZmlndXJlZCBkZWZhdWx0XG4gICAgICogcHJvamVjdCBmb3IgdGhlIHdvcmtzcGFjZS5cbiAgICAgKi9cbiAgICBwcm9qZWN0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQWRkcyBhIGRldmVsb3Blci1kZWZpbmVkIHR5cGUgdG8gdGhlIGZpbGVuYW1lLCBpbiB0aGUgZm9ybWF0IFwibmFtZS50eXBlLnRzXCIuXG4gICAgICovXG4gICAgdHlwZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBuZXcsIGdlbmVyaWMgcm91dGUgZ3VhcmQgZGVmaW5pdGlvbiBpbiB0aGUgZ2l2ZW4gcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbmd1bGFyR3VhcmRPcHRpb25zU2NoZW1hIHtcbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUgKHRoZSBkZWZhdWx0KSwgY3JlYXRlcyB0aGUgbmV3IGZpbGVzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIGN1cnJlbnQgcHJvamVjdC5cbiAgICAgKi9cbiAgICBmbGF0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBnZW5lcmF0ZSBhIGd1YXJkIGFzIGEgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb25hbD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHdoaWNoIHR5cGUgb2YgZ3VhcmQgdG8gY3JlYXRlLlxuICAgICAqL1xuICAgIGltcGxlbWVudHM/OiBJbXBsZW1lbnRbXTtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgbmV3IHJvdXRlIGd1YXJkLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCBhdCB3aGljaCB0byBjcmVhdGUgdGhlIGludGVyZmFjZSB0aGF0IGRlZmluZXMgdGhlIGd1YXJkLCByZWxhdGl2ZSB0byB0aGUgY3VycmVudFxuICAgICAqIHdvcmtzcGFjZS5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEbyBub3QgY3JlYXRlIFwic3BlYy50c1wiIHRlc3QgZmlsZXMgZm9yIHRoZSBuZXcgZ3VhcmQuXG4gICAgICovXG4gICAgc2tpcFRlc3RzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gSW1wbGVtZW50IHtcbiAgICBDYW5BY3RpdmF0ZSA9IFwiQ2FuQWN0aXZhdGVcIixcbiAgICBDYW5BY3RpdmF0ZUNoaWxkID0gXCJDYW5BY3RpdmF0ZUNoaWxkXCIsXG4gICAgQ2FuRGVhY3RpdmF0ZSA9IFwiQ2FuRGVhY3RpdmF0ZVwiLFxuICAgIENhbkxvYWQgPSBcIkNhbkxvYWRcIixcbiAgICBDYW5NYXRjaCA9IFwiQ2FuTWF0Y2hcIixcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3LCBnZW5lcmljIGludGVyY2VwdG9yIGRlZmluaXRpb24gaW4gdGhlIGdpdmVuIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckludGVyY2VwdG9yT3B0aW9uc1NjaGVtYSB7XG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlICh0aGUgZGVmYXVsdCksIGNyZWF0ZXMgZmlsZXMgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBmbGF0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIHRoZSBpbnRlcmNlcHRvciBhcyBhIGBIdHRwSW50ZXJjZXB0b3JGbmAuXG4gICAgICovXG4gICAgZnVuY3Rpb25hbD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGludGVyY2VwdG9yLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCBhdCB3aGljaCB0byBjcmVhdGUgdGhlIGludGVyY2VwdG9yLCByZWxhdGl2ZSB0byB0aGUgd29ya3NwYWNlIHJvb3QuXG4gICAgICovXG4gICAgcGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBwcm9qZWN0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRG8gbm90IGNyZWF0ZSBcInNwZWMudHNcIiB0ZXN0IGZpbGVzIGZvciB0aGUgbmV3IGludGVyY2VwdG9yLlxuICAgICAqL1xuICAgIHNraXBUZXN0cz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldywgZ2VuZXJpYyBpbnRlcmZhY2UgZGVmaW5pdGlvbiBpbiB0aGUgZ2l2ZW4gcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbmd1bGFySW50ZXJmYWNlT3B0aW9uc1NjaGVtYSB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGludGVyZmFjZS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBpbnRlcmZhY2UsIHJlbGF0aXZlIHRvIHRoZSB3b3Jrc3BhY2Ugcm9vdC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEEgcHJlZml4IHRvIGFwcGx5IHRvIGdlbmVyYXRlZCBzZWxlY3RvcnMuXG4gICAgICovXG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBBZGRzIGEgZGV2ZWxvcGVyLWRlZmluZWQgdHlwZSB0byB0aGUgZmlsZW5hbWUsIGluIHRoZSBmb3JtYXQgXCJuYW1lLnR5cGUudHNcIi5cbiAgICAgKi9cbiAgICB0eXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcsIGdlbmVyaWMgbGlicmFyeSBwcm9qZWN0IGluIHRoZSBjdXJyZW50IHdvcmtzcGFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWJyYXJ5T3B0aW9uc1NjaGVtYSB7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBsaWJyYXJ5J3MgcHVibGljIEFQSSBmaWxlLCByZWxhdGl2ZSB0byB0aGUgd29ya3NwYWNlIHJvb3QuXG4gICAgICovXG4gICAgZW50cnlGaWxlPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBsaWJyYXJ5LlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBBIHByZWZpeCB0byBhcHBseSB0byBnZW5lcmF0ZWQgc2VsZWN0b3JzLlxuICAgICAqL1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIG5ldyBsaWJyYXJ5LlxuICAgICAqL1xuICAgIHByb2plY3RSb290Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBpbnN0YWxsIGRlcGVuZGVuY3kgcGFja2FnZXMuXG4gICAgICovXG4gICAgc2tpcEluc3RhbGw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBhZGQgZGVwZW5kZW5jaWVzIHRvIHRoZSBcInBhY2thZ2UuanNvblwiIGZpbGUuXG4gICAgICovXG4gICAgc2tpcFBhY2thZ2VKc29uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBEbyBub3QgdXBkYXRlIFwidHNjb25maWcuanNvblwiIHRvIGFkZCBhIHBhdGggbWFwcGluZyBmb3IgdGhlIG5ldyBsaWJyYXJ5LiBUaGUgcGF0aCBtYXBwaW5nXG4gICAgICogaXMgbmVlZGVkIHRvIHVzZSB0aGUgbGlicmFyeSBpbiBhbiBhcHAsIGJ1dCBjYW4gYmUgZGlzYWJsZWQgaGVyZSB0byBzaW1wbGlmeSBkZXZlbG9wbWVudC5cbiAgICAgKi9cbiAgICBza2lwVHNDb25maWc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgcHJvamVjdCBieSBjb21iaW5pbmcgdGhlIHdvcmtzcGFjZSBhbmQgYXBwbGljYXRpb24gc2NoZW1hdGljcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbmd1bGFyTmdOZXdPcHRpb25zU2NoZW1hIHtcbiAgICAvKipcbiAgICAgKiBJbml0aWFsIGdpdCByZXBvc2l0b3J5IGNvbW1pdCBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBjb21taXQ/OiBDb21taXRVbmlvbjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcgaW5pdGlhbCBhcHBsaWNhdGlvbiBwcm9qZWN0IGluIHRoZSAnc3JjJyBmb2xkZXIgb2YgdGhlIG5ldyB3b3Jrc3BhY2UuIFdoZW5cbiAgICAgKiBmYWxzZSwgY3JlYXRlcyBhbiBlbXB0eSB3b3Jrc3BhY2Ugd2l0aCBubyBpbml0aWFsIGFwcGxpY2F0aW9uLiBZb3UgY2FuIHRoZW4gdXNlIHRoZVxuICAgICAqIGdlbmVyYXRlIGFwcGxpY2F0aW9uIGNvbW1hbmQgc28gdGhhdCBhbGwgYXBwbGljYXRpb25zIGFyZSBjcmVhdGVkIGluIHRoZSBwcm9qZWN0cyBmb2xkZXIuXG4gICAgICovXG4gICAgY3JlYXRlQXBwbGljYXRpb24/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBkaXJlY3RvcnkgbmFtZSB0byBjcmVhdGUgdGhlIHdvcmtzcGFjZSBpbi5cbiAgICAgKi9cbiAgICBkaXJlY3Rvcnk/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSW5jbHVkZSBzdHlsZXMgaW5saW5lIGluIHRoZSBjb21wb25lbnQgVFMgZmlsZS4gQnkgZGVmYXVsdCwgYW4gZXh0ZXJuYWwgc3R5bGVzIGZpbGUgaXNcbiAgICAgKiBjcmVhdGVkIGFuZCByZWZlcmVuY2VkIGluIHRoZSBjb21wb25lbnQgVHlwZVNjcmlwdCBmaWxlLlxuICAgICAqL1xuICAgIGlubGluZVN0eWxlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJbmNsdWRlIHRlbXBsYXRlIGlubGluZSBpbiB0aGUgY29tcG9uZW50IFRTIGZpbGUuIEJ5IGRlZmF1bHQsIGFuIGV4dGVybmFsIHRlbXBsYXRlIGZpbGVcbiAgICAgKiBpcyBjcmVhdGVkIGFuZCByZWZlcmVuY2VkIGluIHRoZSBjb21wb25lbnQgVHlwZVNjcmlwdCBmaWxlLlxuICAgICAqL1xuICAgIGlubGluZVRlbXBsYXRlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBMaW5rIHRoZSBDTEkgdG8gdGhlIGdsb2JhbCB2ZXJzaW9uIChpbnRlcm5hbCBkZXZlbG9wbWVudCBvbmx5KS5cbiAgICAgKi9cbiAgICBsaW5rQ2xpPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSB3b3Jrc3BhY2Ugd2l0aG91dCBhbnkgdGVzdGluZyBmcmFtZXdvcmtzLiAoVXNlIGZvciBsZWFybmluZyBwdXJwb3NlcyBvbmx5LilcbiAgICAgKi9cbiAgICBtaW5pbWFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgbmV3IHdvcmtzcGFjZSBhbmQgaW5pdGlhbCBwcm9qZWN0LlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCB3aGVyZSBuZXcgcHJvamVjdHMgd2lsbCBiZSBjcmVhdGVkLCByZWxhdGl2ZSB0byB0aGUgbmV3IHdvcmtzcGFjZSByb290LlxuICAgICAqL1xuICAgIG5ld1Byb2plY3RSb290Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBwYWNrYWdlIG1hbmFnZXIgdXNlZCB0byBpbnN0YWxsIGRlcGVuZGVuY2llcy5cbiAgICAgKi9cbiAgICBwYWNrYWdlTWFuYWdlcj86IFBhY2thZ2VNYW5hZ2VyO1xuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmaXggdG8gYXBwbHkgdG8gZ2VuZXJhdGVkIHNlbGVjdG9ycyBmb3IgdGhlIGluaXRpYWwgcHJvamVjdC5cbiAgICAgKi9cbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgYSByb3V0aW5nIG1vZHVsZSBmb3IgdGhlIGluaXRpYWwgcHJvamVjdC5cbiAgICAgKi9cbiAgICByb3V0aW5nPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBEbyBub3QgaW5pdGlhbGl6ZSBhIGdpdCByZXBvc2l0b3J5LlxuICAgICAqL1xuICAgIHNraXBHaXQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBpbnN0YWxsIGRlcGVuZGVuY3kgcGFja2FnZXMuXG4gICAgICovXG4gICAgc2tpcEluc3RhbGw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBnZW5lcmF0ZSBcInNwZWMudHNcIiB0ZXN0IGZpbGVzIGZvciB0aGUgbmV3IHByb2plY3QuXG4gICAgICovXG4gICAgc2tpcFRlc3RzPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgd29ya3NwYWNlIHdpdGggc3RyaWN0ZXIgdHlwZSBjaGVja2luZyBhbmQgc3RyaWN0ZXIgYnVuZGxlIGJ1ZGdldHMgc2V0dGluZ3MuXG4gICAgICogVGhpcyBzZXR0aW5nIGhlbHBzIGltcHJvdmUgbWFpbnRhaW5hYmlsaXR5IGFuZCBjYXRjaCBidWdzIGFoZWFkIG9mIHRpbWUuIEZvciBtb3JlXG4gICAgICogaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvc3RyaWN0LW1vZGVcbiAgICAgKi9cbiAgICBzdHJpY3Q/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBmaWxlIGV4dGVuc2lvbiBvciBwcmVwcm9jZXNzb3IgdG8gdXNlIGZvciBzdHlsZSBmaWxlcy5cbiAgICAgKi9cbiAgICBzdHlsZT86IFNjaGVtYXRpY3NBbmd1bGFyQXBwbGljYXRpb25TdHlsZTtcbiAgICAvKipcbiAgICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW5ndWxhciBDTEkgdG8gdXNlLlxuICAgICAqL1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgdmlldyBlbmNhcHN1bGF0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgaW5pdGlhbCBwcm9qZWN0LlxuICAgICAqL1xuICAgIHZpZXdFbmNhcHN1bGF0aW9uPzogVmlld0VuY2Fwc3VsYXRpb247XG59XG5cbi8qKlxuICogSW5pdGlhbCBnaXQgcmVwb3NpdG9yeSBjb21taXQgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIENvbW1pdFVuaW9uID0gYm9vbGVhbiB8IENvbW1pdE9iamVjdDtcblxuZXhwb3J0IGludGVyZmFjZSBDb21taXRPYmplY3Qge1xuICAgIGVtYWlsOiAgICBzdHJpbmc7XG4gICAgbWVzc2FnZT86IHN0cmluZztcbiAgICBuYW1lOiAgICAgc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcsIGdlbmVyaWMgcGlwZSBkZWZpbml0aW9uIGluIHRoZSBnaXZlbiBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJQaXBlT3B0aW9uc1NjaGVtYSB7XG4gICAgLyoqXG4gICAgICogVGhlIGRlY2xhcmluZyBOZ01vZHVsZSBleHBvcnRzIHRoaXMgcGlwZS5cbiAgICAgKi9cbiAgICBleHBvcnQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFdoZW4gdHJ1ZSAodGhlIGRlZmF1bHQpIGNyZWF0ZXMgZmlsZXMgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBmbGF0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgZGVjbGFyaW5nIE5nTW9kdWxlLlxuICAgICAqL1xuICAgIG1vZHVsZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcGlwZS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBwaXBlLCByZWxhdGl2ZSB0byB0aGUgd29ya3NwYWNlIHJvb3QuXG4gICAgICovXG4gICAgcGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBwcm9qZWN0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRG8gbm90IGltcG9ydCB0aGlzIHBpcGUgaW50byB0aGUgb3duaW5nIE5nTW9kdWxlLlxuICAgICAqL1xuICAgIHNraXBJbXBvcnQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBjcmVhdGUgXCJzcGVjLnRzXCIgdGVzdCBmaWxlcyBmb3IgdGhlIG5ldyBwaXBlLlxuICAgICAqL1xuICAgIHNraXBUZXN0cz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZ2VuZXJhdGVkIHBpcGUgaXMgc3RhbmRhbG9uZS5cbiAgICAgKi9cbiAgICBzdGFuZGFsb25lPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBuZXcsIGdlbmVyaWMgcmVzb2x2ZXIgZGVmaW5pdGlvbiBpbiB0aGUgZ2l2ZW4gcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbmd1bGFyUmVzb2x2ZXJPcHRpb25zU2NoZW1hIHtcbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUgKHRoZSBkZWZhdWx0KSwgY3JlYXRlcyB0aGUgbmV3IGZpbGVzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIGN1cnJlbnQgcHJvamVjdC5cbiAgICAgKi9cbiAgICBmbGF0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIHRoZSByZXNvbHZlciBhcyBhIGBSZXNvbHZlRm5gLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uYWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBuZXcgcmVzb2x2ZXIuXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBwYXRoIGF0IHdoaWNoIHRvIGNyZWF0ZSB0aGUgaW50ZXJmYWNlIHRoYXQgZGVmaW5lcyB0aGUgcmVzb2x2ZXIsIHJlbGF0aXZlIHRvIHRoZVxuICAgICAqIGN1cnJlbnQgd29ya3NwYWNlLlxuICAgICAqL1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHByb2plY3QuXG4gICAgICovXG4gICAgcHJvamVjdDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBjcmVhdGUgXCJzcGVjLnRzXCIgdGVzdCBmaWxlcyBmb3IgdGhlIG5ldyByZXNvbHZlci5cbiAgICAgKi9cbiAgICBza2lwVGVzdHM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcsIGdlbmVyaWMgc2VydmljZSBkZWZpbml0aW9uIGluIHRoZSBnaXZlbiBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJTZXJ2aWNlT3B0aW9uc1NjaGVtYSB7XG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlICh0aGUgZGVmYXVsdCksIGNyZWF0ZXMgZmlsZXMgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBmbGF0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VydmljZS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBzZXJ2aWNlLCByZWxhdGl2ZSB0byB0aGUgd29ya3NwYWNlIHJvb3QuXG4gICAgICovXG4gICAgcGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBwcm9qZWN0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRG8gbm90IGNyZWF0ZSBcInNwZWMudHNcIiB0ZXN0IGZpbGVzIGZvciB0aGUgbmV3IHNlcnZpY2UuXG4gICAgICovXG4gICAgc2tpcFRlc3RzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3LCBnZW5lcmljIHdlYiB3b3JrZXIgZGVmaW5pdGlvbiBpbiB0aGUgZ2l2ZW4gcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbmd1bGFyV2ViV29ya2VyT3B0aW9uc1NjaGVtYSB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtlci5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSB3b3JrZXIgZmlsZSwgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuICAgICAqL1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHByb2plY3QuXG4gICAgICovXG4gICAgcHJvamVjdDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEFkZCBhIHdvcmtlciBjcmVhdGlvbiBzbmlwcGV0IGluIGEgc2libGluZyBmaWxlIG9mIHRoZSBzYW1lIG5hbWUuXG4gICAgICovXG4gICAgc25pcHBldD86IGJvb2xlYW47XG59XG4iXX0=
package/lib/init.d.ts CHANGED
File without changes
package/lib/init.js CHANGED
@@ -49,6 +49,7 @@ const version_1 = require("../src/utilities/version");
49
49
  let forceExit = false;
50
50
  (async () => {
51
51
  var _a;
52
+ var _b;
52
53
  /**
53
54
  * Disable Browserslist old data warning as otherwise with every release we'd need to update this dependency
54
55
  * which is cumbersome considering we pin versions and the warning is not user actionable.
@@ -74,10 +75,10 @@ let forceExit = false;
74
75
  // version of ng-cli you have installed in a local package.json
75
76
  const cwdRequire = (0, module_1.createRequire)(process.cwd() + '/');
76
77
  const projectLocalCli = cwdRequire.resolve('@angular/cli');
77
- cli = await Promise.resolve().then(() => __importStar(require(projectLocalCli)));
78
+ cli = await (_a = projectLocalCli, Promise.resolve().then(() => __importStar(require(_a))));
78
79
  const globalVersion = new semver_1.SemVer(version_1.VERSION.full);
79
80
  // Older versions might not have the VERSION export
80
- let localVersion = (_a = cli.VERSION) === null || _a === void 0 ? void 0 : _a.full;
81
+ let localVersion = (_b = cli.VERSION) === null || _b === void 0 ? void 0 : _b.full;
81
82
  if (!localVersion) {
82
83
  try {
83
84
  const localPackageJson = await fs_1.promises.readFile(path.join(path.dirname(projectLocalCli), '../../package.json'), 'utf-8');
@@ -125,7 +126,7 @@ let forceExit = false;
125
126
  }
126
127
  }
127
128
  }
128
- catch {
129
+ catch (_c) {
129
130
  // If there is an error, resolve could not find the ng-cli
130
131
  // library from a package.json. Instead, include it from a relative
131
132
  // path to this script file (which is likely a globally installed
@@ -151,3 +152,4 @@ let forceExit = false;
151
152
  console.error('Unknown error: ' + err.toString());
152
153
  process.exit(127);
153
154
  });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvY2xpL2xpYi9pbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCw2QkFBMkI7QUFDM0IsZ0NBQWdDO0FBQ2hDLDJCQUFvQztBQUNwQyxtQ0FBdUM7QUFDdkMsMkNBQTZCO0FBQzdCLG1DQUF1QztBQUN2QyxrREFBZ0Q7QUFDaEQsb0RBQTJEO0FBQzNELDhFQUEyRTtBQUMzRSxzREFBbUQ7QUFFbkQ7Ozs7O0dBS0c7QUFDSCxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFFdEIsQ0FBQyxLQUFLLElBQW9ELEVBQUU7OztJQUMxRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEdBQUcsR0FBRyxDQUFDO0lBQy9DLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdkM7Ozs7Ozs7T0FPRztJQUNILElBQUkseUNBQW1CLElBQUksY0FBYyxLQUFLLEtBQUssRUFBRTtRQUNuRCxPQUFPLENBQUMsd0RBQWEsT0FBTyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7S0FDeEM7SUFFRCxJQUFJLEdBQUcsQ0FBQztJQUVSLElBQUk7UUFDRiwrREFBK0Q7UUFDL0QsK0RBQStEO1FBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUEsc0JBQWEsRUFBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDdEQsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzRCxHQUFHLEdBQUcsWUFBYSxlQUFlLDBEQUFDLENBQUM7UUFFcEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFNLENBQUMsaUJBQU8sQ0FBQyxJQUFJLENBQUMsQ0FB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RyxRQUFRLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0tBQ0QsS0FBSyxDQUFDLENBQUMsR0FBVSxFQUFFLEVBQUU7SUFDcEIsdUNBQXVDO0lBQ3ZDLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgJ3N5bWJvbC1vYnNlcnZhYmxlJztcbi8vIHN5bWJvbCBwb2x5ZmlsbCBtdXN0IGdvIGZpcnN0XG5pbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tICdtb2R1bGUnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IFNlbVZlciwgbWFqb3IgfSBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSAnLi4vc3JjL3V0aWxpdGllcy9jb2xvcic7XG5pbXBvcnQgeyBpc1dhcm5pbmdFbmFibGVkIH0gZnJvbSAnLi4vc3JjL3V0aWxpdGllcy9jb25maWcnO1xuaW1wb3J0IHsgZGlzYWJsZVZlcnNpb25DaGVjayB9IGZyb20gJy4uL3NyYy91dGlsaXRpZXMvZW52aXJvbm1lbnQtb3B0aW9ucyc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnLi4vc3JjL3V0aWxpdGllcy92ZXJzaW9uJztcblxuLyoqXG4gKiBBbmd1bGFyIENMSSB2ZXJzaW9ucyBwcmlvciB0byB2MTQgbWF5IG5vdCBleGl0IGNvcnJlY3RseSBpZiBub3QgZm9yY2libHkgZXhpdGVkXG4gKiB2aWEgYHByb2Nlc3MuZXhpdCgpYC4gV2hlbiBib290c3RyYXBwaW5nLCBgZm9yY2VFeGl0YCB3aWxsIGJlIHNldCB0byBgdHJ1ZWBcbiAqIGlmIHRoZSBsb2NhbCBDTEkgdmVyc2lvbiBpcyBsZXNzIHRoYW4gdjE0IHRvIHByZXZlbnQgdGhlIENMSSBmcm9tIGhhbmdpbmcgb25cbiAqIGV4aXQgaW4gdGhvc2UgY2FzZXMuXG4gKi9cbmxldCBmb3JjZUV4aXQgPSBmYWxzZTtcblxuKGFzeW5jICgpOiBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJy4vY2xpJykuZGVmYXVsdCB8IG51bGw+ID0+IHtcbiAgLyoqXG4gICAqIERpc2FibGUgQnJvd3NlcnNsaXN0IG9sZCBkYXRhIHdhcm5pbmcgYXMgb3RoZXJ3aXNlIHdpdGggZXZlcnkgcmVsZWFzZSB3ZSdkIG5lZWQgdG8gdXBkYXRlIHRoaXMgZGVwZW5kZW5jeVxuICAgKiB3aGljaCBpcyBjdW1iZXJzb21lIGNvbnNpZGVyaW5nIHdlIHBpbiB2ZXJzaW9ucyBhbmQgdGhlIHdhcm5pbmcgaXMgbm90IHVzZXIgYWN0aW9uYWJsZS5cbiAgICogYEJyb3dzZXJzbGlzdDogY2FuaXVzZS1saXRlIGlzIG91dGRhdGVkLiBQbGVhc2UgcnVuIG5leHQgY29tbWFuZCBgbnBtIHVwZGF0ZWBcbiAgICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYnJvd3NlcnNsaXN0L2Jyb3dzZXJzbGlzdC9ibG9iLzgxOWM0MzM3NDU2OTk2ZDE5ZGI2YmE5NTMwMTQ1NzkzMjllOWM2ZTEvbm9kZS5qcyNMMzI0XG4gICAqL1xuICBwcm9jZXNzLmVudi5CUk9XU0VSU0xJU1RfSUdOT1JFX09MRF9EQVRBID0gJzEnO1xuICBjb25zdCByYXdDb21tYW5kTmFtZSA9IHByb2Nlc3MuYXJndlsyXTtcblxuICAvKipcbiAgICogRGlzYWJsZSBDTEkgdmVyc2lvbiBtaXNtYXRjaCBjaGVja3MgYW5kIGZvcmNlcyB1c2FnZSBvZiB0aGUgaW52b2tlZCBDTElcbiAgICogaW5zdGVhZCBvZiBpbnZva2luZyB0aGUgbG9jYWwgaW5zdGFsbGVkIHZlcnNpb24uXG4gICAqXG4gICAqIFdoZW4gcnVubmluZyBgbmcgbmV3YCBhbHdheXMgZmF2b3IgdGhlIGdsb2JhbCB2ZXJzaW9uLiBBcyBpbiBzb21lXG4gICAqIGNhc2VzIG9ycGhhbiBgbm9kZV9tb2R1bGVzYCB3b3VsZCBjYXVzZSB0aGUgbm9uIGdsb2JhbCBDTEkgdG8gYmUgdXNlZC5cbiAgICogQHNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci1jbGkvaXNzdWVzLzE0NjAzXG4gICAqL1xuICBpZiAoZGlzYWJsZVZlcnNpb25DaGVjayB8fCByYXdDb21tYW5kTmFtZSA9PT0gJ25ldycpIHtcbiAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9jbGknKSkuZGVmYXVsdDtcbiAgfVxuXG4gIGxldCBjbGk7XG5cbiAgdHJ5IHtcbiAgICAvLyBObyBlcnJvciBpbXBsaWVzIGEgcHJvamVjdExvY2FsQ2xpLCB3aGljaCB3aWxsIGxvYWQgd2hhdGV2ZXJcbiAgICAvLyB2ZXJzaW9uIG9mIG5nLWNsaSB5b3UgaGF2ZSBpbnN0YWxsZWQgaW4gYSBsb2NhbCBwYWNrYWdlLmpzb25cbiAgICBjb25zdCBjd2RSZXF1aXJlID0gY3JlYXRlUmVxdWlyZShwcm9jZXNzLmN3ZCgpICsgJy8nKTtcbiAgICBjb25zdCBwcm9qZWN0TG9jYWxDbGkgPSBjd2RSZXF1aXJlLnJlc29sdmUoJ0Bhbmd1bGFyL2NsaScpO1xuICAgIGNsaSA9IGF3YWl0IGltcG9ydChwcm9qZWN0TG9jYWxDbGkpO1xuXG4gICAgY29uc3QgZ2xvYmFsVmVyc2lvbiA9IG5ldyBTZW1WZXIoVkVSU0lPTi5mdWxsKTtcblxuICAgIC8vIE9sZGVyIHZlcnNpb25zIG1pZ2h0IG5vdCBoYXZlIHRoZSBWRVJTSU9OIGV4cG9ydFxuICAgIGxldCBsb2NhbFZlcnNpb24gPSBjbGkuVkVSU0lPTj8uZnVsbDtcbiAgICBpZiAoIWxvY2FsVmVyc2lvbikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbG9jYWxQYWNrYWdlSnNvbiA9IGF3YWl0IGZzLnJlYWRGaWxlKFxuICAgICAgICAgIHBhdGguam9pbihwYXRoLmRpcm5hbWUocHJvamVjdExvY2FsQ2xpKSwgJy4uLy4uL3BhY2thZ2UuanNvbicpLFxuICAgICAgICAgICd1dGYtOCcsXG4gICAgICAgICk7XG4gICAgICAgIGxvY2FsVmVyc2lvbiA9IChKU09OLnBhcnNlKGxvY2FsUGFja2FnZUpzb24pIGFzIHsgdmVyc2lvbjogc3RyaW5nIH0pLnZlcnNpb247XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS5lcnJvcignVmVyc2lvbiBtaXNtYXRjaCBjaGVjayBza2lwcGVkLiBVbmFibGUgdG8gcmV0cmlldmUgbG9jYWwgdmVyc2lvbjogJyArIGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgb2xkZXIgdmVyc2lvbnMgb2YgdGhlIENMSSBmdWxseSBleGl0XG4gICAgaWYgKG1ham9yKGxvY2FsVmVyc2lvbikgPCAxNCkge1xuICAgICAgZm9yY2VFeGl0ID0gdHJ1ZTtcblxuICAgICAgLy8gVmVyc2lvbnMgcHJpb3IgdG8gMTQgZGlkbid0IGltcGxlbWVudCBjb21wbGV0aW9uIGNvbW1hbmQuXG4gICAgICBpZiAocmF3Q29tbWFuZE5hbWUgPT09ICdjb21wbGV0aW9uJykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgaXNHbG9iYWxHcmVhdGVyID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIGlzR2xvYmFsR3JlYXRlciA9ICEhbG9jYWxWZXJzaW9uICYmIGdsb2JhbFZlcnNpb24uY29tcGFyZShsb2NhbFZlcnNpb24pID4gMDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdWZXJzaW9uIG1pc21hdGNoIGNoZWNrIHNraXBwZWQuIFVuYWJsZSB0byBjb21wYXJlIGxvY2FsIHZlcnNpb246ICcgKyBlcnJvcik7XG4gICAgfVxuXG4gICAgLy8gV2hlbiB1c2luZyB0aGUgY29tcGxldGlvbiBjb21tYW5kLCBkb24ndCBzaG93IHRoZSB3YXJuaW5nIGFzIG90aGVyd2lzZSB0aGlzIHdpbGwgYnJlYWsgY29tcGxldGlvbi5cbiAgICBpZiAoXG4gICAgICBpc0dsb2JhbEdyZWF0ZXIgJiZcbiAgICAgIHJhd0NvbW1hbmROYW1lICE9PSAnLS1nZXQteWFyZ3MtY29tcGxldGlvbnMnICYmXG4gICAgICByYXdDb21tYW5kTmFtZSAhPT0gJ2NvbXBsZXRpb24nXG4gICAgKSB7XG4gICAgICAvLyBJZiB1c2luZyB0aGUgdXBkYXRlIGNvbW1hbmQgYW5kIHRoZSBnbG9iYWwgdmVyc2lvbiBpcyBncmVhdGVyLCB1c2UgdGhlIG5ld2VyIHVwZGF0ZSBjb21tYW5kXG4gICAgICAvLyBUaGlzIGFsbG93cyBpbXByb3ZlbWVudHMgaW4gdXBkYXRlIHRvIGJlIHVzZWQgaW4gb2xkZXIgdmVyc2lvbnMgdGhhdCBkbyBub3QgaGF2ZSBib290c3RyYXBwaW5nXG4gICAgICBpZiAoXG4gICAgICAgIHJhd0NvbW1hbmROYW1lID09PSAndXBkYXRlJyAmJlxuICAgICAgICBjbGkuVkVSU0lPTiAmJlxuICAgICAgICBjbGkuVkVSU0lPTi5tYWpvciAtIGdsb2JhbFZlcnNpb24ubWFqb3IgPD0gMVxuICAgICAgKSB7XG4gICAgICAgIGNsaSA9IGF3YWl0IGltcG9ydCgnLi9jbGknKTtcbiAgICAgIH0gZWxzZSBpZiAoYXdhaXQgaXNXYXJuaW5nRW5hYmxlZCgndmVyc2lvbk1pc21hdGNoJykpIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCB1c2UgbG9jYWwgdmVyc2lvbiBhbmQgd2FybiBpZiBnbG9iYWwgaXMgbmV3ZXIgdGhhbiBsb2NhbFxuICAgICAgICBjb25zdCB3YXJuaW5nID1cbiAgICAgICAgICBgWW91ciBnbG9iYWwgQW5ndWxhciBDTEkgdmVyc2lvbiAoJHtnbG9iYWxWZXJzaW9ufSkgaXMgZ3JlYXRlciB0aGFuIHlvdXIgbG9jYWwgYCArXG4gICAgICAgICAgYHZlcnNpb24gKCR7bG9jYWxWZXJzaW9ufSkuIFRoZSBsb2NhbCBBbmd1bGFyIENMSSB2ZXJzaW9uIGlzIHVzZWQuXFxuXFxuYCArXG4gICAgICAgICAgJ1RvIGRpc2FibGUgdGhpcyB3YXJuaW5nIHVzZSBcIm5nIGNvbmZpZyAtZyBjbGkud2FybmluZ3MudmVyc2lvbk1pc21hdGNoIGZhbHNlXCIuJztcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS5lcnJvcihjb2xvcnMueWVsbG93KHdhcm5pbmcpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2gge1xuICAgIC8vIElmIHRoZXJlIGlzIGFuIGVycm9yLCByZXNvbHZlIGNvdWxkIG5vdCBmaW5kIHRoZSBuZy1jbGlcbiAgICAvLyBsaWJyYXJ5IGZyb20gYSBwYWNrYWdlLmpzb24uIEluc3RlYWQsIGluY2x1ZGUgaXQgZnJvbSBhIHJlbGF0aXZlXG4gICAgLy8gcGF0aCB0byB0aGlzIHNjcmlwdCBmaWxlICh3aGljaCBpcyBsaWtlbHkgYSBnbG9iYWxseSBpbnN0YWxsZWRcbiAgICAvLyBucG0gcGFja2FnZSkuIE1vc3QgY29tbW9uIGNhdXNlIGZvciBoaXR0aW5nIHRoaXMgaXMgYG5nIG5ld2BcbiAgICBjbGkgPSBhd2FpdCBpbXBvcnQoJy4vY2xpJyk7XG4gIH1cblxuICBpZiAoJ2RlZmF1bHQnIGluIGNsaSkge1xuICAgIGNsaSA9IGNsaVsnZGVmYXVsdCddO1xuICB9XG5cbiAgcmV0dXJuIGNsaTtcbn0pKClcbiAgLnRoZW4oKGNsaSkgPT5cbiAgICBjbGk/Lih7XG4gICAgICBjbGlBcmdzOiBwcm9jZXNzLmFyZ3Yuc2xpY2UoMiksXG4gICAgfSksXG4gIClcbiAgLnRoZW4oKGV4aXRDb2RlID0gMCkgPT4ge1xuICAgIGlmIChmb3JjZUV4aXQpIHtcbiAgICAgIHByb2Nlc3MuZXhpdChleGl0Q29kZSk7XG4gICAgfVxuICAgIHByb2Nlc3MuZXhpdENvZGUgPSBleGl0Q29kZTtcbiAgfSlcbiAgLmNhdGNoKChlcnI6IEVycm9yKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBuby1jb25zb2xlXG4gICAgY29uc29sZS5lcnJvcignVW5rbm93biBlcnJvcjogJyArIGVyci50b1N0cmluZygpKTtcbiAgICBwcm9jZXNzLmV4aXQoMTI3KTtcbiAgfSk7XG4iXX0=
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@angular/cli",
3
- "version": "15.1.0-next.3",
3
+ "version": "15.1.0",
4
4
  "description": "CLI tool for Angular",
5
5
  "main": "lib/cli/index.js",
6
6
  "bin": {
7
7
  "ng": "./bin/ng.js"
8
8
  },
9
9
  "keywords": [
10
- "angular",
11
10
  "Angular CLI",
12
- "devkit",
13
- "sdk",
14
11
  "Angular DevKit",
15
- "angular-cli"
12
+ "angular",
13
+ "angular-cli",
14
+ "devkit",
15
+ "sdk"
16
16
  ],
17
17
  "repository": {
18
18
  "type": "git",
@@ -25,10 +25,10 @@
25
25
  },
26
26
  "homepage": "https://github.com/angular/angular-cli",
27
27
  "dependencies": {
28
- "@angular-devkit/architect": "0.1501.0-next.3",
29
- "@angular-devkit/core": "15.1.0-next.3",
30
- "@angular-devkit/schematics": "15.1.0-next.3",
31
- "@schematics/angular": "15.1.0-next.3",
28
+ "@angular-devkit/architect": "0.1501.0",
29
+ "@angular-devkit/core": "15.1.0",
30
+ "@angular-devkit/schematics": "15.1.0",
31
+ "@schematics/angular": "15.1.0",
32
32
  "@yarnpkg/lockfile": "1.1.0",
33
33
  "ansi-colors": "4.1.3",
34
34
  "ini": "3.0.1",
@@ -38,7 +38,7 @@
38
38
  "npm-pick-manifest": "8.0.1",
39
39
  "open": "8.4.0",
40
40
  "ora": "5.4.1",
41
- "pacote": "15.0.7",
41
+ "pacote": "15.0.8",
42
42
  "resolve": "1.22.1",
43
43
  "semver": "7.3.8",
44
44
  "symbol-observable": "4.0.0",
@@ -47,12 +47,12 @@
47
47
  "ng-update": {
48
48
  "migrations": "@schematics/angular/migrations/migration-collection.json",
49
49
  "packageGroup": {
50
- "@angular/cli": "15.1.0-next.3",
51
- "@angular-devkit/architect": "0.1501.0-next.3",
52
- "@angular-devkit/build-angular": "15.1.0-next.3",
53
- "@angular-devkit/build-webpack": "0.1501.0-next.3",
54
- "@angular-devkit/core": "15.1.0-next.3",
55
- "@angular-devkit/schematics": "15.1.0-next.3"
50
+ "@angular/cli": "15.1.0",
51
+ "@angular-devkit/architect": "0.1501.0",
52
+ "@angular-devkit/build-angular": "15.1.0",
53
+ "@angular-devkit/build-webpack": "0.1501.0",
54
+ "@angular-devkit/core": "15.1.0",
55
+ "@angular-devkit/schematics": "15.1.0"
56
56
  }
57
57
  },
58
58
  "engines": {
File without changes
@@ -171,3 +171,4 @@ class AnalyticsCollector {
171
171
  }
172
172
  }
173
173
  exports.AnalyticsCollector = AnalyticsCollector;
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLWNvbGxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvY2xpL3NyYy9hbmFseXRpY3MvYW5hbHl0aWNzLWNvbGxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILG1DQUFvQztBQUNwQyw2Q0FBK0I7QUFDL0IsdUNBQXlCO0FBQ3pCLHlEQUEyQztBQUUzQywwRUFBMkQ7QUFDM0QsOENBQW1EO0FBQ25ELGtEQUErQztBQUMvQyxpRUFNZ0M7QUFFaEMsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUM7QUFDeEMsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUM7QUFFM0MsTUFBYSxrQkFBa0I7SUFLN0IsWUFBb0IsT0FBdUIsRUFBRSxNQUFjO1FBQXZDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3pDLE1BQU0saUJBQWlCLEdBQXNEO1lBQzNFLENBQUMsdUNBQWdCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxDQUFDLHVDQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU07WUFDbkMsQ0FBQyx1Q0FBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNO1lBQ2pDLENBQUMsdUNBQWdCLENBQUMsVUFBVSxDQUFDLEVBQzNCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFPLENBQUMsSUFBSSxLQUFLLE9BQU87Z0JBQzlELENBQUMsQ0FBQyxnQkFBZ0I7Z0JBQ2xCLENBQUMsQ0FBQyxtQkFBbUI7WUFFekIsMkJBQTJCO1lBQzNCLENBQUMsdUNBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBQSxtQkFBVSxHQUFFO1lBQzFDLENBQUMsdUNBQWdCLENBQUMscUJBQXFCLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxF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LENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdFLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDL0IsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBcktELGdEQXFLQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyByYW5kb21VVUlEIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gJ2h0dHBzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHF1ZXJ5c3RyaW5nIGZyb20gJ3F1ZXJ5c3RyaW5nJztcbmltcG9ydCB0eXBlIHsgQ29tbWFuZENvbnRleHQgfSBmcm9tICcuLi9jb21tYW5kLWJ1aWxkZXIvY29tbWFuZC1tb2R1bGUnO1xuaW1wb3J0IHsgbmdEZWJ1ZyB9IGZyb20gJy4uL3V0aWxpdGllcy9lbnZpcm9ubWVudC1vcHRpb25zJztcbmltcG9ydCB7IGFzc2VydElzRXJyb3IgfSBmcm9tICcuLi91dGlsaXRpZXMvZXJyb3InO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJy4uL3V0aWxpdGllcy92ZXJzaW9uJztcbmltcG9ydCB7XG4gIEV2ZW50Q3VzdG9tRGltZW5zaW9uLFxuICBFdmVudEN1c3RvbU1ldHJpYyxcbiAgUHJpbWl0aXZlVHlwZXMsXG4gIFJlcXVlc3RQYXJhbWV0ZXIsXG4gIFVzZXJDdXN0b21EaW1lbnNpb24sXG59IGZyb20gJy4vYW5hbHl0aWNzLXBhcmFtZXRlcnMnO1xuXG5jb25zdCBUUkFDS0lOR19JRF9QUk9EID0gJ0ctVkVUTkpCVzhMNCc7XG5jb25zdCBUUkFDS0lOR19JRF9TVEFHSU5HID0gJ0ctVEJNUFJMMUJUTSc7XG5cbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NDb2xsZWN0b3Ige1xuICBwcml2YXRlIHRyYWNraW5nRXZlbnRzUXVldWU6IFJlY29yZDxzdHJpbmcsIFByaW1pdGl2ZVR5cGVzIHwgdW5kZWZpbmVkPltdIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RQYXJhbWV0ZXJTdHJpbmdpZmllZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQYXJhbWV0ZXJzOiBSZWNvcmQ8VXNlckN1c3RvbURpbWVuc2lvbiwgUHJpbWl0aXZlVHlwZXMgfCB1bmRlZmluZWQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGV4dDogQ29tbWFuZENvbnRleHQsIHVzZXJJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVxdWVzdFBhcmFtZXRlcnM6IFBhcnRpYWw8UmVjb3JkPFJlcXVlc3RQYXJhbWV0ZXIsIFByaW1pdGl2ZVR5cGVzPj4gPSB7XG4gICAgICBbUmVxdWVzdFBhcmFtZXRlci5Qcm90b2NvbFZlcnNpb25dOiAyLFxuICAgICAgW1JlcXVlc3RQYXJhbWV0ZXIuQ2xpZW50SWRdOiB1c2VySWQsXG4gICAgICBbUmVxdWVzdFBhcmFtZXRlci5Vc2VySWRdOiB1c2VySWQsXG4gICAgICBbUmVxdWVzdFBhcmFtZXRlci5UcmFja2luZ0lkXTpcbiAgICAgICAgL15cXGQrXFwuXFxkK1xcLlxcZCskLy50ZXN0KFZFUlNJT04uZnVsbCkgJiYgVkVSU0lPTi5mdWxsICE9PSAnMC4wLjAnXG4gICAgICAgICAgPyBUUkFDS0lOR19JRF9QUk9EXG4gICAgICAgICAgOiBUUkFDS0lOR19JRF9TVEFHSU5HLFxuXG4gICAgICAvLyBCdWlsdC1pbiB1c2VyIHByb3BlcnRpZXNcbiAgICAgIFtSZXF1ZXN0UGFyYW1ldGVyLlNlc3Npb25JZF06IHJhbmRvbVVVSUQoKSxcbiAgICAgIFtSZXF1ZXN0UGFyYW1ldGVyLlVzZXJBZ2VudEFyY2hpdGVjdHVyZV06IG9zLmFyY2goKSxcbiAgICAgIFtSZXF1ZXN0UGFyYW1ldGVyLlVzZXJBZ2VudFBsYXRmb3JtXTogb3MucGxhdGZvcm0oKSxcbiAgICAgIFtSZXF1ZXN0UGFyYW1ldGVyLlVzZXJBZ2VudFBsYXRmb3JtVmVyc2lvbl06IG9zLnZlcnNpb24oKSxcblxuICAgICAgLy8gU2V0IHVuZGVmaW5lZCB0byBkaXNhYmxlIGRlYnVnIHZpZXcuXG4gICAgICBbUmVxdWVzdFBhcmFtZXRlci5EZWJ1Z1ZpZXddOiBuZ0RlYnVnID8gMSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgdGhpcy5yZXF1ZXN0UGFyYW1ldGVyU3RyaW5naWZpZWQgPSBxdWVyeXN0cmluZy5zdHJpbmdpZnkocmVxdWVzdFBhcmFtZXRlcnMpO1xuXG4gICAgLy8gUmVtb3ZlIHRoZSBgdmAgYXQgdGhlIGJlZ2lubmluZy5cbiAgICBjb25zdCBub2RlVmVyc2lvbiA9IHByb2Nlc3MudmVyc2lvbi5zdWJzdHJpbmcoMSk7XG4gICAgY29uc3QgcGFja2FnZU1hbmFnZXJWZXJzaW9uID0gY29udGV4dC5wYWNrYWdlTWFuYWdlci52ZXJzaW9uO1xuXG4gICAgdGhpcy51c2VyUGFyYW1ldGVycyA9IHtcbiAgICAgIC8vIFdoaWxlIGFyY2hpdGVjdHVyZSBpcyBiZWluZyBjb2xsZWN0IGJ5IEdBIGFzIFVzZXJBZ2VudEFyY2hpdGVjdHVyZS5cbiAgICAgIC8vIEl0IGRvZXNuJ3QgbG9vayBsaWtlIHRoZXJlIGlzIGEgd2F5IHRvIHF1ZXJ5IHRoaXMuIFRoZXJlZm9yZSB3ZSBjb2xsZWN0IHRoaXMgYXMgYSBjdXN0b20gdXNlciBkaW1lbnNpb24gdG9vLlxuICAgICAgW1VzZXJDdXN0b21EaW1lbnNpb24uT3NBcmNoaXRlY3R1cmVdOiBvcy5hcmNoKCksXG4gICAgICAvLyBXaGlsZSBVc2VyIElEIGlzIGJlaW5nIGNvbGxlY3RlZCBieSBHQSwgdGhpcyBpcyBub3QgdmlzaWJsZSBpbiByZXBvcnRzL2ZvciBmaWx0ZXJpbmcuXG4gICAgICBbVXNlckN1c3RvbURpbWVuc2lvbi5Vc2VySWRdOiB1c2VySWQsXG4gICAgICBbVXNlckN1c3RvbURpbWVuc2lvbi5Ob2RlVmVyc2lvbl06IG5vZGVWZXJzaW9uLFxuICAgICAgW1VzZXJDdXN0b21EaW1lbnNpb24uTm9kZU1ham9yVmVyc2lvbl06ICtub2RlVmVyc2lvbi5zcGxpdCgnLicsIDEpWzBdLFxuICAgICAgW1VzZXJDdXN0b21EaW1lbnNpb24uUGFja2FnZU1hbmFnZXJdOiBjb250ZXh0LnBhY2thZ2VNYW5hZ2VyLm5hbWUsXG4gICAgICBbVXNlckN1c3RvbURpbWVuc2lvbi5QYWNrYWdlTWFuYWdlclZlcnNpb25dOiBwYWNrYWdlTWFuYWdlclZlcnNpb24sXG4gICAgICBbVXNlckN1c3RvbURpbWVuc2lvbi5QYWNrYWdlTWFuYWdlck1ham9yVmVyc2lvbl06IHBhY2thZ2VNYW5hZ2VyVmVyc2lvblxuICAgICAgICA/ICtwYWNrYWdlTWFuYWdlclZlcnNpb24uc3BsaXQoJy4nLCAxKVswXVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIFtVc2VyQ3VzdG9tRGltZW5zaW9uLkFuZ3VsYXJDTElWZXJzaW9uXTogVkVSU0lPTi5mdWxsLFxuICAgICAgW1VzZXJDdXN0b21EaW1lbnNpb24uQW5ndWxhckNMSU1ham9yVmVyc2lvbl06IFZFUlNJT04ubWFqb3IsXG4gICAgfTtcbiAgfVxuXG4gIHJlcG9ydFdvcmtzcGFjZUluZm9FdmVudChcbiAgICBwYXJhbWV0ZXJzOiBQYXJ0aWFsPFJlY29yZDxFdmVudEN1c3RvbU1ldHJpYywgc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciB8IHVuZGVmaW5lZD4+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50KCd3b3Jrc3BhY2VfaW5mbycsIHBhcmFtZXRlcnMpO1xuICB9XG5cbiAgcmVwb3J0UmVidWlsZFJ1bkV2ZW50KFxuICAgIHBhcmFtZXRlcnM6IFBhcnRpYWw8XG4gICAgICBSZWNvcmQ8RXZlbnRDdXN0b21NZXRyaWMgJiBFdmVudEN1c3RvbURpbWVuc2lvbiwgc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciB8IHVuZGVmaW5lZD5cbiAgICA+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50KCdydW5fcmVidWlsZCcsIHBhcmFtZXRlcnMpO1xuICB9XG5cbiAgcmVwb3J0QnVpbGRSdW5FdmVudChcbiAgICBwYXJhbWV0ZXJzOiBQYXJ0aWFsPFxuICAgICAgUmVjb3JkPEV2ZW50Q3VzdG9tTWV0cmljICYgRXZlbnRDdXN0b21EaW1lbnNpb24sIHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCB1bmRlZmluZWQ+XG4gICAgPixcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudCgncnVuX2J1aWxkJywgcGFyYW1ldGVycyk7XG4gIH1cblxuICByZXBvcnRBcmNoaXRlY3RSdW5FdmVudChwYXJhbWV0ZXJzOiBQYXJ0aWFsPFJlY29yZDxFdmVudEN1c3RvbURpbWVuc2lvbiwgUHJpbWl0aXZlVHlwZXM+Pik6IHZvaWQge1xuICAgIHRoaXMuZXZlbnQoJ3J1bl9hcmNoaXRlY3QnLCBwYXJhbWV0ZXJzKTtcbiAgfVxuXG4gIHJlcG9ydFNjaGVtYXRpY1J1bkV2ZW50KHBhcmFtZXRlcnM6IFBhcnRpYWw8UmVjb3JkPEV2ZW50Q3VzdG9tRGltZW5zaW9uLCBQcmltaXRpdmVUeXBlcz4+KTogdm9pZCB7XG4gICAgdGhpcy5ldmVudCgncnVuX3NjaGVtYXRpYycsIHBhcmFtZXRlcnMpO1xuICB9XG5cbiAgcmVwb3J0Q29tbWFuZFJ1bkV2ZW50KGNvbW1hbmQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnQoJ3J1bl9jb21tYW5kJywgeyBbRXZlbnRDdXN0b21EaW1lbnNpb24uQ29tbWFuZF06IGNvbW1hbmQgfSk7XG4gIH1cblxuICBwcml2YXRlIGV2ZW50KGV2ZW50TmFtZTogc3RyaW5nLCBwYXJhbWV0ZXJzPzogUmVjb3JkPHN0cmluZywgUHJpbWl0aXZlVHlwZXM+KTogdm9pZCB7XG4gICAgdGhpcy50cmFja2luZ0V2ZW50c1F1ZXVlID8/PSBbXTtcbiAgICB0aGlzLnRyYWNraW5nRXZlbnRzUXVldWUucHVzaCh7XG4gICAgICAuLi50aGlzLnVzZXJQYXJhbWV0ZXJzLFxuICAgICAgLi4ucGFyYW1ldGVycyxcbiAgICAgICdlbic6IGV2ZW50TmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbHVzaCBvbiBhbiBpbnRlcnZhbCAoaWYgdGhlIGV2ZW50IGxvb3AgaXMgd2FpdGluZykuXG4gICAqXG4gICAqIEByZXR1cm5zIGEgbWV0aG9kIHRoYXQgd2hlbiBjYWxsZWQgd2lsbCB0ZXJtaW5hdGUgdGhlIHBlcmlvZGljXG4gICAqIGZsdXNoIGFuZCBjYWxsIGZsdXNoIG9uZSBsYXN0IHRpbWUuXG4gICAqL1xuICBwZXJpb2RGbHVzaCgpOiAoKSA9PiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgYW5hbHl0aWNzRmx1c2hQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgY29uc3QgYW5hbHl0aWNzRmx1c2hJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnRyYWNraW5nRXZlbnRzUXVldWU/Lmxlbmd0aCkge1xuICAgICAgICBhbmFseXRpY3NGbHVzaFByb21pc2UgPSBhbmFseXRpY3NGbHVzaFByb21pc2UudGhlbigoKSA9PiB0aGlzLmZsdXNoKCkpO1xuICAgICAgfVxuICAgIH0sIDQwMDApO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFySW50ZXJ2YWwoYW5hbHl0aWNzRmx1c2hJbnRlcnZhbCk7XG5cbiAgICAgIC8vIEZsdXNoIG9uZSBsYXN0IHRpbWUuXG4gICAgICByZXR1cm4gYW5hbHl0aWNzRmx1c2hQcm9taXNlLnRoZW4oKCkgPT4gdGhpcy5mbHVzaCgpKTtcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGVuZGluZ1RyYWNraW5nRXZlbnRzID0gdGhpcy50cmFja2luZ0V2ZW50c1F1ZXVlO1xuICAgIHRoaXMuY29udGV4dC5sb2dnZXIuZGVidWcoYEFuYWx5dGljcyBmbHVzaCBzaXplLiAke3BlbmRpbmdUcmFja2luZ0V2ZW50cz8ubGVuZ3RofS5gKTtcblxuICAgIGlmICghcGVuZGluZ1RyYWNraW5nRXZlbnRzPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBUaGUgYmVsb3cgaXMgbmVlZGVkIHNvIHRoYXQgaWYgZmx1c2ggaXMgY2FsbGVkIG11bHRpcGxlIHRpbWVzLFxuICAgIC8vIHdlIGRvbid0IHJlcG9ydCB0aGUgc2FtZSBldmVudCBtdWx0aXBsZSB0aW1lcy5cbiAgICB0aGlzLnRyYWNraW5nRXZlbnRzUXVldWUgPSB1bmRlZmluZWQ7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5zZW5kKHBlbmRpbmdUcmFja2luZ0V2ZW50cyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEZhaWx1cmUgdG8gcmVwb3J0IGFuYWx5dGljcyBzaG91bGRuJ3QgY3Jhc2ggdGhlIENMSS5cbiAgICAgIGFzc2VydElzRXJyb3IoZXJyb3IpO1xuICAgICAgdGhpcy5jb250ZXh0LmxvZ2dlci5kZWJ1ZyhgU2VuZCBhbmFseXRpY3MgZXJyb3IuICR7ZXJyb3IubWVzc2FnZX0uYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZW5kKGRhdGE6IFJlY29yZDxzdHJpbmcsIFByaW1pdGl2ZVR5cGVzIHwgdW5kZWZpbmVkPltdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gVGVtcG9yYXJpbHkgZGlzYWJsZSBzZW5kaW5nIGFuYWx5dGljcy5cbiAgICBpZiAodHJ1ZSBhcyBib29sZWFuKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBodHRwcy5yZXF1ZXN0KFxuICAgICAgICB7XG4gICAgICAgICAgaG9zdDogJ3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbScsXG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgcGF0aDogJy9nL2NvbGxlY3Q/JyArIHRoaXMucmVxdWVzdFBhcmFtZXRlclN0cmluZ2lmaWVkLFxuICAgICAgICB9LFxuICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzQ29kZSAhPT0gMjAwICYmIHJlc3BvbnNlLnN0YXR1c0NvZGUgIT09IDIwNCkge1xuICAgICAgICAgICAgcmVqZWN0KFxuICAgICAgICAgICAgICBuZXcgRXJyb3IoYEFuYWx5dGljcyByZXBvcnRpbmcgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGU6ICR7cmVzcG9uc2Uuc3RhdHVzQ29kZX0uYCksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgcmVxdWVzdC5vbignZXJyb3InLCByZWplY3QpO1xuICAgICAgY29uc3QgcXVlcnlQYXJhbWV0ZXJzID0gZGF0YS5tYXAoKHApID0+IHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShwKSkuam9pbignXFxuJyk7XG4gICAgICByZXF1ZXN0LndyaXRlKHF1ZXJ5UGFyYW1ldGVycyk7XG4gICAgICByZXF1ZXN0LmVuZCgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- export declare type PrimitiveTypes = string | number | boolean;
8
+ export type PrimitiveTypes = string | number | boolean;
9
9
  /**
10
10
  * GA built-in request parameters
11
11
  * @see https://www.thyngster.com/ga4-measurement-protocol-cheatsheet
@@ -103,3 +103,4 @@ var EventCustomMetric;
103
103
  EventCustomMetric["LibraryProjectsCount"] = "epn.libs_projects_count";
104
104
  EventCustomMetric["ApplicationProjectsCount"] = "epn.apps_projects_count";
105
105
  })(EventCustomMetric = exports.EventCustomMetric || (exports.EventCustomMetric = {}));
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLXBhcmFtZXRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2NsaS9zcmMvYW5hbHl0aWNzL2FuYWx5dGljcy1wYXJhbWV0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUlIOzs7O0dBSUc7QUFDSCxJQUFZLGdCQXdCWDtBQXhCRCxXQUFZLGdCQUFnQjtJQUMxQixvQ0FBZ0IsQ0FBQTtJQUNoQixzQ0FBa0IsQ0FBQTtJQUNsQixzQ0FBa0IsQ0FBQTtJQUNsQixtQ0FBZSxDQUFBO0lBQ2Ysc0NBQWtCLENBQUE7SUFDbEIseUNBQXFCLENBQUE7SUFDckIsdUNBQW1CLENBQUE7SUFDbkIsb0NBQWdCLENBQUE7SUFDaEIseUNBQXFCLENBQUE7SUFDckIsMENBQXNCLENBQUE7SUFDdEIscUNBQWlCLENBQUE7SUFDakIseUNBQXFCLENBQUE7SUFDckIsd0NBQW9CLENBQUE7SUFDcEIsc0NBQWtCLENBQUE7SUFDbEIsc0NBQWtCLENBQUE7SUFDbEIsaURBQTZCLENBQUE7SUFDN0IsNENBQXdCLENBQUE7SUFDeEIsc0RBQWtDLENBQUE7SUFDbEMsNENBQXdCLENBQUE7SUFDeEIsMENBQXNCLENBQUE7SUFDdEIsNkNBQXlCLENBQUE7SUFDekIscURBQWlDLENBQUE7SUFDakMsa0NBQWMsQ0FBQTtBQUNoQixDQUFDLEVBeEJXLGdCQUFnQixHQUFoQix3QkFBZ0IsS0FBaEIsd0JBQWdCLFFBd0IzQjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxJQUFZLG1CQVVYO0FBVkQsV0FBWSxtQkFBbUI7SUFDN0IsK0NBQXdCLENBQUE7SUFDeEIsK0RBQXdDLENBQUE7SUFDeEMseURBQWtDLENBQUE7SUFDbEMscUVBQThDLENBQUE7SUFDOUMsOERBQXVDLENBQUE7SUFDdkMsMEVBQW1ELENBQUE7SUFDbkQsK0RBQXdDLENBQUE7SUFDeEMsMEVBQW1ELENBQUE7SUFDbkQsZ0ZBQXlELENBQUE7QUFDM0QsQ0FBQyxFQVZXLG1CQUFtQixHQUFuQiwyQkFBbUIsS0FBbkIsMkJBQW1CLFFBVTlCO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILElBQVksb0JBWVg7QUFaRCxXQUFZLG9CQUFvQjtJQUM5QixpREFBeUIsQ0FBQTtJQUN6QixtRkFBMkQsQ0FBQTtJQUMzRCw4REFBc0MsQ0FBQTtJQUN0Qyx1REFBK0IsQ0FBQTtJQUMvQiw2Q0FBcUIsQ0FBQTtJQUNyQixpREFBeUIsQ0FBQTtJQUN6QixnRUFBd0MsQ0FBQTtJQUN4QywwREFBa0MsQ0FBQTtJQUNsQyw4REFBc0MsQ0FBQTtJQUN0Qyx5Q0FBaUIsQ0FBQTtJQUNqQiwyREFBbUMsQ0FBQTtBQUNyQyxDQUFDLEVBWlcsb0JBQW9CLEdBQXBCLDRCQUFvQixLQUFwQiw0QkFBb0IsUUFZL0I7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsSUFBWSxpQkFZWDtBQVpELFdBQVksaUJBQWlCO0lBQzNCLCtEQUEwQyxDQUFBO0lBQzFDLGlFQUE0QyxDQUFBO0lBQzVDLHVFQUFrRCxDQUFBO0lBQ2xELHVFQUFrRCxDQUFBO0lBQ2xELHdEQUFtQyxDQUFBO0lBQ25DLDZEQUF3QyxDQUFBO0lBQ3hDLDJEQUFzQyxDQUFBO0lBQ3RDLGdFQUEyQyxDQUFBO0lBQzNDLGdFQUEyQyxDQUFBO0lBQzNDLHFFQUFnRCxDQUFBO0lBQ2hELHlFQUFvRCxDQUFBO0FBQ3RELENBQUMsRUFaVyxpQkFBaUIsR0FBakIseUJBQWlCLEtBQWpCLHlCQUFpQixRQVk1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgdHlwZSBQcmltaXRpdmVUeXBlcyA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XG5cbi8qKlxuICogR0EgYnVpbHQtaW4gcmVxdWVzdCBwYXJhbWV0ZXJzXG4gKiBAc2VlIGh0dHBzOi8vd3d3LnRoeW5nc3Rlci5jb20vZ2E0LW1lYXN1cmVtZW50LXByb3RvY29sLWNoZWF0c2hlZXRcbiAqIEBzZWUgaHR0cDovL2dvL2RlcG90L2dvb2dsZTMvYW5hbHl0aWNzL2NvbnRhaW5lcl90YWcvdGVtcGxhdGVzL2NvbW1vbi9nb2xkL21wdjJfc2NoZW1hLmpzXG4gKi9cbmV4cG9ydCBlbnVtIFJlcXVlc3RQYXJhbWV0ZXIge1xuICBDbGllbnRJZCA9ICdjaWQnLFxuICBEZWJ1Z1ZpZXcgPSAnX2RiZycsXG4gIEd0bVZlcnNpb24gPSAnZ3RtJyxcbiAgTGFuZ3VhZ2UgPSAndWwnLFxuICBOZXdUb1NpdGUgPSAnX25zaScsXG4gIE5vbkludGVyYWN0aW9uID0gJ25pJyxcbiAgUGFnZUxvY2F0aW9uID0gJ2RsJyxcbiAgUGFnZVRpdGxlID0gJ2R0JyxcbiAgUHJvdG9jb2xWZXJzaW9uID0gJ3YnLFxuICBTZXNzaW9uRW5nYWdlZCA9ICdzZWcnLFxuICBTZXNzaW9uSWQgPSAnc2lkJyxcbiAgU2Vzc2lvbk51bWJlciA9ICdzY3QnLFxuICBTZXNzaW9uU3RhcnQgPSAnX3NzJyxcbiAgVHJhY2tpbmdJZCA9ICd0aWQnLFxuICBUcmFmZmljVHlwZSA9ICd0dCcsXG4gIFVzZXJBZ2VudEFyY2hpdGVjdHVyZSA9ICd1YWEnLFxuICBVc2VyQWdlbnRCaXRuZXNzID0gJ3VhYicsXG4gIFVzZXJBZ2VudEZ1bGxWZXJzaW9uTGlzdCA9ICd1YWZ2bCcsXG4gIFVzZXJBZ2VudE1vYmlsZSA9ICd1YW1iJyxcbiAgVXNlckFnZW50TW9kZWwgPSAndWFtJyxcbiAgVXNlckFnZW50UGxhdGZvcm0gPSAndWFwJyxcbiAgVXNlckFnZW50UGxhdGZvcm1WZXJzaW9uID0gJ3VhcHYnLFxuICBVc2VySWQgPSAndWlkJyxcbn1cblxuLyoqXG4gKiBVc2VyIHNjb3BlZCBjdXN0b20gZGltZW5zaW9ucy5cbiAqIEBub3Rlc1xuICogLSBVc2VyIGN1c3RvbSBkaW1lbnNpb25zIGxpbWl0IGlzIDI1LlxuICogLSBgdXAuKmAgc3RyaW5nIHR5cGUuXG4gKiAtIGB1cG4uKmAgbnVtYmVyIHR5cGUuXG4gKiBAc2VlIGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2FuYWx5dGljcy9hbnN3ZXIvMTAwNzUyMDk/aGw9ZW5cbiAqL1xuZXhwb3J0IGVudW0gVXNlckN1c3RvbURpbWVuc2lvbiB7XG4gIFVzZXJJZCA9ICd1cC5uZ191c2VyX2lkJyxcbiAgT3NBcmNoaXRlY3R1cmUgPSAndXAubmdfb3NfYXJjaGl0ZWN0dXJlJyxcbiAgTm9kZVZlcnNpb24gPSAndXAubmdfbm9kZV92ZXJzaW9uJyxcbiAgTm9kZU1ham9yVmVyc2lvbiA9ICd1cG4ubmdfbm9kZV9tYWpvcl92ZXJzaW9uJyxcbiAgQW5ndWxhckNMSVZlcnNpb24gPSAndXAubmdfY2xpX3ZlcnNpb24nLFxuICBBbmd1bGFyQ0xJTWFqb3JWZXJzaW9uID0gJ3Vwbi5uZ19jbGlfbWFqb3JfdmVyc2lvbicsXG4gIFBhY2thZ2VNYW5hZ2VyID0gJ3VwLm5nX3BhY2thZ2VfbWFuYWdlcicsXG4gIFBhY2thZ2VNYW5hZ2VyVmVyc2lvbiA9ICd1cC5uZ19wa2dfbWFuYWdlcl92ZXJzaW9uJyxcbiAgUGFja2FnZU1hbmFnZXJNYWpvclZlcnNpb24gPSAndXBuLm5nX3BrZ19tYW5hZ2VyX21ham9yX3YnLFxufVxuXG4vKipcbiAqIEV2ZW50IHNjb3BlZCBjdXN0b20gZGltZW5zaW9ucy5cbiAqIEBub3Rlc1xuICogLSBFdmVudCBjdXN0b20gZGltZW5zaW9ucyBsaW1pdCBpcyA1MC5cbiAqIC0gYGVwLipgIHN0cmluZyB0eXBlLlxuICogLSBgZXBuLipgIG51bWJlciB0eXBlLlxuICogQHNlZSBodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS9hbmFseXRpY3MvYW5zd2VyLzEwMDc1MjA5P2hsPWVuXG4gKi9cbmV4cG9ydCBlbnVtIEV2ZW50Q3VzdG9tRGltZW5zaW9uIHtcbiAgQ29tbWFuZCA9ICdlcC5uZ19jb21tYW5kJyxcbiAgU2NoZW1hdGljQ29sbGVjdGlvbk5hbWUgPSAnZXAubmdfc2NoZW1hdGljX2NvbGxlY3Rpb25fbmFtZScsXG4gIFNjaGVtYXRpY05hbWUgPSAnZXAubmdfc2NoZW1hdGljX25hbWUnLFxuICBTdGFuZGFsb25lID0gJ2VwLm5nX3N0YW5kYWxvbmUnLFxuICBTdHlsZSA9ICdlcC5uZ19zdHlsZScsXG4gIFJvdXRpbmcgPSAnZXAubmdfcm91dGluZycsXG4gIElubGluZVRlbXBsYXRlID0gJ2VwLm5nX2lubGluZV90ZW1wbGF0ZScsXG4gIElubGluZVN0eWxlID0gJ2VwLm5nX2lubGluZV9zdHlsZScsXG4gIEJ1aWxkZXJUYXJnZXQgPSAnZXAubmdfYnVpbGRlcl90YXJnZXQnLFxuICBBb3QgPSAnZXAubmdfYW90JyxcbiAgT3B0aW1pemF0aW9uID0gJ2VwLm5nX29wdGltaXphdGlvbicsXG59XG5cbi8qKlxuICogRXZlbnQgc2NvcGVkIGN1c3RvbSBtZXJ0aWNzLlxuICogQG5vdGVzXG4gKiAtIEV2ZW50IHNjb3BlZCBjdXN0b20gbWVydGljcyBsaW1pdCBpcyA1MC5cbiAqIC0gYGVwLipgIHN0cmluZyB0eXBlLlxuICogLSBgZXBuLipgIG51bWJlciB0eXBlLlxuICogQHNlZSBodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS9hbmFseXRpY3MvYW5zd2VyLzEwMDc1MjA5P2hsPWVuXG4gKi9cbmV4cG9ydCBlbnVtIEV2ZW50Q3VzdG9tTWV0cmljIHtcbiAgQWxsQ2h1bmtzQ291bnQgPSAnZXBuLm5nX2FsbF9jaHVua3NfY291bnQnLFxuICBMYXp5Q2h1bmtzQ291bnQgPSAnZXBuLm5nX2xhenlfY2h1bmtzX2NvdW50JyxcbiAgSW5pdGlhbENodW5rc0NvdW50ID0gJ2Vwbi5uZ19pbml0aWFsX2NodW5rc19jb3VudCcsXG4gIENoYW5nZWRDaHVua3NDb3VudCA9ICdlcG4ubmdfY2hhbmdlZF9jaHVua3NfY291bnQnLFxuICBEdXJhdGlvbkluTXMgPSAnZXBuLm5nX2R1cmF0aW9uX21zJyxcbiAgQ3NzU2l6ZUluQnl0ZXMgPSAnZXBuLm5nX2Nzc19zaXplX2J5dGVzJyxcbiAgSnNTaXplSW5CeXRlcyA9ICdlcG4ubmdfanNfc2l6ZV9ieXRlcycsXG4gIE5nQ29tcG9uZW50Q291bnQgPSAnZXBuLm5nX2NvbXBvbmVudF9jb3VudCcsXG4gIEFsbFByb2plY3RzQ291bnQgPSAnZXBuLmFsbF9wcm9qZWN0c19jb3VudCcsXG4gIExpYnJhcnlQcm9qZWN0c0NvdW50ID0gJ2Vwbi5saWJzX3Byb2plY3RzX2NvdW50JyxcbiAgQXBwbGljYXRpb25Qcm9qZWN0c0NvdW50ID0gJ2Vwbi5hcHBzX3Byb2plY3RzX2NvdW50Jyxcbn1cbiJdfQ==
File without changes
@@ -214,3 +214,4 @@ async function getAnalyticsInfoString(context) {
214
214
  ` + '\n');
215
215
  }
216
216
  exports.getAnalyticsInfoString = getAnalyticsInfoString;
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9jbGkvc3JjL2FuYWx5dGljcy9hbmFseXRpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCwrQ0FBa0Q7QUFDbEQsbUNBQW9DO0FBRXBDLDhDQUE0QztBQUM1QyxnREFBbUQ7QUFDbkQsMEVBQXFFO0FBQ3JFLDBDQUF5QztBQUV6QywrQkFBK0I7QUFFL0I7O0dBRUc7QUFDVSxRQUFBLHdCQUF3QixHQUFHO0lBQ3RDLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtDQUN0QixDQUFDO0FBRUYsU0FBZ0IsNkJBQTZCLENBQUMsSUFBWTtJQUN4RCxPQUFPLGdDQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQy9DLElBQUksT0FBTyxPQUFPLElBQUksUUFBUSxFQUFFO1lBQzlCLE9BQU8sT0FBTyxLQUFLLElBQUksQ0FBQztTQUN6QjthQUFNO1lBQ0wsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBUkQsc0VBUUM7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLE1BQWUsRUFBRSxLQUF1Qjs7O0lBQy9FLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLHFCQUFZLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLEtBQUssYUFBYSxDQUFDLENBQUM7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LENBQUMsVUFBVTtJQUMvRCxHQUFHLElBQUksQ0FDUixDQUFDO0FBQ0osQ0FBQztBQWxCRCx3REFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsganNvbiwgdGFncyB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHR5cGUgeyBDb21tYW5kQ29udGV4dCB9IGZyb20gJy4uL2NvbW1hbmQtYnVpbGRlci9jb21tYW5kLW1vZHVsZSc7XG5pbXBvcnQgeyBjb2xvcnMgfSBmcm9tICcuLi91dGlsaXRpZXMvY29sb3InO1xuaW1wb3J0IHsgZ2V0V29ya3NwYWNlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2NvbmZpZyc7XG5pbXBvcnQgeyBhbmFseXRpY3NEaXNhYmxlZCB9IGZyb20gJy4uL3V0aWxpdGllcy9lbnZpcm9ubWVudC1vcHRpb25zJztcbmltcG9ydCB7IGlzVFRZIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3R0eSc7XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSB1bHRpbWF0ZSBzYWZlbGlzdCBmb3IgY2hlY2tpbmcgaWYgYSBwYWNrYWdlIG5hbWUgaXMgc2FmZSB0byByZXBvcnQgdG8gYW5hbHl0aWNzLlxuICovXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzUGFja2FnZVNhZmVsaXN0ID0gW1xuICAvXkBhbmd1bGFyXFwvLyxcbiAgL15AYW5ndWxhci1kZXZraXRcXC8vLFxuICAvXkBuZ3VuaXZlcnNhbFxcLy8sXG4gICdAc2NoZW1hdGljcy9hbmd1bGFyJyxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1BhY2thZ2VOYW1lU2FmZUZvckFuYWx5dGljcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFuYWx5dGljc1BhY2thZ2VTYWZlbGlzdC5zb21lKChwYXR0ZXJuKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBwYXR0ZXJuID09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gcGF0dGVybiA9PT0gbmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHBhdHRlcm4udGVzdChuYW1lKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFNldCBhbmFseXRpY3Mgc2V0dGluZ3MuIFRoaXMgZG9lcyBub3Qgd29yayBpZiB0aGUgdXNlciBpcyBub3QgaW5zaWRlIGEgcHJvamVjdC5cbiAqIEBwYXJhbSBnbG9iYWwgV2hpY2ggY29uZmlnIHRvIHVzZS4gXCJnbG9iYWxcIiBmb3IgdXNlci1sZXZlbCwgYW5kIFwibG9jYWxcIiBmb3IgcHJvamVjdC1sZXZlbC5cbiAqIEBwYXJhbSB2YWx1ZSBFaXRoZXIgYSB1c2VyIElELCB0cnVlIHRvIGdlbmVyYXRlIGEgbmV3IFVzZXIgSUQsIG9yIGZhbHNlIHRvIGRpc2FibGUgYW5hbHl0aWNzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0QW5hbHl0aWNzQ29uZmlnKGdsb2JhbDogYm9vbGVhbiwgdmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgbGV2ZWwgPSBnbG9iYWwgPyAnZ2xvYmFsJyA6ICdsb2NhbCc7XG4gIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShsZXZlbCk7XG4gIGlmICghd29ya3NwYWNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCAke2xldmVsfSB3b3Jrc3BhY2UuYCk7XG4gIH1cblxuICBjb25zdCBjbGkgPSAod29ya3NwYWNlLmV4dGVuc2lvbnNbJ2NsaSddID8/PSB7fSk7XG4gIGlmICghd29ya3NwYWNlIHx8ICFqc29uLmlzSnNvbk9iamVjdChjbGkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbmZpZyBmb3VuZCBhdCAke3dvcmtzcGFjZS5maWxlUGF0aH0uIENMSSBzaG91bGQgYmUgYW4gb2JqZWN0LmApO1xuICB9XG5cbiAgY2xpLmFuYWx5dGljcyA9IHZhbHVlID09PSB0cnVlID8gcmFuZG9tVVVJRCgpIDogdmFsdWU7XG4gIGF3YWl0IHdvcmtzcGFjZS5zYXZlKCk7XG59XG5cbi8qKlxuICogUHJvbXB0IHRoZSB1c2VyIGZvciB1c2FnZSBnYXRoZXJpbmcgcGVybWlzc2lvbi5cbiAqIEBwYXJhbSBmb3JjZSBXaGV0aGVyIHRvIGFzayByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZSB1c2VyIGlzIHVzaW5nIGFuIGludGVyYWN0aXZlIHNoZWxsLlxuICogQHJldHVybiBXaGV0aGVyIG9yIG5vdCB0aGUgdXNlciB3YXMgc2hvd24gYSBwcm9tcHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9tcHRBbmFseXRpY3MoXG4gIGNvbnRleHQ6IENvbW1hbmRDb250ZXh0LFxuICBnbG9iYWw6IGJvb2xlYW4sXG4gIGZvcmNlID0gZmFsc2UsXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgbGV2ZWwgPSBnbG9iYWwgPyAnZ2xvYmFsJyA6ICdsb2NhbCc7XG4gIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShsZXZlbCk7XG4gIGlmICghd29ya3NwYWNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBhICR7bGV2ZWx9IHdvcmtzcGFjZS4gQXJlIHlvdSBpbiBhIHByb2plY3Q/YCk7XG4gIH1cblxuICBpZiAoZm9yY2UgfHwgaXNUVFkoKSkge1xuICAgIGNvbnN0IHsgcHJvbXB0IH0gPSBhd2FpdCBpbXBvcnQoJ2lucXVpcmVyJyk7XG4gICAgY29uc3QgYW5zd2VycyA9IGF3YWl0IHByb21wdDx7IGFuYWx5dGljczogYm9vbGVhbiB9PihbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdjb25maXJtJyxcbiAgICAgICAgbmFtZTogJ2FuYWx5dGljcycsXG4gICAgICAgIG1lc3NhZ2U6IHRhZ3Muc3RyaXBJbmRlbnRzYFxuICAgICAgICAgICBXb3VsZCB5b3UgbGlrZSB0byBzaGFyZSBwc2V1ZG9ueW1vdXMgdXNhZ2UgZGF0YSBhYm91dCB0aGlzIHByb2plY3Qgd2l0aCB0aGUgQW5ndWxhciBUZWFtXG4gICAgICAgICAgIGF0IEdvb2dsZSB1bmRlciBHb29nbGUncyBQcml2YWN5IFBvbGljeSBhdCBodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeS4gRm9yIG1vcmVcbiAgICAgICAgICAgZGV0YWlscyBhbmQgaG93IHRvIGNoYW5nZSB0aGlzIHNldHRpbmcsIHNlZSBodHRwczovL2FuZ3VsYXIuaW8vYW5hbHl0aWNzLlxuXG4gICAgICAgICBgLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSk7XG5cbiAgICBhd2FpdCBzZXRBbmFseXRpY3NDb25maWcoZ2xvYmFsLCBhbnN3ZXJzLmFuYWx5dGljcyk7XG5cbiAgICBpZiAoYW5zd2Vycy5hbmFseXRpY3MpIHtcbiAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICB0YWdzLnN0cmlwSW5kZW50YFxuICAgICAgICAgVGhhbmsgeW91IGZvciBzaGFyaW5nIHBzZXVkb255bW91cyB1c2FnZSBkYXRhLiBTaG91bGQgeW91IGNoYW5nZSB5b3VyIG1pbmQsIHRoZSBmb2xsb3dpbmdcbiAgICAgICAgIGNvbW1hbmQgd2lsbCBkaXNhYmxlIHRoaXMgZmVhdHVyZSBlbnRpcmVseTpcblxuICAgICAgICAgICAgICR7Y29sb3JzLnllbGxvdyhgbmcgYW5hbHl0aWNzIGRpc2FibGUke2dsb2JhbCA/ICcgLS1nbG9iYWwnIDogJyd9YCl9XG4gICAgICAgYCxcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgfVxuXG4gICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoYXdhaXQgZ2V0QW5hbHl0aWNzSW5mb1N0cmluZyhjb250ZXh0KSk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIGFuYWx5dGljcyB1c2VyIGlkLlxuICpcbiAqIEByZXR1cm5zXG4gKiAtIGBzdHJpbmdgIHVzZXIgaWQuXG4gKiAtIGBmYWxzZWAgd2hlbiBkaXNhYmxlZC5cbiAqIC0gYHVuZGVmaW5lZGAgd2hlbiBub3QgY29uZmlndXJlZC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0QW5hbHl0aWNzVXNlcklkRm9yTGV2ZWwoXG4gIGxldmVsOiAnbG9jYWwnIHwgJ2dsb2JhbCcsXG4pOiBQcm9taXNlPHN0cmluZyB8IGZhbHNlIHwgdW5kZWZpbmVkPiB7XG4gIGlmIChhbmFseXRpY3NEaXNhYmxlZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShsZXZlbCk7XG4gIGNvbnN0IGFuYWx5dGljc0NvbmZpZzogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCB8IHsgdWlkPzogc3RyaW5nIH0gfCBib29sZWFuID1cbiAgICB3b3Jrc3BhY2U/LmdldENsaSgpPy5bJ2FuYWx5dGljcyddO1xuXG4gIGlmIChhbmFseXRpY3NDb25maWcgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKGFuYWx5dGljc0NvbmZpZyA9PT0gdW5kZWZpbmVkIHx8IGFuYWx5dGljc0NvbmZpZyA9PT0gbnVsbCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHR5cGVvZiBhbmFseXRpY3NDb25maWcgPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBhbmFseXRpY3NDb25maWc7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYW5hbHl0aWNzQ29uZmlnID09ICdvYmplY3QnICYmIHR5cGVvZiBhbmFseXRpY3NDb25maWdbJ3VpZCddID09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYW5hbHl0aWNzQ29uZmlnWyd1aWQnXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBbmFseXRpY3NVc2VySWQoXG4gIGNvbnRleHQ6IENvbW1hbmRDb250ZXh0LFxuICBza2lwUHJvbXB0ID0gZmFsc2UsXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCB7IHdvcmtzcGFjZSB9ID0gY29udGV4dDtcbiAgLy8gR2xvYmFsIGNvbmZpZyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgbG9jYWwgY29uZmlnIG9ubHkgZm9yIHRoZSBkaXNhYmxlZCBjaGVjay5cbiAgLy8gSUU6XG4gIC8vIGdsb2JhbDogZGlzYWJsZWQgJiBsb2NhbDogZW5hYmxlZCA9IGRpc2FibGVkXG4gIC8vIGdsb2JhbDogaWQ6IDEyMyAmIGxvY2FsOiBpZDogNDU2ID0gNDU2XG5cbiAgLy8gY2hlY2sgZ2xvYmFsXG4gIGNvbnN0IGdsb2JhbENvbmZpZyA9IGF3YWl0IGdldEFuYWx5dGljc1VzZXJJZEZvckxldmVsKCdnbG9iYWwnKTtcbiAgaWYgKGdsb2JhbENvbmZpZyA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gTm90IGRpc2FibGVkIGdsb2JhbGx5LCBjaGVjayBsb2NhbGx5IG9yIG5vdCBzZXQgZ2xvYmFsbHkgYW5kIGNvbW1hbmQgaXMgcnVuIG91dHNpZGUgb2Ygd29ya3NwYWNlIGV4YW1wbGU6IGBuZyBuZXdgXG4gIGlmICh3b3Jrc3BhY2UgfHwgZ2xvYmFsQ29uZmlnID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBsZXZlbCA9IHdvcmtzcGFjZSA/ICdsb2NhbCcgOiAnZ2xvYmFsJztcbiAgICBsZXQgbG9jYWxPckdsb2JhbENvbmZpZyA9IGF3YWl0IGdldEFuYWx5dGljc1VzZXJJZEZvckxldmVsKGxldmVsKTtcbiAgICBpZiAobG9jYWxPckdsb2JhbENvbmZpZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoIXNraXBQcm9tcHQpIHtcbiAgICAgICAgLy8gY29uZmlnIGlzIHVuc2V0LCBwcm9tcHQgdXNlci5cbiAgICAgICAgLy8gVE9ETzogVGhpcyBzaG91bGQgaG9ub3IgdGhlIGBuby1pbnRlcmFjdGl2ZWAgb3B0aW9uLlxuICAgICAgICAvLyBJdCBpcyBjdXJyZW50bHkgbm90IGFuIGBuZ2Agb3B0aW9uIGJ1dCByYXRoZXIgb25seSBhbiBvcHRpb24gZm9yIHNwZWNpZmljIGNvbW1hbmRzLlxuICAgICAgICAvLyBUaGUgY29uY2VwdCBvZiBgbmdgLXdpZGUgb3B0aW9ucyBhcmUgbmVlZGVkIHRvIGNsZWFubHkgaGFuZGxlIHRoaXMuXG4gICAgICAgIGF3YWl0IHByb21wdEFuYWx5dGljcyhjb250ZXh0LCAhd29ya3NwYWNlIC8qKiBnbG9iYWwgKi8pO1xuICAgICAgICBsb2NhbE9yR2xvYmFsQ29uZmlnID0gYXdhaXQgZ2V0QW5hbHl0aWNzVXNlcklkRm9yTGV2ZWwobGV2ZWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChsb2NhbE9yR2xvYmFsQ29uZmlnID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBsb2NhbE9yR2xvYmFsQ29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGxvY2FsT3JHbG9iYWxDb25maWc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGdsb2JhbENvbmZpZztcbn1cblxuZnVuY3Rpb24gYW5hbHl0aWNzQ29uZmlnVmFsdWVUb0h1bWFuRm9ybWF0KHZhbHVlOiB1bmtub3duKTogJ2VuYWJsZWQnIHwgJ2Rpc2FibGVkJyB8ICdub3Qgc2V0JyB7XG4gIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gJ2Rpc2FibGVkJztcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlID09PSB0cnVlKSB7XG4gICAgcmV0dXJuICdlbmFibGVkJztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gJ25vdCBzZXQnO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBbmFseXRpY3NJbmZvU3RyaW5nKGNvbnRleHQ6IENvbW1hbmRDb250ZXh0KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgYW5hbHl0aWNzSW5zdGFuY2UgPSBhd2FpdCBnZXRBbmFseXRpY3NVc2VySWQoY29udGV4dCwgdHJ1ZSAvKiogc2tpcFByb21wdCAqLyk7XG5cbiAgY29uc3QgeyBnbG9iYWxDb25maWd1cmF0aW9uLCB3b3Jrc3BhY2U6IGxvY2FsV29ya3NwYWNlIH0gPSBjb250ZXh0O1xuICBjb25zdCBnbG9iYWxTZXR0aW5nID0gZ2xvYmFsQ29uZmlndXJhdGlvbj8uZ2V0Q2xpKCk/LlsnYW5hbHl0aWNzJ107XG4gIGNvbnN0IGxvY2FsU2V0dGluZyA9IGxvY2FsV29ya3NwYWNlPy5nZXRDbGkoKT8uWydhbmFseXRpY3MnXTtcblxuICByZXR1cm4gKFxuICAgIHRhZ3Muc3RyaXBJbmRlbnRzYFxuICAgICBHbG9iYWwgc2V0dGluZzogJHthbmFseXRpY3NDb25maWdWYWx1ZVRvSHVtYW5Gb3JtYXQoZ2xvYmFsU2V0dGluZyl9XG4gICAgIExvY2FsIHNldHRpbmc6ICR7XG4gICAgICAgbG9jYWxXb3Jrc3BhY2VcbiAgICAgICAgID8gYW5hbHl0aWNzQ29uZmlnVmFsdWVUb0h1bWFuRm9ybWF0KGxvY2FsU2V0dGluZylcbiAgICAgICAgIDogJ05vIGxvY2FsIHdvcmtzcGFjZSBjb25maWd1cmF0aW9uIGZpbGUuJ1xuICAgICB9XG4gICAgIEVmZmVjdGl2ZSBzdGF0dXM6ICR7YW5hbHl0aWNzSW5zdGFuY2UgPyAnZW5hYmxlZCcgOiAnZGlzYWJsZWQnfVxuICAgYCArICdcXG4nXG4gICk7XG59XG4iXX0=