@cdktn/cli-core 0.25.0-pre.2 → 0.25.0-pre.20

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 (45) hide show
  1. package/build/lib/cdktf-config.d.ts.map +1 -1
  2. package/build/lib/cdktf-config.js +18 -8
  3. package/build/lib/cdktf-project.d.ts.map +1 -1
  4. package/build/lib/cdktf-project.js +3 -3
  5. package/build/lib/cdktf-stack.d.ts.map +1 -1
  6. package/build/lib/cdktf-stack.js +1 -1
  7. package/build/lib/convert.js +19 -10
  8. package/build/lib/dependencies/dependency-manager.d.ts.map +1 -1
  9. package/build/lib/dependencies/dependency-manager.js +18 -8
  10. package/build/lib/dependencies/package-manager.js +18 -8
  11. package/build/lib/dependencies/prebuilt-providers.js +25 -16
  12. package/build/lib/dependencies/registry-api.js +19 -10
  13. package/build/lib/dependencies/version-constraints.js +20 -11
  14. package/build/lib/error-reporting.d.ts.map +1 -1
  15. package/build/lib/error-reporting.js +22 -13
  16. package/build/lib/errors.d.ts.map +1 -1
  17. package/build/lib/execution-logs.js +2 -3
  18. package/build/lib/get.js +21 -11
  19. package/build/lib/helpers/stack-helpers.js +8 -9
  20. package/build/lib/init.js +21 -11
  21. package/build/lib/installed-binary-check.js +19 -10
  22. package/build/lib/local-provider-constraints.js +18 -8
  23. package/build/lib/models/deploy-machine.d.ts +3 -3
  24. package/build/lib/models/deploy-machine.d.ts.map +1 -1
  25. package/build/lib/models/deploy-machine.js +10 -10
  26. package/build/lib/models/interactive-process.js +2 -3
  27. package/build/lib/models/schema.js +18 -8
  28. package/build/lib/models/terraform-cli.d.ts.map +1 -1
  29. package/build/lib/models/terraform-cli.js +21 -11
  30. package/build/lib/models/terraform.js +3 -3
  31. package/build/lib/output.d.ts.map +1 -1
  32. package/build/lib/output.js +21 -11
  33. package/build/lib/provider-add.js +2 -3
  34. package/build/lib/server/terraform-logs.js +2 -3
  35. package/build/lib/synth-stack.js +18 -8
  36. package/build/lib/synth.js +19 -10
  37. package/build/lib/terraform-json.js +18 -8
  38. package/build/lib/watch.d.ts.map +1 -1
  39. package/build/lib/watch.js +19 -10
  40. package/package.json +12 -12
  41. package/templates/java/build.gradle +4 -0
  42. package/templates/python/Pipfile +1 -1
  43. package/templates/typescript/.hooks.sscaff.js +13 -8
  44. package/templates/typescript/cdktf.json +1 -1
  45. package/templates/typescript/tsconfig.json +7 -0
package/build/lib/init.js CHANGED
@@ -15,15 +15,27 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.determineDeps = exports.init = exports.templates = exports.templatesDir = void 0;
36
+ exports.templates = exports.templatesDir = void 0;
37
+ exports.init = init;
38
+ exports.determineDeps = determineDeps;
27
39
  // Copyright (c) HashiCorp, Inc
28
40
  // SPDX-License-Identifier: MPL-2.0
29
41
  const path = __importStar(require("path"));
@@ -77,7 +89,6 @@ async function init({ cdktfVersion, destination, dist, projectId, projectInfo, t
77
89
  }
78
90
  return needsGet;
79
91
  }
80
- exports.init = init;
81
92
  // Each built-in template only consumes the dist artifact for its own
82
93
  // language. Skipping the others lets `cdktn init --dist` work when only
83
94
  // some language dists are present (e.g. CI ran `yarn package:js` only).
@@ -145,5 +156,4 @@ async function determineDeps(version = pkg.version, dist, template) {
145
156
  go_cdktf: `v${version}`,
146
157
  };
147
158
  }
