@aws-cdk/aws-ec2-alpha 2.213.0-alpha.0 → 2.214.1-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.
- package/.jsii +129 -101
- package/.jsii.tabl.json.gz +0 -0
- package/awslint.json +11 -9
- package/lib/ipam.js +1 -1
- package/lib/route.js +8 -8
- package/lib/subnet-v2.d.ts +2 -0
- package/lib/subnet-v2.js +13 -3
- package/lib/transit-gateway-route-table-association.js +1 -1
- package/lib/transit-gateway-route-table-propagation.js +1 -1
- package/lib/transit-gateway-route-table.js +1 -1
- package/lib/transit-gateway-route.js +2 -2
- package/lib/transit-gateway-vpc-attachment.js +1 -1
- package/lib/transit-gateway.js +1 -1
- package/lib/vpc-v2-base.d.ts +2 -0
- package/lib/vpc-v2-base.js +7 -2
- package/lib/vpc-v2.js +2 -2
- package/package.json +7 -7
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/awslint.json
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
"exclude": [
|
|
3
|
+
"attribute-tag:@aws-cdk/aws-ec2-alpha.RouteTable.routeTableId",
|
|
4
|
+
"from-method:@aws-cdk/aws-ec2-alpha.Route",
|
|
5
|
+
"from-method:@aws-cdk/aws-ec2-alpha.TransitGateway",
|
|
6
|
+
"from-method:@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTableAssociation",
|
|
7
|
+
"from-method:@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTablePropagation",
|
|
8
|
+
"from-method:@aws-cdk/aws-ec2-alpha.TransitGatewayVpcAttachment",
|
|
9
|
+
"docs-public-apis:@aws-cdk/aws-ec2-alpha.SubnetV2.subnetRef",
|
|
10
|
+
"docs-public-apis:@aws-cdk/aws-ec2-alpha.VpcV2Base.vpcRef"
|
|
11
|
+
]
|
|
12
|
+
}
|
package/lib/ipam.js
CHANGED
|
@@ -273,7 +273,7 @@ let Ipam = class Ipam extends aws_cdk_lib_1.Resource {
|
|
|
273
273
|
};
|
|
274
274
|
exports.Ipam = Ipam;
|
|
275
275
|
_a = JSII_RTTI_SYMBOL_1;
|
|
276
|
-
Ipam[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.Ipam", version: "2.
|
|
276
|
+
Ipam[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.Ipam", version: "2.214.1-alpha.0" };
|
|
277
277
|
/** Uniquely identifies this class. */
|
|
278
278
|
Ipam.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.Ipam';
|
|
279
279
|
__decorate([
|
package/lib/route.js
CHANGED
|
@@ -67,7 +67,7 @@ let EgressOnlyInternetGateway = class EgressOnlyInternetGateway extends core_1.R
|
|
|
67
67
|
};
|
|
68
68
|
exports.EgressOnlyInternetGateway = EgressOnlyInternetGateway;
|
|
69
69
|
_a = JSII_RTTI_SYMBOL_1;
|
|
70
|
-
EgressOnlyInternetGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.EgressOnlyInternetGateway", version: "2.
|
|
70
|
+
EgressOnlyInternetGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.EgressOnlyInternetGateway", version: "2.214.1-alpha.0" };
|
|
71
71
|
/** Uniquely identifies this class. */
|
|
72
72
|
EgressOnlyInternetGateway.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.EgressOnlyInternetGateway';
|
|
73
73
|
exports.EgressOnlyInternetGateway = EgressOnlyInternetGateway = __decorate([
|
|
@@ -111,7 +111,7 @@ let InternetGateway = class InternetGateway extends core_1.Resource {
|
|
|
111
111
|
};
|
|
112
112
|
exports.InternetGateway = InternetGateway;
|
|
113
113
|
_b = JSII_RTTI_SYMBOL_1;
|
|
114
|
-
InternetGateway[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.InternetGateway", version: "2.
|
|
114
|
+
InternetGateway[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.InternetGateway", version: "2.214.1-alpha.0" };
|
|
115
115
|
/** Uniquely identifies this class. */
|
|
116
116
|
InternetGateway.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.InternetGateway';
|
|
117
117
|
exports.InternetGateway = InternetGateway = __decorate([
|
|
@@ -171,7 +171,7 @@ let VPNGatewayV2 = class VPNGatewayV2 extends core_1.Resource {
|
|
|
171
171
|
};
|
|
172
172
|
exports.VPNGatewayV2 = VPNGatewayV2;
|
|
173
173
|
_c = JSII_RTTI_SYMBOL_1;
|
|
174
|
-
VPNGatewayV2[_c] = { fqn: "@aws-cdk/aws-ec2-alpha.VPNGatewayV2", version: "2.
|
|
174
|
+
VPNGatewayV2[_c] = { fqn: "@aws-cdk/aws-ec2-alpha.VPNGatewayV2", version: "2.214.1-alpha.0" };
|
|
175
175
|
/** Uniquely identifies this class. */
|
|
176
176
|
VPNGatewayV2.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.VPNGatewayV2';
|
|
177
177
|
exports.VPNGatewayV2 = VPNGatewayV2 = __decorate([
|
|
@@ -236,7 +236,7 @@ let NatGateway = class NatGateway extends core_1.Resource {
|
|
|
236
236
|
};
|
|
237
237
|
exports.NatGateway = NatGateway;
|
|
238
238
|
_d = JSII_RTTI_SYMBOL_1;
|
|
239
|
-
NatGateway[_d] = { fqn: "@aws-cdk/aws-ec2-alpha.NatGateway", version: "2.
|
|
239
|
+
NatGateway[_d] = { fqn: "@aws-cdk/aws-ec2-alpha.NatGateway", version: "2.214.1-alpha.0" };
|
|
240
240
|
/** Uniquely identifies this class. */
|
|
241
241
|
NatGateway.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.NatGateway';
|
|
242
242
|
exports.NatGateway = NatGateway = __decorate([
|
|
@@ -322,7 +322,7 @@ let VPCPeeringConnection = class VPCPeeringConnection extends core_1.Resource {
|
|
|
322
322
|
};
|
|
323
323
|
exports.VPCPeeringConnection = VPCPeeringConnection;
|
|
324
324
|
_e = JSII_RTTI_SYMBOL_1;
|
|
325
|
-
VPCPeeringConnection[_e] = { fqn: "@aws-cdk/aws-ec2-alpha.VPCPeeringConnection", version: "2.
|
|
325
|
+
VPCPeeringConnection[_e] = { fqn: "@aws-cdk/aws-ec2-alpha.VPCPeeringConnection", version: "2.214.1-alpha.0" };
|
|
326
326
|
/** Uniquely identifies this class. */
|
|
327
327
|
VPCPeeringConnection.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.VPCPeeringConnection';
|
|
328
328
|
exports.VPCPeeringConnection = VPCPeeringConnection = __decorate([
|
|
@@ -348,7 +348,7 @@ class RouteTargetType {
|
|
|
348
348
|
}
|
|
349
349
|
exports.RouteTargetType = RouteTargetType;
|
|
350
350
|
_f = JSII_RTTI_SYMBOL_1;
|
|
351
|
-
RouteTargetType[_f] = { fqn: "@aws-cdk/aws-ec2-alpha.RouteTargetType", version: "2.
|
|
351
|
+
RouteTargetType[_f] = { fqn: "@aws-cdk/aws-ec2-alpha.RouteTargetType", version: "2.214.1-alpha.0" };
|
|
352
352
|
/**
|
|
353
353
|
* Creates a new route with added functionality.
|
|
354
354
|
* @resource AWS::EC2::Route
|
|
@@ -407,7 +407,7 @@ let Route = class Route extends core_1.Resource {
|
|
|
407
407
|
};
|
|
408
408
|
exports.Route = Route;
|
|
409
409
|
_g = JSII_RTTI_SYMBOL_1;
|
|
410
|
-
Route[_g] = { fqn: "@aws-cdk/aws-ec2-alpha.Route", version: "2.
|
|
410
|
+
Route[_g] = { fqn: "@aws-cdk/aws-ec2-alpha.Route", version: "2.214.1-alpha.0" };
|
|
411
411
|
/** Uniquely identifies this class. */
|
|
412
412
|
Route.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.Route';
|
|
413
413
|
exports.Route = Route = __decorate([
|
|
@@ -468,7 +468,7 @@ let RouteTable = class RouteTable extends core_1.Resource {
|
|
|
468
468
|
};
|
|
469
469
|
exports.RouteTable = RouteTable;
|
|
470
470
|
_h = JSII_RTTI_SYMBOL_1;
|
|
471
|
-
RouteTable[_h] = { fqn: "@aws-cdk/aws-ec2-alpha.RouteTable", version: "2.
|
|
471
|
+
RouteTable[_h] = { fqn: "@aws-cdk/aws-ec2-alpha.RouteTable", version: "2.214.1-alpha.0" };
|
|
472
472
|
/** Uniquely identifies this class. */
|
|
473
473
|
RouteTable.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.RouteTable';
|
|
474
474
|
__decorate([
|
package/lib/subnet-v2.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Resource } from 'aws-cdk-lib';
|
|
|
2
2
|
import { INetworkAcl, IRouteTable, ISubnet, SubnetType } from 'aws-cdk-lib/aws-ec2';
|
|
3
3
|
import { Construct, IDependable } from 'constructs';
|
|
4
4
|
import { IVpcV2 } from './vpc-v2-base';
|
|
5
|
+
import { SubnetReference } from 'aws-cdk-lib/aws-ec2/lib/ec2.generated';
|
|
5
6
|
/**
|
|
6
7
|
* Interface to define subnet CIDR
|
|
7
8
|
*/
|
|
@@ -146,6 +147,7 @@ export declare class SubnetV2 extends Resource implements ISubnetV2 {
|
|
|
146
147
|
* The IPv6 CIDR Block for this subnet
|
|
147
148
|
*/
|
|
148
149
|
readonly ipv6CidrBlock?: string;
|
|
150
|
+
get subnetRef(): SubnetReference;
|
|
149
151
|
/**
|
|
150
152
|
* The type of subnet (public or private) that this subnet represents.
|
|
151
153
|
* @attribute SubnetType
|
package/lib/subnet-v2.js
CHANGED
|
@@ -27,7 +27,7 @@ class IpCidr {
|
|
|
27
27
|
}
|
|
28
28
|
exports.IpCidr = IpCidr;
|
|
29
29
|
_a = JSII_RTTI_SYMBOL_1;
|
|
30
|
-
IpCidr[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpCidr", version: "2.
|
|
30
|
+
IpCidr[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpCidr", version: "2.214.1-alpha.0" };
|
|
31
31
|
/**
|
|
32
32
|
* VPC Name tag constant
|
|
33
33
|
*/
|
|
@@ -98,6 +98,11 @@ let SubnetV2 = class SubnetV2 extends aws_cdk_lib_1.Resource {
|
|
|
98
98
|
*/
|
|
99
99
|
this.routeTable = { routeTableId: attrs.routeTableId };
|
|
100
100
|
}
|
|
101
|
+
get subnetRef() {
|
|
102
|
+
return {
|
|
103
|
+
subnetId: this.subnetId,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
101
106
|
/**
|
|
102
107
|
* Associate a Network ACL with this subnet
|
|
103
108
|
* Required here since it is implemented in the ISubnetV2
|
|
@@ -113,6 +118,11 @@ let SubnetV2 = class SubnetV2 extends aws_cdk_lib_1.Resource {
|
|
|
113
118
|
}
|
|
114
119
|
return new ImportedSubnetV2(scope, id);
|
|
115
120
|
}
|
|
121
|
+
get subnetRef() {
|
|
122
|
+
return {
|
|
123
|
+
subnetId: this.subnetId,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
116
126
|
/**
|
|
117
127
|
* Constructs a new SubnetV2 instance.
|
|
118
128
|
* @param scope The parent Construct that this resource will be part of.
|
|
@@ -237,7 +247,7 @@ let SubnetV2 = class SubnetV2 extends aws_cdk_lib_1.Resource {
|
|
|
237
247
|
};
|
|
238
248
|
exports.SubnetV2 = SubnetV2;
|
|
239
249
|
_b = JSII_RTTI_SYMBOL_1;
|
|
240
|
-
SubnetV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.SubnetV2", version: "2.
|
|
250
|
+
SubnetV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.SubnetV2", version: "2.214.1-alpha.0" };
|
|
241
251
|
/** Uniquely identifies this class. */
|
|
242
252
|
SubnetV2.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.SubnetV2';
|
|
243
253
|
__decorate([
|
|
@@ -400,4 +410,4 @@ function validateOverlappingCidrRangesipv6(vpc, ipv6CidrBlock) {
|
|
|
400
410
|
}
|
|
401
411
|
return result;
|
|
402
412
|
}
|
|
403
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibmV0LXYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3VibmV0LXYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyRztBQUMzRyxpREFBd0s7QUFDeEssMkNBQXFFO0FBRXJFLGlDQUFxRTtBQUNyRSxtQ0FBcUM7QUFDckMsOEVBQThGO0FBQzlGLDBFQUEwRTtBQVMxRTs7R0FFRztBQUNILE1BQWEsTUFBTTtJQU1qQixZQUFZLEtBQWE7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7S0FDbkI7O0FBUkgsd0JBU0M7OztBQUVEOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztBQWlHN0M7Ozs7Ozs7Ozs7R0FVRztBQUVJLElBQU0sUUFBUSxHQUFkLE1BQU0sUUFBUyxTQUFRLHNCQUFRO0lBSXBDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCOzs7Ozs7Ozs7O1FBQzFGOzs7V0FHRztRQUNILE1BQU0sZ0JBQWlCLFNBQVEsc0JBQVE7WUFBdkM7O2dCQUNFOzttQkFFRztnQkFDYSxrQkFBYSxHQUFZLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBRTdEOzttQkFFRztnQkFDYSxlQUFVLEdBQWdCLEtBQUssQ0FBQyxVQUFVLENBQUM7Z0JBRTNEOzttQkFFRztnQkFDYSxxQkFBZ0IsR0FBVyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7Z0JBRWxFOzs7bUJBR0c7Z0JBQ2EsYUFBUSxHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBRWxEOzttQkFFRztnQkFDYSxvQ0FBK0IsR0FBZ0IsSUFBSSw0QkFBZSxFQUFFLENBQUM7Z0JBRXJGOzttQkFFRztnQkFDYSxrQkFBYSxHQUFXLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBRTVEOzttQkFFRztn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QUFhLENBQUMsQ0FBQztZQUMxRCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIsSUFBSSxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc291cmNlLCBOYW1lcywgTGF6eSwgVGFncywgVG9rZW4sIFZhbGlkYXRpb25FcnJvciwgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDZm5TdWJuZXQsIENmblN1Ym5ldFJvdXRlVGFibGVBc3NvY2lhdGlvbiwgSU5ldHdvcmtBY2wsIElSb3V0ZVRhYmxlLCBJU3VibmV0LCBOZXR3b3JrQWNsLCBTdWJuZXROZXR3b3JrQWNsQXNzb2NpYXRpb24sIFN1Ym5ldFR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IENvbnN0cnVjdCwgRGVwZW5kZW5jeUdyb3VwLCBJRGVwZW5kYWJsZSB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSVZwY1YyIH0gZnJvbSAnLi92cGMtdjItYmFzZSc7XG5pbXBvcnQgeyBDaWRyQmxvY2ssIENpZHJCbG9ja0lwdjYsIGRlZmF1bHRTdWJuZXROYW1lIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IFJvdXRlVGFibGUgfSBmcm9tICcuL3JvdXRlJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhLCBNZXRob2RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRvIGRlZmluZSBzdWJuZXQgQ0lEUlxuICovXG5pbnRlcmZhY2UgSUNpZHIge1xuICByZWFkb25seSBjaWRyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSVB2NCBvciBJUHY2IENJRFIgcmFuZ2UgZm9yIHRoZSBzdWJuZXRcbiAqL1xuZXhwb3J0IGNsYXNzIElwQ2lkciBpbXBsZW1lbnRzIElDaWRyIHtcbiAgLyoqXG4gICAqIElQdjYgQ0lEUiByYW5nZSBmb3IgdGhlIHN1Ym5ldFxuICAgKiBBbGxvd2VkIG9ubHkgaWYgSVB2NiBpcyBlbmFibGVkIG9uIFZQY1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNpZHI6IHN0cmluZztcbiAgY29uc3RydWN0b3IocHJvcHM6IHN0cmluZyApIHtcbiAgICB0aGlzLmNpZHIgPSBwcm9wcztcbiAgfVxufVxuXG4vKipcbiAqIFZQQyBOYW1lIHRhZyBjb25zdGFudFxuICovXG5jb25zdCBTVUJORVRUWVBFX1RBRyA9ICdhd3MtY2RrOnN1Ym5ldC10eXBlJztcblxuLyoqXG4gKiBTdWJuZXQgTmFtZSB0YWcgY29uc3RhbnRcbiAqL1xuY29uc3QgU1VCTkVUTkFNRV9UQUcgPSAnYXdzLWNkazpzdWJuZXQtbmFtZSc7XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBkZWZpbmUgc3VibmV0IGZvciBWUEMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0VjJQcm9wcyB7XG4vKipcbiAqIFZQQyBQcm9wXG4gKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjVjI7XG5cbiAgLyoqXG4gICAqIGlwdjQgY2lkciB0byBhc3NpZ24gdG8gdGhpcyBzdWJuZXQuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLXN1Ym5ldC5odG1sI2Nmbi1lYzItc3VibmV0LWNpZHJibG9ja1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NENpZHJCbG9jazogSXBDaWRyO1xuXG4gIC8qKlxuICAgKiBJcHY2IENJRFIgUmFuZ2UgZm9yIHN1Ym5ldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIElwdjYgYWRkcmVzc1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IElwQ2lkcjtcblxuICAvKipcbiAgICogQ3VzdG9tIEFaIGZvciB0aGUgc3VibmV0XG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBSb3V0ZSBmb3Igc3VibmV0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBkZWZhdWx0IHJvdXRlIHRhYmxlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvdXRlVGFibGU/OiBJUm91dGVUYWJsZTtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZGVmYXVsdCBSb3V0ZVRhYmxlIGNyZWF0ZWQgYnkgQ0RLIHRvIGJlIHVzZWQgZm9yIHRhZ2dpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IHJvdXRlIHRhYmxlIG5hbWUgY3JlYXRlZCBieSBDREsgYXMgJ0RlZmF1bHRDREtSb3V0ZVRhYmxlJ1xuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGVOYW1lID86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgU3VibmV0IHRvIGNvbmZpZ3VyZS5cbiAgICpcbiAgICogVGhlIFN1Ym5ldCB0eXBlIHdpbGwgY29udHJvbCB0aGUgYWJpbGl0eSB0byByb3V0ZSBhbmQgY29ubmVjdCB0byB0aGVcbiAgICogSW50ZXJuZXQuXG4gICAqXG4gICAqIFRPRE86IEFkZCB2YWxpZGF0aW9uIGNoZWNrIGBzdWJuZXRUeXBlYCB3aGVuIGFkZGluZyByZXNvdXJjZXMgKGUuZy4gY2Fubm90IGFkZCBOYXRHYXRld2F5IHRvIHByaXZhdGUpXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlO1xuXG4gIC8qKlxuICAgKiBTdWJuZXQgbmFtZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHByb3Zpc2lvbmVkIHdpdGggYW4gYXV0b2dlbmVyYXRlZCBuYW1lIGJ5IENES1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgYSBuZXR3b3JrIGludGVyZmFjZSBjcmVhdGVkIGluIHRoaXMgc3VibmV0IHJlY2VpdmVzIGFuIElQdjYgYWRkcmVzcy5cbiAgICogSWYgeW91IHNwZWNpZnkgQXNzaWduSXB2NkFkZHJlc3NPbkNyZWF0aW9uLCB5b3UgbXVzdCBhbHNvIHNwZWNpZnkgSXB2NkNpZHJCbG9jay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgaW4gY2FzZSBub3QgcHJvdmlkZWQgYXMgYW4gaW5wdXRcbiAgICovXG4gIHJlYWRvbmx5IGFzc2lnbklwdjZBZGRyZXNzT25DcmVhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIGlmIGluc3RhbmNlcyBsYXVuY2hlZCBpbnRvIHRoZSBzdWJuZXQgc2hvdWxkIGJlIGFzc2lnbmVkIGEgcHVibGljIElQIGFkZHJlc3MuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIG9ubHkgYmUgc2V0IGZvciBwdWJsaWMgc3VibmV0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgaW4gY2FzZSBub3QgcHJvdmlkZWQgYXMgYW4gaW5wdXRcbiAgICovXG4gIHJlYWRvbmx5IG1hcFB1YmxpY0lwT25MYXVuY2g/OiBib29sZWFuO1xuXG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHdpdGggYWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBTdWJuZXRWMlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTdWJuZXRWMiBleHRlbmRzIElTdWJuZXQge1xuXG4gIC8qKlxuICAgKiBUaGUgSVB2NiBDSURSIGJsb2NrIGZvciB0aGlzIHN1Ym5ldFxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygc3VibmV0IChwdWJsaWMgb3IgcHJpdmF0ZSkgdGhhdCB0aGlzIHN1Ym5ldCByZXByZXNlbnRzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlIFN1Ym5ldFR5cGVcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlO1xuXG59XG5cbi8qKlxuICogVGhlIFN1Ym5ldFYyIGNsYXNzIHJlcHJlc2VudHMgYSBzdWJuZXQgd2l0aGluIGEgVlBDIChWaXJ0dWFsIFByaXZhdGUgQ2xvdWQpIGluIEFXUy5cbiAqIEl0IGV4dGVuZHMgdGhlIFJlc291cmNlIGNsYXNzIGFuZCBpbXBsZW1lbnRzIHRoZSBJU3VibmV0IGludGVyZmFjZS5cbiAqXG4gKiBJbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYW5kIG1hbmFnZSBzdWJuZXRzIHdpdGhpbiBhIFZwY1YyIGluc3RhbmNlLlxuICogU3VibmV0cyBjYW4gYmUgY29uZmlndXJlZCB3aXRoIHNwZWNpZmljIElQIGFkZHJlc3MgcmFuZ2VzIChJUHY0IGFuZCBJUHY2KSwgYXZhaWxhYmlsaXR5IHpvbmVzLFxuICogYW5kIHN1Ym5ldCB0eXBlcyAoZS5nLiwgcHVibGljLCBwcml2YXRlLCBpc29sYXRlZCkuXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpTdWJuZXRcbiAqXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBTdWJuZXRWMiBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVN1Ym5ldFYyIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZWMyLWFscGhhLlN1Ym5ldFYyJztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIHN1Ym5ldCB0byB0aGUgVlBDXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TdWJuZXRWMkF0dHJpYnV0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IFN1Ym5ldFYyQXR0cmlidXRlcykgOiBJU3VibmV0VjIge1xuICAgIC8qKlxuICAgICAqIENsYXNzIHRvIGRlZmluZSBhbiBpbXBvcnQgZm9yIGFuIGV4aXN0aW5nIHN1Ym5ldFxuICAgICAqIEByZXNvdXJjZSBBV1M6OkVDMjo6U3VibmV0XG4gICAgICovXG4gICAgY2xhc3MgSW1wb3J0ZWRTdWJuZXRWMiBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVN1Ym5ldFYyIHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIElQdjYgQ0lEUiBCbG9jayBhc3NpZ25lZCB0byB0aGlzIHN1Ym5ldFxuICAgICAgICovXG4gICAgICBwdWJsaWMgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IHN0cmluZyA9IGF0dHJzLmlwdjZDaWRyQmxvY2s7XG5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIHR5cGUgb2Ygc3VibmV0IChlZy4gcHVibGljIG9yIHByaXZhdGUpIHRoYXQgdGhpcyBzdWJuZXQgcmVwcmVzZW50cy5cbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlID0gYXR0cnMuc3VibmV0VHlwZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgQXZhaWxhYmlsaXR5IFpvbmUgaW4gd2hpY2ggc3VibmV0IGlzIGxvY2F0ZWRcbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZyA9IGF0dHJzLmF2YWlsYWJpbGl0eVpvbmU7XG5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIHN1Ym5ldElkIGZvciB0aGlzIHBhcnRpY3VsYXIgc3VibmV0XG4gICAgICAgKiBSZWZlcnMgdG8gdGhlIHBoeXNpY2FsIElEIGNyZWF0ZWRcbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IHN1Ym5ldElkOiBzdHJpbmcgPSBhdHRycy5zdWJuZXRJZDtcblxuICAgICAgLyoqXG4gICAgICAgKiBEZXBlbmRhYmxlIHRoYXQgY2FuIGJlIGRlcGVuZGVkIHVwb24gdG8gZm9yY2UgaW50ZXJuZXQgY29ubmVjdGl2aXR5IGVzdGFibGlzaGVkIG9uIHRoZSBWUENcbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IGludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQ6IElEZXBlbmRhYmxlID0gbmV3IERlcGVuZGVuY3lHcm91cCgpO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBJUHY0IENJRFIgYmxvY2sgYXNzaWduZWQgdG8gdGhpcyBzdWJuZXRcbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZyA9IGF0dHJzLmlwdjRDaWRyQmxvY2s7XG5cbiAgICAgIC8qKlxuICAgICAgICogIEN1cnJlbnQgcm91dGUgdGFibGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3VibmV0XG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyByZWFkb25seSByb3V0ZVRhYmxlOiBJUm91dGVUYWJsZSA9IHsgcm91dGVUYWJsZUlkOiBhdHRycy5yb3V0ZVRhYmxlSWQhIH07XG5cbiAgICAgIC8qKlxuICAgICAgICogQXNzb2NpYXRlIGEgTmV0d29yayBBQ0wgd2l0aCB0aGlzIHN1Ym5ldFxuICAgICAgICogUmVxdWlyZWQgaGVyZSBzaW5jZSBpdCBpcyBpbXBsZW1lbnRlZCBpbiB0aGUgSVN1Ym5ldFYyXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyBhc3NvY2lhdGVOZXR3b3JrQWNsKGFjbElkOiBzdHJpbmcsIG5ldHdvcmtBY2w6IElOZXR3b3JrQWNsKSB7XG4gICAgICAgIGNvbnN0IGFjbFNjb3BlID0gbmV0d29ya0FjbCBpbnN0YW5jZW9mIENvbnN0cnVjdCA/IG5ldHdvcmtBY2wgOiB0aGlzO1xuICAgICAgICBjb25zdCBvdGhlciA9IG5ldHdvcmtBY2wgaW5zdGFuY2VvZiBDb25zdHJ1Y3QgPyB0aGlzIDogbmV0d29ya0FjbDtcbiAgICAgICAgbmV3IFN1Ym5ldE5ldHdvcmtBY2xBc3NvY2lhdGlvbihhY2xTY29wZSwgYWNsSWQgKyBOYW1lcy5ub2RlVW5pcXVlSWQob3RoZXIubm9kZSksIHtcbiAgICAgICAgICBuZXR3b3JrQWNsLFxuICAgICAgICAgIHN1Ym5ldDogdGhpcyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0ZWRTdWJuZXRWMihzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBdmFpbGFiaWxpdHkgWm9uZSB0aGUgc3VibmV0IGlzIGxvY2F0ZWQgaW5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdmFpbGFiaWxpdHlab25lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXRJZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIHN1Ym5ldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3VibmV0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogIERlcGVuZGVuY2llcyBmb3IgaW50ZXJuZXQgY29ubmVjdGl2aXR5XG4gICAqIFRoaXMgUHJvcGVydHkgZXhwb3NlcyB0aGUgUm91dGVUYWJsZS1TdWJuZXQgYXNzb2NpYXRpb24gc28gdGhhdCBvdGhlciByZXNvdXJjZXMgY2FuIGRlcGVuZCBvbiBpdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkOiBJRGVwZW5kYWJsZTtcblxuICAvKipcbiAgICogVGhlIHZhcmlhYmxlIG5hbWUgYGludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWRgIGRvZXMgbm90IHJlZmxlY3Qgd2hhdCBpdCBhY3R1YWxseSBpcy5cbiAgICogVGhlIG5hbWluZyBpcyBlbmZvcmNlZCBieSBJU3VibmV0LiBXZSBuZWVkIHRvIGtlZXAgaXQgdG8gbWFpbnRhaW4gY29tcGF0aWJpbGl0eS5cbiAgICogSXQgZXhwb3NlcyB0aGUgUm91dGVUYWJsZS1TdWJuZXQgYXNzb2NpYXRpb24gc28gdGhhdCBvdGhlciByZXNvdXJjZXMgY2FuIGRlcGVuZCBvbiBpdC5cbiAgICogRS5nLiBSZXNvdXJjZXMgaW4gYSBzdWJuZXQsIHdoZW4gYmVpbmcgZGVsZXRlZCwgbWF5IG5lZWQgdGhlIFJvdXRlVGFibGUgdG8gZXhpc3QgaW4gb3JkZXIgdG8gZGVsZXRlIHByb3Blcmx5XG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkID0gbmV3IERlcGVuZGVuY3lHcm91cCgpO1xuXG4gIC8qKlxuICAgKiBUaGUgSVB2NCBDSURSIGJsb2NrIGZvciB0aGlzIHN1Ym5ldFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElQdjYgQ0lEUiBCbG9jayBmb3IgdGhpcyBzdWJuZXRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcHY2Q2lkckJsb2NrPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBzdWJuZXQgKHB1YmxpYyBvciBwcml2YXRlKSB0aGF0IHRoaXMgc3VibmV0IHJlcHJlc2VudHMuXG4gICAqIEBhdHRyaWJ1dGUgU3VibmV0VHlwZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlO1xuXG4gIHByaXZhdGUgX25ldHdvcmtBY2w6IElOZXR3b3JrQWNsO1xuXG4gIHByaXZhdGUgX3JvdXRlVGFibGU6IElSb3V0ZVRhYmxlO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IFN1Ym5ldFYyIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBDb25zdHJ1Y3QgdGhhdCB0aGlzIHJlc291cmNlIHdpbGwgYmUgcGFydCBvZi5cbiAgICogQHBhcmFtIGlkIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyByZXNvdXJjZS5cbiAgICogQHBhcmFtIHByb3BzIFRoZSBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBzdWJuZXQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3VibmV0VjJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5zdWJuZXROYW1lID8/IExhenkuc3RyaW5nKHtcbiAgICAgICAgcHJvZHVjZTogKCkgPT4gTmFtZXMudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHsgbWF4TGVuZ3RoOiAxMjgsIGFsbG93ZWRTcGVjaWFsQ2hhcmFjdGVyczogJ18nIH0pLFxuICAgICAgfSksXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBjb25zdCBpcHY0Q2lkckJsb2NrID0gcHJvcHMuaXB2NENpZHJCbG9jay5jaWRyO1xuICAgIGNvbnN0IGlwdjZDaWRyQmxvY2sgPSBwcm9wcy5pcHY2Q2lkckJsb2NrPy5jaWRyO1xuXG4gICAgaWYgKCFjaGVja0NpZHJSYW5nZXMocHJvcHMudnBjLCBwcm9wcy5pcHY0Q2lkckJsb2NrLmNpZHIpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdDSURSIGJsb2NrIHNob3VsZCBiZSB3aXRoaW4gdGhlIHJhbmdlIG9mIFZQQycsIHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBvdmVybGFwOiBib29sZWFuID0gZmFsc2U7XG4gICAgbGV0IG92ZXJsYXBJcHY2OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5pcHY0Q2lkckJsb2NrKSkge1xuICAgICAgb3ZlcmxhcCA9IHZhbGlkYXRlT3ZlcmxhcHBpbmdDaWRyUmFuZ2VzKHByb3BzLnZwYywgcHJvcHMuaXB2NENpZHJCbG9jay5jaWRyKTtcbiAgICB9XG5cbiAgICAvLyBjaGVjayB3aGV0aGVyIFZQQyBzdXBwb3J0cyBpcHY2XG4gICAgaWYgKHByb3BzLmlwdjZDaWRyQmxvY2s/LmNpZHIgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5pcHY2Q2lkckJsb2NrPy5jaWRyKSkge1xuICAgICAgdmFsaWRhdGVTdXBwb3J0SXB2Nihwcm9wcy52cGMpO1xuICAgICAgb3ZlcmxhcElwdjYgPSB2YWxpZGF0ZU92ZXJsYXBwaW5nQ2lkclJhbmdlc2lwdjYocHJvcHMudnBjLCBwcm9wcy5pcHY2Q2lkckJsb2NrPy5jaWRyKTtcbiAgICB9XG5cbiAgICBpZiAob3ZlcmxhcCB8fCBvdmVybGFwSXB2Nikge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignQ0lEUiBibG9jayBzaG91bGQgbm90IG92ZXJsYXAgd2l0aCBleGlzdGluZyBzdWJuZXQgYmxvY2tzJywgdGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmFzc2lnbklwdjZBZGRyZXNzT25DcmVhdGlvbiAmJiAhcHJvcHMuaXB2NkNpZHJCbG9jaykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignSVB2NiBDSURSIGJsb2NrIGlzIHJlcXVpcmVkIHdoZW4gYXNzaWduaW5nIElQdjYgYWRkcmVzcyBvbiBjcmVhdGlvbicsIHRoaXMpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5tYXBQdWJsaWNJcE9uTGF1bmNoID09PSB0cnVlICYmIHByb3BzLnN1Ym5ldFR5cGUgIT09IFN1Ym5ldFR5cGUuUFVCTElDKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdtYXBQdWJsaWNJcE9uTGF1bmNoIGNhbiBvbmx5IGJlIHNldCB0byB0cnVlIGZvciBwdWJsaWMgc3VibmV0cycsIHRoaXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHN1Ym5ldCA9IG5ldyBDZm5TdWJuZXQodGhpcywgJ1N1Ym5ldCcsIHtcbiAgICAgIHZwY0lkOiBwcm9wcy52cGMudnBjSWQsXG4gICAgICBjaWRyQmxvY2s6IGlwdjRDaWRyQmxvY2ssXG4gICAgICBpcHY2Q2lkckJsb2NrOiBpcHY2Q2lkckJsb2NrLFxuICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogcHJvcHMuYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgIGFzc2lnbklwdjZBZGRyZXNzT25DcmVhdGlvbjogcHJvcHMuYXNzaWduSXB2NkFkZHJlc3NPbkNyZWF0aW9uLFxuICAgICAgbWFwUHVibGljSXBPbkxhdW5jaDogcHJvcHMubWFwUHVibGljSXBPbkxhdW5jaCxcbiAgICB9KTtcblxuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSBzdWJuZXQ7XG4gICAgdGhpcy5pcHY0Q2lkckJsb2NrID0gcHJvcHMuaXB2NENpZHJCbG9jay5jaWRyO1xuICAgIHRoaXMuaXB2NkNpZHJCbG9jayA9IHByb3BzLmlwdjZDaWRyQmxvY2s/LmNpZHI7XG4gICAgdGhpcy5zdWJuZXRJZCA9IHN1Ym5ldC5yZWY7XG4gICAgdGhpcy5hdmFpbGFiaWxpdHlab25lID0gcHJvcHMuYXZhaWxhYmlsaXR5Wm9uZTtcblxuICAgIHRoaXMuX25ldHdvcmtBY2wgPSBOZXR3b3JrQWNsLmZyb21OZXR3b3JrQWNsSWQodGhpcywgJ0FjbCcsIHN1Ym5ldC5hdHRyTmV0d29ya0FjbEFzc29jaWF0aW9uSWQpO1xuXG4gICAgY29uc3QgaW5jbHVkZVJlc291cmNlVHlwZXMgPSBbQ2ZuU3VibmV0LkNGTl9SRVNPVVJDRV9UWVBFX05BTUVdO1xuICAgIGlmIChwcm9wcy5zdWJuZXROYW1lKSB7XG4gICAgICBUYWdzLm9mKHN1Ym5ldCkuYWRkKFNVQk5FVE5BTUVfVEFHLCBwcm9wcy5zdWJuZXROYW1lKTtcbiAgICB9XG4gICAgY29uc3Qgc3VibmV0VHlwZU5hbWUgPSBkZWZhdWx0U3VibmV0TmFtZShwcm9wcy5zdWJuZXRUeXBlKSA/PyAndW5kZWZpbmVkJztcbiAgICBUYWdzLm9mKHN1Ym5ldCkuYWRkKFNVQk5FVFRZUEVfVEFHLCBzdWJuZXRUeXBlTmFtZSwgeyBpbmNsdWRlUmVzb3VyY2VUeXBlcyB9KTtcblxuICAgIGlmIChwcm9wcy5yb3V0ZVRhYmxlKSB7XG4gICAgICB0aGlzLl9yb3V0ZVRhYmxlID0gcHJvcHMucm91dGVUYWJsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQXNzaWduaW5nIGEgZGVmYXVsdCByb3V0ZSB0YWJsZVxuICAgICAgdGhpcy5fcm91dGVUYWJsZSA9IG5ldyBSb3V0ZVRhYmxlKHRoaXMsICdSb3V0ZVRhYmxlJywge1xuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgcm91dGVUYWJsZU5hbWU6IHByb3BzLmRlZmF1bHRSb3V0ZVRhYmxlTmFtZSA/PyAnRGVmYXVsdENES1JvdXRlVGFibGUnLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgcm91dGVBc3NvYyA9IG5ldyBDZm5TdWJuZXRSb3V0ZVRhYmxlQXNzb2NpYXRpb24odGhpcywgJ1JvdXRlVGFibGVBc3NvY2lhdGlvbicsIHtcbiAgICAgIHN1Ym5ldElkOiB0aGlzLnN1Ym5ldElkLFxuICAgICAgcm91dGVUYWJsZUlkOiB0aGlzLnJvdXRlVGFibGUucm91dGVUYWJsZUlkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5faW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZC5hZGQocm91dGVBc3NvYyk7XG5cbiAgICB0aGlzLmludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQgPSB0aGlzLl9pbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkO1xuXG4gICAgdGhpcy5zdWJuZXRUeXBlID0gcHJvcHMuc3VibmV0VHlwZTtcbiAgICBzdG9yZVN1Ym5ldFRvVnBjQnlUeXBlKHByb3BzLnZwYywgdGhpcywgcHJvcHMuc3VibmV0VHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogQXNzb2NpYXRlIGEgTmV0d29yayBBQ0wgd2l0aCB0aGlzIHN1Ym5ldFxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGFzc29jaWF0aW9uLlxuICAgKiBAcGFyYW0gbmV0d29ya0FjbCBUaGUgTmV0d29yayBBQ0wgdG8gYXNzb2NpYXRlIHdpdGggdGhpcyBzdWJuZXQuXG4gICAqIFRoaXMgYWxsb3dzIGNvbnRyb2xsaW5nIGluYm91bmQgYW5kIG91dGJvdW5kIHRyYWZmaWMgZm9yIGluc3RhbmNlcyBpbiB0aGlzIHN1Ym5ldC5cbiAgICovXG4gIEBNZXRob2RNZXRhZGF0YSgpXG4gIHB1YmxpYyBhc3NvY2lhdGVOZXR3b3JrQWNsKGlkOiBzdHJpbmcsIG5ldHdvcmtBY2w6IElOZXR3b3JrQWNsKSB7XG4gICAgdGhpcy5fbmV0d29ya0FjbCA9IG5ldHdvcmtBY2w7XG5cbiAgICBjb25zdCBzY29wZSA9IG5ldHdvcmtBY2wgaW5zdGFuY2VvZiBDb25zdHJ1Y3QgPyBuZXR3b3JrQWNsIDogdGhpcztcbiAgICBjb25zdCBvdGhlciA9IG5ldHdvcmtBY2wgaW5zdGFuY2VvZiBDb25zdHJ1Y3QgPyB0aGlzIDogbmV0d29ya0FjbDtcbiAgICBuZXcgU3VibmV0TmV0d29ya0FjbEFzc29jaWF0aW9uKHNjb3BlLCBpZCArIE5hbWVzLm5vZGVVbmlxdWVJZChvdGhlci5ub2RlKSwge1xuICAgICAgbmV0d29ya0FjbCxcbiAgICAgIHN1Ym5ldDogdGhpcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIFJvdXRlIFRhYmxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHN1Ym5ldFxuICAgKi9cbiAgcHVibGljIGdldCByb3V0ZVRhYmxlKCk6IElSb3V0ZVRhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5fcm91dGVUYWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBOZXR3b3JrIEFDTCBhc3NvY2lhdGVkIHdpdGggdGhpcyBzdWJuZXQuXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgbmV0d29ya0FjbCgpOiBJTmV0d29ya0FjbCB7XG4gICAgcmV0dXJuIHRoaXMuX25ldHdvcmtBY2w7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHJlcXVpcmVkIHRvIGltcG9ydCBhIHN1Ym5ldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1Ym5ldFYyQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgQXZhaWxhYmlsaXR5IFpvbmUgdGhpcyBzdWJuZXQgaXMgbG9jYXRlZCBpblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIEFaIGluZm9ybWF0aW9uLCBjYW5ub3QgdXNlIEFaIHNlbGVjdGlvbiBmZWF0dXJlc1xuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSVB2NCBDSURSIGJsb2NrIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3VibmV0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gQ0lEUiBpbmZvcm1hdGlvbiwgY2Fubm90IHVzZSBDSURSIGZpbHRlciBmZWF0dXJlc1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NENpZHJCbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSVB2NCBDSURSIGJsb2NrIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3VibmV0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gQ0lEUiBpbmZvcm1hdGlvbiwgY2Fubm90IHVzZSBDSURSIGZpbHRlciBmZWF0dXJlc1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSByb3V0ZSB0YWJsZSBmb3IgdGhpcyBwYXJ0aWN1bGFyIHN1Ym5ldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHJvdXRlIHRhYmxlIGluZm9ybWF0aW9uLCBjYW5ub3QgY3JlYXRlIFZQQyBlbmRwb2ludHNcbiAgICovXG4gIHJlYWRvbmx5IHJvdXRlVGFibGVJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN1Ym5ldElkIGZvciB0aGlzIHBhcnRpY3VsYXIgc3VibmV0XG4gICAqL1xuICByZWFkb25seSBzdWJuZXRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBzdWJuZXQgKHB1YmxpYyBvciBwcml2YXRlKSB0aGF0IHRoaXMgc3VibmV0IHJlcHJlc2VudHMuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBnaXZlbiBzdWJuZXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzdWJuZXQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0TmFtZT86IHN0cmluZztcblxufVxuXG50eXBlIERlcHJlY2F0ZWRTdWJuZXRUeXBlID0gJ0RlcHJlY2F0ZWRfSXNvbGF0ZWQnIHwgJ0RlcHJlY2F0ZWRfUHJpdmF0ZSc7XG5jb25zdCBzdWJuZXRUeXBlTWFwOiB7IFtrZXkgaW4gU3VibmV0VHlwZSB8IERlcHJlY2F0ZWRTdWJuZXRUeXBlXTogKHZwYzogSVZwY1YyLCBzdWJuZXQ6IFN1Ym5ldFYyKSA9PiB2b2lkIH0gPSB7XG4gIFtTdWJuZXRUeXBlLlBSSVZBVEVfSVNPTEFURURdOiAodnBjOiBJVnBjVjIsIHN1Ym5ldDogU3VibmV0VjIpID0+IHZwYy5pc29sYXRlZFN1Ym5ldHMucHVzaChzdWJuZXQpLFxuICBbU3VibmV0VHlwZS5QVUJMSUNdOiAodnBjOiBJVnBjVjIsIHN1Ym5ldDogU3VibmV0VjIpID0+IHZwYy5wdWJsaWNTdWJuZXRzLnB1c2goc3VibmV0KSxcbiAgW1N1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU106ICh2cGM6IElWcGNWMiwgc3VibmV0OiBTdWJuZXRWMikgPT4gdnBjLnByaXZhdGVTdWJuZXRzLnB1c2goc3VibmV0KSxcbiAgWydEZXByZWNhdGVkX0lzb2xhdGVkJ106ICh2cGM6IElWcGNWMiwgc3VibmV0OiBTdWJuZXRWMikgPT4gdnBjLmlzb2xhdGVkU3VibmV0cy5wdXNoKHN1Ym5ldCksXG4gIFsnRGVwcmVjYXRlZF9Qcml2YXRlJ106ICh2cGM6IElWcGNWMiwgc3VibmV0OiBTdWJuZXRWMikgPT4gdnBjLnByaXZhdGVTdWJuZXRzLnB1c2goc3VibmV0KSxcbiAgW1N1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX05BVF06ICh2cGM6IElWcGNWMiwgc3VibmV0OiBTdWJuZXRWMikgPT4gdnBjLnByaXZhdGVTdWJuZXRzLnB1c2goc3VibmV0KSxcbn07XG5cbi8qKlxuICogU3RvcmVzIHRoZSBwcm92aWRlZCBzdWJuZXQgaW4gdGhlIFZQQydzIGNvbGxlY3Rpb24gb2Ygc3VibmV0cyBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIHN1Ym5ldCB0eXBlLlxuICpcbiAqIEBwYXJhbSB2cGMgVGhlIFZQQyBpbnN0YW5jZSB0byB3aGljaCB0aGUgc3VibmV0IGJlbG9uZ3MuXG4gKiBAcGFyYW0gc3VibmV0IFRoZSBzdWJuZXQgaW5zdGFuY2UgdG8gYmUgc3RvcmVkLlxuICogQHBhcmFtIHR5cGUgVGhlIHR5cGUgb2YgdGhlIHN1Ym5ldCAoZS5nLiwgcHVibGljLCBwcml2YXRlLCBpc29sYXRlZCkuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gc3RvcmVTdWJuZXRUb1ZwY0J5VHlwZSh2cGM6IElWcGNWMiwgc3VibmV0OiBTdWJuZXRWMiwgdHlwZTogU3VibmV0VHlwZSkge1xuICBjb25zdCBmaW5kRnVuY3Rpb25UeXBlID0gc3VibmV0VHlwZU1hcFt0eXBlXTtcbiAgaWYgKGZpbmRGdW5jdGlvblR5cGUpIHtcbiAgICBmaW5kRnVuY3Rpb25UeXBlKHZwYywgc3VibmV0KTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoYFVuc3VwcG9ydGVkIHN1Ym5ldCB0eXBlOiAke3R5cGV9YCk7XG4gIH1cblxuICAvKipcbiAgICogTmVlZCB0byBzZXQgZXhwbGljaXQgZGVwZW5kZW5jeSBhcyBkdXJpbmcgc3RhY2sgZGVsZXRpb24sXG4gICAqIHRoZSBjaWRyIGJsb2NrcyBtYXkgZ2V0IGRlbGV0ZWQgZmlyc3QgYW5kIHdpbGwgZmFpbCBhcyB0aGUgc3VibmV0cyBhcmUgc3RpbGwgdXNpbmcgdGhlIGNpZHIgYmxvY2tzXG4gICAqL1xuICBpZiAodnBjLnNlY29uZGFyeUNpZHJCbG9jaykge1xuICAgIGZvciAoY29uc3QgY2lkciBvZiB2cGMuc2Vjb25kYXJ5Q2lkckJsb2NrKSB7XG4gICAgICBzdWJuZXQubm9kZS5hZGREZXBlbmRlbmN5KGNpZHIpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB3aGV0aGVyIHRoZSBwcm92aWRlZCBWUEMgc3VwcG9ydHMgSVB2NiBhZGRyZXNzZXMuXG4gKlxuICogQHBhcmFtIHZwYyBUaGUgVlBDIGluc3RhbmNlIHRvIGJlIHZhbGlkYXRlZC5cbiAqIEB0aHJvd3MgVmFsaWRhdGlvbkVycm9yIGlmIHRoZSBWUEMgZG9lcyBub3Qgc3VwcG9ydCBJUHY2IGFkZHJlc3Nlcy5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIFZQQyBzdXBwb3J0cyBJUHY2IGFkZHJlc3NlcywgZmFsc2Ugb3RoZXJ3aXNlLlxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlU3VwcG9ydElwdjYodnBjOiBJVnBjVjIpIHtcbiAgaWYgKHZwYy5zZWNvbmRhcnlDaWRyQmxvY2spIHtcbiAgICBpZiAodnBjLnNlY29uZGFyeUNpZHJCbG9jay5zb21lKChzZWNvbmRhcnlBZGRyZXNzKSA9PiBzZWNvbmRhcnlBZGRyZXNzLmFtYXpvblByb3ZpZGVkSXB2NkNpZHJCbG9jayA9PT0gdHJ1ZSB8fFxuICBzZWNvbmRhcnlBZGRyZXNzLmlwdjZJcGFtUG9vbElkICE9PSB1bmRlZmluZWQgfHwgc2Vjb25kYXJ5QWRkcmVzcy5pcHY2UG9vbCAhPT0gdW5kZWZpbmVkKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcignVG8gdXNlIElQdjYsIHRoZSBWUEMgbXVzdCBlbmFibGUgSVB2NiBzdXBwb3J0LicpO1xuICAgIH1cbiAgfSBlbHNlIHtyZXR1cm4gZmFsc2U7fVxufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgcHJvdmlkZWQgQ0lEUiByYW5nZSBmYWxscyB3aXRoaW4gdGhlIElQIGFkZHJlc3MgcmFuZ2VzIG9mIHRoZSBnaXZlbiBWUEMuXG4gKlxuICogQHBhcmFtIHZwYyBUaGUgVlBDIGluc3RhbmNlIHRvIGNoZWNrIGFnYWluc3QuXG4gKiBAcGFyYW0gY2lkclJhbmdlIFRoZSBDSURSIHJhbmdlIHRvIGJlIGNoZWNrZWQuXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBDSURSIHJhbmdlIGZhbGxzIHdpdGhpbiB0aGUgVlBDJ3MgSVAgYWRkcmVzcyByYW5nZXMsIGZhbHNlIG90aGVyd2lzZS5cbiAqIEBpbnRlcm5hbFxuICovXG5mdW5jdGlvbiBjaGVja0NpZHJSYW5nZXModnBjOiBJVnBjVjIsIGNpZHJSYW5nZTogc3RyaW5nKSB7XG4gIGNvbnN0IHZwY0NpZHJCbG9jayA9IFt2cGMuaXB2NENpZHJCbG9ja107XG4gIGNvbnN0IHN1Ym5ldENpZHJCbG9jayA9IG5ldyBDaWRyQmxvY2soY2lkclJhbmdlKTtcbiAgY29uc3QgYWxsQ2lkcnM6IENpZHJCbG9ja1tdID0gW107XG5cbiAgLy8gU2Vjb25kYXJ5IElQIGFkZHJlc3NlcyBhc3NvaWNhdGVkIHVzaW5nIHVzZXIgZGVmaW5lZCBJUHY0IHJhbmdlXG4gIGlmICh2cGMuc2Vjb25kYXJ5Q2lkckJsb2NrKSB7XG4gICAgZm9yIChjb25zdCBpcEFkZHJlc3Mgb2YgdnBjLnNlY29uZGFyeUNpZHJCbG9jaykge1xuICAgICAgaWYgKGlwQWRkcmVzcy5jaWRyQmxvY2spIHtcbiAgICAgICAgdnBjQ2lkckJsb2NrLnB1c2goaXBBZGRyZXNzLmNpZHJCbG9jayk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNpZHJzID0gdnBjQ2lkckJsb2NrLm1hcChjaWRyID0+IG5ldyBDaWRyQmxvY2soY2lkcikpO1xuICAgIGFsbENpZHJzLnB1c2goLi4uY2lkcnMpO1xuICB9XG5cbiAgLy8gU2Vjb25kYXJ5IElQIGFkZHJlc3NlcyBhc3NvaWNhdGVkIHVzaW5nIElQQU0gSVB2NCByYW5nZVxuICBpZiAodnBjLmlwdjRJcGFtUHJvdmlzaW9uZWRDaWRycykge1xuICAgIGNvbnN0IGNpZHJzID0gdnBjLmlwdjRJcGFtUHJvdmlzaW9uZWRDaWRycy5tYXAoY2lkciA9PiBuZXcgQ2lkckJsb2NrKGNpZHIpKTtcbiAgICBhbGxDaWRycy5wdXNoKC4uLmNpZHJzKTtcbiAgfVxuXG4gIC8vIElmIG5vIElQdjQgaXMgYXNzaWduZWQgYXMgc2Vjb25kYXJ5IGFkZHJlc3NcbiAgaWYgKGFsbENpZHJzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcignTm8gc2Vjb25kYXJ5IElQIGFkZHJlc3MgYXR0YWNoZWQgdG8gVlBDJyk7XG4gIH1cblxuICByZXR1cm4gYWxsQ2lkcnMuc29tZShjID0+IGMuY29udGFpbnNDaWRyKHN1Ym5ldENpZHJCbG9jaykpO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyBpZiB0aGUgcHJvdmlkZWQgSVB2NCBDSURSIGJsb2NrIG92ZXJsYXBzIHdpdGggZXhpc3Rpbmcgc3VibmV0IENJRFIgYmxvY2tzIHdpdGhpbiB0aGUgZ2l2ZW4gVlBDLlxuICpcbiAqIEBwYXJhbSB2cGMgVGhlIFZQQyBpbnN0YW5jZSB0byBjaGVjayBhZ2FpbnN0LlxuICogQHBhcmFtIGlwdjRDaWRyQmxvY2sgVGhlIElQdjQgQ0lEUiBibG9jayB0byBiZSB2YWxpZGF0ZWQuXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBJUHY0IENJRFIgYmxvY2sgb3ZlcmxhcHMgd2l0aCBleGlzdGluZyBzdWJuZXQgQ0lEUiBibG9ja3MsIGZhbHNlIG90aGVyd2lzZS5cbiAqIEBpbnRlcm5hbFxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlT3ZlcmxhcHBpbmdDaWRyUmFuZ2VzKHZwYzogSVZwY1YyLCBpcHY0Q2lkckJsb2NrOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgbGV0IGFsbFN1Ym5ldHM6IElTdWJuZXRWMltdO1xuICB0cnkge1xuICAgIGFsbFN1Ym5ldHMgPSB2cGMuc2VsZWN0U3VibmV0cygpLnN1Ym5ldHM7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAnTm8gc3VibmV0cyBpbiBWUEMnO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGlwTWFwOiBbc3RyaW5nLCBzdHJpbmddW10gPSBuZXcgQXJyYXkoKTtcblxuICBjb25zdCBpbnB1dFJhbmdlID0gbmV3IENpZHJCbG9jayhpcHY0Q2lkckJsb2NrKTtcblxuICBjb25zdCBpbnB1dElwTWFwOiBbc3RyaW5nLCBzdHJpbmddID0gW2lucHV0UmFuZ2UubWluSXAoKSwgaW5wdXRSYW5nZS5tYXhJcCgpXTtcblxuICBmb3IgKGNvbnN0IHN1Ym5ldCBvZiBhbGxTdWJuZXRzKSB7XG4gICAgY29uc3QgY2lkckJsb2NrID0gbmV3IENpZHJCbG9jayhzdWJuZXQuaXB2NENpZHJCbG9jayk7XG4gICAgaXBNYXAucHVzaChbY2lkckJsb2NrLm1pbklwKCksIGNpZHJCbG9jay5tYXhJcCgpXSk7XG4gIH1cblxuICBmb3IgKGNvbnN0IHJhbmdlIG9mIGlwTWFwKSB7XG4gICAgaWYgKGlucHV0UmFuZ2UucmFuZ2VzT3ZlcmxhcChyYW5nZSwgaW5wdXRJcE1hcCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgaWYgdGhlIHByb3ZpZGVkIElQdjYgQ0lEUiBibG9jayBvdmVybGFwcyB3aXRoIGV4aXN0aW5nIHN1Ym5ldCBDSURSIGJsb2NrcyB3aXRoaW4gdGhlIGdpdmVuIFZQQy5cbiAqXG4gKiBAcGFyYW0gdnBjIFRoZSBWUEMgaW5zdGFuY2UgdG8gY2hlY2sgYWdhaW5zdC5cbiAqIEBwYXJhbSBpcHY2Q2lkckJsb2NrIFRoZSBJUHY2IENJRFIgYmxvY2sgdG8gYmUgdmFsaWRhdGVkLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgSVB2NiBDSURSIGJsb2NrIG92ZXJsYXBzIHdpdGggZXhpc3Rpbmcgc3VibmV0IENJRFIgYmxvY2tzLCBmYWxzZSBvdGhlcndpc2UuXG4gKiBAdGhyb3dzIFZhbGlkYXRpb25FcnJvciBpZiBubyBzdWJuZXRzIGFyZSBmb3VuZCBpbiB0aGUgVlBDLlxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlT3ZlcmxhcHBpbmdDaWRyUmFuZ2VzaXB2Nih2cGM6IElWcGNWMiwgaXB2NkNpZHJCbG9jazogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBhbGxTdWJuZXRzOiBJU3VibmV0VjJbXTtcbiAgdHJ5IHtcbiAgICBhbGxTdWJuZXRzID0gdnBjLnNlbGVjdFN1Ym5ldHMoKS5zdWJuZXRzO1xuICB9IGNhdGNoIChlKSB7XG4gICAgJ05vIHN1Ym5ldHMgaW4gVlBDJztcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBpcHY2TWFwOiBzdHJpbmdbXT0gW107XG5cbiAgY29uc3QgaW5wdXRSYW5nZSA9IG5ldyBDaWRyQmxvY2tJcHY2KGlwdjZDaWRyQmxvY2spO1xuXG4gIGxldCByZXN1bHQgOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZm9yIChjb25zdCBzdWJuZXQgb2YgYWxsU3VibmV0cykge1xuICAgIGlmIChzdWJuZXQuaXB2NkNpZHJCbG9jaykge1xuICAgICAgY29uc3QgY2lkckJsb2NrID0gbmV3IENpZHJCbG9ja0lwdjYoc3VibmV0LmlwdjZDaWRyQmxvY2spO1xuICAgICAgaXB2Nk1hcC5wdXNoKGNpZHJCbG9jay5jaWRyKTtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IHJhbmdlIG9mIGlwdjZNYXApIHtcbiAgICBpZiAoaW5wdXRSYW5nZS5yYW5nZXNPdmVybGFwKHJhbmdlLCBpbnB1dFJhbmdlLmNpZHIpKSB7XG4gICAgICByZXN1bHQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
413
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibmV0LXYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3VibmV0LXYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyRztBQUMzRyxpREFBd0s7QUFDeEssMkNBQXFFO0FBRXJFLGlDQUFxRTtBQUNyRSxtQ0FBcUM7QUFDckMsOEVBQThGO0FBQzlGLDBFQUEwRTtBQVUxRTs7R0FFRztBQUNILE1BQWEsTUFBTTtJQU1qQixZQUFZLEtBQWE7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7S0FDbkI7O0FBUkgsd0JBU0M7OztBQUVEOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztBQWlHN0M7Ozs7Ozs7Ozs7R0FVRztBQUVJLElBQU0sUUFBUSxHQUFkLE1BQU0sUUFBUyxTQUFRLHNCQUFRO0lBSXBDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCOzs7Ozs7Ozs7O1FBQzFGOzs7V0FHRztRQUNILE1BQU0sZ0JBQWlCLFNBQVEsc0JBQVE7WUFBdkM7O2dCQUNFOzttQkFFRztnQkFDYSxrQkFBYSxHQUFZLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBRTdEOzttQkFFRztnQkFDYSxlQUFVLEdBQWdCLEtBQUssQ0FBQyxVQUFVLENBQUM7Z0JBRTNEOzttQkFFRztnQkFDYSxxQkFBZ0IsR0FBVyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7Z0JBRWxFOzs7bUJBR0c7Z0JBQ2EsYUFBUSxHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBRWxEOzttQkFFRztnQkFDYSxvQ0FBK0IsR0FBZ0IsSUFBSSw0QkFBZSxFQUFFLENBQUM7Z0JBRXJGOzttQkFFRztnQkFDYSxrQkFBYSxHQUFXLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBRTVEOzttQkFFRztn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RXBELElBQUksTUFBTSxHQUFhLEtBQUssQ0FBQztJQUU3QixLQUFLLE1BQU0sTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksb0JBQWEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckQsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZSwgTmFtZXMsIExhenksIFRhZ3MsIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IsIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ2ZuU3VibmV0LCBDZm5TdWJuZXRSb3V0ZVRhYmxlQXNzb2NpYXRpb24sIElOZXR3b3JrQWNsLCBJUm91dGVUYWJsZSwgSVN1Ym5ldCwgTmV0d29ya0FjbCwgU3VibmV0TmV0d29ya0FjbEFzc29jaWF0aW9uLCBTdWJuZXRUeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIERlcGVuZGVuY3lHcm91cCwgSURlcGVuZGFibGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElWcGNWMiB9IGZyb20gJy4vdnBjLXYyLWJhc2UnO1xuaW1wb3J0IHsgQ2lkckJsb2NrLCBDaWRyQmxvY2tJcHY2LCBkZWZhdWx0U3VibmV0TmFtZSB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBSb3V0ZVRhYmxlIH0gZnJvbSAnLi9yb3V0ZSc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHsgU3VibmV0UmVmZXJlbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMi9saWIvZWMyLmdlbmVyYXRlZCc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRvIGRlZmluZSBzdWJuZXQgQ0lEUlxuICovXG5pbnRlcmZhY2UgSUNpZHIge1xuICByZWFkb25seSBjaWRyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSVB2NCBvciBJUHY2IENJRFIgcmFuZ2UgZm9yIHRoZSBzdWJuZXRcbiAqL1xuZXhwb3J0IGNsYXNzIElwQ2lkciBpbXBsZW1lbnRzIElDaWRyIHtcbiAgLyoqXG4gICAqIElQdjYgQ0lEUiByYW5nZSBmb3IgdGhlIHN1Ym5ldFxuICAgKiBBbGxvd2VkIG9ubHkgaWYgSVB2NiBpcyBlbmFibGVkIG9uIFZQY1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNpZHI6IHN0cmluZztcbiAgY29uc3RydWN0b3IocHJvcHM6IHN0cmluZyApIHtcbiAgICB0aGlzLmNpZHIgPSBwcm9wcztcbiAgfVxufVxuXG4vKipcbiAqIFZQQyBOYW1lIHRhZyBjb25zdGFudFxuICovXG5jb25zdCBTVUJORVRUWVBFX1RBRyA9ICdhd3MtY2RrOnN1Ym5ldC10eXBlJztcblxuLyoqXG4gKiBTdWJuZXQgTmFtZSB0YWcgY29uc3RhbnRcbiAqL1xuY29uc3QgU1VCTkVUTkFNRV9UQUcgPSAnYXdzLWNkazpzdWJuZXQtbmFtZSc7XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBkZWZpbmUgc3VibmV0IGZvciBWUEMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0VjJQcm9wcyB7XG4vKipcbiAqIFZQQyBQcm9wXG4gKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjVjI7XG5cbiAgLyoqXG4gICAqIGlwdjQgY2lkciB0byBhc3NpZ24gdG8gdGhpcyBzdWJuZXQuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLXN1Ym5ldC5odG1sI2Nmbi1lYzItc3VibmV0LWNpZHJibG9ja1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NENpZHJCbG9jazogSXBDaWRyO1xuXG4gIC8qKlxuICAgKiBJcHY2IENJRFIgUmFuZ2UgZm9yIHN1Ym5ldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIElwdjYgYWRkcmVzc1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IElwQ2lkcjtcblxuICAvKipcbiAgICogQ3VzdG9tIEFaIGZvciB0aGUgc3VibmV0XG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBSb3V0ZSBmb3Igc3VibmV0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBkZWZhdWx0IHJvdXRlIHRhYmxlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvdXRlVGFibGU/OiBJUm91dGVUYWJsZTtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZGVmYXVsdCBSb3V0ZVRhYmxlIGNyZWF0ZWQgYnkgQ0RLIHRvIGJlIHVzZWQgZm9yIHRhZ2dpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IHJvdXRlIHRhYmxlIG5hbWUgY3JlYXRlZCBieSBDREsgYXMgJ0RlZmF1bHRDREtSb3V0ZVRhYmxlJ1xuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGVOYW1lID86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgU3VibmV0IHRvIGNvbmZpZ3VyZS5cbiAgICpcbiAgICogVGhlIFN1Ym5ldCB0eXBlIHdpbGwgY29udHJvbCB0aGUgYWJpbGl0eSB0byByb3V0ZSBhbmQgY29ubmVjdCB0byB0aGVcbiAgICogSW50ZXJuZXQuXG4gICAqXG4gICAqIFRPRE86IEFkZCB2YWxpZGF0aW9uIGNoZWNrIGBzdWJuZXRUeXBlYCB3aGVuIGFkZGluZyByZXNvdXJjZXMgKGUuZy4gY2Fubm90IGFkZCBOYXRHYXRld2F5IHRvIHByaXZhdGUpXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlO1xuXG4gIC8qKlxuICAgKiBTdWJuZXQgbmFtZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHByb3Zpc2lvbmVkIHdpdGggYW4gYXV0b2dlbmVyYXRlZCBuYW1lIGJ5IENES1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgYSBuZXR3b3JrIGludGVyZmFjZSBjcmVhdGVkIGluIHRoaXMgc3VibmV0IHJlY2VpdmVzIGFuIElQdjYgYWRkcmVzcy5cbiAgICogSWYgeW91IHNwZWNpZnkgQXNzaWduSXB2NkFkZHJlc3NPbkNyZWF0aW9uLCB5b3UgbXVzdCBhbHNvIHNwZWNpZnkgSXB2NkNpZHJCbG9jay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgaW4gY2FzZSBub3QgcHJvdmlkZWQgYXMgYW4gaW5wdXRcbiAgICovXG4gIHJlYWRvbmx5IGFzc2lnbklwdjZBZGRyZXNzT25DcmVhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIGlmIGluc3RhbmNlcyBsYXVuY2hlZCBpbnRvIHRoZSBzdWJuZXQgc2hvdWxkIGJlIGFzc2lnbmVkIGEgcHVibGljIElQIGFkZHJlc3MuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIG9ubHkgYmUgc2V0IGZvciBwdWJsaWMgc3VibmV0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgaW4gY2FzZSBub3QgcHJvdmlkZWQgYXMgYW4gaW5wdXRcbiAgICovXG4gIHJlYWRvbmx5IG1hcFB1YmxpY0lwT25MYXVuY2g/OiBib29sZWFuO1xuXG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHdpdGggYWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBTdWJuZXRWMlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTdWJuZXRWMiBleHRlbmRzIElTdWJuZXQge1xuXG4gIC8qKlxuICAgKiBUaGUgSVB2NiBDSURSIGJsb2NrIGZvciB0aGlzIHN1Ym5ldFxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygc3VibmV0IChwdWJsaWMgb3IgcHJpdmF0ZSkgdGhhdCB0aGlzIHN1Ym5ldCByZXByZXNlbnRzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlIFN1Ym5ldFR5cGVcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlO1xuXG59XG5cbi8qKlxuICogVGhlIFN1Ym5ldFYyIGNsYXNzIHJlcHJlc2VudHMgYSBzdWJuZXQgd2l0aGluIGEgVlBDIChWaXJ0dWFsIFByaXZhdGUgQ2xvdWQpIGluIEFXUy5cbiAqIEl0IGV4dGVuZHMgdGhlIFJlc291cmNlIGNsYXNzIGFuZCBpbXBsZW1lbnRzIHRoZSBJU3VibmV0IGludGVyZmFjZS5cbiAqXG4gKiBJbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYW5kIG1hbmFnZSBzdWJuZXRzIHdpdGhpbiBhIFZwY1YyIGluc3RhbmNlLlxuICogU3VibmV0cyBjYW4gYmUgY29uZmlndXJlZCB3aXRoIHNwZWNpZmljIElQIGFkZHJlc3MgcmFuZ2VzIChJUHY0IGFuZCBJUHY2KSwgYXZhaWxhYmlsaXR5IHpvbmVzLFxuICogYW5kIHN1Ym5ldCB0eXBlcyAoZS5nLiwgcHVibGljLCBwcml2YXRlLCBpc29sYXRlZCkuXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpTdWJuZXRcbiAqXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBTdWJuZXRWMiBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVN1Ym5ldFYyIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZWMyLWFscGhhLlN1Ym5ldFYyJztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIHN1Ym5ldCB0byB0aGUgVlBDXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TdWJuZXRWMkF0dHJpYnV0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IFN1Ym5ldFYyQXR0cmlidXRlcykgOiBJU3VibmV0VjIge1xuICAgIC8qKlxuICAgICAqIENsYXNzIHRvIGRlZmluZSBhbiBpbXBvcnQgZm9yIGFuIGV4aXN0aW5nIHN1Ym5ldFxuICAgICAqIEByZXNvdXJjZSBBV1M6OkVDMjo6U3VibmV0XG4gICAgICovXG4gICAgY2xhc3MgSW1wb3J0ZWRTdWJuZXRWMiBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVN1Ym5ldFYyIHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIElQdjYgQ0lEUiBCbG9jayBhc3NpZ25lZCB0byB0aGlzIHN1Ym5ldFxuICAgICAgICovXG4gICAgICBwdWJsaWMgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IHN0cmluZyA9IGF0dHJzLmlwdjZDaWRyQmxvY2s7XG5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIHR5cGUgb2Ygc3VibmV0IChlZy4gcHVibGljIG9yIHByaXZhdGUpIHRoYXQgdGhpcyBzdWJuZXQgcmVwcmVzZW50cy5cbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlID0gYXR0cnMuc3VibmV0VHlwZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgQXZhaWxhYmlsaXR5IFpvbmUgaW4gd2hpY2ggc3VibmV0IGlzIGxvY2F0ZWRcbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZyA9IGF0dHJzLmF2YWlsYWJpbGl0eVpvbmU7XG5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIHN1Ym5ldElkIGZvciB0aGlzIHBhcnRpY3VsYXIgc3VibmV0XG4gICAgICAgKiBSZWZlcnMgdG8gdGhlIHBoeXNpY2FsIElEIGNyZWF0ZWRcbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IHN1Ym5ldElkOiBzdHJpbmcgPSBhdHRycy5zdWJuZXRJZDtcblxuICAgICAgLyoqXG4gICAgICAgKiBEZXBlbmRhYmxlIHRoYXQgY2FuIGJlIGRlcGVuZGVkIHVwb24gdG8gZm9yY2UgaW50ZXJuZXQgY29ubmVjdGl2aXR5IGVzdGFibGlzaGVkIG9uIHRoZSBWUENcbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IGludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQ6IElEZXBlbmRhYmxlID0gbmV3IERlcGVuZGVuY3lHcm91cCgpO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBJUHY0IENJRFIgYmxvY2sgYXNzaWduZWQgdG8gdGhpcyBzdWJuZXRcbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZyA9IGF0dHJzLmlwdjRDaWRyQmxvY2s7XG5cbiAgICAgIC8qKlxuICAgICAgICogIEN1cnJlbnQgcm91dGUgdGFibGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3VibmV0XG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyByZWFkb25seSByb3V0ZVRhYmxlOiBJUm91dGVUYWJsZSA9IHsgcm91dGVUYWJsZUlkOiBhdHRycy5yb3V0ZVRhYmxlSWQhIH07XG5cbiAgICAgIHB1YmxpYyBnZXQgc3VibmV0UmVmKCk6IFN1Ym5ldFJlZmVyZW5jZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VibmV0SWQ6IHRoaXMuc3VibmV0SWQsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogQXNzb2NpYXRlIGEgTmV0d29yayBBQ0wgd2l0aCB0aGlzIHN1Ym5ldFxuICAgICAgICogUmVxdWlyZWQgaGVyZSBzaW5jZSBpdCBpcyBpbXBsZW1lbnRlZCBpbiB0aGUgSVN1Ym5ldFYyXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyBhc3NvY2lhdGVOZXR3b3JrQWNsKGFjbElkOiBzdHJpbmcsIG5ldHdvcmtBY2w6IElOZXR3b3JrQWNsKSB7XG4gICAgICAgIGNvbnN0IGFjbFNjb3BlID0gbmV0d29ya0FjbCBpbnN0YW5jZW9mIENvbnN0cnVjdCA/IG5ldHdvcmtBY2wgOiB0aGlzO1xuICAgICAgICBjb25zdCBvdGhlciA9IG5ldHdvcmtBY2wgaW5zdGFuY2VvZiBDb25zdHJ1Y3QgPyB0aGlzIDogbmV0d29ya0FjbDtcbiAgICAgICAgbmV3IFN1Ym5ldE5ldHdvcmtBY2xBc3NvY2lhdGlvbihhY2xTY29wZSwgYWNsSWQgKyBOYW1lcy5ub2RlVW5pcXVlSWQob3RoZXIubm9kZSksIHtcbiAgICAgICAgICBuZXR3b3JrQWNsLFxuICAgICAgICAgIHN1Ym5ldDogdGhpcyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0ZWRTdWJuZXRWMihzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBdmFpbGFiaWxpdHkgWm9uZSB0aGUgc3VibmV0IGlzIGxvY2F0ZWQgaW5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdmFpbGFiaWxpdHlab25lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXRJZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIHN1Ym5ldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3VibmV0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogIERlcGVuZGVuY2llcyBmb3IgaW50ZXJuZXQgY29ubmVjdGl2aXR5XG4gICAqIFRoaXMgUHJvcGVydHkgZXhwb3NlcyB0aGUgUm91dGVUYWJsZS1TdWJuZXQgYXNzb2NpYXRpb24gc28gdGhhdCBvdGhlciByZXNvdXJjZXMgY2FuIGRlcGVuZCBvbiBpdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkOiBJRGVwZW5kYWJsZTtcblxuICAvKipcbiAgICogVGhlIHZhcmlhYmxlIG5hbWUgYGludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWRgIGRvZXMgbm90IHJlZmxlY3Qgd2hhdCBpdCBhY3R1YWxseSBpcy5cbiAgICogVGhlIG5hbWluZyBpcyBlbmZvcmNlZCBieSBJU3VibmV0LiBXZSBuZWVkIHRvIGtlZXAgaXQgdG8gbWFpbnRhaW4gY29tcGF0aWJpbGl0eS5cbiAgICogSXQgZXhwb3NlcyB0aGUgUm91dGVUYWJsZS1TdWJuZXQgYXNzb2NpYXRpb24gc28gdGhhdCBvdGhlciByZXNvdXJjZXMgY2FuIGRlcGVuZCBvbiBpdC5cbiAgICogRS5nLiBSZXNvdXJjZXMgaW4gYSBzdWJuZXQsIHdoZW4gYmVpbmcgZGVsZXRlZCwgbWF5IG5lZWQgdGhlIFJvdXRlVGFibGUgdG8gZXhpc3QgaW4gb3JkZXIgdG8gZGVsZXRlIHByb3Blcmx5XG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkID0gbmV3IERlcGVuZGVuY3lHcm91cCgpO1xuXG4gIC8qKlxuICAgKiBUaGUgSVB2NCBDSURSIGJsb2NrIGZvciB0aGlzIHN1Ym5ldFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElQdjYgQ0lEUiBCbG9jayBmb3IgdGhpcyBzdWJuZXRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcHY2Q2lkckJsb2NrPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgc3VibmV0UmVmKCk6IFN1Ym5ldFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Ym5ldElkOiB0aGlzLnN1Ym5ldElkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygc3VibmV0IChwdWJsaWMgb3IgcHJpdmF0ZSkgdGhhdCB0aGlzIHN1Ym5ldCByZXByZXNlbnRzLlxuICAgKiBAYXR0cmlidXRlIFN1Ym5ldFR5cGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzdWJuZXRUeXBlPzogU3VibmV0VHlwZTtcblxuICBwcml2YXRlIF9uZXR3b3JrQWNsOiBJTmV0d29ya0FjbDtcblxuICBwcml2YXRlIF9yb3V0ZVRhYmxlOiBJUm91dGVUYWJsZTtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBTdWJuZXRWMiBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgQ29uc3RydWN0IHRoYXQgdGhpcyByZXNvdXJjZSB3aWxsIGJlIHBhcnQgb2YuXG4gICAqIEBwYXJhbSBpZCBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgcmVzb3VyY2UuXG4gICAqIEBwYXJhbSBwcm9wcyBUaGUgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgc3VibmV0LlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN1Ym5ldFYyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuc3VibmV0TmFtZSA/PyBMYXp5LnN0cmluZyh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4LCBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6ICdfJyB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgaXB2NENpZHJCbG9jayA9IHByb3BzLmlwdjRDaWRyQmxvY2suY2lkcjtcbiAgICBjb25zdCBpcHY2Q2lkckJsb2NrID0gcHJvcHMuaXB2NkNpZHJCbG9jaz8uY2lkcjtcblxuICAgIGlmICghY2hlY2tDaWRyUmFuZ2VzKHByb3BzLnZwYywgcHJvcHMuaXB2NENpZHJCbG9jay5jaWRyKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignQ0lEUiBibG9jayBzaG91bGQgYmUgd2l0aGluIHRoZSByYW5nZSBvZiBWUEMnLCB0aGlzKTtcbiAgICB9XG5cbiAgICBsZXQgb3ZlcmxhcDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGxldCBvdmVybGFwSXB2NjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuaXB2NENpZHJCbG9jaykpIHtcbiAgICAgIG92ZXJsYXAgPSB2YWxpZGF0ZU92ZXJsYXBwaW5nQ2lkclJhbmdlcyhwcm9wcy52cGMsIHByb3BzLmlwdjRDaWRyQmxvY2suY2lkcik7XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgd2hldGhlciBWUEMgc3VwcG9ydHMgaXB2NlxuICAgIGlmIChwcm9wcy5pcHY2Q2lkckJsb2NrPy5jaWRyICYmICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuaXB2NkNpZHJCbG9jaz8uY2lkcikpIHtcbiAgICAgIHZhbGlkYXRlU3VwcG9ydElwdjYocHJvcHMudnBjKTtcbiAgICAgIG92ZXJsYXBJcHY2ID0gdmFsaWRhdGVPdmVybGFwcGluZ0NpZHJSYW5nZXNpcHY2KHByb3BzLnZwYywgcHJvcHMuaXB2NkNpZHJCbG9jaz8uY2lkcik7XG4gICAgfVxuXG4gICAgaWYgKG92ZXJsYXAgfHwgb3ZlcmxhcElwdjYpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ0NJRFIgYmxvY2sgc2hvdWxkIG5vdCBvdmVybGFwIHdpdGggZXhpc3Rpbmcgc3VibmV0IGJsb2NrcycsIHRoaXMpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5hc3NpZ25JcHY2QWRkcmVzc09uQ3JlYXRpb24gJiYgIXByb3BzLmlwdjZDaWRyQmxvY2spIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ0lQdjYgQ0lEUiBibG9jayBpcyByZXF1aXJlZCB3aGVuIGFzc2lnbmluZyBJUHY2IGFkZHJlc3Mgb24gY3JlYXRpb24nLCB0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMubWFwUHVibGljSXBPbkxhdW5jaCA9PT0gdHJ1ZSAmJiBwcm9wcy5zdWJuZXRUeXBlICE9PSBTdWJuZXRUeXBlLlBVQkxJQykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignbWFwUHVibGljSXBPbkxhdW5jaCBjYW4gb25seSBiZSBzZXQgdG8gdHJ1ZSBmb3IgcHVibGljIHN1Ym5ldHMnLCB0aGlzKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJuZXQgPSBuZXcgQ2ZuU3VibmV0KHRoaXMsICdTdWJuZXQnLCB7XG4gICAgICB2cGNJZDogcHJvcHMudnBjLnZwY0lkLFxuICAgICAgY2lkckJsb2NrOiBpcHY0Q2lkckJsb2NrLFxuICAgICAgaXB2NkNpZHJCbG9jazogaXB2NkNpZHJCbG9jayxcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IHByb3BzLmF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICBhc3NpZ25JcHY2QWRkcmVzc09uQ3JlYXRpb246IHByb3BzLmFzc2lnbklwdjZBZGRyZXNzT25DcmVhdGlvbixcbiAgICAgIG1hcFB1YmxpY0lwT25MYXVuY2g6IHByb3BzLm1hcFB1YmxpY0lwT25MYXVuY2gsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gc3VibmV0O1xuICAgIHRoaXMuaXB2NENpZHJCbG9jayA9IHByb3BzLmlwdjRDaWRyQmxvY2suY2lkcjtcbiAgICB0aGlzLmlwdjZDaWRyQmxvY2sgPSBwcm9wcy5pcHY2Q2lkckJsb2NrPy5jaWRyO1xuICAgIHRoaXMuc3VibmV0SWQgPSBzdWJuZXQucmVmO1xuICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZSA9IHByb3BzLmF2YWlsYWJpbGl0eVpvbmU7XG5cbiAgICB0aGlzLl9uZXR3b3JrQWNsID0gTmV0d29ya0FjbC5mcm9tTmV0d29ya0FjbElkKHRoaXMsICdBY2wnLCBzdWJuZXQuYXR0ck5ldHdvcmtBY2xBc3NvY2lhdGlvbklkKTtcblxuICAgIGNvbnN0IGluY2x1ZGVSZXNvdXJjZVR5cGVzID0gW0NmblN1Ym5ldC5DRk5fUkVTT1VSQ0VfVFlQRV9OQU1FXTtcbiAgICBpZiAocHJvcHMuc3VibmV0TmFtZSkge1xuICAgICAgVGFncy5vZihzdWJuZXQpLmFkZChTVUJORVROQU1FX1RBRywgcHJvcHMuc3VibmV0TmFtZSk7XG4gICAgfVxuICAgIGNvbnN0IHN1Ym5ldFR5cGVOYW1lID0gZGVmYXVsdFN1Ym5ldE5hbWUocHJvcHMuc3VibmV0VHlwZSkgPz8gJ3VuZGVmaW5lZCc7XG4gICAgVGFncy5vZihzdWJuZXQpLmFkZChTVUJORVRUWVBFX1RBRywgc3VibmV0VHlwZU5hbWUsIHsgaW5jbHVkZVJlc291cmNlVHlwZXMgfSk7XG5cbiAgICBpZiAocHJvcHMucm91dGVUYWJsZSkge1xuICAgICAgdGhpcy5fcm91dGVUYWJsZSA9IHByb3BzLnJvdXRlVGFibGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFzc2lnbmluZyBhIGRlZmF1bHQgcm91dGUgdGFibGVcbiAgICAgIHRoaXMuX3JvdXRlVGFibGUgPSBuZXcgUm91dGVUYWJsZSh0aGlzLCAnUm91dGVUYWJsZScsIHtcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIHJvdXRlVGFibGVOYW1lOiBwcm9wcy5kZWZhdWx0Um91dGVUYWJsZU5hbWUgPz8gJ0RlZmF1bHRDREtSb3V0ZVRhYmxlJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdXRlQXNzb2MgPSBuZXcgQ2ZuU3VibmV0Um91dGVUYWJsZUFzc29jaWF0aW9uKHRoaXMsICdSb3V0ZVRhYmxlQXNzb2NpYXRpb24nLCB7XG4gICAgICBzdWJuZXRJZDogdGhpcy5zdWJuZXRJZCxcbiAgICAgIHJvdXRlVGFibGVJZDogdGhpcy5yb3V0ZVRhYmxlLnJvdXRlVGFibGVJZCxcbiAgICB9KTtcblxuICAgIHRoaXMuX2ludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQuYWRkKHJvdXRlQXNzb2MpO1xuXG4gICAgdGhpcy5pbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkID0gdGhpcy5faW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZDtcblxuICAgIHRoaXMuc3VibmV0VHlwZSA9IHByb3BzLnN1Ym5ldFR5cGU7XG4gICAgc3RvcmVTdWJuZXRUb1ZwY0J5VHlwZShwcm9wcy52cGMsIHRoaXMsIHByb3BzLnN1Ym5ldFR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSBhIE5ldHdvcmsgQUNMIHdpdGggdGhpcyBzdWJuZXRcbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBhc3NvY2lhdGlvbi5cbiAgICogQHBhcmFtIG5ldHdvcmtBY2wgVGhlIE5ldHdvcmsgQUNMIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgc3VibmV0LlxuICAgKiBUaGlzIGFsbG93cyBjb250cm9sbGluZyBpbmJvdW5kIGFuZCBvdXRib3VuZCB0cmFmZmljIGZvciBpbnN0YW5jZXMgaW4gdGhpcyBzdWJuZXQuXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgYXNzb2NpYXRlTmV0d29ya0FjbChpZDogc3RyaW5nLCBuZXR3b3JrQWNsOiBJTmV0d29ya0FjbCkge1xuICAgIHRoaXMuX25ldHdvcmtBY2wgPSBuZXR3b3JrQWNsO1xuXG4gICAgY29uc3Qgc2NvcGUgPSBuZXR3b3JrQWNsIGluc3RhbmNlb2YgQ29uc3RydWN0ID8gbmV0d29ya0FjbCA6IHRoaXM7XG4gICAgY29uc3Qgb3RoZXIgPSBuZXR3b3JrQWNsIGluc3RhbmNlb2YgQ29uc3RydWN0ID8gdGhpcyA6IG5ldHdvcmtBY2w7XG4gICAgbmV3IFN1Ym5ldE5ldHdvcmtBY2xBc3NvY2lhdGlvbihzY29wZSwgaWQgKyBOYW1lcy5ub2RlVW5pcXVlSWQob3RoZXIubm9kZSksIHtcbiAgICAgIG5ldHdvcmtBY2wsXG4gICAgICBzdWJuZXQ6IHRoaXMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBSb3V0ZSBUYWJsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBzdWJuZXRcbiAgICovXG4gIHB1YmxpYyBnZXQgcm91dGVUYWJsZSgpOiBJUm91dGVUYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMuX3JvdXRlVGFibGU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgTmV0d29yayBBQ0wgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3VibmV0LlxuICAgKi9cblxuICBwdWJsaWMgZ2V0IG5ldHdvcmtBY2woKTogSU5ldHdvcmtBY2wge1xuICAgIHJldHVybiB0aGlzLl9uZXR3b3JrQWNsO1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyByZXF1aXJlZCB0byBpbXBvcnQgYSBzdWJuZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWJuZXRWMkF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEF2YWlsYWJpbGl0eSBab25lIHRoaXMgc3VibmV0IGlzIGxvY2F0ZWQgaW5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBBWiBpbmZvcm1hdGlvbiwgY2Fubm90IHVzZSBBWiBzZWxlY3Rpb24gZmVhdHVyZXNcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElQdjQgQ0lEUiBibG9jayBhc3NvY2lhdGVkIHdpdGggdGhlIHN1Ym5ldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIENJRFIgaW5mb3JtYXRpb24sIGNhbm5vdCB1c2UgQ0lEUiBmaWx0ZXIgZmVhdHVyZXNcbiAgICovXG4gIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElQdjQgQ0lEUiBibG9jayBhc3NvY2lhdGVkIHdpdGggdGhlIHN1Ym5ldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIENJRFIgaW5mb3JtYXRpb24sIGNhbm5vdCB1c2UgQ0lEUiBmaWx0ZXIgZmVhdHVyZXNcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZDaWRyQmxvY2s/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgcm91dGUgdGFibGUgZm9yIHRoaXMgcGFydGljdWxhciBzdWJuZXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyByb3V0ZSB0YWJsZSBpbmZvcm1hdGlvbiwgY2Fubm90IGNyZWF0ZSBWUEMgZW5kcG9pbnRzXG4gICAqL1xuICByZWFkb25seSByb3V0ZVRhYmxlSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXRJZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIHN1Ym5ldFxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygc3VibmV0IChwdWJsaWMgb3IgcHJpdmF0ZSkgdGhhdCB0aGlzIHN1Ym5ldCByZXByZXNlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0VHlwZTogU3VibmV0VHlwZTtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZ2l2ZW4gc3VibmV0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc3VibmV0IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldE5hbWU/OiBzdHJpbmc7XG5cbn1cblxudHlwZSBEZXByZWNhdGVkU3VibmV0VHlwZSA9ICdEZXByZWNhdGVkX0lzb2xhdGVkJyB8ICdEZXByZWNhdGVkX1ByaXZhdGUnO1xuY29uc3Qgc3VibmV0VHlwZU1hcDogeyBba2V5IGluIFN1Ym5ldFR5cGUgfCBEZXByZWNhdGVkU3VibmV0VHlwZV06ICh2cGM6IElWcGNWMiwgc3VibmV0OiBTdWJuZXRWMikgPT4gdm9pZCB9ID0ge1xuICBbU3VibmV0VHlwZS5QUklWQVRFX0lTT0xBVEVEXTogKHZwYzogSVZwY1YyLCBzdWJuZXQ6IFN1Ym5ldFYyKSA9PiB2cGMuaXNvbGF0ZWRTdWJuZXRzLnB1c2goc3VibmV0KSxcbiAgW1N1Ym5ldFR5cGUuUFVCTElDXTogKHZwYzogSVZwY1YyLCBzdWJuZXQ6IFN1Ym5ldFYyKSA9PiB2cGMucHVibGljU3VibmV0cy5wdXNoKHN1Ym5ldCksXG4gIFtTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NdOiAodnBjOiBJVnBjVjIsIHN1Ym5ldDogU3VibmV0VjIpID0+IHZwYy5wcml2YXRlU3VibmV0cy5wdXNoKHN1Ym5ldCksXG4gIFsnRGVwcmVjYXRlZF9Jc29sYXRlZCddOiAodnBjOiBJVnBjVjIsIHN1Ym5ldDogU3VibmV0VjIpID0+IHZwYy5pc29sYXRlZFN1Ym5ldHMucHVzaChzdWJuZXQpLFxuICBbJ0RlcHJlY2F0ZWRfUHJpdmF0ZSddOiAodnBjOiBJVnBjVjIsIHN1Ym5ldDogU3VibmV0VjIpID0+IHZwYy5wcml2YXRlU3VibmV0cy5wdXNoKHN1Ym5ldCksXG4gIFtTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9OQVRdOiAodnBjOiBJVnBjVjIsIHN1Ym5ldDogU3VibmV0VjIpID0+IHZwYy5wcml2YXRlU3VibmV0cy5wdXNoKHN1Ym5ldCksXG59O1xuXG4vKipcbiAqIFN0b3JlcyB0aGUgcHJvdmlkZWQgc3VibmV0IGluIHRoZSBWUEMncyBjb2xsZWN0aW9uIG9mIHN1Ym5ldHMgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBzdWJuZXQgdHlwZS5cbiAqXG4gKiBAcGFyYW0gdnBjIFRoZSBWUEMgaW5zdGFuY2UgdG8gd2hpY2ggdGhlIHN1Ym5ldCBiZWxvbmdzLlxuICogQHBhcmFtIHN1Ym5ldCBUaGUgc3VibmV0IGluc3RhbmNlIHRvIGJlIHN0b3JlZC5cbiAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBzdWJuZXQgKGUuZy4sIHB1YmxpYywgcHJpdmF0ZSwgaXNvbGF0ZWQpLlxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIHN0b3JlU3VibmV0VG9WcGNCeVR5cGUodnBjOiBJVnBjVjIsIHN1Ym5ldDogU3VibmV0VjIsIHR5cGU6IFN1Ym5ldFR5cGUpIHtcbiAgY29uc3QgZmluZEZ1bmN0aW9uVHlwZSA9IHN1Ym5ldFR5cGVNYXBbdHlwZV07XG4gIGlmIChmaW5kRnVuY3Rpb25UeXBlKSB7XG4gICAgZmluZEZ1bmN0aW9uVHlwZSh2cGMsIHN1Ym5ldCk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKGBVbnN1cHBvcnRlZCBzdWJuZXQgdHlwZTogJHt0eXBlfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIE5lZWQgdG8gc2V0IGV4cGxpY2l0IGRlcGVuZGVuY3kgYXMgZHVyaW5nIHN0YWNrIGRlbGV0aW9uLFxuICAgKiB0aGUgY2lkciBibG9ja3MgbWF5IGdldCBkZWxldGVkIGZpcnN0IGFuZCB3aWxsIGZhaWwgYXMgdGhlIHN1Ym5ldHMgYXJlIHN0aWxsIHVzaW5nIHRoZSBjaWRyIGJsb2Nrc1xuICAgKi9cbiAgaWYgKHZwYy5zZWNvbmRhcnlDaWRyQmxvY2spIHtcbiAgICBmb3IgKGNvbnN0IGNpZHIgb2YgdnBjLnNlY29uZGFyeUNpZHJCbG9jaykge1xuICAgICAgc3VibmV0Lm5vZGUuYWRkRGVwZW5kZW5jeShjaWRyKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgd2hldGhlciB0aGUgcHJvdmlkZWQgVlBDIHN1cHBvcnRzIElQdjYgYWRkcmVzc2VzLlxuICpcbiAqIEBwYXJhbSB2cGMgVGhlIFZQQyBpbnN0YW5jZSB0byBiZSB2YWxpZGF0ZWQuXG4gKiBAdGhyb3dzIFZhbGlkYXRpb25FcnJvciBpZiB0aGUgVlBDIGRvZXMgbm90IHN1cHBvcnQgSVB2NiBhZGRyZXNzZXMuXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBWUEMgc3VwcG9ydHMgSVB2NiBhZGRyZXNzZXMsIGZhbHNlIG90aGVyd2lzZS5cbiAqIEBpbnRlcm5hbFxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZVN1cHBvcnRJcHY2KHZwYzogSVZwY1YyKSB7XG4gIGlmICh2cGMuc2Vjb25kYXJ5Q2lkckJsb2NrKSB7XG4gICAgaWYgKHZwYy5zZWNvbmRhcnlDaWRyQmxvY2suc29tZSgoc2Vjb25kYXJ5QWRkcmVzcykgPT4gc2Vjb25kYXJ5QWRkcmVzcy5hbWF6b25Qcm92aWRlZElwdjZDaWRyQmxvY2sgPT09IHRydWUgfHxcbiAgc2Vjb25kYXJ5QWRkcmVzcy5pcHY2SXBhbVBvb2xJZCAhPT0gdW5kZWZpbmVkIHx8IHNlY29uZGFyeUFkZHJlc3MuaXB2NlBvb2wgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoJ1RvIHVzZSBJUHY2LCB0aGUgVlBDIG11c3QgZW5hYmxlIElQdjYgc3VwcG9ydC4nKTtcbiAgICB9XG4gIH0gZWxzZSB7cmV0dXJuIGZhbHNlO31cbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIENJRFIgcmFuZ2UgZmFsbHMgd2l0aGluIHRoZSBJUCBhZGRyZXNzIHJhbmdlcyBvZiB0aGUgZ2l2ZW4gVlBDLlxuICpcbiAqIEBwYXJhbSB2cGMgVGhlIFZQQyBpbnN0YW5jZSB0byBjaGVjayBhZ2FpbnN0LlxuICogQHBhcmFtIGNpZHJSYW5nZSBUaGUgQ0lEUiByYW5nZSB0byBiZSBjaGVja2VkLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgQ0lEUiByYW5nZSBmYWxscyB3aXRoaW4gdGhlIFZQQydzIElQIGFkZHJlc3MgcmFuZ2VzLCBmYWxzZSBvdGhlcndpc2UuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gY2hlY2tDaWRyUmFuZ2VzKHZwYzogSVZwY1YyLCBjaWRyUmFuZ2U6IHN0cmluZykge1xuICBjb25zdCB2cGNDaWRyQmxvY2sgPSBbdnBjLmlwdjRDaWRyQmxvY2tdO1xuICBjb25zdCBzdWJuZXRDaWRyQmxvY2sgPSBuZXcgQ2lkckJsb2NrKGNpZHJSYW5nZSk7XG4gIGNvbnN0IGFsbENpZHJzOiBDaWRyQmxvY2tbXSA9IFtdO1xuXG4gIC8vIFNlY29uZGFyeSBJUCBhZGRyZXNzZXMgYXNzb2ljYXRlZCB1c2luZyB1c2VyIGRlZmluZWQgSVB2NCByYW5nZVxuICBpZiAodnBjLnNlY29uZGFyeUNpZHJCbG9jaykge1xuICAgIGZvciAoY29uc3QgaXBBZGRyZXNzIG9mIHZwYy5zZWNvbmRhcnlDaWRyQmxvY2spIHtcbiAgICAgIGlmIChpcEFkZHJlc3MuY2lkckJsb2NrKSB7XG4gICAgICAgIHZwY0NpZHJCbG9jay5wdXNoKGlwQWRkcmVzcy5jaWRyQmxvY2spO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjaWRycyA9IHZwY0NpZHJCbG9jay5tYXAoY2lkciA9PiBuZXcgQ2lkckJsb2NrKGNpZHIpKTtcbiAgICBhbGxDaWRycy5wdXNoKC4uLmNpZHJzKTtcbiAgfVxuXG4gIC8vIFNlY29uZGFyeSBJUCBhZGRyZXNzZXMgYXNzb2ljYXRlZCB1c2luZyBJUEFNIElQdjQgcmFuZ2VcbiAgaWYgKHZwYy5pcHY0SXBhbVByb3Zpc2lvbmVkQ2lkcnMpIHtcbiAgICBjb25zdCBjaWRycyA9IHZwYy5pcHY0SXBhbVByb3Zpc2lvbmVkQ2lkcnMubWFwKGNpZHIgPT4gbmV3IENpZHJCbG9jayhjaWRyKSk7XG4gICAgYWxsQ2lkcnMucHVzaCguLi5jaWRycyk7XG4gIH1cblxuICAvLyBJZiBubyBJUHY0IGlzIGFzc2lnbmVkIGFzIHNlY29uZGFyeSBhZGRyZXNzXG4gIGlmIChhbGxDaWRycy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoJ05vIHNlY29uZGFyeSBJUCBhZGRyZXNzIGF0dGFjaGVkIHRvIFZQQycpO1xuICB9XG5cbiAgcmV0dXJuIGFsbENpZHJzLnNvbWUoYyA9PiBjLmNvbnRhaW5zQ2lkcihzdWJuZXRDaWRyQmxvY2spKTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgaWYgdGhlIHByb3ZpZGVkIElQdjQgQ0lEUiBibG9jayBvdmVybGFwcyB3aXRoIGV4aXN0aW5nIHN1Ym5ldCBDSURSIGJsb2NrcyB3aXRoaW4gdGhlIGdpdmVuIFZQQy5cbiAqXG4gKiBAcGFyYW0gdnBjIFRoZSBWUEMgaW5zdGFuY2UgdG8gY2hlY2sgYWdhaW5zdC5cbiAqIEBwYXJhbSBpcHY0Q2lkckJsb2NrIFRoZSBJUHY0IENJRFIgYmxvY2sgdG8gYmUgdmFsaWRhdGVkLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgSVB2NCBDSURSIGJsb2NrIG92ZXJsYXBzIHdpdGggZXhpc3Rpbmcgc3VibmV0IENJRFIgYmxvY2tzLCBmYWxzZSBvdGhlcndpc2UuXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0ZU92ZXJsYXBwaW5nQ2lkclJhbmdlcyh2cGM6IElWcGNWMiwgaXB2NENpZHJCbG9jazogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBhbGxTdWJuZXRzOiBJU3VibmV0VjJbXTtcbiAgdHJ5IHtcbiAgICBhbGxTdWJuZXRzID0gdnBjLnNlbGVjdFN1Ym5ldHMoKS5zdWJuZXRzO1xuICB9IGNhdGNoIChlKSB7XG4gICAgJ05vIHN1Ym5ldHMgaW4gVlBDJztcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBpcE1hcDogW3N0cmluZywgc3RyaW5nXVtdID0gbmV3IEFycmF5KCk7XG5cbiAgY29uc3QgaW5wdXRSYW5nZSA9IG5ldyBDaWRyQmxvY2soaXB2NENpZHJCbG9jayk7XG5cbiAgY29uc3QgaW5wdXRJcE1hcDogW3N0cmluZywgc3RyaW5nXSA9IFtpbnB1dFJhbmdlLm1pbklwKCksIGlucHV0UmFuZ2UubWF4SXAoKV07XG5cbiAgZm9yIChjb25zdCBzdWJuZXQgb2YgYWxsU3VibmV0cykge1xuICAgIGNvbnN0IGNpZHJCbG9jayA9IG5ldyBDaWRyQmxvY2soc3VibmV0LmlwdjRDaWRyQmxvY2spO1xuICAgIGlwTWFwLnB1c2goW2NpZHJCbG9jay5taW5JcCgpLCBjaWRyQmxvY2subWF4SXAoKV0pO1xuICB9XG5cbiAgZm9yIChjb25zdCByYW5nZSBvZiBpcE1hcCkge1xuICAgIGlmIChpbnB1dFJhbmdlLnJhbmdlc092ZXJsYXAocmFuZ2UsIGlucHV0SXBNYXApKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIGlmIHRoZSBwcm92aWRlZCBJUHY2IENJRFIgYmxvY2sgb3ZlcmxhcHMgd2l0aCBleGlzdGluZyBzdWJuZXQgQ0lEUiBibG9ja3Mgd2l0aGluIHRoZSBnaXZlbiBWUEMuXG4gKlxuICogQHBhcmFtIHZwYyBUaGUgVlBDIGluc3RhbmNlIHRvIGNoZWNrIGFnYWluc3QuXG4gKiBAcGFyYW0gaXB2NkNpZHJCbG9jayBUaGUgSVB2NiBDSURSIGJsb2NrIHRvIGJlIHZhbGlkYXRlZC5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIElQdjYgQ0lEUiBibG9jayBvdmVybGFwcyB3aXRoIGV4aXN0aW5nIHN1Ym5ldCBDSURSIGJsb2NrcywgZmFsc2Ugb3RoZXJ3aXNlLlxuICogQHRocm93cyBWYWxpZGF0aW9uRXJyb3IgaWYgbm8gc3VibmV0cyBhcmUgZm91bmQgaW4gdGhlIFZQQy5cbiAqIEBpbnRlcm5hbFxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZU92ZXJsYXBwaW5nQ2lkclJhbmdlc2lwdjYodnBjOiBJVnBjVjIsIGlwdjZDaWRyQmxvY2s6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBsZXQgYWxsU3VibmV0czogSVN1Ym5ldFYyW107XG4gIHRyeSB7XG4gICAgYWxsU3VibmV0cyA9IHZwYy5zZWxlY3RTdWJuZXRzKCkuc3VibmV0cztcbiAgfSBjYXRjaCAoZSkge1xuICAgICdObyBzdWJuZXRzIGluIFZQQyc7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgaXB2Nk1hcDogc3RyaW5nW109IFtdO1xuXG4gIGNvbnN0IGlucHV0UmFuZ2UgPSBuZXcgQ2lkckJsb2NrSXB2NihpcHY2Q2lkckJsb2NrKTtcblxuICBsZXQgcmVzdWx0IDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGZvciAoY29uc3Qgc3VibmV0IG9mIGFsbFN1Ym5ldHMpIHtcbiAgICBpZiAoc3VibmV0LmlwdjZDaWRyQmxvY2spIHtcbiAgICAgIGNvbnN0IGNpZHJCbG9jayA9IG5ldyBDaWRyQmxvY2tJcHY2KHN1Ym5ldC5pcHY2Q2lkckJsb2NrKTtcbiAgICAgIGlwdjZNYXAucHVzaChjaWRyQmxvY2suY2lkcik7XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCByYW5nZSBvZiBpcHY2TWFwKSB7XG4gICAgaWYgKGlucHV0UmFuZ2UucmFuZ2VzT3ZlcmxhcChyYW5nZSwgaW5wdXRSYW5nZS5jaWRyKSkge1xuICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|
|
@@ -43,7 +43,7 @@ let TransitGatewayRouteTableAssociation = class TransitGatewayRouteTableAssociat
|
|
|
43
43
|
};
|
|
44
44
|
exports.TransitGatewayRouteTableAssociation = TransitGatewayRouteTableAssociation;
|
|
45
45
|
_a = JSII_RTTI_SYMBOL_1;
|
|
46
|
-
TransitGatewayRouteTableAssociation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTableAssociation", version: "2.
|
|
46
|
+
TransitGatewayRouteTableAssociation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTableAssociation", version: "2.214.1-alpha.0" };
|
|
47
47
|
/** Uniquely identifies this class. */
|
|
48
48
|
TransitGatewayRouteTableAssociation.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayRouteTableAssociation';
|
|
49
49
|
exports.TransitGatewayRouteTableAssociation = TransitGatewayRouteTableAssociation = __decorate([
|
|
@@ -43,7 +43,7 @@ let TransitGatewayRouteTablePropagation = class TransitGatewayRouteTablePropagat
|
|
|
43
43
|
};
|
|
44
44
|
exports.TransitGatewayRouteTablePropagation = TransitGatewayRouteTablePropagation;
|
|
45
45
|
_a = JSII_RTTI_SYMBOL_1;
|
|
46
|
-
TransitGatewayRouteTablePropagation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTablePropagation", version: "2.
|
|
46
|
+
TransitGatewayRouteTablePropagation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTablePropagation", version: "2.214.1-alpha.0" };
|
|
47
47
|
/** Uniquely identifies this class. */
|
|
48
48
|
TransitGatewayRouteTablePropagation.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayRouteTablePropagation';
|
|
49
49
|
exports.TransitGatewayRouteTablePropagation = TransitGatewayRouteTablePropagation = __decorate([
|
|
@@ -77,7 +77,7 @@ let TransitGatewayRouteTable = class TransitGatewayRouteTable extends TransitGat
|
|
|
77
77
|
};
|
|
78
78
|
exports.TransitGatewayRouteTable = TransitGatewayRouteTable;
|
|
79
79
|
_a = JSII_RTTI_SYMBOL_1;
|
|
80
|
-
TransitGatewayRouteTable[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTable", version: "2.
|
|
80
|
+
TransitGatewayRouteTable[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTable", version: "2.214.1-alpha.0" };
|
|
81
81
|
/** Uniquely identifies this class. */
|
|
82
82
|
TransitGatewayRouteTable.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayRouteTable';
|
|
83
83
|
exports.TransitGatewayRouteTable = TransitGatewayRouteTable = __decorate([
|
|
@@ -52,7 +52,7 @@ let TransitGatewayRoute = class TransitGatewayRoute extends TransitGatewayRouteB
|
|
|
52
52
|
};
|
|
53
53
|
exports.TransitGatewayRoute = TransitGatewayRoute;
|
|
54
54
|
_a = JSII_RTTI_SYMBOL_1;
|
|
55
|
-
TransitGatewayRoute[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRoute", version: "2.
|
|
55
|
+
TransitGatewayRoute[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRoute", version: "2.214.1-alpha.0" };
|
|
56
56
|
/** Uniquely identifies this class. */
|
|
57
57
|
TransitGatewayRoute.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayRoute';
|
|
58
58
|
exports.TransitGatewayRoute = TransitGatewayRoute = __decorate([
|
|
@@ -89,7 +89,7 @@ let TransitGatewayBlackholeRoute = class TransitGatewayBlackholeRoute extends Tr
|
|
|
89
89
|
};
|
|
90
90
|
exports.TransitGatewayBlackholeRoute = TransitGatewayBlackholeRoute;
|
|
91
91
|
_b = JSII_RTTI_SYMBOL_1;
|
|
92
|
-
TransitGatewayBlackholeRoute[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayBlackholeRoute", version: "2.
|
|
92
|
+
TransitGatewayBlackholeRoute[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayBlackholeRoute", version: "2.214.1-alpha.0" };
|
|
93
93
|
/** Uniquely identifies this class. */
|
|
94
94
|
TransitGatewayBlackholeRoute.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayBlackholeRoute';
|
|
95
95
|
exports.TransitGatewayBlackholeRoute = TransitGatewayBlackholeRoute = __decorate([
|
|
@@ -99,7 +99,7 @@ let TransitGatewayVpcAttachment = class TransitGatewayVpcAttachment extends tran
|
|
|
99
99
|
};
|
|
100
100
|
exports.TransitGatewayVpcAttachment = TransitGatewayVpcAttachment;
|
|
101
101
|
_a = JSII_RTTI_SYMBOL_1;
|
|
102
|
-
TransitGatewayVpcAttachment[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayVpcAttachment", version: "2.
|
|
102
|
+
TransitGatewayVpcAttachment[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayVpcAttachment", version: "2.214.1-alpha.0" };
|
|
103
103
|
/** Uniquely identifies this class. */
|
|
104
104
|
TransitGatewayVpcAttachment.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayVpcAttachment';
|
|
105
105
|
exports.TransitGatewayVpcAttachment = TransitGatewayVpcAttachment = __decorate([
|
package/lib/transit-gateway.js
CHANGED
|
@@ -116,7 +116,7 @@ let TransitGateway = class TransitGateway extends TransitGatewayBase {
|
|
|
116
116
|
};
|
|
117
117
|
exports.TransitGateway = TransitGateway;
|
|
118
118
|
_a = JSII_RTTI_SYMBOL_1;
|
|
119
|
-
TransitGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGateway", version: "2.
|
|
119
|
+
TransitGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGateway", version: "2.214.1-alpha.0" };
|
|
120
120
|
/** Uniquely identifies this class. */
|
|
121
121
|
TransitGateway.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGateway';
|
|
122
122
|
exports.TransitGateway = TransitGateway = __decorate([
|
package/lib/vpc-v2-base.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { IDependable, DependencyGroup } from 'constructs';
|
|
|
4
4
|
import { EgressOnlyInternetGateway, InternetGateway, NatGateway, NatGatewayOptions, VPCPeeringConnection, VPCPeeringConnectionOptions, VPNGatewayV2 } from './route';
|
|
5
5
|
import { Role } from 'aws-cdk-lib/aws-iam';
|
|
6
6
|
import { IVPCCidrBlock } from './vpc-v2';
|
|
7
|
+
import { VPCReference } from 'aws-cdk-lib/aws-ec2/lib/ec2.generated';
|
|
7
8
|
/**
|
|
8
9
|
* Options to define EgressOnlyInternetGateway for VPC
|
|
9
10
|
*/
|
|
@@ -268,6 +269,7 @@ export declare abstract class VpcV2Base extends Resource implements IVpcV2 {
|
|
|
268
269
|
* error message otherwise.
|
|
269
270
|
*/
|
|
270
271
|
selectSubnets(selection?: SubnetSelection): SelectedSubnets;
|
|
272
|
+
get vpcRef(): VPCReference;
|
|
271
273
|
/**
|
|
272
274
|
* Adds a VPN Gateway to this VPC
|
|
273
275
|
* @deprecated use enableVpnGatewayV2 for compatibility with VPCV2.Route
|