cdktn 0.25.0-pre.8 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/.jsii +2194 -424
  2. package/README.md +12 -0
  3. package/lib/annotations.js +4 -4
  4. package/lib/app.js +54 -5
  5. package/lib/aspect.js +3 -4
  6. package/lib/asset-hash.d.ts +75 -0
  7. package/lib/asset-hash.js +129 -0
  8. package/lib/asset-staging.d.ts +180 -0
  9. package/lib/asset-staging.js +464 -0
  10. package/lib/assets.d.ts +401 -0
  11. package/lib/assets.js +333 -0
  12. package/lib/backends/azurerm-backend.js +4 -6
  13. package/lib/backends/cloud-backend.js +15 -12
  14. package/lib/backends/consul-backend.js +4 -6
  15. package/lib/backends/cos-backend.js +4 -6
  16. package/lib/backends/gcs-backend.js +4 -6
  17. package/lib/backends/http-backend.js +4 -6
  18. package/lib/backends/local-backend.js +38 -7
  19. package/lib/backends/oss-backend.js +4 -6
  20. package/lib/backends/pg-backend.js +4 -6
  21. package/lib/backends/remote-backend.js +8 -10
  22. package/lib/backends/s3-backend.js +4 -6
  23. package/lib/backends/swift-backend.js +4 -6
  24. package/lib/complex-computed-list.js +114 -65
  25. package/lib/errors.d.ts +16 -0
  26. package/lib/errors.js +51 -3
  27. package/lib/functions/provider-function.js +2 -4
  28. package/lib/functions/terraform-functions.generated.js +2 -4
  29. package/lib/ignore-strategy.d.ts +82 -0
  30. package/lib/ignore-strategy.js +29 -0
  31. package/lib/importable-resource.js +8 -6
  32. package/lib/index.d.ts +4 -0
  33. package/lib/index.js +28 -2
  34. package/lib/manifest.js +49 -11
  35. package/lib/private/fs.d.ts +74 -2
  36. package/lib/private/fs.js +129 -17
  37. package/lib/private/unique.js +35 -2
  38. package/lib/resource.js +3 -4
  39. package/lib/synthesize/synthesizer.js +51 -25
  40. package/lib/terraform-asset.d.ts +68 -5
  41. package/lib/terraform-asset.js +127 -40
  42. package/lib/terraform-backend.js +3 -4
  43. package/lib/terraform-count.js +3 -4
  44. package/lib/terraform-data-resource.d.ts +1 -1
  45. package/lib/terraform-data-resource.js +18 -13
  46. package/lib/terraform-data-source.js +10 -4
  47. package/lib/terraform-dynamic-block.js +5 -2
  48. package/lib/terraform-dynamic-expression.js +4 -1
  49. package/lib/terraform-element.js +34 -6
  50. package/lib/terraform-ephemeral-resource.js +10 -4
  51. package/lib/terraform-functions.js +2 -4
  52. package/lib/terraform-hcl-module.js +3 -4
  53. package/lib/terraform-iterator.js +11 -12
  54. package/lib/terraform-local.js +3 -4
  55. package/lib/terraform-module-asset.js +39 -4
  56. package/lib/terraform-module.js +8 -4
  57. package/lib/terraform-operators.js +2 -4
  58. package/lib/terraform-output.js +7 -4
  59. package/lib/terraform-provider.js +5 -4
  60. package/lib/terraform-provisioner.js +2 -4
  61. package/lib/terraform-remote-state.js +5 -5
  62. package/lib/terraform-resource-targets.js +3 -7
  63. package/lib/terraform-resource.js +23 -7
  64. package/lib/terraform-stack.js +38 -38
  65. package/lib/terraform-variable.js +25 -22
  66. package/lib/testing/adapters/jest.d.ts +2 -1
  67. package/lib/testing/adapters/jest.js +3 -3
  68. package/lib/testing/index.js +42 -8
  69. package/lib/testing/matchers.d.ts +34 -30
  70. package/lib/testing/matchers.js +329 -93
  71. package/lib/tfExpression.js +25 -8
  72. package/lib/tokens/lazy.js +11 -7
  73. package/lib/tokens/private/dependency.js +2 -2
  74. package/lib/tokens/private/encoding.js +6 -1
  75. package/lib/tokens/private/intrinsic.js +6 -1
  76. package/lib/tokens/private/resolve.js +2 -5
  77. package/lib/tokens/private/token-map.js +4 -6
  78. package/lib/tokens/private/uniqueid.js +35 -2
  79. package/lib/tokens/resolvable.js +4 -6
  80. package/lib/tokens/string-fragments.js +6 -10
  81. package/lib/tokens/token.js +15 -18
  82. package/lib/upgrade-id-aspect.js +37 -6
  83. package/lib/validations/index.d.ts +0 -1
  84. package/lib/validations/index.js +1 -2
  85. package/lib/validations/target-versions.js +39 -2
  86. package/lib/validations/validate-function-version-support.js +2 -1
  87. package/lib/validations/validate-provider-function-target-support.js +2 -1
  88. package/lib/validations/validate-provider-presence.js +10 -9
  89. package/package.json +21 -7
  90. package/scripts/pack.mjs +27 -12
  91. package/lib/validations/validate-binary-version.d.ts +0 -23
  92. package/lib/validations/validate-binary-version.js +0 -54
  93. package/lib/validations/validate-terraform-version.d.ts +0 -13
  94. package/lib/validations/validate-terraform-version.js +0 -21
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.DataTerraformRemoteStateS3 = exports.S3Backend = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -9,6 +8,8 @@ const util_1 = require("../util");
9
8
  const validations_1 = require("../validations");
10
9
  // eslint-disable-next-line jsdoc/require-jsdoc