148
- exports.determineDeps = determineDeps;
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQiw4Q0FBZ0M7QUFDaEMsNENBQXdDO0FBRXhDLG1DQUFnQztBQUNoQyxpREFBa0Q7QUFDbEQsaURBQTZDO0FBQzdDLGlEQUE2QztBQUU3QyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxHQUFHLEdBQUcsZUFBZSxFQUFFLENBQUM7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztBQTJCekMsUUFBQSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztBQUUxRSxNQUFNLGtCQUFrQixHQUFHLEVBQUU7S0FDMUIsV0FBVyxDQUFDLG9CQUFZLENBQUM7S0FDekIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN4QixRQUFBLFNBQVMsR0FBYSxFQUFFLENBQUM7QUFDdEMs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cEUseUVBQXlFO0lBQ3pFLFdBQVc7SUFDWCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7SUFFNUQsT0FBTztRQUNMLGFBQWEsRUFBRSxPQUFPO1FBQ3RCLGtCQUFrQixFQUFFLGlCQUFpQjtRQUNyQyxTQUFTLEVBQUUsU0FBUyxHQUFHLEVBQUU7UUFDekIsYUFBYSxFQUFFLGFBQWEsR0FBRyxFQUFFO1FBQ2pDLFVBQVUsRUFBRSxVQUFVLGFBQWEsRUFBRTtRQUNyQyxTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXLEVBQUUsT0FBTztRQUNwQixRQUFRLEVBQUUsSUFBSSxPQUFPLEVBQUU7S0FDeEIsQ0FBQztBQUNKLENBQUM7QUFsRkQsc0NBa0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0ICogYXMgcGtnVXAgZnJvbSBcInBrZy11cFwiO1xuaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbmltcG9ydCB7IHNzY2FmZiB9IGZyb20gXCJzc2NhZmZcIjtcbmltcG9ydCB7IEZVVFVSRV9GTEFHUyB9IGZyb20gXCJjZGt0bi9saWIvZmVhdHVyZXNcIjtcbmltcG9ydCB7IENka3RmQ29uZmlnIH0gZnJvbSBcIi4vY2RrdGYtY29uZmlnXCI7XG5pbXBvcnQgeyBwcm92aWRlckFkZCB9IGZyb20gXCIuL3Byb3ZpZGVyLWFkZFwiO1xuXG5jb25zdCByZWFkUGFja2FnZUpzb24gPSAoKSA9PiB7XG4gIGNvbnN0IHBrZ1BhdGggPSBwa2dVcC5zeW5jKHsgY3dkOiBfX2Rpcm5hbWUgfSk7XG4gIGlmICghcGtnUGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInVuYWJsZSB0byBmaW5kIHBhY2thZ2UuanNvblwiKTtcbiAgfVxuXG4gIHJldHVybiBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwa2dQYXRoLCBcInV0Zi04XCIpKTtcbn07XG5jb25zdCBwa2cgPSByZWFkUGFja2FnZUpzb24oKTtcbmNvbnN0IGNvbnN0cnVjdHNWZXJzaW9uID0gcGtnLmRlcGVuZGVuY2llcy5jb25zdHJ1Y3RzO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsUHJvamVjdCB7XG4gIERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQcm9qZWN0IGV4dGVuZHMgTG9jYWxQcm9qZWN0IHtcbiAgT3JnYW5pemF0aW9uTmFtZTogc3RyaW5nO1xuICBXb3Jrc3BhY2VOYW1lOiBzdHJpbmc7XG4gIFRlcnJhZm9ybVJlbW90ZUhvc3RuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSBQcm9qZWN0ID0gTG9jYWxQcm9qZWN0IHwgUmVtb3RlUHJvamVjdDtcblxuZXhwb3J0IHR5cGUgSW5pdEFyZ3MgPSB7XG4gIGNka3RmVmVyc2lvbj86IHN0cmluZztcbiAgZGVzdGluYXRpb246IHN0cmluZztcbiAgZGlzdD86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogc3RyaW5nW107XG4gIHByb3ZpZGVyc0ZvcmNlTG9jYWw/OiBib29sZWFuO1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgcHJvamVjdEluZm86IFByb2plY3Q7XG4gIHRlbXBsYXRlUGF0aDogc3RyaW5nO1xuICBzZW5kQ3Jhc2hSZXBvcnRzOiBib29sZWFuO1xuICBzaWxlbnQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IHRlbXBsYXRlc0RpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcInRlbXBsYXRlc1wiKTtcblxuY29uc3QgYXZhaWxhYmxlVGVtcGxhdGVzID0gZnNcbiAgLnJlYWRkaXJTeW5jKHRlbXBsYXRlc0RpcilcbiAgLmZpbHRlcigoeCkgPT4gIXguc3RhcnRzV2l0aChcIi5cIikpO1xuZXhwb3J0IGNvbnN0IHRlbXBsYXRlczogc3RyaW5nW10gPSBbXTtcbmZvciAoY29uc3QgdGVtcGxhdGUgb2YgYXZhaWxhYmxlVGVtcGxhdGVzKSB7XG4gIHRlbXBsYXRlcy5wdXNoKHRlbXBsYXRlKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXQoe1xuICBjZGt0ZlZlcnNpb24sXG4gIGRlc3RpbmF0aW9uLFxuICBkaXN0LFxuICBwcm9qZWN0SWQsXG4gIHByb2plY3RJbmZvLFxuICB0ZW1wbGF0ZVBhdGgsXG4gIHNlbmRDcmFzaFJlcG9ydHMsXG4gIHByb3ZpZGVycyxcbiAgcHJvdmlkZXJzRm9yY2VMb2NhbCxcbiAgc2lsZW50LFxufTogSW5pdEFyZ3MpIHtcbiAgY29uc3QgZGVwczogYW55ID0gYXdhaXQgZGV0ZXJtaW5lRGVwcyhcbiAgICBjZGt0ZlZlcnNpb24sXG4gICAgZGlzdCxcbiAgICBwYXRoLmJhc2VuYW1lKHRlbXBsYXRlUGF0aCksXG4gICk7XG5cbiAgY29uc3QgZnV0dXJlRmxhZ3MgPSBPYmplY3QuZW50cmllcyhGVVRVUkVfRkxBR1MpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgICAgIFwiJHtrZXl9XCI6IFwiJHt2YWx1ZX1cImApXG4gICAgLmpvaW4oYCxcXG5gKTtcblxuICBhd2FpdCBzc2NhZmYodGVtcGxhdGVQYXRoLCBkZXN0aW5hdGlvbiwge1xuICAgIC4uLmRlcHMsXG4gICAgLi4ucHJvamVjdEluZm8sXG4gICAgZnV0dXJlRmxhZ3MsXG4gICAgcHJvamVjdElkLFxuICAgIHNlbmRDcmFzaFJlcG9ydHMsXG4gICAgc2lsZW50LFxuICB9KTtcbiAgY29uc3QgY2RrdGZDb25maWcgPSBDZGt0ZkNvbmZpZy5yZWFkKGRlc3RpbmF0aW9uKTtcblxuICBsZXQgbmVlZHNHZXQgPSBmYWxzZTtcbiAgaWYgKHByb3ZpZGVycyAmJiBwcm92aWRlcnMubGVuZ3RoKSB7XG4gICAgbmVlZHNHZXQgPSBhd2FpdCBwcm92aWRlckFkZCh7XG4gICAgICBwcm92aWRlcnM6IHByb3ZpZGVycyxcbiAgICAgIGxhbmd1YWdlOiBjZGt0ZkNvbmZpZy5sYW5ndWFnZSxcbiAgICAgIHByb2plY3REaXJlY3Rvcnk6IGRlc3RpbmF0aW9uLFxuICAgICAgZm9yY2VMb2NhbDogcHJvdmlkZXJzRm9yY2VMb2NhbCxcbiAgICAgIGRpc3QsXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5lZWRzR2V0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcHMge1xuICBucG1fY2RrdGY6IHN0cmluZztcbiAgbnBtX2Nka3RmX2NsaTogc3RyaW5nO1xuICBweXBpX2Nka3RmOiBzdHJpbmc7XG4gIG12bl9jZGt0Zjogc3RyaW5nO1xuICBudWdldF9jZGt0Zjogc3RyaW5nO1xuICBnb19jZGt0Zjogc3RyaW5nO1xuICBjZGt0Zl92ZXJzaW9uOiBzdHJpbmc7XG4gIGNvbnN0cnVjdHNfdmVyc2lvbjogc3RyaW5nO1xufVxudHlwZSBEaXN0S2V5ID0gRXhjbHVkZTxrZXlvZiBEZXBzLCBcImNka3RmX3ZlcnNpb25cIiB8IFwiY29uc3RydWN0c192ZXJzaW9uXCI+O1xuXG4vLyBFYWNoIGJ1aWx0LWluIHRlbXBsYXRlIG9ubHkgY29uc3VtZXMgdGhlIGRpc3QgYXJ0aWZhY3QgZm9yIGl0cyBvd25cbi8vIGxhbmd1YWdlLiBTa2lwcGluZyB0aGUgb3RoZXJzIGxldHMgYGNka3RuIGluaXQgLS1kaXN0YCB3b3JrIHdoZW4gb25seVxuLy8gc29tZSBsYW5ndWFnZSBkaXN0cyBhcmUgcHJlc2VudCAoZS5nLiBDSSByYW4gYHlhcm4gcGFja2FnZTpqc2Agb25seSkuXG5jb25zdCBkaXN0S2V5c0J5VGVtcGxhdGU6IFJlY29yZDxzdHJpbmcsIERpc3RLZXlbXT4gPSB7XG4gIHR5cGVzY3JpcHQ6IFtcIm5wbV9jZGt0ZlwiXSxcbiAgcHl0aG9uOiBbXCJweXBpX2Nka3RmXCJdLFxuICBcInB5dGhvbi1waXBcIjogW1wicHlwaV9jZGt0ZlwiXSxcbiAgamF2YTogW1wibXZuX2Nka3RmXCJdLFxuICBjc2hhcnA6IFtcIm51Z2V0X2Nka3RmXCJdLFxuICBnbzogW1wiZ29fY2RrdGZcIl0sXG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGV0ZXJtaW5lRGVwcyhcbiAgdmVyc2lvbjogc3RyaW5nID0gcGtnLnZlcnNpb24sXG4gIGRpc3Q/OiBzdHJpbmcsXG4gIHRlbXBsYXRlPzogc3RyaW5nLFxuKTogUHJvbWlzZTxEZXBzPiB7XG4gIC8vIFRTOiBjZGt0Zi0wLjEwLjEtZGV2LjIxNjA5MzgyNThcbiAgLy8gUHk6IGNka3RmLTAuMTAuMS5kZXYxNjU4ODIxNDkzLndobFxuICBjb25zdCBweXRob25WZXJzaW9uID0gdmVyc2lvblxuICAgIC5yZXBsYWNlKC8tcHJlXFwuL2csIFwiLmRldlwiKVxuICAgIC5yZXBsYWNlKC8tZGV2XFwuL2csIFwiLmRldlwiKTtcblxuICBpZiAoZGlzdCkge1xuICAgIC8vIFRPRE86IFdoYXQgYWJvdXQgZXhpc3RpbmcgY2RrdGYgVFMvUFkgZGVwZW5kZW5jaWVzP1xuICAgIGNvbnN0IHJldCA9IHtcbiAgICAgIG5wbV9jZGt0ZjogcGF0aC5yZXNvbHZlKGRpc3QsIFwianNcIiwgYGNka3RuQCR7dmVyc2lvbn0uanNpaS50Z3pgKSxcbiAgICAgIG5wbV9jZGt0Zl9jbGk6IHBhdGgucmVzb2x2ZShkaXN0LCBcImpzXCIsIGBjZGt0bi1jbGktJHt2ZXJzaW9ufS50Z3pgKSxcbiAgICAgIHB5cGlfY2RrdGY6IHBhdGgucmVzb2x2ZShcbiAgICAgICAgZGlzdCxcbiAgICAgICAgXCJweXRob25cIixcbiAgICAgICAgYGNka3RuLSR7cHl0aG9uVmVyc2lvbn0tcHkzLW5vbmUtYW55LndobGAsXG4gICAgICApLFxuICAgICAgbXZuX2Nka3RmOiBwYXRoLnJlc29sdmUoXG4gICAgICAgIGRpc3QsXG4gICAgICAgIFwiamF2YVwiLFxuICAgICAgICBgaW8vY2RrdG4vY2RrdG4vJHt2ZXJzaW9ufS9jZGt0bi0ke3ZlcnNpb259LmphcmAsXG4gICAgICApLFxuICAgICAgbnVnZXRfY2RrdGY6IHBhdGgucmVzb2x2ZShkaXN0LCBcImRvdG5ldFwiLCBgSW8uQ2RrdG4uJHt2ZXJzaW9ufS5udXBrZ2ApLFxuICAgICAgZ29fY2RrdGY6IHBhdGgucmVzb2x2ZShkaXN0LCBcImdvXCIsIGBjZGt0bmApLFxuICAgIH07XG5cbiAgICAvLyBJZiB3ZSBrbm93IHRoZSB0ZW1wbGF0ZSwgb25seSB2YWxpZGF0ZSBpdHMgYXJ0aWZhY3Q7IG90aGVyd2lzZSBmYWxsXG4gICAgLy8gYmFjayB0byB2YWxpZGF0aW5nIGV2ZXJ5dGhpbmcgKHByZXNlcnZlcyBwcmlvciBiZWhhdmlvciBmb3IgdW5rbm93biAvXG4gICAgLy8gcmVtb3RlIHRlbXBsYXRlcykuXG4gICAgY29uc3Qga2V5c1RvVmFsaWRhdGU6IERpc3RLZXlbXSA9XG4gICAgICB0ZW1wbGF0ZSAmJiBkaXN0S2V5c0J5VGVtcGxhdGVbdGVtcGxhdGVdXG4gICAgICAgID8gZGlzdEtleXNCeVRlbXBsYXRlW3RlbXBsYXRlXVxuICAgICAgICA6IChPYmplY3Qua2V5cyhyZXQpIGFzIERpc3RLZXlbXSk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzVG9WYWxpZGF0ZSkge1xuICAgICAgY29uc3QgZmlsZSA9IHJldFtrZXldO1xuICAgICAgaWYgKCEoYXdhaXQgZnMucGF0aEV4aXN0cyhmaWxlKSkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICAgIGB1bmFibGUgdG8gZmluZCAke2ZpbGV9IHVuZGVyIHRoZSBcImRpc3RcIiBkaXJlY3RvcnkgKCR7ZGlzdH0pYCxcbiAgICAgICAgICBuZXcgRXJyb3IoKSxcbiAgICAgICAgICB7IHZlcnNpb24gfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB2ZXJzaW9ucyA9IHtcbiAgICAgIGNka3RmX3ZlcnNpb246IHZlcnNpb24sXG4gICAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmV0LFxuICAgICAgLi4udmVyc2lvbnMsXG4gICAgfTtcbiAgfVxuXG4gIGlmICh2ZXJzaW9uID09PSBcIjAuMC4wXCIpIHtcbiAgICB0aHJvdyBFcnJvcnMuVXNhZ2UoXG4gICAgICBgY2Fubm90IHVzZSB2ZXJzaW9uIDAuMC4wLCB1c2UgLS1jZGt0Zi12ZXJzaW9uLCAtLWRpc3Qgb3IgQ0RLVEZfRElTVCB0byBpbnN0YWxsIGZyb20gYSBcImRpc3RcIiBkaXJlY3RvcnlgLFxuICAgICk7XG4gIH1cblxuICAvLyBkZXRlcm1pbmUgaWYgd2Ugd2FudCBhIHNwZWNpZmljIHBpbm5lZCB2ZXJzaW9uIG9yIGEgdmVyc2lvbiByYW5nZSB3ZSB0YWtlXG4gIC8vIGEgcGlubmVkIHZlcnNpb24gaWYgdmVyc2lvbiBpbmNsdWRlcyBhIGh5cGhlbiB3aGljaCBtZWFucyBpdCBpcyBhXG4gIC8vIHByZS1yZWxlYXNlIChlLmcuIFwiMC4xMi4wLXByZS5lNjgzNGQzXCIpLiBvdGhlcndpc2UsIHdlIHJlcXVpcmUgYSBjYXJldFxuICAvLyB2ZXJzaW9uLlxuICBjb25zdCB2ZXIgPSB2ZXJzaW9uLmluY2x1ZGVzKFwiLVwiKSA/IHZlcnNpb24gOiBgXiR7dmVyc2lvbn1gO1xuXG4gIHJldHVybiB7XG4gICAgY2RrdGZfdmVyc2lvbjogdmVyc2lvbixcbiAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIG5wbV9jZGt0ZjogYGNka3RuQCR7dmVyfWAsXG4gICAgbnBtX2Nka3RmX2NsaTogYGNka3RuLWNsaUAke3Zlcn1gLFxuICAgIHB5cGlfY2RrdGY6IGBjZGt0bn49JHtweXRob25WZXJzaW9ufWAsXG4gICAgbXZuX2Nka3RmOiB2ZXJzaW9uLFxuICAgIG51Z2V0X2Nka3RmOiB2ZXJzaW9uLFxuICAgIGdvX2Nka3RmOiBgdiR7dmVyc2lvbn1gLFxuICB9O1xufVxuIl19
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwREEsb0JBMkNDO0FBMEJELHNDQWtGQztBQWpORCwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDJDQUE2QjtBQUM3Qiw2Q0FBK0I7QUFDL0IsOENBQWdDO0FBQ2hDLDRDQUF3QztBQUV4QyxtQ0FBZ0M7QUFDaEMsaURBQWtEO0FBQ2xELGlEQUE2QztBQUM3QyxpREFBNkM7QUFFN0MsTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQzNCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUNGLE1BQU0sR0FBRyxHQUFHLGVBQWUsRUFBRSxDQUFDO0FBQzlCLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7QUEyQnpDLFFBQUEsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFMUUsTUFBTSxrQkFBa0IsR0FBRyxFQUFFO0tBQzFCLFdBQVcsQ0FBQyxvQkFBWSxDQUFDO0tBQ3pCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7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LDRFQUE0RTtJQUM1RSxvRUFBb0U7SUFDcEUseUVBQXlFO0lBQ3pFLFdBQVc7SUFDWCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7SUFFNUQsT0FBTztRQUNMLGFBQWEsRUFBRSxPQUFPO1FBQ3RCLGtCQUFrQixFQUFFLGlCQUFpQjtRQUNyQyxTQUFTLEVBQUUsU0FBUyxHQUFHLEVBQUU7UUFDekIsYUFBYSxFQUFFLGFBQWEsR0FBRyxFQUFFO1FBQ2pDLFVBQVUsRUFBRSxVQUFVLGFBQWEsRUFBRTtRQUNyQyxTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXLEVBQUUsT0FBTztRQUNwQixRQUFRLEVBQUUsSUFBSSxPQUFPLEVBQUU7S0FDeEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgKiBhcyBwa2dVcCBmcm9tIFwicGtnLXVwXCI7XG5pbXBvcnQgeyBFcnJvcnMgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcblxuaW1wb3J0IHsgc3NjYWZmIH0gZnJvbSBcInNzY2FmZlwiO1xuaW1wb3J0IHsgRlVUVVJFX0ZMQUdTIH0gZnJvbSBcImNka3RuL2xpYi9mZWF0dXJlc1wiO1xuaW1wb3J0IHsgQ2RrdGZDb25maWcgfSBmcm9tIFwiLi9jZGt0Zi1jb25maWdcIjtcbmltcG9ydCB7IHByb3ZpZGVyQWRkIH0gZnJvbSBcIi4vcHJvdmlkZXItYWRkXCI7XG5cbmNvbnN0IHJlYWRQYWNrYWdlSnNvbiA9ICgpID0+IHtcbiAgY29uc3QgcGtnUGF0aCA9IHBrZ1VwLnN5bmMoeyBjd2Q6IF9fZGlybmFtZSB9KTtcbiAgaWYgKCFwa2dQYXRoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidW5hYmxlIHRvIGZpbmQgcGFja2FnZS5qc29uXCIpO1xuICB9XG5cbiAgcmV0dXJuIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBrZ1BhdGgsIFwidXRmLThcIikpO1xufTtcbmNvbnN0IHBrZyA9IHJlYWRQYWNrYWdlSnNvbigpO1xuY29uc3QgY29uc3RydWN0c1ZlcnNpb24gPSBwa2cuZGVwZW5kZW5jaWVzLmNvbnN0cnVjdHM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxQcm9qZWN0IHtcbiAgRGVzY3JpcHRpb246IHN0cmluZztcbiAgTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW90ZVByb2plY3QgZXh0ZW5kcyBMb2NhbFByb2plY3Qge1xuICBPcmdhbml6YXRpb25OYW1lOiBzdHJpbmc7XG4gIFdvcmtzcGFjZU5hbWU6IHN0cmluZztcbiAgVGVycmFmb3JtUmVtb3RlSG9zdG5hbWU6IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIFByb2plY3QgPSBMb2NhbFByb2plY3QgfCBSZW1vdGVQcm9qZWN0O1xuXG5leHBvcnQgdHlwZSBJbml0QXJncyA9IHtcbiAgY2RrdGZWZXJzaW9uPzogc3RyaW5nO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICBkaXN0Pzogc3RyaW5nO1xuICBwcm92aWRlcnM/OiBzdHJpbmdbXTtcbiAgcHJvdmlkZXJzRm9yY2VMb2NhbD86IGJvb2xlYW47XG4gIHByb2plY3RJZDogc3RyaW5nO1xuICBwcm9qZWN0SW5mbzogUHJvamVjdDtcbiAgdGVtcGxhdGVQYXRoOiBzdHJpbmc7XG4gIHNlbmRDcmFzaFJlcG9ydHM6IGJvb2xlYW47XG4gIHNpbGVudD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgdGVtcGxhdGVzRGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwidGVtcGxhdGVzXCIpO1xuXG5jb25zdCBhdmFpbGFibGVUZW1wbGF0ZXMgPSBmc1xuICAucmVhZGRpclN5bmModGVtcGxhdGVzRGlyKVxuICAuZmlsdGVyKCh4KSA9PiAheC5zdGFydHNXaXRoKFwiLlwiKSk7XG5leHBvcnQgY29uc3QgdGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtdO1xuZm9yIChjb25zdCB0ZW1wbGF0ZSBvZiBhdmFpbGFibGVUZW1wbGF0ZXMpIHtcbiAgdGVtcGxhdGVzLnB1c2godGVtcGxhdGUpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW5pdCh7XG4gIGNka3RmVmVyc2lvbixcbiAgZGVzdGluYXRpb24sXG4gIGRpc3QsXG4gIHByb2plY3RJZCxcbiAgcHJvamVjdEluZm8sXG4gIHRlbXBsYXRlUGF0aCxcbiAgc2VuZENyYXNoUmVwb3J0cyxcbiAgcHJvdmlkZXJzLFxuICBwcm92aWRlcnNGb3JjZUxvY2FsLFxuICBzaWxlbnQsXG59OiBJbml0QXJncykge1xuICBjb25zdCBkZXBzOiBhbnkgPSBhd2FpdCBkZXRlcm1pbmVEZXBzKFxuICAgIGNka3RmVmVyc2lvbixcbiAgICBkaXN0LFxuICAgIHBhdGguYmFzZW5hbWUodGVtcGxhdGVQYXRoKSxcbiAgKTtcblxuICBjb25zdCBmdXR1cmVGbGFncyA9IE9iamVjdC5lbnRyaWVzKEZVVFVSRV9GTEFHUylcbiAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAgICAgXCIke2tleX1cIjogXCIke3ZhbHVlfVwiYClcbiAgICAuam9pbihgLFxcbmApO1xuXG4gIGF3YWl0IHNzY2FmZih0ZW1wbGF0ZVBhdGgsIGRlc3RpbmF0aW9uLCB7XG4gICAgLi4uZGVwcyxcbiAgICAuLi5wcm9qZWN0SW5mbyxcbiAgICBmdXR1cmVGbGFncyxcbiAgICBwcm9qZWN0SWQsXG4gICAgc2VuZENyYXNoUmVwb3J0cyxcbiAgICBzaWxlbnQsXG4gIH0pO1xuICBjb25zdCBjZGt0ZkNvbmZpZyA9IENka3RmQ29uZmlnLnJlYWQoZGVzdGluYXRpb24pO1xuXG4gIGxldCBuZWVkc0dldCA9IGZhbHNlO1xuICBpZiAocHJvdmlkZXJzICYmIHByb3ZpZGVycy5sZW5ndGgpIHtcbiAgICBuZWVkc0dldCA9IGF3YWl0IHByb3ZpZGVyQWRkKHtcbiAgICAgIHByb3ZpZGVyczogcHJvdmlkZXJzLFxuICAgICAgbGFuZ3VhZ2U6IGNka3RmQ29uZmlnLmxhbmd1YWdlLFxuICAgICAgcHJvamVjdERpcmVjdG9yeTogZGVzdGluYXRpb24sXG4gICAgICBmb3JjZUxvY2FsOiBwcm92aWRlcnNGb3JjZUxvY2FsLFxuICAgICAgZGlzdCxcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gbmVlZHNHZXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwcyB7XG4gIG5wbV9jZGt0Zjogc3RyaW5nO1xuICBucG1fY2RrdGZfY2xpOiBzdHJpbmc7XG4gIHB5cGlfY2RrdGY6IHN0cmluZztcbiAgbXZuX2Nka3RmOiBzdHJpbmc7XG4gIG51Z2V0X2Nka3RmOiBzdHJpbmc7XG4gIGdvX2Nka3RmOiBzdHJpbmc7XG4gIGNka3RmX3ZlcnNpb246IHN0cmluZztcbiAgY29uc3RydWN0c192ZXJzaW9uOiBzdHJpbmc7XG59XG50eXBlIERpc3RLZXkgPSBFeGNsdWRlPGtleW9mIERlcHMsIFwiY2RrdGZfdmVyc2lvblwiIHwgXCJjb25zdHJ1Y3RzX3ZlcnNpb25cIj47XG5cbi8vIEVhY2ggYnVpbHQtaW4gdGVtcGxhdGUgb25seSBjb25zdW1lcyB0aGUgZGlzdCBhcnRpZmFjdCBmb3IgaXRzIG93blxuLy8gbGFuZ3VhZ2UuIFNraXBwaW5nIHRoZSBvdGhlcnMgbGV0cyBgY2RrdG4gaW5pdCAtLWRpc3RgIHdvcmsgd2hlbiBvbmx5XG4vLyBzb21lIGxhbmd1YWdlIGRpc3RzIGFyZSBwcmVzZW50IChlLmcuIENJIHJhbiBgeWFybiBwYWNrYWdlOmpzYCBvbmx5KS5cbmNvbnN0IGRpc3RLZXlzQnlUZW1wbGF0ZTogUmVjb3JkPHN0cmluZywgRGlzdEtleVtdPiA9IHtcbiAgdHlwZXNjcmlwdDogW1wibnBtX2Nka3RmXCJdLFxuICBweXRob246IFtcInB5cGlfY2RrdGZcIl0sXG4gIFwicHl0aG9uLXBpcFwiOiBbXCJweXBpX2Nka3RmXCJdLFxuICBqYXZhOiBbXCJtdm5fY2RrdGZcIl0sXG4gIGNzaGFycDogW1wibnVnZXRfY2RrdGZcIl0sXG4gIGdvOiBbXCJnb19jZGt0ZlwiXSxcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZXRlcm1pbmVEZXBzKFxuICB2ZXJzaW9uOiBzdHJpbmcgPSBwa2cudmVyc2lvbixcbiAgZGlzdD86IHN0cmluZyxcbiAgdGVtcGxhdGU/OiBzdHJpbmcsXG4pOiBQcm9taXNlPERlcHM+IHtcbiAgLy8gVFM6IGNka3RmLTAuMTAuMS1kZXYuMjE2MDkzODI1OFxuICAvLyBQeTogY2RrdGYtMC4xMC4xLmRldjE2NTg4MjE0OTMud2hsXG4gIGNvbnN0IHB5dGhvblZlcnNpb24gPSB2ZXJzaW9uXG4gICAgLnJlcGxhY2UoLy1wcmVcXC4vZywgXCIuZGV2XCIpXG4gICAgLnJlcGxhY2UoLy1kZXZcXC4vZywgXCIuZGV2XCIpO1xuXG4gIGlmIChkaXN0KSB7XG4gICAgLy8gVE9ETzogV2hhdCBhYm91dCBleGlzdGluZyBjZGt0ZiBUUy9QWSBkZXBlbmRlbmNpZXM/XG4gICAgY29uc3QgcmV0ID0ge1xuICAgICAgbnBtX2Nka3RmOiBwYXRoLnJlc29sdmUoZGlzdCwgXCJqc1wiLCBgY2RrdG5AJHt2ZXJzaW9ufS5qc2lpLnRnemApLFxuICAgICAgbnBtX2Nka3RmX2NsaTogcGF0aC5yZXNvbHZlKGRpc3QsIFwianNcIiwgYGNka3RuLWNsaS0ke3ZlcnNpb259LnRnemApLFxuICAgICAgcHlwaV9jZGt0ZjogcGF0aC5yZXNvbHZlKFxuICAgICAgICBkaXN0LFxuICAgICAgICBcInB5dGhvblwiLFxuICAgICAgICBgY2RrdG4tJHtweXRob25WZXJzaW9ufS1weTMtbm9uZS1hbnkud2hsYCxcbiAgICAgICksXG4gICAgICBtdm5fY2RrdGY6IHBhdGgucmVzb2x2ZShcbiAgICAgICAgZGlzdCxcbiAgICAgICAgXCJqYXZhXCIsXG4gICAgICAgIGBpby9jZGt0bi9jZGt0bi8ke3ZlcnNpb259L2Nka3RuLSR7dmVyc2lvbn0uamFyYCxcbiAgICAgICksXG4gICAgICBudWdldF9jZGt0ZjogcGF0aC5yZXNvbHZlKGRpc3QsIFwiZG90bmV0XCIsIGBJby5DZGt0bi4ke3ZlcnNpb259Lm51cGtnYCksXG4gICAgICBnb19jZGt0ZjogcGF0aC5yZXNvbHZlKGRpc3QsIFwiZ29cIiwgYGNka3RuYCksXG4gICAgfTtcblxuICAgIC8vIElmIHdlIGtub3cgdGhlIHRlbXBsYXRlLCBvbmx5IHZhbGlkYXRlIGl0cyBhcnRpZmFjdDsgb3RoZXJ3aXNlIGZhbGxcbiAgICAvLyBiYWNrIHRvIHZhbGlkYXRpbmcgZXZlcnl0aGluZyAocHJlc2VydmVzIHByaW9yIGJlaGF2aW9yIGZvciB1bmtub3duIC9cbiAgICAvLyByZW1vdGUgdGVtcGxhdGVzKS5cbiAgICBjb25zdCBrZXlzVG9WYWxpZGF0ZTogRGlzdEtleVtdID1cbiAgICAgIHRlbXBsYXRlICYmIGRpc3RLZXlzQnlUZW1wbGF0ZVt0ZW1wbGF0ZV1cbiAgICAgICAgPyBkaXN0S2V5c0J5VGVtcGxhdGVbdGVtcGxhdGVdXG4gICAgICAgIDogKE9iamVjdC5rZXlzKHJldCkgYXMgRGlzdEtleVtdKTtcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXNUb1ZhbGlkYXRlKSB7XG4gICAgICBjb25zdCBmaWxlID0gcmV0W2tleV07XG4gICAgICBpZiAoIShhd2FpdCBmcy5wYXRoRXhpc3RzKGZpbGUpKSkge1xuICAgICAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICAgICAgYHVuYWJsZSB0byBmaW5kICR7ZmlsZX0gdW5kZXIgdGhlIFwiZGlzdFwiIGRpcmVjdG9yeSAoJHtkaXN0fSlgLFxuICAgICAgICAgIG5ldyBFcnJvcigpLFxuICAgICAgICAgIHsgdmVyc2lvbiB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHZlcnNpb25zID0ge1xuICAgICAgY2RrdGZfdmVyc2lvbjogdmVyc2lvbixcbiAgICAgIGNvbnN0cnVjdHNfdmVyc2lvbjogY29uc3RydWN0c1ZlcnNpb24sXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5yZXQsXG4gICAgICAuLi52ZXJzaW9ucyxcbiAgICB9O1xuICB9XG5cbiAgaWYgKHZlcnNpb24gPT09IFwiMC4wLjBcIikge1xuICAgIHRocm93IEVycm9ycy5Vc2FnZShcbiAgICAgIGBjYW5ub3QgdXNlIHZlcnNpb24gMC4wLjAsIHVzZSAtLWNka3RmLXZlcnNpb24sIC0tZGlzdCBvciBDREtURl9ESVNUIHRvIGluc3RhbGwgZnJvbSBhIFwiZGlzdFwiIGRpcmVjdG9yeWAsXG4gICAgKTtcbiAgfVxuXG4gIC8vIGRldGVybWluZSBpZiB3ZSB3YW50IGEgc3BlY2lmaWMgcGlubmVkIHZlcnNpb24gb3IgYSB2ZXJzaW9uIHJhbmdlIHdlIHRha2VcbiAgLy8gYSBwaW5uZWQgdmVyc2lvbiBpZiB2ZXJzaW9uIGluY2x1ZGVzIGEgaHlwaGVuIHdoaWNoIG1lYW5zIGl0IGlzIGFcbiAgLy8gcHJlLXJlbGVhc2UgKGUuZy4gXCIwLjEyLjAtcHJlLmU2ODM0ZDNcIikuIG90aGVyd2lzZSwgd2UgcmVxdWlyZSBhIGNhcmV0XG4gIC8vIHZlcnNpb24uXG4gIGNvbnN0IHZlciA9IHZlcnNpb24uaW5jbHVkZXMoXCItXCIpID8gdmVyc2lvbiA6IGBeJHt2ZXJzaW9ufWA7XG5cbiAgcmV0dXJuIHtcbiAgICBjZGt0Zl92ZXJzaW9uOiB2ZXJzaW9uLFxuICAgIGNvbnN0cnVjdHNfdmVyc2lvbjogY29uc3RydWN0c1ZlcnNpb24sXG4gICAgbnBtX2Nka3RmOiBgY2RrdG5AJHt2ZXJ9YCxcbiAgICBucG1fY2RrdGZfY2xpOiBgY2RrdG4tY2xpQCR7dmVyfWAsXG4gICAgcHlwaV9jZGt0ZjogYGNka3Rufj0ke3B5dGhvblZlcnNpb259YCxcbiAgICBtdm5fY2RrdGY6IHZlcnNpb24sXG4gICAgbnVnZXRfY2RrdGY6IHZlcnNpb24sXG4gICAgZ29fY2RrdGY6IGB2JHt2ZXJzaW9ufWAsXG4gIH07XG59XG4iXX0=
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.checkInstalledBinaryAgainstTargets = void 0;
36
+ exports.checkInstalledBinaryAgainstTargets = checkInstalledBinaryAgainstTargets;
27
37
  // Copyright (c) HashiCorp, Inc
28
38
  // SPDX-License-Identifier: MPL-2.0
29
39
  const semver = __importStar(require("semver"));
@@ -58,5 +68,4 @@ function checkInstalledBinaryAgainstTargets(versionOutput, declaredTargets, bina
58
68
  }
59
69
  return [];
60
70
  }
