cdk-dms-replication 0.2.1 → 0.2.3

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.
@@ -1,10 +1,42 @@
1
1
  "use strict";
2
- var _a;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
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
+ })();
3
35
  Object.defineProperty(exports, "__esModule", { value: true });
4
36
  exports.DmsMigrationPipeline = void 0;
5
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const cdk = require("aws-cdk-lib");
7
- const logs = require("aws-cdk-lib/aws-logs");
38
+ const cdk = __importStar(require("aws-cdk-lib"));
39
+ const logs = __importStar(require("aws-cdk-lib/aws-logs"));
8
40
  const constructs_1 = require("constructs");
9
41
  const dms_roles_1 = require("./dms-roles");
10
42
  const endpoint_1 = require("./endpoint");
@@ -52,6 +84,30 @@ const table_mappings_1 = require("./table-mappings");
52
84
  * });
53
85
  */
54
86
  class DmsMigrationPipeline extends constructs_1.Construct {
87
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-dms-replication.DmsMigrationPipeline", version: "0.2.3" };
88
+ // ---------------------------------------------------------------------------
89
+ // Instance fields
90
+ // ---------------------------------------------------------------------------
91
+ /** The replication instance provisioned by this pipeline. */
92
+ replicationInstance;
93
+ /** The source endpoint used by this pipeline. */
94
+ source;
95
+ /** The target endpoint used by this pipeline. */
96
+ target;
97
+ /** The replication task that drives the migration. */
98
+ replicationTask;
99
+ /** CloudWatch log group for the task (if enableCloudWatchLogs is true). */
100
+ logGroup;
101
+ /**
102
+ * Construct wrapping the custom resources that created the `dms-cloudwatch-logs-role`.
103
+ * `undefined` when `createDmsServiceRoles` is `false`.
104
+ */
105
+ dmsCloudWatchRole;
106
+ /**
107
+ * Construct wrapping the custom resources that created the `dms-vpc-role`.
108
+ * `undefined` when `createDmsServiceRoles` is `false`.
109
+ */
110
+ dmsVpcRole;
55
111
  constructor(scope, id, props) {
56
112
  super(scope, id);
57
113
  this.validateProps(props);
@@ -214,6 +270,4 @@ class DmsMigrationPipeline extends constructs_1.Construct {
214
270
  }
215
271
  }
216
272
  exports.DmsMigrationPipeline = DmsMigrationPipeline;
217
- _a = JSII_RTTI_SYMBOL_1;
218
- DmsMigrationPipeline[_a] = { fqn: "cdk-dms-replication.DmsMigrationPipeline", version: "0.2.1" };
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21pZ3JhdGlvbi1waXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFtQztBQUduQyw2Q0FBNkM7QUFDN0MsMkNBQXVDO0FBQ3ZDLDJDQUF3RTtBQUN4RSx5Q0FBeUU7QUFDekUsbUNBQWdGO0FBQ2hGLGlFQUFnRTtBQUNoRSx5REFBd0Q7QUFDeEQscURBQWlEO0FBaVBqRCw4RUFBOEU7QUFDOUUsWUFBWTtBQUNaLDhFQUE4RTtBQUU5RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSCxNQUFhLG9CQUFxQixTQUFRLHNCQUFTO0lBZ0NqRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ3ZFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUM7UUFFeEQsMEVBQTBFO1FBQzFFLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUsb0RBQW9EO1FBQ3BELGtFQUFrRTtRQUNsRSwwRUFBMEU7UUFDMUUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsNEJBQWdCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLGtDQUFrQztRQUNsQywwRUFBMEU7UUFDMUUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQztRQUV0RCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtnQkFDdEQsWUFBWSxFQUFFLGtCQUFrQixFQUFFLEVBQUU7Z0JBQ3BDLFNBQVMsRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUztnQkFDN0QsYUFBYTthQUNkLENBQUMsQ0FBQztZQUVILElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLHdFQUF3RTtnQkFDeEUsNEVBQTRFO2dCQUM1RSw4REFBOEQ7Z0JBQzlELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFBLG1DQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdkUsQ0FBQztRQUNILENBQUM7UUFFRCwwRUFBMEU7UUFDMUUsdUJBQXVCO1FBQ3ZCLDBFQUEwRTtRQUMxRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSw2Q0FBc0IsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDakYsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLHdCQUF3QixFQUFFLEtBQUssQ0FBQyx3QkFBd0I7WUFDeEQsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLE1BQU0sRUFBRSxLQUFLLENBQUMsYUFBYTtZQUMzQixhQUFhO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsNkVBQTZFO1FBQzdFLGtEQUFrRDtRQUNsRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLGtCQUFrQjtRQUNsQiwwRUFBMEU7UUFDMUUsSUFBSSxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxjQUFlLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHNCQUFXLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUNwRCxZQUFZLEVBQUUsb0JBQVksQ0FBQyxNQUFNO2dCQUNqQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07Z0JBQ3pCLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxrQkFBa0I7Z0JBQ2pELFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtnQkFDakMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO2dCQUNyQixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7Z0JBQzdCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtnQkFDN0IsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO2dCQUNyQyx5QkFBeUIsRUFBRSxVQUFVLENBQUMseUJBQXlCO2dCQUMvRCxjQUFjLEVBQUUsVUFBVSxDQUFDLGNBQWM7Z0JBQ3pDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztnQkFDM0IsYUFBYSxFQUFFLFVBQVUsQ0FBQyxhQUFhO2dCQUN2QyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsa0JBQWtCO2dCQUNqRCxjQUFjLEVBQUUsVUFBVSxDQUFDLGNBQWM7Z0JBQ3pDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxpQkFBaUI7Z0JBQy9DLGNBQWMsRUFBRSxVQUFVLENBQUMsY0FBYztnQkFDekMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXO2dCQUNuQyxlQUFlLEVBQUUsVUFBVSxDQUFDLGVBQWU7Z0JBQzNDLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtnQkFDakMsYUFBYTthQUNkLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCwwRUFBMEU7UUFDMUUsa0JBQWtCO1FBQ2xCLDBFQUEwRTtRQUMxRSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLHNCQUFzQixDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLGNBQWUsQ0FBQztZQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksc0JBQVcsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ3BELFlBQVksRUFBRSxvQkFBWSxDQUFDLE1BQU07Z0JBQ2pDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtnQkFDakQsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO2dCQUNqQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtnQkFDN0IsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO2dCQUM3QixZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7Z0JBQ3JDLHlCQUF5QixFQUFFLFVBQVUsQ0FBQyx5QkFBeUI7Z0JBQy9ELGNBQWMsRUFBRSxVQUFVLENBQUMsY0FBYztnQkFDekMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO2dCQUMzQixhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWE7Z0JBQ3ZDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxrQkFBa0I7Z0JBQ2pELGNBQWMsRUFBRSxVQUFVLENBQUMsY0FBYztnQkFDekMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLGlCQUFpQjtnQkFDL0MsY0FBYyxFQUFFLFVBQVUsQ0FBQyxjQUFjO2dCQUN6QyxXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVc7Z0JBQ25DLGVBQWUsRUFBRSxVQUFVLENBQUMsZUFBZTtnQkFDM0MsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO2dCQUNqQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO2dCQUM3QyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO2dCQUM3QyxlQUFlLEVBQUUsVUFBVSxDQUFDLGVBQWU7Z0JBQzNDLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYTtnQkFDdkMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtnQkFDakQsZUFBZSxFQUFFLFVBQVUsQ0FBQyxlQUFlO2dCQUMzQyxhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWE7Z0JBQ3ZDLGFBQWE7YUFDZCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLG1EQUFtRDtRQUNuRCwwRUFBMEU7UUFDMUUsTUFBTSxhQUFhLEdBQ2pCLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSw4QkFBYSxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXpFLDBFQUEwRTtRQUMxRSxtQkFBbUI7UUFDbkIsMEVBQTBFO1FBQzFFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxxQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDckUsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQjtZQUN2RSxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDM0IsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQzNCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxhQUFhO1lBQ2IsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxhQUFhO1NBQ2QsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELDhFQUE4RTtJQUM5RSxrQkFBa0I7SUFDbEIsOEVBQThFO0lBRXRFLGFBQWEsQ0FBQyxLQUFnQztRQUNwRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUN6QyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUM7UUFDekQsSUFBSSxTQUFTLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksS0FBSyxDQUNiLHdFQUF3RSxDQUN6RSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0VBQWtFLENBQ25FLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDekMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDO1FBQ3pELElBQUksU0FBUyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FDYix3RUFBd0UsQ0FDekUsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUNiLGtFQUFrRSxDQUNuRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7O0FBck5ILG9EQXNOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZW5zdXJlRG1zQ2xvdWRXYXRjaFJvbGUsIGVuc3VyZURtc1ZwY1JvbGUgfSBmcm9tICcuL2Rtcy1yb2xlcyc7XG5pbXBvcnQgeyBEbXNFbmRwb2ludCwgRG1zRW5kcG9pbnRQcm9wcywgSURtc0VuZHBvaW50IH0gZnJvbSAnLi9lbmRwb2ludCc7XG5pbXBvcnQgeyBFbmRwb2ludFR5cGUsIE1pZ3JhdGlvblR5cGUsIFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcyB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgRG1zUmVwbGljYXRpb25JbnN0YW5jZSB9IGZyb20gJy4vcmVwbGljYXRpb24taW5zdGFuY2UnO1xuaW1wb3J0IHsgRG1zUmVwbGljYXRpb25UYXNrIH0gZnJvbSAnLi9yZXBsaWNhdGlvbi10YXNrJztcbmltcG9ydCB7IFRhYmxlTWFwcGluZ3MgfSBmcm9tICcuL3RhYmxlLW1hcHBpbmdzJztcbmltcG9ydCB7IFRhc2tTZXR0aW5ncyB9IGZyb20gJy4vdGFzay1zZXR0aW5ncyc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJvcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBzb3VyY2UgZW5kcG9pbnQgb2YgYSB7QGxpbmsgRG1zTWlncmF0aW9uUGlwZWxpbmV9LlxuICogRXh0ZW5kcyB7QGxpbmsgRG1zRW5kcG9pbnRQcm9wc30gYnV0IG9taXRzIGBlbmRwb2ludFR5cGVgIChhbHdheXMgU09VUkNFKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VFbmRwb2ludE9wdGlvbnMge1xuICByZWFkb25seSBlbmdpbmU6IERtc0VuZHBvaW50UHJvcHNbJ2VuZ2luZSddO1xuICByZWFkb25seSBlbmRwb2ludElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZlck5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWJhc2UgcGFzc3dvcmQuIFRoZSByZXNvbHZlZCB2YWx1ZSBpcyBzdG9yZWQgYXMgKipwbGFpbnRleHQqKiBpbiB0aGVcbiAgICogQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUuIFByZWZlciBgc2VjcmV0c01hbmFnZXJTZWNyZXRJZGAgaW4gdGhlXG4gICAqIGVuZ2luZS1zcGVjaWZpYyBzZXR0aW5ncyBmb3IgcHJvZHVjdGlvbiB3b3JrbG9hZHMuXG4gICAqL1xuICByZWFkb25seSBwYXNzd29yZD86IGNkay5TZWNyZXRWYWx1ZTtcbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBleHRyYUNvbm5lY3Rpb25BdHRyaWJ1dGVzPzogc3RyaW5nO1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcbiAgcmVhZG9ubHkgc3NsTW9kZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbXlTcWxTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ215U3FsU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcG9zdGdyZVNxbFNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1sncG9zdGdyZVNxbFNldHRpbmdzJ107XG4gIHJlYWRvbmx5IG9yYWNsZVNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snb3JhY2xlU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgc3FsU2VydmVyU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydzcWxTZXJ2ZXJTZXR0aW5ncyddO1xuICByZWFkb25seSBzYXBBc2VTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3NhcEFzZVNldHRpbmdzJ107XG4gIHJlYWRvbmx5IGRiMlNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snZGIyU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgbW9uZ29EYlNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snbW9uZ29EYlNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHMzU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydzM1NldHRpbmdzJ107XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIHRhcmdldCBlbmRwb2ludCBvZiBhIHtAbGluayBEbXNNaWdyYXRpb25QaXBlbGluZX0uXG4gKiBFeHRlbmRzIHtAbGluayBEbXNFbmRwb2ludFByb3BzfSBidXQgb21pdHMgYGVuZHBvaW50VHlwZWAgKGFsd2F5cyBUQVJHRVQpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldEVuZHBvaW50T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGVuZ2luZTogRG1zRW5kcG9pbnRQcm9wc1snZW5naW5lJ107XG4gIHJlYWRvbmx5IGVuZHBvaW50SWRlbnRpZmllcj86IHN0cmluZztcbiAgcmVhZG9ubHkgc2VydmVyTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcbiAgcmVhZG9ubHkgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhYmFzZSBwYXNzd29yZC4gVGhlIHJlc29sdmVkIHZhbHVlIGlzIHN0b3JlZCBhcyAqKnBsYWludGV4dCoqIGluIHRoZVxuICAgKiBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZS4gUHJlZmVyIGBzZWNyZXRzTWFuYWdlclNlY3JldElkYCBpbiB0aGVcbiAgICogZW5naW5lLXNwZWNpZmljIHNldHRpbmdzIGZvciBwcm9kdWN0aW9uIHdvcmtsb2Fkcy5cbiAgICovXG4gIHJlYWRvbmx5IHBhc3N3b3JkPzogY2RrLlNlY3JldFZhbHVlO1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXM/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuICByZWFkb25seSBzc2xNb2RlPzogc3RyaW5nO1xuICByZWFkb25seSBteVNxbFNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snbXlTcWxTZXR0aW5ncyddO1xuICByZWFkb25seSBwb3N0Z3JlU3FsU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydwb3N0Z3JlU3FsU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgb3JhY2xlU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydvcmFjbGVTZXR0aW5ncyddO1xuICByZWFkb25seSBzcWxTZXJ2ZXJTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3NxbFNlcnZlclNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHNhcEFzZVNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snc2FwQXNlU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgZGIyU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydkYjJTZXR0aW5ncyddO1xuICByZWFkb25seSBtb25nb0RiU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydtb25nb0RiU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgczNTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3MzU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgZHluYW1vRGJTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ2R5bmFtb0RiU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcmVkc2hpZnRTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3JlZHNoaWZ0U2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkga2luZXNpc1NldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1sna2luZXNpc1NldHRpbmdzJ107XG4gIHJlYWRvbmx5IGthZmthU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydrYWZrYVNldHRpbmdzJ107XG4gIHJlYWRvbmx5IG9wZW5TZWFyY2hTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ29wZW5TZWFyY2hTZXR0aW5ncyddO1xuICByZWFkb25seSBuZXB0dW5lU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWyduZXB0dW5lU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcmVkaXNTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3JlZGlzU2V0dGluZ3MnXTtcbn1cblxuLyoqIFRvcC1sZXZlbCBwcm9wcyBmb3Ige0BsaW5rIERtc01pZ3JhdGlvblBpcGVsaW5lfS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zTWlncmF0aW9uUGlwZWxpbmVQcm9wcyB7XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUmVwbGljYXRpb24gaW5zdGFuY2VcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBWUEMgaW4gd2hpY2ggdG8gcGxhY2UgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBUaGUgaW5zdGFuY2UgaXMgcGxhY2VkIGluIHByaXZhdGUgc3VibmV0cy5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBzZWxlY3Rpb24gZm9yIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogQGRlZmF1bHQgcHJpdmF0ZSBzdWJuZXRzIHdpdGggZWdyZXNzXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogUmVwbGljYXRpb24gaW5zdGFuY2UgY2xhc3MuXG4gICAqIEBkZWZhdWx0IFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcy5SNklfTEFSR0VcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcz86IFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcztcblxuICAvKipcbiAgICogQWxsb2NhdGVkIHN0b3JhZ2UgZm9yIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpbiBHQi5cbiAgICogQGRlZmF1bHQgMTAwXG4gICAqL1xuICByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpcyBNdWx0aS1BWi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG11bHRpQXo/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmdpbmUgdmVyc2lvbiBmb3IgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBAZGVmYXVsdCBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGUgaW4gdGhlIHJlZ2lvbiAoY2hvc2VuIGJ5IERNUylcbiAgICovXG4gIHJlYWRvbmx5IGVuZ2luZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEtNUyBrZXkgZm9yIGVuY3J5cHRpbmcgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIHN0b3JhZ2UgYXQgcmVzdC5cbiAgICogQSBuZXcga2V5IGlzIGNyZWF0ZWQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRW5kcG9pbnRzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogU291cmNlIGVuZHBvaW50IGNvbmZpZ3VyYXRpb24uXG4gICAqIFByb3ZpZGUgdGhpcyBPUiBgZXhpc3RpbmdTb3VyY2VFbmRwb2ludGAg4oCUIG5vdCBib3RoLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRW5kcG9pbnQ/OiBTb3VyY2VFbmRwb2ludE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFuIGV4aXN0aW5nIHtAbGluayBJRG1zRW5kcG9pbnR9IHRvIHVzZSBhcyB0aGUgc291cmNlLlxuICAgKiBQcm92aWRlIHRoaXMgT1IgYHNvdXJjZUVuZHBvaW50YCDigJQgbm90IGJvdGguXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1NvdXJjZUVuZHBvaW50PzogSURtc0VuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUYXJnZXQgZW5kcG9pbnQgY29uZmlndXJhdGlvbi5cbiAgICogUHJvdmlkZSB0aGlzIE9SIGBleGlzdGluZ1RhcmdldEVuZHBvaW50YCDigJQgbm90IGJvdGguXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRFbmRwb2ludD86IFRhcmdldEVuZHBvaW50T3B0aW9ucztcblxuICAvKipcbiAgICogQW4gZXhpc3Rpbmcge0BsaW5rIElEbXNFbmRwb2ludH0gdG8gdXNlIGFzIHRoZSB0YXJnZXQuXG4gICAqIFByb3ZpZGUgdGhpcyBPUiBgdGFyZ2V0RW5kcG9pbnRgIOKAlCBub3QgYm90aC5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFyZ2V0RW5kcG9pbnQ/OiBJRG1zRW5kcG9pbnQ7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBSZXBsaWNhdGlvbiB0YXNrXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogVGhlIHR5cGUgb2YgbWlncmF0aW9uIHRvIHBlcmZvcm0uICovXG4gIHJlYWRvbmx5IG1pZ3JhdGlvblR5cGU6IE1pZ3JhdGlvblR5cGU7XG5cbiAgLyoqXG4gICAqIFRhYmxlIG1hcHBpbmdzIEpTT04gc3RyaW5nLlxuICAgKiBVc2Uge0BsaW5rIFRhYmxlTWFwcGluZ3N9IHRvIGJ1aWxkIHRoaXMuXG4gICAqIERlZmF1bHRzIHRvIFwiaW5jbHVkZSBhbGwgdGFibGVzIGluIGFsbCBzY2hlbWFzXCIgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVNYXBwaW5ncz86IHN0cmluZztcblxuICAvKipcbiAgICogVGFzayBzZXR0aW5ncyBKU09OIHN0cmluZy5cbiAgICogVXNlIHtAbGluayBUYXNrU2V0dGluZ3N9IHRvIGJ1aWxkIHRoaXMuXG4gICAqIFNlbnNpYmxlIGRlZmF1bHRzIGFyZSBhcHBsaWVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRhc2tTZXR0aW5ncz86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0YXJ0IHRpbWUgKElTTy04NjAxIHN0cmluZyBvciBVbml4IGVwb2NoIHNlY29uZHMpLlxuICAgKiBPbmx5IHVzZWQgd2hlbiBtaWdyYXRpb25UeXBlIGluY2x1ZGVzIENEQy5cbiAgICovXG4gIHJlYWRvbmx5IGNkY1N0YXJ0VGltZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0YXJ0IHBvc2l0aW9uIChMU04gb3IgZXF1aXZhbGVudCkuXG4gICAqIE9ubHkgdXNlZCB3aGVuIG1pZ3JhdGlvblR5cGUgaW5jbHVkZXMgQ0RDLlxuICAgKi9cbiAgcmVhZG9ubHkgY2RjU3RhcnRQb3NpdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0b3AgcG9zaXRpb24uXG4gICAqIE9ubHkgdXNlZCB3aGVuIG1pZ3JhdGlvblR5cGUgaW5jbHVkZXMgQ0RDLlxuICAgKi9cbiAgcmVhZG9ubHkgY2RjU3RvcFBvc2l0aW9uPzogc3RyaW5nO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gT2JzZXJ2YWJpbGl0eVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY3JlYXRlIGEgQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgZm9yIHRoZSB0YXNrLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVDbG91ZFdhdGNoTG9ncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldGVudGlvbiBwZXJpb2QgZm9yIHRoZSBDbG91ZFdhdGNoIGxvZyBncm91cC5cbiAgICogQGRlZmF1bHQgbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogbG9ncy5SZXRlbnRpb25EYXlzO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSUFNIC8gc2VydmljZSByb2xlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY3JlYXRlIHRoZSB0d28gYWNjb3VudC1sZXZlbCBETVMgc2VydmljZSByb2xlcyAoYGRtcy12cGMtcm9sZWBcbiAgICogYW5kIGBkbXMtY2xvdWR3YXRjaC1sb2dzLXJvbGVgKSByZXF1aXJlZCBieSBETVMuXG4gICAqXG4gICAqIFdoZW4gYHRydWVgLCB0aGUgcm9sZXMgYXJlIGNyZWF0ZWQgaWRlbXBvdGVudGx5IHZpYSBhIGN1c3RvbSByZXNvdXJjZTogaWZcbiAgICogZWl0aGVyIHJvbGUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGFjY291bnQgKGNyZWF0ZWQgYnkgYW5vdGhlciBzdGFjayBvclxuICAgKiBtYW51YWxseSksIHRoZSBleGlzdGluZyByb2xlIGlzIHNpbGVudGx5IHJldXNlZCBhbmQgaXRzIHRydXN0IHBvbGljeSBpc1xuICAgKiBjb3JyZWN0ZWQgaWYgbmVjZXNzYXJ5LiBUaGUgcm9sZXMgYXJlIGNyZWF0ZWQgd2l0aCBgUmVtb3ZhbFBvbGljeS5SRVRBSU5gXG4gICAqIGFuZCBhcmUgKipub3QqKiBsaWZlY3ljbGUtbWFuYWdlZCBieSB0aGlzIHN0YWNrIOKAlCB0aGV5IHdpbGwgbm90IGJlIGRlbGV0ZWRcbiAgICogd2hlbiB0aGUgc3RhY2sgaXMgZGVzdHJveWVkLiBJZiB5b3UgcmVxdWlyZSB0aGUgcm9sZXMgdG8gYmVcbiAgICogbGlmZWN5Y2xlLW1hbmFnZWQsIGNyZWF0ZSB0aGVtIGluIGEgZGVkaWNhdGVkIHN0YWNrIGFuZCBzZXQgdGhpcyB0b1xuICAgKiBgZmFsc2VgLCB0aGVuIHBhc3MgY3Jvc3Mtc3RhY2sgcmVmZXJlbmNlcyBhcyBuZWVkZWQuXG4gICAqXG4gICAqIFdoZW4gYGZhbHNlYCwgdGhlIGNvbnN0cnVjdCBleHBlY3RzIHRoZSByb2xlcyB0byBhbHJlYWR5IGJlIHByZXNlbnQgYW5kXG4gICAqIHNraXBzIGNyZWF0aW5nIHRoZW0uIFRoZSBgZG1zVnBjUm9sZWAgYW5kIGBkbXNDbG91ZFdhdGNoUm9sZWAgcHJvcGVydGllc1xuICAgKiB3aWxsIGJlIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVEbXNTZXJ2aWNlUm9sZXM/OiBib29sZWFuO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTGlmZWN5Y2xlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogUmVtb3ZhbCBwb2xpY3kgYXBwbGllZCB0byBhbGwgcmVzb3VyY2VzIGluIHRoZSBwaXBlbGluZS5cbiAgICogQGRlZmF1bHQgY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IGNkay5SZW1vdmFsUG9saWN5O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbnN0cnVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogQW4gTDMgQ0RLIHBhdHRlcm4gY29uc3RydWN0IHRoYXQgcHJvdmlzaW9ucyBhIGNvbXBsZXRlIERNUyBtaWdyYXRpb24gcGlwZWxpbmU6XG4gKlxuICogLSAqKlJlcGxpY2F0aW9uIGluc3RhbmNlKiog4oCUIHBsYWNlZCBpbiBwcml2YXRlIHN1Ym5ldHMgd2l0aCBLTVMgZW5jcnlwdGlvblxuICogICBhbmQgYSBkZWRpY2F0ZWQgc2VjdXJpdHkgZ3JvdXAuXG4gKiAtICoqU291cmNlIGVuZHBvaW50Kiog4oCUIHN1cHBvcnRzIGV2ZXJ5IGVuZ2luZSBETVMgc3VwcG9ydHMuXG4gKiAtICoqVGFyZ2V0IGVuZHBvaW50Kiog4oCUIHN1cHBvcnRzIGV2ZXJ5IGVuZ2luZSBETVMgc3VwcG9ydHMuXG4gKiAtICoqUmVwbGljYXRpb24gdGFzayoqIOKAlCB3aXJlcyB0aGUgaW5zdGFuY2UsIGVuZHBvaW50cywgdGFibGUgbWFwcGluZ3MgYW5kXG4gKiAgIHRhc2sgc2V0dGluZ3MgdG9nZXRoZXIuXG4gKiAtICoqSUFNIHJvbGUqKiDigJQgZ3JhbnRzIERNUyBwZXJtaXNzaW9uIHRvIHdyaXRlIHRvIENsb3VkV2F0Y2ggTG9ncy5cbiAqIC0gKipDbG91ZFdhdGNoIGxvZyBncm91cCoqIOKAlCAob3B0aW9uYWwpIHJldGFpbnMgdGFzayBsb2dzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNeVNRTCDihpIgQXVyb3JhIFBvc3RncmVTUUwsIGZ1bGwtbG9hZC1hbmQtQ0RDXG4gKiBjb25zdCBwaXBlbGluZSA9IG5ldyBEbXNNaWdyYXRpb25QaXBlbGluZSh0aGlzLCAnTWlncmF0aW9uUGlwZWxpbmUnLCB7XG4gKiAgIHZwYyxcbiAqICAgbWlncmF0aW9uVHlwZTogTWlncmF0aW9uVHlwZS5GVUxMX0xPQURfQU5EX0NEQyxcbiAqICAgc291cmNlRW5kcG9pbnQ6IHtcbiAqICAgICBlbmdpbmU6IEVuZHBvaW50RW5naW5lLk1ZU1FMLFxuICogICAgIHNlcnZlck5hbWU6ICdteXNxbC5leGFtcGxlLmNvbScsXG4gKiAgICAgcG9ydDogMzMwNixcbiAqICAgICB1c2VybmFtZTogJ2Rtc191c2VyJyxcbiAqICAgICBwYXNzd29yZDogY2RrLlNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyKCdteXNxbC1kbXMtc2VjcmV0JyksXG4gKiAgICAgZGF0YWJhc2VOYW1lOiAnbXlkYicsXG4gKiAgIH0sXG4gKiAgIHRhcmdldEVuZHBvaW50OiB7XG4gKiAgICAgZW5naW5lOiBFbmRwb2ludEVuZ2luZS5BVVJPUkFfUE9TVEdSRVNRTCxcbiAqICAgICBzZXJ2ZXJOYW1lOiBjbHVzdGVyLmNsdXN0ZXJFbmRwb2ludC5ob3N0bmFtZSxcbiAqICAgICBwb3J0OiA1NDMyLFxuICogICAgIHVzZXJuYW1lOiAnZG1zX3VzZXInLFxuICogICAgIHBhc3N3b3JkOiBjZGsuU2VjcmV0VmFsdWUuc2VjcmV0c01hbmFnZXIoJ2F1cm9yYS1kbXMtc2VjcmV0JyksXG4gKiAgICAgZGF0YWJhc2VOYW1lOiAnbXlkYicsXG4gKiAgIH0sXG4gKiAgIHRhYmxlTWFwcGluZ3M6IG5ldyBUYWJsZU1hcHBpbmdzKCkuaW5jbHVkZVNjaGVtYSgncHVibGljJykudG9Kc29uKCksXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIERtc01pZ3JhdGlvblBpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEluc3RhbmNlIGZpZWxkc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogVGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIHByb3Zpc2lvbmVkIGJ5IHRoaXMgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2U6IERtc1JlcGxpY2F0aW9uSW5zdGFuY2U7XG5cbiAgLyoqIFRoZSBzb3VyY2UgZW5kcG9pbnQgdXNlZCBieSB0aGlzIHBpcGVsaW5lLiAqL1xuICByZWFkb25seSBzb3VyY2U6IElEbXNFbmRwb2ludDtcblxuICAvKiogVGhlIHRhcmdldCBlbmRwb2ludCB1c2VkIGJ5IHRoaXMgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHRhcmdldDogSURtc0VuZHBvaW50O1xuXG4gIC8qKiBUaGUgcmVwbGljYXRpb24gdGFzayB0aGF0IGRyaXZlcyB0aGUgbWlncmF0aW9uLiAqL1xuICByZWFkb25seSByZXBsaWNhdGlvblRhc2s6IERtc1JlcGxpY2F0aW9uVGFzaztcblxuICAvKiogQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgZm9yIHRoZSB0YXNrIChpZiBlbmFibGVDbG91ZFdhdGNoTG9ncyBpcyB0cnVlKS4gKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXA/OiBsb2dzLkxvZ0dyb3VwO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3Qgd3JhcHBpbmcgdGhlIGN1c3RvbSByZXNvdXJjZXMgdGhhdCBjcmVhdGVkIHRoZSBgZG1zLWNsb3Vkd2F0Y2gtbG9ncy1yb2xlYC5cbiAgICogYHVuZGVmaW5lZGAgd2hlbiBgY3JlYXRlRG1zU2VydmljZVJvbGVzYCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgZG1zQ2xvdWRXYXRjaFJvbGU/OiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCB3cmFwcGluZyB0aGUgY3VzdG9tIHJlc291cmNlcyB0aGF0IGNyZWF0ZWQgdGhlIGBkbXMtdnBjLXJvbGVgLlxuICAgKiBgdW5kZWZpbmVkYCB3aGVuIGBjcmVhdGVEbXNTZXJ2aWNlUm9sZXNgIGlzIGBmYWxzZWAuXG4gICAqL1xuICByZWFkb25seSBkbXNWcGNSb2xlPzogQ29uc3RydWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEbXNNaWdyYXRpb25QaXBlbGluZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudmFsaWRhdGVQcm9wcyhwcm9wcyk7XG5cbiAgICBjb25zdCByZW1vdmFsUG9saWN5ID0gcHJvcHMucmVtb3ZhbFBvbGljeSA/PyBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZO1xuICAgIGNvbnN0IGNyZWF0ZVJvbGVzID0gcHJvcHMuY3JlYXRlRG1zU2VydmljZVJvbGVzID8/IHRydWU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIGRtcy12cGMtcm9sZSDigJQgYWNjb3VudC1sZXZlbCBzaW5nbGV0b24gcmVxdWlyZWQgYnkgRE1TIHRvIHBsYWNlXG4gICAgLy8gcmVwbGljYXRpb24gaW5zdGFuY2VzIGluc2lkZSBhIFZQQy4gTXVzdCBleGlzdCBiZWZvcmUgdGhlIGZpcnN0XG4gICAgLy8gQ2ZuUmVwbGljYXRpb25JbnN0YW5jZSBpcyBjcmVhdGVkIGluIHRoZSBhY2NvdW50LlxuICAgIC8vIFNraXAgd2hlbiBjcmVhdGVEbXNTZXJ2aWNlUm9sZXMgaXMgZmFsc2UgKHJvbGVzIGFscmVhZHkgZXhpc3QpLlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgaWYgKGNyZWF0ZVJvbGVzKSB7XG4gICAgICB0aGlzLmRtc1ZwY1JvbGUgPSBlbnN1cmVEbXNWcGNSb2xlKGNkay5TdGFjay5vZih0aGlzKSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBDbG91ZFdhdGNoIGxvZyBncm91cCAmIElBTSByb2xlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBjb25zdCBlbmFibGVMb2dzID0gcHJvcHMuZW5hYmxlQ2xvdWRXYXRjaExvZ3MgPz8gdHJ1ZTtcblxuICAgIGlmIChlbmFibGVMb2dzKSB7XG4gICAgICB0aGlzLmxvZ0dyb3VwID0gbmV3IGxvZ3MuTG9nR3JvdXAodGhpcywgJ1Rhc2tMb2dHcm91cCcsIHtcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBgL2F3cy9kbXMvdGFza3MvJHtpZH1gLFxuICAgICAgICByZXRlbnRpb246IHByb3BzLmxvZ1JldGVudGlvbiA/PyBsb2dzLlJldGVudGlvbkRheXMuT05FX01PTlRILFxuICAgICAgICByZW1vdmFsUG9saWN5LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChjcmVhdGVSb2xlcykge1xuICAgICAgICAvLyBkbXMtY2xvdWR3YXRjaC1sb2dzLXJvbGUgaXMgYW4gYWNjb3VudC1sZXZlbCBzaW5nbGV0b24g4oCUIERNUyByZXF1aXJlc1xuICAgICAgICAvLyB0aGlzIGV4YWN0IG5hbWUuIEd1YXJkIHdpdGggYSBzdGFjay1sZXZlbCBzaW5nbGV0b24gc28gZGVwbG95aW5nIG11bHRpcGxlXG4gICAgICAgIC8vIHBpcGVsaW5lcyBpbiB0aGUgc2FtZSBzdGFjayBkb2Vzbid0IGNyZWF0ZSBkdXBsaWNhdGUgcm9sZXMuXG4gICAgICAgIHRoaXMuZG1zQ2xvdWRXYXRjaFJvbGUgPSBlbnN1cmVEbXNDbG91ZFdhdGNoUm9sZShjZGsuU3RhY2sub2YodGhpcykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUmVwbGljYXRpb24gaW5zdGFuY2VcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIHRoaXMucmVwbGljYXRpb25JbnN0YW5jZSA9IG5ldyBEbXNSZXBsaWNhdGlvbkluc3RhbmNlKHRoaXMsICdSZXBsaWNhdGlvbkluc3RhbmNlJywge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy52cGNTdWJuZXRzLFxuICAgICAgcmVwbGljYXRpb25JbnN0YW5jZUNsYXNzOiBwcm9wcy5yZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MsXG4gICAgICBhbGxvY2F0ZWRTdG9yYWdlOiBwcm9wcy5hbGxvY2F0ZWRTdG9yYWdlLFxuICAgICAgbXVsdGlBejogcHJvcHMubXVsdGlBeixcbiAgICAgIGVuZ2luZVZlcnNpb246IHByb3BzLmVuZ2luZVZlcnNpb24sXG4gICAgICBrbXNLZXk6IHByb3BzLmVuY3J5cHRpb25LZXksXG4gICAgICByZW1vdmFsUG9saWN5LFxuICAgIH0pO1xuICAgIC8vIGRtcy12cGMtcm9sZSBtdXN0IGV4aXN0IGJlZm9yZSBETVMgY2FuIGRlc2NyaWJlIFZQQyBzdWJuZXRzIChzdWJuZXQgZ3JvdXApXG4gICAgLy8gb3IgcGxhY2UgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIGluc2lkZSBhIFZQQy5cbiAgICBpZiAodGhpcy5kbXNWcGNSb2xlKSB7XG4gICAgICB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2Uuc3VibmV0R3JvdXAubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuZG1zVnBjUm9sZSk7XG4gICAgICB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2UuY2ZuUmVwbGljYXRpb25JbnN0YW5jZS5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5kbXNWcGNSb2xlKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNvdXJjZSBlbmRwb2ludFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nU291cmNlRW5kcG9pbnQpIHtcbiAgICAgIHRoaXMuc291cmNlID0gcHJvcHMuZXhpc3RpbmdTb3VyY2VFbmRwb2ludDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc291cmNlT3B0cyA9IHByb3BzLnNvdXJjZUVuZHBvaW50ITtcbiAgICAgIHRoaXMuc291cmNlID0gbmV3IERtc0VuZHBvaW50KHRoaXMsICdTb3VyY2VFbmRwb2ludCcsIHtcbiAgICAgICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGUuU09VUkNFLFxuICAgICAgICBlbmdpbmU6IHNvdXJjZU9wdHMuZW5naW5lLFxuICAgICAgICBlbmRwb2ludElkZW50aWZpZXI6IHNvdXJjZU9wdHMuZW5kcG9pbnRJZGVudGlmaWVyLFxuICAgICAgICBzZXJ2ZXJOYW1lOiBzb3VyY2VPcHRzLnNlcnZlck5hbWUsXG4gICAgICAgIHBvcnQ6IHNvdXJjZU9wdHMucG9ydCxcbiAgICAgICAgdXNlcm5hbWU6IHNvdXJjZU9wdHMudXNlcm5hbWUsXG4gICAgICAgIHBhc3N3b3JkOiBzb3VyY2VPcHRzLnBhc3N3b3JkLFxuICAgICAgICBkYXRhYmFzZU5hbWU6IHNvdXJjZU9wdHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBleHRyYUNvbm5lY3Rpb25BdHRyaWJ1dGVzOiBzb3VyY2VPcHRzLmV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXMsXG4gICAgICAgIGNlcnRpZmljYXRlQXJuOiBzb3VyY2VPcHRzLmNlcnRpZmljYXRlQXJuLFxuICAgICAgICBzc2xNb2RlOiBzb3VyY2VPcHRzLnNzbE1vZGUsXG4gICAgICAgIG15U3FsU2V0dGluZ3M6IHNvdXJjZU9wdHMubXlTcWxTZXR0aW5ncyxcbiAgICAgICAgcG9zdGdyZVNxbFNldHRpbmdzOiBzb3VyY2VPcHRzLnBvc3RncmVTcWxTZXR0aW5ncyxcbiAgICAgICAgb3JhY2xlU2V0dGluZ3M6IHNvdXJjZU9wdHMub3JhY2xlU2V0dGluZ3MsXG4gICAgICAgIHNxbFNlcnZlclNldHRpbmdzOiBzb3VyY2VPcHRzLnNxbFNlcnZlclNldHRpbmdzLFxuICAgICAgICBzYXBBc2VTZXR0aW5nczogc291cmNlT3B0cy5zYXBBc2VTZXR0aW5ncyxcbiAgICAgICAgZGIyU2V0dGluZ3M6IHNvdXJjZU9wdHMuZGIyU2V0dGluZ3MsXG4gICAgICAgIG1vbmdvRGJTZXR0aW5nczogc291cmNlT3B0cy5tb25nb0RiU2V0dGluZ3MsXG4gICAgICAgIHMzU2V0dGluZ3M6IHNvdXJjZU9wdHMuczNTZXR0aW5ncyxcbiAgICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gVGFyZ2V0IGVuZHBvaW50XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBpZiAocHJvcHMuZXhpc3RpbmdUYXJnZXRFbmRwb2ludCkge1xuICAgICAgdGhpcy50YXJnZXQgPSBwcm9wcy5leGlzdGluZ1RhcmdldEVuZHBvaW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0YXJnZXRPcHRzID0gcHJvcHMudGFyZ2V0RW5kcG9pbnQhO1xuICAgICAgdGhpcy50YXJnZXQgPSBuZXcgRG1zRW5kcG9pbnQodGhpcywgJ1RhcmdldEVuZHBvaW50Jywge1xuICAgICAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZS5UQVJHRVQsXG4gICAgICAgIGVuZ2luZTogdGFyZ2V0T3B0cy5lbmdpbmUsXG4gICAgICAgIGVuZHBvaW50SWRlbnRpZmllcjogdGFyZ2V0T3B0cy5lbmRwb2ludElkZW50aWZpZXIsXG4gICAgICAgIHNlcnZlck5hbWU6IHRhcmdldE9wdHMuc2VydmVyTmFtZSxcbiAgICAgICAgcG9ydDogdGFyZ2V0T3B0cy5wb3J0LFxuICAgICAgICB1c2VybmFtZTogdGFyZ2V0T3B0cy51c2VybmFtZSxcbiAgICAgICAgcGFzc3dvcmQ6IHRhcmdldE9wdHMucGFzc3dvcmQsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogdGFyZ2V0T3B0cy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIGV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXM6IHRhcmdldE9wdHMuZXh0cmFDb25uZWN0aW9uQXR0cmlidXRlcyxcbiAgICAgICAgY2VydGlmaWNhdGVBcm46IHRhcmdldE9wdHMuY2VydGlmaWNhdGVBcm4sXG4gICAgICAgIHNzbE1vZGU6IHRhcmdldE9wdHMuc3NsTW9kZSxcbiAgICAgICAgbXlTcWxTZXR0aW5nczogdGFyZ2V0T3B0cy5teVNxbFNldHRpbmdzLFxuICAgICAgICBwb3N0Z3JlU3FsU2V0dGluZ3M6IHRhcmdldE9wdHMucG9zdGdyZVNxbFNldHRpbmdzLFxuICAgICAgICBvcmFjbGVTZXR0aW5nczogdGFyZ2V0T3B0cy5vcmFjbGVTZXR0aW5ncyxcbiAgICAgICAgc3FsU2VydmVyU2V0dGluZ3M6IHRhcmdldE9wdHMuc3FsU2VydmVyU2V0dGluZ3MsXG4gICAgICAgIHNhcEFzZVNldHRpbmdzOiB0YXJnZXRPcHRzLnNhcEFzZVNldHRpbmdzLFxuICAgICAgICBkYjJTZXR0aW5nczogdGFyZ2V0T3B0cy5kYjJTZXR0aW5ncyxcbiAgICAgICAgbW9uZ29EYlNldHRpbmdzOiB0YXJnZXRPcHRzLm1vbmdvRGJTZXR0aW5ncyxcbiAgICAgICAgczNTZXR0aW5nczogdGFyZ2V0T3B0cy5zM1NldHRpbmdzLFxuICAgICAgICBkeW5hbW9EYlNldHRpbmdzOiB0YXJnZXRPcHRzLmR5bmFtb0RiU2V0dGluZ3MsXG4gICAgICAgIHJlZHNoaWZ0U2V0dGluZ3M6IHRhcmdldE9wdHMucmVkc2hpZnRTZXR0aW5ncyxcbiAgICAgICAga2luZXNpc1NldHRpbmdzOiB0YXJnZXRPcHRzLmtpbmVzaXNTZXR0aW5ncyxcbiAgICAgICAga2Fma2FTZXR0aW5nczogdGFyZ2V0T3B0cy5rYWZrYVNldHRpbmdzLFxuICAgICAgICBvcGVuU2VhcmNoU2V0dGluZ3M6IHRhcmdldE9wdHMub3BlblNlYXJjaFNldHRpbmdzLFxuICAgICAgICBuZXB0dW5lU2V0dGluZ3M6IHRhcmdldE9wdHMubmVwdHVuZVNldHRpbmdzLFxuICAgICAgICByZWRpc1NldHRpbmdzOiB0YXJnZXRPcHRzLnJlZGlzU2V0dGluZ3MsXG4gICAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFRhYmxlIG1hcHBpbmdzIOKAlCBkZWZhdWx0IHRvIFwiaW5jbHVkZSBldmVyeXRoaW5nXCJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGNvbnN0IHRhYmxlTWFwcGluZ3MgPVxuICAgICAgcHJvcHMudGFibGVNYXBwaW5ncyA/PyBuZXcgVGFibGVNYXBwaW5ncygpLmluY2x1ZGVTY2hlbWEoJyUnKS50b0pzb24oKTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUmVwbGljYXRpb24gdGFza1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgdGhpcy5yZXBsaWNhdGlvblRhc2sgPSBuZXcgRG1zUmVwbGljYXRpb25UYXNrKHRoaXMsICdSZXBsaWNhdGlvblRhc2snLCB7XG4gICAgICByZXBsaWNhdGlvbkluc3RhbmNlQXJuOiB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2UucmVwbGljYXRpb25JbnN0YW5jZUFybixcbiAgICAgIHNvdXJjZUVuZHBvaW50OiB0aGlzLnNvdXJjZSxcbiAgICAgIHRhcmdldEVuZHBvaW50OiB0aGlzLnRhcmdldCxcbiAgICAgIG1pZ3JhdGlvblR5cGU6IHByb3BzLm1pZ3JhdGlvblR5cGUsXG4gICAgICB0YWJsZU1hcHBpbmdzLFxuICAgICAgdGFza1NldHRpbmdzOiBwcm9wcy50YXNrU2V0dGluZ3MsXG4gICAgICBjZGNTdGFydFRpbWU6IHByb3BzLmNkY1N0YXJ0VGltZSxcbiAgICAgIGNkY1N0YXJ0UG9zaXRpb246IHByb3BzLmNkY1N0YXJ0UG9zaXRpb24sXG4gICAgICBjZGNTdG9wUG9zaXRpb246IHByb3BzLmNkY1N0b3BQb3NpdGlvbixcbiAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgfSk7XG5cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQcml2YXRlIGhlbHBlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVByb3BzKHByb3BzOiBEbXNNaWdyYXRpb25QaXBlbGluZVByb3BzKTogdm9pZCB7XG4gICAgY29uc3QgaGFzU291cmNlID0gISFwcm9wcy5zb3VyY2VFbmRwb2ludDtcbiAgICBjb25zdCBoYXNFeGlzdGluZ1NvdXJjZSA9ICEhcHJvcHMuZXhpc3RpbmdTb3VyY2VFbmRwb2ludDtcbiAgICBpZiAoaGFzU291cmNlICYmIGhhc0V4aXN0aW5nU291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdQcm92aWRlIGVpdGhlciBgc291cmNlRW5kcG9pbnRgIG9yIGBleGlzdGluZ1NvdXJjZUVuZHBvaW50YCwgbm90IGJvdGguJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghaGFzU291cmNlICYmICFoYXNFeGlzdGluZ1NvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnT25lIG9mIGBzb3VyY2VFbmRwb2ludGAgb3IgYGV4aXN0aW5nU291cmNlRW5kcG9pbnRgIGlzIHJlcXVpcmVkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc1RhcmdldCA9ICEhcHJvcHMudGFyZ2V0RW5kcG9pbnQ7XG4gICAgY29uc3QgaGFzRXhpc3RpbmdUYXJnZXQgPSAhIXByb3BzLmV4aXN0aW5nVGFyZ2V0RW5kcG9pbnQ7XG4gICAgaWYgKGhhc1RhcmdldCAmJiBoYXNFeGlzdGluZ1RhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnUHJvdmlkZSBlaXRoZXIgYHRhcmdldEVuZHBvaW50YCBvciBgZXhpc3RpbmdUYXJnZXRFbmRwb2ludGAsIG5vdCBib3RoLicsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWhhc1RhcmdldCAmJiAhaGFzRXhpc3RpbmdUYXJnZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ09uZSBvZiBgdGFyZ2V0RW5kcG9pbnRgIG9yIGBleGlzdGluZ1RhcmdldEVuZHBvaW50YCBpcyByZXF1aXJlZC4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21pZ3JhdGlvbi1waXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQW1DO0FBR25DLDJEQUE2QztBQUM3QywyQ0FBdUM7QUFDdkMsMkNBQXdFO0FBQ3hFLHlDQUF5RTtBQUN6RSxtQ0FBZ0Y7QUFDaEYsaUVBQWdFO0FBQ2hFLHlEQUF3RDtBQUN4RCxxREFBaUQ7QUFpUGpELDhFQUE4RTtBQUM5RSxZQUFZO0FBQ1osOEVBQThFO0FBRTlFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsc0JBQVM7O0lBQ2pELDhFQUE4RTtJQUM5RSxrQkFBa0I7SUFDbEIsOEVBQThFO0lBRTlFLDZEQUE2RDtJQUNwRCxtQkFBbUIsQ0FBeUI7SUFFckQsaURBQWlEO0lBQ3hDLE1BQU0sQ0FBZTtJQUU5QixpREFBaUQ7SUFDeEMsTUFBTSxDQUFlO0lBRTlCLHNEQUFzRDtJQUM3QyxlQUFlLENBQXFCO0lBRTdDLDJFQUEyRTtJQUNsRSxRQUFRLENBQWlCO0lBRWxDOzs7T0FHRztJQUNNLGlCQUFpQixDQUFhO0lBRXZDOzs7T0FHRztJQUNNLFVBQVUsQ0FBYTtJQUVoQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ3ZFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUM7UUFFeEQsMEVBQTBFO1FBQzFF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QUNyQyxNQUFNLElBQUksS0FBSyxDQUNiLGtFQUFrRSxDQUNuRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7O0FBck5ILG9EQXNOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZW5zdXJlRG1zQ2xvdWRXYXRjaFJvbGUsIGVuc3VyZURtc1ZwY1JvbGUgfSBmcm9tICcuL2Rtcy1yb2xlcyc7XG5pbXBvcnQgeyBEbXNFbmRwb2ludCwgRG1zRW5kcG9pbnRQcm9wcywgSURtc0VuZHBvaW50IH0gZnJvbSAnLi9lbmRwb2ludCc7XG5pbXBvcnQgeyBFbmRwb2ludFR5cGUsIE1pZ3JhdGlvblR5cGUsIFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcyB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgRG1zUmVwbGljYXRpb25JbnN0YW5jZSB9IGZyb20gJy4vcmVwbGljYXRpb24taW5zdGFuY2UnO1xuaW1wb3J0IHsgRG1zUmVwbGljYXRpb25UYXNrIH0gZnJvbSAnLi9yZXBsaWNhdGlvbi10YXNrJztcbmltcG9ydCB7IFRhYmxlTWFwcGluZ3MgfSBmcm9tICcuL3RhYmxlLW1hcHBpbmdzJztcbmltcG9ydCB7IFRhc2tTZXR0aW5ncyB9IGZyb20gJy4vdGFzay1zZXR0aW5ncyc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJvcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBzb3VyY2UgZW5kcG9pbnQgb2YgYSB7QGxpbmsgRG1zTWlncmF0aW9uUGlwZWxpbmV9LlxuICogRXh0ZW5kcyB7QGxpbmsgRG1zRW5kcG9pbnRQcm9wc30gYnV0IG9taXRzIGBlbmRwb2ludFR5cGVgIChhbHdheXMgU09VUkNFKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VFbmRwb2ludE9wdGlvbnMge1xuICByZWFkb25seSBlbmdpbmU6IERtc0VuZHBvaW50UHJvcHNbJ2VuZ2luZSddO1xuICByZWFkb25seSBlbmRwb2ludElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZlck5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWJhc2UgcGFzc3dvcmQuIFRoZSByZXNvbHZlZCB2YWx1ZSBpcyBzdG9yZWQgYXMgKipwbGFpbnRleHQqKiBpbiB0aGVcbiAgICogQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUuIFByZWZlciBgc2VjcmV0c01hbmFnZXJTZWNyZXRJZGAgaW4gdGhlXG4gICAqIGVuZ2luZS1zcGVjaWZpYyBzZXR0aW5ncyBmb3IgcHJvZHVjdGlvbiB3b3JrbG9hZHMuXG4gICAqL1xuICByZWFkb25seSBwYXNzd29yZD86IGNkay5TZWNyZXRWYWx1ZTtcbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBleHRyYUNvbm5lY3Rpb25BdHRyaWJ1dGVzPzogc3RyaW5nO1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcbiAgcmVhZG9ubHkgc3NsTW9kZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbXlTcWxTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ215U3FsU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcG9zdGdyZVNxbFNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1sncG9zdGdyZVNxbFNldHRpbmdzJ107XG4gIHJlYWRvbmx5IG9yYWNsZVNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snb3JhY2xlU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgc3FsU2VydmVyU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydzcWxTZXJ2ZXJTZXR0aW5ncyddO1xuICByZWFkb25seSBzYXBBc2VTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3NhcEFzZVNldHRpbmdzJ107XG4gIHJlYWRvbmx5IGRiMlNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snZGIyU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgbW9uZ29EYlNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snbW9uZ29EYlNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHMzU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydzM1NldHRpbmdzJ107XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIHRhcmdldCBlbmRwb2ludCBvZiBhIHtAbGluayBEbXNNaWdyYXRpb25QaXBlbGluZX0uXG4gKiBFeHRlbmRzIHtAbGluayBEbXNFbmRwb2ludFByb3BzfSBidXQgb21pdHMgYGVuZHBvaW50VHlwZWAgKGFsd2F5cyBUQVJHRVQpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldEVuZHBvaW50T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGVuZ2luZTogRG1zRW5kcG9pbnRQcm9wc1snZW5naW5lJ107XG4gIHJlYWRvbmx5IGVuZHBvaW50SWRlbnRpZmllcj86IHN0cmluZztcbiAgcmVhZG9ubHkgc2VydmVyTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcbiAgcmVhZG9ubHkgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhYmFzZSBwYXNzd29yZC4gVGhlIHJlc29sdmVkIHZhbHVlIGlzIHN0b3JlZCBhcyAqKnBsYWludGV4dCoqIGluIHRoZVxuICAgKiBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZS4gUHJlZmVyIGBzZWNyZXRzTWFuYWdlclNlY3JldElkYCBpbiB0aGVcbiAgICogZW5naW5lLXNwZWNpZmljIHNldHRpbmdzIGZvciBwcm9kdWN0aW9uIHdvcmtsb2Fkcy5cbiAgICovXG4gIHJlYWRvbmx5IHBhc3N3b3JkPzogY2RrLlNlY3JldFZhbHVlO1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXM/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuICByZWFkb25seSBzc2xNb2RlPzogc3RyaW5nO1xuICByZWFkb25seSBteVNxbFNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snbXlTcWxTZXR0aW5ncyddO1xuICByZWFkb25seSBwb3N0Z3JlU3FsU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydwb3N0Z3JlU3FsU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgb3JhY2xlU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydvcmFjbGVTZXR0aW5ncyddO1xuICByZWFkb25seSBzcWxTZXJ2ZXJTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3NxbFNlcnZlclNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHNhcEFzZVNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snc2FwQXNlU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgZGIyU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydkYjJTZXR0aW5ncyddO1xuICByZWFkb25seSBtb25nb0RiU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydtb25nb0RiU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgczNTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3MzU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgZHluYW1vRGJTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ2R5bmFtb0RiU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcmVkc2hpZnRTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3JlZHNoaWZ0U2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkga2luZXNpc1NldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1sna2luZXNpc1NldHRpbmdzJ107XG4gIHJlYWRvbmx5IGthZmthU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydrYWZrYVNldHRpbmdzJ107XG4gIHJlYWRvbmx5IG9wZW5TZWFyY2hTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ29wZW5TZWFyY2hTZXR0aW5ncyddO1xuICByZWFkb25seSBuZXB0dW5lU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWyduZXB0dW5lU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcmVkaXNTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3JlZGlzU2V0dGluZ3MnXTtcbn1cblxuLyoqIFRvcC1sZXZlbCBwcm9wcyBmb3Ige0BsaW5rIERtc01pZ3JhdGlvblBpcGVsaW5lfS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zTWlncmF0aW9uUGlwZWxpbmVQcm9wcyB7XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUmVwbGljYXRpb24gaW5zdGFuY2VcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBWUEMgaW4gd2hpY2ggdG8gcGxhY2UgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBUaGUgaW5zdGFuY2UgaXMgcGxhY2VkIGluIHByaXZhdGUgc3VibmV0cy5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBzZWxlY3Rpb24gZm9yIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogQGRlZmF1bHQgcHJpdmF0ZSBzdWJuZXRzIHdpdGggZWdyZXNzXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogUmVwbGljYXRpb24gaW5zdGFuY2UgY2xhc3MuXG4gICAqIEBkZWZhdWx0IFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcy5SNklfTEFSR0VcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcz86IFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcztcblxuICAvKipcbiAgICogQWxsb2NhdGVkIHN0b3JhZ2UgZm9yIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpbiBHQi5cbiAgICogQGRlZmF1bHQgMTAwXG4gICAqL1xuICByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpcyBNdWx0aS1BWi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG11bHRpQXo/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmdpbmUgdmVyc2lvbiBmb3IgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBAZGVmYXVsdCBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGUgaW4gdGhlIHJlZ2lvbiAoY2hvc2VuIGJ5IERNUylcbiAgICovXG4gIHJlYWRvbmx5IGVuZ2luZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEtNUyBrZXkgZm9yIGVuY3J5cHRpbmcgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIHN0b3JhZ2UgYXQgcmVzdC5cbiAgICogQSBuZXcga2V5IGlzIGNyZWF0ZWQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRW5kcG9pbnRzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogU291cmNlIGVuZHBvaW50IGNvbmZpZ3VyYXRpb24uXG4gICAqIFByb3ZpZGUgdGhpcyBPUiBgZXhpc3RpbmdTb3VyY2VFbmRwb2ludGAg4oCUIG5vdCBib3RoLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRW5kcG9pbnQ/OiBTb3VyY2VFbmRwb2ludE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFuIGV4aXN0aW5nIHtAbGluayBJRG1zRW5kcG9pbnR9IHRvIHVzZSBhcyB0aGUgc291cmNlLlxuICAgKiBQcm92aWRlIHRoaXMgT1IgYHNvdXJjZUVuZHBvaW50YCDigJQgbm90IGJvdGguXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1NvdXJjZUVuZHBvaW50PzogSURtc0VuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUYXJnZXQgZW5kcG9pbnQgY29uZmlndXJhdGlvbi5cbiAgICogUHJvdmlkZSB0aGlzIE9SIGBleGlzdGluZ1RhcmdldEVuZHBvaW50YCDigJQgbm90IGJvdGguXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRFbmRwb2ludD86IFRhcmdldEVuZHBvaW50T3B0aW9ucztcblxuICAvKipcbiAgICogQW4gZXhpc3Rpbmcge0BsaW5rIElEbXNFbmRwb2ludH0gdG8gdXNlIGFzIHRoZSB0YXJnZXQuXG4gICAqIFByb3ZpZGUgdGhpcyBPUiBgdGFyZ2V0RW5kcG9pbnRgIOKAlCBub3QgYm90aC5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFyZ2V0RW5kcG9pbnQ/OiBJRG1zRW5kcG9pbnQ7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBSZXBsaWNhdGlvbiB0YXNrXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogVGhlIHR5cGUgb2YgbWlncmF0aW9uIHRvIHBlcmZvcm0uICovXG4gIHJlYWRvbmx5IG1pZ3JhdGlvblR5cGU6IE1pZ3JhdGlvblR5cGU7XG5cbiAgLyoqXG4gICAqIFRhYmxlIG1hcHBpbmdzIEpTT04gc3RyaW5nLlxuICAgKiBVc2Uge0BsaW5rIFRhYmxlTWFwcGluZ3N9IHRvIGJ1aWxkIHRoaXMuXG4gICAqIERlZmF1bHRzIHRvIFwiaW5jbHVkZSBhbGwgdGFibGVzIGluIGFsbCBzY2hlbWFzXCIgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVNYXBwaW5ncz86IHN0cmluZztcblxuICAvKipcbiAgICogVGFzayBzZXR0aW5ncyBKU09OIHN0cmluZy5cbiAgICogVXNlIHtAbGluayBUYXNrU2V0dGluZ3N9IHRvIGJ1aWxkIHRoaXMuXG4gICAqIFNlbnNpYmxlIGRlZmF1bHRzIGFyZSBhcHBsaWVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRhc2tTZXR0aW5ncz86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0YXJ0IHRpbWUgKElTTy04NjAxIHN0cmluZyBvciBVbml4IGVwb2NoIHNlY29uZHMpLlxuICAgKiBPbmx5IHVzZWQgd2hlbiBtaWdyYXRpb25UeXBlIGluY2x1ZGVzIENEQy5cbiAgICovXG4gIHJlYWRvbmx5IGNkY1N0YXJ0VGltZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0YXJ0IHBvc2l0aW9uIChMU04gb3IgZXF1aXZhbGVudCkuXG4gICAqIE9ubHkgdXNlZCB3aGVuIG1pZ3JhdGlvblR5cGUgaW5jbHVkZXMgQ0RDLlxuICAgKi9cbiAgcmVhZG9ubHkgY2RjU3RhcnRQb3NpdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0b3AgcG9zaXRpb24uXG4gICAqIE9ubHkgdXNlZCB3aGVuIG1pZ3JhdGlvblR5cGUgaW5jbHVkZXMgQ0RDLlxuICAgKi9cbiAgcmVhZG9ubHkgY2RjU3RvcFBvc2l0aW9uPzogc3RyaW5nO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gT2JzZXJ2YWJpbGl0eVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY3JlYXRlIGEgQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgZm9yIHRoZSB0YXNrLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVDbG91ZFdhdGNoTG9ncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldGVudGlvbiBwZXJpb2QgZm9yIHRoZSBDbG91ZFdhdGNoIGxvZyBncm91cC5cbiAgICogQGRlZmF1bHQgbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogbG9ncy5SZXRlbnRpb25EYXlzO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSUFNIC8gc2VydmljZSByb2xlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY3JlYXRlIHRoZSB0d28gYWNjb3VudC1sZXZlbCBETVMgc2VydmljZSByb2xlcyAoYGRtcy12cGMtcm9sZWBcbiAgICogYW5kIGBkbXMtY2xvdWR3YXRjaC1sb2dzLXJvbGVgKSByZXF1aXJlZCBieSBETVMuXG4gICAqXG4gICAqIFdoZW4gYHRydWVgLCB0aGUgcm9sZXMgYXJlIGNyZWF0ZWQgaWRlbXBvdGVudGx5IHZpYSBhIGN1c3RvbSByZXNvdXJjZTogaWZcbiAgICogZWl0aGVyIHJvbGUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGFjY291bnQgKGNyZWF0ZWQgYnkgYW5vdGhlciBzdGFjayBvclxuICAgKiBtYW51YWxseSksIHRoZSBleGlzdGluZyByb2xlIGlzIHNpbGVudGx5IHJldXNlZCBhbmQgaXRzIHRydXN0IHBvbGljeSBpc1xuICAgKiBjb3JyZWN0ZWQgaWYgbmVjZXNzYXJ5LiBUaGUgcm9sZXMgYXJlIGNyZWF0ZWQgd2l0aCBgUmVtb3ZhbFBvbGljeS5SRVRBSU5gXG4gICAqIGFuZCBhcmUgKipub3QqKiBsaWZlY3ljbGUtbWFuYWdlZCBieSB0aGlzIHN0YWNrIOKAlCB0aGV5IHdpbGwgbm90IGJlIGRlbGV0ZWRcbiAgICogd2hlbiB0aGUgc3RhY2sgaXMgZGVzdHJveWVkLiBJZiB5b3UgcmVxdWlyZSB0aGUgcm9sZXMgdG8gYmVcbiAgICogbGlmZWN5Y2xlLW1hbmFnZWQsIGNyZWF0ZSB0aGVtIGluIGEgZGVkaWNhdGVkIHN0YWNrIGFuZCBzZXQgdGhpcyB0b1xuICAgKiBgZmFsc2VgLCB0aGVuIHBhc3MgY3Jvc3Mtc3RhY2sgcmVmZXJlbmNlcyBhcyBuZWVkZWQuXG4gICAqXG4gICAqIFdoZW4gYGZhbHNlYCwgdGhlIGNvbnN0cnVjdCBleHBlY3RzIHRoZSByb2xlcyB0byBhbHJlYWR5IGJlIHByZXNlbnQgYW5kXG4gICAqIHNraXBzIGNyZWF0aW5nIHRoZW0uIFRoZSBgZG1zVnBjUm9sZWAgYW5kIGBkbXNDbG91ZFdhdGNoUm9sZWAgcHJvcGVydGllc1xuICAgKiB3aWxsIGJlIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVEbXNTZXJ2aWNlUm9sZXM/OiBib29sZWFuO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTGlmZWN5Y2xlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogUmVtb3ZhbCBwb2xpY3kgYXBwbGllZCB0byBhbGwgcmVzb3VyY2VzIGluIHRoZSBwaXBlbGluZS5cbiAgICogQGRlZmF1bHQgY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IGNkay5SZW1vdmFsUG9saWN5O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbnN0cnVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogQW4gTDMgQ0RLIHBhdHRlcm4gY29uc3RydWN0IHRoYXQgcHJvdmlzaW9ucyBhIGNvbXBsZXRlIERNUyBtaWdyYXRpb24gcGlwZWxpbmU6XG4gKlxuICogLSAqKlJlcGxpY2F0aW9uIGluc3RhbmNlKiog4oCUIHBsYWNlZCBpbiBwcml2YXRlIHN1Ym5ldHMgd2l0aCBLTVMgZW5jcnlwdGlvblxuICogICBhbmQgYSBkZWRpY2F0ZWQgc2VjdXJpdHkgZ3JvdXAuXG4gKiAtICoqU291cmNlIGVuZHBvaW50Kiog4oCUIHN1cHBvcnRzIGV2ZXJ5IGVuZ2luZSBETVMgc3VwcG9ydHMuXG4gKiAtICoqVGFyZ2V0IGVuZHBvaW50Kiog4oCUIHN1cHBvcnRzIGV2ZXJ5IGVuZ2luZSBETVMgc3VwcG9ydHMuXG4gKiAtICoqUmVwbGljYXRpb24gdGFzayoqIOKAlCB3aXJlcyB0aGUgaW5zdGFuY2UsIGVuZHBvaW50cywgdGFibGUgbWFwcGluZ3MgYW5kXG4gKiAgIHRhc2sgc2V0dGluZ3MgdG9nZXRoZXIuXG4gKiAtICoqSUFNIHJvbGUqKiDigJQgZ3JhbnRzIERNUyBwZXJtaXNzaW9uIHRvIHdyaXRlIHRvIENsb3VkV2F0Y2ggTG9ncy5cbiAqIC0gKipDbG91ZFdhdGNoIGxvZyBncm91cCoqIOKAlCAob3B0aW9uYWwpIHJldGFpbnMgdGFzayBsb2dzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNeVNRTCDihpIgQXVyb3JhIFBvc3RncmVTUUwsIGZ1bGwtbG9hZC1hbmQtQ0RDXG4gKiBjb25zdCBwaXBlbGluZSA9IG5ldyBEbXNNaWdyYXRpb25QaXBlbGluZSh0aGlzLCAnTWlncmF0aW9uUGlwZWxpbmUnLCB7XG4gKiAgIHZwYyxcbiAqICAgbWlncmF0aW9uVHlwZTogTWlncmF0aW9uVHlwZS5GVUxMX0xPQURfQU5EX0NEQyxcbiAqICAgc291cmNlRW5kcG9pbnQ6IHtcbiAqICAgICBlbmdpbmU6IEVuZHBvaW50RW5naW5lLk1ZU1FMLFxuICogICAgIHNlcnZlck5hbWU6ICdteXNxbC5leGFtcGxlLmNvbScsXG4gKiAgICAgcG9ydDogMzMwNixcbiAqICAgICB1c2VybmFtZTogJ2Rtc191c2VyJyxcbiAqICAgICBwYXNzd29yZDogY2RrLlNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyKCdteXNxbC1kbXMtc2VjcmV0JyksXG4gKiAgICAgZGF0YWJhc2VOYW1lOiAnbXlkYicsXG4gKiAgIH0sXG4gKiAgIHRhcmdldEVuZHBvaW50OiB7XG4gKiAgICAgZW5naW5lOiBFbmRwb2ludEVuZ2luZS5BVVJPUkFfUE9TVEdSRVNRTCxcbiAqICAgICBzZXJ2ZXJOYW1lOiBjbHVzdGVyLmNsdXN0ZXJFbmRwb2ludC5ob3N0bmFtZSxcbiAqICAgICBwb3J0OiA1NDMyLFxuICogICAgIHVzZXJuYW1lOiAnZG1zX3VzZXInLFxuICogICAgIHBhc3N3b3JkOiBjZGsuU2VjcmV0VmFsdWUuc2VjcmV0c01hbmFnZXIoJ2F1cm9yYS1kbXMtc2VjcmV0JyksXG4gKiAgICAgZGF0YWJhc2VOYW1lOiAnbXlkYicsXG4gKiAgIH0sXG4gKiAgIHRhYmxlTWFwcGluZ3M6IG5ldyBUYWJsZU1hcHBpbmdzKCkuaW5jbHVkZVNjaGVtYSgncHVibGljJykudG9Kc29uKCksXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIERtc01pZ3JhdGlvblBpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEluc3RhbmNlIGZpZWxkc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogVGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIHByb3Zpc2lvbmVkIGJ5IHRoaXMgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2U6IERtc1JlcGxpY2F0aW9uSW5zdGFuY2U7XG5cbiAgLyoqIFRoZSBzb3VyY2UgZW5kcG9pbnQgdXNlZCBieSB0aGlzIHBpcGVsaW5lLiAqL1xuICByZWFkb25seSBzb3VyY2U6IElEbXNFbmRwb2ludDtcblxuICAvKiogVGhlIHRhcmdldCBlbmRwb2ludCB1c2VkIGJ5IHRoaXMgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHRhcmdldDogSURtc0VuZHBvaW50O1xuXG4gIC8qKiBUaGUgcmVwbGljYXRpb24gdGFzayB0aGF0IGRyaXZlcyB0aGUgbWlncmF0aW9uLiAqL1xuICByZWFkb25seSByZXBsaWNhdGlvblRhc2s6IERtc1JlcGxpY2F0aW9uVGFzaztcblxuICAvKiogQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgZm9yIHRoZSB0YXNrIChpZiBlbmFibGVDbG91ZFdhdGNoTG9ncyBpcyB0cnVlKS4gKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXA/OiBsb2dzLkxvZ0dyb3VwO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3Qgd3JhcHBpbmcgdGhlIGN1c3RvbSByZXNvdXJjZXMgdGhhdCBjcmVhdGVkIHRoZSBgZG1zLWNsb3Vkd2F0Y2gtbG9ncy1yb2xlYC5cbiAgICogYHVuZGVmaW5lZGAgd2hlbiBgY3JlYXRlRG1zU2VydmljZVJvbGVzYCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgZG1zQ2xvdWRXYXRjaFJvbGU/OiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCB3cmFwcGluZyB0aGUgY3VzdG9tIHJlc291cmNlcyB0aGF0IGNyZWF0ZWQgdGhlIGBkbXMtdnBjLXJvbGVgLlxuICAgKiBgdW5kZWZpbmVkYCB3aGVuIGBjcmVhdGVEbXNTZXJ2aWNlUm9sZXNgIGlzIGBmYWxzZWAuXG4gICAqL1xuICByZWFkb25seSBkbXNWcGNSb2xlPzogQ29uc3RydWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEbXNNaWdyYXRpb25QaXBlbGluZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudmFsaWRhdGVQcm9wcyhwcm9wcyk7XG5cbiAgICBjb25zdCByZW1vdmFsUG9saWN5ID0gcHJvcHMucmVtb3ZhbFBvbGljeSA/PyBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZO1xuICAgIGNvbnN0IGNyZWF0ZVJvbGVzID0gcHJvcHMuY3JlYXRlRG1zU2VydmljZVJvbGVzID8/IHRydWU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIGRtcy12cGMtcm9sZSDigJQgYWNjb3VudC1sZXZlbCBzaW5nbGV0b24gcmVxdWlyZWQgYnkgRE1TIHRvIHBsYWNlXG4gICAgLy8gcmVwbGljYXRpb24gaW5zdGFuY2VzIGluc2lkZSBhIFZQQy4gTXVzdCBleGlzdCBiZWZvcmUgdGhlIGZpcnN0XG4gICAgLy8gQ2ZuUmVwbGljYXRpb25JbnN0YW5jZSBpcyBjcmVhdGVkIGluIHRoZSBhY2NvdW50LlxuICAgIC8vIFNraXAgd2hlbiBjcmVhdGVEbXNTZXJ2aWNlUm9sZXMgaXMgZmFsc2UgKHJvbGVzIGFscmVhZHkgZXhpc3QpLlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgaWYgKGNyZWF0ZVJvbGVzKSB7XG4gICAgICB0aGlzLmRtc1ZwY1JvbGUgPSBlbnN1cmVEbXNWcGNSb2xlKGNkay5TdGFjay5vZih0aGlzKSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBDbG91ZFdhdGNoIGxvZyBncm91cCAmIElBTSByb2xlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBjb25zdCBlbmFibGVMb2dzID0gcHJvcHMuZW5hYmxlQ2xvdWRXYXRjaExvZ3MgPz8gdHJ1ZTtcblxuICAgIGlmIChlbmFibGVMb2dzKSB7XG4gICAgICB0aGlzLmxvZ0dyb3VwID0gbmV3IGxvZ3MuTG9nR3JvdXAodGhpcywgJ1Rhc2tMb2dHcm91cCcsIHtcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBgL2F3cy9kbXMvdGFza3MvJHtpZH1gLFxuICAgICAgICByZXRlbnRpb246IHByb3BzLmxvZ1JldGVudGlvbiA/PyBsb2dzLlJldGVudGlvbkRheXMuT05FX01PTlRILFxuICAgICAgICByZW1vdmFsUG9saWN5LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChjcmVhdGVSb2xlcykge1xuICAgICAgICAvLyBkbXMtY2xvdWR3YXRjaC1sb2dzLXJvbGUgaXMgYW4gYWNjb3VudC1sZXZlbCBzaW5nbGV0b24g4oCUIERNUyByZXF1aXJlc1xuICAgICAgICAvLyB0aGlzIGV4YWN0IG5hbWUuIEd1YXJkIHdpdGggYSBzdGFjay1sZXZlbCBzaW5nbGV0b24gc28gZGVwbG95aW5nIG11bHRpcGxlXG4gICAgICAgIC8vIHBpcGVsaW5lcyBpbiB0aGUgc2FtZSBzdGFjayBkb2Vzbid0IGNyZWF0ZSBkdXBsaWNhdGUgcm9sZXMuXG4gICAgICAgIHRoaXMuZG1zQ2xvdWRXYXRjaFJvbGUgPSBlbnN1cmVEbXNDbG91ZFdhdGNoUm9sZShjZGsuU3RhY2sub2YodGhpcykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUmVwbGljYXRpb24gaW5zdGFuY2VcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIHRoaXMucmVwbGljYXRpb25JbnN0YW5jZSA9IG5ldyBEbXNSZXBsaWNhdGlvbkluc3RhbmNlKHRoaXMsICdSZXBsaWNhdGlvbkluc3RhbmNlJywge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy52cGNTdWJuZXRzLFxuICAgICAgcmVwbGljYXRpb25JbnN0YW5jZUNsYXNzOiBwcm9wcy5yZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MsXG4gICAgICBhbGxvY2F0ZWRTdG9yYWdlOiBwcm9wcy5hbGxvY2F0ZWRTdG9yYWdlLFxuICAgICAgbXVsdGlBejogcHJvcHMubXVsdGlBeixcbiAgICAgIGVuZ2luZVZlcnNpb246IHByb3BzLmVuZ2luZVZlcnNpb24sXG4gICAgICBrbXNLZXk6IHByb3BzLmVuY3J5cHRpb25LZXksXG4gICAgICByZW1vdmFsUG9saWN5LFxuICAgIH0pO1xuICAgIC8vIGRtcy12cGMtcm9sZSBtdXN0IGV4aXN0IGJlZm9yZSBETVMgY2FuIGRlc2NyaWJlIFZQQyBzdWJuZXRzIChzdWJuZXQgZ3JvdXApXG4gICAgLy8gb3IgcGxhY2UgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIGluc2lkZSBhIFZQQy5cbiAgICBpZiAodGhpcy5kbXNWcGNSb2xlKSB7XG4gICAgICB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2Uuc3VibmV0R3JvdXAubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuZG1zVnBjUm9sZSk7XG4gICAgICB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2UuY2ZuUmVwbGljYXRpb25JbnN0YW5jZS5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5kbXNWcGNSb2xlKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNvdXJjZSBlbmRwb2ludFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nU291cmNlRW5kcG9pbnQpIHtcbiAgICAgIHRoaXMuc291cmNlID0gcHJvcHMuZXhpc3RpbmdTb3VyY2VFbmRwb2ludDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc291cmNlT3B0cyA9IHByb3BzLnNvdXJjZUVuZHBvaW50ITtcbiAgICAgIHRoaXMuc291cmNlID0gbmV3IERtc0VuZHBvaW50KHRoaXMsICdTb3VyY2VFbmRwb2ludCcsIHtcbiAgICAgICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGUuU09VUkNFLFxuICAgICAgICBlbmdpbmU6IHNvdXJjZU9wdHMuZW5naW5lLFxuICAgICAgICBlbmRwb2ludElkZW50aWZpZXI6IHNvdXJjZU9wdHMuZW5kcG9pbnRJZGVudGlmaWVyLFxuICAgICAgICBzZXJ2ZXJOYW1lOiBzb3VyY2VPcHRzLnNlcnZlck5hbWUsXG4gICAgICAgIHBvcnQ6IHNvdXJjZU9wdHMucG9ydCxcbiAgICAgICAgdXNlcm5hbWU6IHNvdXJjZU9wdHMudXNlcm5hbWUsXG4gICAgICAgIHBhc3N3b3JkOiBzb3VyY2VPcHRzLnBhc3N3b3JkLFxuICAgICAgICBkYXRhYmFzZU5hbWU6IHNvdXJjZU9wdHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBleHRyYUNvbm5lY3Rpb25BdHRyaWJ1dGVzOiBzb3VyY2VPcHRzLmV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXMsXG4gICAgICAgIGNlcnRpZmljYXRlQXJuOiBzb3VyY2VPcHRzLmNlcnRpZmljYXRlQXJuLFxuICAgICAgICBzc2xNb2RlOiBzb3VyY2VPcHRzLnNzbE1vZGUsXG4gICAgICAgIG15U3FsU2V0dGluZ3M6IHNvdXJjZU9wdHMubXlTcWxTZXR0aW5ncyxcbiAgICAgICAgcG9zdGdyZVNxbFNldHRpbmdzOiBzb3VyY2VPcHRzLnBvc3RncmVTcWxTZXR0aW5ncyxcbiAgICAgICAgb3JhY2xlU2V0dGluZ3M6IHNvdXJjZU9wdHMub3JhY2xlU2V0dGluZ3MsXG4gICAgICAgIHNxbFNlcnZlclNldHRpbmdzOiBzb3VyY2VPcHRzLnNxbFNlcnZlclNldHRpbmdzLFxuICAgICAgICBzYXBBc2VTZXR0aW5nczogc291cmNlT3B0cy5zYXBBc2VTZXR0aW5ncyxcbiAgICAgICAgZGIyU2V0dGluZ3M6IHNvdXJjZU9wdHMuZGIyU2V0dGluZ3MsXG4gICAgICAgIG1vbmdvRGJTZXR0aW5nczogc291cmNlT3B0cy5tb25nb0RiU2V0dGluZ3MsXG4gICAgICAgIHMzU2V0dGluZ3M6IHNvdXJjZU9wdHMuczNTZXR0aW5ncyxcbiAgICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gVGFyZ2V0IGVuZHBvaW50XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBpZiAocHJvcHMuZXhpc3RpbmdUYXJnZXRFbmRwb2ludCkge1xuICAgICAgdGhpcy50YXJnZXQgPSBwcm9wcy5leGlzdGluZ1RhcmdldEVuZHBvaW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0YXJnZXRPcHRzID0gcHJvcHMudGFyZ2V0RW5kcG9pbnQhO1xuICAgICAgdGhpcy50YXJnZXQgPSBuZXcgRG1zRW5kcG9pbnQodGhpcywgJ1RhcmdldEVuZHBvaW50Jywge1xuICAgICAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZS5UQVJHRVQsXG4gICAgICAgIGVuZ2luZTogdGFyZ2V0T3B0cy5lbmdpbmUsXG4gICAgICAgIGVuZHBvaW50SWRlbnRpZmllcjogdGFyZ2V0T3B0cy5lbmRwb2ludElkZW50aWZpZXIsXG4gICAgICAgIHNlcnZlck5hbWU6IHRhcmdldE9wdHMuc2VydmVyTmFtZSxcbiAgICAgICAgcG9ydDogdGFyZ2V0T3B0cy5wb3J0LFxuICAgICAgICB1c2VybmFtZTogdGFyZ2V0T3B0cy51c2VybmFtZSxcbiAgICAgICAgcGFzc3dvcmQ6IHRhcmdldE9wdHMucGFzc3dvcmQsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogdGFyZ2V0T3B0cy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIGV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXM6IHRhcmdldE9wdHMuZXh0cmFDb25uZWN0aW9uQXR0cmlidXRlcyxcbiAgICAgICAgY2VydGlmaWNhdGVBcm46IHRhcmdldE9wdHMuY2VydGlmaWNhdGVBcm4sXG4gICAgICAgIHNzbE1vZGU6IHRhcmdldE9wdHMuc3NsTW9kZSxcbiAgICAgICAgbXlTcWxTZXR0aW5nczogdGFyZ2V0T3B0cy5teVNxbFNldHRpbmdzLFxuICAgICAgICBwb3N0Z3JlU3FsU2V0dGluZ3M6IHRhcmdldE9wdHMucG9zdGdyZVNxbFNldHRpbmdzLFxuICAgICAgICBvcmFjbGVTZXR0aW5nczogdGFyZ2V0T3B0cy5vcmFjbGVTZXR0aW5ncyxcbiAgICAgICAgc3FsU2VydmVyU2V0dGluZ3M6IHRhcmdldE9wdHMuc3FsU2VydmVyU2V0dGluZ3MsXG4gICAgICAgIHNhcEFzZVNldHRpbmdzOiB0YXJnZXRPcHRzLnNhcEFzZVNldHRpbmdzLFxuICAgICAgICBkYjJTZXR0aW5nczogdGFyZ2V0T3B0cy5kYjJTZXR0aW5ncyxcbiAgICAgICAgbW9uZ29EYlNldHRpbmdzOiB0YXJnZXRPcHRzLm1vbmdvRGJTZXR0aW5ncyxcbiAgICAgICAgczNTZXR0aW5nczogdGFyZ2V0T3B0cy5zM1NldHRpbmdzLFxuICAgICAgICBkeW5hbW9EYlNldHRpbmdzOiB0YXJnZXRPcHRzLmR5bmFtb0RiU2V0dGluZ3MsXG4gICAgICAgIHJlZHNoaWZ0U2V0dGluZ3M6IHRhcmdldE9wdHMucmVkc2hpZnRTZXR0aW5ncyxcbiAgICAgICAga2luZXNpc1NldHRpbmdzOiB0YXJnZXRPcHRzLmtpbmVzaXNTZXR0aW5ncyxcbiAgICAgICAga2Fma2FTZXR0aW5nczogdGFyZ2V0T3B0cy5rYWZrYVNldHRpbmdzLFxuICAgICAgICBvcGVuU2VhcmNoU2V0dGluZ3M6IHRhcmdldE9wdHMub3BlblNlYXJjaFNldHRpbmdzLFxuICAgICAgICBuZXB0dW5lU2V0dGluZ3M6IHRhcmdldE9wdHMubmVwdHVuZVNldHRpbmdzLFxuICAgICAgICByZWRpc1NldHRpbmdzOiB0YXJnZXRPcHRzLnJlZGlzU2V0dGluZ3MsXG4gICAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFRhYmxlIG1hcHBpbmdzIOKAlCBkZWZhdWx0IHRvIFwiaW5jbHVkZSBldmVyeXRoaW5nXCJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGNvbnN0IHRhYmxlTWFwcGluZ3MgPVxuICAgICAgcHJvcHMudGFibGVNYXBwaW5ncyA/PyBuZXcgVGFibGVNYXBwaW5ncygpLmluY2x1ZGVTY2hlbWEoJyUnKS50b0pzb24oKTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUmVwbGljYXRpb24gdGFza1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgdGhpcy5yZXBsaWNhdGlvblRhc2sgPSBuZXcgRG1zUmVwbGljYXRpb25UYXNrKHRoaXMsICdSZXBsaWNhdGlvblRhc2snLCB7XG4gICAgICByZXBsaWNhdGlvbkluc3RhbmNlQXJuOiB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2UucmVwbGljYXRpb25JbnN0YW5jZUFybixcbiAgICAgIHNvdXJjZUVuZHBvaW50OiB0aGlzLnNvdXJjZSxcbiAgICAgIHRhcmdldEVuZHBvaW50OiB0aGlzLnRhcmdldCxcbiAgICAgIG1pZ3JhdGlvblR5cGU6IHByb3BzLm1pZ3JhdGlvblR5cGUsXG4gICAgICB0YWJsZU1hcHBpbmdzLFxuICAgICAgdGFza1NldHRpbmdzOiBwcm9wcy50YXNrU2V0dGluZ3MsXG4gICAgICBjZGNTdGFydFRpbWU6IHByb3BzLmNkY1N0YXJ0VGltZSxcbiAgICAgIGNkY1N0YXJ0UG9zaXRpb246IHByb3BzLmNkY1N0YXJ0UG9zaXRpb24sXG4gICAgICBjZGNTdG9wUG9zaXRpb246IHByb3BzLmNkY1N0b3BQb3NpdGlvbixcbiAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgfSk7XG5cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQcml2YXRlIGhlbHBlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVByb3BzKHByb3BzOiBEbXNNaWdyYXRpb25QaXBlbGluZVByb3BzKTogdm9pZCB7XG4gICAgY29uc3QgaGFzU291cmNlID0gISFwcm9wcy5zb3VyY2VFbmRwb2ludDtcbiAgICBjb25zdCBoYXNFeGlzdGluZ1NvdXJjZSA9ICEhcHJvcHMuZXhpc3RpbmdTb3VyY2VFbmRwb2ludDtcbiAgICBpZiAoaGFzU291cmNlICYmIGhhc0V4aXN0aW5nU291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdQcm92aWRlIGVpdGhlciBgc291cmNlRW5kcG9pbnRgIG9yIGBleGlzdGluZ1NvdXJjZUVuZHBvaW50YCwgbm90IGJvdGguJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghaGFzU291cmNlICYmICFoYXNFeGlzdGluZ1NvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnT25lIG9mIGBzb3VyY2VFbmRwb2ludGAgb3IgYGV4aXN0aW5nU291cmNlRW5kcG9pbnRgIGlzIHJlcXVpcmVkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc1RhcmdldCA9ICEhcHJvcHMudGFyZ2V0RW5kcG9pbnQ7XG4gICAgY29uc3QgaGFzRXhpc3RpbmdUYXJnZXQgPSAhIXByb3BzLmV4aXN0aW5nVGFyZ2V0RW5kcG9pbnQ7XG4gICAgaWYgKGhhc1RhcmdldCAmJiBoYXNFeGlzdGluZ1RhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnUHJvdmlkZSBlaXRoZXIgYHRhcmdldEVuZHBvaW50YCBvciBgZXhpc3RpbmdUYXJnZXRFbmRwb2ludGAsIG5vdCBib3RoLicsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWhhc1RhcmdldCAmJiAhaGFzRXhpc3RpbmdUYXJnZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ09uZSBvZiBgdGFyZ2V0RW5kcG9pbnRgIG9yIGBleGlzdGluZ1RhcmdldEVuZHBvaW50YCBpcyByZXF1aXJlZC4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +1,44 @@
1
1
  "use strict";
2
- var _a;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
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
+ })();
3
35
  Object.defineProperty(exports, "__esModule", { value: true });
