@aws-cdk/aws-ec2-alpha 2.194.0-alpha.0 → 2.196.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.
- package/.jsii +697 -361
- package/.jsii.tabl.json.gz +0 -0
- package/lib/ipam.d.ts +2 -0
- package/lib/ipam.js +24 -8
- package/lib/route.d.ts +19 -1
- package/lib/route.js +74 -30
- package/lib/subnet-v2.d.ts +8 -0
- package/lib/subnet-v2.js +20 -14
- package/lib/transit-gateway-route-table-association.d.ts +2 -0
- package/lib/transit-gateway-route-table-association.js +16 -4
- package/lib/transit-gateway-route-table-propagation.d.ts +2 -0
- package/lib/transit-gateway-route-table-propagation.js +16 -4
- package/lib/transit-gateway-route-table.d.ts +2 -0
- package/lib/transit-gateway-route-table.js +16 -4
- package/lib/transit-gateway-route.d.ts +4 -0
- package/lib/transit-gateway-route.js +24 -7
- package/lib/transit-gateway-vpc-attachment.d.ts +2 -0
- package/lib/transit-gateway-vpc-attachment.js +16 -4
- package/lib/transit-gateway.d.ts +2 -0
- package/lib/transit-gateway.js +16 -4
- package/lib/util.d.ts +5 -1
- package/lib/util.js +17 -1
- package/lib/vpc-v2-base.js +1 -1
- package/lib/vpc-v2.d.ts +2 -0
- package/lib/vpc-v2.js +26 -8
- package/package.json +7 -7
package/lib/subnet-v2.js
CHANGED
|
@@ -16,6 +16,7 @@ const constructs_1 = require("constructs");
|
|
|
16
16
|
const util_1 = require("./util");
|
|
17
17
|
const route_1 = require("./route");
|
|
18
18
|
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
19
|
+
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
19
20
|
/**
|
|
20
21
|
* IPv4 or IPv6 CIDR range for the subnet
|
|
21
22
|
*/
|
|
@@ -26,15 +27,15 @@ class IpCidr {
|
|
|
26
27
|
}
|
|
27
28
|
exports.IpCidr = IpCidr;
|
|
28
29
|
_a = JSII_RTTI_SYMBOL_1;
|
|
29
|
-
IpCidr[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpCidr", version: "2.
|
|
30
|
+
IpCidr[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpCidr", version: "2.196.0-alpha.0" };
|
|
30
31
|
/**
|
|
31
|
-
* Name tag constant
|
|
32
|
+
* VPC Name tag constant
|
|
32
33
|
*/
|
|
33
|
-
const
|
|
34
|
+
const SUBNETTYPE_TAG = 'aws-cdk:subnet-type';
|
|
34
35
|
/**
|
|
35
|
-
*
|
|
36
|
+
* Subnet Name tag constant
|
|
36
37
|
*/
|
|
37
|
-
const
|
|
38
|
+
const SUBNETNAME_TAG = 'aws-cdk:subnet-name';
|
|
38
39
|
/**
|
|
39
40
|
* The SubnetV2 class represents a subnet within a VPC (Virtual Private Cloud) in AWS.
|
|
40
41
|
* It extends the Resource class and implements the ISubnet interface.
|
|
@@ -46,7 +47,7 @@ const VPCNAME_TAG = 'VpcName';
|
|
|
46
47
|
* @resource AWS::EC2::Subnet
|
|
47
48
|
*
|
|
48
49
|
*/
|
|
49
|
-
class SubnetV2 extends aws_cdk_lib_1.Resource {
|
|
50
|
+
let SubnetV2 = class SubnetV2 extends aws_cdk_lib_1.Resource {
|
|
50
51
|
/**
|
|
51
52
|
* Import an existing subnet to the VPC
|
|
52
53
|
*/
|
|
@@ -180,12 +181,12 @@ class SubnetV2 extends aws_cdk_lib_1.Resource {
|
|
|
180
181
|
this.subnetId = subnet.ref;
|
|
181
182
|
this.availabilityZone = props.availabilityZone;
|
|
182
183
|
this._networkAcl = aws_ec2_1.NetworkAcl.fromNetworkAclId(this, 'Acl', subnet.attrNetworkAclAssociationId);
|
|
184
|
+
const includeResourceTypes = [aws_ec2_1.CfnSubnet.CFN_RESOURCE_TYPE_NAME];
|
|
183
185
|
if (props.subnetName) {
|
|
184
|
-
aws_cdk_lib_1.Tags.of(
|
|
185
|
-
}
|
|
186
|
-
if (props.vpc.vpcName) {
|
|
187
|
-
aws_cdk_lib_1.Tags.of(this).add(VPCNAME_TAG, props.vpc.vpcName);
|
|
186
|
+
aws_cdk_lib_1.Tags.of(subnet).add(SUBNETNAME_TAG, props.subnetName);
|
|
188
187
|
}
|
|
188
|
+
const subnetTypeName = (0, util_1.defaultSubnetName)(props.subnetType) ?? 'undefined';
|
|
189
|
+
aws_cdk_lib_1.Tags.of(subnet).add(SUBNETTYPE_TAG, subnetTypeName, { includeResourceTypes });
|
|
189
190
|
if (props.routeTable) {
|
|
190
191
|
this._routeTable = props.routeTable;
|
|
191
192
|
}
|
|
@@ -193,7 +194,7 @@ class SubnetV2 extends aws_cdk_lib_1.Resource {
|
|
|
193
194
|
// Assigning a default route table
|
|
194
195
|
this._routeTable = new route_1.RouteTable(this, 'RouteTable', {
|
|
195
196
|
vpc: props.vpc,
|
|
196
|
-
routeTableName: 'DefaultCDKRouteTable',
|
|
197
|
+
routeTableName: props.defaultRouteTableName ?? 'DefaultCDKRouteTable',
|
|
197
198
|
});
|
|
198
199
|
}
|
|
199
200
|
const routeAssoc = new aws_ec2_1.CfnSubnetRouteTableAssociation(this, 'RouteTableAssociation', {
|
|
@@ -233,13 +234,18 @@ class SubnetV2 extends aws_cdk_lib_1.Resource {
|
|
|
233
234
|
get networkAcl() {
|
|
234
235
|
return this._networkAcl;
|
|
235
236
|
}
|
|
236
|
-
}
|
|
237
|
+
};
|
|
237
238
|
exports.SubnetV2 = SubnetV2;
|
|
238
239
|
_b = JSII_RTTI_SYMBOL_1;
|
|
239
|
-
SubnetV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.SubnetV2", version: "2.
|
|
240
|
+
SubnetV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.SubnetV2", version: "2.196.0-alpha.0" };
|
|
241
|
+
/** Uniquely identifies this class. */
|
|
242
|
+
SubnetV2.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.SubnetV2';
|
|
240
243
|
__decorate([
|
|
241
244
|
(0, metadata_resource_1.MethodMetadata)()
|
|
242
245
|
], SubnetV2.prototype, "associateNetworkAcl", null);
|
|
246
|
+
exports.SubnetV2 = SubnetV2 = __decorate([
|
|
247
|
+
prop_injectable_1.propertyInjectable
|
|
248
|
+
], SubnetV2);
|
|
243
249
|
const subnetTypeMap = {
|
|
244
250
|
[aws_ec2_1.SubnetType.PRIVATE_ISOLATED]: (vpc, subnet) => vpc.isolatedSubnets.push(subnet),
|
|
245
251
|
[aws_ec2_1.SubnetType.PUBLIC]: (vpc, subnet) => vpc.publicSubnets.push(subnet),
|
|
@@ -394,4 +400,4 @@ function validateOverlappingCidrRangesipv6(vpc, ipv6CidrBlock) {
|
|
|
394
400
|
}
|
|
395
401
|
return result;
|
|
396
402
|
}
|
|
397
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibmV0LXYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3VibmV0LXYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyRztBQUMzRyxpREFBd0s7QUFDeEssMkNBQXFFO0FBRXJFLGlDQUFrRDtBQUNsRCxtQ0FBcUM7QUFDckMsOEVBQThGO0FBUzlGOztHQUVHO0FBQ0gsTUFBYSxNQUFNO0lBTWpCLFlBQVksS0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztLQUNuQjs7QUFSSCx3QkFTQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFFBQVEsR0FBVyxNQUFNLENBQUM7QUFFaEM7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBVyxTQUFTLENBQUM7QUEwRnRDOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLFFBQVMsU0FBUSxzQkFBUTtJQUNwQzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5Qjs7Ozs7Ozs7OztRQUMxRjs7O1dBR0c7UUFDSCxNQUFNLGdCQUFpQixTQUFRLHNCQUFRO1lBQXZDOztnQkFDRTs7bUJBRUc7Z0JBQ2Esa0JBQWEsR0FBWSxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUU3RDs7bUJBRUc7Z0JBQ2EsZUFBVSxHQUFnQixLQUFLLENBQUMsVUFBVSxDQUFDO2dCQUUzRDs7bUJBRUc7Z0JBQ2EscUJBQWdCLEdBQVcsS0FBSyxDQUFDLGdCQUFnQixDQUFDO2dCQUVsRTs7O21CQUdHO2dCQUNhLGFBQVEsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDO2dCQUVsRDs7bUJBRUc7Z0JBQ2Esb0NBQStCLEdBQWdCLElBQUksNEJBQWUsRUFBRSxDQUFDO2dCQUVyRjs7bUJBRUc7Z0JBQ2Esa0JBQWEsR0FBVyxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUU1RDs7bUJBRUc7Z0JBQ2EsZUFBVSxHQUFnQixFQUFFLFlBQVksRUFBRSxL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QUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2UsIE5hbWVzLCBMYXp5LCBUYWdzLCBUb2tlbiwgVmFsaWRhdGlvbkVycm9yLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmblN1Ym5ldCwgQ2ZuU3VibmV0Um91dGVUYWJsZUFzc29jaWF0aW9uLCBJTmV0d29ya0FjbCwgSVJvdXRlVGFibGUsIElTdWJuZXQsIE5ldHdvcmtBY2wsIFN1Ym5ldE5ldHdvcmtBY2xBc3NvY2lhdGlvbiwgU3VibmV0VHlwZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBEZXBlbmRlbmN5R3JvdXAsIElEZXBlbmRhYmxlIH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJVnBjVjIgfSBmcm9tICcuL3ZwYy12Mi1iYXNlJztcbmltcG9ydCB7IENpZHJCbG9jaywgQ2lkckJsb2NrSXB2NiB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBSb3V0ZVRhYmxlIH0gZnJvbSAnLi9yb3V0ZSc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRvIGRlZmluZSBzdWJuZXQgQ0lEUlxuICovXG5pbnRlcmZhY2UgSUNpZHIge1xuICByZWFkb25seSBjaWRyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSVB2NCBvciBJUHY2IENJRFIgcmFuZ2UgZm9yIHRoZSBzdWJuZXRcbiAqL1xuZXhwb3J0IGNsYXNzIElwQ2lkciBpbXBsZW1lbnRzIElDaWRyIHtcbiAgLyoqXG4gICAqIElQdjYgQ0lEUiByYW5nZSBmb3IgdGhlIHN1Ym5ldFxuICAgKiBBbGxvd2VkIG9ubHkgaWYgSVB2NiBpcyBlbmFibGVkIG9uIFZQY1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNpZHI6IHN0cmluZztcbiAgY29uc3RydWN0b3IocHJvcHM6IHN0cmluZyApIHtcbiAgICB0aGlzLmNpZHIgPSBwcm9wcztcbiAgfVxufVxuXG4vKipcbiAqIE5hbWUgdGFnIGNvbnN0YW50XG4gKi9cbmNvbnN0IE5BTUVfVEFHOiBzdHJpbmcgPSAnTmFtZSc7XG5cbi8qKlxuICogVlBDIE5hbWUgdGFnIGNvbnN0YW50XG4gKi9cbmNvbnN0IFZQQ05BTUVfVEFHOiBzdHJpbmcgPSAnVnBjTmFtZSc7XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBkZWZpbmUgc3VibmV0IGZvciBWUEMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0VjJQcm9wcyB7XG4vKipcbiAqIFZQQyBQcm9wXG4gKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjVjI7XG5cbiAgLyoqXG4gICAqIGlwdjQgY2lkciB0byBhc3NpZ24gdG8gdGhpcyBzdWJuZXQuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLXN1Ym5ldC5odG1sI2Nmbi1lYzItc3VibmV0LWNpZHJibG9ja1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NENpZHJCbG9jazogSXBDaWRyO1xuXG4gIC8qKlxuICAgKiBJcHY2IENJRFIgUmFuZ2UgZm9yIHN1Ym5ldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIElwdjYgYWRkcmVzc1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IElwQ2lkcjtcblxuICAvKipcbiAgICogQ3VzdG9tIEFaIGZvciB0aGUgc3VibmV0XG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBSb3V0ZSBmb3Igc3VibmV0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBkZWZhdWx0IHJvdXRlIHRhYmxlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvdXRlVGFibGU/OiBJUm91dGVUYWJsZTtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgU3VibmV0IHRvIGNvbmZpZ3VyZS5cbiAgICpcbiAgICogVGhlIFN1Ym5ldCB0eXBlIHdpbGwgY29udHJvbCB0aGUgYWJpbGl0eSB0byByb3V0ZSBhbmQgY29ubmVjdCB0byB0aGVcbiAgICogSW50ZXJuZXQuXG4gICAqXG4gICAqIFRPRE86IEFkZCB2YWxpZGF0aW9uIGNoZWNrIGBzdWJuZXRUeXBlYCB3aGVuIGFkZGluZyByZXNvdXJjZXMgKGUuZy4gY2Fubm90IGFkZCBOYXRHYXRld2F5IHRvIHByaXZhdGUpXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlO1xuXG4gIC8qKlxuICAgKiBTdWJuZXQgbmFtZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHByb3Zpc2lvbmVkIHdpdGggYW4gYXV0b2dlbmVyYXRlZCBuYW1lIGJ5IENES1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgYSBuZXR3b3JrIGludGVyZmFjZSBjcmVhdGVkIGluIHRoaXMgc3VibmV0IHJlY2VpdmVzIGFuIElQdjYgYWRkcmVzcy5cbiAgICogSWYgeW91IHNwZWNpZnkgQXNzaWduSXB2NkFkZHJlc3NPbkNyZWF0aW9uLCB5b3UgbXVzdCBhbHNvIHNwZWNpZnkgSXB2NkNpZHJCbG9jay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgaW4gY2FzZSBub3QgcHJvdmlkZWQgYXMgYW4gaW5wdXRcbiAgICovXG4gIHJlYWRvbmx5IGFzc2lnbklwdjZBZGRyZXNzT25DcmVhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIGlmIGluc3RhbmNlcyBsYXVuY2hlZCBpbnRvIHRoZSBzdWJuZXQgc2hvdWxkIGJlIGFzc2lnbmVkIGEgcHVibGljIElQIGFkZHJlc3MuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIG9ubHkgYmUgc2V0IGZvciBwdWJsaWMgc3VibmV0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgaW4gY2FzZSBub3QgcHJvdmlkZWQgYXMgYW4gaW5wdXRcbiAgICovXG4gIHJlYWRvbmx5IG1hcFB1YmxpY0lwT25MYXVuY2g/OiBib29sZWFuO1xuXG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHdpdGggYWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBTdWJuZXRWMlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTdWJuZXRWMiBleHRlbmRzIElTdWJuZXQge1xuXG4gIC8qKlxuICAgKiBUaGUgSVB2NiBDSURSIGJsb2NrIGZvciB0aGlzIHN1Ym5ldFxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygc3VibmV0IChwdWJsaWMgb3IgcHJpdmF0ZSkgdGhhdCB0aGlzIHN1Ym5ldCByZXByZXNlbnRzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlIFN1Ym5ldFR5cGVcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlO1xuXG59XG5cbi8qKlxuICogVGhlIFN1Ym5ldFYyIGNsYXNzIHJlcHJlc2VudHMgYSBzdWJuZXQgd2l0aGluIGEgVlBDIChWaXJ0dWFsIFByaXZhdGUgQ2xvdWQpIGluIEFXUy5cbiAqIEl0IGV4dGVuZHMgdGhlIFJlc291cmNlIGNsYXNzIGFuZCBpbXBsZW1lbnRzIHRoZSBJU3VibmV0IGludGVyZmFjZS5cbiAqXG4gKiBJbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYW5kIG1hbmFnZSBzdWJuZXRzIHdpdGhpbiBhIFZwY1YyIGluc3RhbmNlLlxuICogU3VibmV0cyBjYW4gYmUgY29uZmlndXJlZCB3aXRoIHNwZWNpZmljIElQIGFkZHJlc3MgcmFuZ2VzIChJUHY0IGFuZCBJUHY2KSwgYXZhaWxhYmlsaXR5IHpvbmVzLFxuICogYW5kIHN1Ym5ldCB0eXBlcyAoZS5nLiwgcHVibGljLCBwcml2YXRlLCBpc29sYXRlZCkuXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpTdWJuZXRcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTdWJuZXRWMiBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVN1Ym5ldFYyIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBzdWJuZXQgdG8gdGhlIFZQQ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tU3VibmV0VjJBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBTdWJuZXRWMkF0dHJpYnV0ZXMpIDogSVN1Ym5ldFYyIHtcbiAgICAvKipcbiAgICAgKiBDbGFzcyB0byBkZWZpbmUgYW4gaW1wb3J0IGZvciBhbiBleGlzdGluZyBzdWJuZXRcbiAgICAgKiBAcmVzb3VyY2UgQVdTOjpFQzI6OlN1Ym5ldFxuICAgICAqL1xuICAgIGNsYXNzIEltcG9ydGVkU3VibmV0VjIgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElTdWJuZXRWMiB7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBJUHY2IENJRFIgQmxvY2sgYXNzaWduZWQgdG8gdGhpcyBzdWJuZXRcbiAgICAgICAqL1xuICAgICAgcHVibGljIHJlYWRvbmx5IGlwdjZDaWRyQmxvY2s/OiBzdHJpbmcgPSBhdHRycy5pcHY2Q2lkckJsb2NrO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSB0eXBlIG9mIHN1Ym5ldCAoZWcuIHB1YmxpYyBvciBwcml2YXRlKSB0aGF0IHRoaXMgc3VibmV0IHJlcHJlc2VudHMuXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyByZWFkb25seSBzdWJuZXRUeXBlPzogU3VibmV0VHlwZSA9IGF0dHJzLnN1Ym5ldFR5cGU7XG5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIEF2YWlsYWJpbGl0eSBab25lIGluIHdoaWNoIHN1Ym5ldCBpcyBsb2NhdGVkXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyByZWFkb25seSBhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcgPSBhdHRycy5hdmFpbGFiaWxpdHlab25lO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBzdWJuZXRJZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIHN1Ym5ldFxuICAgICAgICogUmVmZXJzIHRvIHRoZSBwaHlzaWNhbCBJRCBjcmVhdGVkXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyByZWFkb25seSBzdWJuZXRJZDogc3RyaW5nID0gYXR0cnMuc3VibmV0SWQ7XG5cbiAgICAgIC8qKlxuICAgICAgICogRGVwZW5kYWJsZSB0aGF0IGNhbiBiZSBkZXBlbmRlZCB1cG9uIHRvIGZvcmNlIGludGVybmV0IGNvbm5lY3Rpdml0eSBlc3RhYmxpc2hlZCBvbiB0aGUgVlBDXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyByZWFkb25seSBpbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkOiBJRGVwZW5kYWJsZSA9IG5ldyBEZXBlbmRlbmN5R3JvdXAoKTtcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgSVB2NCBDSURSIGJsb2NrIGFzc2lnbmVkIHRvIHRoaXMgc3VibmV0XG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyByZWFkb25seSBpcHY0Q2lkckJsb2NrOiBzdHJpbmcgPSBhdHRycy5pcHY0Q2lkckJsb2NrO1xuXG4gICAgICAvKipcbiAgICAgICAqICBDdXJyZW50IHJvdXRlIHRhYmxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHN1Ym5ldFxuICAgICAgICovXG4gICAgICBwdWJsaWMgcmVhZG9ubHkgcm91dGVUYWJsZTogSVJvdXRlVGFibGUgPSB7IHJvdXRlVGFibGVJZDogYXR0cnMucm91dGVUYWJsZUlkISB9O1xuXG4gICAgICAvKipcbiAgICAgICAqIEFzc29jaWF0ZSBhIE5ldHdvcmsgQUNMIHdpdGggdGhpcyBzdWJuZXRcbiAgICAgICAqIFJlcXVpcmVkIGhlcmUgc2luY2UgaXQgaXMgaW1wbGVtZW50ZWQgaW4gdGhlIElTdWJuZXRWMlxuICAgICAgICovXG4gICAgICBwdWJsaWMgYXNzb2NpYXRlTmV0d29ya0FjbChhY2xJZDogc3RyaW5nLCBuZXR3b3JrQWNsOiBJTmV0d29ya0FjbCkge1xuICAgICAgICBjb25zdCBhY2xTY29wZSA9IG5ldHdvcmtBY2wgaW5zdGFuY2VvZiBDb25zdHJ1Y3QgPyBuZXR3b3JrQWNsIDogdGhpcztcbiAgICAgICAgY29uc3Qgb3RoZXIgPSBuZXR3b3JrQWNsIGluc3RhbmNlb2YgQ29uc3RydWN0ID8gdGhpcyA6IG5ldHdvcmtBY2w7XG4gICAgICAgIG5ldyBTdWJuZXROZXR3b3JrQWNsQXNzb2NpYXRpb24oYWNsU2NvcGUsIGFjbElkICsgTmFtZXMubm9kZVVuaXF1ZUlkKG90aGVyLm5vZGUpLCB7XG4gICAgICAgICAgbmV0d29ya0FjbCxcbiAgICAgICAgICBzdWJuZXQ6IHRoaXMsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydGVkU3VibmV0VjIoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQXZhaWxhYmlsaXR5IFpvbmUgdGhlIHN1Ym5ldCBpcyBsb2NhdGVkIGluXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3VibmV0SWQgZm9yIHRoaXMgcGFydGljdWxhciBzdWJuZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN1Ym5ldElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqICBEZXBlbmRlbmNpZXMgZm9yIGludGVybmV0IGNvbm5lY3Rpdml0eVxuICAgKiBUaGlzIFByb3BlcnR5IGV4cG9zZXMgdGhlIFJvdXRlVGFibGUtU3VibmV0IGFzc29jaWF0aW9uIHNvIHRoYXQgb3RoZXIgcmVzb3VyY2VzIGNhbiBkZXBlbmQgb24gaXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZDogSURlcGVuZGFibGU7XG5cbiAgLyoqXG4gICAqIFRoZSB2YXJpYWJsZSBuYW1lIGBpbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkYCBkb2VzIG5vdCByZWZsZWN0IHdoYXQgaXQgYWN0dWFsbHkgaXMuXG4gICAqIFRoZSBuYW1pbmcgaXMgZW5mb3JjZWQgYnkgSVN1Ym5ldC4gV2UgbmVlZCB0byBrZWVwIGl0IHRvIG1haW50YWluIGNvbXBhdGliaWxpdHkuXG4gICAqIEl0IGV4cG9zZXMgdGhlIFJvdXRlVGFibGUtU3VibmV0IGFzc29jaWF0aW9uIHNvIHRoYXQgb3RoZXIgcmVzb3VyY2VzIGNhbiBkZXBlbmQgb24gaXQuXG4gICAqIEUuZy4gUmVzb3VyY2VzIGluIGEgc3VibmV0LCB3aGVuIGJlaW5nIGRlbGV0ZWQsIG1heSBuZWVkIHRoZSBSb3V0ZVRhYmxlIHRvIGV4aXN0IGluIG9yZGVyIHRvIGRlbGV0ZSBwcm9wZXJseVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfaW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZCA9IG5ldyBEZXBlbmRlbmN5R3JvdXAoKTtcblxuICAvKipcbiAgICogVGhlIElQdjQgQ0lEUiBibG9jayBmb3IgdGhpcyBzdWJuZXRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcHY0Q2lkckJsb2NrOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJUHY2IENJRFIgQmxvY2sgZm9yIHRoaXMgc3VibmV0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXB2NkNpZHJCbG9jaz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygc3VibmV0IChwdWJsaWMgb3IgcHJpdmF0ZSkgdGhhdCB0aGlzIHN1Ym5ldCByZXByZXNlbnRzLlxuICAgKiBAYXR0cmlidXRlIFN1Ym5ldFR5cGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzdWJuZXRUeXBlPzogU3VibmV0VHlwZTtcblxuICBwcml2YXRlIF9uZXR3b3JrQWNsOiBJTmV0d29ya0FjbDtcblxuICBwcml2YXRlIF9yb3V0ZVRhYmxlOiBJUm91dGVUYWJsZTtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBTdWJuZXRWMiBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgQ29uc3RydWN0IHRoYXQgdGhpcyByZXNvdXJjZSB3aWxsIGJlIHBhcnQgb2YuXG4gICAqIEBwYXJhbSBpZCBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgcmVzb3VyY2UuXG4gICAqIEBwYXJhbSBwcm9wcyBUaGUgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgc3VibmV0LlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN1Ym5ldFYyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuc3VibmV0TmFtZSA/PyBMYXp5LnN0cmluZyh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4LCBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6ICdfJyB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgaXB2NENpZHJCbG9jayA9IHByb3BzLmlwdjRDaWRyQmxvY2suY2lkcjtcbiAgICBjb25zdCBpcHY2Q2lkckJsb2NrID0gcHJvcHMuaXB2NkNpZHJCbG9jaz8uY2lkcjtcblxuICAgIGlmICghY2hlY2tDaWRyUmFuZ2VzKHByb3BzLnZwYywgcHJvcHMuaXB2NENpZHJCbG9jay5jaWRyKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignQ0lEUiBibG9jayBzaG91bGQgYmUgd2l0aGluIHRoZSByYW5nZSBvZiBWUEMnLCB0aGlzKTtcbiAgICB9XG5cbiAgICBsZXQgb3ZlcmxhcDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGxldCBvdmVybGFwSXB2NjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuaXB2NENpZHJCbG9jaykpIHtcbiAgICAgIG92ZXJsYXAgPSB2YWxpZGF0ZU92ZXJsYXBwaW5nQ2lkclJhbmdlcyhwcm9wcy52cGMsIHByb3BzLmlwdjRDaWRyQmxvY2suY2lkcik7XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgd2hldGhlciBWUEMgc3VwcG9ydHMgaXB2NlxuICAgIGlmIChwcm9wcy5pcHY2Q2lkckJsb2NrPy5jaWRyICYmICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuaXB2NkNpZHJCbG9jaz8uY2lkcikpIHtcbiAgICAgIHZhbGlkYXRlU3VwcG9ydElwdjYocHJvcHMudnBjKTtcbiAgICAgIG92ZXJsYXBJcHY2ID0gdmFsaWRhdGVPdmVybGFwcGluZ0NpZHJSYW5nZXNpcHY2KHByb3BzLnZwYywgcHJvcHMuaXB2NkNpZHJCbG9jaz8uY2lkcik7XG4gICAgfVxuXG4gICAgaWYgKG92ZXJsYXAgfHwgb3ZlcmxhcElwdjYpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ0NJRFIgYmxvY2sgc2hvdWxkIG5vdCBvdmVybGFwIHdpdGggZXhpc3Rpbmcgc3VibmV0IGJsb2NrcycsIHRoaXMpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5hc3NpZ25JcHY2QWRkcmVzc09uQ3JlYXRpb24gJiYgIXByb3BzLmlwdjZDaWRyQmxvY2spIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ0lQdjYgQ0lEUiBibG9jayBpcyByZXF1aXJlZCB3aGVuIGFzc2lnbmluZyBJUHY2IGFkZHJlc3Mgb24gY3JlYXRpb24nLCB0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMubWFwUHVibGljSXBPbkxhdW5jaCA9PT0gdHJ1ZSAmJiBwcm9wcy5zdWJuZXRUeXBlICE9PSBTdWJuZXRUeXBlLlBVQkxJQykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignbWFwUHVibGljSXBPbkxhdW5jaCBjYW4gb25seSBiZSBzZXQgdG8gdHJ1ZSBmb3IgcHVibGljIHN1Ym5ldHMnLCB0aGlzKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJuZXQgPSBuZXcgQ2ZuU3VibmV0KHRoaXMsICdTdWJuZXQnLCB7XG4gICAgICB2cGNJZDogcHJvcHMudnBjLnZwY0lkLFxuICAgICAgY2lkckJsb2NrOiBpcHY0Q2lkckJsb2NrLFxuICAgICAgaXB2NkNpZHJCbG9jazogaXB2NkNpZHJCbG9jayxcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IHByb3BzLmF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICBhc3NpZ25JcHY2QWRkcmVzc09uQ3JlYXRpb246IHByb3BzLmFzc2lnbklwdjZBZGRyZXNzT25DcmVhdGlvbixcbiAgICAgIG1hcFB1YmxpY0lwT25MYXVuY2g6IHByb3BzLm1hcFB1YmxpY0lwT25MYXVuY2gsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gc3VibmV0O1xuICAgIHRoaXMuaXB2NENpZHJCbG9jayA9IHByb3BzLmlwdjRDaWRyQmxvY2suY2lkcjtcbiAgICB0aGlzLmlwdjZDaWRyQmxvY2sgPSBwcm9wcy5pcHY2Q2lkckJsb2NrPy5jaWRyO1xuICAgIHRoaXMuc3VibmV0SWQgPSBzdWJuZXQucmVmO1xuICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZSA9IHByb3BzLmF2YWlsYWJpbGl0eVpvbmU7XG5cbiAgICB0aGlzLl9uZXR3b3JrQWNsID0gTmV0d29ya0FjbC5mcm9tTmV0d29ya0FjbElkKHRoaXMsICdBY2wnLCBzdWJuZXQuYXR0ck5ldHdvcmtBY2xBc3NvY2lhdGlvbklkKTtcblxuICAgIGlmIChwcm9wcy5zdWJuZXROYW1lKSB7XG4gICAgICBUYWdzLm9mKHRoaXMpLmFkZChOQU1FX1RBRywgcHJvcHMuc3VibmV0TmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnZwYy52cGNOYW1lKSB7XG4gICAgICBUYWdzLm9mKHRoaXMpLmFkZChWUENOQU1FX1RBRywgcHJvcHMudnBjLnZwY05hbWUpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5yb3V0ZVRhYmxlKSB7XG4gICAgICB0aGlzLl9yb3V0ZVRhYmxlID0gcHJvcHMucm91dGVUYWJsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQXNzaWduaW5nIGEgZGVmYXVsdCByb3V0ZSB0YWJsZVxuICAgICAgdGhpcy5fcm91dGVUYWJsZSA9IG5ldyBSb3V0ZVRhYmxlKHRoaXMsICdSb3V0ZVRhYmxlJywge1xuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgcm91dGVUYWJsZU5hbWU6ICdEZWZhdWx0Q0RLUm91dGVUYWJsZScsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCByb3V0ZUFzc29jID0gbmV3IENmblN1Ym5ldFJvdXRlVGFibGVBc3NvY2lhdGlvbih0aGlzLCAnUm91dGVUYWJsZUFzc29jaWF0aW9uJywge1xuICAgICAgc3VibmV0SWQ6IHRoaXMuc3VibmV0SWQsXG4gICAgICByb3V0ZVRhYmxlSWQ6IHRoaXMucm91dGVUYWJsZS5yb3V0ZVRhYmxlSWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9pbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkLmFkZChyb3V0ZUFzc29jKTtcblxuICAgIHRoaXMuaW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZCA9IHRoaXMuX2ludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQ7XG5cbiAgICB0aGlzLnN1Ym5ldFR5cGUgPSBwcm9wcy5zdWJuZXRUeXBlO1xuICAgIHN0b3JlU3VibmV0VG9WcGNCeVR5cGUocHJvcHMudnBjLCB0aGlzLCBwcm9wcy5zdWJuZXRUeXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYSBOZXR3b3JrIEFDTCB3aXRoIHRoaXMgc3VibmV0XG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgYXNzb2NpYXRpb24uXG4gICAqIEBwYXJhbSBuZXR3b3JrQWNsIFRoZSBOZXR3b3JrIEFDTCB0byBhc3NvY2lhdGUgd2l0aCB0aGlzIHN1Ym5ldC5cbiAgICogVGhpcyBhbGxvd3MgY29udHJvbGxpbmcgaW5ib3VuZCBhbmQgb3V0Ym91bmQgdHJhZmZpYyBmb3IgaW5zdGFuY2VzIGluIHRoaXMgc3VibmV0LlxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGFzc29jaWF0ZU5ldHdvcmtBY2woaWQ6IHN0cmluZywgbmV0d29ya0FjbDogSU5ldHdvcmtBY2wpIHtcbiAgICB0aGlzLl9uZXR3b3JrQWNsID0gbmV0d29ya0FjbDtcblxuICAgIGNvbnN0IHNjb3BlID0gbmV0d29ya0FjbCBpbnN0YW5jZW9mIENvbnN0cnVjdCA/IG5ldHdvcmtBY2wgOiB0aGlzO1xuICAgIGNvbnN0IG90aGVyID0gbmV0d29ya0FjbCBpbnN0YW5jZW9mIENvbnN0cnVjdCA/IHRoaXMgOiBuZXR3b3JrQWNsO1xuICAgIG5ldyBTdWJuZXROZXR3b3JrQWNsQXNzb2NpYXRpb24oc2NvcGUsIGlkICsgTmFtZXMubm9kZVVuaXF1ZUlkKG90aGVyLm5vZGUpLCB7XG4gICAgICBuZXR3b3JrQWNsLFxuICAgICAgc3VibmV0OiB0aGlzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgUm91dGUgVGFibGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3VibmV0XG4gICAqL1xuICBwdWJsaWMgZ2V0IHJvdXRlVGFibGUoKTogSVJvdXRlVGFibGUge1xuICAgIHJldHVybiB0aGlzLl9yb3V0ZVRhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIE5ldHdvcmsgQUNMIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHN1Ym5ldC5cbiAgICovXG5cbiAgcHVibGljIGdldCBuZXR3b3JrQWNsKCk6IElOZXR3b3JrQWNsIHtcbiAgICByZXR1cm4gdGhpcy5fbmV0d29ya0FjbDtcbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgcmVxdWlyZWQgdG8gaW1wb3J0IGEgc3VibmV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0VjJBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBBdmFpbGFiaWxpdHkgWm9uZSB0aGlzIHN1Ym5ldCBpcyBsb2NhdGVkIGluXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gQVogaW5mb3JtYXRpb24sIGNhbm5vdCB1c2UgQVogc2VsZWN0aW9uIGZlYXR1cmVzXG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJUHY0IENJRFIgYmxvY2sgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdWJuZXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBDSURSIGluZm9ybWF0aW9uLCBjYW5ub3QgdXNlIENJRFIgZmlsdGVyIGZlYXR1cmVzXG4gICAqL1xuICByZWFkb25seSBpcHY0Q2lkckJsb2NrOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJUHY0IENJRFIgYmxvY2sgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdWJuZXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBDSURSIGluZm9ybWF0aW9uLCBjYW5ub3QgdXNlIENJRFIgZmlsdGVyIGZlYXR1cmVzXG4gICAqL1xuICByZWFkb25seSBpcHY2Q2lkckJsb2NrPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHJvdXRlIHRhYmxlIGZvciB0aGlzIHBhcnRpY3VsYXIgc3VibmV0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcm91dGUgdGFibGUgaW5mb3JtYXRpb24sIGNhbm5vdCBjcmVhdGUgVlBDIGVuZHBvaW50c1xuICAgKi9cbiAgcmVhZG9ubHkgcm91dGVUYWJsZUlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3VibmV0SWQgZm9yIHRoaXMgcGFydGljdWxhciBzdWJuZXRcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHN1Ym5ldCAocHVibGljIG9yIHByaXZhdGUpIHRoYXQgdGhpcyBzdWJuZXQgcmVwcmVzZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGU7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGdpdmVuIHN1Ym5ldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHN1Ym5ldCBuYW1lXG4gICAqL1xuICByZWFkb25seSBzdWJuZXROYW1lPzogc3RyaW5nO1xuXG59XG5cbnR5cGUgRGVwcmVjYXRlZFN1Ym5ldFR5cGUgPSAnRGVwcmVjYXRlZF9Jc29sYXRlZCcgfCAnRGVwcmVjYXRlZF9Qcml2YXRlJztcbmNvbnN0IHN1Ym5ldFR5cGVNYXA6IHsgW2tleSBpbiBTdWJuZXRUeXBlIHwgRGVwcmVjYXRlZFN1Ym5ldFR5cGVdOiAodnBjOiBJVnBjVjIsIHN1Ym5ldDogU3VibmV0VjIpID0+IHZvaWQgfSA9IHtcbiAgW1N1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRF06ICh2cGM6IElWcGNWMiwgc3VibmV0OiBTdWJuZXRWMikgPT4gdnBjLmlzb2xhdGVkU3VibmV0cy5wdXNoKHN1Ym5ldCksXG4gIFtTdWJuZXRUeXBlLlBVQkxJQ106ICh2cGM6IElWcGNWMiwgc3VibmV0OiBTdWJuZXRWMikgPT4gdnBjLnB1YmxpY1N1Ym5ldHMucHVzaChzdWJuZXQpLFxuICBbU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXTogKHZwYzogSVZwY1YyLCBzdWJuZXQ6IFN1Ym5ldFYyKSA9PiB2cGMucHJpdmF0ZVN1Ym5ldHMucHVzaChzdWJuZXQpLFxuICBbJ0RlcHJlY2F0ZWRfSXNvbGF0ZWQnXTogKHZwYzogSVZwY1YyLCBzdWJuZXQ6IFN1Ym5ldFYyKSA9PiB2cGMuaXNvbGF0ZWRTdWJuZXRzLnB1c2goc3VibmV0KSxcbiAgWydEZXByZWNhdGVkX1ByaXZhdGUnXTogKHZwYzogSVZwY1YyLCBzdWJuZXQ6IFN1Ym5ldFYyKSA9PiB2cGMucHJpdmF0ZVN1Ym5ldHMucHVzaChzdWJuZXQpLFxuICBbU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfTkFUXTogKHZwYzogSVZwY1YyLCBzdWJuZXQ6IFN1Ym5ldFYyKSA9PiB2cGMucHJpdmF0ZVN1Ym5ldHMucHVzaChzdWJuZXQpLFxufTtcblxuLyoqXG4gKiBTdG9yZXMgdGhlIHByb3ZpZGVkIHN1Ym5ldCBpbiB0aGUgVlBDJ3MgY29sbGVjdGlvbiBvZiBzdWJuZXRzIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgc3VibmV0IHR5cGUuXG4gKlxuICogQHBhcmFtIHZwYyBUaGUgVlBDIGluc3RhbmNlIHRvIHdoaWNoIHRoZSBzdWJuZXQgYmVsb25ncy5cbiAqIEBwYXJhbSBzdWJuZXQgVGhlIHN1Ym5ldCBpbnN0YW5jZSB0byBiZSBzdG9yZWQuXG4gKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiB0aGUgc3VibmV0IChlLmcuLCBwdWJsaWMsIHByaXZhdGUsIGlzb2xhdGVkKS5cbiAqIEBpbnRlcm5hbFxuICovXG5mdW5jdGlvbiBzdG9yZVN1Ym5ldFRvVnBjQnlUeXBlKHZwYzogSVZwY1YyLCBzdWJuZXQ6IFN1Ym5ldFYyLCB0eXBlOiBTdWJuZXRUeXBlKSB7XG4gIGNvbnN0IGZpbmRGdW5jdGlvblR5cGUgPSBzdWJuZXRUeXBlTWFwW3R5cGVdO1xuICBpZiAoZmluZEZ1bmN0aW9uVHlwZSkge1xuICAgIGZpbmRGdW5jdGlvblR5cGUodnBjLCBzdWJuZXQpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihgVW5zdXBwb3J0ZWQgc3VibmV0IHR5cGU6ICR7dHlwZX1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOZWVkIHRvIHNldCBleHBsaWNpdCBkZXBlbmRlbmN5IGFzIGR1cmluZyBzdGFjayBkZWxldGlvbixcbiAgICogdGhlIGNpZHIgYmxvY2tzIG1heSBnZXQgZGVsZXRlZCBmaXJzdCBhbmQgd2lsbCBmYWlsIGFzIHRoZSBzdWJuZXRzIGFyZSBzdGlsbCB1c2luZyB0aGUgY2lkciBibG9ja3NcbiAgICovXG4gIGlmICh2cGMuc2Vjb25kYXJ5Q2lkckJsb2NrKSB7XG4gICAgZm9yIChjb25zdCBjaWRyIG9mIHZwYy5zZWNvbmRhcnlDaWRyQmxvY2spIHtcbiAgICAgIHN1Ym5ldC5ub2RlLmFkZERlcGVuZGVuY3koY2lkcik7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHdoZXRoZXIgdGhlIHByb3ZpZGVkIFZQQyBzdXBwb3J0cyBJUHY2IGFkZHJlc3Nlcy5cbiAqXG4gKiBAcGFyYW0gdnBjIFRoZSBWUEMgaW5zdGFuY2UgdG8gYmUgdmFsaWRhdGVkLlxuICogQHRocm93cyBWYWxpZGF0aW9uRXJyb3IgaWYgdGhlIFZQQyBkb2VzIG5vdCBzdXBwb3J0IElQdjYgYWRkcmVzc2VzLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgVlBDIHN1cHBvcnRzIElQdjYgYWRkcmVzc2VzLCBmYWxzZSBvdGhlcndpc2UuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVTdXBwb3J0SXB2Nih2cGM6IElWcGNWMikge1xuICBpZiAodnBjLnNlY29uZGFyeUNpZHJCbG9jaykge1xuICAgIGlmICh2cGMuc2Vjb25kYXJ5Q2lkckJsb2NrLnNvbWUoKHNlY29uZGFyeUFkZHJlc3MpID0+IHNlY29uZGFyeUFkZHJlc3MuYW1hem9uUHJvdmlkZWRJcHY2Q2lkckJsb2NrID09PSB0cnVlIHx8XG4gIHNlY29uZGFyeUFkZHJlc3MuaXB2NklwYW1Qb29sSWQgIT09IHVuZGVmaW5lZCB8fCBzZWNvbmRhcnlBZGRyZXNzLmlwdjZQb29sICE9PSB1bmRlZmluZWQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKCdUbyB1c2UgSVB2NiwgdGhlIFZQQyBtdXN0IGVuYWJsZSBJUHY2IHN1cHBvcnQuJyk7XG4gICAgfVxuICB9IGVsc2Uge3JldHVybiBmYWxzZTt9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCBDSURSIHJhbmdlIGZhbGxzIHdpdGhpbiB0aGUgSVAgYWRkcmVzcyByYW5nZXMgb2YgdGhlIGdpdmVuIFZQQy5cbiAqXG4gKiBAcGFyYW0gdnBjIFRoZSBWUEMgaW5zdGFuY2UgdG8gY2hlY2sgYWdhaW5zdC5cbiAqIEBwYXJhbSBjaWRyUmFuZ2UgVGhlIENJRFIgcmFuZ2UgdG8gYmUgY2hlY2tlZC5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIENJRFIgcmFuZ2UgZmFsbHMgd2l0aGluIHRoZSBWUEMncyBJUCBhZGRyZXNzIHJhbmdlcywgZmFsc2Ugb3RoZXJ3aXNlLlxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ2lkclJhbmdlcyh2cGM6IElWcGNWMiwgY2lkclJhbmdlOiBzdHJpbmcpIHtcbiAgY29uc3QgdnBjQ2lkckJsb2NrID0gW3ZwYy5pcHY0Q2lkckJsb2NrXTtcbiAgY29uc3Qgc3VibmV0Q2lkckJsb2NrID0gbmV3IENpZHJCbG9jayhjaWRyUmFuZ2UpO1xuICBjb25zdCBhbGxDaWRyczogQ2lkckJsb2NrW10gPSBbXTtcblxuICAvLyBTZWNvbmRhcnkgSVAgYWRkcmVzc2VzIGFzc29pY2F0ZWQgdXNpbmcgdXNlciBkZWZpbmVkIElQdjQgcmFuZ2VcbiAgaWYgKHZwYy5zZWNvbmRhcnlDaWRyQmxvY2spIHtcbiAgICBmb3IgKGNvbnN0IGlwQWRkcmVzcyBvZiB2cGMuc2Vjb25kYXJ5Q2lkckJsb2NrKSB7XG4gICAgICBpZiAoaXBBZGRyZXNzLmNpZHJCbG9jaykge1xuICAgICAgICB2cGNDaWRyQmxvY2sucHVzaChpcEFkZHJlc3MuY2lkckJsb2NrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY2lkcnMgPSB2cGNDaWRyQmxvY2subWFwKGNpZHIgPT4gbmV3IENpZHJCbG9jayhjaWRyKSk7XG4gICAgYWxsQ2lkcnMucHVzaCguLi5jaWRycyk7XG4gIH1cblxuICAvLyBTZWNvbmRhcnkgSVAgYWRkcmVzc2VzIGFzc29pY2F0ZWQgdXNpbmcgSVBBTSBJUHY0IHJhbmdlXG4gIGlmICh2cGMuaXB2NElwYW1Qcm92aXNpb25lZENpZHJzKSB7XG4gICAgY29uc3QgY2lkcnMgPSB2cGMuaXB2NElwYW1Qcm92aXNpb25lZENpZHJzLm1hcChjaWRyID0+IG5ldyBDaWRyQmxvY2soY2lkcikpO1xuICAgIGFsbENpZHJzLnB1c2goLi4uY2lkcnMpO1xuICB9XG5cbiAgLy8gSWYgbm8gSVB2NCBpcyBhc3NpZ25lZCBhcyBzZWNvbmRhcnkgYWRkcmVzc1xuICBpZiAoYWxsQ2lkcnMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKCdObyBzZWNvbmRhcnkgSVAgYWRkcmVzcyBhdHRhY2hlZCB0byBWUEMnKTtcbiAgfVxuXG4gIHJldHVybiBhbGxDaWRycy5zb21lKGMgPT4gYy5jb250YWluc0NpZHIoc3VibmV0Q2lkckJsb2NrKSk7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIGlmIHRoZSBwcm92aWRlZCBJUHY0IENJRFIgYmxvY2sgb3ZlcmxhcHMgd2l0aCBleGlzdGluZyBzdWJuZXQgQ0lEUiBibG9ja3Mgd2l0aGluIHRoZSBnaXZlbiBWUEMuXG4gKlxuICogQHBhcmFtIHZwYyBUaGUgVlBDIGluc3RhbmNlIHRvIGNoZWNrIGFnYWluc3QuXG4gKiBAcGFyYW0gaXB2NENpZHJCbG9jayBUaGUgSVB2NCBDSURSIGJsb2NrIHRvIGJlIHZhbGlkYXRlZC5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIElQdjQgQ0lEUiBibG9jayBvdmVybGFwcyB3aXRoIGV4aXN0aW5nIHN1Ym5ldCBDSURSIGJsb2NrcywgZmFsc2Ugb3RoZXJ3aXNlLlxuICogQGludGVybmFsXG4gKi9cblxuZnVuY3Rpb24gdmFsaWRhdGVPdmVybGFwcGluZ0NpZHJSYW5nZXModnBjOiBJVnBjVjIsIGlwdjRDaWRyQmxvY2s6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBsZXQgYWxsU3VibmV0czogSVN1Ym5ldFYyW107XG4gIHRyeSB7XG4gICAgYWxsU3VibmV0cyA9IHZwYy5zZWxlY3RTdWJuZXRzKCkuc3VibmV0cztcbiAgfSBjYXRjaCAoZSkge1xuICAgICdObyBzdWJuZXRzIGluIFZQQyc7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgaXBNYXA6IFtzdHJpbmcsIHN0cmluZ11bXSA9IG5ldyBBcnJheSgpO1xuXG4gIGNvbnN0IGlucHV0UmFuZ2UgPSBuZXcgQ2lkckJsb2NrKGlwdjRDaWRyQmxvY2spO1xuXG4gIGNvbnN0IGlucHV0SXBNYXA6IFtzdHJpbmcsIHN0cmluZ10gPSBbaW5wdXRSYW5nZS5taW5JcCgpLCBpbnB1dFJhbmdlLm1heElwKCldO1xuXG4gIGZvciAoY29uc3Qgc3VibmV0IG9mIGFsbFN1Ym5ldHMpIHtcbiAgICBjb25zdCBjaWRyQmxvY2sgPSBuZXcgQ2lkckJsb2NrKHN1Ym5ldC5pcHY0Q2lkckJsb2NrKTtcbiAgICBpcE1hcC5wdXNoKFtjaWRyQmxvY2subWluSXAoKSwgY2lkckJsb2NrLm1heElwKCldKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgcmFuZ2Ugb2YgaXBNYXApIHtcbiAgICBpZiAoaW5wdXRSYW5nZS5yYW5nZXNPdmVybGFwKHJhbmdlLCBpbnB1dElwTWFwKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyBpZiB0aGUgcHJvdmlkZWQgSVB2NiBDSURSIGJsb2NrIG92ZXJsYXBzIHdpdGggZXhpc3Rpbmcgc3VibmV0IENJRFIgYmxvY2tzIHdpdGhpbiB0aGUgZ2l2ZW4gVlBDLlxuICpcbiAqIEBwYXJhbSB2cGMgVGhlIFZQQyBpbnN0YW5jZSB0byBjaGVjayBhZ2FpbnN0LlxuICogQHBhcmFtIGlwdjZDaWRyQmxvY2sgVGhlIElQdjYgQ0lEUiBibG9jayB0byBiZSB2YWxpZGF0ZWQuXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBJUHY2IENJRFIgYmxvY2sgb3ZlcmxhcHMgd2l0aCBleGlzdGluZyBzdWJuZXQgQ0lEUiBibG9ja3MsIGZhbHNlIG90aGVyd2lzZS5cbiAqIEB0aHJvd3MgVmFsaWRhdGlvbkVycm9yIGlmIG5vIHN1Ym5ldHMgYXJlIGZvdW5kIGluIHRoZSBWUEMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVPdmVybGFwcGluZ0NpZHJSYW5nZXNpcHY2KHZwYzogSVZwY1YyLCBpcHY2Q2lkckJsb2NrOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgbGV0IGFsbFN1Ym5ldHM6IElTdWJuZXRWMltdO1xuICB0cnkge1xuICAgIGFsbFN1Ym5ldHMgPSB2cGMuc2VsZWN0U3VibmV0cygpLnN1Ym5ldHM7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAnTm8gc3VibmV0cyBpbiBWUEMnO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGlwdjZNYXA6IHN0cmluZ1tdPSBbXTtcblxuICBjb25zdCBpbnB1dFJhbmdlID0gbmV3IENpZHJCbG9ja0lwdjYoaXB2NkNpZHJCbG9jayk7XG5cbiAgbGV0IHJlc3VsdCA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBmb3IgKGNvbnN0IHN1Ym5ldCBvZiBhbGxTdWJuZXRzKSB7XG4gICAgaWYgKHN1Ym5ldC5pcHY2Q2lkckJsb2NrKSB7XG4gICAgICBjb25zdCBjaWRyQmxvY2sgPSBuZXcgQ2lkckJsb2NrSXB2NihzdWJuZXQuaXB2NkNpZHJCbG9jayk7XG4gICAgICBpcHY2TWFwLnB1c2goY2lkckJsb2NrLmNpZHIpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgcmFuZ2Ugb2YgaXB2Nk1hcCkge1xuICAgIGlmIChpbnB1dFJhbmdlLnJhbmdlc092ZXJsYXAocmFuZ2UsIGlucHV0UmFuZ2UuY2lkcikpIHtcbiAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
|
|
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=
|
|
@@ -32,6 +32,8 @@ export interface TransitGatewayRouteTableAssociationProps {
|
|
|
32
32
|
* @resource AWS::EC2::TransitGatewayRouteTableAssociation
|
|
33
33
|
*/
|
|
34
34
|
export declare class TransitGatewayRouteTableAssociation extends TransitGatewayAssociationBase {
|
|
35
|
+
/** Uniquely identifies this class. */
|
|
36
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
35
37
|
/**
|
|
36
38
|
* The ID of the transit gateway route table association.
|
|
37
39
|
*/
|
|
@@ -1,4 +1,10 @@
|
|
|
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;
|
|
7
|
+
};
|
|
2
8
|
var _a;
|
|
3
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
10
|
exports.TransitGatewayRouteTableAssociation = void 0;
|
|
@@ -7,12 +13,13 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
7
13
|
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
|
|
8
14
|
const transit_gateway_association_1 = require("./transit-gateway-association");
|
|
9
15
|
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
16
|
+
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
10
17
|
/**
|
|
11
18
|
* Create a Transit Gateway Route Table Association.
|
|
12
19
|
*
|
|
13
20
|
* @resource AWS::EC2::TransitGatewayRouteTableAssociation
|
|
14
21
|
*/
|
|
15
|
-
class TransitGatewayRouteTableAssociation extends transit_gateway_association_1.TransitGatewayAssociationBase {
|
|
22
|
+
let TransitGatewayRouteTableAssociation = class TransitGatewayRouteTableAssociation extends transit_gateway_association_1.TransitGatewayAssociationBase {
|
|
16
23
|
constructor(scope, id, props) {
|
|
17
24
|
super(scope, id);
|
|
18
25
|
try {
|
|
@@ -33,8 +40,13 @@ class TransitGatewayRouteTableAssociation extends transit_gateway_association_1.
|
|
|
33
40
|
this.node.defaultChild = resource;
|
|
34
41
|
this.transitGatewayAssociationId = resource.ref;
|
|
35
42
|
}
|
|
36
|
-
}
|
|
43
|
+
};
|
|
37
44
|
exports.TransitGatewayRouteTableAssociation = TransitGatewayRouteTableAssociation;
|
|
38
45
|
_a = JSII_RTTI_SYMBOL_1;
|
|
39
|
-
TransitGatewayRouteTableAssociation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTableAssociation", version: "2.
|
|
40
|
-
|
|
46
|
+
TransitGatewayRouteTableAssociation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTableAssociation", version: "2.196.0-alpha.0" };
|
|
47
|
+
/** Uniquely identifies this class. */
|
|
48
|
+
TransitGatewayRouteTableAssociation.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayRouteTableAssociation';
|
|
49
|
+
exports.TransitGatewayRouteTableAssociation = TransitGatewayRouteTableAssociation = __decorate([
|
|
50
|
+
prop_injectable_1.propertyInjectable
|
|
51
|
+
], TransitGatewayRouteTableAssociation);
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLWFzc29jaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLWFzc29jaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVBLGlEQUE2RTtBQUU3RSwrRUFBMEc7QUFDMUcsOEVBQThFO0FBQzlFLDBFQUEwRTtBQTZCMUU7Ozs7R0FJRztBQUVJLElBQU0sbUNBQW1DLEdBQXpDLE1BQU0sbUNBQW9DLFNBQVEsMkRBQTZCO0lBUXBGLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0M7UUFDdkYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7OytDQVRSLG1DQUFtQzs7OztRQVU1QyxtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnREFBc0MsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3BFLDBCQUEwQixFQUFFLEtBQUssQ0FBQywyQkFBMkIsQ0FBQywwQkFBMEI7WUFDeEYsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFlBQVk7U0FDeEUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1FBRWxDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO0tBQ2pEOztBQXBCVSxrRkFBbUM7OztBQUM5QyxzQ0FBc0M7QUFDZix5REFBcUIsR0FBVyw0REFBNEQsQUFBdkUsQ0FBd0U7OENBRnpHLG1DQUFtQztJQUQvQyxvQ0FBa0I7R0FDTixtQ0FBbUMsQ0FxQi9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlJztcbmltcG9ydCB7IENmblRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheUFzc29jaWF0aW9uLCBUcmFuc2l0R2F0ZXdheUFzc29jaWF0aW9uQmFzZSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LWFzc29jaWF0aW9uJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgVHJhbnNpdCBHYXRld2F5IFJvdXRlIFRhYmxlIEFzc29jaWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbiBleHRlbmRzIElUcmFuc2l0R2F0ZXdheUFzc29jaWF0aW9uIHt9XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnRpZXMgZm9yIGEgVHJhbnNpdCBHYXRld2F5IFJvdXRlIFRhYmxlIEFzc29jaWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgYXNzb2NpYXRpb24uXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQ6IElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgdHJhbnNpdCBnYXRld2F5IHJvdXRlIHRhYmxlIGFzc29jaWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xuXG4gIC8qKlxuICAgKiBQaHlzaWNhbCBuYW1lIG9mIHRoaXMgYXNzb2NpYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXNzaWduZWQgYnkgQ2xvdWRGb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbk5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgVHJhbnNpdCBHYXRld2F5IFJvdXRlIFRhYmxlIEFzc29jaWF0aW9uLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb25cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uIGV4dGVuZHMgVHJhbnNpdEdhdGV3YXlBc3NvY2lhdGlvbkJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1lYzItYWxwaGEuVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24nO1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgYXNzb2NpYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24odGhpcywgaWQsIHtcbiAgICAgIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkOiBwcm9wcy50cmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQsXG4gICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGVJZDogcHJvcHMudHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlLnJvdXRlVGFibGVJZCxcbiAgICB9KTtcbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gcmVzb3VyY2U7XG5cbiAgICB0aGlzLnRyYW5zaXRHYXRld2F5QXNzb2NpYXRpb25JZCA9IHJlc291cmNlLnJlZjtcbiAgfVxufVxuIl19
|
|
@@ -37,6 +37,8 @@ export interface TransitGatewayRouteTablePropagationProps {
|
|
|
37
37
|
* @resource AWS::EC2::TransitGatewayRouteTablePropagation
|
|
38
38
|
*/
|
|
39
39
|
export declare class TransitGatewayRouteTablePropagation extends Resource implements ITransitGatewayRouteTablePropagation {
|
|
40
|
+
/** Uniquely identifies this class. */
|
|
41
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
40
42
|
/**
|
|
41
43
|
* The ID of the transit gateway route table propagation.
|
|
42
44
|
*/
|
|
@@ -1,4 +1,10 @@
|
|
|
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;
|
|
7
|
+
};
|
|
2
8
|
var _a;
|
|
3
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
10
|
exports.TransitGatewayRouteTablePropagation = void 0;
|
|
@@ -7,12 +13,13 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
7
13
|
const core_1 = require("aws-cdk-lib/core");
|
|
8
14
|
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
|
|
9
15
|
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
16
|
+
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
10
17
|
/**
|
|
11
18
|
* Create a Transit Gateway Route Table Propagation.
|
|
12
19
|
*
|
|
13
20
|
* @resource AWS::EC2::TransitGatewayRouteTablePropagation
|
|
14
21
|
*/
|
|
15
|
-
class TransitGatewayRouteTablePropagation extends core_1.Resource {
|
|
22
|
+
let TransitGatewayRouteTablePropagation = class TransitGatewayRouteTablePropagation extends core_1.Resource {
|
|
16
23
|
constructor(scope, id, props) {
|
|
17
24
|
super(scope, id);
|
|
18
25
|
try {
|
|
@@ -33,8 +40,13 @@ class TransitGatewayRouteTablePropagation extends core_1.Resource {
|
|
|
33
40
|
this.node.defaultChild = resource;
|
|
34
41
|
this.transitGatewayRouteTablePropagationId = resource.ref;
|
|
35
42
|
}
|
|
36
|
-
}
|
|
43
|
+
};
|
|
37
44
|
exports.TransitGatewayRouteTablePropagation = TransitGatewayRouteTablePropagation;
|
|
38
45
|
_a = JSII_RTTI_SYMBOL_1;
|
|
39
|
-
TransitGatewayRouteTablePropagation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTablePropagation", version: "2.
|
|
40
|
-
|
|
46
|
+
TransitGatewayRouteTablePropagation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTablePropagation", version: "2.196.0-alpha.0" };
|
|
47
|
+
/** Uniquely identifies this class. */
|
|
48
|
+
TransitGatewayRouteTablePropagation.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayRouteTablePropagation';
|
|
49
|
+
exports.TransitGatewayRouteTablePropagation = TransitGatewayRouteTablePropagation = __decorate([
|
|
50
|
+
prop_injectable_1.propertyInjectable
|
|
51
|
+
], TransitGatewayRouteTablePropagation);
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLXByb3BhZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLXByb3BhZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF1RDtBQUN2RCxpREFBNkU7QUFJN0UsOEVBQThFO0FBQzlFLDBFQUEwRTtBQW1DMUU7Ozs7R0FJRztBQUVJLElBQU0sbUNBQW1DLEdBQXpDLE1BQU0sbUNBQW9DLFNBQVEsZUFBUTtJQVEvRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQStDO1FBQ3ZGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7OzsrQ0FUUixtQ0FBbUM7Ozs7UUFVNUMsbUNBQW1DO1FBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksZ0RBQXNDLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNwRSwwQkFBMEIsRUFBRSxLQUFLLENBQUMsMkJBQTJCLENBQUMsMEJBQTBCO1lBQ3hGLDBCQUEwQixFQUFFLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZO1NBQ3hFLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUVsQyxJQUFJLENBQUMscUNBQXFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztLQUMzRDs7QUFwQlUsa0ZBQW1DOzs7QUFDOUMsc0NBQXNDO0FBQ2YseURBQXFCLEdBQVcsNERBQTRELEFBQXZFLENBQXdFOzhDQUZ6RyxtQ0FBbUM7SUFEL0Msb0NBQWtCO0dBQ04sbUNBQW1DLENBcUIvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZXNvdXJjZSwgUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENmblRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1hdHRhY2htZW50JztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZSc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZSBUYWJsZSBQcm9wYWdhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24gZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgcHJvcGFnYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUgVGFibGUgUHJvcGFnYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHRyYW5zaXQgZ2F0ZXdheSByb3V0ZSB0YWJsZSBwcm9wYWdhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudDtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgcHJvcGFnYXRpb24uXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG5cbiAgLyoqXG4gICAqIFBoeXNpY2FsIG5hbWUgb2YgdGhpcyBwcm9wYWdhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUgVGFibGUgUHJvcGFnYXRpb24uXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvblxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24gZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbiB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5UcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbic7XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHRyYW5zaXQgZ2F0ZXdheSByb3V0ZSB0YWJsZSBwcm9wYWdhdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbklkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24odGhpcywgaWQsIHtcbiAgICAgIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkOiBwcm9wcy50cmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQsXG4gICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGVJZDogcHJvcHMudHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlLnJvdXRlVGFibGVJZCxcbiAgICB9KTtcbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gcmVzb3VyY2U7XG5cbiAgICB0aGlzLnRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uSWQgPSByZXNvdXJjZS5yZWY7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -68,6 +68,8 @@ declare abstract class TransitGatewayRouteTableBase extends Resource implements
|
|
|
68
68
|
* @resource AWS::EC2::TransitGatewayRouteTable
|
|
69
69
|
*/
|
|
70
70
|
export declare class TransitGatewayRouteTable extends TransitGatewayRouteTableBase {
|
|
71
|
+
/** Uniquely identifies this class. */
|
|
72
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
71
73
|
readonly routeTableId: string;
|
|
72
74
|
/**
|
|
73
75
|
* The Transit Gateway.
|
|
@@ -1,4 +1,10 @@
|
|
|
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;
|
|
7
|
+
};
|
|
2
8
|
var _a;
|
|
3
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
10
|
exports.TransitGatewayRouteTable = void 0;
|
|
@@ -10,6 +16,7 @@ const transit_gateway_route_1 = require("./transit-gateway-route");
|
|
|
10
16
|
const transit_gateway_route_table_association_1 = require("./transit-gateway-route-table-association");
|
|
11
17
|
const transit_gateway_route_table_propagation_1 = require("./transit-gateway-route-table-propagation");
|
|
12
18
|
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
19
|
+
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
13
20
|
/**
|
|
14
21
|
* A Transit Gateway Route Table.
|
|
15
22
|
* @internal
|
|
@@ -46,7 +53,7 @@ class TransitGatewayRouteTableBase extends core_1.Resource {
|
|
|
46
53
|
*
|
|
47
54
|
* @resource AWS::EC2::TransitGatewayRouteTable
|
|
48
55
|
*/
|
|
49
|
-
class TransitGatewayRouteTable extends TransitGatewayRouteTableBase {
|
|
56
|
+
let TransitGatewayRouteTable = class TransitGatewayRouteTable extends TransitGatewayRouteTableBase {
|
|
50
57
|
constructor(scope, id, props) {
|
|
51
58
|
super(scope, id);
|
|
52
59
|
try {
|
|
@@ -67,8 +74,13 @@ class TransitGatewayRouteTable extends TransitGatewayRouteTableBase {
|
|
|
67
74
|
this.routeTableId = resource.attrTransitGatewayRouteTableId;
|
|
68
75
|
this.transitGateway = props.transitGateway;
|
|
69
76
|
}
|
|
70
|
-
}
|
|
77
|
+
};
|
|
71
78
|
exports.TransitGatewayRouteTable = TransitGatewayRouteTable;
|
|
72
79
|
_a = JSII_RTTI_SYMBOL_1;
|
|
73
|
-
TransitGatewayRouteTable[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTable", version: "2.
|
|
74
|
-
|
|
80
|
+
TransitGatewayRouteTable[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTable", version: "2.196.0-alpha.0" };
|
|
81
|
+
/** Uniquely identifies this class. */
|
|
82
|
+
TransitGatewayRouteTable.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayRouteTable';
|
|
83
|
+
exports.TransitGatewayRouteTable = TransitGatewayRouteTable = __decorate([
|
|
84
|
+
prop_injectable_1.propertyInjectable
|
|
85
|
+
], TransitGatewayRouteTable);
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF1RDtBQUd2RCxpREFBK0U7QUFFL0UsbUVBQWtIO0FBQ2xILHVHQUFzSTtBQUN0SSx1R0FBc0k7QUFDdEksOEVBQThFO0FBQzlFLDBFQUEwRTtBQW9EMUU7OztHQUdHO0FBQ0gsTUFBZSw0QkFBNkIsU0FBUSxlQUFRO0lBSW5ELFFBQVEsQ0FBQyxFQUFVLEVBQUUsd0JBQW1ELEVBQUUsZUFBdUI7UUFDdEcsT0FBTyxJQUFJLDJDQUFtQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdkMsd0JBQXdCLEVBQUUsSUFBSTtZQUM5Qix3QkFBd0I7WUFDeEIsb0JBQW9CLEVBQUUsZUFBZTtTQUN0QyxDQUFDLENBQUM7S0FDSjtJQUVNLGlCQUFpQixDQUFDLEVBQVUsRUFBRSxlQUF1QjtRQUMxRCxPQUFPLElBQUksb0RBQTRCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNoRCx3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLG9CQUFvQixFQUFFLGVBQWU7U0FDdEMsQ0FBQyxDQUFDO0tBQ0o7SUFFTSxjQUFjLENBQUMsRUFBVSxFQUFFLHdCQUFtRDtRQUNuRixPQUFPLElBQUksNkVBQW1DLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2RCwyQkFBMkIsRUFBRSx3QkFBd0I7WUFDckQsd0JBQXdCLEVBQUUsSUFBSTtTQUMvQixDQUFDLENBQUM7S0FDSjtJQUVNLGlCQUFpQixDQUFDLEVBQVUsRUFBRSx3QkFBbUQ7UUFDdEYsT0FBTyxJQUFJLDZFQUFtQyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdkQsMkJBQTJCLEVBQUUsd0JBQXdCO1lBQ3JELHdCQUF3QixFQUFFLElBQUk7U0FDL0IsQ0FBQyxDQUFDO0tBQ0o7Q0FDRjtBQUVEOzs7O0dBSUc7QUFFSSxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF5QixTQUFRLDRCQUE0QjtJQVN4RSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9DO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7OzsrQ0FWUix3QkFBd0I7Ozs7UUFXakMsbUNBQW1DO1FBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUkscUNBQTJCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN6RCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLGdCQUFnQjtTQUN4RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7UUFFbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsOEJBQThCLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO0tBQzVDOztBQXRCVSw0REFBd0I7OztBQUNuQyxzQ0FBc0M7QUFDZiw4Q0FBcUIsR0FBVyxpREFBaUQsQUFBNUQsQ0FBNkQ7bUNBRjlGLHdCQUF3QjtJQURwQyxvQ0FBa0I7R0FDTix3QkFBd0IsQ0F1QnBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlc291cmNlLCBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5IH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXknO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDZm5UcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUsIElSb3V0ZVRhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktYXR0YWNobWVudCc7XG5pbXBvcnQgeyBUcmFuc2l0R2F0ZXdheVJvdXRlLCBUcmFuc2l0R2F0ZXdheUJsYWNraG9sZVJvdXRlLCBJVHJhbnNpdEdhdGV3YXlSb3V0ZSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbiwgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24gfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZS1hc3NvY2lhdGlvbic7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24sIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUtcHJvcGFnYXRpb24nO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUgVGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSBleHRlbmRzIElSZXNvdXJjZSwgSVJvdXRlVGFibGUge1xuICAvKipcbiAgICogQWRkIGFuIGFjdGl2ZSByb3V0ZSB0byB0aGlzIHJvdXRlIHRhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVxuICAgKi9cbiAgYWRkUm91dGUoaWQ6IHN0cmluZywgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50OiBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50LCBkZXN0aW5hdGlvbkNpZHI6IHN0cmluZyk6IElUcmFuc2l0R2F0ZXdheVJvdXRlO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBibGFja2hvbGUgcm91dGUgdG8gdGhpcyByb3V0ZSB0YWJsZS5cbiAgICpcbiAgICogQHJldHVybnMgSVRyYW5zaXRHYXRld2F5Um91dGVcbiAgICovXG4gIGFkZEJsYWNraG9sZVJvdXRlKGlkOiBzdHJpbmcsIGRlc3RpbmF0aW9uQ2lkcjogc3RyaW5nKTogSVRyYW5zaXRHYXRld2F5Um91dGU7XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSB0aGUgcHJvdmlkZWQgQXR0YWNobWVudHMgd2l0aCB0aGlzIHJvdXRlIHRhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb25cbiAgICovXG4gIGFkZEFzc29jaWF0aW9uKGlkOiBzdHJpbmcsIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCk6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbjtcblxuICAvKipcbiAgICogRW5hYmxlIHByb3BhZ2F0aW9uIGZyb20gdGhlIHByb3ZpZGVkIEF0dGFjaG1lbnRzIHRvIHRoaXMgcm91dGUgdGFibGUuXG4gICAqXG4gICAqIEByZXR1cm5zIElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvblxuICAgKi9cbiAgZW5hYmxlUHJvcGFnYXRpb24oaWQ6IHN0cmluZywgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50OiBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50KTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uO1xufVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZSBUYWJsZSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgVHJhbnNpdCBHYXRld2F5IHRoYXQgdGhpcyByb3V0ZSB0YWJsZSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXk6IElUcmFuc2l0R2F0ZXdheTtcblxuICAvKipcbiAgICogUGh5c2ljYWwgbmFtZSBvZiB0aGlzIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZSBUYWJsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBUcmFuc2l0IEdhdGV3YXkgUm91dGUgVGFibGUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuYWJzdHJhY3QgY2xhc3MgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb3V0ZVRhYmxlSWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5OiBJVHJhbnNpdEdhdGV3YXk7XG5cbiAgcHVibGljIGFkZFJvdXRlKGlkOiBzdHJpbmcsIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCwgZGVzdGluYXRpb25DaWRyOiBzdHJpbmcpOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZSB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlKHRoaXMsIGlkLCB7XG4gICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHRoaXMsXG4gICAgICB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQsXG4gICAgICBkZXN0aW5hdGlvbkNpZHJCbG9jazogZGVzdGluYXRpb25DaWRyLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZEJsYWNraG9sZVJvdXRlKGlkOiBzdHJpbmcsIGRlc3RpbmF0aW9uQ2lkcjogc3RyaW5nKTogSVRyYW5zaXRHYXRld2F5Um91dGUge1xuICAgIHJldHVybiBuZXcgVHJhbnNpdEdhdGV3YXlCbGFja2hvbGVSb3V0ZSh0aGlzLCBpZCwge1xuICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiB0aGlzLFxuICAgICAgZGVzdGluYXRpb25DaWRyQmxvY2s6IGRlc3RpbmF0aW9uQ2lkcixcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRBc3NvY2lhdGlvbihpZDogc3RyaW5nLCB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQ6IElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQpOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24odGhpcywgaWQsIHtcbiAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50LFxuICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiB0aGlzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZVByb3BhZ2F0aW9uKGlkOiBzdHJpbmcsIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCk6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbih0aGlzLCBpZCwge1xuICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQsXG4gICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHRoaXMsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgVHJhbnNpdCBHYXRld2F5IHJvdXRlIHRhYmxlLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUgZXh0ZW5kcyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZWMyLWFscGhhLlRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSc7XG4gIHB1YmxpYyByZWFkb25seSByb3V0ZVRhYmxlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBUcmFuc2l0IEdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXk6IElUcmFuc2l0R2F0ZXdheTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlKHRoaXMsIGlkLCB7XG4gICAgICB0cmFuc2l0R2F0ZXdheUlkOiBwcm9wcy50cmFuc2l0R2F0ZXdheS50cmFuc2l0R2F0ZXdheUlkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHJlc291cmNlO1xuXG4gICAgdGhpcy5yb3V0ZVRhYmxlSWQgPSByZXNvdXJjZS5hdHRyVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlSWQ7XG4gICAgdGhpcy50cmFuc2l0R2F0ZXdheSA9IHByb3BzLnRyYW5zaXRHYXRld2F5O1xuICB9XG59XG4iXX0=
|
|
@@ -69,6 +69,8 @@ declare abstract class TransitGatewayRouteBase extends Resource implements ITran
|
|
|
69
69
|
* @resource AWS::EC2::TransitGatewayRoute
|
|
70
70
|
*/
|
|
71
71
|
export declare class TransitGatewayRoute extends TransitGatewayRouteBase {
|
|
72
|
+
/** Uniquely identifies this class. */
|
|
73
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
72
74
|
readonly routeTable: ITransitGatewayRouteTable;
|
|
73
75
|
readonly destinationCidrBlock: string;
|
|
74
76
|
/**
|
|
@@ -83,6 +85,8 @@ export declare class TransitGatewayRoute extends TransitGatewayRouteBase {
|
|
|
83
85
|
* @resource AWS::EC2::TransitGatewayRoute
|
|
84
86
|
*/
|
|
85
87
|
export declare class TransitGatewayBlackholeRoute extends TransitGatewayRouteBase {
|
|
88
|
+
/** Uniquely identifies this class. */
|
|
89
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
86
90
|
readonly routeTable: ITransitGatewayRouteTable;
|
|
87
91
|
readonly destinationCidrBlock: string;
|
|
88
92
|
constructor(scope: Construct, id: string, props: TransitGatewayBlackholeRouteProps);
|
|
@@ -1,4 +1,10 @@
|
|
|
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;
|
|
7
|
+
};
|
|
2
8
|
var _a, _b;
|
|
3
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
10
|
exports.TransitGatewayBlackholeRoute = exports.TransitGatewayRoute = void 0;
|
|
@@ -7,6 +13,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
7
13
|
const core_1 = require("aws-cdk-lib/core");
|
|
8
14
|
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
|
|
9
15
|
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
16
|
+
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
10
17
|
/**
|
|
11
18
|
* A Transit Gateway Route.
|
|
12
19
|
* @internal
|
|
@@ -18,7 +25,7 @@ class TransitGatewayRouteBase extends core_1.Resource {
|
|
|
18
25
|
*
|
|
19
26
|
* @resource AWS::EC2::TransitGatewayRoute
|
|
20
27
|
*/
|
|
21
|
-
class TransitGatewayRoute extends TransitGatewayRouteBase {
|
|
28
|
+
let TransitGatewayRoute = class TransitGatewayRoute extends TransitGatewayRouteBase {
|
|
22
29
|
constructor(scope, id, props) {
|
|
23
30
|
super(scope, id);
|
|
24
31
|
try {
|
|
@@ -42,16 +49,21 @@ class TransitGatewayRoute extends TransitGatewayRouteBase {
|
|
|
42
49
|
this.destinationCidrBlock = this.resource.destinationCidrBlock;
|
|
43
50
|
this.routeTable = props.transitGatewayRouteTable;
|
|
44
51
|
}
|
|
45
|
-
}
|
|
52
|
+
};
|
|
46
53
|
exports.TransitGatewayRoute = TransitGatewayRoute;
|
|
47
54
|
_a = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
TransitGatewayRoute[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRoute", version: "2.
|
|
55
|
+
TransitGatewayRoute[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRoute", version: "2.196.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);
|
|
49
61
|
/**
|
|
50
62
|
* Create a Transit Gateway Blackhole Route.
|
|
51
63
|
*
|
|
52
64
|
* @resource AWS::EC2::TransitGatewayRoute
|
|
53
65
|
*/
|
|
54
|
-
class TransitGatewayBlackholeRoute extends TransitGatewayRouteBase {
|
|
66
|
+
let TransitGatewayBlackholeRoute = class TransitGatewayBlackholeRoute extends TransitGatewayRouteBase {
|
|
55
67
|
constructor(scope, id, props) {
|
|
56
68
|
super(scope, id);
|
|
57
69
|
try {
|
|
@@ -74,8 +86,13 @@ class TransitGatewayBlackholeRoute extends TransitGatewayRouteBase {
|
|
|
74
86
|
this.destinationCidrBlock = resource.destinationCidrBlock;
|
|
75
87
|
this.routeTable = props.transitGatewayRouteTable;
|
|
76
88
|
}
|
|
77
|
-
}
|
|
89
|
+
};
|
|
78
90
|
exports.TransitGatewayBlackholeRoute = TransitGatewayBlackholeRoute;
|
|
79
91
|
_b = JSII_RTTI_SYMBOL_1;
|
|
80
|
-
TransitGatewayBlackholeRoute[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayBlackholeRoute", version: "2.
|
|
81
|
-
|
|
92
|
+
TransitGatewayBlackholeRoute[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayBlackholeRoute", version: "2.196.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
|