@btc-embedded/cdk-extensions 0.20.9 → 0.20.10
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 +405 -34
- package/API.md +424 -16
- package/CHANGELOG.md +7 -0
- package/lib/constructs/EventPipe.js +1 -1
- package/lib/constructs/ExportedService.js +1 -1
- package/lib/constructs/S3Bucket.js +1 -1
- package/lib/constructs/SecureRestApi.js +1 -1
- package/lib/constructs/SecureRestApiV2.js +1 -1
- package/lib/constructs/api-keys/ApiKeyClientAuthorization.js +1 -1
- package/lib/constructs/api-keys/ApiKeyManagement.js +1 -1
- package/lib/constructs/api-keys/ApiKeyPreTokenHandler.js +1 -1
- package/lib/constructs/api-keys/ApiKeyStore.js +1 -1
- package/lib/extensions/ApiGatewayExtension.js +1 -1
- package/lib/extensions/ApplicationLoadBalancerExtension.js +1 -1
- package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +1 -1
- package/lib/extensions/CloudMapExtension.js +1 -1
- package/lib/extensions/DeactivatableServiceExtension.js +1 -1
- package/lib/extensions/DeploymentConfigExtension.js +1 -1
- package/lib/extensions/DocumentDbAccessExtension.js +1 -1
- package/lib/extensions/DomainEventMessagingExtension.js +1 -1
- package/lib/extensions/EfsMountExtension.js +1 -1
- package/lib/extensions/ExtraContainerExtension.js +1 -1
- package/lib/extensions/HTTPApiExtension.d.ts +4 -2
- package/lib/extensions/HTTPApiExtension.js +14 -10
- package/lib/extensions/LogExtension.js +1 -1
- package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
- package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
- package/lib/extensions/OpenIdExtension.js +1 -1
- package/lib/extensions/OpenTelemetryExtension.js +1 -1
- package/lib/extensions/PostgresDbAccessExtension.js +1 -1
- package/lib/extensions/SharedVolumeExtension.js +1 -1
- package/lib/extensions/TcpKeepAliveExtension.js +1 -1
- package/lib/platform/ApiGateway.js +1 -1
- package/lib/platform/ApiGatewayVpcLink.js +2 -2
- package/lib/platform/ApplicationLoadBalancer.js +1 -1
- package/lib/platform/ApplicationLoadBalancerV2.js +2 -2
- package/lib/platform/BTCLogGroup.js +1 -1
- package/lib/platform/CognitoUserPool.js +2 -2
- package/lib/platform/DefaultUserPoolClients.js +1 -1
- package/lib/platform/DocumentDB.js +2 -2
- package/lib/platform/EcsCluster.js +1 -1
- package/lib/platform/EfsFileSystem.js +1 -1
- package/lib/platform/HostedZone.d.ts +103 -0
- package/lib/platform/HostedZone.js +105 -0
- package/lib/platform/PrivateDnsNamespace.js +1 -1
- package/lib/platform/ResourceServer.js +1 -1
- package/lib/platform/Vpc.js +1 -1
- package/lib/platform/VpcV2.d.ts +10 -1
- package/lib/platform/VpcV2.js +8 -4
- package/lib/platform/index.d.ts +1 -0
- package/lib/platform/index.js +2 -1
- package/lib/utils/StackParameter.js +1 -1
- package/package.json +1 -1
package/lib/platform/VpcV2.js
CHANGED
|
@@ -10,14 +10,17 @@ const utils_1 = require("../utils");
|
|
|
10
10
|
/**
|
|
11
11
|
* A construct that creates or imports an existing VPC.
|
|
12
12
|
* Supports importing by VPC ID, VPC name, or creating a new VPC with a specified CIDR block.
|
|
13
|
+
*
|
|
14
|
+
* When using fromBasePlatform() to import a VPC from another stack, provide the vpcId
|
|
15
|
+
* parameter as a string to avoid CloudFormation token issues with VPC lookups.
|
|
13
16
|
*/
|
|
14
17
|
class VpcV2 extends constructs_1.Construct {
|
|
15
|
-
static fromBasePlatform(scope, id,
|
|
18
|
+
static fromBasePlatform(scope, id, attrs) {
|
|
16
19
|
class Import extends constructs_1.Construct {
|
|
17
20
|
constructor() {
|
|
18
21
|
super(...arguments);
|
|
19
22
|
this.vpcInstance = aws_ec2_1.Vpc.fromLookup(this, "Vpc", {
|
|
20
|
-
vpcId:
|
|
23
|
+
vpcId: attrs.vpcId,
|
|
21
24
|
});
|
|
22
25
|
}
|
|
23
26
|
}
|
|
@@ -45,15 +48,16 @@ class VpcV2 extends constructs_1.Construct {
|
|
|
45
48
|
else {
|
|
46
49
|
throw Error("Either vpcId, vpcName or vpcCidr have to be set.");
|
|
47
50
|
}
|
|
51
|
+
// Export the VPC ID, even if it cannot be used via import
|
|
48
52
|
VpcV2.vpcIdParameter.export(this, this.vpcInstance.vpcId);
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
exports.VpcV2 = VpcV2;
|
|
52
56
|
_a = JSII_RTTI_SYMBOL_1;
|
|
53
|
-
VpcV2[_a] = { fqn: "@btc-embedded/cdk-extensions.VpcV2", version: "0.20.
|
|
57
|
+
VpcV2[_a] = { fqn: "@btc-embedded/cdk-extensions.VpcV2", version: "0.20.10" };
|
|
54
58
|
VpcV2.vpcIdParameter = new utils_1.StackParameter({
|
|
55
59
|
prefix: "vpc",
|
|
56
60
|
name: "VPC ID",
|
|
57
61
|
key: "vpc-id",
|
|
58
62
|
});
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVnBjVjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGxhdGZvcm0vVnBjVjIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBb0M7QUFDcEMsaURBSTZCO0FBQzdCLDJDQUF1QztBQUN2QyxvQ0FBMEM7QUFpQzFDOzs7Ozs7R0FNRztBQUNILE1BQWEsS0FBTSxTQUFRLHNCQUFTO0lBQzNCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDNUIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQXNCO1FBRXRCLE1BQU0sTUFBTyxTQUFRLHNCQUFTO1lBQTlCOztnQkFDVyxnQkFBVyxHQUFHLGFBQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtvQkFDcEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2lCQUNuQixDQUFDLENBQUM7WUFDTCxDQUFDO1NBQUE7UUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBVUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpQjtRQUN6RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO2dCQUNoRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtnQkFDaEQsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2FBQ3ZCLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksYUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7Z0JBQ3pDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsR0FBRyxNQUFNO2dCQUMzRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDO2dCQUN6QixXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU87YUFDM0IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCwwREFBMEQ7UUFDMUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7QUE5Q0gsc0JBK0NDOzs7QUFoQ2dCLG9CQUFjLEdBQUcsSUFBSSxzQkFBYyxDQUFDO0lBQ2pELE1BQU0sRUFBRSxLQUFLO0lBQ2IsSUFBSSxFQUFFLFFBQVE7SUFDZCxHQUFHLEVBQUUsUUFBUTtDQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBWcGMgYXMgQVdTVnBjLFxuICBJVnBjIGFzIElBV1NWcGMsXG4gIElJcEFkZHJlc3Nlcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTdGFja1BhcmFtZXRlciB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZwY1YyUHJvcHMge1xuICAvKipcbiAgICogVGhlIElEIG9mIGFuIGV4aXN0aW5nIFZQQyB0byBpbXBvcnQuIElmIHByb3ZpZGVkLCB0aGUgVlBDIHdpbGwgYmUgbG9va2VkIHVwIGJ5IElELlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgVlBDLiBJZiBpbXBvcnRpbmcgYW4gZXhpc3RpbmcgVlBDLCBpdCB3aWxsIGJlIGxvb2tlZCB1cCBieSB0aGlzIG5hbWUuXG4gICAqIElmIGNyZWF0aW5nIGEgbmV3IFZQQywgdGhpcyB3aWxsIGJlIHVzZWQgYXMgdGhlIFZQQyBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBJUCBhZGRyZXNzIGFsbG9jYXRpb24gc3RyYXRlZ3kgZm9yIGNyZWF0aW5nIGEgbmV3IFZQQy4gUmVxdWlyZWQgd2hlbiBjcmVhdGluZyBhIG5ldyBWUEMuXG4gICAqL1xuICByZWFkb25seSB2cGNDaWRyPzogSUlwQWRkcmVzc2VzO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIEF2YWlsYWJpbGl0eSBab25lcyB0byB1c2Ugd2hlbiBjcmVhdGluZyBhIG5ldyBWUEMuIERlZmF1bHRzIHRvIDIuXG4gICAqL1xuICByZWFkb25seSBtYXhBenM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVnBjVjJBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBWUEMgSUQgdG8gaW1wb3J0LiBUaGlzIHNob3VsZCBiZSBhIGNvbmNyZXRlIHZhbHVlLCBub3QgYSB0b2tlbi5cbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZwY1YyIHtcbiAgcmVhZG9ubHkgdnBjSW5zdGFuY2U6IElBV1NWcGM7XG59XG5cbi8qKlxuICogQSBjb25zdHJ1Y3QgdGhhdCBjcmVhdGVzIG9yIGltcG9ydHMgYW4gZXhpc3RpbmcgVlBDLlxuICogU3VwcG9ydHMgaW1wb3J0aW5nIGJ5IFZQQyBJRCwgVlBDIG5hbWUsIG9yIGNyZWF0aW5nIGEgbmV3IFZQQyB3aXRoIGEgc3BlY2lmaWVkIENJRFIgYmxvY2suXG4gKlxuICogV2hlbiB1c2luZyBmcm9tQmFzZVBsYXRmb3JtKCkgdG8gaW1wb3J0IGEgVlBDIGZyb20gYW5vdGhlciBzdGFjaywgcHJvdmlkZSB0aGUgdnBjSWRcbiAqIHBhcmFtZXRlciBhcyBhIHN0cmluZyB0byBhdm9pZCBDbG91ZEZvcm1hdGlvbiB0b2tlbiBpc3N1ZXMgd2l0aCBWUEMgbG9va3Vwcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFZwY1YyIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVZwY1YyIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tQmFzZVBsYXRmb3JtKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhdHRyczogVnBjVjJBdHRyaWJ1dGVzLFxuICApOiBJVnBjVjIge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElWcGNWMiB7XG4gICAgICByZWFkb25seSB2cGNJbnN0YW5jZSA9IEFXU1ZwYy5mcm9tTG9va3VwKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgICAgdnBjSWQ6IGF0dHJzLnZwY0lkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHZwY0lkUGFyYW1ldGVyID0gbmV3IFN0YWNrUGFyYW1ldGVyKHtcbiAgICBwcmVmaXg6IFwidnBjXCIsXG4gICAgbmFtZTogXCJWUEMgSURcIixcbiAgICBrZXk6IFwidnBjLWlkXCIsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSB2cGNJbnN0YW5jZTogSUFXU1ZwYztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVnBjVjJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAocHJvcHMudnBjSWQpIHtcbiAgICAgIHRoaXMudnBjSW5zdGFuY2UgPSBBV1NWcGMuZnJvbUxvb2t1cCh0aGlzLCBcIlZwY1wiLCB7XG4gICAgICAgIHZwY0lkOiBwcm9wcy52cGNJZCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAocHJvcHMudnBjTmFtZSAmJiAhcHJvcHMudnBjQ2lkcikge1xuICAgICAgdGhpcy52cGNJbnN0YW5jZSA9IEFXU1ZwYy5mcm9tTG9va3VwKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgICAgdnBjTmFtZTogcHJvcHMudnBjTmFtZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAocHJvcHMudnBjQ2lkcikge1xuICAgICAgdGhpcy52cGNJbnN0YW5jZSA9IG5ldyBBV1NWcGModGhpcywgXCJWcGNcIiwge1xuICAgICAgICB2cGNOYW1lOiBwcm9wcy52cGNOYW1lID8/IFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZSArIFwiLXZwY1wiLFxuICAgICAgICBtYXhBenM6IHByb3BzLm1heEF6cyA/PyAyLFxuICAgICAgICBpcEFkZHJlc3NlczogcHJvcHMudnBjQ2lkcixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihcIkVpdGhlciB2cGNJZCwgdnBjTmFtZSBvciB2cGNDaWRyIGhhdmUgdG8gYmUgc2V0LlwiKTtcbiAgICB9XG5cbiAgICAvLyBFeHBvcnQgdGhlIFZQQyBJRCwgZXZlbiBpZiBpdCBjYW5ub3QgYmUgdXNlZCB2aWEgaW1wb3J0XG4gICAgVnBjVjIudnBjSWRQYXJhbWV0ZXIuZXhwb3J0KHRoaXMsIHRoaXMudnBjSW5zdGFuY2UudnBjSWQpO1xuICB9XG59XG4iXX0=
|
package/lib/platform/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from "./DefaultUserPoolClients";
|
|
|
8
8
|
export * from "./DocumentDB";
|
|
9
9
|
export * from "./EcsCluster";
|
|
10
10
|
export * from "./EfsFileSystem";
|
|
11
|
+
export * from "./HostedZone";
|
|
11
12
|
export * from "./PrivateDnsNamespace";
|
|
12
13
|
export * from "./ResourceServer";
|
|
13
14
|
export * from "./Vpc";
|
package/lib/platform/index.js
CHANGED
|
@@ -24,8 +24,9 @@ __exportStar(require("./DefaultUserPoolClients"), exports);
|
|
|
24
24
|
__exportStar(require("./DocumentDB"), exports);
|
|
25
25
|
__exportStar(require("./EcsCluster"), exports);
|
|
26
26
|
__exportStar(require("./EfsFileSystem"), exports);
|
|
27
|
+
__exportStar(require("./HostedZone"), exports);
|
|
27
28
|
__exportStar(require("./PrivateDnsNamespace"), exports);
|
|
28
29
|
__exportStar(require("./ResourceServer"), exports);
|
|
29
30
|
__exportStar(require("./Vpc"), exports);
|
|
30
31
|
__exportStar(require("./VpcV2"), exports);
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGxhdGZvcm0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QixzREFBb0M7QUFDcEMsNERBQTBDO0FBQzFDLDhEQUE0QztBQUM1QyxnREFBOEI7QUFDOUIsb0RBQWtDO0FBQ2xDLDJEQUF5QztBQUN6QywrQ0FBNkI7QUFDN0IsK0NBQTZCO0FBQzdCLGtEQUFnQztBQUNoQywrQ0FBNkI7QUFDN0Isd0RBQXNDO0FBQ3RDLG1EQUFpQztBQUNqQyx3Q0FBc0I7QUFDdEIsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQXBpR2F0ZXdheVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vQXBpR2F0ZXdheVZwY0xpbmtcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9CVENMb2dHcm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ29nbml0b1VzZXJQb29sXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9EZWZhdWx0VXNlclBvb2xDbGllbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Eb2N1bWVudERCXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9FY3NDbHVzdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9FZnNGaWxlU3lzdGVtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Ib3N0ZWRab25lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Qcml2YXRlRG5zTmFtZXNwYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SZXNvdXJjZVNlcnZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVnBjXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WcGNWMlwiO1xuIl19
|
|
@@ -64,5 +64,5 @@ class StackParameter {
|
|
|
64
64
|
}
|
|
65
65
|
exports.StackParameter = StackParameter;
|
|
66
66
|
_a = JSII_RTTI_SYMBOL_1;
|
|
67
|
-
StackParameter[_a] = { fqn: "@btc-embedded/cdk-extensions.StackParameter", version: "0.20.
|
|
67
|
+
StackParameter[_a] = { fqn: "@btc-embedded/cdk-extensions.StackParameter", version: "0.20.10" };
|
|
68
68
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tQYXJhbWV0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvU3RhY2tQYXJhbWV0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUQ7QUFFbkQscUNBQThDO0FBRTlDLFNBQVMsbUJBQW1CLENBQzFCLE9BQTJCLEVBQzNCLEdBQUcsUUFBa0I7SUFFckIsTUFBTSxpQkFBaUIsR0FBRyxRQUFRO1NBQy9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDM0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2QsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUEsa0JBQVMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUNiLFdBQVcsQ0FBQywrQkFBK0IsSUFBQSxrQkFBUyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQzVELENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQztJQUVMLElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUN2QyxPQUFPLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVyRSxPQUFPLFFBQVE7U0FDWixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQXNDRDs7O0dBR0c7QUFDSCxNQUFhLGNBQWM7SUFJekI7Ozs7T0FJRztJQUNILFlBQVksT0FBOEI7UUFDeEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLEdBQUcsSUFBQSxnQkFBTyxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFNBQWlCO1FBQzdCLE9BQU8sZ0JBQUUsQ0FBQyxXQUFXLENBQ25CLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEtBQWdCLEVBQUUsS0FBYTtRQUMzQyxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQ3BCLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFDekIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUNqQixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksR0FBRyxVQUFVLFFBQVEsQ0FBQztRQUU3RCxPQUFPLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ3JDLFVBQVU7WUFDVixLQUFLO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9DSCx3Q0FnREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIEZuLCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IGlzQXJyYXksIGtlYmFiQ2FzZSB9IGZyb20gXCIuL2NvbW1vblwiO1xuXG5mdW5jdGlvbiBjcmVhdGVLZXlJZGVudGlmaWVyKFxuICB2ZXJzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gIC4uLnByZWZpeGVzOiBzdHJpbmdbXVxuKSB7XG4gIGNvbnN0IHZhbGlkYXRlZFByZWZpeGVzID0gcHJlZml4ZXNcbiAgICAuZmlsdGVyKChwKSA9PiBwLmxlbmd0aCA+IDApXG4gICAgLm1hcCgocCwgaWR4KSA9PiB7XG4gICAgICBpZiAoaWR4ID4gMCAmJiBrZWJhYkNhc2UocCkgIT09IHApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBwcmVmaXggJyR7cH0nIG11c3QgYmUga2ViYWItY2FzZSAobGlrZSAnJHtrZWJhYkNhc2UocCl9JylgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHA7XG4gICAgfSk7XG5cbiAgaWYgKHZhbGlkYXRlZFByZWZpeGVzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGtleSBtdXN0IGNvbnNpc3Qgb2YgYXQgbGVhc3Qgb25lIG5vbi1lbXB0eSBwcmVmaXhgKTtcbiAgfVxuXG4gIC8vIHRoZSB2ZXJzaW9uIHN1ZmZpeCBzaG91bGQgYmUgZWl0aGVyIGF0IGZpcnN0IG9yIDJuZCBwcmVmaXggYW5kIG9ubHkgaWYgdiA+IDFcbiAgY29uc3Qgc2hvdWxkR2V0VmVyc2lvbiA9IChpZHg6IG51bWJlcikgPT5cbiAgICB2ZXJzaW9uICYmIHZlcnNpb24gPiAxICYmIGlkeCA9PT0gTWF0aC5taW4ocHJlZml4ZXMubGVuZ3RoLCAyKSAtIDE7XG5cbiAgcmV0dXJuIHByZWZpeGVzXG4gICAgLm1hcCgocCwgaWR4KSA9PiAoc2hvdWxkR2V0VmVyc2lvbihpZHgpID8gYCR7cH0tdiR7dmVyc2lvbn1gIDogcCkpXG4gICAgLmpvaW4oXCI6XCIpO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNyZWF0aW5nIGEgU3RhY2tQYXJhbWV0ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tQYXJhbWV0ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBwcmVmaXgoZXMpIGZvciB0aGUgc3RhY2sgcGFyYW1ldGVyLlxuICAgKlxuICAgKiBQcmVmaXhlcyBtdXN0IGJlIGtlYmFiLWNhc2UgKGxvd2VyY2FzZSBsZXR0ZXJzLCBudW1iZXJzLCBhbmQgaHlwaGVucykuIElmXG4gICAqIG11bHRpcGxlIHByZWZpeGVzIGFyZSBwcm92aWRlZCwgdGhleSB3aWxsIGJlIGpvaW5lZCB3aXRoIGNvbG9ucy5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBrZXkgZm9yIHRoZSBzdGFjayBwYXJhbWV0ZXIuXG4gICAqL1xuICByZWFkb25seSBrZXk6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSB1c2VkIGZvciB0aGUgZXhwb3J0IGNvbnN0cnVjdCBsb2dpY2FsIElELlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBmb3IgdGhlIHN0YWNrIHBhcmFtZXRlci5cbiAgICpcbiAgICogSWYgcHJvdmlkZWQgYW5kIGdyZWF0ZXIgdGhhbiAxLCB0aGUgdmVyc2lvbiB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZVxuICAgKiBwYXJhbWV0ZXIgbmFtZSBkdXJpbmcgZXhwb3J0IGFuZCBpbXBvcnQgYXMgYC12e3ZlcnNpb259YC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGZvciB0aGUgZXhwb3J0ZWQgcGFyYW1ldGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgbWVhbnMgdG8gZXhwb3J0IGFuZCBpbXBvcnQgc3RhY2sgcGFyYW1ldGVycy5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFja1BhcmFtZXRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogU3RhY2tQYXJhbWV0ZXJPcHRpb25zO1xuICBwcml2YXRlIHJlYWRvbmx5IHByZWZpeGVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29uc3RydWN0IGEgc3RhY2sgcGFyYW1ldGVyLlxuICAgKlxuICAgKiBUaGUgc3RhY2sgcGFyYW1ldGVyIGlzIGNoYXJhY3Rlcml6ZWQgYnkgYSBwcmVmaXgsIGEga2V5LCBhIGRlc2NyaXB0aXZlIG5hbWUsIGFuZCBhbiBvcHRpb25hbCB2ZXJzaW9uLlxuICAgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9uczogU3RhY2tQYXJhbWV0ZXJPcHRpb25zKSB7XG4gICAgY29uc3QgeyBwcmVmaXgsIGtleSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBwID0gaXNBcnJheShwcmVmaXgpID8gcHJlZml4IDogW3ByZWZpeF07XG4gICAgdGhpcy5wcmVmaXhlcyA9IFsuLi5wLCBrZXldO1xuXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgdGhlIHBhcmFtZXRlciBhcyB7c3RhY2tOYW1lfTp7cHJlZml4fS12e3ZlcnNpb259OntrZXl9LlxuICAgKlxuICAgKiAtdnt2ZXJzaW9ufSBpcyBvbmx5IGVtaXR0ZWQgd2hlbiB0aGUgdmVyc2lvbiBpcyBncmVhdGVyIHRoYW4gMS5cbiAgICovXG4gIHB1YmxpYyBpbXBvcnQoc3RhY2tOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gRm4uaW1wb3J0VmFsdWUoXG4gICAgICBjcmVhdGVLZXlJZGVudGlmaWVyKHRoaXMub3B0aW9ucy52ZXJzaW9uLCBzdGFja05hbWUsIC4uLnRoaXMucHJlZml4ZXMpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IHRoZSBwYXJhbWV0ZXIgYXMge3N0YWNrTmFtZX06e3ByZWZpeH0tdnt2ZXJzaW9ufTp7a2V5fS5cbiAgICpcbiAgICogLXZ7dmVyc2lvbn0gaXMgb25seSBlbWl0dGVkIHdoZW4gdGhlIHZlcnNpb24gaXMgZ3JlYXRlciB0aGFuIDEuXG4gICAqL1xuICBwdWJsaWMgZXhwb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBleHBvcnROYW1lID0gY3JlYXRlS2V5SWRlbnRpZmllcihcbiAgICAgIHRoaXMub3B0aW9ucy52ZXJzaW9uLFxuICAgICAgU3RhY2sub2Yoc2NvcGUpLnN0YWNrTmFtZSxcbiAgICAgIC4uLnRoaXMucHJlZml4ZXMsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvZ2ljYWxJZCA9IHRoaXMub3B0aW9ucy5uYW1lID8/IGAke2V4cG9ydE5hbWV9T3V0cHV0YDtcblxuICAgIHJldHVybiBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBsb2dpY2FsSWQsIHtcbiAgICAgIGV4cG9ydE5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLm9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|