4
36
  exports.DmsReplicationInstance = void 0;
5
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const cdk = require("aws-cdk-lib");
7
- const dms = require("aws-cdk-lib/aws-dms");
8
- const ec2 = require("aws-cdk-lib/aws-ec2");
9
- const kms = require("aws-cdk-lib/aws-kms");
38
+ const cdk = __importStar(require("aws-cdk-lib"));
39
+ const dms = __importStar(require("aws-cdk-lib/aws-dms"));
40
+ const ec2 = __importStar(require("aws-cdk-lib/aws-ec2"));
41
+ const kms = __importStar(require("aws-cdk-lib/aws-kms"));
10
42
  const constructs_1 = require("constructs");
11
43
  const enums_1 = require("./enums");
12
44
  /**
@@ -16,6 +48,17 @@ const enums_1 = require("./enums");
16
48
  * - A dedicated security group (created if not provided)
17
49
  */
18
50
  class DmsReplicationInstance extends constructs_1.Construct {
51
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-dms-replication.DmsReplicationInstance", version: "0.2.3" };
52
+ /** The underlying CloudFormation replication instance resource. */
53
+ cfnReplicationInstance;
54
+ /** The replication subnet group created for this instance. */
55
+ subnetGroup;
56
+ /** The KMS key used for storage encryption. */
57
+ encryptionKey;
58
+ /** The security group attached to this instance. */
59
+ securityGroup;
60
+ /** The replication instance ARN. */
61
+ replicationInstanceArn;
19
62
  constructor(scope, id, props) {
20
63
  super(scope, id);
21
64
  // -----------------------------------------------------------------------
@@ -88,6 +131,4 @@ class DmsReplicationInstance extends constructs_1.Construct {
88
131
  }
89
132
  }
90
133
  exports.DmsReplicationInstance = DmsReplicationInstance;
91
- _a = JSII_RTTI_SYMBOL_1;
92
- DmsReplicationInstance[_a] = { fqn: "cdk-dms-replication.DmsReplicationInstance", version: "0.2.1" };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGljYXRpb24taW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVwbGljYXRpb24taW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsMkNBQXVDO0FBQ3ZDLG1DQUFtRDtBQW9GbkQ7Ozs7O0dBS0c7QUFDSCxNQUFhLHNCQUF1QixTQUFRLHNCQUFTO0lBZ0JuRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtDO1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsMEVBQTBFO1FBQzFFLFVBQVU7UUFDViwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLGFBQWE7WUFDaEIsS0FBSyxDQUFDLE1BQU07Z0JBQ1osSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7b0JBQ2pDLFdBQVcsRUFBRSwrQ0FBK0MsRUFBRSxFQUFFO29CQUNoRSxpQkFBaUIsRUFBRSxJQUFJO29CQUN2QixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU87aUJBQ2hFLENBQUMsQ0FBQztRQUVMLDBFQUEwRTtRQUMxRSxpQkFBaUI7UUFDakIsMEVBQTBFO1FBQzFFLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQzVDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtnQkFDdEQsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNkLFdBQVcsRUFBRSwrQ0FBK0MsRUFBRSxFQUFFO2dCQUNoRSxnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCLENB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LWNkay1saWInO1xuaW1wb3J0ICogYXMgZG1zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1kbXMnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MgfSBmcm9tICcuL2VudW1zJztcblxuLyoqIFByb3BzIGZvciB7QGxpbmsgRG1zUmVwbGljYXRpb25JbnN0YW5jZX0uICovXG5leHBvcnQgaW50ZXJmYWNlIERtc1JlcGxpY2F0aW9uSW5zdGFuY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBJbnN0YW5jZSBjbGFzcyBmb3IgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBAZGVmYXVsdCBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MuUjZJX0xBUkdFXG4gICAqL1xuICByZWFkb25seSByZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3M/OiBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3M7XG5cbiAgLyoqXG4gICAqIFZQQyBpbiB3aGljaCB0byBwbGFjZSB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqIFRoZSBjb25zdHJ1Y3QgY3JlYXRlcyBhIGRlZGljYXRlZCBzdWJuZXQgZ3JvdXAgZnJvbSB0aGUgcHJpdmF0ZSBzdWJuZXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcblxuICAvKipcbiAgICogU3BlY2lmaWMgc3VibmV0cyB0byB1c2UgZm9yIHRoZSByZXBsaWNhdGlvbiBzdWJuZXQgZ3JvdXAuXG4gICAqIERlZmF1bHRzIHRvIGFsbCBwcml2YXRlIHN1Ym5ldHMgaW4gdGhlIFZQQy5cbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBncm91cHMgdG8gYXR0YWNoIHRvIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogQSBuZXcgc2VjdXJpdHkgZ3JvdXAgaXMgY3JlYXRlZCBpZiBub25lIGFyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzPzogZWMyLklTZWN1cml0eUdyb3VwW107XG5cbiAgLyoqXG4gICAqIEtNUyBrZXkgdXNlZCB0byBlbmNyeXB0IHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBzdG9yYWdlIGF0IHJlc3QuXG4gICAqIEEgbmV3IGtleSBpcyBjcmVhdGVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGttc0tleT86IGttcy5JS2V5O1xuXG4gIC8qKlxuICAgKiBBbGxvY2F0ZWQgc3RvcmFnZSBpbiBHQi5cbiAgICogQGRlZmF1bHQgMTAwXG4gICAqL1xuICByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpcyBNdWx0aS1BWi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG11bHRpQXo/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpcyBwdWJsaWNseSBhY2Nlc3NpYmxlLlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSBpcyBzdHJvbmdseSBkaXNjb3VyYWdlZCBmb3IgcHJvZHVjdGlvbiB3b3JrbG9hZHMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNseUFjY2Vzc2libGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IG1pbm9yIHZlcnNpb24gdXBncmFkZXMgdG8gYmUgYXBwbGllZCBhdXRvbWF0aWNhbGx5IGR1cmluZyBtYWludGVuYW5jZS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcmVmZXJyZWQgbWFpbnRlbmFuY2Ugd2luZG93LCBlLmcuIFwic3VuOjA0OjAwLXN1bjowNDozMFwiLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlcGxpY2F0aW9uIGVuZ2luZSB2ZXJzaW9uLlxuICAgKiBAZGVmYXVsdCBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGUgaW4gdGhlIHJlZ2lvbiAoY2hvc2VuIGJ5IERNUylcbiAgICovXG4gIHJlYWRvbmx5IGVuZ2luZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZ2ljYWwgbmFtZSBvZiB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqIFVzZWQgaW4gdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIGlkZW50aWZpZXIgYW5kIHJlc291cmNlIG5hbWluZy5cbiAgICogQGRlZmF1bHQgaWQgb2YgdGhlIGNvbnN0cnVjdFxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25JbnN0YW5jZUlkZW50aWZpZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlbW92YWwgcG9saWN5IGFwcGxpZWQgdG8gdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBAZGVmYXVsdCBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogY2RrLlJlbW92YWxQb2xpY3k7XG59XG5cbi8qKlxuICogQW4gTDItc3R5bGUgY29uc3RydWN0IHRoYXQgcHJvdmlzaW9ucyBhIERNUyByZXBsaWNhdGlvbiBpbnN0YW5jZSB3aXRoOlxuICogLSBQcml2YXRlIHN1Ym5ldCBwbGFjZW1lbnQgdmlhIGEgZGVkaWNhdGVkIHN1Ym5ldCBncm91cFxuICogLSBLTVMgZW5jcnlwdGlvbiBhdCByZXN0IChrZXkgY3JlYXRlZCBpZiBub3QgcHJvdmlkZWQpXG4gKiAtIEEgZGVkaWNhdGVkIHNlY3VyaXR5IGdyb3VwIChjcmVhdGVkIGlmIG5vdCBwcm92aWRlZClcbiAqL1xuZXhwb3J0IGNsYXNzIERtc1JlcGxpY2F0aW9uSW5zdGFuY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKiogVGhlIHVuZGVybHlpbmcgQ2xvdWRGb3JtYXRpb24gcmVwbGljYXRpb24gaW5zdGFuY2UgcmVzb3VyY2UuICovXG4gIHJlYWRvbmx5IGNmblJlcGxpY2F0aW9uSW5zdGFuY2U6IGRtcy5DZm5SZXBsaWNhdGlvbkluc3RhbmNlO1xuXG4gIC8qKiBUaGUgcmVwbGljYXRpb24gc3VibmV0IGdyb3VwIGNyZWF0ZWQgZm9yIHRoaXMgaW5zdGFuY2UuICovXG4gIHJlYWRvbmx5IHN1Ym5ldEdyb3VwOiBkbXMuQ2ZuUmVwbGljYXRpb25TdWJuZXRHcm91cDtcblxuICAvKiogVGhlIEtNUyBrZXkgdXNlZCBmb3Igc3RvcmFnZSBlbmNyeXB0aW9uLiAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5OiBrbXMuSUtleTtcblxuICAvKiogVGhlIHNlY3VyaXR5IGdyb3VwIGF0dGFjaGVkIHRvIHRoaXMgaW5zdGFuY2UuICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA6IGVjMi5JU2VjdXJpdHlHcm91cDtcblxuICAvKiogVGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIEFSTi4gKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25JbnN0YW5jZUFybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEbXNSZXBsaWNhdGlvbkluc3RhbmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBLTVMga2V5XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICB0aGlzLmVuY3J5cHRpb25LZXkgPVxuICAgICAgcHJvcHMua21zS2V5ID8/XG4gICAgICBuZXcga21zLktleSh0aGlzLCAnRW5jcnlwdGlvbktleScsIHtcbiAgICAgICAgZGVzY3JpcHRpb246IGBETVMgcmVwbGljYXRpb24gaW5zdGFuY2UgZW5jcnlwdGlvbiBrZXkgZm9yICR7aWR9YCxcbiAgICAgICAgZW5hYmxlS2V5Um90YXRpb246IHRydWUsXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLnJlbW92YWxQb2xpY3kgPz8gY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIH0pO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTZWN1cml0eSBncm91cFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgY29uc3QgcHJvdmlkZWQgPSBwcm9wcy5zZWN1cml0eUdyb3VwcyA/PyBbXTtcbiAgICBpZiAocHJvdmlkZWQubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzZyA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCAnU2VjdXJpdHlHcm91cCcsIHtcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgRE1TIHJlcGxpY2F0aW9uIGluc3RhbmNlIHNlY3VyaXR5IGdyb3VwIGZvciAke2lkfWAsXG4gICAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IHNnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSBwcm92aWRlZFswXTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWN1cml0eUdyb3VwSWRzID0gcHJvdmlkZWQubGVuZ3RoID4gMFxuICAgICAgPyBwcm92aWRlZC5tYXAoKHNnKSA9PiBzZy5zZWN1cml0eUdyb3VwSWQpXG4gICAgICA6IFt0aGlzLnNlY3VyaXR5R3JvdXAuc2VjdXJpdHlHcm91cElkXTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU3VibmV0IGdyb3VwXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBjb25zdCBzdWJuZXRTZWxlY3Rpb24gPSBwcm9wcy52cGNTdWJuZXRzID8/IHtcbiAgICAgIHN1Ym5ldFR5cGU6IGVjMi5TdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1MsXG4gICAgfTtcbiAgICBjb25zdCBzdWJuZXRzID0gcHJvcHMudnBjLnNlbGVjdFN1Ym5ldHMoc3VibmV0U2VsZWN0aW9uKTtcblxuICAgIHRoaXMuc3VibmV0R3JvdXAgPSBuZXcgZG1zLkNmblJlcGxpY2F0aW9uU3VibmV0R3JvdXAodGhpcywgJ1N1Ym5ldEdyb3VwJywge1xuICAgICAgcmVwbGljYXRpb25TdWJuZXRHcm91cERlc2NyaXB0aW9uOiBgRE1TIHN1Ym5ldCBncm91cCBmb3IgJHtpZH1gLFxuICAgICAgc3VibmV0SWRzOiBzdWJuZXRzLnN1Ym5ldElkcyxcbiAgICB9KTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUmVwbGljYXRpb24gaW5zdGFuY2VcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGNvbnN0IGluc3RhbmNlSWRlbnRpZmllciA9XG4gICAgICBwcm9wcy5yZXBsaWNhdGlvbkluc3RhbmNlSWRlbnRpZmllciA/PyBjZGsuTmFtZXMudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHsgbWF4TGVuZ3RoOiA2MyB9KS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgdGhpcy5jZm5SZXBsaWNhdGlvbkluc3RhbmNlID0gbmV3IGRtcy5DZm5SZXBsaWNhdGlvbkluc3RhbmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzczogcHJvcHMucmVwbGljYXRpb25JbnN0YW5jZUNsYXNzID8/IFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcy5SNklfTEFSR0UsXG4gICAgICByZXBsaWNhdGlvbkluc3RhbmNlSWRlbnRpZmllcjogaW5zdGFuY2VJZGVudGlmaWVyLFxuICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSA/PyAxMDAsXG4gICAgICBlbmdpbmVWZXJzaW9uOiBwcm9wcy5lbmdpbmVWZXJzaW9uLFxuICAgICAga21zS2V5SWQ6IHRoaXMuZW5jcnlwdGlvbktleS5rZXlBcm4sXG4gICAgICBtdWx0aUF6OiBwcm9wcy5tdWx0aUF6ID8/IGZhbHNlLFxuICAgICAgcHVibGljbHlBY2Nlc3NpYmxlOiBwcm9wcy5wdWJsaWNseUFjY2Vzc2libGUgPz8gZmFsc2UsXG4gICAgICBhdXRvTWlub3JWZXJzaW9uVXBncmFkZTogcHJvcHMuYXV0b01pbm9yVmVyc2lvblVwZ3JhZGUgPz8gdHJ1ZSxcbiAgICAgIHJlcGxpY2F0aW9uU3VibmV0R3JvdXBJZGVudGlmaWVyOiB0aGlzLnN1Ym5ldEdyb3VwLnJlZixcbiAgICAgIHZwY1NlY3VyaXR5R3JvdXBJZHM6IHNlY3VyaXR5R3JvdXBJZHMsXG4gICAgICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdzogcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3csXG4gICAgfSk7XG4gICAgdGhpcy5jZm5SZXBsaWNhdGlvbkluc3RhbmNlLmFwcGx5UmVtb3ZhbFBvbGljeShcbiAgICAgIHByb3BzLnJlbW92YWxQb2xpY3kgPz8gY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICApO1xuXG4gICAgdGhpcy5yZXBsaWNhdGlvbkluc3RhbmNlQXJuID0gdGhpcy5jZm5SZXBsaWNhdGlvbkluc3RhbmNlLnJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2Ugb24gYSBnaXZlbiBwb3J0IGZyb20gYSBwZWVyLlxuICAgKiBVc2VmdWwgd2hlbiB0aGUgc291cmNlIG9yIHRhcmdldCBkYXRhYmFzZSBzZWN1cml0eSBncm91cCBuZWVkcyB0byB0cnVzdCB0aGUgaW5zdGFuY2UuXG4gICAqL1xuICBhbGxvd0luYm91bmRGcm9tKHBlZXI6IGVjMi5JUGVlciwgcG9ydDogZWMyLlBvcnQsIGRlc2NyaXB0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VjdXJpdHlHcm91cCBpbnN0YW5jZW9mIGVjMi5TZWN1cml0eUdyb3VwKSB7XG4gICAgICB0aGlzLnNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUocGVlciwgcG9ydCwgZGVzY3JpcHRpb24gPz8gJ0FsbG93IERNUyByZXBsaWNhdGlvbiBpbnN0YW5jZScpO1xuICAgIH1cbiAgfVxufVxuIl19
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGljYXRpb24taW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVwbGljYXRpb24taW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFtQztBQUNuQyx5REFBMkM7QUFDM0MseURBQTJDO0FBQzNDLHlEQUEyQztBQUMzQywyQ0FBdUM7QUFDdkMsbUNBQW1EO0FBb0ZuRDs7Ozs7R0FLRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsc0JBQVM7O0lBQ25ELG1FQUFtRTtJQUMxRCxzQkFBc0IsQ0FBNkI7SUFFNUQsOERBQThEO0lBQ3JELFdBQVcsQ0FBZ0M7SUFFcEQsK0NBQStDO0lBQ3RDLGFBQWEsQ0FBVztJQUVqQyxvREFBb0Q7SUFDM0MsYUFBYSxDQUFxQjtJQUUzQyxvQ0FBb0M7SUFDM0Isc0JBQXNCLENBQVM7SUFFeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFrQztRQUMxRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLDBFQUEwRTtRQUMxRSxVQUFVO1FBQ1YsMEVBQTBFO1FBQzFFLElBQUksQ0FBQyxhQUFhO1lBQ2hCLEtBQUssQ0FBQyxNQUFNO2dCQUNaLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO29CQUNqQyxXQUFXLEVBQUUsK0NBQStDLEVBQUUsRUFBRTtvQkFDaEUsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPO2lCQUNoRSxDQUFDLENBQUM7UUFFTCwwRUFBMEU7UUFDMUUsaUJBQWlCO1FBQ2pCLDBFQUEwRTtRQUMxRSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUM1QyxJQUFJLFFBQVEsQ0FBQyxNQUFN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LENBQUMsYUFBYSxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLElBQUksZ0NBQWdDLENBQUMsQ0FBQztRQUNqRyxDQUFDO0lBQ0gsQ0FBQzs7QUFoR0gsd0RBaUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGRtcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZG1zJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGttcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mta21zJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUmVwbGljYXRpb25JbnN0YW5jZUNsYXNzIH0gZnJvbSAnLi9lbnVtcyc7XG5cbi8qKiBQcm9wcyBmb3Ige0BsaW5rIERtc1JlcGxpY2F0aW9uSW5zdGFuY2V9LiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNSZXBsaWNhdGlvbkluc3RhbmNlUHJvcHMge1xuICAvKipcbiAgICogSW5zdGFuY2UgY2xhc3MgZm9yIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogQGRlZmF1bHQgUmVwbGljYXRpb25JbnN0YW5jZUNsYXNzLlI2SV9MQVJHRVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25JbnN0YW5jZUNsYXNzPzogUmVwbGljYXRpb25JbnN0YW5jZUNsYXNzO1xuXG4gIC8qKlxuICAgKiBWUEMgaW4gd2hpY2ggdG8gcGxhY2UgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBUaGUgY29uc3RydWN0IGNyZWF0ZXMgYSBkZWRpY2F0ZWQgc3VibmV0IGdyb3VwIGZyb20gdGhlIHByaXZhdGUgc3VibmV0cy5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmljIHN1Ym5ldHMgdG8gdXNlIGZvciB0aGUgcmVwbGljYXRpb24gc3VibmV0IGdyb3VwLlxuICAgKiBEZWZhdWx0cyB0byBhbGwgcHJpdmF0ZSBzdWJuZXRzIGluIHRoZSBWUEMuXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogU2VjdXJpdHkgZ3JvdXBzIHRvIGF0dGFjaCB0byB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqIEEgbmV3IHNlY3VyaXR5IGdyb3VwIGlzIGNyZWF0ZWQgaWYgbm9uZSBhcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3Vwcz86IGVjMi5JU2VjdXJpdHlHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBLTVMga2V5IHVzZWQgdG8gZW5jcnlwdCB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2Ugc3RvcmFnZSBhdCByZXN0LlxuICAgKiBBIG5ldyBrZXkgaXMgY3JlYXRlZCBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBrbXNLZXk/OiBrbXMuSUtleTtcblxuICAvKipcbiAgICogQWxsb2NhdGVkIHN0b3JhZ2UgaW4gR0IuXG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UgaXMgTXVsdGktQVouXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBtdWx0aUF6PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UgaXMgcHVibGljbHkgYWNjZXNzaWJsZS5cbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgaXMgc3Ryb25nbHkgZGlzY291cmFnZWQgZm9yIHByb2R1Y3Rpb24gd29ya2xvYWRzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljbHlBY2Nlc3NpYmxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyBtaW5vciB2ZXJzaW9uIHVwZ3JhZGVzIHRvIGJlIGFwcGxpZWQgYXV0b21hdGljYWxseSBkdXJpbmcgbWFpbnRlbmFuY2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NaW5vclZlcnNpb25VcGdyYWRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHJlZmVycmVkIG1haW50ZW5hbmNlIHdpbmRvdywgZS5nLiBcInN1bjowNDowMC1zdW46MDQ6MzBcIi5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXBsaWNhdGlvbiBlbmdpbmUgdmVyc2lvbi5cbiAgICogQGRlZmF1bHQgbGF0ZXN0IHZlcnNpb24gYXZhaWxhYmxlIGluIHRoZSByZWdpb24gKGNob3NlbiBieSBETVMpXG4gICAqL1xuICByZWFkb25seSBlbmdpbmVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMb2dpY2FsIG5hbWUgb2YgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBVc2VkIGluIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpZGVudGlmaWVyIGFuZCByZXNvdXJjZSBuYW1pbmcuXG4gICAqIEBkZWZhdWx0IGlkIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2VJZGVudGlmaWVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZW1vdmFsIHBvbGljeSBhcHBsaWVkIHRvIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogQGRlZmF1bHQgY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IGNkay5SZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIEFuIEwyLXN0eWxlIGNvbnN0cnVjdCB0aGF0IHByb3Zpc2lvbnMgYSBETVMgcmVwbGljYXRpb24gaW5zdGFuY2Ugd2l0aDpcbiAqIC0gUHJpdmF0ZSBzdWJuZXQgcGxhY2VtZW50IHZpYSBhIGRlZGljYXRlZCBzdWJuZXQgZ3JvdXBcbiAqIC0gS01TIGVuY3J5cHRpb24gYXQgcmVzdCAoa2V5IGNyZWF0ZWQgaWYgbm90IHByb3ZpZGVkKVxuICogLSBBIGRlZGljYXRlZCBzZWN1cml0eSBncm91cCAoY3JlYXRlZCBpZiBub3QgcHJvdmlkZWQpXG4gKi9cbmV4cG9ydCBjbGFzcyBEbXNSZXBsaWNhdGlvbkluc3RhbmNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqIFRoZSB1bmRlcmx5aW5nIENsb3VkRm9ybWF0aW9uIHJlcGxpY2F0aW9uIGluc3RhbmNlIHJlc291cmNlLiAqL1xuICByZWFkb25seSBjZm5SZXBsaWNhdGlvbkluc3RhbmNlOiBkbXMuQ2ZuUmVwbGljYXRpb25JbnN0YW5jZTtcblxuICAvKiogVGhlIHJlcGxpY2F0aW9uIHN1Ym5ldCBncm91cCBjcmVhdGVkIGZvciB0aGlzIGluc3RhbmNlLiAqL1xuICByZWFkb25seSBzdWJuZXRHcm91cDogZG1zLkNmblJlcGxpY2F0aW9uU3VibmV0R3JvdXA7XG5cbiAgLyoqIFRoZSBLTVMga2V5IHVzZWQgZm9yIHN0b3JhZ2UgZW5jcnlwdGlvbi4gKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleToga21zLklLZXk7XG5cbiAgLyoqIFRoZSBzZWN1cml0eSBncm91cCBhdHRhY2hlZCB0byB0aGlzIGluc3RhbmNlLiAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwOiBlYzIuSVNlY3VyaXR5R3JvdXA7XG5cbiAgLyoqIFRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBBUk4uICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2VBcm46IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRG1zUmVwbGljYXRpb25JbnN0YW5jZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gS01TIGtleVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgdGhpcy5lbmNyeXB0aW9uS2V5ID1cbiAgICAgIHByb3BzLmttc0tleSA/P1xuICAgICAgbmV3IGttcy5LZXkodGhpcywgJ0VuY3J5cHRpb25LZXknLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgRE1TIHJlcGxpY2F0aW9uIGluc3RhbmNlIGVuY3J5cHRpb24ga2V5IGZvciAke2lkfWAsXG4gICAgICAgIGVuYWJsZUtleVJvdGF0aW9uOiB0cnVlLFxuICAgICAgICByZW1vdmFsUG9saWN5OiBwcm9wcy5yZW1vdmFsUG9saWN5ID8/IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICB9KTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU2VjdXJpdHkgZ3JvdXBcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGNvbnN0IHByb3ZpZGVkID0gcHJvcHMuc2VjdXJpdHlHcm91cHMgPz8gW107XG4gICAgaWYgKHByb3ZpZGVkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgc2cgPSBuZXcgZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgJ1NlY3VyaXR5R3JvdXAnLCB7XG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICBkZXNjcmlwdGlvbjogYERNUyByZXBsaWNhdGlvbiBpbnN0YW5jZSBzZWN1cml0eSBncm91cCBmb3IgJHtpZH1gLFxuICAgICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSBzZztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWN1cml0eUdyb3VwID0gcHJvdmlkZWRbMF07XG4gICAgfVxuXG4gICAgY29uc3Qgc2VjdXJpdHlHcm91cElkcyA9IHByb3ZpZGVkLmxlbmd0aCA+IDBcbiAgICAgID8gcHJvdmlkZWQubWFwKChzZykgPT4gc2cuc2VjdXJpdHlHcm91cElkKVxuICAgICAgOiBbdGhpcy5zZWN1cml0eUdyb3VwLnNlY3VyaXR5R3JvdXBJZF07XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFN1Ym5ldCBncm91cFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgY29uc3Qgc3VibmV0U2VsZWN0aW9uID0gcHJvcHMudnBjU3VibmV0cyA/PyB7XG4gICAgICBzdWJuZXRUeXBlOiBlYzIuU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTLFxuICAgIH07XG4gICAgY29uc3Qgc3VibmV0cyA9IHByb3BzLnZwYy5zZWxlY3RTdWJuZXRzKHN1Ym5ldFNlbGVjdGlvbik7XG5cbiAgICB0aGlzLnN1Ym5ldEdyb3VwID0gbmV3IGRtcy5DZm5SZXBsaWNhdGlvblN1Ym5ldEdyb3VwKHRoaXMsICdTdWJuZXRHcm91cCcsIHtcbiAgICAgIHJlcGxpY2F0aW9uU3VibmV0R3JvdXBEZXNjcmlwdGlvbjogYERNUyBzdWJuZXQgZ3JvdXAgZm9yICR7aWR9YCxcbiAgICAgIHN1Ym5ldElkczogc3VibmV0cy5zdWJuZXRJZHMsXG4gICAgfSk7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFJlcGxpY2F0aW9uIGluc3RhbmNlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBjb25zdCBpbnN0YW5jZUlkZW50aWZpZXIgPVxuICAgICAgcHJvcHMucmVwbGljYXRpb25JbnN0YW5jZUlkZW50aWZpZXIgPz8gY2RrLk5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogNjMgfSkudG9Mb3dlckNhc2UoKTtcblxuICAgIHRoaXMuY2ZuUmVwbGljYXRpb25JbnN0YW5jZSA9IG5ldyBkbXMuQ2ZuUmVwbGljYXRpb25JbnN0YW5jZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICByZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3M6IHByb3BzLnJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcyA/PyBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MuUjZJX0xBUkdFLFxuICAgICAgcmVwbGljYXRpb25JbnN0YW5jZUlkZW50aWZpZXI6IGluc3RhbmNlSWRlbnRpZmllcixcbiAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2UgPz8gMTAwLFxuICAgICAgZW5naW5lVmVyc2lvbjogcHJvcHMuZW5naW5lVmVyc2lvbixcbiAgICAgIGttc0tleUlkOiB0aGlzLmVuY3J5cHRpb25LZXkua2V5QXJuLFxuICAgICAgbXVsdGlBejogcHJvcHMubXVsdGlBeiA/PyBmYWxzZSxcbiAgICAgIHB1YmxpY2x5QWNjZXNzaWJsZTogcHJvcHMucHVibGljbHlBY2Nlc3NpYmxlID8/IGZhbHNlLFxuICAgICAgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGU6IHByb3BzLmF1dG9NaW5vclZlcnNpb25VcGdyYWRlID8/IHRydWUsXG4gICAgICByZXBsaWNhdGlvblN1Ym5ldEdyb3VwSWRlbnRpZmllcjogdGhpcy5zdWJuZXRHcm91cC5yZWYsXG4gICAgICB2cGNTZWN1cml0eUdyb3VwSWRzOiBzZWN1cml0eUdyb3VwSWRzLFxuICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6IHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93LFxuICAgIH0pO1xuICAgIHRoaXMuY2ZuUmVwbGljYXRpb25JbnN0YW5jZS5hcHBseVJlbW92YWxQb2xpY3koXG4gICAgICBwcm9wcy5yZW1vdmFsUG9saWN5ID8/IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgKTtcblxuICAgIHRoaXMucmVwbGljYXRpb25JbnN0YW5jZUFybiA9IHRoaXMuY2ZuUmVwbGljYXRpb25JbnN0YW5jZS5yZWY7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3cgaW5ib3VuZCBhY2Nlc3MgdG8gdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIG9uIGEgZ2l2ZW4gcG9ydCBmcm9tIGEgcGVlci5cbiAgICogVXNlZnVsIHdoZW4gdGhlIHNvdXJjZSBvciB0YXJnZXQgZGF0YWJhc2Ugc2VjdXJpdHkgZ3JvdXAgbmVlZHMgdG8gdHJ1c3QgdGhlIGluc3RhbmNlLlxuICAgKi9cbiAgYWxsb3dJbmJvdW5kRnJvbShwZWVyOiBlYzIuSVBlZXIsIHBvcnQ6IGVjMi5Qb3J0LCBkZXNjcmlwdGlvbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlY3VyaXR5R3JvdXAgaW5zdGFuY2VvZiBlYzIuU2VjdXJpdHlHcm91cCkge1xuICAgICAgdGhpcy5zZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKHBlZXIsIHBvcnQsIGRlc2NyaXB0aW9uID8/ICdBbGxvdyBETVMgcmVwbGljYXRpb24gaW5zdGFuY2UnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,42 @@
1
1
  "use strict";
2
- var _a;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
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
+ })();
3
35
  Object.defineProperty(exports, "__esModule", { value: true });