61
- exports.checkInstalledBinaryAgainstTargets = checkInstalledBinaryAgainstTargets;
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVkLWJpbmFyeS1jaGVjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5zdGFsbGVkLWJpbmFyeS1jaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsK0NBQWlDO0FBQ2pDLDRDQUl3QjtBQUV4Qjs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLGtDQUFrQyxDQUNoRCxhQUFxQixFQUNyQixlQUFvRCxFQUNwRCxVQUFrQjtJQUVsQixNQUFNLE9BQU8sR0FBRyxlQUFlLGFBQWYsZUFBZSxjQUFmLGVBQWUsR0FBSSxpQ0FBdUIsQ0FBQztJQUMzRCxNQUFNLEdBQUcsR0FBRyxJQUFBLGtDQUF3QixFQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXBELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsT0FBTztZQUNMLCtCQUErQixVQUFVLDRHQUE0RztTQUN0SixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE9BQU87WUFDTCx5QkFBeUIsVUFBVSxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sdURBQXVELEdBQUcsQ0FBQyxJQUFJLGVBQWUsSUFBSSxDQUFDLFNBQVMsQ0FDNUosT0FBTyxDQUNSLEdBQUc7U0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxPQUFPO1lBQ0wseUJBQXlCLFVBQVUsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxPQUFPLDREQUE0RCxHQUFHLENBQUMsSUFBSSxXQUFXLGFBQWEsR0FBRztTQUNsSyxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQTlCRCxnRkE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7XG4gIERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TLFxuICBwYXJzZVRlcnJhZm9ybUNsaVZlcnNpb24sXG4gIFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHRoZSBpbnN0YWxsZWQgVGVycmFmb3JtLWNvbXBhdGlibGUgYmluYXJ5IHNhdGlzZmllcyB0aGVcbiAqIHByb2plY3QncyBkZWNsYXJlZCBgdGFyZ2V0VmVyc2lvbnNgIChjZGt0Zi5qc29uKS4gT25seSBpbnZva2VkIHdoZW4gdGhlXG4gKiBwcm9qZWN0IG9wdHMgaW4gdmlhIGB2YWxpZGF0ZUluc3RhbGxlZEJpbmFyeTogdHJ1ZWAsIGJ5IGNvbW1hbmRzIHRoYXQgYXJlXG4gKiBhYm91dCB0byBleGVjdXRlIHRoZSBiaW5hcnkgYW55d2F5LlxuICpcbiAqIERlY2xhcmVkIHRhcmdldHMgc3RhdGUgdGhlIHByb2plY3QncyBzdXBwb3J0ZWQgcmFuZ2U7IHRoaXMgY2hlY2sgaXMgdGhlXG4gKiBleHBsaWNpdCBzdGVwIHRoYXQgcHJvdmVzIHRoZSBsb2NhbCBiaW5hcnkgYWN0dWFsbHkgZmFsbHMgaW5zaWRlIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tJbnN0YWxsZWRCaW5hcnlBZ2FpbnN0VGFyZ2V0cyhcbiAgdmVyc2lvbk91dHB1dDogc3RyaW5nLFxuICBkZWNsYXJlZFRhcmdldHM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zIHwgdW5kZWZpbmVkLFxuICBiaW5hcnlOYW1lOiBzdHJpbmcsXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHRhcmdldHMgPSBkZWNsYXJlZFRhcmdldHMgPz8gREVGQVVMVF9UQVJHRVRfVkVSU0lPTlM7XG4gIGNvbnN0IGNsaSA9IHBhcnNlVGVycmFmb3JtQ2xpVmVyc2lvbih2ZXJzaW9uT3V0cHV0KTtcblxuICBpZiAoY2xpLm5hbWUgPT09IFwidW5rbm93blwiIHx8ICFjbGkudmVyc2lvbikge1xuICAgIHJldHVybiBbXG4gICAgICBgQ291bGQgbm90IGRldGVybWluZSB3aGV0aGVyICR7YmluYXJ5TmFtZX0gaXMgVGVycmFmb3JtIG9yIE9wZW5Ub2Z1IGZyb20gaXRzIHZlcnNpb24gb3V0cHV0LCB1bmFibGUgdG8gdmVyaWZ5IGl0IGFnYWluc3QgdGhlIGRlY2xhcmVkIHRhcmdldFZlcnNpb25zYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3QgZGVjbGFyZWRSYW5nZSA9IHRhcmdldHNbY2xpLm5hbWVdO1xuICBpZiAoIWRlY2xhcmVkUmFuZ2UpIHtcbiAgICByZXR1cm4gW1xuICAgICAgYFRoZSBpbnN0YWxsZWQgYmluYXJ5IFwiJHtiaW5hcnlOYW1lfVwiIGlzICR7Y2xpLm5hbWV9ICR7Y2xpLnZlcnNpb259LCBidXQgdGhlIHByb2plY3QncyB0YXJnZXRWZXJzaW9ucyBkb2VzIG5vdCBkZWNsYXJlICR7Y2xpLm5hbWV9IChkZWNsYXJlZDogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgdGFyZ2V0cyxcbiAgICAgICl9KWAsXG4gICAgXTtcbiAgfVxuXG4gIGlmICghc2VtdmVyLnNhdGlzZmllcyhjbGkudmVyc2lvbiwgZGVjbGFyZWRSYW5nZSkpIHtcbiAgICByZXR1cm4gW1xuICAgICAgYFRoZSBpbnN0YWxsZWQgYmluYXJ5IFwiJHtiaW5hcnlOYW1lfVwiIGlzICR7Y2xpLm5hbWV9ICR7Y2xpLnZlcnNpb259LCB3aGljaCBpcyBvdXRzaWRlIHRoZSBwcm9qZWN0J3MgZGVjbGFyZWQgdGFyZ2V0VmVyc2lvbnMuJHtjbGkubmFtZX0gcmFuZ2UgXCIke2RlY2xhcmVkUmFuZ2V9XCJgLFxuICAgIF07XG4gIH1cblxuICByZXR1cm4gW107XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVkLWJpbmFyeS1jaGVjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5zdGFsbGVkLWJpbmFyeS1jaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCQSxnRkE4QkM7QUFoREQsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywrQ0FBaUM7QUFDakMsNENBSXdCO0FBRXhCOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0Isa0NBQWtDLENBQ2hELGFBQXFCLEVBQ3JCLGVBQW9ELEVBQ3BELFVBQWtCO0lBRWxCLE1BQU0sT0FBTyxHQUFHLGVBQWUsYUFBZixlQUFlLGNBQWYsZUFBZSxHQUFJLGlDQUF1QixDQUFDO0lBQzNELE1BQU0sR0FBRyxHQUFHLElBQUEsa0NBQXdCLEVBQUMsYUFBYSxDQUFDLENBQUM7SUFFcEQsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQyxPQUFPO1lBQ0wsK0JBQStCLFVBQVUsNEdBQTRHO1NBQ3RKLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkIsT0FBTztZQUNMLHlCQUF5QixVQUFVLFFBQVEsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsT0FBTyx1REFBdUQsR0FBRyxDQUFDLElBQUksZUFBZSxJQUFJLENBQUMsU0FBUyxDQUM1SixPQUFPLENBQ1IsR0FBRztTQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQ2xELE9BQU87WUFDTCx5QkFBeUIsVUFBVSxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sNERBQTRELEdBQUcsQ0FBQyxJQUFJLFdBQVcsYUFBYSxHQUFHO1NBQ2xLLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQge1xuICBERUZBVUxUX1RBUkdFVF9WRVJTSU9OUyxcbiAgcGFyc2VUZXJyYWZvcm1DbGlWZXJzaW9uLFxuICBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyxcbn0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbi8qKlxuICogVmVyaWZpZXMgdGhhdCB0aGUgaW5zdGFsbGVkIFRlcnJhZm9ybS1jb21wYXRpYmxlIGJpbmFyeSBzYXRpc2ZpZXMgdGhlXG4gKiBwcm9qZWN0J3MgZGVjbGFyZWQgYHRhcmdldFZlcnNpb25zYCAoY2RrdGYuanNvbikuIE9ubHkgaW52b2tlZCB3aGVuIHRoZVxuICogcHJvamVjdCBvcHRzIGluIHZpYSBgdmFsaWRhdGVJbnN0YWxsZWRCaW5hcnk6IHRydWVgLCBieSBjb21tYW5kcyB0aGF0IGFyZVxuICogYWJvdXQgdG8gZXhlY3V0ZSB0aGUgYmluYXJ5IGFueXdheS5cbiAqXG4gKiBEZWNsYXJlZCB0YXJnZXRzIHN0YXRlIHRoZSBwcm9qZWN0J3Mgc3VwcG9ydGVkIHJhbmdlOyB0aGlzIGNoZWNrIGlzIHRoZVxuICogZXhwbGljaXQgc3RlcCB0aGF0IHByb3ZlcyB0aGUgbG9jYWwgYmluYXJ5IGFjdHVhbGx5IGZhbGxzIGluc2lkZSBpdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSW5zdGFsbGVkQmluYXJ5QWdhaW5zdFRhcmdldHMoXG4gIHZlcnNpb25PdXRwdXQ6IHN0cmluZyxcbiAgZGVjbGFyZWRUYXJnZXRzOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyB8IHVuZGVmaW5lZCxcbiAgYmluYXJ5TmFtZTogc3RyaW5nLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCB0YXJnZXRzID0gZGVjbGFyZWRUYXJnZXRzID8/IERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TO1xuICBjb25zdCBjbGkgPSBwYXJzZVRlcnJhZm9ybUNsaVZlcnNpb24odmVyc2lvbk91dHB1dCk7XG5cbiAgaWYgKGNsaS5uYW1lID09PSBcInVua25vd25cIiB8fCAhY2xpLnZlcnNpb24pIHtcbiAgICByZXR1cm4gW1xuICAgICAgYENvdWxkIG5vdCBkZXRlcm1pbmUgd2hldGhlciAke2JpbmFyeU5hbWV9IGlzIFRlcnJhZm9ybSBvciBPcGVuVG9mdSBmcm9tIGl0cyB2ZXJzaW9uIG91dHB1dCwgdW5hYmxlIHRvIHZlcmlmeSBpdCBhZ2FpbnN0IHRoZSBkZWNsYXJlZCB0YXJnZXRWZXJzaW9uc2AsXG4gICAgXTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmVkUmFuZ2UgPSB0YXJnZXRzW2NsaS5uYW1lXTtcbiAgaWYgKCFkZWNsYXJlZFJhbmdlKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGBUaGUgaW5zdGFsbGVkIGJpbmFyeSBcIiR7YmluYXJ5TmFtZX1cIiBpcyAke2NsaS5uYW1lfSAke2NsaS52ZXJzaW9ufSwgYnV0IHRoZSBwcm9qZWN0J3MgdGFyZ2V0VmVyc2lvbnMgZG9lcyBub3QgZGVjbGFyZSAke2NsaS5uYW1lfSAoZGVjbGFyZWQ6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHRhcmdldHMsXG4gICAgICApfSlgLFxuICAgIF07XG4gIH1cblxuICBpZiAoIXNlbXZlci5zYXRpc2ZpZXMoY2xpLnZlcnNpb24sIGRlY2xhcmVkUmFuZ2UpKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGBUaGUgaW5zdGFsbGVkIGJpbmFyeSBcIiR7YmluYXJ5TmFtZX1cIiBpcyAke2NsaS5uYW1lfSAke2NsaS52ZXJzaW9ufSwgd2hpY2ggaXMgb3V0c2lkZSB0aGUgcHJvamVjdCdzIGRlY2xhcmVkIHRhcmdldFZlcnNpb25zLiR7Y2xpLm5hbWV9IHJhbmdlIFwiJHtkZWNsYXJlZFJhbmdlfVwiYCxcbiAgICBdO1xuICB9XG5cbiAgcmV0dXJuIFtdO1xufVxuIl19
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -92,4 +102,4 @@ class LocalProviderConstraints {
92
102
  }
93
103
  }
