@aws-cdk/aws-ec2-alpha 2.219.0-alpha.0 → 2.221.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,38 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
7
35
  };
8
- var _a, _b;
9
36
  Object.defineProperty(exports, "__esModule", { value: true });
10
37
  exports.TransitGatewayBlackholeRoute = exports.TransitGatewayRoute = void 0;
11
38
  const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
@@ -25,74 +52,110 @@ class TransitGatewayRouteBase extends core_1.Resource {
25
52
  *
26
53
  * @resource AWS::EC2::TransitGatewayRoute
27
54
  */
28
- let TransitGatewayRoute = class TransitGatewayRoute extends TransitGatewayRouteBase {
29
- constructor(scope, id, props) {
30
- super(scope, id);
31
- try {
32
- jsiiDeprecationWarnings._aws_cdk_aws_ec2_alpha_TransitGatewayRouteProps(props);
55
+ let TransitGatewayRoute = (() => {
56
+ let _classDecorators = [prop_injectable_1.propertyInjectable];
57
+ let _classDescriptor;
58
+ let _classExtraInitializers = [];
59
+ let _classThis;
60
+ let _classSuper = TransitGatewayRouteBase;
61
+ var TransitGatewayRoute = class extends _classSuper {
62
+ static { _classThis = this; }
63
+ static {
64
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
65
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
66
+ TransitGatewayRoute = _classThis = _classDescriptor.value;
67
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
33
68
  }
34
- catch (error) {
35
- if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
36
- Error.captureStackTrace(error, TransitGatewayRoute);
69
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRoute", version: "2.221.0-alpha.0" };
70
+ /** Uniquely identifies this class. */
71
+ static PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayRoute';
72
+ routeTable;
73
+ destinationCidrBlock;
74
+ /**
75
+ * The AWS CloudFormation resource representing the Transit Gateway Route.
76
+ */
77
+ resource;
78
+ constructor(scope, id, props) {
79
+ super(scope, id);
80
+ try {
81
+ jsiiDeprecationWarnings._aws_cdk_aws_ec2_alpha_TransitGatewayRouteProps(props);
82
+ }
83
+ catch (error) {
84
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
85
+ Error.captureStackTrace(error, TransitGatewayRoute);
86
+ }
87
+ throw error;
37
88
  }
38
- throw error;
89
+ // Enhanced CDK Analytics Telemetry
90
+ (0, metadata_resource_1.addConstructMetadata)(this, props);
91
+ this.resource = new aws_ec2_1.CfnTransitGatewayRoute(this, 'TransitGatewayRoute', {
92
+ blackhole: false,
93
+ destinationCidrBlock: props.destinationCidrBlock,
94
+ transitGatewayRouteTableId: props.transitGatewayRouteTable.routeTableId,
95
+ transitGatewayAttachmentId: props.transitGatewayAttachment?.transitGatewayAttachmentId,
96
+ });
97
+ this.node.defaultChild = this.resource;
98
+ this.destinationCidrBlock = this.resource.destinationCidrBlock;
99
+ this.routeTable = props.transitGatewayRouteTable;
39
100
  }
40
- // Enhanced CDK Analytics Telemetry
41
- (0, metadata_resource_1.addConstructMetadata)(this, props);
42
- this.resource = new aws_ec2_1.CfnTransitGatewayRoute(this, 'TransitGatewayRoute', {
43
- blackhole: false,
44
- destinationCidrBlock: props.destinationCidrBlock,
45
- transitGatewayRouteTableId: props.transitGatewayRouteTable.routeTableId,
46
- transitGatewayAttachmentId: props.transitGatewayAttachment?.transitGatewayAttachmentId,
47
- });
48
- this.node.defaultChild = this.resource;
49
- this.destinationCidrBlock = this.resource.destinationCidrBlock;
50
- this.routeTable = props.transitGatewayRouteTable;
51
- }
52
- };
101
+ static {
102
+ __runInitializers(_classThis, _classExtraInitializers);
103
+ }
104
+ };
105
+ return TransitGatewayRoute = _classThis;
106
+ })();
53
107
  exports.TransitGatewayRoute = TransitGatewayRoute;
54
- _a = JSII_RTTI_SYMBOL_1;
55
- TransitGatewayRoute[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRoute", version: "2.219.0-alpha.0" };
56
- /** Uniquely identifies this class. */
57
- TransitGatewayRoute.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayRoute';
58
- exports.TransitGatewayRoute = TransitGatewayRoute = __decorate([
59
- prop_injectable_1.propertyInjectable
60
- ], TransitGatewayRoute);
61
108
  /**
62
109
  * Create a Transit Gateway Blackhole Route.
63
110
  *
64
111
  * @resource AWS::EC2::TransitGatewayRoute
65
112
  */
66
- let TransitGatewayBlackholeRoute = class TransitGatewayBlackholeRoute extends TransitGatewayRouteBase {
67
- constructor(scope, id, props) {
68
- super(scope, id);
69
- try {
70
- jsiiDeprecationWarnings._aws_cdk_aws_ec2_alpha_TransitGatewayBlackholeRouteProps(props);
113
+ let TransitGatewayBlackholeRoute = (() => {
114
+ let _classDecorators = [prop_injectable_1.propertyInjectable];
115
+ let _classDescriptor;
116
+ let _classExtraInitializers = [];
117
+ let _classThis;
118
+ let _classSuper = TransitGatewayRouteBase;
119
+ var TransitGatewayBlackholeRoute = class extends _classSuper {
120
+ static { _classThis = this; }
121
+ static {
122
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
123
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
124
+ TransitGatewayBlackholeRoute = _classThis = _classDescriptor.value;
125
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
71
126
  }
72
- catch (error) {
73
- if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
74
- Error.captureStackTrace(error, TransitGatewayBlackholeRoute);
127
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayBlackholeRoute", version: "2.221.0-alpha.0" };
128
+ /** Uniquely identifies this class. */
129
+ static PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayBlackholeRoute';
130
+ routeTable;
131
+ destinationCidrBlock;
132
+ constructor(scope, id, props) {
133
+ super(scope, id);
134
+ try {
135
+ jsiiDeprecationWarnings._aws_cdk_aws_ec2_alpha_TransitGatewayBlackholeRouteProps(props);
136
+ }
137
+ catch (error) {
138
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
139
+ Error.captureStackTrace(error, TransitGatewayBlackholeRoute);
140
+ }
141
+ throw error;
75
142
  }
76
- throw error;
143
+ // Enhanced CDK Analytics Telemetry
144
+ (0, metadata_resource_1.addConstructMetadata)(this, props);
145
+ const resource = new aws_ec2_1.CfnTransitGatewayRoute(this, id, {
146
+ blackhole: true,
147
+ destinationCidrBlock: props.destinationCidrBlock,
148
+ transitGatewayRouteTableId: props.transitGatewayRouteTable.routeTableId,
149
+ });
150
+ this.node.defaultChild = resource;
151
+ this.destinationCidrBlock = resource.destinationCidrBlock;
152
+ this.routeTable = props.transitGatewayRouteTable;
77
153
  }
78
- // Enhanced CDK Analytics Telemetry
79
- (0, metadata_resource_1.addConstructMetadata)(this, props);
80
- const resource = new aws_ec2_1.CfnTransitGatewayRoute(this, id, {
81
- blackhole: true,
82
- destinationCidrBlock: props.destinationCidrBlock,
83
- transitGatewayRouteTableId: props.transitGatewayRouteTable.routeTableId,
84
- });
85
- this.node.defaultChild = resource;
86
- this.destinationCidrBlock = resource.destinationCidrBlock;
87
- this.routeTable = props.transitGatewayRouteTable;
88
- }
89
- };
154
+ static {
155
+ __runInitializers(_classThis, _classExtraInitializers);
156
+ }
157
+ };
158
+ return TransitGatewayBlackholeRoute = _classThis;
159
+ })();
90
160
  exports.TransitGatewayBlackholeRoute = TransitGatewayBlackholeRoute;
91
- _b = JSII_RTTI_SYMBOL_1;
92
- TransitGatewayBlackholeRoute[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayBlackholeRoute", version: "2.219.0-alpha.0" };
93
- /** Uniquely identifies this class. */
94
- TransitGatewayBlackholeRoute.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayBlackholeRoute';
95
- exports.TransitGatewayBlackholeRoute = TransitGatewayBlackholeRoute = __decorate([
96
- prop_injectable_1.propertyInjectable
97
- ], TransitGatewayBlackholeRoute);
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXJvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF1RDtBQUV2RCxpREFBNkQ7QUFHN0QsOEVBQThFO0FBQzlFLDBFQUEwRTtBQTREMUU7OztHQUdHO0FBQ0gsTUFBZSx1QkFBd0IsU0FBUSxlQUFRO0NBR3REO0FBRUQ7Ozs7R0FJRztBQUVJLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW9CLFNBQVEsdUJBQXVCO0lBVzlELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7OytDQVpSLG1CQUFtQjs7OztRQWE1QixtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGdDQUFzQixDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtZQUN0RSxTQUFTLEVBQUUsS0FBSztZQUNoQixvQkFBb0IsRUFBRSxLQUFLLENBQUMsb0JBQW9CO1lBQ2hELDBCQUEwQixFQUFFLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZO1lBQ3ZFLDBCQUEwQixFQUFFLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSwwQkFBMEI7U0FDdkYsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztLQUNsRDs7QUExQlUsa0RBQW1COzs7QUFDOUIsc0NBQXNDO0FBQ2YseUNBQXFCLEdBQVcsNENBQTRDLEFBQXZELENBQXdEOzhCQUZ6RixtQkFBbUI7SUFEL0Isb0NBQWtCO0dBQ04sbUJBQW1CLENBMkIvQjtBQUVEOzs7O0dBSUc7QUFFSSxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE2QixTQUFRLHVCQUF1QjtJQU12RSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdDO1FBQ2hGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7OzsrQ0FQUiw0QkFBNEI7Ozs7UUFRckMsbUNBQW1DO1FBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksZ0NBQXNCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxTQUFTLEVBQUUsSUFBSTtZQUNmLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7WUFDaEQsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFlBQVk7U0FDeEUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsd0JBQXdCLENBQUM7S0FDbEQ7O0FBcEJVLG9FQUE0Qjs7O0FBQ3ZDLHNDQUFzQztBQUNmLGtEQUFxQixHQUFXLHFEQUFxRCxBQUFoRSxDQUFpRTt1Q0FGbEcsNEJBQTRCO0lBRHhDLG9DQUFrQjtHQUNOLDRCQUE0QixDQXFCeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzb3VyY2UsIFJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IENmblRyYW5zaXRHYXRld2F5Um91dGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZSc7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktYXR0YWNobWVudCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNpdEdhdGV3YXlSb3V0ZSBleHRlbmRzIElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gQ0lEUiBibG9jayBmb3IgdGhpcyByb3V0ZS5cbiAgICpcbiAgICogRGVzdGluYXRpb24gQ2lkciBjYW5ub3Qgb3ZlcmxhcCBmb3Igc3RhdGljIHJvdXRlcyBidXQgaXMgYWxsb3dlZCBmb3IgcHJvcGFnYXRlZCByb3V0ZXMuXG4gICAqIFdoZW4gb3ZlcmxhcHBpbmcgb2NjdXJzLCBzdGF0aWMgcm91dGVzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHByb3BhZ2F0ZWQgcm91dGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb25DaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSByb3V0ZSB0YWJsZSB0aGlzIHJvdXRlIGJlbG9uZ3MgdG8uXG4gICAqL1xuICByZWFkb25seSByb3V0ZVRhYmxlOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xufVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlVHJhbnNpdEdhdGV3YXlSb3V0ZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBDSURSIGJsb2NrIGZvciB0aGlzIHJvdXRlLlxuICAgKlxuICAgKiBEZXN0aW5hdGlvbiBDaWRyIGNhbm5vdCBvdmVybGFwIGZvciBzdGF0aWMgcm91dGVzIGJ1dCBpcyBhbGxvd2VkIGZvciBwcm9wYWdhdGVkIHJvdXRlcy5cbiAgICogV2hlbiBvdmVybGFwcGluZyBvY2N1cnMsIHN0YXRpYyByb3V0ZXMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJvcGFnYXRlZCByb3V0ZXMuXG4gICAqL1xuICByZWFkb25seSBkZXN0aW5hdGlvbkNpZHJCbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNpdCBnYXRld2F5IHJvdXRlIHRhYmxlIHlvdSB3YW50IHRvIGluc3RhbGwgdGhpcyByb3V0ZSBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xuXG4gIC8qKlxuICAgKiBQaHlzaWNhbCBuYW1lIG9mIHRoaXMgVHJhbnNpdCBHYXRld2F5IFJvdXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFzc2lnbmVkIGJ5IENsb3VkRm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlSb3V0ZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnRpZXMgZm9yIGEgVHJhbnNpdCBHYXRld2F5IFJvdXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zaXRHYXRld2F5Um91dGVQcm9wcyBleHRlbmRzIEJhc2VUcmFuc2l0R2F0ZXdheVJvdXRlUHJvcHMge1xuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSBhdHRhY2htZW50IHRvIHJvdXRlIHRoZSB0cmFmZmljIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50OiBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgVHJhbnNpdCBHYXRld2F5IEJsYWNraG9sZSBSb3V0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0R2F0ZXdheUJsYWNraG9sZVJvdXRlUHJvcHMgZXh0ZW5kcyBCYXNlVHJhbnNpdEdhdGV3YXlSb3V0ZVByb3BzIHt9XG5cbi8qKlxuICogQSBUcmFuc2l0IEdhdGV3YXkgUm91dGUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuYWJzdHJhY3QgY2xhc3MgVHJhbnNpdEdhdGV3YXlSb3V0ZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElUcmFuc2l0R2F0ZXdheVJvdXRlIHtcbiAgcHVibGljIGFic3RyYWN0IHJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG4gIHB1YmxpYyBhYnN0cmFjdCBkZXN0aW5hdGlvbkNpZHJCbG9jazogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIFRyYW5zaXQgR2F0ZXdheSBBY3RpdmUgUm91dGUuXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBUcmFuc2l0R2F0ZXdheVJvdXRlIGV4dGVuZHMgVHJhbnNpdEdhdGV3YXlSb3V0ZUJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1lYzItYWxwaGEuVHJhbnNpdEdhdGV3YXlSb3V0ZSc7XG4gIHB1YmxpYyByZWFkb25seSByb3V0ZVRhYmxlOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzdGluYXRpb25DaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFXUyBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVHJhbnNpdEdhdGV3YXlSb3V0ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZSh0aGlzLCAnVHJhbnNpdEdhdGV3YXlSb3V0ZScsIHtcbiAgICAgIGJsYWNraG9sZTogZmFsc2UsXG4gICAgICBkZXN0aW5hdGlvbkNpZHJCbG9jazogcHJvcHMuZGVzdGluYXRpb25DaWRyQmxvY2ssXG4gICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGVJZDogcHJvcHMudHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlLnJvdXRlVGFibGVJZCxcbiAgICAgIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkOiBwcm9wcy50cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQ/LnRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMucmVzb3VyY2U7XG4gICAgdGhpcy5kZXN0aW5hdGlvbkNpZHJCbG9jayA9IHRoaXMucmVzb3VyY2UuZGVzdGluYXRpb25DaWRyQmxvY2s7XG4gICAgdGhpcy5yb3V0ZVRhYmxlID0gcHJvcHMudHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgVHJhbnNpdCBHYXRld2F5IEJsYWNraG9sZSBSb3V0ZS5cbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5Um91dGVcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFRyYW5zaXRHYXRld2F5QmxhY2tob2xlUm91dGUgZXh0ZW5kcyBUcmFuc2l0R2F0ZXdheVJvdXRlQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5UcmFuc2l0R2F0ZXdheUJsYWNraG9sZVJvdXRlJztcbiAgcHVibGljIHJlYWRvbmx5IHJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG4gIHB1YmxpYyByZWFkb25seSBkZXN0aW5hdGlvbkNpZHJCbG9jazogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2l0R2F0ZXdheUJsYWNraG9sZVJvdXRlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZSh0aGlzLCBpZCwge1xuICAgICAgYmxhY2tob2xlOiB0cnVlLFxuICAgICAgZGVzdGluYXRpb25DaWRyQmxvY2s6IHByb3BzLmRlc3RpbmF0aW9uQ2lkckJsb2NrLFxuICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlSWQ6IHByb3BzLnRyYW5zaXRHYXRld2F5Um91dGVUYWJsZS5yb3V0ZVRhYmxlSWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gcmVzb3VyY2U7XG4gICAgdGhpcy5kZXN0aW5hdGlvbkNpZHJCbG9jayA9IHJlc291cmNlLmRlc3RpbmF0aW9uQ2lkckJsb2NrO1xuICAgIHRoaXMucm91dGVUYWJsZSA9IHByb3BzLnRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcbiAgfVxufVxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXJvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF1RDtBQUV2RCxpREFBNkQ7QUFHN0QsOEVBQThFO0FBQzlFLDBFQUEwRTtBQTREMUU7OztHQUdHO0FBQ0gsTUFBZSx1QkFBd0IsU0FBUSxlQUFRO0NBR3REO0FBRUQ7Ozs7R0FJRztJQUVVLG1CQUFtQjs0QkFEL0Isb0NBQWtCOzs7O3NCQUNzQix1QkFBdUI7bUNBQS9CLFNBQVEsV0FBdUI7Ozs7WUFBaEUsNktBMkJDOzs7OztRQTFCQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLDRDQUE0QyxDQUFDO1FBQ3BGLFVBQVUsQ0FBNEI7UUFDdEMsb0JBQW9CLENBQVM7UUFFN0M7O1dBRUc7UUFDYSxRQUFRLENBQXlCO1FBRWpELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7WUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7O21EQVpSLG1CQUFtQjs7OztZQWE1QixtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGdDQUFzQixDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtnQkFDdEUsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7Z0JBQ2hELDBCQUEwQixFQUFFLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZO2dCQUN2RSwwQkFBMEIsRUFBRSxLQUFLLENBQUMsd0JBQXdCLEVBQUUsMEJBQTBCO2FBQ3ZGLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUM7WUFDL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsd0JBQXdCLENBQUM7U0FDbEQ7O1lBMUJVLHVEQUFtQjs7Ozs7QUFBbkIsa0RBQW1CO0FBNkJoQzs7OztHQUlHO0lBRVUsNEJBQTRCOzRCQUR4QyxvQ0FBa0I7Ozs7c0JBQytCLHVCQUF1Qjs0Q0FBL0IsU0FBUSxXQUF1Qjs7OztZQUF6RSw2S0FxQkM7Ozs7O1FBcEJDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQVcscURBQXFELENBQUM7UUFDN0YsVUFBVSxDQUE0QjtRQUN0QyxvQkFBb0IsQ0FBUztRQUU3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdDO1lBQ2hGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7OzttREFQUiw0QkFBNEI7Ozs7WUFRckMsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksZ0NBQXNCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtnQkFDcEQsU0FBUyxFQUFFLElBQUk7Z0JBQ2Ysb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFlBQVk7YUFDeEUsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUM7WUFDMUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsd0JBQXdCLENBQUM7U0FDbEQ7O1lBcEJVLHVEQUE0Qjs7Ozs7QUFBNUIsb0VBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlc291cmNlLCBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDZm5UcmFuc2l0R2F0ZXdheVJvdXRlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUnO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zaXRHYXRld2F5Um91dGUgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIGRlc3RpbmF0aW9uIENJRFIgYmxvY2sgZm9yIHRoaXMgcm91dGUuXG4gICAqXG4gICAqIERlc3RpbmF0aW9uIENpZHIgY2Fubm90IG92ZXJsYXAgZm9yIHN0YXRpYyByb3V0ZXMgYnV0IGlzIGFsbG93ZWQgZm9yIHByb3BhZ2F0ZWQgcm91dGVzLlxuICAgKiBXaGVuIG92ZXJsYXBwaW5nIG9jY3Vycywgc3RhdGljIHJvdXRlcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcm9wYWdhdGVkIHJvdXRlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uQ2lkckJsb2NrOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgdGhpcyByb3V0ZSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGVUYWJsZTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVRyYW5zaXRHYXRld2F5Um91dGVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gQ0lEUiBibG9jayBmb3IgdGhpcyByb3V0ZS5cbiAgICpcbiAgICogRGVzdGluYXRpb24gQ2lkciBjYW5ub3Qgb3ZlcmxhcCBmb3Igc3RhdGljIHJvdXRlcyBidXQgaXMgYWxsb3dlZCBmb3IgcHJvcGFnYXRlZCByb3V0ZXMuXG4gICAqIFdoZW4gb3ZlcmxhcHBpbmcgb2NjdXJzLCBzdGF0aWMgcm91dGVzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHByb3BhZ2F0ZWQgcm91dGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb25DaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSByb3V0ZSB0YWJsZSB5b3Ugd2FudCB0byBpbnN0YWxsIHRoaXMgcm91dGUgaW50by5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcblxuICAvKipcbiAgICogUGh5c2ljYWwgbmFtZSBvZiB0aGlzIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0R2F0ZXdheVJvdXRlUHJvcHMgZXh0ZW5kcyBCYXNlVHJhbnNpdEdhdGV3YXlSb3V0ZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB0cmFuc2l0IGdhdGV3YXkgYXR0YWNobWVudCB0byByb3V0ZSB0aGUgdHJhZmZpYyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5QXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudDtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFRyYW5zaXQgR2F0ZXdheSBCbGFja2hvbGUgUm91dGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdEdhdGV3YXlCbGFja2hvbGVSb3V0ZVByb3BzIGV4dGVuZHMgQmFzZVRyYW5zaXRHYXRld2F5Um91dGVQcm9wcyB7fVxuXG4vKipcbiAqIEEgVHJhbnNpdCBHYXRld2F5IFJvdXRlLlxuICogQGludGVybmFsXG4gKi9cbmFic3RyYWN0IGNsYXNzIFRyYW5zaXRHYXRld2F5Um91dGVCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJVHJhbnNpdEdhdGV3YXlSb3V0ZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByb3V0ZVRhYmxlOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xuICBwdWJsaWMgYWJzdHJhY3QgZGVzdGluYXRpb25DaWRyQmxvY2s6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBUcmFuc2l0IEdhdGV3YXkgQWN0aXZlIFJvdXRlLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgVHJhbnNpdEdhdGV3YXlSb3V0ZSBleHRlbmRzIFRyYW5zaXRHYXRld2F5Um91dGVCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZWMyLWFscGhhLlRyYW5zaXRHYXRld2F5Um91dGUnO1xuICBwdWJsaWMgcmVhZG9ubHkgcm91dGVUYWJsZTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcbiAgcHVibGljIHJlYWRvbmx5IGRlc3RpbmF0aW9uQ2lkckJsb2NrOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBUcmFuc2l0IEdhdGV3YXkgUm91dGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IENmblRyYW5zaXRHYXRld2F5Um91dGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRyYW5zaXRHYXRld2F5Um91dGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmblRyYW5zaXRHYXRld2F5Um91dGUodGhpcywgJ1RyYW5zaXRHYXRld2F5Um91dGUnLCB7XG4gICAgICBibGFja2hvbGU6IGZhbHNlLFxuICAgICAgZGVzdGluYXRpb25DaWRyQmxvY2s6IHByb3BzLmRlc3RpbmF0aW9uQ2lkckJsb2NrLFxuICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlSWQ6IHByb3BzLnRyYW5zaXRHYXRld2F5Um91dGVUYWJsZS5yb3V0ZVRhYmxlSWQsXG4gICAgICB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRJZDogcHJvcHMudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50Py50cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRJZCxcbiAgICB9KTtcblxuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLnJlc291cmNlO1xuICAgIHRoaXMuZGVzdGluYXRpb25DaWRyQmxvY2sgPSB0aGlzLnJlc291cmNlLmRlc3RpbmF0aW9uQ2lkckJsb2NrO1xuICAgIHRoaXMucm91dGVUYWJsZSA9IHByb3BzLnRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZSBhIFRyYW5zaXQgR2F0ZXdheSBCbGFja2hvbGUgUm91dGUuXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBUcmFuc2l0R2F0ZXdheUJsYWNraG9sZVJvdXRlIGV4dGVuZHMgVHJhbnNpdEdhdGV3YXlSb3V0ZUJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1lYzItYWxwaGEuVHJhbnNpdEdhdGV3YXlCbGFja2hvbGVSb3V0ZSc7XG4gIHB1YmxpYyByZWFkb25seSByb3V0ZVRhYmxlOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzdGluYXRpb25DaWRyQmxvY2s6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVHJhbnNpdEdhdGV3YXlCbGFja2hvbGVSb3V0ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmblRyYW5zaXRHYXRld2F5Um91dGUodGhpcywgaWQsIHtcbiAgICAgIGJsYWNraG9sZTogdHJ1ZSxcbiAgICAgIGRlc3RpbmF0aW9uQ2lkckJsb2NrOiBwcm9wcy5kZXN0aW5hdGlvbkNpZHJCbG9jayxcbiAgICAgIHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUlkOiBwcm9wcy50cmFuc2l0R2F0ZXdheVJvdXRlVGFibGUucm91dGVUYWJsZUlkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHJlc291cmNlO1xuICAgIHRoaXMuZGVzdGluYXRpb25DaWRyQmxvY2sgPSByZXNvdXJjZS5kZXN0aW5hdGlvbkNpZHJCbG9jaztcbiAgICB0aGlzLnJvdXRlVGFibGUgPSBwcm9wcy50cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,38 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
7
35
  };
8
- var _a;
9
36
  Object.defineProperty(exports, "__esModule", { value: true });
10
37
  exports.TransitGatewayVpcAttachment = void 0;
11
38
  const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
@@ -23,86 +50,105 @@ const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
23
50
  *
24
51
  * @resource AWS::EC2::TransitGatewayAttachment
25
52
  */
26
- let TransitGatewayVpcAttachment = class TransitGatewayVpcAttachment extends transit_gateway_attachment_1.TransitGatewayAttachmentBase {
27
- constructor(scope, id, props) {
28
- super(scope, id);
29
- this.subnets = [];
30
- try {
31
- jsiiDeprecationWarnings._aws_cdk_aws_ec2_alpha_TransitGatewayVpcAttachmentProps(props);
53
+ let TransitGatewayVpcAttachment = (() => {
54
+ let _classDecorators = [prop_injectable_1.propertyInjectable];
55
+ let _classDescriptor;
56
+ let _classExtraInitializers = [];
57
+ let _classThis;
58
+ let _classSuper = transit_gateway_attachment_1.TransitGatewayAttachmentBase;
59
+ var TransitGatewayVpcAttachment = class extends _classSuper {
60
+ static { _classThis = this; }
61
+ static {
62
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
63
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
64
+ TransitGatewayVpcAttachment = _classThis = _classDescriptor.value;
65
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
32
66
  }
33
- catch (error) {
34
- if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
35
- Error.captureStackTrace(error, TransitGatewayVpcAttachment);
67
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayVpcAttachment", version: "2.221.0-alpha.0" };
68
+ /** Uniquely identifies this class. */
69
+ static PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayVpcAttachment';
70
+ transitGatewayAttachmentId;
71
+ subnets = [];
72
+ /**
73
+ * The AWS CloudFormation resource representing the Transit Gateway Attachment.
74
+ */
75
+ _resource;
76
+ constructor(scope, id, props) {
77
+ super(scope, id);
78
+ try {
79
+ jsiiDeprecationWarnings._aws_cdk_aws_ec2_alpha_TransitGatewayVpcAttachmentProps(props);
36
80
  }
37
- throw error;
38
- }
39
- // Enhanced CDK Analytics Telemetry
40
- (0, metadata_resource_1.addConstructMetadata)(this, props);
41
- this._resource = new aws_ec2_1.CfnTransitGatewayAttachment(this, id, {
42
- subnetIds: props.subnets.map((subnet) => subnet.subnetId),
43
- transitGatewayId: props.transitGateway.transitGatewayId,
44
- vpcId: props.vpc.vpcId,
45
- options: props.vpcAttachmentOptions ? {
46
- ApplianceModeSupport: (0, util_1.getFeatureStatus)(props.vpcAttachmentOptions?.applianceModeSupport),
47
- DnsSupport: (0, util_1.getFeatureStatus)(props.vpcAttachmentOptions?.dnsSupport),
48
- Ipv6Support: (0, util_1.getFeatureStatus)(props.vpcAttachmentOptions?.ipv6Support),
49
- SecurityGroupReferencingSupport: (0, util_1.getFeatureStatus)(props.vpcAttachmentOptions?.securityGroupReferencingSupport),
50
- } : undefined,
51
- });
52
- this.node.defaultChild = this._resource;
53
- this.transitGatewayAttachmentId = this._resource.attrId;
54
- this.subnets = props.subnets;
55
- if (props.vpcAttachmentOptions?.dnsSupport && !props.transitGateway.dnsSupport) {
56
- aws_cdk_lib_1.Annotations.of(this).addWarningV2('@aws-cdk/aws-ec2:transitGatewayDnsSupportMismatch', '\'DnsSupport\' is enabled for the VPC Attachment but disabled on the TransitGateway. The feature will not work unless \'DnsSupport\' is enabled on both.');
57
- }
58
- if (props.vpcAttachmentOptions?.securityGroupReferencingSupport && !props.transitGateway.securityGroupReferencingSupport) {
59
- aws_cdk_lib_1.Annotations.of(this).addWarningV2('@aws-cdk/aws-ec2:transitGatewaySecurityGroupReferencingSupportMismatch', '\'SecurityGroupReferencingSupport\' is enabled for the VPC Attachment but disabled on the TransitGateway. The feature will not work unless \'SecurityGroupReferencingSupport\' is enabled on both.');
60
- }
61
- if (props.transitGateway.defaultRouteTableAssociation) {
62
- new transit_gateway_route_table_association_1.TransitGatewayRouteTableAssociation(this, id + 'Association', {
63
- transitGatewayVpcAttachment: this,
64
- transitGatewayRouteTable: props.transitGateway.defaultRouteTable,
65
- });
66
- }
67
- if (props.transitGateway.defaultRouteTablePropagation) {
68
- new transit_gateway_route_table_propagation_1.TransitGatewayRouteTablePropagation(this, id + 'Propagation', {
69
- transitGatewayVpcAttachment: this,
70
- transitGatewayRouteTable: props.transitGateway.defaultRouteTable,
81
+ catch (error) {
82
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
83
+ Error.captureStackTrace(error, TransitGatewayVpcAttachment);
84
+ }
85
+ throw error;
86
+ }
87
+ // Enhanced CDK Analytics Telemetry
88
+ (0, metadata_resource_1.addConstructMetadata)(this, props);
89
+ this._resource = new aws_ec2_1.CfnTransitGatewayAttachment(this, id, {
90
+ subnetIds: props.subnets.map((subnet) => subnet.subnetId),
91
+ transitGatewayId: props.transitGateway.transitGatewayId,
92
+ vpcId: props.vpc.vpcId,
93
+ options: props.vpcAttachmentOptions ? {
94
+ ApplianceModeSupport: (0, util_1.getFeatureStatus)(props.vpcAttachmentOptions?.applianceModeSupport),
95
+ DnsSupport: (0, util_1.getFeatureStatus)(props.vpcAttachmentOptions?.dnsSupport),
96
+ Ipv6Support: (0, util_1.getFeatureStatus)(props.vpcAttachmentOptions?.ipv6Support),
97
+ SecurityGroupReferencingSupport: (0, util_1.getFeatureStatus)(props.vpcAttachmentOptions?.securityGroupReferencingSupport),
98
+ } : undefined,
71
99
  });
100
+ this.node.defaultChild = this._resource;
101
+ this.transitGatewayAttachmentId = this._resource.attrId;
102
+ this.subnets = props.subnets;
103
+ if (props.vpcAttachmentOptions?.dnsSupport && !props.transitGateway.dnsSupport) {
104
+ aws_cdk_lib_1.Annotations.of(this).addWarningV2('@aws-cdk/aws-ec2:transitGatewayDnsSupportMismatch', '\'DnsSupport\' is enabled for the VPC Attachment but disabled on the TransitGateway. The feature will not work unless \'DnsSupport\' is enabled on both.');
105
+ }
106
+ if (props.vpcAttachmentOptions?.securityGroupReferencingSupport && !props.transitGateway.securityGroupReferencingSupport) {
107
+ aws_cdk_lib_1.Annotations.of(this).addWarningV2('@aws-cdk/aws-ec2:transitGatewaySecurityGroupReferencingSupportMismatch', '\'SecurityGroupReferencingSupport\' is enabled for the VPC Attachment but disabled on the TransitGateway. The feature will not work unless \'SecurityGroupReferencingSupport\' is enabled on both.');
108
+ }
109
+ if (props.transitGateway.defaultRouteTableAssociation) {
110
+ new transit_gateway_route_table_association_1.TransitGatewayRouteTableAssociation(this, id + 'Association', {
111
+ transitGatewayVpcAttachment: this,
112
+ transitGatewayRouteTable: props.transitGateway.defaultRouteTable,
113
+ });
114
+ }
115
+ if (props.transitGateway.defaultRouteTablePropagation) {
116
+ new transit_gateway_route_table_propagation_1.TransitGatewayRouteTablePropagation(this, id + 'Propagation', {
117
+ transitGatewayVpcAttachment: this,
118
+ transitGatewayRouteTable: props.transitGateway.defaultRouteTable,
119
+ });
120
+ }
72
121
  }
73
- }
74
- /**
75
- * Add additional subnets to this attachment.
76
- */
77
- addSubnets(subnets) {
78
- for (const subnet of subnets) {
79
- if (this.subnets.some(existing => existing.subnetId === subnet.subnetId)) {
80
- throw new Error(`Subnet with ID ${subnet.subnetId} is already added to the Attachment ${this.transitGatewayAttachmentId}.`);
122
+ /**
123
+ * Add additional subnets to this attachment.
124
+ */
125
+ addSubnets(subnets) {
126
+ for (const subnet of subnets) {
127
+ if (this.subnets.some(existing => existing.subnetId === subnet.subnetId)) {
128
+ throw new Error(`Subnet with ID ${subnet.subnetId} is already added to the Attachment ${this.transitGatewayAttachmentId}.`);
129
+ }
130
+ this.subnets.push(subnet);
81
131
  }
82
- this.subnets.push(subnet);
132
+ this._resource.subnetIds = this.subnets.map(subnet => subnet.subnetId);
83
133
  }
84
- this._resource.subnetIds = this.subnets.map(subnet => subnet.subnetId);
85
- }
86
- /**
87
- * Remove additional subnets to this attachment.
88
- */
89
- removeSubnets(subnets) {
90
- for (const subnet of subnets) {
91
- const index = this.subnets.findIndex(existing => existing.subnetId === subnet.subnetId);
92
- if (index === -1) {
93
- throw new Error(`Subnet with ID ${subnet.subnetId} does not exist in the Attachment ${this.transitGatewayAttachmentId}.`);
134
+ /**
135
+ * Remove additional subnets to this attachment.
136
+ */
137
+ removeSubnets(subnets) {
138
+ for (const subnet of subnets) {
139
+ const index = this.subnets.findIndex(existing => existing.subnetId === subnet.subnetId);
140
+ if (index === -1) {
141
+ throw new Error(`Subnet with ID ${subnet.subnetId} does not exist in the Attachment ${this.transitGatewayAttachmentId}.`);
142
+ }
143
+ this.subnets.splice(index, 1);
94
144
  }
95
- this.subnets.splice(index, 1);
145
+ this._resource.subnetIds = this.subnets.map(subnet => subnet.subnetId);
96
146
  }
97
- this._resource.subnetIds = this.subnets.map(subnet => subnet.subnetId);
98
- }
99
- };
147
+ static {
148
+ __runInitializers(_classThis, _classExtraInitializers);
149
+ }
150
+ };
151
+ return TransitGatewayVpcAttachment = _classThis;
152
+ })();
100
153
  exports.TransitGatewayVpcAttachment = TransitGatewayVpcAttachment;
101
- _a = JSII_RTTI_SYMBOL_1;
102
- TransitGatewayVpcAttachment[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayVpcAttachment", version: "2.219.0-alpha.0" };
103
- /** Uniquely identifies this class. */
104
- TransitGatewayVpcAttachment.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayVpcAttachment';
105
- exports.TransitGatewayVpcAttachment = TransitGatewayVpcAttachment = __decorate([
106
- prop_injectable_1.propertyInjectable
107
- ], TransitGatewayVpcAttachment);
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLGlEQUFpRjtBQUVqRix1R0FBZ0c7QUFDaEcsdUdBQWdHO0FBQ2hHLDZFQUF1RztBQUN2RyxpQ0FBMEM7QUFFMUMsNkNBQTBDO0FBQzFDLDhFQUE4RTtBQUM5RSwwRUFBMEU7QUE2RzFFOzs7O0dBSUc7QUFFSSxJQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUE0QixTQUFRLHlEQUE0QjtJQVczRSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVDO1FBQy9FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFSRixZQUFPLEdBQWMsRUFBRSxDQUFDOzs7Ozs7K0NBSjlCLDJCQUEyQjs7OztRQWFwQyxtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFDQUEyQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDekQsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQ3pELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsZ0JBQWdCO1lBQ3ZELEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUs7WUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLG9CQUFvQixFQUFFLElBQUEsdUJBQWdCLEVBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO2dCQUN4RixVQUFVLEVBQUUsSUFBQSx1QkFBZ0IsRUFBQyxL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RSxDQUFDO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixNQUFNLENBQUMsUUFBUSxxQ0FBcUMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQztZQUM1SCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN4RTs7QUFoRlUsa0VBQTJCOzs7QUFDdEMsc0NBQXNDO0FBQ2YsaURBQXFCLEdBQVcsb0RBQW9ELEFBQS9ELENBQWdFO3NDQUZqRywyQkFBMkI7SUFEdkMsb0NBQWtCO0dBQ04sMkJBQTJCLENBaUZ2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUcmFuc2l0R2F0ZXdheSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5JztcbmltcG9ydCB7IENmblRyYW5zaXRHYXRld2F5QXR0YWNobWVudCwgSVN1Ym5ldCwgSVZwYyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbiB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLWFzc29jaWF0aW9uJztcbmltcG9ydCB7IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUtcHJvcGFnYXRpb24nO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCwgVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50QmFzZSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgZ2V0RmVhdHVyZVN0YXR1cyB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGFwcGxpYW5jZSBtb2RlIHN1cHBvcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBhcHBsaWFuY2VNb2RlU3VwcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIEROUyBzdXBwb3J0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRpc2FibGUgKGZhbHNlKVxuICAgKi9cbiAgcmVhZG9ubHkgZG5zU3VwcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIElQdjYgc3VwcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXNhYmxlIChmYWxzZSlcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlcyB5b3UgdG8gcmVmZXJlbmNlIGEgc2VjdXJpdHkgZ3JvdXAgYWNyb3NzIFZQQ3MgYXR0YWNoZWQgdG8gYSB0cmFuc2l0IGdhdGV3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQgZXh0ZW5kcyBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50IHtcbiAgLyoqXG4gICAqIEFkZCBhZGRpdGlvbmFsIHN1Ym5ldHMgdG8gdGhpcyBhdHRhY2htZW50LlxuICAgKi9cbiAgYWRkU3VibmV0cyhzdWJuZXRzOiBJU3VibmV0W10pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgc3VibmV0cyBmcm9tIHRoaXMgYXR0YWNobWVudC5cbiAgICovXG4gIHJlbW92ZVN1Ym5ldHMoc3VibmV0czogSVN1Ym5ldFtdKTogdm9pZDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQuXG4gKi9cbmludGVyZmFjZSBCYXNlVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMge1xuICAvKipcbiAgICogQSBsaXN0IG9mIG9uZSBvciBtb3JlIHN1Ym5ldHMgdG8gcGxhY2UgdGhlIGF0dGFjaG1lbnQgaW4uXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIHNwZWNpZnkgbW9yZSBzdWJuZXRzIGZvciBiZXR0ZXIgYXZhaWxhYmlsaXR5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0czogSVN1Ym5ldFtdO1xuXG4gIC8qKlxuICAgKiBBIFZQQyBhdHRhY2htZW50KHMpIHdpbGwgZ2V0IGFzc2lnbmVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGF0dGFjaG1lbnQgb3B0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbGwgb3B0aW9ucyBhcmUgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB2cGNBdHRhY2htZW50T3B0aW9ucz86IElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBQaHlzaWNhbCBuYW1lIG9mIHRoaXMgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFzc2lnbmVkIGJ5IENsb3VkRm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMgZXh0ZW5kcyBCYXNlVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMge1xuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSB0aGlzIGF0dGFjaG1lbnQgZ2V0cyBhc3NpZ25lZCB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5OiBJVHJhbnNpdEdhdGV3YXk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYW4gQXR0YWNobWVudCB2aWEgdGhlIGF0dGFjaFZwYygpIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRhY2hWcGNPcHRpb25zIGV4dGVuZHMgQmFzZVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudFByb3BzIHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHJvdXRlIHRhYmxlIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgVlBDIGF0dGFjaG1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gYXNzb2NpYXRpb25zIHdpbGwgYmUgY3JlYXRlZCB1bmxlc3MgaXQgaXMgZm9yIHRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIGFuZCBhdXRvbWF0aWMgYXNzb2NpYXRpb24gaXMgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFzc29jaWF0aW9uUm91dGVUYWJsZT86IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBvcHRpb25hbCByb3V0ZSB0YWJsZXMgdG8gcHJvcGFnYXRlIHJvdXRlcyB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBwcm9wYWdhdGlvbnMgd2lsbCBiZSBjcmVhdGVkIHVubGVzcyBpdCBpcyBmb3IgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgYW5kIGF1dG9tYXRpYyBwcm9wYWdhdGlvbiBpcyBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGFnYXRpb25Sb3V0ZVRhYmxlcz86IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVbXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlBdHRhY2htZW50XG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQgZXh0ZW5kcyBUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRCYXNlIGltcGxlbWVudHMgSVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5UcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQnO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJuZXRzOiBJU3VibmV0W10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIEFXUyBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIFRyYW5zaXQgR2F0ZXdheSBBdHRhY2htZW50LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzb3VyY2U6IENmblRyYW5zaXRHYXRld2F5QXR0YWNobWVudDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5fcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50KHRoaXMsIGlkLCB7XG4gICAgICBzdWJuZXRJZHM6IHByb3BzLnN1Ym5ldHMubWFwKChzdWJuZXQpID0+IHN1Ym5ldC5zdWJuZXRJZCksXG4gICAgICB0cmFuc2l0R2F0ZXdheUlkOiBwcm9wcy50cmFuc2l0R2F0ZXdheS50cmFuc2l0R2F0ZXdheUlkLFxuICAgICAgdnBjSWQ6IHByb3BzLnZwYy52cGNJZCxcbiAgICAgIG9wdGlvbnM6IHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zID8ge1xuICAgICAgICBBcHBsaWFuY2VNb2RlU3VwcG9ydDogZ2V0RmVhdHVyZVN0YXR1cyhwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uYXBwbGlhbmNlTW9kZVN1cHBvcnQpLFxuICAgICAgICBEbnNTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5kbnNTdXBwb3J0KSxcbiAgICAgICAgSXB2NlN1cHBvcnQ6IGdldEZlYXR1cmVTdGF0dXMocHJvcHMudnBjQXR0YWNobWVudE9wdGlvbnM/LmlwdjZTdXBwb3J0KSxcbiAgICAgICAgU2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydDogZ2V0RmVhdHVyZVN0YXR1cyhwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydCksXG4gICAgICB9IDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLl9yZXNvdXJjZTtcblxuICAgIHRoaXMudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQgPSB0aGlzLl9yZXNvdXJjZS5hdHRySWQ7XG4gICAgdGhpcy5zdWJuZXRzID0gcHJvcHMuc3VibmV0cztcblxuICAgIGlmIChwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uZG5zU3VwcG9ydCAmJiAhcHJvcHMudHJhbnNpdEdhdGV3YXkuZG5zU3VwcG9ydCkge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZ1YyKCdAYXdzLWNkay9hd3MtZWMyOnRyYW5zaXRHYXRld2F5RG5zU3VwcG9ydE1pc21hdGNoJywgJ1xcJ0Ruc1N1cHBvcnRcXCcgaXMgZW5hYmxlZCBmb3IgdGhlIFZQQyBBdHRhY2htZW50IGJ1dCBkaXNhYmxlZCBvbiB0aGUgVHJhbnNpdEdhdGV3YXkuIFRoZSBmZWF0dXJlIHdpbGwgbm90IHdvcmsgdW5sZXNzIFxcJ0Ruc1N1cHBvcnRcXCcgaXMgZW5hYmxlZCBvbiBib3RoLicpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydCAmJiAhcHJvcHMudHJhbnNpdEdhdGV3YXkuc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydCkge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZ1YyKCdAYXdzLWNkay9hd3MtZWMyOnRyYW5zaXRHYXRld2F5U2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydE1pc21hdGNoJywgJ1xcJ1NlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnRcXCcgaXMgZW5hYmxlZCBmb3IgdGhlIFZQQyBBdHRhY2htZW50IGJ1dCBkaXNhYmxlZCBvbiB0aGUgVHJhbnNpdEdhdGV3YXkuIFRoZSBmZWF0dXJlIHdpbGwgbm90IHdvcmsgdW5sZXNzIFxcJ1NlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnRcXCcgaXMgZW5hYmxlZCBvbiBib3RoLicpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy50cmFuc2l0R2F0ZXdheS5kZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uKSB7XG4gICAgICBuZXcgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24odGhpcywgaWQgKyAnQXNzb2NpYXRpb24nLCB7XG4gICAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogdGhpcyxcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBwcm9wcy50cmFuc2l0R2F0ZXdheS5kZWZhdWx0Um91dGVUYWJsZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy50cmFuc2l0R2F0ZXdheS5kZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uKSB7XG4gICAgICBuZXcgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24odGhpcywgaWQgKyAnUHJvcGFnYXRpb24nLCB7XG4gICAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogdGhpcyxcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBwcm9wcy50cmFuc2l0R2F0ZXdheS5kZWZhdWx0Um91dGVUYWJsZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYWRkaXRpb25hbCBzdWJuZXRzIHRvIHRoaXMgYXR0YWNobWVudC5cbiAgICovXG4gIGFkZFN1Ym5ldHMoc3VibmV0czogSVN1Ym5ldFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJuZXQgb2Ygc3VibmV0cykge1xuICAgICAgaWYgKHRoaXMuc3VibmV0cy5zb21lKGV4aXN0aW5nID0+IGV4aXN0aW5nLnN1Ym5ldElkID09PSBzdWJuZXQuc3VibmV0SWQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU3VibmV0IHdpdGggSUQgJHtzdWJuZXQuc3VibmV0SWR9IGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIEF0dGFjaG1lbnQgJHt0aGlzLnRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkfS5gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3VibmV0cy5wdXNoKHN1Ym5ldCk7XG4gICAgfVxuICAgIHRoaXMuX3Jlc291cmNlLnN1Ym5ldElkcyA9IHRoaXMuc3VibmV0cy5tYXAoc3VibmV0ID0+IHN1Ym5ldC5zdWJuZXRJZCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFkZGl0aW9uYWwgc3VibmV0cyB0byB0aGlzIGF0dGFjaG1lbnQuXG4gICAqL1xuICByZW1vdmVTdWJuZXRzKHN1Ym5ldHM6IElTdWJuZXRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3VibmV0IG9mIHN1Ym5ldHMpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdWJuZXRzLmZpbmRJbmRleChleGlzdGluZyA9PiBleGlzdGluZy5zdWJuZXRJZCA9PT0gc3VibmV0LnN1Ym5ldElkKTtcbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdWJuZXQgd2l0aCBJRCAke3N1Ym5ldC5zdWJuZXRJZH0gZG9lcyBub3QgZXhpc3QgaW4gdGhlIEF0dGFjaG1lbnQgJHt0aGlzLnRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkfS5gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3VibmV0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLl9yZXNvdXJjZS5zdWJuZXRJZHMgPSB0aGlzLnN1Ym5ldHMubWFwKHN1Ym5ldCA9PiBzdWJuZXQuc3VibmV0SWQpO1xuICB9XG59XG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLGlEQUFpRjtBQUVqRix1R0FBZ0c7QUFDaEcsdUdBQWdHO0FBQ2hHLDZFQUF1RztBQUN2RyxpQ0FBMEM7QUFFMUMsNkNBQTBDO0FBQzFDLDhFQUE4RTtBQUM5RSwwRUFBMEU7QUE2RzFFOzs7O0dBSUc7SUFFVSwyQkFBMkI7NEJBRHZDLG9DQUFrQjs7OztzQkFDOEIseURBQTRCOzJDQUFwQyxTQUFRLFdBQTRCOzs7O1lBQTdFLDZLQWlGQzs7Ozs7UUFoRkMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxvREFBb0QsQ0FBQztRQUM1RiwwQkFBMEIsQ0FBUztRQUNsQyxPQUFPLEdBQWMsRUFBRSxDQUFDO1FBRXpDOztXQUVHO1FBQ2MsU0FBUyxDQUE4QjtRQUV4RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVDO1lBQy9FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7OzttREFaUiwyQkFBMkI7Ozs7WUFhcEMsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxxQ0FBMkIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO2dCQUN6RCxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0JBQ3pELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsZ0JBQWdCO2dCQUN2RCxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcs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QUFNLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3hGLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLE1BQU0sQ0FBQyxRQUFRLHFDQUFxQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO2dCQUM1SCxDQUFDO2dCQUNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDeEU7O1lBaEZVLHVEQUEyQjs7Ozs7QUFBM0Isa0VBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5IH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXknO1xuaW1wb3J0IHsgQ2ZuVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50LCBJU3VibmV0LCBJVnBjIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUtYXNzb2NpYXRpb24nO1xuaW1wb3J0IHsgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24gfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZS1wcm9wYWdhdGlvbic7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50LCBUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRCYXNlIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktYXR0YWNobWVudCc7XG5pbXBvcnQgeyBnZXRGZWF0dXJlU3RhdHVzIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZSc7XG5pbXBvcnQgeyBBbm5vdGF0aW9ucyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudE9wdGlvbnMge1xuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgYXBwbGlhbmNlIG1vZGUgc3VwcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXNhYmxlIChmYWxzZSlcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpYW5jZU1vZGVTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgRE5TIHN1cHBvcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBkbnNTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgSVB2NiBzdXBwb3J0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRpc2FibGUgKGZhbHNlKVxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NlN1cHBvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHlvdSB0byByZWZlcmVuY2UgYSBzZWN1cml0eSBncm91cCBhY3Jvc3MgVlBDcyBhdHRhY2hlZCB0byBhIHRyYW5zaXQgZ2F0ZXdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXNhYmxlIChmYWxzZSlcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCBleHRlbmRzIElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQge1xuICAvKipcbiAgICogQWRkIGFkZGl0aW9uYWwgc3VibmV0cyB0byB0aGlzIGF0dGFjaG1lbnQuXG4gICAqL1xuICBhZGRTdWJuZXRzKHN1Ym5ldHM6IElTdWJuZXRbXSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBzdWJuZXRzIGZyb20gdGhpcyBhdHRhY2htZW50LlxuICAgKi9cbiAgcmVtb3ZlU3VibmV0cyhzdWJuZXRzOiBJU3VibmV0W10pOiB2b2lkO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIFRyYW5zaXQgR2F0ZXdheSBWUEMgQXR0YWNobWVudC5cbiAqL1xuaW50ZXJmYWNlIEJhc2VUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2Ygb25lIG9yIG1vcmUgc3VibmV0cyB0byBwbGFjZSB0aGUgYXR0YWNobWVudCBpbi5cbiAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gc3BlY2lmeSBtb3JlIHN1Ym5ldHMgZm9yIGJldHRlciBhdmFpbGFiaWxpdHkuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRzOiBJU3VibmV0W107XG5cbiAgLyoqXG4gICAqIEEgVlBDIGF0dGFjaG1lbnQocykgd2lsbCBnZXQgYXNzaWduZWQgdG8uXG4gICAqL1xuICByZWFkb25seSB2cGM6IElWcGM7XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgYXR0YWNobWVudCBvcHRpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFsbCBvcHRpb25zIGFyZSBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwY0F0dGFjaG1lbnRPcHRpb25zPzogSVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFBoeXNpY2FsIG5hbWUgb2YgdGhpcyBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXNzaWduZWQgYnkgQ2xvdWRGb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnROYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIFRyYW5zaXQgR2F0ZXdheSBWUEMgQXR0YWNobWVudCByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRQcm9wcyBleHRlbmRzIEJhc2VUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgdHJhbnNpdCBnYXRld2F5IHRoaXMgYXR0YWNobWVudCBnZXRzIGFzc2lnbmVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXk6IElUcmFuc2l0R2F0ZXdheTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjcmVhdGluZyBhbiBBdHRhY2htZW50IHZpYSB0aGUgYXR0YWNoVnBjKCkgbWV0aG9kLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF0dGFjaFZwY09wdGlvbnMgZXh0ZW5kcyBCYXNlVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMge1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcm91dGUgdGFibGUgdG8gYXNzb2NpYXRlIHdpdGggdGhpcyBWUEMgYXR0YWNobWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBhc3NvY2lhdGlvbnMgd2lsbCBiZSBjcmVhdGVkIHVubGVzcyBpdCBpcyBmb3IgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgYW5kIGF1dG9tYXRpYyBhc3NvY2lhdGlvbiBpcyBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXNzb2NpYXRpb25Sb3V0ZVRhYmxlPzogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIG9wdGlvbmFsIHJvdXRlIHRhYmxlcyB0byBwcm9wYWdhdGUgcm91dGVzIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHByb3BhZ2F0aW9ucyB3aWxsIGJlIGNyZWF0ZWQgdW5sZXNzIGl0IGlzIGZvciB0aGUgZGVmYXVsdCByb3V0ZSB0YWJsZSBhbmQgYXV0b21hdGljIHByb3BhZ2F0aW9uIGlzIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwcm9wYWdhdGlvblJvdXRlVGFibGVzPzogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVtdO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQuXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCBleHRlbmRzIFRyYW5zaXRHYXRld2F5QXR0YWNobWVudEJhc2UgaW1wbGVtZW50cyBJVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50IHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZWMyLWFscGhhLlRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCc7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRJZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHN1Ym5ldHM6IElTdWJuZXRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgVHJhbnNpdCBHYXRld2F5IEF0dGFjaG1lbnQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNvdXJjZTogQ2ZuVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLl9yZXNvdXJjZSA9IG5ldyBDZm5UcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQodGhpcywgaWQsIHtcbiAgICAgIHN1Ym5ldElkczogcHJvcHMuc3VibmV0cy5tYXAoKHN1Ym5ldCkgPT4gc3VibmV0LnN1Ym5ldElkKSxcbiAgICAgIHRyYW5zaXRHYXRld2F5SWQ6IHByb3BzLnRyYW5zaXRHYXRld2F5LnRyYW5zaXRHYXRld2F5SWQsXG4gICAgICB2cGNJZDogcHJvcHMudnBjLnZwY0lkLFxuICAgICAgb3B0aW9uczogcHJvcHMudnBjQXR0YWNobWVudE9wdGlvbnMgPyB7XG4gICAgICAgIEFwcGxpYW5jZU1vZGVTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5hcHBsaWFuY2VNb2RlU3VwcG9ydCksXG4gICAgICAgIERuc1N1cHBvcnQ6IGdldEZlYXR1cmVTdGF0dXMocHJvcHMudnBjQXR0YWNobWVudE9wdGlvbnM/LmRuc1N1cHBvcnQpLFxuICAgICAgICBJcHY2U3VwcG9ydDogZ2V0RmVhdHVyZVN0YXR1cyhwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uaXB2NlN1cHBvcnQpLFxuICAgICAgICBTZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0KSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMuX3Jlc291cmNlO1xuXG4gICAgdGhpcy50cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRJZCA9IHRoaXMuX3Jlc291cmNlLmF0dHJJZDtcbiAgICB0aGlzLnN1Ym5ldHMgPSBwcm9wcy5zdWJuZXRzO1xuXG4gICAgaWYgKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5kbnNTdXBwb3J0ICYmICFwcm9wcy50cmFuc2l0R2F0ZXdheS5kbnNTdXBwb3J0KSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nVjIoJ0Bhd3MtY2RrL2F3cy1lYzI6dHJhbnNpdEdhdGV3YXlEbnNTdXBwb3J0TWlzbWF0Y2gnLCAnXFwnRG5zU3VwcG9ydFxcJyBpcyBlbmFibGVkIGZvciB0aGUgVlBDIEF0dGFjaG1lbnQgYnV0IGRpc2FibGVkIG9uIHRoZSBUcmFuc2l0R2F0ZXdheS4gVGhlIGZlYXR1cmUgd2lsbCBub3Qgd29yayB1bmxlc3MgXFwnRG5zU3VwcG9ydFxcJyBpcyBlbmFibGVkIG9uIGJvdGguJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0ICYmICFwcm9wcy50cmFuc2l0R2F0ZXdheS5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0KSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nVjIoJ0Bhd3MtY2RrL2F3cy1lYzI6dHJhbnNpdEdhdGV3YXlTZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0TWlzbWF0Y2gnLCAnXFwnU2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydFxcJyBpcyBlbmFibGVkIGZvciB0aGUgVlBDIEF0dGFjaG1lbnQgYnV0IGRpc2FibGVkIG9uIHRoZSBUcmFuc2l0R2F0ZXdheS4gVGhlIGZlYXR1cmUgd2lsbCBub3Qgd29yayB1bmxlc3MgXFwnU2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydFxcJyBpcyBlbmFibGVkIG9uIGJvdGguJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb24pIHtcbiAgICAgIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbih0aGlzLCBpZCArICdBc3NvY2lhdGlvbicsIHtcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiB0aGlzLFxuICAgICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb24pIHtcbiAgICAgIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbih0aGlzLCBpZCArICdQcm9wYWdhdGlvbicsIHtcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiB0aGlzLFxuICAgICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhZGRpdGlvbmFsIHN1Ym5ldHMgdG8gdGhpcyBhdHRhY2htZW50LlxuICAgKi9cbiAgYWRkU3VibmV0cyhzdWJuZXRzOiBJU3VibmV0W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1Ym5ldCBvZiBzdWJuZXRzKSB7XG4gICAgICBpZiAodGhpcy5zdWJuZXRzLnNvbWUoZXhpc3RpbmcgPT4gZXhpc3Rpbmcuc3VibmV0SWQgPT09IHN1Ym5ldC5zdWJuZXRJZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdWJuZXQgd2l0aCBJRCAke3N1Ym5ldC5zdWJuZXRJZH0gaXMgYWxyZWFkeSBhZGRlZCB0byB0aGUgQXR0YWNobWVudCAke3RoaXMudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWR9LmApO1xuICAgICAgfVxuICAgICAgdGhpcy5zdWJuZXRzLnB1c2goc3VibmV0KTtcbiAgICB9XG4gICAgdGhpcy5fcmVzb3VyY2Uuc3VibmV0SWRzID0gdGhpcy5zdWJuZXRzLm1hcChzdWJuZXQgPT4gc3VibmV0LnN1Ym5ldElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYWRkaXRpb25hbCBzdWJuZXRzIHRvIHRoaXMgYXR0YWNobWVudC5cbiAgICovXG4gIHJlbW92ZVN1Ym5ldHMoc3VibmV0czogSVN1Ym5ldFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJuZXQgb2Ygc3VibmV0cykge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnN1Ym5ldHMuZmluZEluZGV4KGV4aXN0aW5nID0+IGV4aXN0aW5nLnN1Ym5ldElkID09PSBzdWJuZXQuc3VibmV0SWQpO1xuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFN1Ym5ldCB3aXRoIElEICR7c3VibmV0LnN1Ym5ldElkfSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgQXR0YWNobWVudCAke3RoaXMudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWR9LmApO1xuICAgICAgfVxuICAgICAgdGhpcy5zdWJuZXRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMuX3Jlc291cmNlLnN1Ym5ldElkcyA9IHRoaXMuc3VibmV0cy5tYXAoc3VibmV0ID0+IHN1Ym5ldC5zdWJuZXRJZCk7XG4gIH1cbn1cbiJdfQ==