4
36
  exports.DmsReplicationTask = void 0;
5
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const cdk = require("aws-cdk-lib");
7
- const dms = require("aws-cdk-lib/aws-dms");
38
+ const cdk = __importStar(require("aws-cdk-lib"));
39
+ const dms = __importStar(require("aws-cdk-lib/aws-dms"));
8
40
  const constructs_1 = require("constructs");
9
41
  const task_settings_1 = require("./task-settings");
10
42
  /**
@@ -12,6 +44,11 @@ const task_settings_1 = require("./task-settings");
12
44
  * target endpoint and defines what data to migrate and how.
13
45
  */
14
46
  class DmsReplicationTask extends constructs_1.Construct {
47
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-dms-replication.DmsReplicationTask", version: "0.2.3" };
48
+ /** The underlying CloudFormation replication task resource. */
49
+ cfnReplicationTask;
50
+ /** ARN of the replication task. */
51
+ replicationTaskArn;
15
52
  constructor(scope, id, props) {
16
53
  super(scope, id);
17
54
  const taskIdentifier = props.replicationTaskIdentifier ??
@@ -41,6 +78,4 @@ class DmsReplicationTask extends constructs_1.Construct {
41
78
  }
42
79
  }
43
80
  exports.DmsReplicationTask = DmsReplicationTask;
44
- _a = JSII_RTTI_SYMBOL_1;
45
- DmsReplicationTask[_a] = { fqn: "cdk-dms-replication.DmsReplicationTask", version: "0.2.1" };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGljYXRpb24tdGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXBsaWNhdGlvbi10YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywyQ0FBdUM7QUFJdkMsbURBQStDO0FBc0UvQzs7O0dBR0c7QUFDSCxNQUFhLGtCQUFtQixTQUFRLHNCQUFTO0lBTy9DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGNBQWMsR0FDbEIsS0FBSyxDQUFDLHlCQUF5QjtZQUMvQixHQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRFLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSw0QkFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFdkUsd0VBQXdFO1FBQ3hFLElBQUksWUFBZ0MsQ0FBQztRQUNyQyxJQUFJLEtBQUssQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3JFLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0I7WUFDcEQsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXO1lBQ25ELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVztZQUNuRCxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLHVCQUF1QixFQUFFLFlBQVk7WUFDckMseUJBQXlCLEVBQUUsY0FBYztZQUN6QyxZQUFZO1lBQ1osZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FDeEMsS0FBSyxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FDakQsQ0FBQztRQUVGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0lBQ3hELENBQUM7O0FBMUNILGdEQTJDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBkbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWRtcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElEbXNFbmRwb2ludCB9IGZyb20gJy4vZW5kcG9pbnQnO1xuaW1wb3J0IHsgTWlncmF0aW9uVHlwZSB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgVGFibGVNYXBwaW5ncyB9IGZyb20gJy4vdGFibGUtbWFwcGluZ3MnO1xuaW1wb3J0IHsgVGFza1NldHRpbmdzIH0gZnJvbSAnLi90YXNrLXNldHRpbmdzJztcblxuLyoqIFByb3BzIGZvciB7QGxpbmsgRG1zUmVwbGljYXRpb25UYXNrfS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25UYXNrUHJvcHMge1xuICAvKiogQVJOIG9mIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSB0byB1c2UuICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2VBcm46IHN0cmluZztcblxuICAvKiogU291cmNlIGVuZHBvaW50LiAqL1xuICByZWFkb25seSBzb3VyY2VFbmRwb2ludDogSURtc0VuZHBvaW50O1xuXG4gIC8qKiBUYXJnZXQgZW5kcG9pbnQuICovXG4gIHJlYWRvbmx5IHRhcmdldEVuZHBvaW50OiBJRG1zRW5kcG9pbnQ7XG5cbiAgLyoqIFRoZSBtaWdyYXRpb24gdHlwZS4gKi9cbiAgcmVhZG9ubHkgbWlncmF0aW9uVHlwZTogTWlncmF0aW9uVHlwZTtcblxuICAvKipcbiAgICogVGFibGUgbWFwcGluZ3MgSlNPTiBzdHJpbmcuXG4gICAqIFVzZSB7QGxpbmsgVGFibGVNYXBwaW5nc30gdG8gYnVpbGQgdGhpcywgb3IgcHJvdmlkZSBhIHJhdyBKU09OIHN0cmluZy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogdGFibGVNYXBwaW5nczogbmV3IFRhYmxlTWFwcGluZ3MoKS5pbmNsdWRlU2NoZW1hKCdwdWJsaWMnKS50b0pzb24oKVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVNYXBwaW5nczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYXNrIHNldHRpbmdzIEpTT04gc3RyaW5nLlxuICAgKiBVc2Uge0BsaW5rIFRhc2tTZXR0aW5nc30gdG8gYnVpbGQgdGhpcywgb3IgcHJvdmlkZSBhIHJhdyBKU09OIHN0cmluZy5cbiAgICogQSBzZW5zaWJsZSBkZWZhdWx0IGlzIGFwcGxpZWQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFza1NldHRpbmdzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMb2dpY2FsIG5hbWUgZm9yIHRoZSByZXBsaWNhdGlvbiB0YXNrLlxuICAgKiBBdXRvLWdlbmVyYXRlZCBmcm9tIHRoZSBjb25zdHJ1Y3QgSUQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25UYXNrSWRlbnRpZmllcj86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0YXJ0IHRpbWUgYXMgYW4gSVNPLTg2MDEgc3RyaW5nIG9yIFVuaXggZXBvY2ggbnVtYmVyLlxuICAgKiBPbmx5IHZhbGlkIHdoZW4gbWlncmF0aW9uVHlwZSBpcyBDREMgb3IgRlVMTF9MT0FEX0FORF9DREMuXG4gICAqIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGNkY1N0YXJ0UG9zaXRpb24uXG4gICAqL1xuICByZWFkb25seSBjZGNTdGFydFRpbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENEQyBzdGFydCBwb3NpdGlvbiAobG9nIHNlcXVlbmNlIG51bWJlciBvciBzaW1pbGFyKS5cbiAgICogT25seSB2YWxpZCB3aGVuIG1pZ3JhdGlvblR5cGUgaXMgQ0RDIG9yIEZVTExfTE9BRF9BTkRfQ0RDLlxuICAgKiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBjZGNTdGFydFRpbWUuXG4gICAqL1xuICByZWFkb25seSBjZGNTdGFydFBvc2l0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDREMgc3RvcCBwb3NpdGlvbi4gIFRoZSB0YXNrIHN0b3BzIG9uY2UgdGhpcyBwb3NpdGlvbiBpcyByZWFjaGVkLlxuICAgKiBPbmx5IHZhbGlkIHdoZW4gbWlncmF0aW9uVHlwZSBpcyBDREMgb3IgRlVMTF9MT0FEX0FORF9DREMuXG4gICAqL1xuICByZWFkb25seSBjZGNTdG9wUG9zaXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlbW92YWwgcG9saWN5IGZvciB0aGlzIHJlc291cmNlLlxuICAgKiBAZGVmYXVsdCBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogY2RrLlJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFRhZ3MgdG8gYXBwbHkgdG8gdGhlIHRhc2sgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogY2RrLkNmblRhZ1tdO1xufVxuXG4vKipcbiAqIEEgRE1TIHJlcGxpY2F0aW9uIHRhc2sgdGhhdCB0aWVzIGEgcmVwbGljYXRpb24gaW5zdGFuY2UgdG8gYSBzb3VyY2UgYW5kXG4gKiB0YXJnZXQgZW5kcG9pbnQgYW5kIGRlZmluZXMgd2hhdCBkYXRhIHRvIG1pZ3JhdGUgYW5kIGhvdy5cbiAqL1xuZXhwb3J0IGNsYXNzIERtc1JlcGxpY2F0aW9uVGFzayBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKiBUaGUgdW5kZXJseWluZyBDbG91ZEZvcm1hdGlvbiByZXBsaWNhdGlvbiB0YXNrIHJlc291cmNlLiAqL1xuICByZWFkb25seSBjZm5SZXBsaWNhdGlvblRhc2s6IGRtcy5DZm5SZXBsaWNhdGlvblRhc2s7XG5cbiAgLyoqIEFSTiBvZiB0aGUgcmVwbGljYXRpb24gdGFzay4gKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25UYXNrQXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERtc1JlcGxpY2F0aW9uVGFza1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHRhc2tJZGVudGlmaWVyID1cbiAgICAgIHByb3BzLnJlcGxpY2F0aW9uVGFza0lkZW50aWZpZXIgPz9cbiAgICAgIGNkay5OYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDYzIH0pLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBjb25zdCB0YXNrU2V0dGluZ3MgPSBwcm9wcy50YXNrU2V0dGluZ3MgPz8gbmV3IFRhc2tTZXR0aW5ncygpLnRvSnNvbigpO1xuXG4gICAgLy8gRE1TIGV4cGVjdHMgY2RjU3RhcnRUaW1lIGFzIGEgVW5peCBlcG9jaCBudW1iZXIgKHNlY29uZHMgc2luY2UgZXBvY2gpXG4gICAgbGV0IGNkY1N0YXJ0VGltZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGlmIChwcm9wcy5jZGNTdGFydFRpbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgcGFyc2VkID0gRGF0ZS5wYXJzZShwcm9wcy5jZGNTdGFydFRpbWUpO1xuICAgICAgY2RjU3RhcnRUaW1lID0gaXNOYU4ocGFyc2VkKSA/IE51bWJlcihwcm9wcy5jZGNTdGFydFRpbWUpIDogTWF0aC5mbG9vcihwYXJzZWQgLyAxMDAwKTtcbiAgICB9XG5cbiAgICB0aGlzLmNmblJlcGxpY2F0aW9uVGFzayA9IG5ldyBkbXMuQ2ZuUmVwbGljYXRpb25UYXNrKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHJlcGxpY2F0aW9uSW5zdGFuY2VBcm46IHByb3BzLnJlcGxpY2F0aW9uSW5zdGFuY2VBcm4sXG4gICAgICBzb3VyY2VFbmRwb2ludEFybjogcHJvcHMuc291cmNlRW5kcG9pbnQuZW5kcG9pbnRBcm4sXG4gICAgICB0YXJnZXRFbmRwb2ludEFybjogcHJvcHMudGFyZ2V0RW5kcG9pbnQuZW5kcG9pbnRBcm4sXG4gICAgICBtaWdyYXRpb25UeXBlOiBwcm9wcy5taWdyYXRpb25UeXBlLFxuICAgICAgdGFibGVNYXBwaW5nczogcHJvcHMudGFibGVNYXBwaW5ncyxcbiAgICAgIHJlcGxpY2F0aW9uVGFza1NldHRpbmdzOiB0YXNrU2V0dGluZ3MsXG4gICAgICByZXBsaWNhdGlvblRhc2tJZGVudGlmaWVyOiB0YXNrSWRlbnRpZmllcixcbiAgICAgIGNkY1N0YXJ0VGltZSxcbiAgICAgIGNkY1N0YXJ0UG9zaXRpb246IHByb3BzLmNkY1N0YXJ0UG9zaXRpb24sXG4gICAgICBjZGNTdG9wUG9zaXRpb246IHByb3BzLmNkY1N0b3BQb3NpdGlvbixcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNmblJlcGxpY2F0aW9uVGFzay5hcHBseVJlbW92YWxQb2xpY3koXG4gICAgICBwcm9wcy5yZW1vdmFsUG9saWN5ID8/IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgKTtcblxuICAgIHRoaXMucmVwbGljYXRpb25UYXNrQXJuID0gdGhpcy5jZm5SZXBsaWNhdGlvblRhc2sucmVmO1xuICB9XG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGljYXRpb24tdGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXBsaWNhdGlvbi10YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBbUM7QUFDbkMseURBQTJDO0FBQzNDLDJDQUF1QztBQUl2QyxtREFBK0M7QUFzRS9DOzs7R0FHRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7O0lBQy9DLCtEQUErRDtJQUN0RCxrQkFBa0IsQ0FBeUI7SUFFcEQsbUNBQW1DO0lBQzFCLGtCQUFrQixDQUFTO0lBRXBDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGNBQWMsR0FDbEIsS0FBSyxDQUFDLHlCQUF5QjtZQUMvQixHQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRFLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSw0QkFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFdkUsd0VBQXdFO1FBQ3hFLElBQUksWUFBZ0MsQ0FBQztRQUNyQyxJQUFJLEtBQUssQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3JFLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0I7WUFDcEQsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXO1lBQ25ELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVztZQUNuRCxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLHVCQUF1QixFQUFFLFlBQVk7WUFDckMseUJBQXlCLEVBQUUsY0FBYztZQUN6QyxZQUFZO1lBQ1osZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FDeEMsS0FBSyxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FDakQsQ0FBQztRQUVGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0lBQ3hELENBQUM7O0FBMUNILGdEQTJDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBkbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWRtcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElEbXNFbmRwb2ludCB9IGZyb20gJy4vZW5kcG9pbnQnO1xuaW1wb3J0IHsgTWlncmF0aW9uVHlwZSB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgVGFibGVNYXBwaW5ncyB9IGZyb20gJy4vdGFibGUtbWFwcGluZ3MnO1xuaW1wb3J0IHsgVGFza1NldHRpbmdzIH0gZnJvbSAnLi90YXNrLXNldHRpbmdzJztcblxuLyoqIFByb3BzIGZvciB7QGxpbmsgRG1zUmVwbGljYXRpb25UYXNrfS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25UYXNrUHJvcHMge1xuICAvKiogQVJOIG9mIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSB0byB1c2UuICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2VBcm46IHN0cmluZztcblxuICAvKiogU291cmNlIGVuZHBvaW50LiAqL1xuICByZWFkb25seSBzb3VyY2VFbmRwb2ludDogSURtc0VuZHBvaW50O1xuXG4gIC8qKiBUYXJnZXQgZW5kcG9pbnQuICovXG4gIHJlYWRvbmx5IHRhcmdldEVuZHBvaW50OiBJRG1zRW5kcG9pbnQ7XG5cbiAgLyoqIFRoZSBtaWdyYXRpb24gdHlwZS4gKi9cbiAgcmVhZG9ubHkgbWlncmF0aW9uVHlwZTogTWlncmF0aW9uVHlwZTtcblxuICAvKipcbiAgICogVGFibGUgbWFwcGluZ3MgSlNPTiBzdHJpbmcuXG4gICAqIFVzZSB7QGxpbmsgVGFibGVNYXBwaW5nc30gdG8gYnVpbGQgdGhpcywgb3IgcHJvdmlkZSBhIHJhdyBKU09OIHN0cmluZy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogdGFibGVNYXBwaW5nczogbmV3IFRhYmxlTWFwcGluZ3MoKS5pbmNsdWRlU2NoZW1hKCdwdWJsaWMnKS50b0pzb24oKVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVNYXBwaW5nczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYXNrIHNldHRpbmdzIEpTT04gc3RyaW5nLlxuICAgKiBVc2Uge0BsaW5rIFRhc2tTZXR0aW5nc30gdG8gYnVpbGQgdGhpcywgb3IgcHJvdmlkZSBhIHJhdyBKU09OIHN0cmluZy5cbiAgICogQSBzZW5zaWJsZSBkZWZhdWx0IGlzIGFwcGxpZWQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFza1NldHRpbmdzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMb2dpY2FsIG5hbWUgZm9yIHRoZSByZXBsaWNhdGlvbiB0YXNrLlxuICAgKiBBdXRvLWdlbmVyYXRlZCBmcm9tIHRoZSBjb25zdHJ1Y3QgSUQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25UYXNrSWRlbnRpZmllcj86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0YXJ0IHRpbWUgYXMgYW4gSVNPLTg2MDEgc3RyaW5nIG9yIFVuaXggZXBvY2ggbnVtYmVyLlxuICAgKiBPbmx5IHZhbGlkIHdoZW4gbWlncmF0aW9uVHlwZSBpcyBDREMgb3IgRlVMTF9MT0FEX0FORF9DREMuXG4gICAqIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGNkY1N0YXJ0UG9zaXRpb24uXG4gICAqL1xuICByZWFkb25seSBjZGNTdGFydFRpbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENEQyBzdGFydCBwb3NpdGlvbiAobG9nIHNlcXVlbmNlIG51bWJlciBvciBzaW1pbGFyKS5cbiAgICogT25seSB2YWxpZCB3aGVuIG1pZ3JhdGlvblR5cGUgaXMgQ0RDIG9yIEZVTExfTE9BRF9BTkRfQ0RDLlxuICAgKiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBjZGNTdGFydFRpbWUuXG4gICAqL1xuICByZWFkb25seSBjZGNTdGFydFBvc2l0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDREMgc3RvcCBwb3NpdGlvbi4gIFRoZSB0YXNrIHN0b3BzIG9uY2UgdGhpcyBwb3NpdGlvbiBpcyByZWFjaGVkLlxuICAgKiBPbmx5IHZhbGlkIHdoZW4gbWlncmF0aW9uVHlwZSBpcyBDREMgb3IgRlVMTF9MT0FEX0FORF9DREMuXG4gICAqL1xuICByZWFkb25seSBjZGNTdG9wUG9zaXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlbW92YWwgcG9saWN5IGZvciB0aGlzIHJlc291cmNlLlxuICAgKiBAZGVmYXVsdCBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogY2RrLlJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFRhZ3MgdG8gYXBwbHkgdG8gdGhlIHRhc2sgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogY2RrLkNmblRhZ1tdO1xufVxuXG4vKipcbiAqIEEgRE1TIHJlcGxpY2F0aW9uIHRhc2sgdGhhdCB0aWVzIGEgcmVwbGljYXRpb24gaW5zdGFuY2UgdG8gYSBzb3VyY2UgYW5kXG4gKiB0YXJnZXQgZW5kcG9pbnQgYW5kIGRlZmluZXMgd2hhdCBkYXRhIHRvIG1pZ3JhdGUgYW5kIGhvdy5cbiAqL1xuZXhwb3J0IGNsYXNzIERtc1JlcGxpY2F0aW9uVGFzayBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKiBUaGUgdW5kZXJseWluZyBDbG91ZEZvcm1hdGlvbiByZXBsaWNhdGlvbiB0YXNrIHJlc291cmNlLiAqL1xuICByZWFkb25seSBjZm5SZXBsaWNhdGlvblRhc2s6IGRtcy5DZm5SZXBsaWNhdGlvblRhc2s7XG5cbiAgLyoqIEFSTiBvZiB0aGUgcmVwbGljYXRpb24gdGFzay4gKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25UYXNrQXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERtc1JlcGxpY2F0aW9uVGFza1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHRhc2tJZGVudGlmaWVyID1cbiAgICAgIHByb3BzLnJlcGxpY2F0aW9uVGFza0lkZW50aWZpZXIgPz9cbiAgICAgIGNkay5OYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDYzIH0pLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBjb25zdCB0YXNrU2V0dGluZ3MgPSBwcm9wcy50YXNrU2V0dGluZ3MgPz8gbmV3IFRhc2tTZXR0aW5ncygpLnRvSnNvbigpO1xuXG4gICAgLy8gRE1TIGV4cGVjdHMgY2RjU3RhcnRUaW1lIGFzIGEgVW5peCBlcG9jaCBudW1iZXIgKHNlY29uZHMgc2luY2UgZXBvY2gpXG4gICAgbGV0IGNkY1N0YXJ0VGltZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGlmIChwcm9wcy5jZGNTdGFydFRpbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgcGFyc2VkID0gRGF0ZS5wYXJzZShwcm9wcy5jZGNTdGFydFRpbWUpO1xuICAgICAgY2RjU3RhcnRUaW1lID0gaXNOYU4ocGFyc2VkKSA/IE51bWJlcihwcm9wcy5jZGNTdGFydFRpbWUpIDogTWF0aC5mbG9vcihwYXJzZWQgLyAxMDAwKTtcbiAgICB9XG5cbiAgICB0aGlzLmNmblJlcGxpY2F0aW9uVGFzayA9IG5ldyBkbXMuQ2ZuUmVwbGljYXRpb25UYXNrKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHJlcGxpY2F0aW9uSW5zdGFuY2VBcm46IHByb3BzLnJlcGxpY2F0aW9uSW5zdGFuY2VBcm4sXG4gICAgICBzb3VyY2VFbmRwb2ludEFybjogcHJvcHMuc291cmNlRW5kcG9pbnQuZW5kcG9pbnRBcm4sXG4gICAgICB0YXJnZXRFbmRwb2ludEFybjogcHJvcHMudGFyZ2V0RW5kcG9pbnQuZW5kcG9pbnRBcm4sXG4gICAgICBtaWdyYXRpb25UeXBlOiBwcm9wcy5taWdyYXRpb25UeXBlLFxuICAgICAgdGFibGVNYXBwaW5nczogcHJvcHMudGFibGVNYXBwaW5ncyxcbiAgICAgIHJlcGxpY2F0aW9uVGFza1NldHRpbmdzOiB0YXNrU2V0dGluZ3MsXG4gICAgICByZXBsaWNhdGlvblRhc2tJZGVudGlmaWVyOiB0YXNrSWRlbnRpZmllcixcbiAgICAgIGNkY1N0YXJ0VGltZSxcbiAgICAgIGNkY1N0YXJ0UG9zaXRpb246IHByb3BzLmNkY1N0YXJ0UG9zaXRpb24sXG4gICAgICBjZGNTdG9wUG9zaXRpb246IHByb3BzLmNkY1N0b3BQb3NpdGlvbixcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNmblJlcGxpY2F0aW9uVGFzay5hcHBseVJlbW92YWxQb2xpY3koXG4gICAgICBwcm9wcy5yZW1vdmFsUG9saWN5ID8/IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgKTtcblxuICAgIHRoaXMucmVwbGljYXRpb25UYXNrQXJuID0gdGhpcy5jZm5SZXBsaWNhdGlvblRhc2sucmVmO1xuICB9XG59XG4iXX0=