11
10
  class S3Backend extends terraform_backend_1.TerraformBackend {
11
+ props;
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.S3Backend", version: "0.25.0" };
12
13
  constructor(scope, props) {
13
14
  super(scope, "backend", "s3");
14
15
  this.props = props;
@@ -33,15 +34,12 @@ class S3Backend extends terraform_backend_1.TerraformBackend {
33
34
  }
34
35
  }
35
36
  exports.S3Backend = S3Backend;
36
- _a = JSII_RTTI_SYMBOL_1;
37
- S3Backend[_a] = { fqn: "cdktn.S3Backend", version: "0.25.0-pre.8" };
38
37
  // eslint-disable-next-line jsdoc/require-jsdoc
39
38
  class DataTerraformRemoteStateS3 extends terraform_remote_state_1.TerraformRemoteState {
39
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataTerraformRemoteStateS3", version: "0.25.0" };
40
40
  constructor(scope, id, config) {
41
41
  super(scope, id, "s3", config);
42
42
  }
43
43
  }
44
44
  exports.DataTerraformRemoteStateS3 = DataTerraformRemoteStateS3;
45
- _b = JSII_RTTI_SYMBOL_1;
46
- DataTerraformRemoteStateS3[_b] = { fqn: "cdktn.DataTerraformRemoteStateS3", version: "0.25.0-pre.8" };
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYWNrZW5kcy9zMy1iYWNrZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsNERBQXdEO0FBQ3hELHNFQUdtQztBQUNuQyxrQ0FBMEM7QUFDMUMsZ0RBQThEO0FBRTlELCtDQUErQztBQUMvQyxNQUFhLFNBQVUsU0FBUSxvQ0FBZ0I7SUFDN0MsWUFDRSxLQUFnQixFQUNDLEtBQXNCO1FBRXZDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRmIsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFJdkMsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQ3JCLElBQUksMENBQTRCLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO2dCQUNoRSxTQUFTLEVBQUUsVUFBVTtnQkFDckIsUUFBUSxFQUFFLFVBQVU7YUFDckIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixPQUFPLElBQUEsc0JBQWUsRUFBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVTLHVCQUF1QjtRQUMvQixPQUFPLElBQUEsc0JBQWUsRUFBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLHdCQUF3QixDQUM3QixLQUFnQixFQUNoQixJQUFZLEVBQ1osVUFBa0I7UUFFbEIsT0FBTyxJQUFJLDBCQUEwQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDakQsR0FBRyxJQUFJLENBQUMsS0FBSztZQUNiLFNBQVMsRUFBRSx3QkFBd0I7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFsQ0gsOEJBbUNDOzs7QUFFRCwrQ0FBK0M7QUFDL0MsTUFBYSwwQkFBMkIsU0FBUSw2Q0FBb0I7SUFDbEUsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsTUFBd0M7UUFFeEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O0FBUEgsZ0VBUUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUJhY2tlbmQgfSBmcm9tIFwiLi4vdGVycmFmb3JtLWJhY2tlbmRcIjtcbmltcG9ydCB7XG4gIERhdGFUZXJyYWZvcm1SZW1vdGVTdGF0ZUNvbmZpZyxcbiAgVGVycmFmb3JtUmVtb3RlU3RhdGUsXG59IGZyb20gXCIuLi90ZXJyYWZvcm0tcmVtb3RlLXN0YXRlXCI7XG5pbXBvcnQgeyBrZXlzVG9TbmFrZUNhc2UgfSBmcm9tIFwiLi4vdXRpbFwiO1xuaW1wb3J0IHsgVmFsaWRhdGVGZWF0dXJlVGFyZ2V0U3VwcG9ydCB9IGZyb20gXCIuLi92YWxpZGF0aW9uc1wiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFMzQmFja2VuZCBleHRlbmRzIFRlcnJhZm9ybUJhY2tlbmQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFMzQmFja2VuZENvbmZpZyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIFwiYmFja2VuZFwiLCBcInMzXCIpO1xuXG4gICAgaWYgKHByb3BzLnVzZUxvY2tmaWxlKSB7XG4gICAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbihcbiAgICAgICAgbmV3IFZhbGlkYXRlRmVhdHVyZVRhcmdldFN1cHBvcnQodGhpcywgXCJTMyBuYXRpdmUgc3RhdGUgbG9ja2luZ1wiLCB7XG4gICAgICAgICAgdGVycmFmb3JtOiBcIj49MS4xMC4wXCIsXG4gICAgICAgICAgb3BlbnRvZnU6IFwiPj0xLjEwLjBcIixcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIGtleXNUb1NuYWtlQ2FzZSh7IC4uLnRoaXMucHJvcHMgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBrZXlzVG9TbmFrZUNhc2UoeyAuLi50aGlzLnByb3BzIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFJlbW90ZVN0YXRlRGF0YVNvdXJjZShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBfZnJvbVN0YWNrOiBzdHJpbmcsXG4gICk6IFRlcnJhZm9ybVJlbW90ZVN0YXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGFUZXJyYWZvcm1SZW1vdGVTdGF0ZVMzKHNjb3BlLCBuYW1lLCB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgd29ya3NwYWNlOiBcIiR7dGVycmFmb3JtLndvcmtzcGFjZX1cIixcbiAgICB9KTtcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIERhdGFUZXJyYWZvcm1SZW1vdGVTdGF0ZVMzIGV4dGVuZHMgVGVycmFmb3JtUmVtb3RlU3RhdGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgY29uZmlnOiBEYXRhVGVycmFmb3JtUmVtb3RlU3RhdGVTM0NvbmZpZyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBcInMzXCIsIGNvbmZpZyk7XG4gIH1cbn1cblxuLyoqXG4gKiBTdG9yZXMgdGhlIHN0YXRlIGFzIGEgZ2l2ZW4ga2V5IGluIGEgZ2l2ZW4gYnVja2V0IG9uIEFtYXpvbiBTMy4gVGhpcyBiYWNrZW5kXG4gKiBhbHNvIHN1cHBvcnRzIHN0YXRlIGxvY2tpbmcgYW5kIGNvbnNpc3RlbmN5IGNoZWNraW5nIHZpYSBEeW5hbW8gREIsIHdoaWNoXG4gKiBjYW4gYmUgZW5hYmxlZCBieSBzZXR0aW5nIHRoZSBkeW5hbW9kYl90YWJsZSBmaWVsZCB0byBhbiBleGlzdGluZyBEeW5hbW9EQlxuICogdGFibGUgbmFtZS4gQSBzaW5nbGUgRHluYW1vREIgdGFibGUgY2FuIGJlIHVzZWQgdG8gbG9jayBtdWx0aXBsZSByZW1vdGVcbiAqIHN0YXRlIGZpbGVzLiBUZXJyYWZvcm0gZ2VuZXJhdGVzIGtleSBuYW1lcyB0aGF0IGluY2x1ZGUgdGhlIHZhbHVlcyBvZiB0aGVcbiAqIGJ1Y2tldCBhbmQga2V5IHZhcmlhYmxlcy5cbiAqXG4gKiBXYXJuaW5nISBJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB5b3UgZW5hYmxlIEJ1Y2tldCBWZXJzaW9uaW5nIG9uIHRoZVxuICogUzMgYnVja2V0IHRvIGFsbG93IGZvciBzdGF0ZSByZWNvdmVyeSBpbiB0aGUgY2FzZSBvZiBhY2NpZGVudGFsIGRlbGV0aW9uc1xuICogYW5kIGh1bWFuIGVycm9yLlxuICpcbiAqIFJlYWQgbW9yZSBhYm91dCB0aGlzIGJhY2tlbmQgaW4gdGhlIFRlcnJhZm9ybSBkb2NzOlxuICogaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2Uvc2V0dGluZ3MvYmFja2VuZHMvczNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0JhY2tlbmRDb25maWcge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgUzMgQnVja2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIExpc3Qgb2YgYWxsb3dlZCBBV1MgYWNjb3VudCBJRHMgdG8gcHJldmVudCBwb3RlbnRpYWwgZGVzdHJ1Y3Rpb24gb2YgYSBsaXZlIGVudmlyb25tZW50LlxuICAgKiBDb25mbGljdHMgd2l0aCBmb3JiaWRkZW5fYWNjb3VudF9pZHMuXG4gICAqL1xuICByZWFkb25seSBhbGxvd2VkQWNjb3VudElkcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBGaWxlIGNvbnRhaW5pbmcgY3VzdG9tIHJvb3QgYW5kIGludGVybWVkaWF0ZSBjZXJ0aWZpY2F0ZXMuXG4gICAqIENhbiBhbHNvIGJlIHNldCB1c2luZyB0aGUgQVdTX0NBX0JVTkRMRSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICogU2V0dGluZyBjYV9idW5kbGUgaW4gdGhlIHNoYXJlZCBjb25maWcgZmlsZSBpcyBub3Qgc3VwcG9ydGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tQ2FCdW5kbGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCkgQ3VzdG9tIGVuZHBvaW50IFVSTCBmb3IgdGhlIEVDMiBJbnN0YW5jZSBNZXRhZGF0YSBTZXJ2aWNlIChJTURTKSBBUEkuXG4gICAqIENhbiBhbHNvIGJlIHNldCB3aXRoIHRoZSBBV1NfRUMyX01FVEFEQVRBX1NFUlZJQ0VfRU5EUE9JTlQgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBlYzJNZXRhZGF0YVNlcnZpY2VFbmRwb2ludD86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgTW9kZSB0byB1c2UgaW4gY29tbXVuaWNhdGluZyB3aXRoIHRoZSBtZXRhZGF0YSBzZXJ2aWNlLlxuICAgKiBWYWxpZCB2YWx1ZXMgYXJlIElQdjQgYW5kIElQdjYuXG4gICAqIENhbiBhbHNvIGJlIHNldCB3aXRoIHRoZSBBV1NfRUMyX01FVEFEQVRBX1NFUlZJQ0VfRU5EUE9JTlRfTU9ERSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGVjMk1ldGFkYXRhU2VydmljZUVuZHBvaW50TW9kZT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgTGlzdCBvZiBmb3JiaWRkZW4gQVdTIGFjY291bnQgSURzIHRvIHByZXZlbnQgcG90ZW50aWFsIGRlc3RydWN0aW9uIG9mIGEgbGl2ZSBlbnZpcm9ubWVudC5cbiAgICogQ29uZmxpY3RzIHdpdGggYWxsb3dlZF9hY2NvdW50X2lkcy5cbiAgICovXG4gIHJlYWRvbmx5IGZvcmJpZGRlbkFjY291bnRJZHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVVJMIG9mIGEgcHJveHkgdG8gdXNlIGZvciBIVFRQIHJlcXVlc3RzIHdoZW4gYWNjZXNzaW5nIHRoZSBBV1MgQVBJLlxuICAgKiBDYW4gYWxzbyBiZSBzZXQgdXNpbmcgdGhlIEhUVFBfUFJPWFkgb3IgaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAqL1xuICByZWFkb25seSBodHRwUHJveHk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFVSTCBvZiBhIHByb3h5IHRvIHVzZSBmb3IgSFRUUFMgcmVxdWVzdHMgd2hlbiBhY2Nlc3NpbmcgdGhlIEFXUyBBUEkuXG4gICAqIENhbiBhbHNvIGJlIHNldCB1c2luZyB0aGUgSFRUUFNfUFJPWFkgb3IgaHR0cHNfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cHNQcm94eT86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsKSBXaGV0aGVyIHRvIGV4cGxpY2l0bHkgYWxsb3cgdGhlIGJhY2tlbmQgdG8gcGVyZm9ybSBcImluc2VjdXJlXCIgU1NMIHJlcXVlc3RzLlxuICAgKiBJZiBvbWl0dGVkLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IGluc2VjdXJlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgQ29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgaG9zdHMgdGhhdCBzaG91bGQgbm90IHVzZSBIVFRQIG9yIEhUVFBTIHByb3hpZXMuXG4gICAqIEVhY2ggdmFsdWUgY2FuIGJlIG9uZSBvZjpcbiAgICogLSBBIGRvbWFpbiBuYW1lXG4gICAqIC0gQW4gSVAgYWRkcmVzc1xuICAgKiAtIEEgQ0lEUiBhZGRyZXNzXG4gICAqIC0gQW4gYXN0ZXJpc2sgKCopLCB0byBpbmRpY2F0ZSB0aGF0IG5vIHByb3h5aW5nIHNob3VsZCBiZSBwZXJmb3JtZWQgRG9tYWluIG5hbWUgYW5kIElQIGFkZHJlc3MgdmFsdWVzIGNhbiBhbHNvIGluY2x1ZGUgYSBwb3J0IG51bWJlci5cbiAgICogQ2FuIGFsc28gYmUgc2V0IHVzaW5nIHRoZSBOT19QUk9YWSBvciBub19wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAqL1xuICByZWFkb25seSBub1Byb3h5Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTcGVjaWZpZXMgaG93IHJldHJpZXMgYXJlIGF0dGVtcHRlZC5cbiAgICogVmFsaWQgdmFsdWVzIGFyZSBzdGFuZGFyZCBhbmQgYWRhcHRpdmUuXG4gICAqIENhbiBhbHNvIGJlIGNvbmZpZ3VyZWQgdXNpbmcgdGhlIEFXU19SRVRSWV9NT0RFIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZSBzaGFyZWQgY29uZmlnIGZpbGUgcGFyYW1ldGVyIHJldHJ5X21vZGUuXG4gICAqL1xuICByZWFkb25seSByZXRyeU1vZGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIExpc3Qgb2YgcGF0aHMgdG8gQVdTIHNoYXJlZCBjb25maWd1cmF0aW9uIGZpbGVzLlxuICAgKiBEZWZhdWx0cyB0byB+Ly5hd3MvY29uZmlnLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hhcmVkQ29uZmlnRmlsZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgTGlzdCBvZiBwYXRocyB0byBBV1Mgc2hhcmVkIGNyZWRlbnRpYWxzIGZpbGVzLlxuICAgKiBEZWZhdWx0cyB0byB+Ly5hd3MvY3JlZGVudGlhbHMuXG4gICAqL1xuICByZWFkb25seSBzaGFyZWRDcmVkZW50aWFsc0ZpbGVzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBzdGF0ZSBmaWxlIGluc2lkZSB0aGUgUzMgQnVja2V0LlxuICAgKiBXaGVuIHVzaW5nIGEgbm9uLWRlZmF1bHQgd29ya3NwYWNlLCB0aGUgc3RhdGUgcGF0aCB3aWxsIGJlIC93b3Jrc3BhY2Vfa2V5X3ByZWZpeC93b3Jrc3BhY2VfbmFtZS9rZXlcbiAgICovXG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICAvKipcbiAgICogQVdTIFJlZ2lvbiBvZiB0aGUgUzMgQnVja2V0IGFuZCBEeW5hbW9EQiBUYWJsZSAoaWYgdXNlZCkuIFRoaXMgY2FuIGFsc29cbiAgICogYmUgc291cmNlZCBmcm9tIHRoZSBBV1NfREVGQVVMVF9SRUdJT04gYW5kIEFXU19SRUdJT04gZW52aXJvbm1lbnRcbiAgICogdmFyaWFibGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDdXN0b20gZW5kcG9pbnQgZm9yIHRoZSBBV1MgUzMgQVBJLlxuICAgKiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbSB0aGUgQVdTX1MzX0VORFBPSU5UIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZW5kcG9pbnRzLnMzIGluc3RlYWRcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBFbmFibGUgc2VydmVyIHNpZGUgZW5jcnlwdGlvbiBvZiB0aGUgc3RhdGUgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHQ/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDYW5uZWQgQUNMIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHN0YXRlIGZpbGUuXG4gICAqL1xuICByZWFkb25seSBhY2w/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEFXUyBhY2Nlc3Mga2V5LiBJZiBjb25maWd1cmVkLCBtdXN0IGFsc28gY29uZmlndXJlIHNlY3JldF9rZXkuXG4gICAqIFRoaXMgY2FuIGFsc28gYmUgc291cmNlZCBmcm9tXG4gICAqIHRoZSBBV1NfQUNDRVNTX0tFWV9JRCBlbnZpcm9ubWVudCB2YXJpYWJsZSxcbiAgICogQVdTIHNoYXJlZCBjcmVkZW50aWFscyBmaWxlIChlLmcuIH4vLmF3cy9jcmVkZW50aWFscyksXG4gICAqIG9yIEFXUyBzaGFyZWQgY29uZmlndXJhdGlvbiBmaWxlIChlLmcuIH4vLmF3cy9jb25maWcpLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzS2V5Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBBV1Mgc2VjcmV0IGFjY2VzcyBrZXkuIElmIGNvbmZpZ3VyZWQsIG11c3QgYWxzbyBjb25maWd1cmUgYWNjZXNzX2tleS5cbiAgICogVGhpcyBjYW4gYWxzbyBiZSBzb3VyY2VkIGZyb21cbiAgICogdGhlIEFXU19TRUNSRVRfQUNDRVNTX0tFWSBlbnZpcm9ubWVudCB2YXJpYWJsZSxcbiAgICogQVdTIHNoYXJlZCBjcmVkZW50aWFscyBmaWxlIChlLmcuIH4vLmF3cy9jcmVkZW50aWFscyksXG4gICAqIG9yIEFXUyBzaGFyZWQgY29uZmlndXJhdGlvbiBmaWxlIChlLmcuIH4vLmF3cy9jb25maWcpXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRLZXk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIGEgS2V5IE1hbmFnZW1lbnQgU2VydmljZSAoS01TKSBLZXlcbiAgICogdG8gdXNlIGZvciBlbmNyeXB0aW5nIHRoZSBzdGF0ZS4gTm90ZSB0aGF0IGlmIHRoaXMgdmFsdWUgaXMgc3BlY2lmaWVkLFxuICAgKiBUZXJyYWZvcm0gd2lsbCBuZWVkIGttczpFbmNyeXB0LCBrbXM6RGVjcnlwdCBhbmQga21zOkdlbmVyYXRlRGF0YUtleSBwZXJtaXNzaW9ucyBvbiB0aGlzIEtNUyBrZXkuXG4gICAqL1xuICByZWFkb25seSBrbXNLZXlJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgV2hldGhlciB0byB1c2UgYSBsb2NrZmlsZSBmb3IgbG9ja2luZyB0aGUgc3RhdGUgZmlsZS4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqIFN0YXRlIGxvY2tpbmcgaXMgYW4gb3B0LWluIGZlYXR1cmUgb2YgdGhlIFMzIGJhY2tlbmQuXG4gICAqIExvY2tpbmcgY2FuIGJlIGVuYWJsZWQgdmlhIFMzIG9yIER5bmFtb0RCIChzZWUgZHluYW1vZGJUYWJsZSkuIEhvd2V2ZXIsIER5bmFtb0RCLWJhc2VkIGxvY2tpbmdcbiAgICogICBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWlub3IgdmVyc2lvbi4gVG8gc3VwcG9ydCBtaWdyYXRpb24gZnJvbSBvbGRlclxuICAgKiAgIHZlcnNpb25zIG9mIFRlcnJhZm9ybSB0aGF0IG9ubHkgc3VwcG9ydCBEeW5hbW9EQi1iYXNlZCBsb2NraW5nLCB0aGUgUzMgKHVzZUxvY2tmaWxlKSBhbmQgRHluYW1vREJcbiAgICogICAoZHluYW1vZGJUYWJsZSkgYXJndW1lbnRzIGNhbiBiZSBjb25maWd1cmVkIHNpbXVsdGFuZW91c2x5LlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlTG9ja2ZpbGU/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBOYW1lIG9mIER5bmFtb0RCIFRhYmxlIHRvIHVzZSBmb3Igc3RhdGUgbG9ja2luZyBhbmQgY29uc2lzdGVuY3kuXG4gICAqIFRoZSB0YWJsZSBtdXN0IGhhdmUgYSBwYXJ0aXRpb24ga2V5IG5hbWVkIExvY2tJRCB3aXRoIHR5cGUgb2YgU3RyaW5nLlxuICAgKiBJZiBub3QgY29uZmlndXJlZCwgc3RhdGUgbG9ja2luZyB3aWxsIGJlIGRpc2FibGVkLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdXNlTG9ja2ZpbGUgaW5zdGVhZCwgd2hpY2ggdXNlcyBTMyBmb3IgbG9ja2luZ1xuICAgKi9cbiAgcmVhZG9ubHkgZHluYW1vZGJUYWJsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgTmFtZSBvZiBBV1MgcHJvZmlsZSBpbiBBV1Mgc2hhcmVkIGNyZWRlbnRpYWxzIGZpbGUgKGUuZy4gfi8uYXdzL2NyZWRlbnRpYWxzKVxuICAgKiBvciBBV1Mgc2hhcmVkIGNvbmZpZ3VyYXRpb24gZmlsZSAoZS5nLiB+Ly5hd3MvY29uZmlnKSB0byB1c2UgZm9yIGNyZWRlbnRpYWxzXG4gICAqIGFuZC9vciBjb25maWd1cmF0aW9uLiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbSB0aGUgQVdTX1BST0ZJTEUgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBwcm9maWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBQYXRoIHRvIHRoZSBBV1Mgc2hhcmVkIGNyZWRlbnRpYWxzIGZpbGUuIERlZmF1bHRzIHRvIH4vLmF3cy9jcmVkZW50aWFscy5cbiAgICovXG4gIHJlYWRvbmx5IHNoYXJlZENyZWRlbnRpYWxzRmlsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgTXVsdGktRmFjdG9yIEF1dGhlbnRpY2F0aW9uIChNRkEpIHRva2VuLlxuICAgKiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbSB0aGUgQVdTX1NFU1NJT05fVE9LRU4gZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSB0b2tlbj86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIElBTSBSb2xlIHRvIGFzc3VtZS5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGFzc3VtZVJvbGUucm9sZUFybiBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZUFybj86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgSUFNIFBvbGljeSBKU09OIGRlc2NyaWJpbmcgZnVydGhlciByZXN0cmljdGluZyBwZXJtaXNzaW9ucyBmb3IgdGhlIElBTSBSb2xlIGJlaW5nIGFzc3VtZWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBhc3N1bWVSb2xlLnBvbGljeSBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZVBvbGljeT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgU2V0IG9mIEFtYXpvbiBSZXNvdXJjZSBOYW1lcyAoQVJOcykgb2YgSUFNIFBvbGljaWVzIGRlc2NyaWJpbmcgZnVydGhlciByZXN0cmljdGluZyBwZXJtaXNzaW9ucyBmb3IgdGhlIElBTSBSb2xlIGJlaW5nIGFzc3VtZWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBhc3N1bWVSb2xlLnBvbGljeUFybnMgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVQb2xpY3lBcm5zPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIE1hcCBvZiBhc3N1bWUgcm9sZSBzZXNzaW9uIHRhZ3MuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBhc3N1bWVSb2xlLnRhZ3MgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVUYWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgU2V0IG9mIGFzc3VtZSByb2xlIHNlc3Npb24gdGFnIGtleXMgdG8gcGFzcyB0byBhbnkgc3Vic2VxdWVudCBzZXNzaW9ucy5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGFzc3VtZVJvbGUudHJhbnNpdGl2ZVRhZ0tleXMgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVUcmFuc2l0aXZlVGFnS2V5cz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBFeHRlcm5hbCBpZGVudGlmaWVyIHRvIHVzZSB3aGVuIGFzc3VtaW5nIHRoZSByb2xlLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYXNzdW1lX3JvbGUuZXh0ZXJuYWxfaWQgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4dGVybmFsSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFNlc3Npb24gbmFtZSB0byB1c2Ugd2hlbiBhc3N1bWluZyB0aGUgcm9sZS5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGFzc3VtZVJvbGUuc2Vzc2lvbk5hbWUgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlc3Npb25OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBQcmVmaXggYXBwbGllZCB0byB0aGUgc3RhdGUgcGF0aCBpbnNpZGUgdGhlIGJ1Y2tldC5cbiAgICogVGhpcyBpcyBvbmx5IHJlbGV2YW50IHdoZW4gdXNpbmcgYSBub24tZGVmYXVsdCB3b3Jrc3BhY2UuIERlZmF1bHRzIHRvIGVudjpcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtzcGFjZUtleVByZWZpeD86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgQ3VzdG9tIGVuZHBvaW50IGZvciB0aGUgQVdTIER5bmFtb0RCIEFQSS5cbiAgICogVGhpcyBjYW4gYWxzbyBiZSBzb3VyY2VkIGZyb20gdGhlIEFXU19EWU5BTU9EQl9FTkRQT0lOVCBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGVuZHBvaW50cy5keW5hbW9kYiBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBkeW5hbW9kYkVuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDdXN0b20gZW5kcG9pbnQgZm9yIHRoZSBBV1MgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50IChJQU0pIEFQSS5cbiAgICogVGhpcyBjYW4gYWxzbyBiZSBzb3VyY2VkIGZyb20gdGhlIEFXU19JQU1fRU5EUE9JTlQgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBlbmRwb2ludHMuaWFtIGluc3RlYWRcbiAgICovXG4gIHJlYWRvbmx5IGlhbUVuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDdXN0b20gZW5kcG9pbnQgZm9yIHRoZSBBV1MgU2VjdXJpdHkgVG9rZW4gU2VydmljZSAoU1RTKSBBUEkuXG4gICAqIFRoaXMgY2FuIGFsc28gYmUgc291cmNlZCBmcm9tIHRoZSBBV1NfU1RTX0VORFBPSU5UIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZW5kcG9pbnRzLnN0cyBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBzdHNFbmRwb2ludD86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgQVdTIHJlZ2lvbiBmb3IgU1RTLlxuICAgKiBJZiB1bnNldCwgQVdTIHdpbGwgdXNlIHRoZSBzYW1lIHJlZ2lvbiBmb3IgU1RTIGFzIG90aGVyIG5vbi1TVFMgb3BlcmF0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IHN0c1JlZ2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgRW5hYmxlIHBhdGgtc3R5bGUgUzMgVVJMc1xuICAgKiAoaHR0cHM6Ly88SE9TVD4vPEJVQ0tFVD4gaW5zdGVhZCBvZiBodHRwczovLzxCVUNLRVQ+LjxIT1NUPikuXG4gICAqIEBkZXByZWNhdGVkIFVzZSB1c2VQYXRoU3R5bGUgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgZm9yY2VQYXRoU3R5bGU/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBFbmFibGUgcGF0aC1zdHlsZSBTMyBVUkxzXG4gICAqIChodHRwczovLzxIT1NUPi88QlVDS0VUPiBpbnN0ZWFkIG9mIGh0dHBzOi8vPEJVQ0tFVD4uPEhPU1Q+KS5cbiAgICovXG4gIHJlYWRvbmx5IHVzZVBhdGhTdHlsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFNraXAgY3JlZGVudGlhbHMgdmFsaWRhdGlvbiB2aWEgdGhlIFNUUyBBUEkuXG4gICAqL1xuICByZWFkb25seSBza2lwQ3JlZGVudGlhbHNWYWxpZGF0aW9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgU2tpcCB2YWxpZGF0aW9uIG9mIHByb3ZpZGVkIHJlZ2lvbiBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgc2tpcFJlZ2lvblZhbGlkYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBXaGV0aGVyIHRvIHNraXAgcmVxdWVzdGluZyB0aGUgYWNjb3VudCBJRC5cbiAgICogVXNlZnVsIGZvciBBV1MgQVBJIGltcGxlbWVudGF0aW9ucyB0aGF0IGRvIG5vdCBoYXZlIHRoZSBJQU0sIFNUUyBBUEksIG9yIG1ldGFkYXRhIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IHNraXBSZXF1ZXN0aW5nQWNjb3VudElkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgU2tpcCB1c2FnZSBvZiBFQzIgTWV0YWRhdGEgQVBJLlxuICAgKi9cbiAgcmVhZG9ubHkgc2tpcE1ldGFkYXRhQXBpQ2hlY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBEbyBub3QgaW5jbHVkZSBjaGVja3N1bSB3aGVuIHVwbG9hZGluZyBTMyBPYmplY3RzLlxuICAgKiBVc2VmdWwgZm9yIHNvbWUgUzMtQ29tcGF0aWJsZSBBUElzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2tpcFMzQ2hlY2tzdW0/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBUaGUga2V5IHRvIHVzZSBmb3IgZW5jcnlwdGluZyBzdGF0ZSB3aXRoIFNlcnZlci1TaWRlIEVuY3J5cHRpb24gd2l0aCBDdXN0b21lci1Qcm92aWRlZCBLZXlzIChTU0UtQykuXG4gICAqIFRoaXMgaXMgdGhlIGJhc2U2NC1lbmNvZGVkIHZhbHVlIG9mIHRoZSBrZXksIHdoaWNoIG11c3QgZGVjb2RlIHRvIDI1NiBiaXRzLlxuICAgKiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbSB0aGUgQVdTX1NTRV9DVVNUT01FUl9LRVkgZW52aXJvbm1lbnQgdmFyaWFibGUsXG4gICAqIHdoaWNoIGlzIHJlY29tbWVuZGVkIGR1ZSB0byB0aGUgc2Vuc2l0aXZpdHkgb2YgdGhlIHZhbHVlLlxuICAgKiBTZXR0aW5nIGl0IGluc2lkZSBhIHRlcnJhZm9ybSBmaWxlIHdpbGwgY2F1c2UgaXQgdG8gYmUgcGVyc2lzdGVkIHRvIGRpc2sgaW4gdGVycmFmb3JtLnRmc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBzc2VDdXN0b21lcktleT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIGFuIEFXUyBBUEkgcmVxdWVzdCBpcyByZXRyaWVkIG9uIHJldHJ5YWJsZSBmYWlsdXJlLlxuICAgKiBEZWZhdWx0cyB0byA1LlxuICAgKi9cbiAgcmVhZG9ubHkgbWF4UmV0cmllcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVXNlIHRoZSBsZWdhY3kgYXV0aGVudGljYXRpb24gd29ya2Zsb3csIHByZWZlcnJpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIG92ZXIgYmFja2VuZCBjb25maWd1cmF0aW9uLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKiBUaGlzIGJlaGF2aW9yIGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGF1dGhlbnRpY2F0aW9uIGZsb3cgb2YgdGhlIEFXUyBDTEkgb3IgU0RLJ3MsIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICovXG4gIHJlYWRvbmx5IHVzZUxlZ2FjeVdvcmtmbG93PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVGhlIGVuZHBvaW50IGNvbmZpZ3VyYXRpb24gYmxvY2suXG4gICAqL1xuICByZWFkb25seSBlbmRwb2ludHM/OiBTM0JhY2tlbmRFbmRwb2ludENvbmZpZztcbiAgLyoqXG4gICAqIEFzc3VtaW5nIGFuIElBTSBSb2xlIGNhbiBiZSBjb25maWd1cmVkIGluIHR3byB3YXlzLlxuICAgKiBUaGUgcHJlZmVycmVkIHdheSBpcyB0byB1c2UgdGhlIGFyZ3VtZW50IGFzc3VtZV9yb2xlLCB0aGUgb3RoZXIsIHdoaWNoIGlzIGRlcHJlY2F0ZWQsIGlzIHdpdGggYXJndW1lbnRzIGF0IHRoZSB0b3AgbGV2ZWwuXG4gICAqL1xuICByZWFkb25seSBhc3N1bWVSb2xlPzogUzNCYWNrZW5kQXNzdW1lUm9sZUNvbmZpZztcbiAgLyoqXG4gICAqIEFzc3VtZSBSb2xlIFdpdGggV2ViIElkZW50aXR5IENvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHk/OiBTM0JhY2tlbmRBc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5Q29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFMzQmFja2VuZEVuZHBvaW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgQ3VzdG9tIGVuZHBvaW50IFVSTCBmb3IgdGhlIEFXUyBEeW5hbW9EQiBBUEkuXG4gICAqIFRoaXMgY2FuIGFsc28gYmUgc291cmNlZCBmcm9tIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBBV1NfRU5EUE9JTlRfVVJMX0RZTkFNT0RCIG9yIHRoZSBkZXByZWNhdGVkIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19EWU5BTU9EQl9FTkRQT0lOVC5cbiAgICovXG4gIHJlYWRvbmx5IGR5bmFtb2RiPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDdXN0b20gZW5kcG9pbnQgVVJMIGZvciB0aGUgQVdTIElBTSBBUEkuXG4gICAqIFRoaXMgY2FuIGFsc28gYmUgc291cmNlZCBmcm9tIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBBV1NfRU5EUE9JTlRfVVJMX0lBTSBvciB0aGUgZGVwcmVjYXRlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSBBV1NfSUFNX0VORFBPSU5ULlxuICAgKi9cbiAgcmVhZG9ubHkgaWFtPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDdXN0b20gZW5kcG9pbnQgVVJMIGZvciB0aGUgQVdTIFMzIEFQSS5cbiAgICogVGhpcyBjYW4gYWxzbyBiZSBzb3VyY2VkIGZyb20gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19FTkRQT0lOVF9VUkxfUzMgb3IgdGhlIGRlcHJlY2F0ZWQgZW52aXJvbm1lbnQgdmFyaWFibGUgQVdTX1MzX0VORFBPSU5ULlxuICAgKi9cbiAgcmVhZG9ubHkgczM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEN1c3RvbSBlbmRwb2ludCBVUkwgZm9yIHRoZSBBV1MgSUFNIElkZW50aXR5IENlbnRlciAoZm9ybWVybHkga25vd24gYXMgQVdTIFNTTykgQVBJLlxuICAgKiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQVdTX0VORFBPSU5UX1VSTF9TU08uXG4gICAqL1xuICByZWFkb25seSBzc28/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEN1c3RvbSBlbmRwb2ludCBVUkwgZm9yIHRoZSBBV1MgU1RTIEFQSS5cbiAgICogVGhpcyBjYW4gYWxzbyBiZSBzb3VyY2VkIGZyb20gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19FTkRQT0lOVF9VUkxfU1RTIG9yIHRoZSBkZXByZWNhdGVkIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19TVFNfRU5EUE9JTlQuXG4gICAqL1xuICByZWFkb25seSBzdHM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUzNCYWNrZW5kQXNzdW1lUm9sZUNvbmZpZyB7XG4gIC8qKlxuICAgKiAoUmVxdWlyZWQpIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBJQU0gUm9sZSB0byBhc3N1bWUuXG4gICAqL1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFRoZSBkdXJhdGlvbiBpbmRpdmlkdWFsIGNyZWRlbnRpYWxzIHdpbGwgYmUgdmFsaWQuXG4gICAqIENyZWRlbnRpYWxzIGFyZSBhdXRvbWF0aWNhbGx5IHJlbmV3ZWQgdXAgdG8gdGhlIG1heGltdW0gZGVmaW5lZCBieSB0aGUgQVdTIGFjY291bnQuXG4gICAqIFNwZWNpZmllZCB1c2luZyB0aGUgZm9ybWF0IDxob3Vycz5oPG1pbnV0ZXM+bTxzZWNvbmRzPnMgd2l0aCBhbnkgdW5pdCBiZWluZyBvcHRpb25hbC5cbiAgICogRm9yIGV4YW1wbGUsIGFuIGhvdXIgYW5kIGEgaGFsZiBjYW4gYmUgc3BlY2lmaWVkIGFzIDFoMzBtIG9yIDkwbS5cbiAgICogTXVzdCBiZSBiZXR3ZWVuIDE1IG1pbnV0ZXMgKDE1bSkgYW5kIDEyIGhvdXJzICgxMmgpLlxuICAgKi9cbiAgcmVhZG9ubHkgZHVyYXRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEV4dGVybmFsIGlkZW50aWZpZXIgdG8gdXNlIHdoZW4gYXNzdW1pbmcgdGhlIHJvbGUuXG4gICAqL1xuICByZWFkb25seSBleHRlcm5hbElkPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBJQU0gUG9saWN5IEpTT04gZGVzY3JpYmluZyBmdXJ0aGVyIHJlc3RyaWN0aW5nIHBlcm1pc3Npb25zIGZvciB0aGUgSUFNIFJvbGUgYmVpbmcgYXNzdW1lZC5cbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgU2V0IG9mIEFtYXpvbiBSZXNvdXJjZSBOYW1lcyAoQVJOcykgb2YgSUFNIFBvbGljaWVzIGRlc2NyaWJpbmcgZnVydGhlciByZXN0cmljdGluZyBwZXJtaXNzaW9ucyBmb3IgdGhlIElBTSBSb2xlIGJlaW5nIGFzc3VtZWQuXG4gICAqL1xuICByZWFkb25seSBwb2xpY3lBcm5zPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFNlc3Npb24gbmFtZSB0byB1c2Ugd2hlbiBhc3N1bWluZyB0aGUgcm9sZS5cbiAgICovXG4gIHJlYWRvbmx5IHNlc3Npb25OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTb3VyY2UgaWRlbnRpdHkgc3BlY2lmaWVkIGJ5IHRoZSBwcmluY2lwYWwgYXNzdW1pbmcgdGhlXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VJZGVudGl0eT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgTWFwIG9mIGFzc3VtZSByb2xlIHNlc3Npb24gdGFncy5cbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTZXQgb2YgYXNzdW1lIHJvbGUgc2Vzc2lvbiB0YWcga2V5cyB0byBwYXNzIHRvIGFueSBzdWJzZXF1ZW50IHNlc3Npb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdGl2ZVRhZ0tleXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTM0JhY2tlbmRBc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5Q29uZmlnIHtcbiAgLyoqXG4gICAqIChSZXF1aXJlZCkgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIElBTSBSb2xlIHRvIGFzc3VtZS5cbiAgICogQ2FuIGFsc28gYmUgc2V0IHdpdGggdGhlIEFXU19ST0xFX0FSTiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm4/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFRoZSBkdXJhdGlvbiBpbmRpdmlkdWFsIGNyZWRlbnRpYWxzIHdpbGwgYmUgdmFsaWQuXG4gICAqIENyZWRlbnRpYWxzIGFyZSBhdXRvbWF0aWNhbGx5IHJlbmV3ZWQgdXAgdG8gdGhlIG1heGltdW0gZGVmaW5lZCBieSB0aGUgQVdTIGFjY291bnQuXG4gICAqIFNwZWNpZmllZCB1c2luZyB0aGUgZm9ybWF0IDxob3Vycz5oPG1pbnV0ZXM+bTxzZWNvbmRzPnMgd2l0aCBhbnkgdW5pdCBiZWluZyBvcHRpb25hbC5cbiAgICogRm9yIGV4YW1wbGUsIGFuIGhvdXIgYW5kIGEgaGFsZiBjYW4gYmUgc3BlY2lmaWVkIGFzIDFoMzBtIG9yIDkwbS5cbiAgICogTXVzdCBiZSBiZXR3ZWVuIDE1IG1pbnV0ZXMgKDE1bSkgYW5kIDEyIGhvdXJzICgxMmgpLlxuICAgKi9cbiAgcmVhZG9ubHkgZHVyYXRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIElBTSBQb2xpY3kgSlNPTiBkZXNjcmliaW5nIGZ1cnRoZXIgcmVzdHJpY3RpbmcgcGVybWlzc2lvbnMgZm9yIHRoZSBJQU0gUm9sZSBiZWluZyBhc3N1bWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcG9saWN5Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTZXQgb2YgQW1hem9uIFJlc291cmNlIE5hbWVzIChBUk5zKSBvZiBJQU0gUG9saWNpZXMgZGVzY3JpYmluZyBmdXJ0aGVyIHJlc3RyaWN0aW5nIHBlcm1pc3Npb25zIGZvciB0aGUgSUFNIFJvbGUgYmVpbmcgYXNzdW1lZC5cbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeUFybnM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgU2Vzc2lvbiBuYW1lIHRvIHVzZSB3aGVuIGFzc3VtaW5nIHRoZSByb2xlLlxuICAgKiBDYW4gYWxzbyBiZSBzZXQgd2l0aCB0aGUgQVdTX1JPTEVfU0VTU0lPTl9OQU1FIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2Vzc2lvbk5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFRoZSB2YWx1ZSBvZiBhIHdlYiBpZGVudGl0eSB0b2tlbiBmcm9tIGFuIE9wZW5JRCBDb25uZWN0IChPSURDKSBvciBPQXV0aCBwcm92aWRlci5cbiAgICogT25lIG9mIHdlYl9pZGVudGl0eV90b2tlbiBvciB3ZWJfaWRlbnRpdHlfdG9rZW5fZmlsZSBpcyByZXF1aXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHdlYklkZW50aXR5VG9rZW4/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEZpbGUgY29udGFpbmluZyBhIHdlYiBpZGVudGl0eSB0b2tlbiBmcm9tIGFuIE9wZW5JRCBDb25uZWN0IChPSURDKSBvciBPQXV0aCBwcm92aWRlci5cbiAgICogT25lIG9mIHdlYl9pZGVudGl0eV90b2tlbl9maWxlIG9yIHdlYl9pZGVudGl0eV90b2tlbiBpcyByZXF1aXJlZC5cbiAgICogQ2FuIGFsc28gYmUgc2V0IHdpdGggdGhlIEFXU19XRUJfSURFTlRJVFlfVE9LRU5fRklMRSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHdlYklkZW50aXR5VG9rZW5GaWxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUZXJyYWZvcm1SZW1vdGVTdGF0ZVMzQ29uZmlnXG4gIGV4dGVuZHMgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlQ29uZmlnLCBTM0JhY2tlbmRDb25maWcge31cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYWNrZW5kcy9zMy1iYWNrZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSw0REFBd0Q7QUFDeEQsc0VBR21DO0FBQ25DLGtDQUEwQztBQUMxQyxnREFBOEQ7QUFFOUQsK0NBQStDO0FBQy9DLE1BQWEsU0FBVSxTQUFRLG9DQUFnQjtJQUcxQjs7SUFGbkIsWUFDRSxLQUFnQixFQUNDLEtBQXNCO1FBRXZDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRmIsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFJdkMsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQ3JCLElBQUksMENBQTRCLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO2dCQUNoRSxTQUFTLEVBQUUsVUFBVTtnQkFDckIsUUFBUSxFQUFFLFVBQVU7YUFDckIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixPQUFPLElBQUEsc0JBQWUsRUFBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVTLHVCQUF1QjtRQUMvQixPQUFPLElBQUEsc0JBQWUsRUFBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLHdCQUF3QixDQUM3QixLQUFnQixFQUNoQixJQUFZLEVBQ1osVUFBa0I7UUFFbEIsT0FBTyxJQUFJLDBCQUEwQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDakQsR0FBRyxJQUFJLENBQUMsS0FBSztZQUNiLFNBQVMsRUFBRSx3QkFBd0I7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFsQ0gsOEJBbUNDO0FBRUQsK0NBQStDO0FBQy9DLE1BQWEsMEJBQTJCLFNBQVEsNkNBQW9COztJQUNsRSxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixNQUF3QztRQUV4QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQzs7QUFQSCxnRUFRQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtQmFja2VuZCB9IGZyb20gXCIuLi90ZXJyYWZvcm0tYmFja2VuZFwiO1xuaW1wb3J0IHtcbiAgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlQ29uZmlnLFxuICBUZXJyYWZvcm1SZW1vdGVTdGF0ZSxcbn0gZnJvbSBcIi4uL3RlcnJhZm9ybS1yZW1vdGUtc3RhdGVcIjtcbmltcG9ydCB7IGtleXNUb1NuYWtlQ2FzZSB9IGZyb20gXCIuLi91dGlsXCI7XG5pbXBvcnQgeyBWYWxpZGF0ZUZlYXR1cmVUYXJnZXRTdXBwb3J0IH0gZnJvbSBcIi4uL3ZhbGlkYXRpb25zXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgUzNCYWNrZW5kIGV4dGVuZHMgVGVycmFmb3JtQmFja2VuZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogUzNCYWNrZW5kQ29uZmlnLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgXCJiYWNrZW5kXCIsIFwiczNcIik7XG5cbiAgICBpZiAocHJvcHMudXNlTG9ja2ZpbGUpIHtcbiAgICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKFxuICAgICAgICBuZXcgVmFsaWRhdGVGZWF0dXJlVGFyZ2V0U3VwcG9ydCh0aGlzLCBcIlMzIG5hdGl2ZSBzdGF0ZSBsb2NraW5nXCIsIHtcbiAgICAgICAgICB0ZXJyYWZvcm06IFwiPj0xLjEwLjBcIixcbiAgICAgICAgICBvcGVudG9mdTogXCI+PTEuMTAuMFwiLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ga2V5c1RvU25ha2VDYXNlKHsgLi4udGhpcy5wcm9wcyB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIGtleXNUb1NuYWtlQ2FzZSh7IC4uLnRoaXMucHJvcHMgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVtb3RlU3RhdGVEYXRhU291cmNlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIF9mcm9tU3RhY2s6IHN0cmluZyxcbiAgKTogVGVycmFmb3JtUmVtb3RlU3RhdGUge1xuICAgIHJldHVybiBuZXcgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlUzMoc2NvcGUsIG5hbWUsIHtcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICB3b3Jrc3BhY2U6IFwiJHt0ZXJyYWZvcm0ud29ya3NwYWNlfVwiLFxuICAgIH0pO1xuICB9XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlUzMgZXh0ZW5kcyBUZXJyYWZvcm1SZW1vdGVTdGF0ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBjb25maWc6IERhdGFUZXJyYWZvcm1SZW1vdGVTdGF0ZVMzQ29uZmlnLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIFwiczNcIiwgY29uZmlnKTtcbiAgfVxufVxuXG4vKipcbiAqIFN0b3JlcyB0aGUgc3RhdGUgYXMgYSBnaXZlbiBrZXkgaW4gYSBnaXZlbiBidWNrZXQgb24gQW1hem9uIFMzLiBUaGlzIGJhY2tlbmRcbiAqIGFsc28gc3VwcG9ydHMgc3RhdGUgbG9ja2luZyBhbmQgY29uc2lzdGVuY3kgY2hlY2tpbmcgdmlhIER5bmFtbyBEQiwgd2hpY2hcbiAqIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRpbmcgdGhlIGR5bmFtb2RiX3RhYmxlIGZpZWxkIHRvIGFuIGV4aXN0aW5nIER5bmFtb0RCXG4gKiB0YWJsZSBuYW1lLiBBIHNpbmdsZSBEeW5hbW9EQiB0YWJsZSBjYW4gYmUgdXNlZCB0byBsb2NrIG11bHRpcGxlIHJlbW90ZVxuICogc3RhdGUgZmlsZXMuIFRlcnJhZm9ybSBnZW5lcmF0ZXMga2V5IG5hbWVzIHRoYXQgaW5jbHVkZSB0aGUgdmFsdWVzIG9mIHRoZVxuICogYnVja2V0IGFuZCBrZXkgdmFyaWFibGVzLlxuICpcbiAqIFdhcm5pbmchIEl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHlvdSBlbmFibGUgQnVja2V0IFZlcnNpb25pbmcgb24gdGhlXG4gKiBTMyBidWNrZXQgdG8gYWxsb3cgZm9yIHN0YXRlIHJlY292ZXJ5IGluIHRoZSBjYXNlIG9mIGFjY2lkZW50YWwgZGVsZXRpb25zXG4gKiBhbmQgaHVtYW4gZXJyb3IuXG4gKlxuICogUmVhZCBtb3JlIGFib3V0IHRoaXMgYmFja2VuZCBpbiB0aGUgVGVycmFmb3JtIGRvY3M6XG4gKiBodHRwczovL2RldmVsb3Blci5oYXNoaWNvcnAuY29tL3RlcnJhZm9ybS9sYW5ndWFnZS9zZXR0aW5ncy9iYWNrZW5kcy9zM1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzQmFja2VuZENvbmZpZyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBTMyBCdWNrZXQuXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ6IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgTGlzdCBvZiBhbGxvd2VkIEFXUyBhY2NvdW50IElEcyB0byBwcmV2ZW50IHBvdGVudGlhbCBkZXN0cnVjdGlvbiBvZiBhIGxpdmUgZW52aXJvbm1lbnQuXG4gICAqIENvbmZsaWN0cyB3aXRoIGZvcmJpZGRlbl9hY2NvdW50X2lkcy5cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRBY2NvdW50SWRzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEZpbGUgY29udGFpbmluZyBjdXN0b20gcm9vdCBhbmQgaW50ZXJtZWRpYXRlIGNlcnRpZmljYXRlcy5cbiAgICogQ2FuIGFsc28gYmUgc2V0IHVzaW5nIHRoZSBBV1NfQ0FfQlVORExFIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKiBTZXR0aW5nIGNhX2J1bmRsZSBpbiB0aGUgc2hhcmVkIGNvbmZpZyBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21DYUJ1bmRsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsKSBDdXN0b20gZW5kcG9pbnQgVVJMIGZvciB0aGUgRUMyIEluc3RhbmNlIE1ldGFkYXRhIFNlcnZpY2UgKElNRFMpIEFQSS5cbiAgICogQ2FuIGFsc28gYmUgc2V0IHdpdGggdGhlIEFXU19FQzJfTUVUQURBVEFfU0VSVklDRV9FTkRQT0lOVCBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGVjMk1ldGFkYXRhU2VydmljZUVuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBNb2RlIHRvIHVzZSBpbiBjb21tdW5pY2F0aW5nIHdpdGggdGhlIG1ldGFkYXRhIHNlcnZpY2UuXG4gICAqIFZhbGlkIHZhbHVlcyBhcmUgSVB2NCBhbmQgSVB2Ni5cbiAgICogQ2FuIGFsc28gYmUgc2V0IHdpdGggdGhlIEFXU19FQzJfTUVUQURBVEFfU0VSVklDRV9FTkRQT0lOVF9NT0RFIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZWMyTWV0YWRhdGFTZXJ2aWNlRW5kcG9pbnRNb2RlPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBMaXN0IG9mIGZvcmJpZGRlbiBBV1MgYWNjb3VudCBJRHMgdG8gcHJldmVudCBwb3RlbnRpYWwgZGVzdHJ1Y3Rpb24gb2YgYSBsaXZlIGVudmlyb25tZW50LlxuICAgKiBDb25mbGljdHMgd2l0aCBhbGxvd2VkX2FjY291bnRfaWRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9yYmlkZGVuQWNjb3VudElkcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBVUkwgb2YgYSBwcm94eSB0byB1c2UgZm9yIEhUVFAgcmVxdWVzdHMgd2hlbiBhY2Nlc3NpbmcgdGhlIEFXUyBBUEkuXG4gICAqIENhbiBhbHNvIGJlIHNldCB1c2luZyB0aGUgSFRUUF9QUk9YWSBvciBodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICovXG4gIHJlYWRvbmx5IGh0dHBQcm94eT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVVJMIG9mIGEgcHJveHkgdG8gdXNlIGZvciBIVFRQUyByZXF1ZXN0cyB3aGVuIGFjY2Vzc2luZyB0aGUgQVdTIEFQSS5cbiAgICogQ2FuIGFsc28gYmUgc2V0IHVzaW5nIHRoZSBIVFRQU19QUk9YWSBvciBodHRwc19wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAqL1xuICByZWFkb25seSBodHRwc1Byb3h5Pzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwpIFdoZXRoZXIgdG8gZXhwbGljaXRseSBhbGxvdyB0aGUgYmFja2VuZCB0byBwZXJmb3JtIFwiaW5zZWN1cmVcIiBTU0wgcmVxdWVzdHMuXG4gICAqIElmIG9taXR0ZWQsIHRoZSBkZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zZWN1cmU/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBob3N0cyB0aGF0IHNob3VsZCBub3QgdXNlIEhUVFAgb3IgSFRUUFMgcHJveGllcy5cbiAgICogRWFjaCB2YWx1ZSBjYW4gYmUgb25lIG9mOlxuICAgKiAtIEEgZG9tYWluIG5hbWVcbiAgICogLSBBbiBJUCBhZGRyZXNzXG4gICAqIC0gQSBDSURSIGFkZHJlc3NcbiAgICogLSBBbiBhc3RlcmlzayAoKiksIHRvIGluZGljYXRlIHRoYXQgbm8gcHJveHlpbmcgc2hvdWxkIGJlIHBlcmZvcm1lZCBEb21haW4gbmFtZSBhbmQgSVAgYWRkcmVzcyB2YWx1ZXMgY2FuIGFsc28gaW5jbHVkZSBhIHBvcnQgbnVtYmVyLlxuICAgKiBDYW4gYWxzbyBiZSBzZXQgdXNpbmcgdGhlIE5PX1BST1hZIG9yIG5vX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICovXG4gIHJlYWRvbmx5IG5vUHJveHk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFNwZWNpZmllcyBob3cgcmV0cmllcyBhcmUgYXR0ZW1wdGVkLlxuICAgKiBWYWxpZCB2YWx1ZXMgYXJlIHN0YW5kYXJkIGFuZCBhZGFwdGl2ZS5cbiAgICogQ2FuIGFsc28gYmUgY29uZmlndXJlZCB1c2luZyB0aGUgQVdTX1JFVFJZX01PREUgZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgdGhlIHNoYXJlZCBjb25maWcgZmlsZSBwYXJhbWV0ZXIgcmV0cnlfbW9kZS5cbiAgICovXG4gIHJlYWRvbmx5IHJldHJ5TW9kZT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgTGlzdCBvZiBwYXRocyB0byBBV1Mgc2hhcmVkIGNvbmZpZ3VyYXRpb24gZmlsZXMuXG4gICAqIERlZmF1bHRzIHRvIH4vLmF3cy9jb25maWcuXG4gICAqL1xuICByZWFkb25seSBzaGFyZWRDb25maWdGaWxlcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBMaXN0IG9mIHBhdGhzIHRvIEFXUyBzaGFyZWQgY3JlZGVudGlhbHMgZmlsZXMuXG4gICAqIERlZmF1bHRzIHRvIH4vLmF3cy9jcmVkZW50aWFscy5cbiAgICovXG4gIHJlYWRvbmx5IHNoYXJlZENyZWRlbnRpYWxzRmlsZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHN0YXRlIGZpbGUgaW5zaWRlIHRoZSBTMyBCdWNrZXQuXG4gICAqIFdoZW4gdXNpbmcgYSBub24tZGVmYXVsdCB3b3Jrc3BhY2UsIHRoZSBzdGF0ZSBwYXRoIHdpbGwgYmUgL3dvcmtzcGFjZV9rZXlfcHJlZml4L3dvcmtzcGFjZV9uYW1lL2tleVxuICAgKi9cbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBV1MgUmVnaW9uIG9mIHRoZSBTMyBCdWNrZXQgYW5kIER5bmFtb0RCIFRhYmxlIChpZiB1c2VkKS4gVGhpcyBjYW4gYWxzb1xuICAgKiBiZSBzb3VyY2VkIGZyb20gdGhlIEFXU19ERUZBVUxUX1JFR0lPTiBhbmQgQVdTX1JFR0lPTiBlbnZpcm9ubWVudFxuICAgKiB2YXJpYWJsZXMuXG4gICAqL1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEN1c3RvbSBlbmRwb2ludCBmb3IgdGhlIEFXUyBTMyBBUEkuXG4gICAqIFRoaXMgY2FuIGFsc28gYmUgc291cmNlZCBmcm9tIHRoZSBBV1NfUzNfRU5EUE9JTlQgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBlbmRwb2ludHMuczMgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgZW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEVuYWJsZSBzZXJ2ZXIgc2lkZSBlbmNyeXB0aW9uIG9mIHRoZSBzdGF0ZSBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIENhbm5lZCBBQ0wgdG8gYmUgYXBwbGllZCB0byB0aGUgc3RhdGUgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IGFjbD86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgQVdTIGFjY2VzcyBrZXkuIElmIGNvbmZpZ3VyZWQsIG11c3QgYWxzbyBjb25maWd1cmUgc2VjcmV0X2tleS5cbiAgICogVGhpcyBjYW4gYWxzbyBiZSBzb3VyY2VkIGZyb21cbiAgICogdGhlIEFXU19BQ0NFU1NfS0VZX0lEIGVudmlyb25tZW50IHZhcmlhYmxlLFxuICAgKiBBV1Mgc2hhcmVkIGNyZWRlbnRpYWxzIGZpbGUgKGUuZy4gfi8uYXdzL2NyZWRlbnRpYWxzKSxcbiAgICogb3IgQVdTIHNoYXJlZCBjb25maWd1cmF0aW9uIGZpbGUgKGUuZy4gfi8uYXdzL2NvbmZpZykuXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NLZXk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEFXUyBzZWNyZXQgYWNjZXNzIGtleS4gSWYgY29uZmlndXJlZCwgbXVzdCBhbHNvIGNvbmZpZ3VyZSBhY2Nlc3Nfa2V5LlxuICAgKiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbVxuICAgKiB0aGUgQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIGVudmlyb25tZW50IHZhcmlhYmxlLFxuICAgKiBBV1Mgc2hhcmVkIGNyZWRlbnRpYWxzIGZpbGUgKGUuZy4gfi8uYXdzL2NyZWRlbnRpYWxzKSxcbiAgICogb3IgQVdTIHNoYXJlZCBjb25maWd1cmF0aW9uIGZpbGUgKGUuZy4gfi8uYXdzL2NvbmZpZylcbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldEtleT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgYSBLZXkgTWFuYWdlbWVudCBTZXJ2aWNlIChLTVMpIEtleVxuICAgKiB0byB1c2UgZm9yIGVuY3J5cHRpbmcgdGhlIHN0YXRlLiBOb3RlIHRoYXQgaWYgdGhpcyB2YWx1ZSBpcyBzcGVjaWZpZWQsXG4gICAqIFRlcnJhZm9ybSB3aWxsIG5lZWQga21zOkVuY3J5cHQsIGttczpEZWNyeXB0IGFuZCBrbXM6R2VuZXJhdGVEYXRhS2V5IHBlcm1pc3Npb25zIG9uIHRoaXMgS01TIGtleS5cbiAgICovXG4gIHJlYWRvbmx5IGttc0tleUlkPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBXaGV0aGVyIHRvIHVzZSBhIGxvY2tmaWxlIGZvciBsb2NraW5nIHRoZSBzdGF0ZSBmaWxlLiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICogU3RhdGUgbG9ja2luZyBpcyBhbiBvcHQtaW4gZmVhdHVyZSBvZiB0aGUgUzMgYmFja2VuZC5cbiAgICogTG9ja2luZyBjYW4gYmUgZW5hYmxlZCB2aWEgUzMgb3IgRHluYW1vREIgKHNlZSBkeW5hbW9kYlRhYmxlKS4gSG93ZXZlciwgRHluYW1vREItYmFzZWQgbG9ja2luZ1xuICAgKiAgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtaW5vciB2ZXJzaW9uLiBUbyBzdXBwb3J0IG1pZ3JhdGlvbiBmcm9tIG9sZGVyXG4gICAqICAgdmVyc2lvbnMgb2YgVGVycmFmb3JtIHRoYXQgb25seSBzdXBwb3J0IER5bmFtb0RCLWJhc2VkIGxvY2tpbmcsIHRoZSBTMyAodXNlTG9ja2ZpbGUpIGFuZCBEeW5hbW9EQlxuICAgKiAgIChkeW5hbW9kYlRhYmxlKSBhcmd1bWVudHMgY2FuIGJlIGNvbmZpZ3VyZWQgc2ltdWx0YW5lb3VzbHkuXG4gICAqL1xuICByZWFkb25seSB1c2VMb2NrZmlsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIE5hbWUgb2YgRHluYW1vREIgVGFibGUgdG8gdXNlIGZvciBzdGF0ZSBsb2NraW5nIGFuZCBjb25zaXN0ZW5jeS5cbiAgICogVGhlIHRhYmxlIG11c3QgaGF2ZSBhIHBhcnRpdGlvbiBrZXkgbmFtZWQgTG9ja0lEIHdpdGggdHlwZSBvZiBTdHJpbmcuXG4gICAqIElmIG5vdCBjb25maWd1cmVkLCBzdGF0ZSBsb2NraW5nIHdpbGwgYmUgZGlzYWJsZWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSB1c2VMb2NrZmlsZSBpbnN0ZWFkLCB3aGljaCB1c2VzIFMzIGZvciBsb2NraW5nXG4gICAqL1xuICByZWFkb25seSBkeW5hbW9kYlRhYmxlPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBOYW1lIG9mIEFXUyBwcm9maWxlIGluIEFXUyBzaGFyZWQgY3JlZGVudGlhbHMgZmlsZSAoZS5nLiB+Ly5hd3MvY3JlZGVudGlhbHMpXG4gICAqIG9yIEFXUyBzaGFyZWQgY29uZmlndXJhdGlvbiBmaWxlIChlLmcuIH4vLmF3cy9jb25maWcpIHRvIHVzZSBmb3IgY3JlZGVudGlhbHNcbiAgICogYW5kL29yIGNvbmZpZ3VyYXRpb24uIFRoaXMgY2FuIGFsc28gYmUgc291cmNlZCBmcm9tIHRoZSBBV1NfUFJPRklMRSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFBhdGggdG8gdGhlIEFXUyBzaGFyZWQgY3JlZGVudGlhbHMgZmlsZS4gRGVmYXVsdHMgdG8gfi8uYXdzL2NyZWRlbnRpYWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hhcmVkQ3JlZGVudGlhbHNGaWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBNdWx0aS1GYWN0b3IgQXV0aGVudGljYXRpb24gKE1GQSkgdG9rZW4uXG4gICAqIFRoaXMgY2FuIGFsc28gYmUgc291cmNlZCBmcm9tIHRoZSBBV1NfU0VTU0lPTl9UT0tFTiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHRva2VuPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgSUFNIFJvbGUgdG8gYXNzdW1lLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYXNzdW1lUm9sZS5yb2xlQXJuIGluc3RlYWQuXG4gICAqL1xuICByZWFkb25seSByb2xlQXJuPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBJQU0gUG9saWN5IEpTT04gZGVzY3JpYmluZyBmdXJ0aGVyIHJlc3RyaWN0aW5nIHBlcm1pc3Npb25zIGZvciB0aGUgSUFNIFJvbGUgYmVpbmcgYXNzdW1lZC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGFzc3VtZVJvbGUucG9saWN5IGluc3RlYWQuXG4gICAqL1xuICByZWFkb25seSBhc3N1bWVSb2xlUG9saWN5Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTZXQgb2YgQW1hem9uIFJlc291cmNlIE5hbWVzIChBUk5zKSBvZiBJQU0gUG9saWNpZXMgZGVzY3JpYmluZyBmdXJ0aGVyIHJlc3RyaWN0aW5nIHBlcm1pc3Npb25zIGZvciB0aGUgSUFNIFJvbGUgYmVpbmcgYXNzdW1lZC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGFzc3VtZVJvbGUucG9saWN5QXJucyBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZVBvbGljeUFybnM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgTWFwIG9mIGFzc3VtZSByb2xlIHNlc3Npb24gdGFncy5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGFzc3VtZVJvbGUudGFncyBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZVRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTZXQgb2YgYXNzdW1lIHJvbGUgc2Vzc2lvbiB0YWcga2V5cyB0byBwYXNzIHRvIGFueSBzdWJzZXF1ZW50IHNlc3Npb25zLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYXNzdW1lUm9sZS50cmFuc2l0aXZlVGFnS2V5cyBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZVRyYW5zaXRpdmVUYWdLZXlzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEV4dGVybmFsIGlkZW50aWZpZXIgdG8gdXNlIHdoZW4gYXNzdW1pbmcgdGhlIHJvbGUuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBhc3N1bWVfcm9sZS5leHRlcm5hbF9pZCBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgZXh0ZXJuYWxJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgU2Vzc2lvbiBuYW1lIHRvIHVzZSB3aGVuIGFzc3VtaW5nIHRoZSByb2xlLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYXNzdW1lUm9sZS5zZXNzaW9uTmFtZSBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2Vzc2lvbk5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFByZWZpeCBhcHBsaWVkIHRvIHRoZSBzdGF0ZSBwYXRoIGluc2lkZSB0aGUgYnVja2V0LlxuICAgKiBUaGlzIGlzIG9ubHkgcmVsZXZhbnQgd2hlbiB1c2luZyBhIG5vbi1kZWZhdWx0IHdvcmtzcGFjZS4gRGVmYXVsdHMgdG8gZW52OlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya3NwYWNlS2V5UHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDdXN0b20gZW5kcG9pbnQgZm9yIHRoZSBBV1MgRHluYW1vREIgQVBJLlxuICAgKiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbSB0aGUgQVdTX0RZTkFNT0RCX0VORFBPSU5UIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZW5kcG9pbnRzLmR5bmFtb2RiIGluc3RlYWRcbiAgICovXG4gIHJlYWRvbmx5IGR5bmFtb2RiRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEN1c3RvbSBlbmRwb2ludCBmb3IgdGhlIEFXUyBJZGVudGl0eSBhbmQgQWNjZXNzIE1hbmFnZW1lbnQgKElBTSkgQVBJLlxuICAgKiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbSB0aGUgQVdTX0lBTV9FTkRQT0lOVCBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGVuZHBvaW50cy5pYW0gaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgaWFtRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEN1c3RvbSBlbmRwb2ludCBmb3IgdGhlIEFXUyBTZWN1cml0eSBUb2tlbiBTZXJ2aWNlIChTVFMpIEFQSS5cbiAgICogVGhpcyBjYW4gYWxzbyBiZSBzb3VyY2VkIGZyb20gdGhlIEFXU19TVFNfRU5EUE9JTlQgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBlbmRwb2ludHMuc3RzIGluc3RlYWRcbiAgICovXG4gIHJlYWRvbmx5IHN0c0VuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBBV1MgcmVnaW9uIGZvciBTVFMuXG4gICAqIElmIHVuc2V0LCBBV1Mgd2lsbCB1c2UgdGhlIHNhbWUgcmVnaW9uIGZvciBTVFMgYXMgb3RoZXIgbm9uLVNUUyBvcGVyYXRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RzUmVnaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBFbmFibGUgcGF0aC1zdHlsZSBTMyBVUkxzXG4gICAqIChodHRwczovLzxIT1NUPi88QlVDS0VUPiBpbnN0ZWFkIG9mIGh0dHBzOi8vPEJVQ0tFVD4uPEhPU1Q+KS5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIHVzZVBhdGhTdHlsZSBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBmb3JjZVBhdGhTdHlsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEVuYWJsZSBwYXRoLXN0eWxlIFMzIFVSTHNcbiAgICogKGh0dHBzOi8vPEhPU1Q+LzxCVUNLRVQ+IGluc3RlYWQgb2YgaHR0cHM6Ly88QlVDS0VUPi48SE9TVD4pLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlUGF0aFN0eWxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgU2tpcCBjcmVkZW50aWFscyB2YWxpZGF0aW9uIHZpYSB0aGUgU1RTIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IHNraXBDcmVkZW50aWFsc1ZhbGlkYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTa2lwIHZhbGlkYXRpb24gb2YgcHJvdmlkZWQgcmVnaW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBza2lwUmVnaW9uVmFsaWRhdGlvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFdoZXRoZXIgdG8gc2tpcCByZXF1ZXN0aW5nIHRoZSBhY2NvdW50IElELlxuICAgKiBVc2VmdWwgZm9yIEFXUyBBUEkgaW1wbGVtZW50YXRpb25zIHRoYXQgZG8gbm90IGhhdmUgdGhlIElBTSwgU1RTIEFQSSwgb3IgbWV0YWRhdGEgQVBJLlxuICAgKi9cbiAgcmVhZG9ubHkgc2tpcFJlcXVlc3RpbmdBY2NvdW50SWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTa2lwIHVzYWdlIG9mIEVDMiBNZXRhZGF0YSBBUEkuXG4gICAqL1xuICByZWFkb25seSBza2lwTWV0YWRhdGFBcGlDaGVjaz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIERvIG5vdCBpbmNsdWRlIGNoZWNrc3VtIHdoZW4gdXBsb2FkaW5nIFMzIE9iamVjdHMuXG4gICAqIFVzZWZ1bCBmb3Igc29tZSBTMy1Db21wYXRpYmxlIEFQSXMuXG4gICAqL1xuICByZWFkb25seSBza2lwUzNDaGVja3N1bT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFRoZSBrZXkgdG8gdXNlIGZvciBlbmNyeXB0aW5nIHN0YXRlIHdpdGggU2VydmVyLVNpZGUgRW5jcnlwdGlvbiB3aXRoIEN1c3RvbWVyLVByb3ZpZGVkIEtleXMgKFNTRS1DKS5cbiAgICogVGhpcyBpcyB0aGUgYmFzZTY0LWVuY29kZWQgdmFsdWUgb2YgdGhlIGtleSwgd2hpY2ggbXVzdCBkZWNvZGUgdG8gMjU2IGJpdHMuXG4gICAqIFRoaXMgY2FuIGFsc28gYmUgc291cmNlZCBmcm9tIHRoZSBBV1NfU1NFX0NVU1RPTUVSX0tFWSBlbnZpcm9ubWVudCB2YXJpYWJsZSxcbiAgICogd2hpY2ggaXMgcmVjb21tZW5kZWQgZHVlIHRvIHRoZSBzZW5zaXRpdml0eSBvZiB0aGUgdmFsdWUuXG4gICAqIFNldHRpbmcgaXQgaW5zaWRlIGEgdGVycmFmb3JtIGZpbGUgd2lsbCBjYXVzZSBpdCB0byBiZSBwZXJzaXN0ZWQgdG8gZGlzayBpbiB0ZXJyYWZvcm0udGZzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHNzZUN1c3RvbWVyS2V5Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgYW4gQVdTIEFQSSByZXF1ZXN0IGlzIHJldHJpZWQgb24gcmV0cnlhYmxlIGZhaWx1cmUuXG4gICAqIERlZmF1bHRzIHRvIDUuXG4gICAqL1xuICByZWFkb25seSBtYXhSZXRyaWVzPzogbnVtYmVyO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBVc2UgdGhlIGxlZ2FjeSBhdXRoZW50aWNhdGlvbiB3b3JrZmxvdywgcHJlZmVycmluZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb3ZlciBiYWNrZW5kIGNvbmZpZ3VyYXRpb24uXG4gICAqIERlZmF1bHRzIHRvIHRydWUuXG4gICAqIFRoaXMgYmVoYXZpb3IgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYXV0aGVudGljYXRpb24gZmxvdyBvZiB0aGUgQVdTIENMSSBvciBTREsncywgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgZnV0dXJlLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlTGVnYWN5V29ya2Zsb3c/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBUaGUgZW5kcG9pbnQgY29uZmlndXJhdGlvbiBibG9jay5cbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50cz86IFMzQmFja2VuZEVuZHBvaW50Q29uZmlnO1xuICAvKipcbiAgICogQXNzdW1pbmcgYW4gSUFNIFJvbGUgY2FuIGJlIGNvbmZpZ3VyZWQgaW4gdHdvIHdheXMuXG4gICAqIFRoZSBwcmVmZXJyZWQgd2F5IGlzIHRvIHVzZSB0aGUgYXJndW1lbnQgYXNzdW1lX3JvbGUsIHRoZSBvdGhlciwgd2hpY2ggaXMgZGVwcmVjYXRlZCwgaXMgd2l0aCBhcmd1bWVudHMgYXQgdGhlIHRvcCBsZXZlbC5cbiAgICovXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGU/OiBTM0JhY2tlbmRBc3N1bWVSb2xlQ29uZmlnO1xuICAvKipcbiAgICogQXNzdW1lIFJvbGUgV2l0aCBXZWIgSWRlbnRpdHkgQ29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eT86IFMzQmFja2VuZEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlDb25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUzNCYWNrZW5kRW5kcG9pbnRDb25maWcge1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBDdXN0b20gZW5kcG9pbnQgVVJMIGZvciB0aGUgQVdTIER5bmFtb0RCIEFQSS5cbiAgICogVGhpcyBjYW4gYWxzbyBiZSBzb3VyY2VkIGZyb20gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19FTkRQT0lOVF9VUkxfRFlOQU1PREIgb3IgdGhlIGRlcHJlY2F0ZWQgZW52aXJvbm1lbnQgdmFyaWFibGUgQVdTX0RZTkFNT0RCX0VORFBPSU5ULlxuICAgKi9cbiAgcmVhZG9ubHkgZHluYW1vZGI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEN1c3RvbSBlbmRwb2ludCBVUkwgZm9yIHRoZSBBV1MgSUFNIEFQSS5cbiAgICogVGhpcyBjYW4gYWxzbyBiZSBzb3VyY2VkIGZyb20gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19FTkRQT0lOVF9VUkxfSUFNIG9yIHRoZSBkZXByZWNhdGVkIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19JQU1fRU5EUE9JTlQuXG4gICAqL1xuICByZWFkb25seSBpYW0/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEN1c3RvbSBlbmRwb2ludCBVUkwgZm9yIHRoZSBBV1MgUzMgQVBJLlxuICAgKiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQVdTX0VORFBPSU5UX1VSTF9TMyBvciB0aGUgZGVwcmVjYXRlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSBBV1NfUzNfRU5EUE9JTlQuXG4gICAqL1xuICByZWFkb25seSBzMz86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgQ3VzdG9tIGVuZHBvaW50IFVSTCBmb3IgdGhlIEFXUyBJQU0gSWRlbnRpdHkgQ2VudGVyIChmb3JtZXJseSBrbm93biBhcyBBV1MgU1NPKSBBUEkuXG4gICAqIFRoaXMgY2FuIGFsc28gYmUgc291cmNlZCBmcm9tIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBBV1NfRU5EUE9JTlRfVVJMX1NTTy5cbiAgICovXG4gIHJlYWRvbmx5IHNzbz86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgQ3VzdG9tIGVuZHBvaW50IFVSTCBmb3IgdGhlIEFXUyBTVFMgQVBJLlxuICAgKiBUaGlzIGNhbiBhbHNvIGJlIHNvdXJjZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQVdTX0VORFBPSU5UX1VSTF9TVFMgb3IgdGhlIGRlcHJlY2F0ZWQgZW52aXJvbm1lbnQgdmFyaWFibGUgQVdTX1NUU19FTkRQT0lOVC5cbiAgICovXG4gIHJlYWRvbmx5IHN0cz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTM0JhY2tlbmRBc3N1bWVSb2xlQ29uZmlnIHtcbiAgLyoqXG4gICAqIChSZXF1aXJlZCkgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIElBTSBSb2xlIHRvIGFzc3VtZS5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVGhlIGR1cmF0aW9uIGluZGl2aWR1YWwgY3JlZGVudGlhbHMgd2lsbCBiZSB2YWxpZC5cbiAgICogQ3JlZGVudGlhbHMgYXJlIGF1dG9tYXRpY2FsbHkgcmVuZXdlZCB1cCB0byB0aGUgbWF4aW11bSBkZWZpbmVkIGJ5IHRoZSBBV1MgYWNjb3VudC5cbiAgICogU3BlY2lmaWVkIHVzaW5nIHRoZSBmb3JtYXQgPGhvdXJzPmg8bWludXRlcz5tPHNlY29uZHM+cyB3aXRoIGFueSB1bml0IGJlaW5nIG9wdGlvbmFsLlxuICAgKiBGb3IgZXhhbXBsZSwgYW4gaG91ciBhbmQgYSBoYWxmIGNhbiBiZSBzcGVjaWZpZWQgYXMgMWgzMG0gb3IgOTBtLlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMTUgbWludXRlcyAoMTVtKSBhbmQgMTIgaG91cnMgKDEyaCkuXG4gICAqL1xuICByZWFkb25seSBkdXJhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgRXh0ZXJuYWwgaWRlbnRpZmllciB0byB1c2Ugd2hlbiBhc3N1bWluZyB0aGUgcm9sZS5cbiAgICovXG4gIHJlYWRvbmx5IGV4dGVybmFsSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIElBTSBQb2xpY3kgSlNPTiBkZXNjcmliaW5nIGZ1cnRoZXIgcmVzdHJpY3RpbmcgcGVybWlzc2lvbnMgZm9yIHRoZSBJQU0gUm9sZSBiZWluZyBhc3N1bWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcG9saWN5Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTZXQgb2YgQW1hem9uIFJlc291cmNlIE5hbWVzIChBUk5zKSBvZiBJQU0gUG9saWNpZXMgZGVzY3JpYmluZyBmdXJ0aGVyIHJlc3RyaWN0aW5nIHBlcm1pc3Npb25zIGZvciB0aGUgSUFNIFJvbGUgYmVpbmcgYXNzdW1lZC5cbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeUFybnM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgU2Vzc2lvbiBuYW1lIHRvIHVzZSB3aGVuIGFzc3VtaW5nIHRoZSByb2xlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2Vzc2lvbk5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFNvdXJjZSBpZGVudGl0eSBzcGVjaWZpZWQgYnkgdGhlIHByaW5jaXBhbCBhc3N1bWluZyB0aGVcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUlkZW50aXR5Pzogc3RyaW5nO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBNYXAgb2YgYXNzdW1lIHJvbGUgc2Vzc2lvbiB0YWdzLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFNldCBvZiBhc3N1bWUgcm9sZSBzZXNzaW9uIHRhZyBrZXlzIHRvIHBhc3MgdG8gYW55IHN1YnNlcXVlbnQgc2Vzc2lvbnMuXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0aXZlVGFnS2V5cz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFMzQmFja2VuZEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlDb25maWcge1xuICAvKipcbiAgICogKFJlcXVpcmVkKSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgSUFNIFJvbGUgdG8gYXNzdW1lLlxuICAgKiBDYW4gYWxzbyBiZSBzZXQgd2l0aCB0aGUgQVdTX1JPTEVfQVJOIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZUFybj86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVGhlIGR1cmF0aW9uIGluZGl2aWR1YWwgY3JlZGVudGlhbHMgd2lsbCBiZSB2YWxpZC5cbiAgICogQ3JlZGVudGlhbHMgYXJlIGF1dG9tYXRpY2FsbHkgcmVuZXdlZCB1cCB0byB0aGUgbWF4aW11bSBkZWZpbmVkIGJ5IHRoZSBBV1MgYWNjb3VudC5cbiAgICogU3BlY2lmaWVkIHVzaW5nIHRoZSBmb3JtYXQgPGhvdXJzPmg8bWludXRlcz5tPHNlY29uZHM+cyB3aXRoIGFueSB1bml0IGJlaW5nIG9wdGlvbmFsLlxuICAgKiBGb3IgZXhhbXBsZSwgYW4gaG91ciBhbmQgYSBoYWxmIGNhbiBiZSBzcGVjaWZpZWQgYXMgMWgzMG0gb3IgOTBtLlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMTUgbWludXRlcyAoMTVtKSBhbmQgMTIgaG91cnMgKDEyaCkuXG4gICAqL1xuICByZWFkb25seSBkdXJhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgSUFNIFBvbGljeSBKU09OIGRlc2NyaWJpbmcgZnVydGhlciByZXN0cmljdGluZyBwZXJtaXNzaW9ucyBmb3IgdGhlIElBTSBSb2xlIGJlaW5nIGFzc3VtZWQuXG4gICAqL1xuICByZWFkb25seSBwb2xpY3k/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFNldCBvZiBBbWF6b24gUmVzb3VyY2UgTmFtZXMgKEFSTnMpIG9mIElBTSBQb2xpY2llcyBkZXNjcmliaW5nIGZ1cnRoZXIgcmVzdHJpY3RpbmcgcGVybWlzc2lvbnMgZm9yIHRoZSBJQU0gUm9sZSBiZWluZyBhc3N1bWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcG9saWN5QXJucz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBTZXNzaW9uIG5hbWUgdG8gdXNlIHdoZW4gYXNzdW1pbmcgdGhlIHJvbGUuXG4gICAqIENhbiBhbHNvIGJlIHNldCB3aXRoIHRoZSBBV1NfUk9MRV9TRVNTSU9OX05BTUUgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBzZXNzaW9uTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVGhlIHZhbHVlIG9mIGEgd2ViIGlkZW50aXR5IHRva2VuIGZyb20gYW4gT3BlbklEIENvbm5lY3QgKE9JREMpIG9yIE9BdXRoIHByb3ZpZGVyLlxuICAgKiBPbmUgb2Ygd2ViX2lkZW50aXR5X3Rva2VuIG9yIHdlYl9pZGVudGl0eV90b2tlbl9maWxlIGlzIHJlcXVpcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgd2ViSWRlbnRpdHlUb2tlbj86IHN0cmluZztcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgRmlsZSBjb250YWluaW5nIGEgd2ViIGlkZW50aXR5IHRva2VuIGZyb20gYW4gT3BlbklEIENvbm5lY3QgKE9JREMpIG9yIE9BdXRoIHByb3ZpZGVyLlxuICAgKiBPbmUgb2Ygd2ViX2lkZW50aXR5X3Rva2VuX2ZpbGUgb3Igd2ViX2lkZW50aXR5X3Rva2VuIGlzIHJlcXVpcmVkLlxuICAgKiBDYW4gYWxzbyBiZSBzZXQgd2l0aCB0aGUgQVdTX1dFQl9JREVOVElUWV9UT0tFTl9GSUxFIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgd2ViSWRlbnRpdHlUb2tlbkZpbGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlUzNDb25maWdcbiAgZXh0ZW5kcyBEYXRhVGVycmFmb3JtUmVtb3RlU3RhdGVDb25maWcsIFMzQmFja2VuZENvbmZpZyB7fVxuIl19
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.DataTerraformRemoteStateSwift = exports.SwiftBackend = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -10,6 +9,8 @@ const terraform_remote_state_1 = require("../terraform-remote-state");
10
9
  * @deprecated CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
11
10
  */
12
11
  class SwiftBackend extends terraform_backend_1.TerraformBackend {
12
+ props;
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.SwiftBackend", version: "0.25.0" };
13
14
  constructor(scope, props) {
14
15
  super(scope, "backend", "swift");
15
16
  this.props = props;
@@ -25,17 +26,14 @@ class SwiftBackend extends terraform_backend_1.TerraformBackend {
25
26
  }
26
27
  }
27
28
  exports.SwiftBackend = SwiftBackend;
28
- _a = JSII_RTTI_SYMBOL_1;
29
- SwiftBackend[_a] = { fqn: "cdktn.SwiftBackend", version: "0.25.0-pre.8" };
30
29
  /**
31
30
  * @deprecated CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
32
31
  */
33
32
  class DataTerraformRemoteStateSwift extends terraform_remote_state_1.TerraformRemoteState {
33
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataTerraformRemoteStateSwift", version: "0.25.0" };
34
34
  constructor(scope, id, config) {
35
35
  super(scope, id, "swift", config);
36
36
  }
37
37
  }
38
38
  exports.DataTerraformRemoteStateSwift = DataTerraformRemoteStateSwift;
39
- _b = JSII_RTTI_SYMBOL_1;
40
- DataTerraformRemoteStateSwift[_b] = { fqn: "cdktn.DataTerraformRemoteStateSwift", version: "0.25.0-pre.8" };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpZnQtYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYWNrZW5kcy9zd2lmdC1iYWNrZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsNERBQXdEO0FBQ3hELGtDQUEwQztBQUMxQyxzRUFHbUM7QUFFbkM7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxvQ0FBZ0I7SUFDaEQsWUFDRSxLQUFnQixFQUNDLEtBQXlCO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRmhCLFVBQUssR0FBTCxLQUFLLENBQW9CO0lBRzVDLENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsT0FBTyxJQUFBLHNCQUFlLEVBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsT0FBTyxJQUFBLHNCQUFlLEVBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSx3QkFBd0IsQ0FDN0IsS0FBZ0IsRUFDaEIsSUFBWSxFQUNaLFVBQWtCO1FBRWxCLE9BQU8sSUFBSSw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDOztBQXRCSCxvQ0F1QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSw2QkFBOEIsU0FBUSw2Q0FBb0I7SUFDckUsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsTUFBMkM7UUFFM0MsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O0FBUEgsc0VBUUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUJhY2tlbmQgfSBmcm9tIFwiLi4vdGVycmFmb3JtLWJhY2tlbmRcIjtcbmltcG9ydCB7IGtleXNUb1NuYWtlQ2FzZSB9IGZyb20gXCIuLi91dGlsXCI7XG5pbXBvcnQge1xuICBUZXJyYWZvcm1SZW1vdGVTdGF0ZSxcbiAgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlQ29uZmlnLFxufSBmcm9tIFwiLi4vdGVycmFmb3JtLXJlbW90ZS1zdGF0ZVwiO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIENESyBmb3IgVGVycmFmb3JtIG5vIGxvbmdlciBzdXBwb3J0cyB0aGUgc3dpZnQgYmFja2VuZC4gVGVycmFmb3JtIGRlcHJlY2F0ZWQgc3dpZnQgaW4gdjEuMi4zIGFuZCByZW1vdmVkIGl0IGluIHYxLjMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTd2lmdEJhY2tlbmQgZXh0ZW5kcyBUZXJyYWZvcm1CYWNrZW5kIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBTd2lmdEJhY2tlbmRDb25maWcsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBcImJhY2tlbmRcIiwgXCJzd2lmdFwiKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIGtleXNUb1NuYWtlQ2FzZSh7IC4uLnRoaXMucHJvcHMgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBrZXlzVG9TbmFrZUNhc2UoeyAuLi50aGlzLnByb3BzIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFJlbW90ZVN0YXRlRGF0YVNvdXJjZShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBfZnJvbVN0YWNrOiBzdHJpbmcsXG4gICk6IFRlcnJhZm9ybVJlbW90ZVN0YXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGFUZXJyYWZvcm1SZW1vdGVTdGF0ZVN3aWZ0KHNjb3BlLCBuYW1lLCB0aGlzLnByb3BzKTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIENESyBmb3IgVGVycmFmb3JtIG5vIGxvbmdlciBzdXBwb3J0cyB0aGUgc3dpZnQgYmFja2VuZC4gVGVycmFmb3JtIGRlcHJlY2F0ZWQgc3dpZnQgaW4gdjEuMi4zIGFuZCByZW1vdmVkIGl0IGluIHYxLjMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhVGVycmFmb3JtUmVtb3RlU3RhdGVTd2lmdCBleHRlbmRzIFRlcnJhZm9ybVJlbW90ZVN0YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGNvbmZpZzogRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlU3dpZnRDb25maWcsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgXCJzd2lmdFwiLCBjb25maWcpO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgQ0RLIGZvciBUZXJyYWZvcm0gbm8gbG9uZ2VyIHN1cHBvcnRzIHRoZSBzd2lmdCBiYWNrZW5kLiBUZXJyYWZvcm0gZGVwcmVjYXRlZCBzd2lmdCBpbiB2MS4yLjMgYW5kIHJlbW92ZWQgaXQgaW4gdjEuMy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2lmdEJhY2tlbmRDb25maWcge1xuICByZWFkb25seSBhdXRoVXJsPzogc3RyaW5nO1xuICByZWFkb25seSBjbG91ZD86IHN0cmluZztcbiAgcmVhZG9ubHkgY29udGFpbmVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YXRlTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlck5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uQ3JlZGVudGlhbElkPzogc3RyaW5nO1xuICByZWFkb25seSBhcHBsaWNhdGlvbkNyZWRlbnRpYWxOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBhcHBsaWNhdGlvbkNyZWRlbnRpYWxTZWNyZXQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRva2VuPzogc3RyaW5nO1xuICByZWFkb25seSByZWdpb25OYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB0ZW5hbnRJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGVuYW50TmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgZG9tYWluSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJEb21haW5OYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VyRG9tYWluSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb2plY3REb21haW5OYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0RG9tYWluSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlZmF1bHREb21haW4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluc2VjdXJlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY2FjZXJ0RmlsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgY2VydD86IHN0cmluZztcbiAgcmVhZG9ubHkga2V5Pzogc3RyaW5nO1xuICByZWFkb25seSBhcmNoaXZlQ29udGFpbmVyPzogc3RyaW5nO1xuICByZWFkb25seSBleHBpcmVBZnRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBDREsgZm9yIFRlcnJhZm9ybSBubyBsb25nZXIgc3VwcG9ydHMgdGhlIHN3aWZ0IGJhY2tlbmQuIFRlcnJhZm9ybSBkZXByZWNhdGVkIHN3aWZ0IGluIHYxLjIuMyBhbmQgcmVtb3ZlZCBpdCBpbiB2MS4zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUZXJyYWZvcm1SZW1vdGVTdGF0ZVN3aWZ0Q29uZmlnXG4gIGV4dGVuZHMgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlQ29uZmlnLCBTd2lmdEJhY2tlbmRDb25maWcge31cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpZnQtYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYWNrZW5kcy9zd2lmdC1iYWNrZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSw0REFBd0Q7QUFDeEQsa0NBQTBDO0FBQzFDLHNFQUdtQztBQUVuQzs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLG9DQUFnQjtJQUc3Qjs7SUFGbkIsWUFDRSxLQUFnQixFQUNDLEtBQXlCO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRmhCLFVBQUssR0FBTCxLQUFLLENBQW9CO0lBRzVDLENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsT0FBTyxJQUFBLHNCQUFlLEVBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsT0FBTyxJQUFBLHNCQUFlLEVBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSx3QkFBd0IsQ0FDN0IsS0FBZ0IsRUFDaEIsSUFBWSxFQUNaLFVBQWtCO1FBRWxCLE9BQU8sSUFBSSw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDOztBQXRCSCxvQ0F1QkM7QUFFRDs7R0FFRztBQUNILE1BQWEsNkJBQThCLFNBQVEsNkNBQW9COztJQUNyRSxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixNQUEyQztRQUUzQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7QUFQSCxzRUFRQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtQmFja2VuZCB9IGZyb20gXCIuLi90ZXJyYWZvcm0tYmFja2VuZFwiO1xuaW1wb3J0IHsga2V5c1RvU25ha2VDYXNlIH0gZnJvbSBcIi4uL3V0aWxcIjtcbmltcG9ydCB7XG4gIFRlcnJhZm9ybVJlbW90ZVN0YXRlLFxuICBEYXRhVGVycmFmb3JtUmVtb3RlU3RhdGVDb25maWcsXG59IGZyb20gXCIuLi90ZXJyYWZvcm0tcmVtb3RlLXN0YXRlXCI7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgQ0RLIGZvciBUZXJyYWZvcm0gbm8gbG9uZ2VyIHN1cHBvcnRzIHRoZSBzd2lmdCBiYWNrZW5kLiBUZXJyYWZvcm0gZGVwcmVjYXRlZCBzd2lmdCBpbiB2MS4yLjMgYW5kIHJlbW92ZWQgaXQgaW4gdjEuMy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN3aWZ0QmFja2VuZCBleHRlbmRzIFRlcnJhZm9ybUJhY2tlbmQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFN3aWZ0QmFja2VuZENvbmZpZyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIFwiYmFja2VuZFwiLCBcInN3aWZ0XCIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ga2V5c1RvU25ha2VDYXNlKHsgLi4udGhpcy5wcm9wcyB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIGtleXNUb1NuYWtlQ2FzZSh7IC4uLnRoaXMucHJvcHMgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVtb3RlU3RhdGVEYXRhU291cmNlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIF9mcm9tU3RhY2s6IHN0cmluZyxcbiAgKTogVGVycmFmb3JtUmVtb3RlU3RhdGUge1xuICAgIHJldHVybiBuZXcgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlU3dpZnQoc2NvcGUsIG5hbWUsIHRoaXMucHJvcHMpO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgQ0RLIGZvciBUZXJyYWZvcm0gbm8gbG9uZ2VyIHN1cHBvcnRzIHRoZSBzd2lmdCBiYWNrZW5kLiBUZXJyYWZvcm0gZGVwcmVjYXRlZCBzd2lmdCBpbiB2MS4yLjMgYW5kIHJlbW92ZWQgaXQgaW4gdjEuMy5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFUZXJyYWZvcm1SZW1vdGVTdGF0ZVN3aWZ0IGV4dGVuZHMgVGVycmFmb3JtUmVtb3RlU3RhdGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgY29uZmlnOiBEYXRhVGVycmFmb3JtUmVtb3RlU3RhdGVTd2lmdENvbmZpZyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBcInN3aWZ0XCIsIGNvbmZpZyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBDREsgZm9yIFRlcnJhZm9ybSBubyBsb25nZXIgc3VwcG9ydHMgdGhlIHN3aWZ0IGJhY2tlbmQuIFRlcnJhZm9ybSBkZXByZWNhdGVkIHN3aWZ0IGluIHYxLjIuMyBhbmQgcmVtb3ZlZCBpdCBpbiB2MS4zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN3aWZ0QmFja2VuZENvbmZpZyB7XG4gIHJlYWRvbmx5IGF1dGhVcmw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNsb3VkPzogc3RyaW5nO1xuICByZWFkb25seSBjb250YWluZXI6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhdGVOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VyTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlcklkPzogc3RyaW5nO1xuICByZWFkb25seSBwYXNzd29yZD86IHN0cmluZztcbiAgcmVhZG9ubHkgYXBwbGljYXRpb25DcmVkZW50aWFsSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uQ3JlZGVudGlhbE5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uQ3JlZGVudGlhbFNlY3JldD86IHN0cmluZztcbiAgcmVhZG9ubHkgdG9rZW4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlZ2lvbk5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRlbmFudElkPzogc3RyaW5nO1xuICByZWFkb25seSB0ZW5hbnROYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBkb21haW5JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlckRvbWFpbk5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJEb21haW5JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcHJvamVjdERvbWFpbk5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb2plY3REb21haW5JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgZGVmYXVsdERvbWFpbj86IHN0cmluZztcbiAgcmVhZG9ubHkgaW5zZWN1cmU/OiBib29sZWFuO1xuICByZWFkb25seSBjYWNlcnRGaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBjZXJ0Pzogc3RyaW5nO1xuICByZWFkb25seSBrZXk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFyY2hpdmVDb250YWluZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4cGlyZUFmdGVyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIENESyBmb3IgVGVycmFmb3JtIG5vIGxvbmdlciBzdXBwb3J0cyB0aGUgc3dpZnQgYmFja2VuZC4gVGVycmFmb3JtIGRlcHJlY2F0ZWQgc3dpZnQgaW4gdjEuMi4zIGFuZCByZW1vdmVkIGl0IGluIHYxLjMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlU3dpZnRDb25maWdcbiAgZXh0ZW5kcyBEYXRhVGVycmFmb3JtUmVtb3RlU3RhdGVDb25maWcsIFN3aWZ0QmFja2VuZENvbmZpZyB7fVxuIl19