94
104
  exports.LocalProviderConstraints = LocalProviderConstraints;
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtcHJvdmlkZXItY29uc3RyYWludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2xvY2FsLXByb3ZpZGVyLWNvbnN0cmFpbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx3REFBMEI7QUFDMUIsZ0RBQXdCO0FBQ3hCLDRDQUFnRDtBQUNoRCxpREFBNkM7QUFFN0MsdUNBQXlCO0FBRXpCLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztDQUM1QyxDQUFDLENBQUM7QUFJSCxvQ0FBb0M7QUFDcEMsc0VBQXNFO0FBQ3RFOzs7R0FHRztBQUNILE1BQWEsd0JBQXdCO0lBR25DLElBQVksWUFBWTtRQUN0QixNQUFNLE1BQU0sR0FBRywwQkFBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xDLE9BQU8sY0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLEtBQUssQ0FBQyx3QkFBd0I7UUFDcEMsSUFBSSxlQUFlLENBQUM7UUFDcEIsSUFBSSxDQUFDO1lBQ0gsZUFBZSxHQUFHLE1BQU0sa0JBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLGdFQUFnRTtZQUNoRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztZQUM3QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksbUJBQW1CLENBQUM7UUFDeEIsSUFBSSxDQUFDO1lBQ0gsbUJBQW1CLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDekUsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2hELE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUMvQyxDQUFDLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUNGLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sZ0JBQU0sQ0FBQyxRQUFRLENBQ25CLHFFQUFxRSxFQUNyRSxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixDQUFDO0lBQ3pDLENBQUM7SUFFTSxLQUFLLENBQUMsMEJBQTBCO1FBQ3JDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQixDQUFDO1FBRUQsTUFBTSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUV0QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxxQkFBcUIsQ0FDaEMsWUFBb0I7UUFFcEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUU1RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxrQkFBa0IsR0FDdEIsV0FBVyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFsRUQsNERBa0VDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBFcnJvcnMsIGxvZ2dlciB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgQ2RrdGZDb25maWcgfSBmcm9tIFwiLi9jZGt0Zi1jb25maWdcIjtcblxuaW1wb3J0ICogYXMgeiBmcm9tIFwiem9kXCI7XG5cbmNvbnN0IGNvbnN0cmFpbnRzVHlwZSA9IHoub2JqZWN0KHtcbiAgY2RrdGY6IHouc3RyaW5nKCksXG4gIHByb3ZpZGVyczogei5yZWNvcmQoei5zdHJpbmcoKSwgei5zdHJpbmcoKSksXG59KTtcblxuZXhwb3J0IHR5cGUgQ29uc3RyYWludHMgPSB6LmluZmVyPHR5cGVvZiBjb25zdHJhaW50c1R5cGU+O1xuXG4vLyBUT0RPOiBtb3ZlIHRoaXMgdG8gQGNka3RuL2NvbW1vbnNcbi8vIHRyYWNrZWQgaGVyZSBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1jZGsvaXNzdWVzLzE4MTRcbi8qKlxuICogQ2xhc3MgdG8gaGVscCB3aXRoIHJlYWRpbmcgYGNvbnN0cmFpbnRzLmpzb25gIGZpbGVcbiAqIHB1Ymxpc2hlZCBieSBgcHJvdmlkZXIgZ2V0YCBvciBgcHJvdmlkZXIgYWRkYCBjb21tYW5kc1xuICovXG5leHBvcnQgY2xhc3MgTG9jYWxQcm92aWRlckNvbnN0cmFpbnRzIHtcbiAgcHJpdmF0ZSBjb25zdHJhaW50czogQ29uc3RyYWludHMgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBnZXQganNvbkZpbGVQYXRoKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0gQ2RrdGZDb25maWcucmVhZCgpO1xuICAgIHJldHVybiBwYXRoLnJlc29sdmUoY29uZmlnLmNvZGVNYWtlck91dHB1dCwgXCJjb25zdHJhaW50cy5qc29uXCIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWFkTG9jYWxDb25zdHJhaW50c0pzb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IGNvbnN0cmFpbnRzSnNvbjtcbiAgICB0cnkge1xuICAgICAgY29uc3RyYWludHNKc29uID0gYXdhaXQgZnMucmVhZEZpbGUodGhpcy5qc29uRmlsZVBhdGgsIFwidXRmOFwiKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBJZiB3ZSBjYW5ub3QgcmVhZCB0aGUgY29uc3RyYWludHMuanNvbiBmaWxlLCBpdCBtYXkgbm90IGV4aXN0XG4gICAgICBsb2dnZXIuZGVidWcoXCJjb25zdHJhaW50cy5qc29uIGZpbGUgcmVhZGluZyBlcnJvcjogXCIsIGUpO1xuICAgICAgdGhpcy5jb25zdHJhaW50cyA9IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcHJvdmlkZXJDb25zdHJhaW50cztcbiAgICB0cnkge1xuICAgICAgcHJvdmlkZXJDb25zdHJhaW50cyA9IGNvbnN0cmFpbnRzVHlwZS5wYXJzZShKU09OLnBhcnNlKGNvbnN0cmFpbnRzSnNvbikpO1xuICAgICAgcHJvdmlkZXJDb25zdHJhaW50cy5wcm92aWRlcnMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHByb3ZpZGVyQ29uc3RyYWludHMucHJvdmlkZXJzKS5tYXAoXG4gICAgICAgICAgKFtuYW1lLCBjb25zdHJhaW50XSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFtuYW1lLnRvTG93ZXJDYXNlKCksIGNvbnN0cmFpbnRdO1xuICAgICAgICAgIH0sXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgRXJyb3JzLkV4dGVybmFsKFxuICAgICAgICBcImNvbnN0cmFpbnRzLmpzb24gZmlsZSBpcyBtYWxmb3JtZWQuIFRoZSByb290IG11c3QgYmUgYSBKU09OIG9iamVjdC5cIixcbiAgICAgICAgZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25zdHJhaW50cyA9IHByb3ZpZGVyQ29uc3RyYWludHM7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY29uc3RyYWludHNGb3JBbGxQcm92aWRlcnMoKSB7XG4gICAgaWYgKHRoaXMuY29uc3RyYWludHMpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnN0cmFpbnRzO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMucmVhZExvY2FsQ29uc3RyYWludHNKc29uKCk7XG5cbiAgICByZXR1cm4gdGhpcy5jb25zdHJhaW50cztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjb25zdHJhaW50Rm9yUHJvdmlkZXIoXG4gICAgcHJvdmlkZXJOYW1lOiBzdHJpbmcsXG4gICk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnRzID0gYXdhaXQgdGhpcy5jb25zdHJhaW50c0ZvckFsbFByb3ZpZGVycygpO1xuXG4gICAgaWYgKCFjb25zdHJhaW50cykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvdmlkZXJDb25zdHJhaW50ID1cbiAgICAgIGNvbnN0cmFpbnRzLnByb3ZpZGVyc1twcm92aWRlck5hbWUudG9Mb3dlckNhc2UoKV07XG4gICAgaWYgKCFwcm92aWRlck5hbWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBwcm92aWRlckNvbnN0cmFpbnQ7XG4gIH1cbn1cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtcHJvdmlkZXItY29uc3RyYWludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2xvY2FsLXByb3ZpZGVyLWNvbnN0cmFpbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsd0RBQTBCO0FBQzFCLGdEQUF3QjtBQUN4Qiw0Q0FBZ0Q7QUFDaEQsaURBQTZDO0FBRTdDLHVDQUF5QjtBQUV6QixNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQy9CLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Q0FDNUMsQ0FBQyxDQUFDO0FBSUgsb0NBQW9DO0FBQ3BDLHNFQUFzRTtBQUN0RTs7O0dBR0c7QUFDSCxNQUFhLHdCQUF3QjtJQUduQyxJQUFZLFlBQVk7UUFDdEIsTUFBTSxNQUFNLEdBQUcsMEJBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxPQUFPLGNBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxLQUFLLENBQUMsd0JBQXdCO1FBQ3BDLElBQUksZUFBZSxDQUFDO1FBQ3BCLElBQUksQ0FBQztZQUNILGVBQWUsR0FBRyxNQUFNLGtCQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxnRUFBZ0U7WUFDaEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7WUFDN0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLG1CQUFtQixDQUFDO1FBQ3hCLElBQUksQ0FBQztZQUNILG1CQUFtQixHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLG1CQUFtQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNoRCxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FDL0MsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO2dCQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FDRixDQUNGLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLGdCQUFNLENBQUMsUUFBUSxDQUNuQixxRUFBcUUsRUFDckUsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQztJQUN6QyxDQUFDO0lBRU0sS0FBSyxDQUFDLDBCQUEwQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUIsQ0FBQztRQUVELE1BQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFTSxLQUFLLENBQUMscUJBQXFCLENBQ2hDLFlBQW9CO1FBRXBCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFFNUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sa0JBQWtCLEdBQ3RCLFdBQVcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBbEVELDREQWtFQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgRXJyb3JzLCBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IENka3RmQ29uZmlnIH0gZnJvbSBcIi4vY2RrdGYtY29uZmlnXCI7XG5cbmltcG9ydCAqIGFzIHogZnJvbSBcInpvZFwiO1xuXG5jb25zdCBjb25zdHJhaW50c1R5cGUgPSB6Lm9iamVjdCh7XG4gIGNka3RmOiB6LnN0cmluZygpLFxuICBwcm92aWRlcnM6IHoucmVjb3JkKHouc3RyaW5nKCksIHouc3RyaW5nKCkpLFxufSk7XG5cbmV4cG9ydCB0eXBlIENvbnN0cmFpbnRzID0gei5pbmZlcjx0eXBlb2YgY29uc3RyYWludHNUeXBlPjtcblxuLy8gVE9ETzogbW92ZSB0aGlzIHRvIEBjZGt0bi9jb21tb25zXG4vLyB0cmFja2VkIGhlcmUgaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tY2RrL2lzc3Vlcy8xODE0XG4vKipcbiAqIENsYXNzIHRvIGhlbHAgd2l0aCByZWFkaW5nIGBjb25zdHJhaW50cy5qc29uYCBmaWxlXG4gKiBwdWJsaXNoZWQgYnkgYHByb3ZpZGVyIGdldGAgb3IgYHByb3ZpZGVyIGFkZGAgY29tbWFuZHNcbiAqL1xuZXhwb3J0IGNsYXNzIExvY2FsUHJvdmlkZXJDb25zdHJhaW50cyB7XG4gIHByaXZhdGUgY29uc3RyYWludHM6IENvbnN0cmFpbnRzIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgZ2V0IGpzb25GaWxlUGF0aCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IENka3RmQ29uZmlnLnJlYWQoKTtcbiAgICByZXR1cm4gcGF0aC5yZXNvbHZlKGNvbmZpZy5jb2RlTWFrZXJPdXRwdXQsIFwiY29uc3RyYWludHMuanNvblwiKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVhZExvY2FsQ29uc3RyYWludHNKc29uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCBjb25zdHJhaW50c0pzb247XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0cmFpbnRzSnNvbiA9IGF3YWl0IGZzLnJlYWRGaWxlKHRoaXMuanNvbkZpbGVQYXRoLCBcInV0ZjhcIik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gSWYgd2UgY2Fubm90IHJlYWQgdGhlIGNvbnN0cmFpbnRzLmpzb24gZmlsZSwgaXQgbWF5IG5vdCBleGlzdFxuICAgICAgbG9nZ2VyLmRlYnVnKFwiY29uc3RyYWludHMuanNvbiBmaWxlIHJlYWRpbmcgZXJyb3I6IFwiLCBlKTtcbiAgICAgIHRoaXMuY29uc3RyYWludHMgPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHByb3ZpZGVyQ29uc3RyYWludHM7XG4gICAgdHJ5IHtcbiAgICAgIHByb3ZpZGVyQ29uc3RyYWludHMgPSBjb25zdHJhaW50c1R5cGUucGFyc2UoSlNPTi5wYXJzZShjb25zdHJhaW50c0pzb24pKTtcbiAgICAgIHByb3ZpZGVyQ29uc3RyYWludHMucHJvdmlkZXJzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICBPYmplY3QuZW50cmllcyhwcm92aWRlckNvbnN0cmFpbnRzLnByb3ZpZGVycykubWFwKFxuICAgICAgICAgIChbbmFtZSwgY29uc3RyYWludF0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBbbmFtZS50b0xvd2VyQ2FzZSgpLCBjb25zdHJhaW50XTtcbiAgICAgICAgICB9LFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IEVycm9ycy5FeHRlcm5hbChcbiAgICAgICAgXCJjb25zdHJhaW50cy5qc29uIGZpbGUgaXMgbWFsZm9ybWVkLiBUaGUgcm9vdCBtdXN0IGJlIGEgSlNPTiBvYmplY3QuXCIsXG4gICAgICAgIGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuY29uc3RyYWludHMgPSBwcm92aWRlckNvbnN0cmFpbnRzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNvbnN0cmFpbnRzRm9yQWxsUHJvdmlkZXJzKCkge1xuICAgIGlmICh0aGlzLmNvbnN0cmFpbnRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb25zdHJhaW50cztcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLnJlYWRMb2NhbENvbnN0cmFpbnRzSnNvbigpO1xuXG4gICAgcmV0dXJuIHRoaXMuY29uc3RyYWludHM7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY29uc3RyYWludEZvclByb3ZpZGVyKFxuICAgIHByb3ZpZGVyTmFtZTogc3RyaW5nLFxuICApOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCBjb25zdHJhaW50cyA9IGF3YWl0IHRoaXMuY29uc3RyYWludHNGb3JBbGxQcm92aWRlcnMoKTtcblxuICAgIGlmICghY29uc3RyYWludHMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3ZpZGVyQ29uc3RyYWludCA9XG4gICAgICBjb25zdHJhaW50cy5wcm92aWRlcnNbcHJvdmlkZXJOYW1lLnRvTG93ZXJDYXNlKCldO1xuICAgIGlmICghcHJvdmlkZXJOYW1lKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvdmlkZXJDb25zdHJhaW50O1xuICB9XG59XG4iXX0=
@@ -127,7 +127,7 @@ export declare const deployMachine: import("xstate").StateMachine<DeployContext,
127
127
  }, never, never, never, "idle" | "stopped" | "exited" | {
128
128
  running: "processing" | "awaiting_approval" | "awaiting_sentinel_override" | "stopping";
129
129
  }, string, import("xstate").NonReducibleUnknown, {
130
- exitCode?: number | undefined;
130
+ exitCode?: number;
131
131
  }, EventObject, import("xstate").MetaObject, {
132
132
  id: "root";
133
133
  states: {
@@ -213,7 +213,7 @@ export declare function createAndStartDeployService(options: {
213
213
  }, never, never, never, "idle" | "stopped" | "exited" | {
214
214
  running: "processing" | "awaiting_approval" | "awaiting_sentinel_override" | "stopping";
215
215
  }, string, import("xstate").NonReducibleUnknown, {
216
- exitCode?: number | undefined;
216
+ exitCode?: number;
217
217
  }, EventObject, import("xstate").MetaObject, {
218
218
  id: "root";
219
219
  states: {
@@ -285,7 +285,7 @@ export declare function createAndStartDestroyService(options: {
285
285
  }, never, never, never, "idle" | "stopped" | "exited" | {
286
286
  running: "processing" | "awaiting_approval" | "awaiting_sentinel_override" | "stopping";
287
287
  }, string, import("xstate").NonReducibleUnknown, {
288
- exitCode?: number | undefined;
288
+ exitCode?: number;
289
289
  }, EventObject, import("xstate").MetaObject, {
290
290
  id: "root";
291
291
  states: {
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-machine.d.ts","sourceRoot":"","sources":["../../../src/lib/models/deploy-machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-machine.d.ts","sourceRoot":"","sources":["../../../src/lib/models/deploy-machine.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.createAndStartDestroyService = exports.createAndStartDeployService = exports.deployMachine = exports.terraformPtyService = exports.makeTerraformPtyService = exports.handleLineReceived = exports.bufferUnterminatedLines = exports.extractVariableNameFromPrompt = exports.isMissingVariablePrompt = exports.isDeployEvent = void 0;
10
+ exports.deployMachine = exports.terraformPtyService = void 0;
11
+ exports.isDeployEvent = isDeployEvent;
12
+ exports.isMissingVariablePrompt = isMissingVariablePrompt;
13
+ exports.extractVariableNameFromPrompt = extractVariableNameFromPrompt;
14
+ exports.bufferUnterminatedLines = bufferUnterminatedLines;
15
+ exports.handleLineReceived = handleLineReceived;
16
+ exports.makeTerraformPtyService = makeTerraformPtyService;
17
+ exports.createAndStartDeployService = createAndStartDeployService;
18
+ exports.createAndStartDestroyService = createAndStartDestroyService;
11
19
  const xstate_1 = require("xstate");
12
20
  const commons_1 = require("@cdktn/commons");
13
21
  const errors_1 = require("../errors");
@@ -17,7 +25,6 @@ const interactive_process_1 = require("./interactive-process");
17
25
  function isDeployEvent(event, type) {
18
26
  return event.type === type;
19
27
  }
20
- exports.isDeployEvent = isDeployEvent;
21
28
  /**
22
29
  * Terraform's interactive prompt for a missing variable looks like:
23
30
  *
@@ -41,7 +48,6 @@ function isMissingVariablePrompt(noColorLine) {
41
48
  .split("\n")
42
49
  .some((line) => VARIABLE_PROMPT_REGEX.test(line));
43
50
  }
44
- exports.isMissingVariablePrompt = isMissingVariablePrompt;
45
51
  function extractVariableNameFromPrompt(line) {
46
52
  const noColorLine = (0, strip_ansi_1.default)(line);
47
53
  const lines = noColorLine.split("\n");
@@ -53,7 +59,6 @@ function extractVariableNameFromPrompt(line) {
53
59
  }
54
60
  return match[1];
55
61
  }
56
- exports.extractVariableNameFromPrompt = extractVariableNameFromPrompt;
57
62
  // used to only send completed lines (= with a newline at the end of them) to our logic (#2827)
58
63
  function bufferUnterminatedLines(handler) {
59
64
  let buffer = "";
@@ -70,7 +75,6 @@ function bufferUnterminatedLines(handler) {
70
75
  bufferedReceiverFunction.getBuffer = () => buffer;
71
76
  return bufferedReceiverFunction;
72
77
  }
73
- exports.bufferUnterminatedLines = bufferUnterminatedLines;
74
78
  function handleLineReceived(send) {
75
79
  return (output) => {
76
80
  let hideOutput = false;
@@ -118,7 +122,6 @@ function handleLineReceived(send) {
118
122
  }
119
123
  };
120
124
  }
121
- exports.handleLineReceived = handleLineReceived;
122
125
  /**
123
126
  * Builds the invoked actor that runs terraform in a pty. It relays completed lines back to the parent machine via
124
127
  * `sendBack` and forwards SEND_LINE events from the parent to the pty via `receive`. The `spawn` function is a
@@ -151,7 +154,6 @@ function makeTerraformPtyService(spawn = interactive_process_1.spawnInteractive)
151
154
  };
152
155
  });
153
156
  }
154
- exports.makeTerraformPtyService = makeTerraformPtyService;
155
157
  exports.terraformPtyService = makeTerraformPtyService();
156
158
  exports.deployMachine = (0, xstate_1.setup)({
157
159
  types: {
@@ -308,7 +310,6 @@ function createAndStartDeployService(options, inspect) {
308
310
  service.send({ type: "START", pty: config });
309
311
  return service;
310
312
  }
311
- exports.createAndStartDeployService = createAndStartDeployService;
312
313
  function createAndStartDestroyService(options, inspect) {
313
314
  var _a, _b;
314
315
  const service = (0, xstate_1.createActor)(exports.deployMachine, { inspect });
@@ -341,5 +342,4 @@ function createAndStartDestroyService(options, inspect) {
341
342
  service.send({ type: "START", pty: config });
342
343
  return service;
343
344
  }
344
- exports.createAndStartDestroyService = createAndStartDestroyService;
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LW1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21vZGVscy9kZXBsb3ktbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7Ozs7QUFFSCxtQ0FVZ0I7QUFDaEIsNENBQWdEO0FBQ2hELHNDQUE0QztBQUM1Qyw0REFBbUM7QUFDbkMsMkJBQXlCO0FBQ3pCLCtEQUcrQjtBQTRCL0IsU0FBZ0IsYUFBYSxDQUMzQixLQUFrQixFQUNsQixJQUFxQjtJQUVyQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQzdCLENBQUM7QUFMRCxzQ0FLQztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0scUJBQXFCLEdBQUcsd0NBQXdDLENBQUM7QUFFdkU7OztHQUdHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsV0FBbUI7SUFDekQsT0FBTyxXQUFXO1NBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUpELDBEQUlDO0FBRUQsU0FBZ0IsNkJBQTZCLENBQUMsSUFBWTtJQUN4RCxNQUFNLFdBQVcsR0FBRyxJQUFBLG9CQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxNQUFNLEtBQUssR0FBRyxLQUFLO1NBQ2hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQzFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBeUIsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMs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LENBQUMsRUFBRSxFQUFFO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQyxDQUFDO0lBRUgsZ0JBQU0sQ0FBQyxLQUFLLENBQ1YsYUFBYSxPQUFPLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FDeEQsT0FBTyxDQUFDLE9BQ1YsRUFBRSxDQUNILENBQUM7SUFFRixNQUFNLE1BQU0sR0FBMkI7UUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUI7UUFDakMsSUFBSTtRQUNKLE9BQU8sRUFBRTtZQUNQLEdBQUcsRUFBRSxPQUFPLENBQUMsT0FBTztZQUNwQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQWdDLEVBQUUsMERBQTBEO1NBQzFHO0tBQ0YsQ0FBQztJQUVGLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUU3QyxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBdERELG9FQXNEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtcbiAgc2V0dXAsXG4gIGNyZWF0ZUFjdG9yLFxuICBzZW5kVG8sXG4gIGZyb21DYWxsYmFjayxcbiAgYXNzaWduLFxuICBBY3RvclJlZkZyb20sXG4gIEV2ZW50T2JqZWN0LFxuICBJbnNwZWN0aW9uRXZlbnQsXG4gIFNuYXBzaG90RnJvbSxcbn0gZnJvbSBcInhzdGF0ZVwiO1xuaW1wb3J0IHsgRXJyb3JzLCBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IG1pc3NpbmdWYXJpYWJsZSB9IGZyb20gXCIuLi9lcnJvcnNcIjtcbmltcG9ydCBzdHJpcEFuc2kgZnJvbSBcInN0cmlwLWFuc2lcIjtcbmltcG9ydCB7IEVPTCB9IGZyb20gXCJvc1wiO1xuaW1wb3J0IHtcbiAgc3Bhd25JbnRlcmFjdGl2ZSxcbiAgSW50ZXJhY3RpdmVTcGF3bkNvbmZpZyxcbn0gZnJvbSBcIi4vaW50ZXJhY3RpdmUtcHJvY2Vzc1wiO1xuXG5pbnRlcmZhY2UgRGVwbG95Q29udGV4dCB7XG4gIGV4aXRDb2RlPzogbnVtYmVyO1xuICAvKipcbiAgICogVGVycmFmb3JtIHdpbGwgZXhpdCB3aXRoIDEgaWYgaXQgd2FzIGNhbmNlbGxlZCwgYnV0IHdlIGRvbid0IHdhbnQgdG8gZmFpbCBpbiB0aGF0IGNhc2VcbiAgICovXG4gIGNhbmNlbGxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIERlcGxveUV2ZW50ID1cbiAgfCB7IHR5cGU6IFwiU1RBUlRcIjsgcHR5OiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnIH1cbiAgfCB7IHR5cGU6IFwiU1RPUFwiIH1cbiAgfCB7IHR5cGU6IFwiU0VORF9MSU5FXCI7IGlucHV0OiBzdHJpbmcgfVxuICB8IHsgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIjsgb3V0cHV0OiBzdHJpbmcgfVxuICB8IHsgdHlwZTogXCJBUFBST1ZFRF9FWFRFUk5BTExZXCIgfSAvLyBlLmcuIHZpYSBURkMgVUkgb3IgQVBJXG4gIHwgeyB0eXBlOiBcIlJFSkVDVEVEX0VYVEVSTkFMTFlcIiB9XG4gIHwgeyB0eXBlOiBcIk9WRVJSSURERU5fRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJREVfUkVKRUNURURfRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJREVcIiB9XG4gIHwgeyB0eXBlOiBcIlJFSkVDVF9PVkVSUklERVwiIH1cbiAgfCB7IHR5cGU6IFwiUkVRVUVTVF9BUFBST1ZBTFwiIH1cbiAgfCB7IHR5cGU6IFwiVkFSSUFCTEVfTUlTU0lOR1wiOyB2YXJpYWJsZU5hbWU6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiBcIlJFUVVFU1RfU0VOVElORUxfT1ZFUlJJREVcIiB9XG4gIHwgeyB0eXBlOiBcIkFQUFJPVkVcIiB9XG4gIHwgeyB0eXBlOiBcIlJFSkVDVFwiIH1cbiAgfCB7IHR5cGU6IFwiRVhJVEVEXCI7IGV4aXRDb2RlOiBudW1iZXIgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVwbG95RXZlbnQ8RGVwbG95RXZlbnRUeXBlIGV4dGVuZHMgRGVwbG95RXZlbnRbXCJ0eXBlXCJdPihcbiAgZXZlbnQ6IEV2ZW50T2JqZWN0LFxuICB0eXBlOiBEZXBsb3lFdmVudFR5cGUsXG4pOiBldmVudCBpcyBEZXBsb3lFdmVudCAmIHsgdHlwZTogRGVwbG95RXZlbnRUeXBlIH0ge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gdHlwZTtcbn1cblxuLyoqXG4gKiBUZXJyYWZvcm0ncyBpbnRlcmFjdGl2ZSBwcm9tcHQgZm9yIGEgbWlzc2luZyB2YXJpYWJsZSBsb29rcyBsaWtlOlxuICpcbiAqICAgdmFyLjxuYW1lPlxuICogICAgIEVudGVyIGEgdmFsdWU6XG4gKlxuICogVGhlIHZhcmlhYmxlIG5hbWUgYXBwZWFycyBvbiBpdHMgb3duIGxpbmUsIHByZWZpeGVkIHdpdGggXCJ2YXIuXCIgKG9wdGlvbmFsbHlcbiAqIGluZGVudGVkKS4gV2UgbWF0Y2ggdGhpcyBwcmVjaXNlbHkgc28gd2UgZG9uJ3QgbWlzdGFrZSB0ZXJyYWZvcm0gZXJyb3Igb3V0cHV0XG4gKiB0aGF0IG1lcmVseSByZWZlcmVuY2VzIGEgdmFyaWFibGUgKGUuZy4gXCI5MjogICBtaXJyb3IgPSB2YXIubWlycm9yXCIgZnJvbSBhblxuICogXCJVbnN1cHBvcnRlZCBhcmd1bWVudFwiIGVycm9yKSBmb3IgYW4gYWN0dWFsIHByb21wdC4gVGVycmFmb3JtIHZhcmlhYmxlIG5hbWVzXG4gKiBzdGFydCB3aXRoIGEgbGV0dGVyIG9yIHVuZGVyc2NvcmUgYW5kIG1heSBjb250YWluIGxldHRlcnMsIGRpZ2l0cyxcbiAqIHVuZGVyc2NvcmVzIGFuZCBkYXNoZXMuICgjMjY1KVxuICovXG5jb25zdCBWQVJJQUJMRV9QUk9NUFRfUkVHRVggPSAvXlxccyp2YXJcXC4oW0EtWmEtel9dW0EtWmEtejAtOV8tXSopXFxzKiQvO1xuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiBhbnkgbGluZSBpbiB0aGUgZ2l2ZW4gKEFOU0ktc3RyaXBwZWQpIG91dHB1dCBpcyB0ZXJyYWZvcm0nc1xuICogaW50ZXJhY3RpdmUgcHJvbXB0IGZvciBhIG1pc3NpbmcgdmFyaWFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc01pc3NpbmdWYXJpYWJsZVByb21wdChub0NvbG9yTGluZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBub0NvbG9yTGluZVxuICAgIC5zcGxpdChcIlxcblwiKVxuICAgIC5zb21lKChsaW5lKSA9PiBWQVJJQUJMRV9QUk9NUFRfUkVHRVgudGVzdChsaW5lKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0VmFyaWFibGVOYW1lRnJvbVByb21wdChsaW5lOiBzdHJpbmcpIHtcbiAgY29uc3Qgbm9Db2xvckxpbmUgPSBzdHJpcEFuc2kobGluZSk7XG4gIGNvbnN0IGxpbmVzID0gbm9Db2xvckxpbmUuc3BsaXQoXCJcXG5cIik7XG4gIGNvbnN0IG1hdGNoID0gbGluZXNcbiAgICAubWFwKChsKSA9PiBsLm1hdGNoKFZBUklBQkxFX1BST01QVF9SRUdFWCkpXG4gICAgLmZpbmQoKG0pOiBtIGlzIFJlZ0V4cE1hdGNoQXJyYXkgPT4gbSAhPT0gbnVsbCk7XG4gIGlmICghbWF0Y2gpIHtcbiAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICBgQ291bGQgbm90IGZpbmQgdmFyaWFibGUgbmFtZSBpbiBwcm9tcHQ6ICR7bGluZX0uIFRoaXMgaXMgbW9zdCBsaWtlbHkgYSBidWcgaW4gY2RrdG4uIFBsZWFzZSByZXBvcnQgaXQgYXQgaHR0cDovL2Nka3RuLmlvL2lzc3Vlc2AsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbWF0Y2hbMV07XG59XG5cbmludGVyZmFjZSBCdWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24ge1xuICAob3V0cHV0OiBzdHJpbmcpOiB2b2lkO1xuICAvKipcbiAgICogdXNlZCB0byBnZXQgdGhlIGxhc3QgYnVmZmVyIHdoZW4gdGhlIFBUWSBleGl0cyB0byBsb2cgYSBkZWJ1ZyBtZXNzYWdlIGlmIHRoZXJlJ3Mgb3V0cHV0IGxlZnQgaW4gdGhlcmVcbiAgICogKG1pZ2h0IGhlbHAgZGVidWdnaW5nIG9uIFdpbmRvd3MgaWYgRU9MIGZyb20gTm9kZWpzIGRvZXNuJ3Qgd29yayBpbiBXU0wpXG4gICAqL1xuICBnZXRCdWZmZXI6ICgpID0+IHN0cmluZztcbn1cblxuLy8gdXNlZCB0byBvbmx5IHNlbmQgY29tcGxldGVkIGxpbmVzICg9IHdpdGggYSBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgdGhlbSkgdG8gb3VyIGxvZ2ljICgjMjgyNylcbmV4cG9ydCBmdW5jdGlvbiBidWZmZXJVbnRlcm1pbmF0ZWRMaW5lcyhcbiAgaGFuZGxlcjogKG91dHB1dDogc3RyaW5nKSA9PiB2b2lkLFxuKTogQnVmZmVyZWRSZWNlaXZlckZ1bmN0aW9uIHtcbiAgbGV0IGJ1ZmZlciA9IFwiXCI7XG4gIGZ1bmN0aW9uIGJ1ZmZlcmVkUmVjZWl2ZXJGdW5jdGlvbihvdXRwdXQ6IHN0cmluZykge1xuICAgIGJ1ZmZlciArPSBvdXRwdXQ7XG4gICAgY29uc3QgbGluZXMgPSBidWZmZXIuc3BsaXQoL1tcXG5cXHJdKy8pO1xuXG4gICAgLy8gaWYgdGhlIHN0cmluZyBlbmRzIHdpdGggXFxuIHRoaXMgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmdcbiAgICAvLyBlbHNlIGl0IHdpbGwgY29udGFpbiBhbiBcInVuZmluaXNoZWRcIiBsaW5lXG4gICAgLy8gdGhlIGZhbGxiYWNrIHRvIGFuIGVtcHR5IHN0cmluZyBpcyB0byBtYWtlIFRTIGhhcHB5IGFuZCBzaG91bGQgbmV2ZXIgaGFwcGVuXG4gICAgYnVmZmVyID0gbGluZXMucG9wKCkgfHwgXCJcIjtcblxuICAgIGlmIChsaW5lcy5sZW5ndGggPiAwKSBoYW5kbGVyKGxpbmVzLmpvaW4oRU9MKSArIEVPTCk7XG4gIH1cbiAgYnVmZmVyZWRSZWNlaXZlckZ1bmN0aW9uLmdldEJ1ZmZlciA9ICgpID0+IGJ1ZmZlcjtcblxuICByZXR1cm4gYnVmZmVyZWRSZWNlaXZlckZ1bmN0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlTGluZVJlY2VpdmVkKHNlbmQ6IChldmVudDogRGVwbG95RXZlbnQpID0+IHZvaWQpIHtcbiAgcmV0dXJuIChvdXRwdXQ6IHN0cmluZykgPT4ge1xuICAgIGxldCBoaWRlT3V0cHV0ID0gZmFsc2U7XG4gICAgY29uc3Qgbm9Db2xvckxpbmUgPSBzdHJpcEFuc2kob3V0cHV0KTtcblxuICAgIC8vIHBvc3NpYmxlIGV2ZW50cyBiYXNlZCBvbiBsaW5lXG4gICAgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiYXBwcm92ZWQgdXNpbmcgdGhlIFVJIG9yIEFQSVwiKSkge1xuICAgICAgc2VuZCh7IHR5cGU6IFwiQVBQUk9WRURfRVhURVJOQUxMWVwiIH0pO1xuICAgIH0gZWxzZSBpZiAobm9Db2xvckxpbmUuaW5jbHVkZXMoXCJkaXNjYXJkZWQgdXNpbmcgdGhlIFVJIG9yIEFQSVwiKSkge1xuICAgICAgc2VuZCh7IHR5cGU6IFwiUkVKRUNURURfRVhURVJOQUxMWVwiIH0pO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcIkRvIHlvdSB3YW50IHRvIHBlcmZvcm0gdGhlc2UgYWN0aW9uc1wiKSB8fFxuICAgICAgbm9Db2xvckxpbmUuaW5jbHVkZXMoXCJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVzdHJveSBhbGwgcmVzb3VyY2VzP1wiKSB8fFxuICAgICAgbm9Db2xvckxpbmUuaW5jbHVkZXMoXG4gICAgICAgIFwiRG8geW91IHJlYWxseSB3YW50IHRvIGRlc3Ryb3kgYWxsIHJlc291cmNlcyBpbiB3b3Jrc3BhY2VcIixcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGhpZGVPdXRwdXQgPSB0cnVlO1xuICAgICAgc2VuZCh7IHR5cGU6IFwiT1VUUFVUX1JFQ0VJVkVEXCIsIG91dHB1dCB9KTtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIlJFUVVFU1RfQVBQUk9WQUxcIiB9KTtcbiAgICB9IGVsc2UgaWYgKGlzTWlzc2luZ1ZhcmlhYmxlUHJvbXB0KG5vQ29sb3JMaW5lKSkge1xuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG5cbiAgICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IGV4dHJhY3RWYXJpYWJsZU5hbWVGcm9tUHJvbXB0KG91dHB1dCk7XG4gICAgICBzZW5kKHtcbiAgICAgICAgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIixcbiAgICAgICAgb3V0cHV0OiBtaXNzaW5nVmFyaWFibGUodmFyaWFibGVOYW1lKSxcbiAgICAgIH0pO1xuICAgICAgc2VuZCh7IHR5cGU6IFwiVkFSSUFCTEVfTUlTU0lOR1wiLCB2YXJpYWJsZU5hbWUgfSk7XG4gICAgfSBlbHNlIGlmIChub0NvbG9yTGluZS5pbmNsdWRlcyhcIkVudGVyIGEgdmFsdWU6XCIpKSB7XG4gICAgICAvLyBUaGlzIGNvbWVzIGFsb25nIHdpdGggYWJvdmUgYmxvY2ssIGJ1dCBpcyBhIHNlcGFyYXRlIGxpbmVcbiAgICAgIGhpZGVPdXRwdXQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcbiAgICAgICAgXCJEbyB5b3Ugd2FudCB0byBvdmVycmlkZSB0aGUgc29mdCBmYWlsZWQgcG9saWN5IGNoZWNrP1wiLFxuICAgICAgKVxuICAgICkge1xuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG4gICAgICBzZW5kKHsgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIiwgb3V0cHV0IH0pO1xuXG4gICAgICBzZW5kKHsgdHlwZTogXCJSRVFVRVNUX1NFTlRJTkVMX09WRVJSSURFXCIgfSk7XG4gICAgfSBlbHNlIGlmIChub0NvbG9yTGluZS5pbmNsdWRlcyhcIm92ZXJyaWRkZW4gdXNpbmcgdGhlIFVJIG9yIEFQSVwiKSkge1xuICAgICAgc2VuZCh7IHR5cGU6IFwiT1ZFUlJJRERFTl9FWFRFUk5BTExZXCIgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFoaWRlT3V0cHV0KSB7XG4gICAgICBzZW5kKHtcbiAgICAgICAgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIixcbiAgICAgICAgb3V0cHV0LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIElucHV0IHBhc3NlZCB0byB0aGUgaW52b2tlZCBwdHkgYWN0b3IsIGNhcnJ5aW5nIHRoZSBzcGF3biBjb25maWcgZnJvbSB0aGUgU1RBUlQgZXZlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHR5QWN0b3JJbnB1dCB7XG4gIHB0eTogSW50ZXJhY3RpdmVTcGF3bkNvbmZpZztcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGludm9rZWQgYWN0b3IgdGhhdCBydW5zIHRlcnJhZm9ybSBpbiBhIHB0eS4gSXQgcmVsYXlzIGNvbXBsZXRlZCBsaW5lcyBiYWNrIHRvIHRoZSBwYXJlbnQgbWFjaGluZSB2aWFcbiAqIGBzZW5kQmFja2AgYW5kIGZvcndhcmRzIFNFTkRfTElORSBldmVudHMgZnJvbSB0aGUgcGFyZW50IHRvIHRoZSBwdHkgdmlhIGByZWNlaXZlYC4gVGhlIGBzcGF3bmAgZnVuY3Rpb24gaXMgYVxuICogcGFyYW1ldGVyIHNvIHRlc3RzIGNhbiBpbmplY3QgYSBtb2NrIHB0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VUZXJyYWZvcm1QdHlTZXJ2aWNlKHNwYXduID0gc3Bhd25JbnRlcmFjdGl2ZSkge1xuICByZXR1cm4gZnJvbUNhbGxiYWNrPERlcGxveUV2ZW50LCBQdHlBY3RvcklucHV0PihcbiAgICAoeyBzZW5kQmFjaywgcmVjZWl2ZSwgaW5wdXQgfSkgPT4ge1xuICAgICAgY29uc3QgeyBwdHkgfSA9IGlucHV0O1xuXG4gICAgICAvLyBDb21tdW5pY2F0aW9uIGZyb20gdGhlIHB0eSB0byB0aGUgY2FsbGVyXG4gICAgICBjb25zdCByZWNlaXZlciA9IGJ1ZmZlclVudGVybWluYXRlZExpbmVzKGhhbmRsZUxpbmVSZWNlaXZlZChzZW5kQmFjaykpO1xuICAgICAgY29uc3QgeyBleGl0Q29kZSwgYWN0aW9ucyB9ID0gc3Bhd24ocHR5LCAoZGF0YSkgPT4ge1xuICAgICAgICByZWNlaXZlcihkYXRhKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBDb21tdW5pY2F0aW9uIGZyb20gdGhlIGNhbGxlciB0byB0aGUgcHR5XG4gICAgICByZWNlaXZlKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gXCJTRU5EX0xJTkVcIikge1xuICAgICAgICAgIGFjdGlvbnMud3JpdGVMaW5lKGV2ZW50LmlucHV0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGV4aXRDb2RlLnRoZW4oKGV4aXRDb2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IGxhc3RCdWZmZXIgPSByZWNlaXZlci5nZXRCdWZmZXIoKTtcbiAgICAgICAgaWYgKGxhc3RCdWZmZXIubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBUZXJyYWZvcm0gQ0xJIGV4aXRlZCBidXQgdGhlIGxhc3Qgb3V0cHV0dGVkIGxpbmUgd2FzIG5vdCB0ZXJtaW5hdGVkIHdpdGggYSBuZXdsaW5lIGFuZCBoZW5jZSBpcyBzdGlsbCBpbiB0aGUgYnVmZmVyIGFuZCB3YXNuJ3QgcHJpbnRlZDogXCIke2xhc3RCdWZmZXJ9XCJgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBzZW5kQmFjayh7IHR5cGU6IFwiRVhJVEVEXCIsIGV4aXRDb2RlIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGxvZ2dlci50cmFjZShcIlRlcnJhZm9ybSBDTEkgc3RhdGUgbWFjaGluZTogY2xlYW5pbmcgdXAgcHR5XCIpO1xuICAgICAgICBhY3Rpb25zLnN0b3AoKTtcbiAgICAgIH07XG4gICAgfSxcbiAgKTtcbn1cblxuZXhwb3J0IGNvbnN0IHRlcnJhZm9ybVB0eVNlcnZpY2UgPSBtYWtlVGVycmFmb3JtUHR5U2VydmljZSgpO1xuXG5leHBvcnQgY29uc3QgZGVwbG95TWFjaGluZSA9IHNldHVwKHtcbiAgdHlwZXM6IHtcbiAgICBjb250ZXh0OiB7fSBhcyBEZXBsb3lDb250ZXh0LFxuICAgIGV2ZW50czoge30gYXMgRGVwbG95RXZlbnQsXG4gICAgb3V0cHV0OiB7fSBhcyB7IGV4aXRDb2RlPzogbnVtYmVyIH0sXG4gIH0sXG4gIGFjdG9yczoge1xuICAgIHJ1blRlcnJhZm9ybUluUHR5OiB0ZXJyYWZvcm1QdHlTZXJ2aWNlLFxuICB9LFxufSkuY3JlYXRlTWFjaGluZSh7XG4gIGNvbnRleHQ6IHt9LFxuICBpbml0aWFsOiBcImlkbGVcIixcbiAgaWQ6IFwicm9vdFwiLFxuICBzdGF0ZXM6IHtcbiAgICBpZGxlOiB7XG4gICAgICBvbjoge1xuICAgICAgICBTVEFSVDogeyB0YXJnZXQ6IFwicnVubmluZ1wiIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcnVubmluZzoge1xuICAgICAgaW52b2tlOiB7XG4gICAgICAgIGlkOiBcInB0eVwiLFxuICAgICAgICBzcmM6IFwicnVuVGVycmFmb3JtSW5QdHlcIixcbiAgICAgICAgaW5wdXQ6ICh7IGV2ZW50IH0pID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSAhPT0gXCJTVEFSVFwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICAgICAgICAgIGBUZXJyYWZvcm0gQ0xJIGludm9jYXRpb24gc3RhdGUgbWFjaGluZTogVW5leHBlY3RlZCBldmVudCBjYXVzZWQgdHJhbnNpdGlvbiB0byB0aGUgcnVubmluZyBzdGF0ZTogJHtldmVudC50eXBlfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4geyBwdHk6IGV2ZW50LnB0eSB9O1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIEVYSVRFRDoge1xuICAgICAgICAgIHRhcmdldDogXCJleGl0ZWRcIixcbiAgICAgICAgICBhY3Rpb25zOiBhc3NpZ24oKHsgZXZlbnQgfSkgPT4gKHsgZXhpdENvZGU6IGV2ZW50LmV4aXRDb2RlIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAgU1RPUDogXCIuc3RvcHBpbmdcIiwgLy8gd2FpdCBmb3IgdGVycmFmb3JtIHRvIGV4aXQsIGRvbid0IHN0b3AgaW1tZWRpYXRlbHkgKHNlZSB0aGUgXCJzdG9wcGluZ1wiIHN0YXRlKVxuICAgICAgfSxcbiAgICAgIGluaXRpYWw6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgc3RhdGVzOiB7XG4gICAgICAgIC8vIFRPRE86IHdoYXQgZWxzZSBtaWdodCBURiBDTEkgYmUgYXNraW5nPyBDYW4gd2UgZGV0ZWN0IGFueSBxdWVzdGlvbiBmcm9tIHRoZSBURiBDTEkgdG8gc2hvdyBhIGdvb2QgZXJyb3I/XG4gICAgICAgIHByb2Nlc3Npbmc6IHtcbiAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgUkVRVUVTVF9BUFBST1ZBTDogXCJhd2FpdGluZ19hcHByb3ZhbFwiLFxuICAgICAgICAgICAgUkVRVUVTVF9TRU5USU5FTF9PVkVSUklERTogXCJhd2FpdGluZ19zZW50aW5lbF9vdmVycmlkZVwiLFxuICAgICAgICAgICAgVkFSSUFCTEVfTUlTU0lORzoge1xuICAgICAgICAgICAgICAvLyBTZW5kIHRvIHNlbGYgcmF0aGVyIHRoYW4gcmFpc2UoKSBzbyBjb25zdW1lcnMgb2JzZXJ2aW5nIHRoZSBhY3RvciB2aWEgaW5zcGVjdGlvbiBzdGlsbCBzZWUgdGhpcyBldmVudC5cbiAgICAgICAgICAgICAgYWN0aW9uczogc2VuZFRvKCh7IHNlbGYgfSkgPT4gc2VsZiwge1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiRVhJVEVEXCIsXG4gICAgICAgICAgICAgICAgZXhpdENvZGU6IDEsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhd2FpdGluZ19hcHByb3ZhbDoge1xuICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICBBUFBST1ZFRF9FWFRFUk5BTExZOiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgIFJFSkVDVEVEX0VYVEVSTkFMTFk6IHtcbiAgICAgICAgICAgICAgdGFyZ2V0OiBcIiNyb290LmV4aXRlZFwiLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBhc3NpZ24oeyBjYW5jZWxsZWQ6IHRydWUgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgQVBQUk9WRToge1xuICAgICAgICAgICAgICB0YXJnZXQ6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBzZW5kVG8oXCJwdHlcIiwgeyB0eXBlOiBcIlNFTkRfTElORVwiLCBpbnB1dDogXCJ5ZXNcIiB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBSRUpFQ1Q6IHtcbiAgICAgICAgICAgICAgdGFyZ2V0OiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgIHNlbmRUbyhcInB0eVwiLCB7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcIm5vXCIgfSksXG4gICAgICAgICAgICAgICAgYXNzaWduKHsgY2FuY2VsbGVkOiB0cnVlIH0pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhd2FpdGluZ19zZW50aW5lbF9vdmVycmlkZToge1xuICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICBPVkVSUklEREVOX0VYVEVSTkFMTFk6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgT1ZFUlJJREVfUkVKRUNURURfRVhURVJOQUxMWToge1xuICAgICAgICAgICAgICB0YXJnZXQ6IFwiI3Jvb3QuZXhpdGVkXCIsXG4gICAgICAgICAgICAgIGFjdGlvbnM6IGFzc2lnbih7IGNhbmNlbGxlZDogdHJ1ZSB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBUaGUgZXh0ZXJuYWwgZGlzY2FyZCBtZXNzYWdlIHBvc3RlZCBieSB0aGUgVGVycmFmb3JtIFVJIGlzIHRoZSBzYW1lIGFzIGR1cmluZyBhcHBseSwgc28gd2UgY2FwdHVyZSBpdFxuICAgICAgICAgICAgLy8gYW5kIHJlLXNlbmQgYSBtb3JlIHNwZWNpZmljIGV2ZW50LiBTZW50IHRvIHNlbGYgcmF0aGVyIHRoYW4gcmFpc2UoKSBzbyBjb25zdW1lcnMgb2JzZXJ2aW5nIHRoZSBhY3RvclxuICAgICAgICAgICAgLy8gdmlhIGluc3BlY3Rpb24gc3RpbGwgc2VlIGl0LlxuICAgICAgICAgICAgUkVKRUNURURfRVhURVJOQUxMWToge1xuICAgICAgICAgICAgICBhY3Rpb25zOiBzZW5kVG8oKHsgc2VsZiB9KSA9PiBzZWxmLCB7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJPVkVSUklERV9SRUpFQ1RFRF9FWFRFUk5BTExZXCIsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE9WRVJSSURFOiB7XG4gICAgICAgICAgICAgIHRhcmdldDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgIGFjdGlvbnM6IHNlbmRUbyhcInB0eVwiLCB7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcIm92ZXJyaWRlXCIgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgUkVKRUNUX09WRVJSSURFOiB7XG4gICAgICAgICAgICAgIHRhcmdldDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICBzZW5kVG8oXCJwdHlcIiwgeyB0eXBlOiBcIlNFTkRfTElORVwiLCBpbnB1dDogXCJub1wiIH0pLFxuICAgICAgICAgICAgICAgIGFzc2lnbih7IGNhbmNlbGxlZDogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gT24gU1RPUCwgd2FpdCBmb3IgdGVycmFmb3JtJ3Mgb3duIEVYSVRFRCBiZWZvcmUgcmVhY2hpbmcgdGhlIGZpbmFsIFwic3RvcHBlZFwiIHN0YXRlLCBzbyB0aGUgcnVuIG9ubHlcbiAgICAgICAgLy8gcmVzb2x2ZXMgb25jZSBpdCBoYXMgZXhpdGVkIGFuZCByZWxlYXNlZCBpdHMgbG9jay4gRG9uJ3QgcmUtc2lnbmFsIGl0IOKAlCBpdCBhbHJlYWR5IGdvdCB0aGUgaW50ZXJydXB0IHZpYVxuICAgICAgICAvLyB0aGUgcHJvY2VzcyBncm91cCwgYW5kIGEgc2Vjb25kIHNpZ25hbCBhYm9ydHMgaXRzIGdyYWNlZnVsIHNodXRkb3duLlxuICAgICAgICBzdG9wcGluZzoge1xuICAgICAgICAgIGVudHJ5OiBhc3NpZ24oeyBjYW5jZWxsZWQ6IHRydWUgfSksXG4gICAgICAgICAgb246IHtcbiAgICAgICAgICAgIEVYSVRFRDoge1xuICAgICAgICAgICAgICB0YXJnZXQ6IFwiI3Jvb3Quc3RvcHBlZFwiLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBhc3NpZ24oKHsgZXZlbnQgfSkgPT4gKHsgZXhpdENvZGU6IGV2ZW50LmV4aXRDb2RlIH0pKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBleGl0ZWQ6IHsgdHlwZTogXCJmaW5hbFwiIH0sXG4gICAgc3RvcHBlZDogeyB0eXBlOiBcImZpbmFsXCIgfSxcbiAgfSxcbiAgLy8gVGhlIG1hY2hpbmUncyBvdXRwdXQgaXMgcHJvZHVjZWQgd2hlbiBpdCByZWFjaGVzIGEgdG9wLWxldmVsIGZpbmFsIHN0YXRlIChleGl0ZWQvc3RvcHBlZCksIGNhcnJ5aW5nIHRoZVxuICAvLyB0ZXJyYWZvcm0gZXhpdCBjb2RlIGNhcHR1cmVkIGludG8gY29udGV4dCBvbiB0aGUgRVhJVEVEIHRyYW5zaXRpb24uXG4gIG91dHB1dDogKHsgY29udGV4dCB9KSA9PiAoeyBleGl0Q29kZTogY29udGV4dC5leGl0Q29kZSB9KSxcbn0pO1xuXG4vKipcbiAqIEEgc25hcHNob3Qgb2YgdGhlIGRlcGxveSBtYWNoaW5lLCBjYXJyeWluZyB0aGUgY3VycmVudCBzdGF0ZSB2YWx1ZSBhbmQgY29udGV4dC5cbiAqL1xuZXhwb3J0IHR5cGUgRGVwbG95U25hcHNob3QgPSBTbmFwc2hvdEZyb208dHlwZW9mIGRlcGxveU1hY2hpbmU+O1xuXG4vKipcbiAqIEEgcnVubmluZyBhY3RvciBmb3IgdGhlIGRlcGxveSBtYWNoaW5lLCBhcyByZXR1cm5lZCBieSB0aGUgY3JlYXRlQW5kU3RhcnQqIGZhY3Rvcmllcy5cbiAqL1xuZXhwb3J0IHR5cGUgRGVwbG95QWN0b3IgPSBBY3RvclJlZkZyb208dHlwZW9mIGRlcGxveU1hY2hpbmU+O1xuXG4vKipcbiAqIENhbGxiYWNrIGludm9rZWQgZm9yIGV2ZXJ5IGluc3BlY3Rpb24gZXZlbnQgb24gdGhlIGRlcGxveSBhY3Rvci4gQ29uc3VtZXJzIHVzZSBpdCB0byBvYnNlcnZlIGJvdGggdGhlIGV2ZW50c1xuICogZmxvd2luZyB0aHJvdWdoIHRoZSBtYWNoaW5lIGFuZCBlYWNoIHJlc3VsdGluZyBzbmFwc2hvdC5cbiAqL1xuZXhwb3J0IHR5cGUgRGVwbG95SW5zcGVjdGlvbkhhbmRsZXIgPSAoXG4gIGluc3BlY3Rpb25FdmVudDogSW5zcGVjdGlvbkV2ZW50LFxuKSA9PiB2b2lkO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQW5kU3RhcnREZXBsb3lTZXJ2aWNlKFxuICBvcHRpb25zOiB7XG4gICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgIHBhcmFsbGVsaXNtOiBudW1iZXI7XG4gICAgZXh0cmFPcHRpb25zOiBzdHJpbmdbXTtcbiAgICB0ZXJyYWZvcm1CaW5hcnlOYW1lOiBzdHJpbmc7XG4gICAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICAgIHdvcmtkaXI6IHN0cmluZztcbiAgICB2YXJzPzogc3RyaW5nW107XG4gICAgdmFyRmlsZXM/OiBzdHJpbmdbXTtcbiAgfSxcbiAgaW5zcGVjdD86IERlcGxveUluc3BlY3Rpb25IYW5kbGVyLFxuKSB7XG4gIGNvbnN0IHNlcnZpY2UgPSBjcmVhdGVBY3RvcihkZXBsb3lNYWNoaW5lLCB7IGluc3BlY3QgfSk7XG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgXCJhcHBseVwiLFxuICAgIC4uLihvcHRpb25zLmF1dG9BcHByb3ZlID8gW1wiLWF1dG8tYXBwcm92ZVwiXSA6IFtdKSxcbiAgICAvLyBcIi1pbnB1dD1mYWxzZVwiLCB3ZSBjYW4ndCB1c2UgdGhpcyBhbnltb3JlIGJ1dCBUT0RPOiB3ZSBuZWVkIHRvIGRldGVjdCBURiBDTEkgYXNraW5nIGZvciBtaXNzaW5nIGlucHV0cyBhbmQgZWl0aGVyIGFsbG93IHBhc3NpbmcgdGhlbSBvciBzdG9wIHRoZXJlIGFuZCBmYWlsXG5cbiAgICAuLi5vcHRpb25zLmV4dHJhT3B0aW9ucyxcbiAgICAuLi4ob3B0aW9ucy5yZWZyZXNoT25seSA/IFtcIi1yZWZyZXNoLW9ubHlcIl0gOiBbXSksXG4gICAgLi4uKG9wdGlvbnMubm9Db2xvciA/IFtcIi1uby1jb2xvclwiXSA6IFtdKSxcbiAgICAuLi4ob3B0aW9ucy5wYXJhbGxlbGlzbSA+IC0xXG4gICAgICA/IFtgLXBhcmFsbGVsaXNtPSR7b3B0aW9ucy5wYXJhbGxlbGlzbX1gXVxuICAgICAgOiBbXSksXG4gIF07XG5cbiAgb3B0aW9ucy52YXJzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgYXJncy5wdXNoKGAtdmFyPSR7dn1gKTtcbiAgfSk7XG5cbiAgb3B0aW9ucy52YXJGaWxlcz8uZm9yRWFjaCgodikgPT4ge1xuICAgIGFyZ3MucHVzaChgLXZhci1maWxlPSR7dn1gKTtcbiAgfSk7XG5cbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGBFeGVjdXRpbmcgJHtvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWV9ICR7YXJncy5qb2luKFwiIFwiKX0gaW4gJHtcbiAgICAgIG9wdGlvbnMud29ya2RpclxuICAgIH1gLFxuICApO1xuXG4gIGNvbnN0IGNvbmZpZzogSW50ZXJhY3RpdmVTcGF3bkNvbmZpZyA9IHtcbiAgICBmaWxlOiBvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWUsXG4gICAgYXJncyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBjd2Q6IG9wdGlvbnMud29ya2RpcixcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgLy8gVE9ETzogbWFrZSB0aGlzIGV4cGxpY2l0IGFuZCBtb3ZlIHRvIGNhbGxlciBvciB3aGF0ZXZlclxuICAgIH0sXG4gIH07XG5cbiAgc2VydmljZS5zdGFydCgpO1xuICBzZXJ2aWNlLnNlbmQoeyB0eXBlOiBcIlNUQVJUXCIsIHB0eTogY29uZmlnIH0pO1xuXG4gIHJldHVybiBzZXJ2aWNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQW5kU3RhcnREZXN0cm95U2VydmljZShcbiAgb3B0aW9uczoge1xuICAgIHBhcmFsbGVsaXNtOiBudW1iZXI7XG4gICAgZXh0cmFPcHRpb25zOiBzdHJpbmdbXTtcbiAgICB0ZXJyYWZvcm1CaW5hcnlOYW1lOiBzdHJpbmc7XG4gICAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICAgIHdvcmtkaXI6IHN0cmluZztcbiAgICB2YXJzPzogc3RyaW5nW107XG4gICAgdmFyRmlsZXM/OiBzdHJpbmdbXTtcbiAgfSxcbiAgaW5zcGVjdD86IERlcGxveUluc3BlY3Rpb25IYW5kbGVyLFxuKSB7XG4gIGNvbnN0IHNlcnZpY2UgPSBjcmVhdGVBY3RvcihkZXBsb3lNYWNoaW5lLCB7IGluc3BlY3QgfSk7XG5cbiAgY29uc3QgYXJncyA9IFtcbiAgICBcImRlc3Ryb3lcIixcbiAgICAuLi4ob3B0aW9ucy5hdXRvQXBwcm92ZSA/IFtcIi1hdXRvLWFwcHJvdmVcIl0gOiBbXSksXG4gICAgLy8gXCItaW5wdXQ9ZmFsc2VcIiwgd2UgY2FuJ3QgdXNlIHRoaXMgYW55bW9yZSBidXQgVE9ETzogd2UgbmVlZCB0byBkZXRlY3QgVEYgQ0xJIGFza2luZyBmb3IgbWlzc2luZyBpbnB1dHMgYW5kIGVpdGhlciBhbGxvdyBwYXNzaW5nIHRoZW0gb3Igc3RvcCB0aGVyZSBhbmQgZmFpbFxuXG4gICAgLi4ub3B0aW9ucy5leHRyYU9wdGlvbnMsXG4gICAgLi4uKG9wdGlvbnMubm9Db2xvciA/IFtcIi1uby1jb2xvclwiXSA6IFtdKSxcbiAgICAuLi4ob3B0aW9ucy5wYXJhbGxlbGlzbSA+IC0xXG4gICAgICA/IFtgLXBhcmFsbGVsaXNtPSR7b3B0aW9ucy5wYXJhbGxlbGlzbX1gXVxuICAgICAgOiBbXSksXG4gIF07XG5cbiAgb3B0aW9ucy52YXJzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgYXJncy5wdXNoKGAtdmFyPSR7dn1gKTtcbiAgfSk7XG5cbiAgb3B0aW9ucy52YXJGaWxlcz8uZm9yRWFjaCgodikgPT4ge1xuICAgIGFyZ3MucHVzaChgLXZhci1maWxlPSR7dn1gKTtcbiAgfSk7XG5cbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGBFeGVjdXRpbmcgJHtvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWV9ICR7YXJncy5qb2luKFwiIFwiKX0gaW4gJHtcbiAgICAgIG9wdGlvbnMud29ya2RpclxuICAgIH1gLFxuICApO1xuXG4gIGNvbnN0IGNvbmZpZzogSW50ZXJhY3RpdmVTcGF3bkNvbmZpZyA9IHtcbiAgICBmaWxlOiBvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWUsXG4gICAgYXJncyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBjd2Q6IG9wdGlvbnMud29ya2RpcixcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgLy8gVE9ETzogbWFrZSB0aGlzIGV4cGxpY2l0IGFuZCBtb3ZlIHRvIGNhbGxlciBvciB3aGF0ZXZlclxuICAgIH0sXG4gIH07XG5cbiAgc2VydmljZS5zdGFydCgpO1xuICBzZXJ2aWNlLnNlbmQoeyB0eXBlOiBcIlNUQVJUXCIsIHB0eTogY29uZmlnIH0pO1xuXG4gIHJldHVybiBzZXJ2aWNlO1xufVxuIl19
345
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LW1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21vZGVscy9kZXBsb3ktbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7Ozs7QUFnREgsc0NBS0M7QUFxQkQsMERBSUM7QUFFRCxzRUFZQztBQVlELDBEQWtCQztBQUVELGdEQW9EQztBQWNELDBEQW1DQztBQW1KRCxrRUF1REM7QUFFRCxvRUFzREM7QUFqZUQsbUNBVWdCO0FBQ2hCLDRDQUFnRDtBQUNoRCxzQ0FBNEM7QUFDNUMsNERBQW1DO0FBQ25DLDJCQUF5QjtBQUN6QiwrREFHK0I7QUE0Qi9CLFNBQWdCLGFBQWEsQ0FDM0IsS0FBa0IsRUFDbEIsSUFBcUI7SUFFckIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztBQUM3QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyx3Q0FBd0MsQ0FBQztBQUV2RTs7O0dBR0c7QUFDSCxTQUFnQix1QkFBdUIsQ0FBQyxXQUFtQjtJQUN6RCxPQUFPLFdBQVc7U0FDZixLQUFLLENBQUMsSUFBSSxDQUFDO1NBQ1gsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBZ0IsNkJBQTZCLENBQUMsSUFBWTtJQUN4RCxNQUFNLFdBQVcsR0FBRyxJQUFBLG9CQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxNQUFNLEtBQUssR0FBRyxLQUFLO1NBQ2hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQzFDLElB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QU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQyxDQUFDO0lBRUgsZ0JBQU0sQ0FBQyxLQUFLLENBQ1YsYUFBYSxPQUFPLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FDeEQsT0FBTyxDQUFDLE9BQ1YsRUFBRSxDQUNILENBQUM7SUFFRixNQUFNLE1BQU0sR0FBMkI7UUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUI7UUFDakMsSUFBSTtRQUNKLE9BQU8sRUFBRTtZQUNQLEdBQUcsRUFBRSxPQUFPLENBQUMsT0FBTztZQUNwQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQWdDLEVBQUUsMERBQTBEO1NBQzFHO0tBQ0YsQ0FBQztJQUVGLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUU3QyxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQge1xuICBzZXR1cCxcbiAgY3JlYXRlQWN0b3IsXG4gIHNlbmRUbyxcbiAgZnJvbUNhbGxiYWNrLFxuICBhc3NpZ24sXG4gIEFjdG9yUmVmRnJvbSxcbiAgRXZlbnRPYmplY3QsXG4gIEluc3BlY3Rpb25FdmVudCxcbiAgU25hcHNob3RGcm9tLFxufSBmcm9tIFwieHN0YXRlXCI7XG5pbXBvcnQgeyBFcnJvcnMsIGxvZ2dlciB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgbWlzc2luZ1ZhcmlhYmxlIH0gZnJvbSBcIi4uL2Vycm9yc1wiO1xuaW1wb3J0IHN0cmlwQW5zaSBmcm9tIFwic3RyaXAtYW5zaVwiO1xuaW1wb3J0IHsgRU9MIH0gZnJvbSBcIm9zXCI7XG5pbXBvcnQge1xuICBzcGF3bkludGVyYWN0aXZlLFxuICBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnLFxufSBmcm9tIFwiLi9pbnRlcmFjdGl2ZS1wcm9jZXNzXCI7XG5cbmludGVyZmFjZSBEZXBsb3lDb250ZXh0IHtcbiAgZXhpdENvZGU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUZXJyYWZvcm0gd2lsbCBleGl0IHdpdGggMSBpZiBpdCB3YXMgY2FuY2VsbGVkLCBidXQgd2UgZG9uJ3Qgd2FudCB0byBmYWlsIGluIHRoYXQgY2FzZVxuICAgKi9cbiAgY2FuY2VsbGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgRGVwbG95RXZlbnQgPVxuICB8IHsgdHlwZTogXCJTVEFSVFwiOyBwdHk6IEludGVyYWN0aXZlU3Bhd25Db25maWcgfVxuICB8IHsgdHlwZTogXCJTVE9QXCIgfVxuICB8IHsgdHlwZTogXCJTRU5EX0xJTkVcIjsgaW5wdXQ6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiOyBvdXRwdXQ6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiBcIkFQUFJPVkVEX0VYVEVSTkFMTFlcIiB9IC8vIGUuZy4gdmlhIFRGQyBVSSBvciBBUElcbiAgfCB7IHR5cGU6IFwiUkVKRUNURURfRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJRERFTl9FWFRFUk5BTExZXCIgfVxuICB8IHsgdHlwZTogXCJPVkVSUklERV9SRUpFQ1RFRF9FWFRFUk5BTExZXCIgfVxuICB8IHsgdHlwZTogXCJPVkVSUklERVwiIH1cbiAgfCB7IHR5cGU6IFwiUkVKRUNUX09WRVJSSURFXCIgfVxuICB8IHsgdHlwZTogXCJSRVFVRVNUX0FQUFJPVkFMXCIgfVxuICB8IHsgdHlwZTogXCJWQVJJQUJMRV9NSVNTSU5HXCI7IHZhcmlhYmxlTmFtZTogc3RyaW5nIH1cbiAgfCB7IHR5cGU6IFwiUkVRVUVTVF9TRU5USU5FTF9PVkVSUklERVwiIH1cbiAgfCB7IHR5cGU6IFwiQVBQUk9WRVwiIH1cbiAgfCB7IHR5cGU6IFwiUkVKRUNUXCIgfVxuICB8IHsgdHlwZTogXCJFWElURURcIjsgZXhpdENvZGU6IG51bWJlciB9O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNEZXBsb3lFdmVudDxEZXBsb3lFdmVudFR5cGUgZXh0ZW5kcyBEZXBsb3lFdmVudFtcInR5cGVcIl0+KFxuICBldmVudDogRXZlbnRPYmplY3QsXG4gIHR5cGU6IERlcGxveUV2ZW50VHlwZSxcbik6IGV2ZW50IGlzIERlcGxveUV2ZW50ICYgeyB0eXBlOiBEZXBsb3lFdmVudFR5cGUgfSB7XG4gIHJldHVybiBldmVudC50eXBlID09PSB0eXBlO1xufVxuXG4vKipcbiAqIFRlcnJhZm9ybSdzIGludGVyYWN0aXZlIHByb21wdCBmb3IgYSBtaXNzaW5nIHZhcmlhYmxlIGxvb2tzIGxpa2U6XG4gKlxuICogICB2YXIuPG5hbWU+XG4gKiAgICAgRW50ZXIgYSB2YWx1ZTpcbiAqXG4gKiBUaGUgdmFyaWFibGUgbmFtZSBhcHBlYXJzIG9uIGl0cyBvd24gbGluZSwgcHJlZml4ZWQgd2l0aCBcInZhci5cIiAob3B0aW9uYWxseVxuICogaW5kZW50ZWQpLiBXZSBtYXRjaCB0aGlzIHByZWNpc2VseSBzbyB3ZSBkb24ndCBtaXN0YWtlIHRlcnJhZm9ybSBlcnJvciBvdXRwdXRcbiAqIHRoYXQgbWVyZWx5IHJlZmVyZW5jZXMgYSB2YXJpYWJsZSAoZS5nLiBcIjkyOiAgIG1pcnJvciA9IHZhci5taXJyb3JcIiBmcm9tIGFuXG4gKiBcIlVuc3VwcG9ydGVkIGFyZ3VtZW50XCIgZXJyb3IpIGZvciBhbiBhY3R1YWwgcHJvbXB0LiBUZXJyYWZvcm0gdmFyaWFibGUgbmFtZXNcbiAqIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgdW5kZXJzY29yZSBhbmQgbWF5IGNvbnRhaW4gbGV0dGVycywgZGlnaXRzLFxuICogdW5kZXJzY29yZXMgYW5kIGRhc2hlcy4gKCMyNjUpXG4gKi9cbmNvbnN0IFZBUklBQkxFX1BST01QVF9SRUdFWCA9IC9eXFxzKnZhclxcLihbQS1aYS16X11bQS1aYS16MC05Xy1dKilcXHMqJC87XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIGFueSBsaW5lIGluIHRoZSBnaXZlbiAoQU5TSS1zdHJpcHBlZCkgb3V0cHV0IGlzIHRlcnJhZm9ybSdzXG4gKiBpbnRlcmFjdGl2ZSBwcm9tcHQgZm9yIGEgbWlzc2luZyB2YXJpYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTWlzc2luZ1ZhcmlhYmxlUHJvbXB0KG5vQ29sb3JMaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vQ29sb3JMaW5lXG4gICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgLnNvbWUoKGxpbmUpID0+IFZBUklBQkxFX1BST01QVF9SRUdFWC50ZXN0KGxpbmUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RWYXJpYWJsZU5hbWVGcm9tUHJvbXB0KGxpbmU6IHN0cmluZykge1xuICBjb25zdCBub0NvbG9yTGluZSA9IHN0cmlwQW5zaShsaW5lKTtcbiAgY29uc3QgbGluZXMgPSBub0NvbG9yTGluZS5zcGxpdChcIlxcblwiKTtcbiAgY29uc3QgbWF0Y2ggPSBsaW5lc1xuICAgIC5tYXAoKGwpID0+IGwubWF0Y2goVkFSSUFCTEVfUFJPTVBUX1JFR0VYKSlcbiAgICAuZmluZCgobSk6IG0gaXMgUmVnRXhwTWF0Y2hBcnJheSA9PiBtICE9PSBudWxsKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHRocm93IEVycm9ycy5JbnRlcm5hbChcbiAgICAgIGBDb3VsZCBub3QgZmluZCB2YXJpYWJsZSBuYW1lIGluIHByb21wdDogJHtsaW5lfS4gVGhpcyBpcyBtb3N0IGxpa2VseSBhIGJ1ZyBpbiBjZGt0bi4gUGxlYXNlIHJlcG9ydCBpdCBhdCBodHRwOi8vY2RrdG4uaW8vaXNzdWVzYCxcbiAgICApO1xuICB9XG4gIHJldHVybiBtYXRjaFsxXTtcbn1cblxuaW50ZXJmYWNlIEJ1ZmZlcmVkUmVjZWl2ZXJGdW5jdGlvbiB7XG4gIChvdXRwdXQ6IHN0cmluZyk6IHZvaWQ7XG4gIC8qKlxuICAgKiB1c2VkIHRvIGdldCB0aGUgbGFzdCBidWZmZXIgd2hlbiB0aGUgUFRZIGV4aXRzIHRvIGxvZyBhIGRlYnVnIG1lc3NhZ2UgaWYgdGhlcmUncyBvdXRwdXQgbGVmdCBpbiB0aGVyZVxuICAgKiAobWlnaHQgaGVscCBkZWJ1Z2dpbmcgb24gV2luZG93cyBpZiBFT0wgZnJvbSBOb2RlanMgZG9lc24ndCB3b3JrIGluIFdTTClcbiAgICovXG4gIGdldEJ1ZmZlcjogKCkgPT4gc3RyaW5nO1xufVxuXG4vLyB1c2VkIHRvIG9ubHkgc2VuZCBjb21wbGV0ZWQgbGluZXMgKD0gd2l0aCBhIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiB0aGVtKSB0byBvdXIgbG9naWMgKCMyODI3KVxuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlclVudGVybWluYXRlZExpbmVzKFxuICBoYW5kbGVyOiAob3V0cHV0OiBzdHJpbmcpID0+IHZvaWQsXG4pOiBCdWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24ge1xuICBsZXQgYnVmZmVyID0gXCJcIjtcbiAgZnVuY3Rpb24gYnVmZmVyZWRSZWNlaXZlckZ1bmN0aW9uKG91dHB1dDogc3RyaW5nKSB7XG4gICAgYnVmZmVyICs9IG91dHB1dDtcbiAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgvW1xcblxccl0rLyk7XG5cbiAgICAvLyBpZiB0aGUgc3RyaW5nIGVuZHMgd2l0aCBcXG4gdGhpcyB3aWxsIGJlIGFuIGVtcHR5IHN0cmluZ1xuICAgIC8vIGVsc2UgaXQgd2lsbCBjb250YWluIGFuIFwidW5maW5pc2hlZFwiIGxpbmVcbiAgICAvLyB0aGUgZmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlzIHRvIG1ha2UgVFMgaGFwcHkgYW5kIHNob3VsZCBuZXZlciBoYXBwZW5cbiAgICBidWZmZXIgPSBsaW5lcy5wb3AoKSB8fCBcIlwiO1xuXG4gICAgaWYgKGxpbmVzLmxlbmd0aCA+IDApIGhhbmRsZXIobGluZXMuam9pbihFT0wpICsgRU9MKTtcbiAgfVxuICBidWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24uZ2V0QnVmZmVyID0gKCkgPT4gYnVmZmVyO1xuXG4gIHJldHVybiBidWZmZXJlZFJlY2VpdmVyRnVuY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVMaW5lUmVjZWl2ZWQoc2VuZDogKGV2ZW50OiBEZXBsb3lFdmVudCkgPT4gdm9pZCkge1xuICByZXR1cm4gKG91dHB1dDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IGhpZGVPdXRwdXQgPSBmYWxzZTtcbiAgICBjb25zdCBub0NvbG9yTGluZSA9IHN0cmlwQW5zaShvdXRwdXQpO1xuXG4gICAgLy8gcG9zc2libGUgZXZlbnRzIGJhc2VkIG9uIGxpbmVcbiAgICBpZiAobm9Db2xvckxpbmUuaW5jbHVkZXMoXCJhcHByb3ZlZCB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJBUFBST1ZFRF9FWFRFUk5BTExZXCIgfSk7XG4gICAgfSBlbHNlIGlmIChub0NvbG9yTGluZS5pbmNsdWRlcyhcImRpc2NhcmRlZCB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJSRUpFQ1RFRF9FWFRFUk5BTExZXCIgfSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiRG8geW91IHdhbnQgdG8gcGVyZm9ybSB0aGVzZSBhY3Rpb25zXCIpIHx8XG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZXN0cm95IGFsbCByZXNvdXJjZXM/XCIpIHx8XG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcbiAgICAgICAgXCJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVzdHJveSBhbGwgcmVzb3VyY2VzIGluIHdvcmtzcGFjZVwiLFxuICAgICAgKVxuICAgICkge1xuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG4gICAgICBzZW5kKHsgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIiwgb3V0cHV0IH0pO1xuICAgICAgc2VuZCh7IHR5cGU6IFwiUkVRVUVTVF9BUFBST1ZBTFwiIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNNaXNzaW5nVmFyaWFibGVQcm9tcHQobm9Db2xvckxpbmUpKSB7XG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcblxuICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gZXh0cmFjdFZhcmlhYmxlTmFtZUZyb21Qcm9tcHQob3V0cHV0KTtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLFxuICAgICAgICBvdXRwdXQ6IG1pc3NpbmdWYXJpYWJsZSh2YXJpYWJsZU5hbWUpLFxuICAgICAgfSk7XG4gICAgICBzZW5kKHsgdHlwZTogXCJWQVJJQUJMRV9NSVNTSU5HXCIsIHZhcmlhYmxlTmFtZSB9KTtcbiAgICB9IGVsc2UgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiRW50ZXIgYSB2YWx1ZTpcIikpIHtcbiAgICAgIC8vIFRoaXMgY29tZXMgYWxvbmcgd2l0aCBhYm92ZSBibG9jaywgYnV0IGlzIGEgc2VwYXJhdGUgbGluZVxuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBzb2Z0IGZhaWxlZCBwb2xpY3kgY2hlY2s/XCIsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLCBvdXRwdXQgfSk7XG5cbiAgICAgIHNlbmQoeyB0eXBlOiBcIlJFUVVFU1RfU0VOVElORUxfT1ZFUlJJREVcIiB9KTtcbiAgICB9IGVsc2UgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwib3ZlcnJpZGRlbiB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJPVkVSUklEREVOX0VYVEVSTkFMTFlcIiB9KTtcbiAgICB9XG5cbiAgICBpZiAoIWhpZGVPdXRwdXQpIHtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLFxuICAgICAgICBvdXRwdXQsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogSW5wdXQgcGFzc2VkIHRvIHRoZSBpbnZva2VkIHB0eSBhY3RvciwgY2FycnlpbmcgdGhlIHNwYXduIGNvbmZpZyBmcm9tIHRoZSBTVEFSVCBldmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQdHlBY3RvcklucHV0IHtcbiAgcHR5OiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgaW52b2tlZCBhY3RvciB0aGF0IHJ1bnMgdGVycmFmb3JtIGluIGEgcHR5LiBJdCByZWxheXMgY29tcGxldGVkIGxpbmVzIGJhY2sgdG8gdGhlIHBhcmVudCBtYWNoaW5lIHZpYVxuICogYHNlbmRCYWNrYCBhbmQgZm9yd2FyZHMgU0VORF9MSU5FIGV2ZW50cyBmcm9tIHRoZSBwYXJlbnQgdG8gdGhlIHB0eSB2aWEgYHJlY2VpdmVgLiBUaGUgYHNwYXduYCBmdW5jdGlvbiBpcyBhXG4gKiBwYXJhbWV0ZXIgc28gdGVzdHMgY2FuIGluamVjdCBhIG1vY2sgcHR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZVRlcnJhZm9ybVB0eVNlcnZpY2Uoc3Bhd24gPSBzcGF3bkludGVyYWN0aXZlKSB7XG4gIHJldHVybiBmcm9tQ2FsbGJhY2s8RGVwbG95RXZlbnQsIFB0eUFjdG9ySW5wdXQ+KFxuICAgICh7IHNlbmRCYWNrLCByZWNlaXZlLCBpbnB1dCB9KSA9PiB7XG4gICAgICBjb25zdCB7IHB0eSB9ID0gaW5wdXQ7XG5cbiAgICAgIC8vIENvbW11bmljYXRpb24gZnJvbSB0aGUgcHR5IHRvIHRoZSBjYWxsZXJcbiAgICAgIGNvbnN0IHJlY2VpdmVyID0gYnVmZmVyVW50ZXJtaW5hdGVkTGluZXMoaGFuZGxlTGluZVJlY2VpdmVkKHNlbmRCYWNrKSk7XG4gICAgICBjb25zdCB7IGV4aXRDb2RlLCBhY3Rpb25zIH0gPSBzcGF3bihwdHksIChkYXRhKSA9PiB7XG4gICAgICAgIHJlY2VpdmVyKGRhdGEpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIENvbW11bmljYXRpb24gZnJvbSB0aGUgY2FsbGVyIHRvIHRoZSBwdHlcbiAgICAgIHJlY2VpdmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBcIlNFTkRfTElORVwiKSB7XG4gICAgICAgICAgYWN0aW9ucy53cml0ZUxpbmUoZXZlbnQuaW5wdXQpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgZXhpdENvZGUudGhlbigoZXhpdENvZGUpID0+IHtcbiAgICAgICAgY29uc3QgbGFzdEJ1ZmZlciA9IHJlY2VpdmVyLmdldEJ1ZmZlcigpO1xuICAgICAgICBpZiAobGFzdEJ1ZmZlci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYFRlcnJhZm9ybSBDTEkgZXhpdGVkIGJ1dCB0aGUgbGFzdCBvdXRwdXR0ZWQgbGluZSB3YXMgbm90IHRlcm1pbmF0ZWQgd2l0aCBhIG5ld2xpbmUgYW5kIGhlbmNlIGlzIHN0aWxsIGluIHRoZSBidWZmZXIgYW5kIHdhc24ndCBwcmludGVkOiBcIiR7bGFzdEJ1ZmZlcn1cImAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbmRCYWNrKHsgdHlwZTogXCJFWElURURcIiwgZXhpdENvZGUgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgbG9nZ2VyLnRyYWNlKFwiVGVycmFmb3JtIENMSSBzdGF0ZSBtYWNoaW5lOiBjbGVhbmluZyB1cCBwdHlcIik7XG4gICAgICAgIGFjdGlvbnMuc3RvcCgpO1xuICAgICAgfTtcbiAgICB9LFxuICApO1xufVxuXG5leHBvcnQgY29uc3QgdGVycmFmb3JtUHR5U2VydmljZSA9IG1ha2VUZXJyYWZvcm1QdHlTZXJ2aWNlKCk7XG5cbmV4cG9ydCBjb25zdCBkZXBsb3lNYWNoaW5lID0gc2V0dXAoe1xuICB0eXBlczoge1xuICAgIGNvbnRleHQ6IHt9IGFzIERlcGxveUNvbnRleHQsXG4gICAgZXZlbnRzOiB7fSBhcyBEZXBsb3lFdmVudCxcbiAgICBvdXRwdXQ6IHt9IGFzIHsgZXhpdENvZGU/OiBudW1iZXIgfSxcbiAgfSxcbiAgYWN0b3JzOiB7XG4gICAgcnVuVGVycmFmb3JtSW5QdHk6IHRlcnJhZm9ybVB0eVNlcnZpY2UsXG4gIH0sXG59KS5jcmVhdGVNYWNoaW5lKHtcbiAgY29udGV4dDoge30sXG4gIGluaXRpYWw6IFwiaWRsZVwiLFxuICBpZDogXCJyb290XCIsXG4gIHN0YXRlczoge1xuICAgIGlkbGU6IHtcbiAgICAgIG9uOiB7XG4gICAgICAgIFNUQVJUOiB7IHRhcmdldDogXCJydW5uaW5nXCIgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBydW5uaW5nOiB7XG4gICAgICBpbnZva2U6IHtcbiAgICAgICAgaWQ6IFwicHR5XCIsXG4gICAgICAgIHNyYzogXCJydW5UZXJyYWZvcm1JblB0eVwiLFxuICAgICAgICBpbnB1dDogKHsgZXZlbnQgfSkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC50eXBlICE9PSBcIlNUQVJUXCIpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9ycy5JbnRlcm5hbChcbiAgICAgICAgICAgICAgYFRlcnJhZm9ybSBDTEkgaW52b2NhdGlvbiBzdGF0ZSBtYWNoaW5lOiBVbmV4cGVjdGVkIGV2ZW50IGNhdXNlZCB0cmFuc2l0aW9uIHRvIHRoZSBydW5uaW5nIHN0YXRlOiAke2V2ZW50LnR5cGV9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7IHB0eTogZXZlbnQucHR5IH07XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb246IHtcbiAgICAgICAgRVhJVEVEOiB7XG4gICAgICAgICAgdGFyZ2V0OiBcImV4aXRlZFwiLFxuICAgICAgICAgIGFjdGlvbnM6IGFzc2lnbigoeyBldmVudCB9KSA9PiAoeyBleGl0Q29kZTogZXZlbnQuZXhpdENvZGUgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBTVE9QOiBcIi5zdG9wcGluZ1wiLCAvLyB3YWl0IGZvciB0ZXJyYWZvcm0gdG8gZXhpdCwgZG9uJ3Qgc3RvcCBpbW1lZGlhdGVseSAoc2VlIHRoZSBcInN0b3BwaW5nXCIgc3RhdGUpXG4gICAgICB9LFxuICAgICAgaW5pdGlhbDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICBzdGF0ZXM6IHtcbiAgICAgICAgLy8gVE9ETzogd2hhdCBlbHNlIG1pZ2h0IFRGIENMSSBiZSBhc2tpbmc/IENhbiB3ZSBkZXRlY3QgYW55IHF1ZXN0aW9uIGZyb20gdGhlIFRGIENMSSB0byBzaG93IGEgZ29vZCBlcnJvcj9cbiAgICAgICAgcHJvY2Vzc2luZzoge1xuICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICBSRVFVRVNUX0FQUFJPVkFMOiBcImF3YWl0aW5nX2FwcHJvdmFsXCIsXG4gICAgICAgICAgICBSRVFVRVNUX1NFTlRJTkVMX09WRVJSSURFOiBcImF3YWl0aW5nX3NlbnRpbmVsX292ZXJyaWRlXCIsXG4gICAgICAgICAgICBWQVJJQUJMRV9NSVNTSU5HOiB7XG4gICAgICAgICAgICAgIC8vIFNlbmQgdG8gc2VsZiByYXRoZXIgdGhhbiByYWlzZSgpIHNvIGNvbnN1bWVycyBvYnNlcnZpbmcgdGhlIGFjdG9yIHZpYSBpbnNwZWN0aW9uIHN0aWxsIHNlZSB0aGlzIGV2ZW50LlxuICAgICAgICAgICAgICBhY3Rpb25zOiBzZW5kVG8oKHsgc2VsZiB9KSA9PiBzZWxmLCB7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJFWElURURcIixcbiAgICAgICAgICAgICAgICBleGl0Q29kZTogMSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGF3YWl0aW5nX2FwcHJvdmFsOiB7XG4gICAgICAgICAgb246IHtcbiAgICAgICAgICAgIEFQUFJPVkVEX0VYVEVSTkFMTFk6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgUkVKRUNURURfRVhURVJOQUxMWToge1xuICAgICAgICAgICAgICB0YXJnZXQ6IFwiI3Jvb3QuZXhpdGVkXCIsXG4gICAgICAgICAgICAgIGFjdGlvbnM6IGFzc2lnbih7IGNhbmNlbGxlZDogdHJ1ZSB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBBUFBST1ZFOiB7XG4gICAgICAgICAgICAgIHRhcmdldDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgIGFjdGlvbnM6IHNlbmRUbyhcInB0eVwiLCB7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcInllc1wiIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFJFSkVDVDoge1xuICAgICAgICAgICAgICB0YXJnZXQ6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgc2VuZFRvKFwicHR5XCIsIHsgdHlwZTogXCJTRU5EX0xJTkVcIiwgaW5wdXQ6IFwibm9cIiB9KSxcbiAgICAgICAgICAgICAgICBhc3NpZ24oeyBjYW5jZWxsZWQ6IHRydWUgfSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGF3YWl0aW5nX3NlbnRpbmVsX292ZXJyaWRlOiB7XG4gICAgICAgICAgb246IHtcbiAgICAgICAgICAgIE9WRVJSSURERU5fRVhURVJOQUxMWTogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICBPVkVSUklERV9SRUpFQ1RFRF9FWFRFUk5BTExZOiB7XG4gICAgICAgICAgICAgIHRhcmdldDogXCIjcm9vdC5leGl0ZWRcIixcbiAgICAgICAgICAgICAgYWN0aW9uczogYXNzaWduKHsgY2FuY2VsbGVkOiB0cnVlIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFRoZSBleHRlcm5hbCBkaXNjYXJkIG1lc3NhZ2UgcG9zdGVkIGJ5IHRoZSBUZXJyYWZvcm0gVUkgaXMgdGhlIHNhbWUgYXMgZHVyaW5nIGFwcGx5LCBzbyB3ZSBjYXB0dXJlIGl0XG4gICAgICAgICAgICAvLyBhbmQgcmUtc2VuZCBhIG1vcmUgc3BlY2lmaWMgZXZlbnQuIFNlbnQgdG8gc2VsZiByYXRoZXIgdGhhbiByYWlzZSgpIHNvIGNvbnN1bWVycyBvYnNlcnZpbmcgdGhlIGFjdG9yXG4gICAgICAgICAgICAvLyB2aWEgaW5zcGVjdGlvbiBzdGlsbCBzZWUgaXQuXG4gICAgICAgICAgICBSRUpFQ1RFRF9FWFRFUk5BTExZOiB7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IHNlbmRUbygoeyBzZWxmIH0pID0+IHNlbGYsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcIk9WRVJSSURFX1JFSkVDVEVEX0VYVEVSTkFMTFlcIixcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgT1ZFUlJJREU6IHtcbiAgICAgICAgICAgICAgdGFyZ2V0OiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgYWN0aW9uczogc2VuZFRvKFwicHR5XCIsIHsgdHlwZTogXCJTRU5EX0xJTkVcIiwgaW5wdXQ6IFwib3ZlcnJpZGVcIiB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBSRUpFQ1RfT1ZFUlJJREU6IHtcbiAgICAgICAgICAgICAgdGFyZ2V0OiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgIHNlbmRUbyhcInB0eVwiLCB7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcIm5vXCIgfSksXG4gICAgICAgICAgICAgICAgYXNzaWduKHsgY2FuY2VsbGVkOiB0cnVlIH0pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICAvLyBPbiBTVE9QLCB3YWl0IGZvciB0ZXJyYWZvcm0ncyBvd24gRVhJVEVEIGJlZm9yZSByZWFjaGluZyB0aGUgZmluYWwgXCJzdG9wcGVkXCIgc3RhdGUsIHNvIHRoZSBydW4gb25seVxuICAgICAgICAvLyByZXNvbHZlcyBvbmNlIGl0IGhhcyBleGl0ZWQgYW5kIHJlbGVhc2VkIGl0cyBsb2NrLiBEb24ndCByZS1zaWduYWwgaXQg4oCUIGl0IGFscmVhZHkgZ290IHRoZSBpbnRlcnJ1cHQgdmlhXG4gICAgICAgIC8vIHRoZSBwcm9jZXNzIGdyb3VwLCBhbmQgYSBzZWNvbmQgc2lnbmFsIGFib3J0cyBpdHMgZ3JhY2VmdWwgc2h1dGRvd24uXG4gICAgICAgIHN0b3BwaW5nOiB7XG4gICAgICAgICAgZW50cnk6IGFzc2lnbih7IGNhbmNlbGxlZDogdHJ1ZSB9KSxcbiAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgRVhJVEVEOiB7XG4gICAgICAgICAgICAgIHRhcmdldDogXCIjcm9vdC5zdG9wcGVkXCIsXG4gICAgICAgICAgICAgIGFjdGlvbnM6IGFzc2lnbigoeyBldmVudCB9KSA9PiAoeyBleGl0Q29kZTogZXZlbnQuZXhpdENvZGUgfSkpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGV4aXRlZDogeyB0eXBlOiBcImZpbmFsXCIgfSxcbiAgICBzdG9wcGVkOiB7IHR5cGU6IFwiZmluYWxcIiB9LFxuICB9LFxuICAvLyBUaGUgbWFjaGluZSdzIG91dHB1dCBpcyBwcm9kdWNlZCB3aGVuIGl0IHJlYWNoZXMgYSB0b3AtbGV2ZWwgZmluYWwgc3RhdGUgKGV4aXRlZC9zdG9wcGVkKSwgY2FycnlpbmcgdGhlXG4gIC8vIHRlcnJhZm9ybSBleGl0IGNvZGUgY2FwdHVyZWQgaW50byBjb250ZXh0IG9uIHRoZSBFWElURUQgdHJhbnNpdGlvbi5cbiAgb3V0cHV0OiAoeyBjb250ZXh0IH0pID0+ICh7IGV4aXRDb2RlOiBjb250ZXh0LmV4aXRDb2RlIH0pLFxufSk7XG5cbi8qKlxuICogQSBzbmFwc2hvdCBvZiB0aGUgZGVwbG95IG1hY2hpbmUsIGNhcnJ5aW5nIHRoZSBjdXJyZW50IHN0YXRlIHZhbHVlIGFuZCBjb250ZXh0LlxuICovXG5leHBvcnQgdHlwZSBEZXBsb3lTbmFwc2hvdCA9IFNuYXBzaG90RnJvbTx0eXBlb2YgZGVwbG95TWFjaGluZT47XG5cbi8qKlxuICogQSBydW5uaW5nIGFjdG9yIGZvciB0aGUgZGVwbG95IG1hY2hpbmUsIGFzIHJldHVybmVkIGJ5IHRoZSBjcmVhdGVBbmRTdGFydCogZmFjdG9yaWVzLlxuICovXG5leHBvcnQgdHlwZSBEZXBsb3lBY3RvciA9IEFjdG9yUmVmRnJvbTx0eXBlb2YgZGVwbG95TWFjaGluZT47XG5cbi8qKlxuICogQ2FsbGJhY2sgaW52b2tlZCBmb3IgZXZlcnkgaW5zcGVjdGlvbiBldmVudCBvbiB0aGUgZGVwbG95IGFjdG9yLiBDb25zdW1lcnMgdXNlIGl0IHRvIG9ic2VydmUgYm90aCB0aGUgZXZlbnRzXG4gKiBmbG93aW5nIHRocm91Z2ggdGhlIG1hY2hpbmUgYW5kIGVhY2ggcmVzdWx0aW5nIHNuYXBzaG90LlxuICovXG5leHBvcnQgdHlwZSBEZXBsb3lJbnNwZWN0aW9uSGFuZGxlciA9IChcbiAgaW5zcGVjdGlvbkV2ZW50OiBJbnNwZWN0aW9uRXZlbnQsXG4pID0+IHZvaWQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBbmRTdGFydERlcGxveVNlcnZpY2UoXG4gIG9wdGlvbnM6IHtcbiAgICByZWZyZXNoT25seT86IGJvb2xlYW47XG4gICAgcGFyYWxsZWxpc206IG51bWJlcjtcbiAgICBleHRyYU9wdGlvbnM6IHN0cmluZ1tdO1xuICAgIHRlcnJhZm9ybUJpbmFyeU5hbWU6IHN0cmluZztcbiAgICBhdXRvQXBwcm92ZT86IGJvb2xlYW47XG4gICAgbm9Db2xvcj86IGJvb2xlYW47XG4gICAgd29ya2Rpcjogc3RyaW5nO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICB9LFxuICBpbnNwZWN0PzogRGVwbG95SW5zcGVjdGlvbkhhbmRsZXIsXG4pIHtcbiAgY29uc3Qgc2VydmljZSA9IGNyZWF0ZUFjdG9yKGRlcGxveU1hY2hpbmUsIHsgaW5zcGVjdCB9KTtcbiAgY29uc3QgYXJncyA9IFtcbiAgICBcImFwcGx5XCIsXG4gICAgLi4uKG9wdGlvbnMuYXV0b0FwcHJvdmUgPyBbXCItYXV0by1hcHByb3ZlXCJdIDogW10pLFxuICAgIC8vIFwiLWlucHV0PWZhbHNlXCIsIHdlIGNhbid0IHVzZSB0aGlzIGFueW1vcmUgYnV0IFRPRE86IHdlIG5lZWQgdG8gZGV0ZWN0IFRGIENMSSBhc2tpbmcgZm9yIG1pc3NpbmcgaW5wdXRzIGFuZCBlaXRoZXIgYWxsb3cgcGFzc2luZyB0aGVtIG9yIHN0b3AgdGhlcmUgYW5kIGZhaWxcblxuICAgIC4uLm9wdGlvbnMuZXh0cmFPcHRpb25zLFxuICAgIC4uLihvcHRpb25zLnJlZnJlc2hPbmx5ID8gW1wiLXJlZnJlc2gtb25seVwiXSA6IFtdKSxcbiAgICAuLi4ob3B0aW9ucy5ub0NvbG9yID8gW1wiLW5vLWNvbG9yXCJdIDogW10pLFxuICAgIC4uLihvcHRpb25zLnBhcmFsbGVsaXNtID4gLTFcbiAgICAgID8gW2AtcGFyYWxsZWxpc209JHtvcHRpb25zLnBhcmFsbGVsaXNtfWBdXG4gICAgICA6IFtdKSxcbiAgXTtcblxuICBvcHRpb25zLnZhcnM/LmZvckVhY2goKHYpID0+IHtcbiAgICBhcmdzLnB1c2goYC12YXI9JHt2fWApO1xuICB9KTtcblxuICBvcHRpb25zLnZhckZpbGVzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgYXJncy5wdXNoKGAtdmFyLWZpbGU9JHt2fWApO1xuICB9KTtcblxuICBsb2dnZXIuZGVidWcoXG4gICAgYEV4ZWN1dGluZyAke29wdGlvbnMudGVycmFmb3JtQmluYXJ5TmFtZX0gJHthcmdzLmpvaW4oXCIgXCIpfSBpbiAke1xuICAgICAgb3B0aW9ucy53b3JrZGlyXG4gICAgfWAsXG4gICk7XG5cbiAgY29uc3QgY29uZmlnOiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnID0ge1xuICAgIGZpbGU6IG9wdGlvbnMudGVycmFmb3JtQmluYXJ5TmFtZSxcbiAgICBhcmdzLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGN3ZDogb3B0aW9ucy53b3JrZGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudiBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCAvLyBUT0RPOiBtYWtlIHRoaXMgZXhwbGljaXQgYW5kIG1vdmUgdG8gY2FsbGVyIG9yIHdoYXRldmVyXG4gICAgfSxcbiAgfTtcblxuICBzZXJ2aWNlLnN0YXJ0KCk7XG4gIHNlcnZpY2Uuc2VuZCh7IHR5cGU6IFwiU1RBUlRcIiwgcHR5OiBjb25maWcgfSk7XG5cbiAgcmV0dXJuIHNlcnZpY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBbmRTdGFydERlc3Ryb3lTZXJ2aWNlKFxuICBvcHRpb25zOiB7XG4gICAgcGFyYWxsZWxpc206IG51bWJlcjtcbiAgICBleHRyYU9wdGlvbnM6IHN0cmluZ1tdO1xuICAgIHRlcnJhZm9ybUJpbmFyeU5hbWU6IHN0cmluZztcbiAgICBhdXRvQXBwcm92ZT86IGJvb2xlYW47XG4gICAgbm9Db2xvcj86IGJvb2xlYW47XG4gICAgd29ya2Rpcjogc3RyaW5nO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICB9LFxuICBpbnNwZWN0PzogRGVwbG95SW5zcGVjdGlvbkhhbmRsZXIsXG4pIHtcbiAgY29uc3Qgc2VydmljZSA9IGNyZWF0ZUFjdG9yKGRlcGxveU1hY2hpbmUsIHsgaW5zcGVjdCB9KTtcblxuICBjb25zdCBhcmdzID0gW1xuICAgIFwiZGVzdHJveVwiLFxuICAgIC4uLihvcHRpb25zLmF1dG9BcHByb3ZlID8gW1wiLWF1dG8tYXBwcm92ZVwiXSA6IFtdKSxcbiAgICAvLyBcIi1pbnB1dD1mYWxzZVwiLCB3ZSBjYW4ndCB1c2UgdGhpcyBhbnltb3JlIGJ1dCBUT0RPOiB3ZSBuZWVkIHRvIGRldGVjdCBURiBDTEkgYXNraW5nIGZvciBtaXNzaW5nIGlucHV0cyBhbmQgZWl0aGVyIGFsbG93IHBhc3NpbmcgdGhlbSBvciBzdG9wIHRoZXJlIGFuZCBmYWlsXG5cbiAgICAuLi5vcHRpb25zLmV4dHJhT3B0aW9ucyxcbiAgICAuLi4ob3B0aW9ucy5ub0NvbG9yID8gW1wiLW5vLWNvbG9yXCJdIDogW10pLFxuICAgIC4uLihvcHRpb25zLnBhcmFsbGVsaXNtID4gLTFcbiAgICAgID8gW2AtcGFyYWxsZWxpc209JHtvcHRpb25zLnBhcmFsbGVsaXNtfWBdXG4gICAgICA6IFtdKSxcbiAgXTtcblxuICBvcHRpb25zLnZhcnM/LmZvckVhY2goKHYpID0+IHtcbiAgICBhcmdzLnB1c2goYC12YXI9JHt2fWApO1xuICB9KTtcblxuICBvcHRpb25zLnZhckZpbGVzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgYXJncy5wdXNoKGAtdmFyLWZpbGU9JHt2fWApO1xuICB9KTtcblxuICBsb2dnZXIuZGVidWcoXG4gICAgYEV4ZWN1dGluZyAke29wdGlvbnMudGVycmFmb3JtQmluYXJ5TmFtZX0gJHthcmdzLmpvaW4oXCIgXCIpfSBpbiAke1xuICAgICAgb3B0aW9ucy53b3JrZGlyXG4gICAgfWAsXG4gICk7XG5cbiAgY29uc3QgY29uZmlnOiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnID0ge1xuICAgIGZpbGU6IG9wdGlvbnMudGVycmFmb3JtQmluYXJ5TmFtZSxcbiAgICBhcmdzLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGN3ZDogb3B0aW9ucy53b3JrZGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudiBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCAvLyBUT0RPOiBtYWtlIHRoaXMgZXhwbGljaXQgYW5kIG1vdmUgdG8gY2FsbGVyIG9yIHdoYXRldmVyXG4gICAgfSxcbiAgfTtcblxuICBzZXJ2aWNlLnN0YXJ0KCk7XG4gIHNlcnZpY2Uuc2VuZCh7IHR5cGU6IFwiU1RBUlRcIiwgcHR5OiBjb25maWcgfSk7XG5cbiAgcmV0dXJuIHNlcnZpY2U7XG59XG4iXX0=
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.spawnInteractive = void 0;
10
+ exports.spawnInteractive = spawnInteractive;
11
11
  const cross_spawn_1 = require("cross-spawn");
12
12
  const commons_1 = require("@cdktn/commons");
13
13
  const os_1 = __importDefault(require("os"));
@@ -56,5 +56,4 @@ function spawnInteractive(config, onData) {
56
56
  });
57
57
  return { exitCode, actions };
58
58
  }
59
- exports.spawnInteractive = spawnInteractive;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtcHJvY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbW9kZWxzL2ludGVyYWN0aXZlLXByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7Ozs7O0FBRUgsNkNBQW9DO0FBQ3BDLDRDQUF3QztBQUN4Qyw0Q0FBb0I7QUFvQnBCOzs7O0dBSUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDOUIsTUFBOEIsRUFDOUIsTUFBOEI7O0lBRTlCLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFekIsNERBQTREO0lBQzVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBRXZCLGdCQUFNLENBQUMsS0FBSyxDQUNWLDhCQUE4QixJQUFJLFVBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksR0FDekQsYUFBYSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ3ZDLENBQUM7SUFFRixNQUFNLENBQUMsR0FBRyxJQUFBLG1CQUFLLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVyQyxNQUFNLE9BQU8sR0FBOEI7UUFDekMsS0FBSyxFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFOztZQUMxQixnQkFBTSxDQUFDLEtBQUssQ0FDVixxQ0FBcUMsSUFBSSxVQUN2QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQ3pELE1BQU0sUUFBUSxFQUFFLENBQ2pCLENBQUM7WUFDRixNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFOztZQUM5QixnQkFBTSxDQUFDLEtBQUssQ0FDVixvREFBb0QsSUFBSSxVQUN0RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQ3pELE1BQU0sUUFBUSxFQUFFLENBQ2pCLENBQUM7WUFDRixNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLEtBQUssQ0FBQyxHQUFHLFFBQVEsR0FBRyxZQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUNULGdCQUFNLENBQUMsS0FBSyxDQUNWLDBCQUEwQixJQUFJLFVBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksR0FDekQsR0FBRyxDQUNKLENBQUM7WUFDRixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWCxDQUFDO0tBQ0YsQ0FBQztJQUVGLE1BQUEsQ0FBQyxDQUFDLE1BQU0sMENBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQUEsQ0FBQyxDQUFDLE1BQU0sMENBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxDQUFTLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUMvQixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDZixnQkFBTSxDQUFDLEtBQUssQ0FDVixpQkFBaUIsSUFBSSxVQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQ3pELHNCQUFzQixRQUFRLEVBQUUsQ0FDakMsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDL0IsQ0FBQztBQW5FRCw0Q0FtRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7IHNwYXduIH0gZnJvbSBcImNyb3NzLXNwYXduXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCBvcyBmcm9tIFwib3NcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnIHtcbiAgZmlsZTogUGFyYW1ldGVyczx0eXBlb2Ygc3Bhd24+WzBdO1xuICBhcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBzcGF3bj5bMV07XG4gIG9wdGlvbnM6IFBhcmFtZXRlcnM8dHlwZW9mIHNwYXduPlsyXSAmIHsgY3dkOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVByb2Nlc3NBY3Rpb25zIHtcbiAgd3JpdGU6IChyZXNwb25zZTogc3RyaW5nKSA9PiB2b2lkO1xuICB3cml0ZUxpbmU6IChyZXNwb25zZTogc3RyaW5nKSA9PiB2b2lkO1xuICBzdG9wOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlUHJvY2VzcyB7XG4gIC8vIEFsd2F5cyByZXNvbHZlcywgcmV0dXJucyB0aGUgZXhpdCBjb2RlIG9mIHRoZSBwcm9jZXNzXG4gIGV4aXRDb2RlOiBQcm9taXNlPG51bWJlcj47XG4gIGFjdGlvbnM6IEludGVyYWN0aXZlUHJvY2Vzc0FjdGlvbnM7XG59XG5cbi8qKlxuICogQSB3cmFwcGVyIGFyb3VuZCBjaGlsZF9wcm9jZXNzLnNwYXduIHRoYXQgaGFuZGxlcyB0aGUgcGxhdGZvcm0gc3BlY2lmaWMgZGlmZmVyZW5jZXNcbiAqIGFuZCBwcm92aWRlIGFuIGludHVpdGl2ZSBBUEkgZm9yIGJpZGlyZWN0aW9uYWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZVxuICogc3Bhd25lZCBwcm9jZXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3Bhd25JbnRlcmFjdGl2ZShcbiAgY29uZmlnOiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnLFxuICBvbkRhdGE6IChkYXRhOiBzdHJpbmcpID0+IHZvaWQsXG4pOiBJbnRlcmFjdGl2ZVByb2Nlc3Mge1xuICBjb25zdCB7IGFyZ3MsIG9wdGlvbnMgfSA9IGNvbmZpZztcbiAgY29uc3QgZmlsZSA9IGNvbmZpZy5maWxlO1xuXG4gIC8vIElucHV0IGFuZCBvdXRwdXQgaXMgcHJvY2Vzc2VkIGFuZCBtb2RpZmllZCBieSB0aGUgY2FsbGVyLlxuICBvcHRpb25zLnN0ZGlvID0gXCJwaXBlXCI7XG5cbiAgbG9nZ2VyLnRyYWNlKFxuICAgIGBTcGF3bmluZyBwcm9jZXNzIHdpdGggZmlsZT0ke2ZpbGV9LCBhcmdzPSR7XG4gICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYFske2FyZ3Muam9pbihcIiwgXCIpfV1gIDogYFwiJHthcmdzfVwiYFxuICAgIH0sIG9wdGlvbnM9JHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX1gLFxuICApO1xuXG4gIGNvbnN0IHAgPSBzcGF3bihmaWxlLCBhcmdzLCBvcHRpb25zKTtcblxuICBjb25zdCBhY3Rpb25zOiBJbnRlcmFjdGl2ZVByb2Nlc3NBY3Rpb25zID0ge1xuICAgIHdyaXRlOiAocmVzcG9uc2U6IHN0cmluZykgPT4ge1xuICAgICAgbG9nZ2VyLnRyYWNlKFxuICAgICAgICBgU2VuZGluZyByZXNwb25zZSB0byBwcm9jZXNzIChmaWxlPSR7ZmlsZX0sIGFyZ3M9JHtcbiAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYFske2FyZ3Muam9pbihcIiwgXCIpfV1gIDogYFwiJHthcmdzfVwiYFxuICAgICAgICB9KTogJHtyZXNwb25zZX1gLFxuICAgICAgKTtcbiAgICAgIHAuc3RkaW4/LndyaXRlKHJlc3BvbnNlKTtcbiAgICB9LFxuICAgIHdyaXRlTGluZTogKHJlc3BvbnNlOiBzdHJpbmcpID0+IHtcbiAgICAgIGxvZ2dlci50cmFjZShcbiAgICAgICAgYFNlbmRpbmcgcmVzcG9uc2UgKHdpdGggbmV3bGluZSkgdG8gcHJvY2VzcyAoZmlsZT0ke2ZpbGV9LCBhcmdzPSR7XG4gICAgICAgICAgQXJyYXkuaXNBcnJheShhcmdzKSA/IGBbJHthcmdzLmpvaW4oXCIsIFwiKX1dYCA6IGBcIiR7YXJnc31cImBcbiAgICAgICAgfSk6ICR7cmVzcG9uc2V9YCxcbiAgICAgICk7XG4gICAgICBwLnN0ZGluPy53cml0ZShgJHtyZXNwb25zZX0ke29zLkVPTH1gKTtcbiAgICB9LFxuICAgIHN0b3A6ICgpID0+IHtcbiAgICAgIGxvZ2dlci50cmFjZShcbiAgICAgICAgYEFib3J0aW5nIHByb2Nlc3MgKGZpbGU9JHtmaWxlfSwgYXJncz0ke1xuICAgICAgICAgIEFycmF5LmlzQXJyYXkoYXJncykgPyBgWyR7YXJncy5qb2luKFwiLCBcIil9XWAgOiBgXCIke2FyZ3N9XCJgXG4gICAgICAgIH0pYCxcbiAgICAgICk7XG4gICAgICBwLmtpbGwoKTtcbiAgICB9LFxuICB9O1xuXG4gIHAuc3Rkb3V0Py5vbihcImRhdGFcIiwgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICBvbkRhdGEoY2h1bmsudG9Mb2NhbGVTdHJpbmcoKSk7XG4gIH0pO1xuXG4gIHAuc3RkZXJyPy5vbihcImRhdGFcIiwgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICBvbkRhdGEoY2h1bmsudG9Mb2NhbGVTdHJpbmcoKSk7XG4gIH0pO1xuXG4gIGNvbnN0IGV4aXRDb2RlID0gbmV3IFByb21pc2U8bnVtYmVyPigocmVzb2x2ZSkgPT4ge1xuICAgIHAub25jZShcImNsb3NlXCIsIChjb2RlOiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgUHJvY2VzcyAoZmlsZT0ke2ZpbGV9LCBhcmdzPSR7XG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYFske2FyZ3Muam9pbihcIiwgXCIpfV1gIDogYFwiJHthcmdzfVwiYFxuICAgICAgICAgIH0pIGV4aXRlZCB3aXRoIGNvZGUgJHtleGl0Q29kZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShjb2RlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHsgZXhpdENvZGUsIGFjdGlvbnMgfTtcbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtcHJvY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbW9kZWxzL2ludGVyYWN0aXZlLXByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7Ozs7QUE2QkgsNENBbUVDO0FBOUZELDZDQUFvQztBQUNwQyw0Q0FBd0M7QUFDeEMsNENBQW9CO0FBb0JwQjs7OztHQUlHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLE1BQThCLEVBQzlCLE1BQThCOztJQUU5QixNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNqQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBRXpCLDREQUE0RDtJQUM1RCxPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUV2QixnQkFBTSxDQUFDLEtBQUssQ0FDViw4QkFBOEIsSUFBSSxVQUNoQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQ3pELGFBQWEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUN2QyxDQUFDO0lBRUYsTUFBTSxDQUFDLEdBQUcsSUFBQSxtQkFBSyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFckMsTUFBTSxPQUFPLEdBQThCO1FBQ3pDLEtBQUssRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRTs7WUFDMUIsZ0JBQU0sQ0FBQyxLQUFLLENBQ1YscUNBQXFDLElBQUksVUFDdkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxHQUN6RCxNQUFNLFFBQVEsRUFBRSxDQUNqQixDQUFDO1lBQ0YsTUFBQSxDQUFDLENBQUMsS0FBSywwQ0FBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELFNBQVMsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRTs7WUFDOUIsZ0JBQU0sQ0FBQyxLQUFLLENBQ1Ysb0RBQW9ELElBQUksVUFDdEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxHQUN6RCxNQUFNLFFBQVEsRUFBRSxDQUNqQixDQUFDO1lBQ0YsTUFBQSxDQUFDLENBQUMsS0FBSywwQ0FBRSxLQUFLLENBQUMsR0FBRyxRQUFRLEdBQUcsWUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELElBQUksRUFBRSxHQUFHLEVBQUU7WUFDVCxnQkFBTSxDQUFDLEtBQUssQ0FDViwwQkFBMEIsSUFBSSxVQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQ3pELEdBQUcsQ0FDSixDQUFDO1lBQ0YsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQztLQUNGLENBQUM7SUFFRixNQUFBLENBQUMsQ0FBQyxNQUFNLDBDQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUNyQyxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFBLENBQUMsQ0FBQyxNQUFNLDBDQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUNyQyxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDL0IsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsZ0JBQU0sQ0FBQyxLQUFLLENBQ1YsaUJBQWlCLElBQUksVUFDbkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxHQUN6RCxzQkFBc0IsUUFBUSxFQUFFLENBQ2pDLENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7IHNwYXduIH0gZnJvbSBcImNyb3NzLXNwYXduXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCBvcyBmcm9tIFwib3NcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnIHtcbiAgZmlsZTogUGFyYW1ldGVyczx0eXBlb2Ygc3Bhd24+WzBdO1xuICBhcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBzcGF3bj5bMV07XG4gIG9wdGlvbnM6IFBhcmFtZXRlcnM8dHlwZW9mIHNwYXduPlsyXSAmIHsgY3dkOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVByb2Nlc3NBY3Rpb25zIHtcbiAgd3JpdGU6IChyZXNwb25zZTogc3RyaW5nKSA9PiB2b2lkO1xuICB3cml0ZUxpbmU6IChyZXNwb25zZTogc3RyaW5nKSA9PiB2b2lkO1xuICBzdG9wOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlUHJvY2VzcyB7XG4gIC8vIEFsd2F5cyByZXNvbHZlcywgcmV0dXJucyB0aGUgZXhpdCBjb2RlIG9mIHRoZSBwcm9jZXNzXG4gIGV4aXRDb2RlOiBQcm9taXNlPG51bWJlcj47XG4gIGFjdGlvbnM6IEludGVyYWN0aXZlUHJvY2Vzc0FjdGlvbnM7XG59XG5cbi8qKlxuICogQSB3cmFwcGVyIGFyb3VuZCBjaGlsZF9wcm9jZXNzLnNwYXduIHRoYXQgaGFuZGxlcyB0aGUgcGxhdGZvcm0gc3BlY2lmaWMgZGlmZmVyZW5jZXNcbiAqIGFuZCBwcm92aWRlIGFuIGludHVpdGl2ZSBBUEkgZm9yIGJpZGlyZWN0aW9uYWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZVxuICogc3Bhd25lZCBwcm9jZXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3Bhd25JbnRlcmFjdGl2ZShcbiAgY29uZmlnOiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnLFxuICBvbkRhdGE6IChkYXRhOiBzdHJpbmcpID0+IHZvaWQsXG4pOiBJbnRlcmFjdGl2ZVByb2Nlc3Mge1xuICBjb25zdCB7IGFyZ3MsIG9wdGlvbnMgfSA9IGNvbmZpZztcbiAgY29uc3QgZmlsZSA9IGNvbmZpZy5maWxlO1xuXG4gIC8vIElucHV0IGFuZCBvdXRwdXQgaXMgcHJvY2Vzc2VkIGFuZCBtb2RpZmllZCBieSB0aGUgY2FsbGVyLlxuICBvcHRpb25zLnN0ZGlvID0gXCJwaXBlXCI7XG5cbiAgbG9nZ2VyLnRyYWNlKFxuICAgIGBTcGF3bmluZyBwcm9jZXNzIHdpdGggZmlsZT0ke2ZpbGV9LCBhcmdzPSR7XG4gICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYFske2FyZ3Muam9pbihcIiwgXCIpfV1gIDogYFwiJHthcmdzfVwiYFxuICAgIH0sIG9wdGlvbnM9JHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX1gLFxuICApO1xuXG4gIGNvbnN0IHAgPSBzcGF3bihmaWxlLCBhcmdzLCBvcHRpb25zKTtcblxuICBjb25zdCBhY3Rpb25zOiBJbnRlcmFjdGl2ZVByb2Nlc3NBY3Rpb25zID0ge1xuICAgIHdyaXRlOiAocmVzcG9uc2U6IHN0cmluZykgPT4ge1xuICAgICAgbG9nZ2VyLnRyYWNlKFxuICAgICAgICBgU2VuZGluZyByZXNwb25zZSB0byBwcm9jZXNzIChmaWxlPSR7ZmlsZX0sIGFyZ3M9JHtcbiAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYFske2FyZ3Muam9pbihcIiwgXCIpfV1gIDogYFwiJHthcmdzfVwiYFxuICAgICAgICB9KTogJHtyZXNwb25zZX1gLFxuICAgICAgKTtcbiAgICAgIHAuc3RkaW4/LndyaXRlKHJlc3BvbnNlKTtcbiAgICB9LFxuICAgIHdyaXRlTGluZTogKHJlc3BvbnNlOiBzdHJpbmcpID0+IHtcbiAgICAgIGxvZ2dlci50cmFjZShcbiAgICAgICAgYFNlbmRpbmcgcmVzcG9uc2UgKHdpdGggbmV3bGluZSkgdG8gcHJvY2VzcyAoZmlsZT0ke2ZpbGV9LCBhcmdzPSR7XG4gICAgICAgICAgQXJyYXkuaXNBcnJheShhcmdzKSA/IGBbJHthcmdzLmpvaW4oXCIsIFwiKX1dYCA6IGBcIiR7YXJnc31cImBcbiAgICAgICAgfSk6ICR7cmVzcG9uc2V9YCxcbiAgICAgICk7XG4gICAgICBwLnN0ZGluPy53cml0ZShgJHtyZXNwb25zZX0ke29zLkVPTH1gKTtcbiAgICB9LFxuICAgIHN0b3A6ICgpID0+IHtcbiAgICAgIGxvZ2dlci50cmFjZShcbiAgICAgICAgYEFib3J0aW5nIHByb2Nlc3MgKGZpbGU9JHtmaWxlfSwgYXJncz0ke1xuICAgICAgICAgIEFycmF5LmlzQXJyYXkoYXJncykgPyBgWyR7YXJncy5qb2luKFwiLCBcIil9XWAgOiBgXCIke2FyZ3N9XCJgXG4gICAgICAgIH0pYCxcbiAgICAgICk7XG4gICAgICBwLmtpbGwoKTtcbiAgICB9LFxuICB9O1xuXG4gIHAuc3Rkb3V0Py5vbihcImRhdGFcIiwgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICBvbkRhdGEoY2h1bmsudG9Mb2NhbGVTdHJpbmcoKSk7XG4gIH0pO1xuXG4gIHAuc3RkZXJyPy5vbihcImRhdGFcIiwgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICBvbkRhdGEoY2h1bmsudG9Mb2NhbGVTdHJpbmcoKSk7XG4gIH0pO1xuXG4gIGNvbnN0IGV4aXRDb2RlID0gbmV3IFByb21pc2U8bnVtYmVyPigocmVzb2x2ZSkgPT4ge1xuICAgIHAub25jZShcImNsb3NlXCIsIChjb2RlOiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgUHJvY2VzcyAoZmlsZT0ke2ZpbGV9LCBhcmdzPSR7XG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYFske2FyZ3Muam9pbihcIiwgXCIpfV1gIDogYFwiJHthcmdzfVwiYFxuICAgICAgICAgIH0pIGV4aXRlZCB3aXRoIGNvZGUgJHtleGl0Q29kZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShjb2RlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHsgZXhpdENvZGUsIGFjdGlvbnMgfTtcbn1cbiJdfQ==