Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@alekitto/cdk-constructs

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@alekitto/cdk-constructs - npm Package Compare versions

Comparing version 0.1.7-beta.2 to 0.1.7

12

lib/containers/base-service.d.ts

@@ -1,7 +0,7 @@

import { Construct } from "constructs";
import { aws_ec2 as ec2, aws_ecs as ecs } from "aws-cdk-lib";
import { EnvironmentCapacityType } from "./extensions/extension-interfaces";
import { ServiceDescription } from "./service-description";
import { IEnvironment } from "./environment";
import { ServiceProps } from "./service";
import { aws_ec2 as ec2, aws_ecs as ecs } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { EnvironmentCapacityType } from './extensions/extension-interfaces';
import { IEnvironment } from './environment';
import { ServiceDescription } from './service-description';
import { ServiceProps } from './service';
export declare abstract class BaseService extends Construct {

@@ -8,0 +8,0 @@ /**

@@ -36,2 +36,2 @@ "use strict";

exports.BaseService = BaseService;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYmFzZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF1QztBQVN2QyxNQUFzQixXQUFZLFNBQVEsc0JBQVM7SUF5Qy9DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBbUI7O1FBQ3pELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLFNBQUcsS0FBSyxDQUFDLFlBQVksbUNBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUVuRCxrRUFBa0U7UUFDbEUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzNFO1FBRUQsNkNBQTZDO1FBQzdDLEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRTtZQUN6RCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUU7U0FDSjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7SUFDM0MsQ0FBQztDQUNKO0FBekVELGtDQXlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBhd3NfZWMyIGFzIGVjMiwgYXdzX2VjcyBhcyBlY3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlIH0gZnJvbSBcIi4vZXh0ZW5zaW9ucy9leHRlbnNpb24taW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgU2VydmljZURlc2NyaXB0aW9uIH0gZnJvbSBcIi4vc2VydmljZS1kZXNjcmlwdGlvblwiO1xuaW1wb3J0IHsgSUVudmlyb25tZW50IH0gZnJvbSBcIi4vZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IFNlcnZpY2VQcm9wcyB9IGZyb20gXCIuL3NlcnZpY2VcIjtcbmltcG9ydCB7IFBvcnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMi9saWIvcG9ydFwiO1xuaW1wb3J0IHsgSUNvbm5lY3RhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzIvbGliL2Nvbm5lY3Rpb25zXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VydmljZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgVlBDIHdoZXJlIHRoaXMgc2VydmljZSBzaG91bGQgYmUgcGxhY2VkLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNsdXN0ZXIgdGhhdCBpcyBwcm92aWRpbmcgY2FwYWNpdHkgZm9yIHRoaXMgc2VydmljZS5cbiAgICAgKiBbZGlzYWJsZS1hd3NsaW50OnJlZi12aWEtaW50ZXJmYWNlXVxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2FwYWNpdHkgdHlwZSB0aGF0IHRoaXMgc2VydmljZSB3aWxsIHVzZS5cbiAgICAgKiBWYWxpZCB2YWx1ZXMgYXJlIEVDMiBvciBGQVJHQVRFLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjYXBhY2l0eVR5cGU6IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIFNlcnZpY2VEZXNjcmlwdGlvbiB1c2VkIHRvIGJ1aWxkIHRoaXMgc2VydmljZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZURlc2NyaXB0aW9uOiBTZXJ2aWNlRGVzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZW52aXJvbm1lbnQgd2hlcmUgdGhpcyBzZXJ2aWNlIHdhcyBsYXVuY2hlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IElFbnZpcm9ubWVudDtcblxuICAgIC8qKlxuICAgICAqIFRoZSBnZW5lcmF0ZWQgdGFzayBkZWZpbml0aW9uIGZvciB0aGlzIHNlcnZpY2UuIEl0IGlzIG9ubHlcbiAgICAgKiBnZW5lcmF0ZWQgYWZ0ZXIgLnByZXBhcmUoKSBoYXMgYmVlbiBleGVjdXRlZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdGFza0RlZmluaXRpb24hOiBlY3MuVGFza0RlZmluaXRpb247XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IHByb3BzLmVudmlyb25tZW50O1xuICAgICAgICB0aGlzLnZwYyA9IHByb3BzLmVudmlyb25tZW50LnZwYztcbiAgICAgICAgdGhpcy5jbHVzdGVyID0gcHJvcHMuZW52aXJvbm1lbnQuY2x1c3RlcjtcbiAgICAgICAgdGhpcy5jYXBhY2l0eVR5cGUgPSBwcm9wcy5jYXBhY2l0eVR5cGUgPz8gcHJvcHMuZW52aXJvbm1lbnQuY2FwYWNpdHlUeXBlO1xuICAgICAgICB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbiA9IHByb3BzLnNlcnZpY2VEZXNjcmlwdGlvbjtcblxuICAgICAgICAvLyBDaGVjayB0byBtYWtlIHN1cmUgdGhhdCB0aGUgdXNlciBoYXMgYWN0dWFsbHkgYWRkZWQgYSBjb250YWluZXJcbiAgICAgICAgY29uc3QgY29udGFpbmVyZXh0ZW5zaW9uID0gdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZ2V0KCdzZXJ2aWNlLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIGlmICghY29udGFpbmVyZXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNlcnZpY2UgJyR7dGhpcy5pZH0nIG11c3QgaGF2ZSBhIENvbnRhaW5lciBleHRlbnNpb25gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpcnN0IHNldCB0aGUgc2NvcGUgZm9yIGFsbCB0aGUgZXh0ZW5zaW9uc1xuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgaW4gdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLnByZWhvb2sodGhpcywgdGhpcy5zY29wZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSB0YXNrIG5ldHdvcmsgbW9kZSBmcm9tIGRlZmluaXRpb24uXG4gICAgICovXG4gICAgZ2V0IG5ldHdvcmtNb2RlKCk6IGVjcy5OZXR3b3JrTW9kZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tEZWZpbml0aW9uLm5ldHdvcmtNb2RlO1xuICAgIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYmFzZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQU12QyxNQUFzQixXQUFZLFNBQVEsc0JBQVM7SUF5Qy9DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBbUI7O1FBQ3pELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLFNBQUcsS0FBSyxDQUFDLFlBQVksbUNBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUVuRCxrRUFBa0U7UUFDbEUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzNFO1FBRUQsNkNBQTZDO1FBQzdDLEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRTtZQUN6RCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUU7U0FDSjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7SUFDM0MsQ0FBQztDQUNKO0FBekVELGtDQXlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF3c19lYzIgYXMgZWMyLCBhd3NfZWNzIGFzIGVjcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRDYXBhY2l0eVR5cGUgfSBmcm9tICcuL2V4dGVuc2lvbnMvZXh0ZW5zaW9uLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgSUVudmlyb25tZW50IH0gZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBTZXJ2aWNlRGVzY3JpcHRpb24gfSBmcm9tICcuL3NlcnZpY2UtZGVzY3JpcHRpb24nO1xuaW1wb3J0IHsgU2VydmljZVByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZXJ2aWNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VydmljZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBWUEMgd2hlcmUgdGhpcyBzZXJ2aWNlIHNob3VsZCBiZSBwbGFjZWQuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2x1c3RlciB0aGF0IGlzIHByb3ZpZGluZyBjYXBhY2l0eSBmb3IgdGhpcyBzZXJ2aWNlLlxuICAgICAqIFtkaXNhYmxlLWF3c2xpbnQ6cmVmLXZpYS1pbnRlcmZhY2VdXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXI6IGVjcy5JQ2x1c3RlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjYXBhY2l0eSB0eXBlIHRoYXQgdGhpcyBzZXJ2aWNlIHdpbGwgdXNlLlxuICAgICAqIFZhbGlkIHZhbHVlcyBhcmUgRUMyIG9yIEZBUkdBVEUuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNhcGFjaXR5VHlwZTogRW52aXJvbm1lbnRDYXBhY2l0eVR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgU2VydmljZURlc2NyaXB0aW9uIHVzZWQgdG8gYnVpbGQgdGhpcyBzZXJ2aWNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlRGVzY3JpcHRpb246IFNlcnZpY2VEZXNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBlbnZpcm9ubWVudCB3aGVyZSB0aGlzIHNlcnZpY2Ugd2FzIGxhdW5jaGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBlbnZpcm9ubWVudDogSUVudmlyb25tZW50O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGdlbmVyYXRlZCB0YXNrIGRlZmluaXRpb24gZm9yIHRoaXMgc2VydmljZS4gSXQgaXMgb25seVxuICAgICAqIGdlbmVyYXRlZCBhZnRlciAucHJlcGFyZSgpIGhhcyBiZWVuIGV4ZWN1dGVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCB0YXNrRGVmaW5pdGlvbiE6IGVjcy5UYXNrRGVmaW5pdGlvbjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzY29wZTogQ29uc3RydWN0O1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNlcnZpY2VQcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLmVudmlyb25tZW50ID0gcHJvcHMuZW52aXJvbm1lbnQ7XG4gICAgICAgIHRoaXMudnBjID0gcHJvcHMuZW52aXJvbm1lbnQudnBjO1xuICAgICAgICB0aGlzLmNsdXN0ZXIgPSBwcm9wcy5lbnZpcm9ubWVudC5jbHVzdGVyO1xuICAgICAgICB0aGlzLmNhcGFjaXR5VHlwZSA9IHByb3BzLmNhcGFjaXR5VHlwZSA/PyBwcm9wcy5lbnZpcm9ubWVudC5jYXBhY2l0eVR5cGU7XG4gICAgICAgIHRoaXMuc2VydmljZURlc2NyaXB0aW9uID0gcHJvcHMuc2VydmljZURlc2NyaXB0aW9uO1xuXG4gICAgICAgIC8vIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSB1c2VyIGhhcyBhY3R1YWxseSBhZGRlZCBhIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBjb250YWluZXJleHRlbnNpb24gPSB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5nZXQoJ3NlcnZpY2UtY29udGFpbmVyJyk7XG5cbiAgICAgICAgaWYgKCFjb250YWluZXJleHRlbnNpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgU2VydmljZSAnJHt0aGlzLmlkfScgbXVzdCBoYXZlIGEgQ29udGFpbmVyIGV4dGVuc2lvbmApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlyc3Qgc2V0IHRoZSBzY29wZSBmb3IgYWxsIHRoZSBleHRlbnNpb25zXG4gICAgICAgIGZvciAoY29uc3QgZXh0ZW5zaW9ucyBpbiB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10ucHJlaG9vayh0aGlzLCB0aGlzLnNjb3BlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHRhc2sgbmV0d29yayBtb2RlIGZyb20gZGVmaW5pdGlvbi5cbiAgICAgKi9cbiAgICBnZXQgbmV0d29ya01vZGUoKTogZWNzLk5ldHdvcmtNb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0RlZmluaXRpb24ubmV0d29ya01vZGU7XG4gICAgfVxufVxuIl19
import { Duration, aws_ecs as ecs } from 'aws-cdk-lib';
import { BaseService } from '../base-service';
import { Construct } from 'constructs';
import { Service } from '../service';
import { BaseService } from "../base-service";
/**

@@ -6,0 +6,0 @@ * The types of capacity that are supported. These capacity types may change the

@@ -161,2 +161,2 @@ "use strict";

exports.ContainerMutatingHook = ContainerMutatingHook;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9uLWludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbnNpb24taW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSx5REFBeUQ7QUFDekQsc0RBQXNEO0FBRXREOzs7R0FHRztBQUNILElBQVksdUJBWVg7QUFaRCxXQUFZLHVCQUF1QjtJQUMvQjs7O09BR0c7SUFDSCw4Q0FBbUIsQ0FBQTtJQUVuQjs7O09BR0c7SUFDSCxzQ0FBVyxDQUFBO0FBQ2YsQ0FBQyxFQVpXLHVCQUF1QixHQUF2QiwrQkFBdUIsS0FBdkIsK0JBQXVCLFFBWWxDO0FBOEZEOzs7O0dBSUc7QUFDSCxNQUFzQixnQkFBZ0I7SUEyQmxDLFlBQVksSUFBWTtRQUp4QixzREFBc0Q7UUFDdEQsMkNBQTJDO1FBQ2pDLDJCQUFzQixHQUE0QixFQUFFLENBQUM7UUFHM0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVEsS0FBSyxDQUFDLENBQUMsc0JBQXNCO0lBRTVDOzs7Ozs7OztPQVFHO0lBQ0ksd0JBQXdCLENBQUMsSUFBMkI7UUFDdkQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSx5QkFBeUIsQ0FBQyxLQUE4QjtRQUMzRCxPQUFPO1lBQ0gsR0FBRyxLQUFLO1NBQ2dCLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxPQUFPLENBQUMsTUFBbUIsRUFBRSxLQUFnQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsYUFBYTtJQUNOLGlCQUFpQixDQUFDLGNBQWtDO0lBQzNELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDRCQUE0QjtJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsS0FBbUI7UUFDekMsT0FBTztZQUNILEdBQUcsS0FBSztTQUNLLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGFBQWE7SUFDTixVQUFVLENBQUMsT0FBNEM7SUFDOUQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxhQUFhO0lBQ04sZ0JBQWdCLENBQUMsT0FBZ0I7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGFBQWE7SUFDTiwwQkFBMEIsQ0FBQyxPQUFnQjtJQUNsRCxDQUFDO0NBQ0o7QUFoSkQsNENBZ0pDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBc0IscUJBQXFCO0lBQ3ZDOzs7Ozs7O09BT0c7SUFDSSx5QkFBeUIsQ0FBQyxLQUFxQztRQUNsRSxPQUFPO1lBQ0gsR0FBRyxLQUFLO1NBQ3VCLENBQUM7SUFDeEMsQ0FBQztDQUNKO0FBZEQsc0RBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIER1cmF0aW9uLFxuICAgIGF3c19lY3MgYXMgZWNzXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tIFwiLi4vYmFzZS1zZXJ2aWNlXCI7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50ICovXG5cbi8qKlxuICogVGhlIHR5cGVzIG9mIGNhcGFjaXR5IHRoYXQgYXJlIHN1cHBvcnRlZC4gVGhlc2UgY2FwYWNpdHkgdHlwZXMgbWF5IGNoYW5nZSB0aGVcbiAqIGJlaGF2aW9yIG9mIGFuIGV4dGVuc2lvbi5cbiAqL1xuZXhwb3J0IGVudW0gRW52aXJvbm1lbnRDYXBhY2l0eVR5cGUge1xuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdGhhdCB0aGUgZW52aXJvbm1lbnQgc2hvdWxkIHVzZSBBV1MgRmFyZ2F0ZSBmb3JcbiAgICAgKiBob3N0aW5nIGNvbnRhaW5lcnMuXG4gICAgICovXG4gICAgRkFSR0FURSA9ICdmYXJnYXRlJyxcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdGhhdCB0aGUgZW52aXJvbm1lbnQgc2hvdWxkIGxhdW5jaCBjb250YWluZXJzIG9udG9cbiAgICAgKiBFQzIgaW5zdGFuY2VzLlxuICAgICAqL1xuICAgIEVDMiA9ICdlYzInXG59XG5cbi8qKlxuICogQSBzZXQgb2YgbXV0YWJsZSBzZXJ2aWNlIHByb3BzIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIGFzc2VtYmxlZCB1c2luZyBhXG4gKiBidWlsZGVyIHBhdHRlcm4uIFRoZXkgd2lsbCBldmVudHVhbGx5IHRvIGJlIHRyYW5zbGF0ZWQgaW50byBhblxuICogZWNzLkVjMlNlcnZpY2VQcm9wcyBvciBlY3MuRmFyZ2F0ZVNlcnZpY2VQcm9wcyBpbnRlcmZhY2UsIGRlcGVuZGluZyBvbiB0aGVcbiAqIGVudmlyb25tZW50J3MgY2FwYWNpdHkgdHlwZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlQnVpbGQge1xuICAgIC8qKlxuICAgICAqIFRoZSBjbHVzdGVyIGluIHdoaWNoIHRvIGxhdW5jaCB0aGUgc2VydmljZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXIsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGFzayBkZWZpbml0aW9uIHJlZ2lzdGVyZWQgdG8gdGhpcyBzZXJ2aWNlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uOiBlY3MuVGFza0RlZmluaXRpb24sXG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgdGFzaydzIGVsYXN0aWMgbmV0d29yayBpbnRlcmZhY2UgcmVjZWl2ZXMgYSBwdWJsaWMgSVBcbiAgICAgKiBhZGRyZXNzLlxuICAgICAqXG4gICAgICogSWYgdHJ1ZSwgZWFjaCB0YXNrIHdpbGwgcmVjZWl2ZSBhIHB1YmxpYyBJUCBhZGRyZXNzLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFzc2lnblB1YmxpY0lwPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGhvdyB0byByZWdpc3RlciB0aGUgc2VydmljZSBpbiBzZXJ2aWNlIGRpc2NvdmVyeS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm8gQ2xvdWQgTWFwIGNvbmZpZ3VyZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBjbG91ZE1hcE9wdGlvbnM/OiBlY3MuQ2xvdWRNYXBPcHRpb25zXG5cbiAgICAvKipcbiAgICAgKiBIb3cgbG9uZyB0aGUgaGVhbHRoY2hlY2sgY2FuIGZhaWwgZHVyaW5nIGluaXRpYWwgdGFzayBzdGFydHVwIGJlZm9yZVxuICAgICAqIHRoZSB0YXNrIGlzIGNvbnNpZGVyZWQgdW5oZWFsdGh5LiBUaGlzIGlzIHVzZWQgdG8gZ2l2ZSB0aGUgdGFzayBtb3JlXG4gICAgICogdGltZSB0byBzdGFydCBwYXNzaW5nIGhlYWx0aGNoZWNrcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm8gZ3JhY2UgcGVyaW9kXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZD86IER1cmF0aW9uLFxuXG4gICAgLyoqXG4gICAgICogSG93IG1hbnkgdGFza3MgdG8gcnVuLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSAxXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVzaXJlZENvdW50PzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogTWluaW11bSBoZWFsdGh5IHRhc2sgcGVyY2VudGFnZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gMTAwXG4gICAgICovXG4gICAgcmVhZG9ubHkgbWluSGVhbHRoeVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIHBlcmNlbnRhZ2Ugb2YgdGFza3MgdGhhdCBjYW4gYmUgbGF1bmNoZWQuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIDIwMFxuICAgICAqL1xuICAgIHJlYWRvbmx5IG1heEhlYWx0aHlQZXJjZW50PzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogKGV4cGVyaW1lbnRhbCkgV2hldGhlciB0byBlbmFibGUgdGhlIGRlcGxveW1lbnQgY2lyY3VpdCBicmVha2VyLlxuICAgICAqXG4gICAgICogSWYgdGhpcyBwcm9wZXJ0eSBpcyBkZWZpbmVkLCBjaXJjdWl0IGJyZWFrZXIgd2lsbCBiZSBpbXBsaWNpdGx5XG4gICAgICogZW5hYmxlZC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gZGlzYWJsZWRcbiAgICAgKiBAZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2lyY3VpdEJyZWFrZXI/OiBlY3MuRGVwbG95bWVudENpcmN1aXRCcmVha2VyO1xuXG4gICAgLyoqXG4gICAgICogKGV4cGVyaW1lbnRhbCkgQSBsaXN0IG9mIENhcGFjaXR5IFByb3ZpZGVyIHN0cmF0ZWdpZXMgdXNlZCB0byBwbGFjZSBhIHNlcnZpY2UuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgICAqIEBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llcz86IGVjcy5DYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3lbXTtcblxuICAgIC8qKlxuICAgICAqIChleHBlcmltZW50YWwpIFdoZXRoZXIgdG8gZW5hYmxlIHRoZSBhYmlsaXR5IHRvIGV4ZWN1dGUgaW50byBhIGNvbnRhaW5lci5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAgICogQGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGVuYWJsZUV4ZWN1dGVDb21tYW5kPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgc2hhcGUgb2YgYSBzZXJ2aWNlIGV4dGVuc2lvbi4gVGhpcyBhYnN0cmFjdCBjbGFzcyBpcyBpbXBsZW1lbnRlZFxuICogYnkgb3RoZXIgZXh0ZW5zaW9ucyB0aGF0IGV4dGVuZCB0aGUgaG9va3MgdG8gaW1wbGVtZW50IGFueSBjdXN0b21cbiAqIGxvZ2ljIHRoYXQgdGhleSB3YW50IHRvIHJ1biBkdXJpbmcgZWFjaCBzdGVwIG9mIHByZXBhcmluZyB0aGUgc2VydmljZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNlcnZpY2VFeHRlbnNpb24ge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBleHRlbnNpb24uXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250YWluZXIgZm9yIHRoaXMgZXh0ZW5zaW9uLiBNb3N0IGV4dGVuc2lvbnMgaGF2ZSBhIGNvbnRhaW5lciwgYnV0IG5vdFxuICAgICAqIGV2ZXJ5IGV4dGVuc2lvbiBpcyByZXF1aXJlZCB0byBoYXZlIGEgY29udGFpbmVyLiBTb21lIGV4dGVuc2lvbnMgbWF5IGp1c3RcbiAgICAgKiBtb2RpZnkgdGhlIHByb3BlcnRpZXMgb2YgdGhlIHNlcnZpY2UsIG9yIGNyZWF0ZSBleHRlcm5hbCByZXNvdXJjZXNcbiAgICAgKiBjb25uZWN0ZWQgdG8gdGhlIHNlcnZpY2UuXG4gICAgICovXG4gICAgcHVibGljIGNvbnRhaW5lcj86IGVjcy5Db250YWluZXJEZWZpbml0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNlcnZpY2Ugd2hpY2ggdGhpcyBleHRlbnNpb24gaXMgYmVpbmcgYWRkZWQgdG8uXG4gICAgICogSW5pdGlhbGx5LCBleHRlbnNpb25zIGFyZSBjb2xsZWN0ZWQgaW50byBhIFNlcnZpY2VEZXNjcmlwdGlvbiwgYnV0IG5vIHNlcnZpY2VcbiAgICAgKiBleGlzdHMgeWV0LiBMYXRlciwgd2hlbiB0aGUgU2VydmljZURlc2NyaXB0aW9uIGlzIHVzZWQgdG8gY3JlYXRlIGEgc2VydmljZSxcbiAgICAgKiB0aGUgZXh0ZW5zaW9uIGlzIHRvbGQgd2hhdCBTZXJ2aWNlIGl0IGlzIG5vdyB3b3JraW5nIG9uLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwYXJlbnRTZXJ2aWNlITogQmFzZVNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIHNjb3BlITogQ29uc3RydWN0O1xuXG4gICAgLy8gQSBsaXN0IG9mIG90aGVyIGV4dGVuc2lvbnMgd2hpY2ggd2FudCB0byBtdXRhdGUgdGhlXG4gICAgLy8gQ29udGFpbmVyIGRlZmluaXRpb24gZm9yIHRoaXMgZXh0ZW5zaW9uLlxuICAgIHByb3RlY3RlZCBjb250YWluZXJNdXRhdGluZ0hvb2tzOiBDb250YWluZXJNdXRhdGluZ0hvb2tbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBob29rIHRoYXQgYWxsb3dzIHRoZSBleHRlbnNpb24gdG8gYWRkIGhvb2tzIHRvIG90aGVyXG4gICAgICogZXh0ZW5zaW9ucyB0aGF0IGFyZSByZWdpc3RlcmVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRIb29rcygpIHsgfSAvLyBUc2xpbnQ6ZGlzYWJsZS1saW5lXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGhvb2sgYWxsb3dzIGFub3RoZXIgc2VydmljZSBleHRlbnNpb24gdG8gcmVnaXN0ZXIgYSBtdXRhdGluZyBob29rIGZvclxuICAgICAqIGNoYW5naW5nIHRoZSBwcmltYXJ5IGNvbnRhaW5lciBvZiB0aGlzIGV4dGVuc2lvbi4gVGhpcyBpcyBwcmltYXJpbHkgdXNlZFxuICAgICAqIGZvciB0aGUgYXBwbGljYXRpb24gZXh0ZW5zaW9uLiBGb3IgZXhhbXBsZSwgdGhlIEZpcmVsZW5zIGV4dGVuc2lvbiB3YW50cyB0b1xuICAgICAqIGJlIGFibGUgdG8gbW9kaWZ5IHRoZSBzZXR0aW5ncyBvZiB0aGUgYXBwbGljYXRpb24gY29udGFpbmVyIHRvXG4gICAgICogcm91dGUgbG9ncyB0aHJvdWdoIEZpcmVsZW5zLlxuICAgICAqXG4gICAgICogQHBhcmFtIGhvb2tcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkQ29udGFpbmVyTXV0YXRpbmdIb29rKGhvb2s6IENvbnRhaW5lck11dGF0aW5nSG9vaykge1xuICAgICAgICB0aGlzLmNvbnRhaW5lck11dGF0aW5nSG9va3MucHVzaChob29rKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGEgaG9vayB3aGljaCBhbGxvd3MgZXh0ZW5zaW9ucyB0byBtb2RpZnkgdGhlIHNldHRpbmdzIG9mIHRoZVxuICAgICAqIHRhc2sgZGVmaW5pdGlvbiBwcmlvciB0byBpdCBiZWluZyBjcmVhdGVkLiBGb3IgZXhhbXBsZSwgdGhlIEFwcCBNZXNoXG4gICAgICogZXh0ZW5zaW9uIG5lZWRzIHRvIGNvbmZpZ3VyZSBhbiBFbnZveSBwcm94eSBpbiB0aGUgdGFzayBkZWZpbml0aW9uLFxuICAgICAqIG9yIHRoZSBBcHBsaWNhdGlvbiBleHRlbnNpb24gd2FudHMgdG8gc2V0IHRoZSBvdmVyYWxsIHJlc291cmNlIGZvclxuICAgICAqIHRoZSB0YXNrLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BzIC0gUHJvcGVydGllcyBvZiB0aGUgdGFzayBkZWZpbml0aW9uIHRvIGJlIGNyZWF0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgbW9kaWZ5VGFza0RlZmluaXRpb25Qcm9wcyhwcm9wczogZWNzLlRhc2tEZWZpbml0aW9uUHJvcHMpOiBlY3MuVGFza0RlZmluaXRpb25Qcm9wcyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgfSBhcyBlY3MuVGFza0RlZmluaXRpb25Qcm9wcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIGhvb2sgdGhhdCBpcyBjYWxsZWQgZm9yIGVhY2ggZXh0ZW5zaW9uIGFoZWFkIG9mIHRpbWUgdG9cbiAgICAgKiBhbGxvdyBmb3IgYW55IGluaXRpYWwgc2V0dXAsIHN1Y2ggYXMgY3JlYXRpbmcgcmVzb3VyY2VzIGluXG4gICAgICogYWR2YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJlbnQgLSBUaGUgcGFyZW50IHNlcnZpY2Ugd2hpY2ggdGhpcyBleHRlbnNpb24gaGFzIGJlZW4gYWRkZWQgdG9cbiAgICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgdGhhdCB0aGlzIGV4dGVuc2lvbiBzaG91bGQgY3JlYXRlIHJlc291cmNlcyBpblxuICAgICAqL1xuICAgIHB1YmxpYyBwcmVob29rKHBhcmVudDogQmFzZVNlcnZpY2UsIHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgdGhpcy5wYXJlbnRTZXJ2aWNlID0gcGFyZW50O1xuICAgICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT25jZSB0aGUgdGFzayBkZWZpbml0aW9uIGlzIGNyZWF0ZWQsIHRoaXMgaG9vayBpcyBjYWxsZWQgZm9yIGVhY2hcbiAgICAgKiBleHRlbnNpb24gdG8gZ2l2ZSBpdCBhIGNoYW5jZSB0byBhZGQgY29udGFpbmVycyB0byB0aGUgdGFzayBkZWZpbml0aW9uLFxuICAgICAqIGNoYW5nZSB0aGUgdGFzayBkZWZpbml0aW9uJ3Mgcm9sZSB0byBhZGQgcGVybWlzc2lvbnMsIGV0Yy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXNrRGVmaW5pdGlvbiAtIFRoZSBjcmVhdGVkIHRhc2sgZGVmaW5pdGlvbiB0byBhZGQgY29udGFpbmVycyB0b1xuICAgICAqL1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwdWJsaWMgdXNlVGFza0RlZmluaXRpb24odGFza0RlZmluaXRpb246IGVjcy5UYXNrRGVmaW5pdGlvbikge1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uY2UgYWxsIGNvbnRhaW5lcnMgYXJlIGFkZGVkIHRvIHRoZSB0YXNrIGRlZmluaXRpb24sIHRoaXMgaG9vayBpc1xuICAgICAqIGNhbGxlZCBmb3IgZWFjaCBleHRlbnNpb24gdG8gZ2l2ZSBpdCBhIGNoYW5jZSB0byByZXNvbHZlIGl0cyBkZXBlbmRlbmN5XG4gICAgICogZ3JhcGggc28gdGhhdCBpdHMgY29udGFpbmVyIHN0YXJ0cyBpbiB0aGUgcmlnaHQgb3JkZXIgYmFzZWQgb24gdGhlXG4gICAgICogb3RoZXIgZXh0ZW5zaW9ucyB0aGF0IHdlcmUgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVzb2x2ZUNvbnRhaW5lckRlcGVuZGVuY2llcygpIHtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmlvciB0byBsYXVuY2hpbmcgdGhlIHRhc2sgZGVmaW5pdGlvbiBhcyBhIHNlcnZpY2UsIHRoaXMgaG9va1xuICAgICAqIGlzIGNhbGxlZCBvbiBlYWNoIGV4dGVuc2lvbiB0byBnaXZlIGl0IGEgY2hhbmNlIHRvIG11dGF0ZSB0aGUgcHJvcGVydGllc1xuICAgICAqIG9mIHRoZSBzZXJ2aWNlIHRvIGJlIGNyZWF0ZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgc2VydmljZSBwcm9wZXJ0aWVzIHRvIG11dGF0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbW9kaWZ5U2VydmljZVByb3BzKHByb3BzOiBTZXJ2aWNlQnVpbGQpOiBTZXJ2aWNlQnVpbGQge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIH0gYXMgU2VydmljZUJ1aWxkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZW4gdGhpcyBob29rIGlzIGltcGxlbWVudGVkIGJ5IGV4dGVuc2lvbiwgaXQgYWxsb3dzIHRoZSBleHRlbnNpb25cbiAgICAgKiB0byB1c2UgdGhlIHNlcnZpY2Ugd2hpY2ggaGFzIGJlZW4gY3JlYXRlZC4gSXQgaXMgZ2VuZXJhbGx5IHVzZWQgdG9cbiAgICAgKiBjcmVhdGUgYW55IGZpbmFsIHJlc291cmNlcyB3aGljaCBtaWdodCBkZXBlbmQgb24gdGhlIHNlcnZpY2UgaXRzZWxmLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNlcnZpY2UgLSBUaGUgZ2VuZXJhdGVkIHNlcnZpY2UuXG4gICAgICovXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHB1YmxpYyB1c2VTZXJ2aWNlKHNlcnZpY2U6IGVjcy5FYzJTZXJ2aWNlIHwgZWNzLkZhcmdhdGVTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBob29rIGFsbG93cyB0aGUgZXh0ZW5zaW9uIHRvIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24gdG9cbiAgICAgKiBleHRlbnNpb25zIGZyb20gYW5vdGhlciBzZXJ2aWNlLiBVc3VhbGx5IHVzZWQgZm9yIHRoaW5ncyBsaWtlXG4gICAgICogYWxsb3dpbmcgb25lIHNlcnZpY2UgdG8gdGFsayB0byB0aGUgbG9hZCBiYWxhbmNlciBvciBzZXJ2aWNlIG1lc2hcbiAgICAgKiBwcm94eSBmb3IgYW5vdGhlciBzZXJ2aWNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNlcnZpY2UgLSBUaGUgb3RoZXIgc2VydmljZSB0byBjb25uZWN0IHRvLlxuICAgICAqL1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwdWJsaWMgY29ubmVjdFRvU2VydmljZShzZXJ2aWNlOiBTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT25jZSB0aGUgc2VydmljZSBoYXMgYmVlbiBjcmVhdGVkIGFuZCBjb25uZWN0ZWQsIHRoaXMgaG9vayBpc1xuICAgICAqIGNhbGxlZCBmb3IgZWFjaCBleHRlbnNpb24gdG8gZ2l2ZSBpdCBhIGNoYW5jZSB0byBzZXQgdGhlIHJlbWFpbmluZyBkZXRhaWxzXG4gICAgICogc3VjaCBhcyBzZWN1cml0eSBncm91cHMgcnVsZXMsIGV0Y1xuICAgICAqXG4gICAgICogQHBhcmFtIHNlcnZpY2UgLSBUaGUgc2VydmljZS5cbiAgICAgKi9cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHVibGljIHJlc29sdmVTZXJ2aWNlRGVwZW5kZW5jaWVzKHNlcnZpY2U6IFNlcnZpY2UpIHtcbiAgICB9XG59XG5cbi8qKlxuICogVGhpcyBpcyBhbiBhYnN0cmFjdCBjbGFzcyB3cmFwcGVyIGZvciBhIG11dGF0aW5nIGhvb2suIEl0IGlzXG4gKiBleHRlbmRlZCBieSBhbnkgZXh0ZW5zaW9uIHdoaWNoIHdhbnRzIHRvIG11dGF0ZSBvdGhlciBleHRlbnNpb24ncyBjb250YWluZXJzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29udGFpbmVyTXV0YXRpbmdIb29rIHtcbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGEgaG9vayBmb3IgbW9kaWZ5aW5nIHRoZSBjb250YWluZXIgZGVmaW5pdGlvbiBvZiBhbnkgdXBzdHJlYW1cbiAgICAgKiBjb250YWluZXJzLiBUaGlzIGlzIHByaW1hcmlseSB1c2VkIGZvciB0aGUgbWFpbiBhcHBsaWNhdGlvbiBjb250YWluZXIuXG4gICAgICogRm9yIGV4YW1wbGUsIHRoZSBGaXJlbGVucyBleHRlbnNpb24gd2FudHMgdG8gYmUgYWJsZSB0byBtb2RpZnkgdGhlIGxvZ2dpbmdcbiAgICAgKiBzZXR0aW5ncyBvZiB0aGUgYXBwbGljYXRpb24gY29udGFpbmVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BzIC0gVGhlIGNvbnRhaW5lciBkZWZpbml0aW9uIHRvIG11dGF0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbXV0YXRlQ29udGFpbmVyRGVmaW5pdGlvbihwcm9wczogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zKTogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnByb3BzLFxuICAgICAgICB9IGFzIGVjcy5Db250YWluZXJEZWZpbml0aW9uT3B0aW9ucztcbiAgICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9uLWludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbnNpb24taW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSx5REFBeUQ7QUFDekQsc0RBQXNEO0FBRXREOzs7R0FHRztBQUNILElBQVksdUJBWVg7QUFaRCxXQUFZLHVCQUF1QjtJQUMvQjs7O09BR0c7SUFDSCw4Q0FBbUIsQ0FBQTtJQUVuQjs7O09BR0c7SUFDSCxzQ0FBVyxDQUFBO0FBQ2YsQ0FBQyxFQVpXLHVCQUF1QixHQUF2QiwrQkFBdUIsS0FBdkIsK0JBQXVCLFFBWWxDO0FBOEZEOzs7O0dBSUc7QUFDSCxNQUFzQixnQkFBZ0I7SUEyQmxDLFlBQVksSUFBWTtRQUp4QixzREFBc0Q7UUFDdEQsMkNBQTJDO1FBQ2pDLDJCQUFzQixHQUE0QixFQUFFLENBQUM7UUFHM0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVEsS0FBSyxDQUFDLENBQUMsc0JBQXNCO0lBRTVDOzs7Ozs7OztPQVFHO0lBQ0ksd0JBQXdCLENBQUMsSUFBMkI7UUFDdkQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSx5QkFBeUIsQ0FBQyxLQUE4QjtRQUMzRCxPQUFPO1lBQ0gsR0FBRyxLQUFLO1NBQ2dCLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxPQUFPLENBQUMsTUFBbUIsRUFBRSxLQUFnQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsYUFBYTtJQUNOLGlCQUFpQixDQUFDLGNBQWtDO0lBQzNELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDRCQUE0QjtJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsS0FBbUI7UUFDekMsT0FBTztZQUNILEdBQUcsS0FBSztTQUNLLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGFBQWE7SUFDTixVQUFVLENBQUMsT0FBNEM7SUFDOUQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxhQUFhO0lBQ04sZ0JBQWdCLENBQUMsT0FBZ0I7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGFBQWE7SUFDTiwwQkFBMEIsQ0FBQyxPQUFnQjtJQUNsRCxDQUFDO0NBQ0o7QUFoSkQsNENBZ0pDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBc0IscUJBQXFCO0lBQ3ZDOzs7Ozs7O09BT0c7SUFDSSx5QkFBeUIsQ0FBQyxLQUFxQztRQUNsRSxPQUFPO1lBQ0gsR0FBRyxLQUFLO1NBQ3VCLENBQUM7SUFDeEMsQ0FBQztDQUNKO0FBZEQsc0RBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIER1cmF0aW9uLFxuICAgIGF3c19lY3MgYXMgZWNzXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudCAqL1xuXG4vKipcbiAqIFRoZSB0eXBlcyBvZiBjYXBhY2l0eSB0aGF0IGFyZSBzdXBwb3J0ZWQuIFRoZXNlIGNhcGFjaXR5IHR5cGVzIG1heSBjaGFuZ2UgdGhlXG4gKiBiZWhhdmlvciBvZiBhbiBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBlbnVtIEVudmlyb25tZW50Q2FwYWNpdHlUeXBlIHtcbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoYXQgdGhlIGVudmlyb25tZW50IHNob3VsZCB1c2UgQVdTIEZhcmdhdGUgZm9yXG4gICAgICogaG9zdGluZyBjb250YWluZXJzLlxuICAgICAqL1xuICAgIEZBUkdBVEUgPSAnZmFyZ2F0ZScsXG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoYXQgdGhlIGVudmlyb25tZW50IHNob3VsZCBsYXVuY2ggY29udGFpbmVycyBvbnRvXG4gICAgICogRUMyIGluc3RhbmNlcy5cbiAgICAgKi9cbiAgICBFQzIgPSAnZWMyJ1xufVxuXG4vKipcbiAqIEEgc2V0IG9mIG11dGFibGUgc2VydmljZSBwcm9wcyBpbiB0aGUgcHJvY2VzcyBvZiBiZWluZyBhc3NlbWJsZWQgdXNpbmcgYVxuICogYnVpbGRlciBwYXR0ZXJuLiBUaGV5IHdpbGwgZXZlbnR1YWxseSB0byBiZSB0cmFuc2xhdGVkIGludG8gYW5cbiAqIGVjcy5FYzJTZXJ2aWNlUHJvcHMgb3IgZWNzLkZhcmdhdGVTZXJ2aWNlUHJvcHMgaW50ZXJmYWNlLCBkZXBlbmRpbmcgb24gdGhlXG4gKiBlbnZpcm9ubWVudCdzIGNhcGFjaXR5IHR5cGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUJ1aWxkIHtcbiAgICAvKipcbiAgICAgKiBUaGUgY2x1c3RlciBpbiB3aGljaCB0byBsYXVuY2ggdGhlIHNlcnZpY2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2x1c3RlcjogZWNzLklDbHVzdGVyLFxuXG4gICAgLyoqXG4gICAgICogVGhlIHRhc2sgZGVmaW5pdGlvbiByZWdpc3RlcmVkIHRvIHRoaXMgc2VydmljZS5cbiAgICAgKi9cbiAgICByZWFkb25seSB0YXNrRGVmaW5pdGlvbjogZWNzLlRhc2tEZWZpbml0aW9uLFxuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHRhc2sncyBlbGFzdGljIG5ldHdvcmsgaW50ZXJmYWNlIHJlY2VpdmVzIGEgcHVibGljIElQXG4gICAgICogYWRkcmVzcy5cbiAgICAgKlxuICAgICAqIElmIHRydWUsIGVhY2ggdGFzayB3aWxsIHJlY2VpdmUgYSBwdWJsaWMgSVAgYWRkcmVzcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICAgKi9cbiAgICByZWFkb25seSBhc3NpZ25QdWJsaWNJcD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBob3cgdG8gcmVnaXN0ZXIgdGhlIHNlcnZpY2UgaW4gc2VydmljZSBkaXNjb3ZlcnkuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIE5vIENsb3VkIE1hcCBjb25maWd1cmVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2xvdWRNYXBPcHRpb25zPzogZWNzLkNsb3VkTWFwT3B0aW9uc1xuXG4gICAgLyoqXG4gICAgICogSG93IGxvbmcgdGhlIGhlYWx0aGNoZWNrIGNhbiBmYWlsIGR1cmluZyBpbml0aWFsIHRhc2sgc3RhcnR1cCBiZWZvcmVcbiAgICAgKiB0aGUgdGFzayBpcyBjb25zaWRlcmVkIHVuaGVhbHRoeS4gVGhpcyBpcyB1c2VkIHRvIGdpdmUgdGhlIHRhc2sgbW9yZVxuICAgICAqIHRpbWUgdG8gc3RhcnQgcGFzc2luZyBoZWFsdGhjaGVja3MuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIE5vIGdyYWNlIHBlcmlvZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q/OiBEdXJhdGlvbixcblxuICAgIC8qKlxuICAgICAqIEhvdyBtYW55IHRhc2tzIHRvIHJ1bi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gMVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlc2lyZWRDb3VudD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIE1pbmltdW0gaGVhbHRoeSB0YXNrIHBlcmNlbnRhZ2UuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIDEwMFxuICAgICAqL1xuICAgIHJlYWRvbmx5IG1pbkhlYWx0aHlQZXJjZW50PzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogTWF4aW11bSBwZXJjZW50YWdlIG9mIHRhc2tzIHRoYXQgY2FuIGJlIGxhdW5jaGVkLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSAyMDBcbiAgICAgKi9cbiAgICByZWFkb25seSBtYXhIZWFsdGh5UGVyY2VudD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIChleHBlcmltZW50YWwpIFdoZXRoZXIgdG8gZW5hYmxlIHRoZSBkZXBsb3ltZW50IGNpcmN1aXQgYnJlYWtlci5cbiAgICAgKlxuICAgICAqIElmIHRoaXMgcHJvcGVydHkgaXMgZGVmaW5lZCwgY2lyY3VpdCBicmVha2VyIHdpbGwgYmUgaW1wbGljaXRseVxuICAgICAqIGVuYWJsZWQuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIGRpc2FibGVkXG4gICAgICogQGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNpcmN1aXRCcmVha2VyPzogZWNzLkRlcGxveW1lbnRDaXJjdWl0QnJlYWtlcjtcblxuICAgIC8qKlxuICAgICAqIChleHBlcmltZW50YWwpIEEgbGlzdCBvZiBDYXBhY2l0eSBQcm92aWRlciBzdHJhdGVnaWVzIHVzZWQgdG8gcGxhY2UgYSBzZXJ2aWNlLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICAgKiBAZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXM/OiBlY3MuQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5W107XG5cbiAgICAvKipcbiAgICAgKiAoZXhwZXJpbWVudGFsKSBXaGV0aGVyIHRvIGVuYWJsZSB0aGUgYWJpbGl0eSB0byBleGVjdXRlIGludG8gYSBjb250YWluZXIuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgICAqIEBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBlbmFibGVFeGVjdXRlQ29tbWFuZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIHNoYXBlIG9mIGEgc2VydmljZSBleHRlbnNpb24uIFRoaXMgYWJzdHJhY3QgY2xhc3MgaXMgaW1wbGVtZW50ZWRcbiAqIGJ5IG90aGVyIGV4dGVuc2lvbnMgdGhhdCBleHRlbmQgdGhlIGhvb2tzIHRvIGltcGxlbWVudCBhbnkgY3VzdG9tXG4gKiBsb2dpYyB0aGF0IHRoZXkgd2FudCB0byBydW4gZHVyaW5nIGVhY2ggc3RlcCBvZiBwcmVwYXJpbmcgdGhlIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZXJ2aWNlRXh0ZW5zaW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgZXh0ZW5zaW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29udGFpbmVyIGZvciB0aGlzIGV4dGVuc2lvbi4gTW9zdCBleHRlbnNpb25zIGhhdmUgYSBjb250YWluZXIsIGJ1dCBub3RcbiAgICAgKiBldmVyeSBleHRlbnNpb24gaXMgcmVxdWlyZWQgdG8gaGF2ZSBhIGNvbnRhaW5lci4gU29tZSBleHRlbnNpb25zIG1heSBqdXN0XG4gICAgICogbW9kaWZ5IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZXJ2aWNlLCBvciBjcmVhdGUgZXh0ZXJuYWwgcmVzb3VyY2VzXG4gICAgICogY29ubmVjdGVkIHRvIHRoZSBzZXJ2aWNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb250YWluZXI/OiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzZXJ2aWNlIHdoaWNoIHRoaXMgZXh0ZW5zaW9uIGlzIGJlaW5nIGFkZGVkIHRvLlxuICAgICAqIEluaXRpYWxseSwgZXh0ZW5zaW9ucyBhcmUgY29sbGVjdGVkIGludG8gYSBTZXJ2aWNlRGVzY3JpcHRpb24sIGJ1dCBubyBzZXJ2aWNlXG4gICAgICogZXhpc3RzIHlldC4gTGF0ZXIsIHdoZW4gdGhlIFNlcnZpY2VEZXNjcmlwdGlvbiBpcyB1c2VkIHRvIGNyZWF0ZSBhIHNlcnZpY2UsXG4gICAgICogdGhlIGV4dGVuc2lvbiBpcyB0b2xkIHdoYXQgU2VydmljZSBpdCBpcyBub3cgd29ya2luZyBvbi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGFyZW50U2VydmljZSE6IEJhc2VTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBzY29wZSE6IENvbnN0cnVjdDtcblxuICAgIC8vIEEgbGlzdCBvZiBvdGhlciBleHRlbnNpb25zIHdoaWNoIHdhbnQgdG8gbXV0YXRlIHRoZVxuICAgIC8vIENvbnRhaW5lciBkZWZpbml0aW9uIGZvciB0aGlzIGV4dGVuc2lvbi5cbiAgICBwcm90ZWN0ZWQgY29udGFpbmVyTXV0YXRpbmdIb29rczogQ29udGFpbmVyTXV0YXRpbmdIb29rW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgaG9vayB0aGF0IGFsbG93cyB0aGUgZXh0ZW5zaW9uIHRvIGFkZCBob29rcyB0byBvdGhlclxuICAgICAqIGV4dGVuc2lvbnMgdGhhdCBhcmUgcmVnaXN0ZXJlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkSG9va3MoKSB7IH0gLy8gVHNsaW50OmRpc2FibGUtbGluZVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBob29rIGFsbG93cyBhbm90aGVyIHNlcnZpY2UgZXh0ZW5zaW9uIHRvIHJlZ2lzdGVyIGEgbXV0YXRpbmcgaG9vayBmb3JcbiAgICAgKiBjaGFuZ2luZyB0aGUgcHJpbWFyeSBjb250YWluZXIgb2YgdGhpcyBleHRlbnNpb24uIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWRcbiAgICAgKiBmb3IgdGhlIGFwcGxpY2F0aW9uIGV4dGVuc2lvbi4gRm9yIGV4YW1wbGUsIHRoZSBGaXJlbGVucyBleHRlbnNpb24gd2FudHMgdG9cbiAgICAgKiBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgc2V0dGluZ3Mgb2YgdGhlIGFwcGxpY2F0aW9uIGNvbnRhaW5lciB0b1xuICAgICAqIHJvdXRlIGxvZ3MgdGhyb3VnaCBGaXJlbGVucy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBob29rXG4gICAgICovXG4gICAgcHVibGljIGFkZENvbnRhaW5lck11dGF0aW5nSG9vayhob29rOiBDb250YWluZXJNdXRhdGluZ0hvb2spIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJNdXRhdGluZ0hvb2tzLnB1c2goaG9vayk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhIGhvb2sgd2hpY2ggYWxsb3dzIGV4dGVuc2lvbnMgdG8gbW9kaWZ5IHRoZSBzZXR0aW5ncyBvZiB0aGVcbiAgICAgKiB0YXNrIGRlZmluaXRpb24gcHJpb3IgdG8gaXQgYmVpbmcgY3JlYXRlZC4gRm9yIGV4YW1wbGUsIHRoZSBBcHAgTWVzaFxuICAgICAqIGV4dGVuc2lvbiBuZWVkcyB0byBjb25maWd1cmUgYW4gRW52b3kgcHJveHkgaW4gdGhlIHRhc2sgZGVmaW5pdGlvbixcbiAgICAgKiBvciB0aGUgQXBwbGljYXRpb24gZXh0ZW5zaW9uIHdhbnRzIHRvIHNldCB0aGUgb3ZlcmFsbCByZXNvdXJjZSBmb3JcbiAgICAgKiB0aGUgdGFzay5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wcyAtIFByb3BlcnRpZXMgb2YgdGhlIHRhc2sgZGVmaW5pdGlvbiB0byBiZSBjcmVhdGVkXG4gICAgICovXG4gICAgcHVibGljIG1vZGlmeVRhc2tEZWZpbml0aW9uUHJvcHMocHJvcHM6IGVjcy5UYXNrRGVmaW5pdGlvblByb3BzKTogZWNzLlRhc2tEZWZpbml0aW9uUHJvcHMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIH0gYXMgZWNzLlRhc2tEZWZpbml0aW9uUHJvcHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBob29rIHRoYXQgaXMgY2FsbGVkIGZvciBlYWNoIGV4dGVuc2lvbiBhaGVhZCBvZiB0aW1lIHRvXG4gICAgICogYWxsb3cgZm9yIGFueSBpbml0aWFsIHNldHVwLCBzdWNoIGFzIGNyZWF0aW5nIHJlc291cmNlcyBpblxuICAgICAqIGFkdmFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFyZW50IC0gVGhlIHBhcmVudCBzZXJ2aWNlIHdoaWNoIHRoaXMgZXh0ZW5zaW9uIGhhcyBiZWVuIGFkZGVkIHRvXG4gICAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIHRoYXQgdGhpcyBleHRlbnNpb24gc2hvdWxkIGNyZWF0ZSByZXNvdXJjZXMgaW5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHJlaG9vayhwYXJlbnQ6IEJhc2VTZXJ2aWNlLCBzY29wZTogQ29uc3RydWN0KSB7XG4gICAgICAgIHRoaXMucGFyZW50U2VydmljZSA9IHBhcmVudDtcbiAgICAgICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uY2UgdGhlIHRhc2sgZGVmaW5pdGlvbiBpcyBjcmVhdGVkLCB0aGlzIGhvb2sgaXMgY2FsbGVkIGZvciBlYWNoXG4gICAgICogZXh0ZW5zaW9uIHRvIGdpdmUgaXQgYSBjaGFuY2UgdG8gYWRkIGNvbnRhaW5lcnMgdG8gdGhlIHRhc2sgZGVmaW5pdGlvbixcbiAgICAgKiBjaGFuZ2UgdGhlIHRhc2sgZGVmaW5pdGlvbidzIHJvbGUgdG8gYWRkIHBlcm1pc3Npb25zLCBldGMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFza0RlZmluaXRpb24gLSBUaGUgY3JlYXRlZCB0YXNrIGRlZmluaXRpb24gdG8gYWRkIGNvbnRhaW5lcnMgdG9cbiAgICAgKi9cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHVibGljIHVzZVRhc2tEZWZpbml0aW9uKHRhc2tEZWZpbml0aW9uOiBlY3MuVGFza0RlZmluaXRpb24pIHtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbmNlIGFsbCBjb250YWluZXJzIGFyZSBhZGRlZCB0byB0aGUgdGFzayBkZWZpbml0aW9uLCB0aGlzIGhvb2sgaXNcbiAgICAgKiBjYWxsZWQgZm9yIGVhY2ggZXh0ZW5zaW9uIHRvIGdpdmUgaXQgYSBjaGFuY2UgdG8gcmVzb2x2ZSBpdHMgZGVwZW5kZW5jeVxuICAgICAqIGdyYXBoIHNvIHRoYXQgaXRzIGNvbnRhaW5lciBzdGFydHMgaW4gdGhlIHJpZ2h0IG9yZGVyIGJhc2VkIG9uIHRoZVxuICAgICAqIG90aGVyIGV4dGVuc2lvbnMgdGhhdCB3ZXJlIGVuYWJsZWQuXG4gICAgICovXG4gICAgcHVibGljIHJlc29sdmVDb250YWluZXJEZXBlbmRlbmNpZXMoKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJpb3IgdG8gbGF1bmNoaW5nIHRoZSB0YXNrIGRlZmluaXRpb24gYXMgYSBzZXJ2aWNlLCB0aGlzIGhvb2tcbiAgICAgKiBpcyBjYWxsZWQgb24gZWFjaCBleHRlbnNpb24gdG8gZ2l2ZSBpdCBhIGNoYW5jZSB0byBtdXRhdGUgdGhlIHByb3BlcnRpZXNcbiAgICAgKiBvZiB0aGUgc2VydmljZSB0byBiZSBjcmVhdGVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BzIC0gVGhlIHNlcnZpY2UgcHJvcGVydGllcyB0byBtdXRhdGUuXG4gICAgICovXG4gICAgcHVibGljIG1vZGlmeVNlcnZpY2VQcm9wcyhwcm9wczogU2VydmljZUJ1aWxkKTogU2VydmljZUJ1aWxkIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnByb3BzLFxuICAgICAgICB9IGFzIFNlcnZpY2VCdWlsZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHRoaXMgaG9vayBpcyBpbXBsZW1lbnRlZCBieSBleHRlbnNpb24sIGl0IGFsbG93cyB0aGUgZXh0ZW5zaW9uXG4gICAgICogdG8gdXNlIHRoZSBzZXJ2aWNlIHdoaWNoIGhhcyBiZWVuIGNyZWF0ZWQuIEl0IGlzIGdlbmVyYWxseSB1c2VkIHRvXG4gICAgICogY3JlYXRlIGFueSBmaW5hbCByZXNvdXJjZXMgd2hpY2ggbWlnaHQgZGVwZW5kIG9uIHRoZSBzZXJ2aWNlIGl0c2VsZi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZXJ2aWNlIC0gVGhlIGdlbmVyYXRlZCBzZXJ2aWNlLlxuICAgICAqL1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwdWJsaWMgdXNlU2VydmljZShzZXJ2aWNlOiBlY3MuRWMyU2VydmljZSB8IGVjcy5GYXJnYXRlU2VydmljZSkge1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgaG9vayBhbGxvd3MgdGhlIGV4dGVuc2lvbiB0byBlc3RhYmxpc2ggYSBjb25uZWN0aW9uIHRvXG4gICAgICogZXh0ZW5zaW9ucyBmcm9tIGFub3RoZXIgc2VydmljZS4gVXN1YWxseSB1c2VkIGZvciB0aGluZ3MgbGlrZVxuICAgICAqIGFsbG93aW5nIG9uZSBzZXJ2aWNlIHRvIHRhbGsgdG8gdGhlIGxvYWQgYmFsYW5jZXIgb3Igc2VydmljZSBtZXNoXG4gICAgICogcHJveHkgZm9yIGFub3RoZXIgc2VydmljZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZXJ2aWNlIC0gVGhlIG90aGVyIHNlcnZpY2UgdG8gY29ubmVjdCB0by5cbiAgICAgKi9cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHVibGljIGNvbm5lY3RUb1NlcnZpY2Uoc2VydmljZTogU2VydmljZSkge1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uY2UgdGhlIHNlcnZpY2UgaGFzIGJlZW4gY3JlYXRlZCBhbmQgY29ubmVjdGVkLCB0aGlzIGhvb2sgaXNcbiAgICAgKiBjYWxsZWQgZm9yIGVhY2ggZXh0ZW5zaW9uIHRvIGdpdmUgaXQgYSBjaGFuY2UgdG8gc2V0IHRoZSByZW1haW5pbmcgZGV0YWlsc1xuICAgICAqIHN1Y2ggYXMgc2VjdXJpdHkgZ3JvdXBzIHJ1bGVzLCBldGNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZXJ2aWNlIC0gVGhlIHNlcnZpY2UuXG4gICAgICovXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHB1YmxpYyByZXNvbHZlU2VydmljZURlcGVuZGVuY2llcyhzZXJ2aWNlOiBTZXJ2aWNlKSB7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoaXMgaXMgYW4gYWJzdHJhY3QgY2xhc3Mgd3JhcHBlciBmb3IgYSBtdXRhdGluZyBob29rLiBJdCBpc1xuICogZXh0ZW5kZWQgYnkgYW55IGV4dGVuc2lvbiB3aGljaCB3YW50cyB0byBtdXRhdGUgb3RoZXIgZXh0ZW5zaW9uJ3MgY29udGFpbmVycy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRhaW5lck11dGF0aW5nSG9vayB7XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhIGhvb2sgZm9yIG1vZGlmeWluZyB0aGUgY29udGFpbmVyIGRlZmluaXRpb24gb2YgYW55IHVwc3RyZWFtXG4gICAgICogY29udGFpbmVycy4gVGhpcyBpcyBwcmltYXJpbHkgdXNlZCBmb3IgdGhlIG1haW4gYXBwbGljYXRpb24gY29udGFpbmVyLlxuICAgICAqIEZvciBleGFtcGxlLCB0aGUgRmlyZWxlbnMgZXh0ZW5zaW9uIHdhbnRzIHRvIGJlIGFibGUgdG8gbW9kaWZ5IHRoZSBsb2dnaW5nXG4gICAgICogc2V0dGluZ3Mgb2YgdGhlIGFwcGxpY2F0aW9uIGNvbnRhaW5lci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBjb250YWluZXIgZGVmaW5pdGlvbiB0byBtdXRhdGUuXG4gICAgICovXG4gICAgcHVibGljIG11dGF0ZUNvbnRhaW5lckRlZmluaXRpb24ocHJvcHM6IGVjcy5Db250YWluZXJEZWZpbml0aW9uT3B0aW9ucyk6IGVjcy5Db250YWluZXJEZWZpbml0aW9uT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgfSBhcyBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnM7XG4gICAgfVxufVxuIl19
import { aws_ecs_patterns as ecs_patterns, aws_events as events } from 'aws-cdk-lib';
import { BaseService } from './base-service';
import { Construct } from 'constructs';
import { ServiceProps } from "./service";
import { BaseService } from "./base-service";
import { ServiceProps } from './service';
/**

@@ -6,0 +6,0 @@ * The settings for an ECS Task.

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ScheduledTask = void 0;
const extension_interfaces_1 = require("./extensions/extension-interfaces");
const aws_cdk_lib_1 = require("aws-cdk-lib");
const base_service_1 = require("./base-service");
const extension_interfaces_1 = require("./extensions/extension-interfaces");
/**

@@ -63,3 +63,6 @@ * This Service construct serves as a Builder class for an ECS service. It

taskDefinition: this.taskDefinition,
}
},
scheduledFargateTaskDefinitionOptions: {
taskDefinition: this.taskDefinition,
},
};

@@ -80,2 +83,2 @@ // Now that the service props are determined we can create

exports.ScheduledTask = ScheduledTask;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVkLXRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzY2hlZHVsZWQtdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0RUFBNEU7QUFDNUUsNkNBSXFCO0FBR3JCLGlEQUE2QztBQVk3Qzs7OztHQUlHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsMEJBQVc7SUFXMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQjtRQUN0RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFL0IsOEVBQThFO1FBQzlFLDBFQUEwRTtRQUMxRSxTQUFTO1FBQ1QsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFO1lBQ3pELElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUM3RDtTQUNKO1FBRUQsMEVBQTBFO1FBQzFFLElBQUksWUFBWSxHQUFHO1lBQ2YseUJBQXlCO1lBQ3pCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsU0FBUyxFQUFFLEtBQUs7WUFFaEIsNkZBQTZGO1lBQzdGLGdFQUFnRTtZQUNoRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFFeEIsZ0VBQWdFO1lBQ2hFLGFBQWEsRUFBRSxxQkFBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlO1NBQ3hCLENBQUM7UUFFN0IsS0FBSyxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0RSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hELFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3pHO1NBQ0o7UUFFRCxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLHFCQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVyRyw4REFBOEQ7UUFDOUQsS0FBSyxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0RSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3pGO1NBQ0o7UUFFRCxvRUFBb0U7UUFDcEUsK0JBQStCO1FBQy9CLEtBQUssTUFBTSxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLDRCQUE0QixFQUFFLENBQUM7YUFDakY7U0FDSjtRQUVELE1BQU0sU0FBUyxHQUFHO1lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixPQUFPLEVBQUUsSUFBSTtZQUNiLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsaUNBQWlDLEVBQUU7Z0JBQy9CLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYzthQUN0QztTQUNKLENBQUM7UUFFRiwwREFBMEQ7UUFDMUQsY0FBYztRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyw4Q0FBdUIsQ0FBQyxHQUFHLEVBQUU7WUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDhCQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUM5RjthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyw4Q0FBdUIsQ0FBQyxPQUFPLEVBQUU7WUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDhCQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNsRzthQUFNO1lBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDbkU7SUFDTCxDQUFDO0NBQ0o7QUFuRkQsc0NBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRDYXBhY2l0eVR5cGUgfSBmcm9tICcuL2V4dGVuc2lvbnMvZXh0ZW5zaW9uLWludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBhd3NfZWNzIGFzIGVjcyxcbiAgICBhd3NfZWNzX3BhdHRlcm5zIGFzIGVjc19wYXR0ZXJucyxcbiAgICBhd3NfZXZlbnRzIGFzIGV2ZW50cyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi9zZXJ2aWNlXCI7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gXCIuL2Jhc2Utc2VydmljZVwiO1xuXG4vKipcbiAqIFRoZSBzZXR0aW5ncyBmb3IgYW4gRUNTIFRhc2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza1Byb3BzIGV4dGVuZHMgU2VydmljZVByb3BzIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdGFzayBzY2hlZHVsZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlO1xufVxuXG4vKipcbiAqIFRoaXMgU2VydmljZSBjb25zdHJ1Y3Qgc2VydmVzIGFzIGEgQnVpbGRlciBjbGFzcyBmb3IgYW4gRUNTIHNlcnZpY2UuIEl0XG4gKiBzdXBwb3J0cyB2YXJpb3VzIGV4dGVuc2lvbnMgYW5kIGtlZXBzIHRyYWNrIG9mIGFueSBtdXRhdGluZyBzdGF0ZSwgYWxsb3dpbmdcbiAqIGl0IHRvIGJ1aWxkIHVwIGFuIEVDUyBzZXJ2aWNlIHByb2dyZXNzaXZlbHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY2hlZHVsZWRUYXNrIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSB1bmRlcmx5aW5nIEVDUyBzZXJ2aWNlIHRoYXQgd2FzIGNyZWF0ZWQuXG4gICAgICovXG4gICAgcHVibGljIGVjc1Rhc2shOiBlY3NfcGF0dGVybnMuU2NoZWR1bGVkRWMyVGFzayB8IGVjc19wYXR0ZXJucy5TY2hlZHVsZWRGYXJnYXRlVGFzaztcblxuICAgIC8qKlxuICAgICAqIFRoZSB0YXNrIHNjaGVkdWxlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlO1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRhc2tQcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICAgICAgdGhpcy5zY2hlZHVsZSA9IHByb3BzLnNjaGVkdWxlO1xuXG4gICAgICAgIC8vIEF0IHRoZSBwb2ludCBvZiBwcmVwYXJhdGlvbiBhbGwgZXh0ZW5zaW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBvbiB0aGUgc2VydmljZVxuICAgICAgICAvLyBTbyBnaXZlIGVhY2ggZXh0ZW5zaW9uIGEgY2hhbmNlIHRvIG5vdyBhZGQgaG9va3MgdG8gb3RoZXIgZXh0ZW5zaW9ucyBpZlxuICAgICAgICAvLyBOZWVkZWRcbiAgICAgICAgZm9yIChjb25zdCBleHRlbnNpb25zIGluIHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXS5hZGRIb29rcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2l2ZSBlYWNoIGV4dGVuc2lvbiBhIGNoYW5jZSB0byBtdXRhdGUgdGhlIHRhc2sgZGVmIGNyZWF0aW9uIHByb3BlcnRpZXNcbiAgICAgICAgbGV0IHRhc2tEZWZQcm9wcyA9IHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgQ1BVIGFuZCBtZW1vcnlcbiAgICAgICAgICAgIGNwdTogJzI1NicsXG4gICAgICAgICAgICBtZW1vcnlNaUI6ICc1MTInLFxuXG4gICAgICAgICAgICAvLyBBbGxvdyB1c2VyIHRvIHByZS1kZWZpbmUgdGhlIHRhc2tSb2xlIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgaW4gcmVzb3VyY2UgcG9saWNpZXMgdGhhdCBtYXlcbiAgICAgICAgICAgIC8vIEJlIGRlZmluZWQgYmVmb3JlIHRoZSBFQ1Mgc2VydmljZSBleGlzdHMgaW4gYSBDREsgYXBwbGljYXRpb25cbiAgICAgICAgICAgIHRhc2tSb2xlOiBwcm9wcy50YXNrUm9sZSxcblxuICAgICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHRhc2sgZGVmaW5pdGlvbiBzdXBwb3J0cyBib3RoIEVDMiBhbmQgRmFyZ2F0ZVxuICAgICAgICAgICAgY29tcGF0aWJpbGl0eTogZWNzLkNvbXBhdGliaWxpdHkuRUMyX0FORF9GQVJHQVRFLFxuICAgICAgICB9IGFzIGVjcy5UYXNrRGVmaW5pdGlvblByb3BzO1xuXG4gICAgICAgIGZvciAoY29uc3QgZXh0ZW5zaW9ucyBvZiBPYmplY3Qua2V5cyh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0YXNrRGVmUHJvcHMgPSB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLm1vZGlmeVRhc2tEZWZpbml0aW9uUHJvcHModGFza0RlZlByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5vdyB0aGF0IHRoZSB0YXNrIGRlZmluaXRpb24gcHJvcGVydGllcyBhcmUgYXNzZW1ibGVkLCBjcmVhdGUgaXRcbiAgICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbiA9IG5ldyBlY3MuVGFza0RlZmluaXRpb24odGhpcy5zY29wZSwgYCR7dGhpcy5pZH0tdGFzay1kZWZpbml0aW9uYCwgdGFza0RlZlByb3BzKTtcblxuICAgICAgICAvLyBOb3cgZ2l2ZSBlYWNoIGV4dGVuc2lvbiBhIGNoYW5jZSB0byB1c2UgdGhlIHRhc2sgZGVmaW5pdGlvblxuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgb2YgT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXS51c2VUYXNrRGVmaW5pdGlvbih0aGlzLnRhc2tEZWZpbml0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5vdyB0aGF0IGFsbCBjb250YWluZXJzIGFyZSBjcmVhdGVkLCBnaXZlIGVhY2ggZXh0ZW5zaW9uIGEgY2hhbmNlXG4gICAgICAgIC8vIFRvIGJha2UgaXRzIGRlcGVuZGVuY3kgZ3JhcGhcbiAgICAgICAgZm9yIChjb25zdCBleHRlbnNpb25zIG9mIE9iamVjdC5rZXlzKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnMpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10ucmVzb2x2ZUNvbnRhaW5lckRlcGVuZGVuY2llcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFza1Byb3BzID0ge1xuICAgICAgICAgICAgY2x1c3RlcjogdGhpcy5jbHVzdGVyLFxuICAgICAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgICAgIHNjaGVkdWxlOiB0aGlzLnNjaGVkdWxlLFxuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2lyZWRUYXNrQ291bnQ6IDEsXG4gICAgICAgICAgICBzY2hlZHVsZWRFYzJUYXNrRGVmaW5pdGlvbk9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICAvLyBOb3cgdGhhdCB0aGUgc2VydmljZSBwcm9wcyBhcmUgZGV0ZXJtaW5lZCB3ZSBjYW4gY3JlYXRlXG4gICAgICAgIC8vIFRoZSBzZXJ2aWNlXG4gICAgICAgIGlmICh0aGlzLmNhcGFjaXR5VHlwZSA9PT0gRW52aXJvbm1lbnRDYXBhY2l0eVR5cGUuRUMyKSB7XG4gICAgICAgICAgICB0aGlzLmVjc1Rhc2sgPSBuZXcgZWNzX3BhdHRlcm5zLlNjaGVkdWxlZEVjMlRhc2sodGhpcy5zY29wZSwgYCR7dGhpcy5pZH0tdGFza2AsIHRhc2tQcm9wcyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jYXBhY2l0eVR5cGUgPT09IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlLkZBUkdBVEUpIHtcbiAgICAgICAgICAgIHRoaXMuZWNzVGFzayA9IG5ldyBlY3NfcGF0dGVybnMuU2NoZWR1bGVkRmFyZ2F0ZVRhc2sodGhpcy5zY29wZSwgYCR7dGhpcy5pZH0tdGFza2AsIHRhc2tQcm9wcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY2FwYWNpdHkgdHlwZSBmb3Igc2VydmljZSAke3RoaXMuaWR9YCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVkLXRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzY2hlZHVsZWQtdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FJcUI7QUFDckIsaURBQTZDO0FBRTdDLDRFQUE0RTtBQWE1RTs7OztHQUlHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsMEJBQVc7SUFXMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQjtRQUN0RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFL0IsOEVBQThFO1FBQzlFLDBFQUEwRTtRQUMxRSxTQUFTO1FBQ1QsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFO1lBQ3pELElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUM3RDtTQUNKO1FBRUQsMEVBQTBFO1FBQzFFLElBQUksWUFBWSxHQUFHO1lBQ2YseUJBQXlCO1lBQ3pCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsU0FBUyxFQUFFLEtBQUs7WUFFaEIsNkZBQTZGO1lBQzdGLGdFQUFnRTtZQUNoRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFFeEIsZ0VBQWdFO1lBQ2hFLGFBQWEsRUFBRSxxQkFBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlO1NBQ3hCLENBQUM7UUFFN0IsS0FBSyxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0RSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hELFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3pHO1NBQ0o7UUFFRCxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLHFCQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVyRyw4REFBOEQ7UUFDOUQsS0FBSyxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0RSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3pGO1NBQ0o7UUFFRCxvRUFBb0U7UUFDcEUsK0JBQStCO1FBQy9CLEtBQUssTUFBTSxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLDRCQUE0QixFQUFFLENBQUM7YUFDakY7U0FDSjtRQUVELE1BQU0sU0FBUyxHQUFHO1lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixPQUFPLEVBQUUsSUFBSTtZQUNiLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsaUNBQWlDLEVBQUU7Z0JBQy9CLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYzthQUN0QztZQUNELHFDQUFxQyxFQUFFO2dCQUNuQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7YUFDdEM7U0FDSixDQUFDO1FBRUYsMERBQTBEO1FBQzFELGNBQWM7UUFDZCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssOENBQXVCLENBQUMsR0FBRyxFQUFFO1lBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSw4QkFBWSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDOUY7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssOENBQXVCLENBQUMsT0FBTyxFQUFFO1lBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSw4QkFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDbEc7YUFBTTtZQUNILE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ25FO0lBQ0wsQ0FBQztDQUNKO0FBdEZELHNDQXNGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYXdzX2VjcyBhcyBlY3MsXG4gICAgYXdzX2Vjc19wYXR0ZXJucyBhcyBlY3NfcGF0dGVybnMsXG4gICAgYXdzX2V2ZW50cyBhcyBldmVudHNcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2Utc2VydmljZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlIH0gZnJvbSAnLi9leHRlbnNpb25zL2V4dGVuc2lvbi1pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlcnZpY2VQcm9wcyB9IGZyb20gJy4vc2VydmljZSc7XG5cbi8qKlxuICogVGhlIHNldHRpbmdzIGZvciBhbiBFQ1MgVGFzay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrUHJvcHMgZXh0ZW5kcyBTZXJ2aWNlUHJvcHMge1xuICAgIC8qKlxuICAgICAqIFRoZSB0YXNrIHNjaGVkdWxlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGU7XG59XG5cbi8qKlxuICogVGhpcyBTZXJ2aWNlIGNvbnN0cnVjdCBzZXJ2ZXMgYXMgYSBCdWlsZGVyIGNsYXNzIGZvciBhbiBFQ1Mgc2VydmljZS4gSXRcbiAqIHN1cHBvcnRzIHZhcmlvdXMgZXh0ZW5zaW9ucyBhbmQga2VlcHMgdHJhY2sgb2YgYW55IG11dGF0aW5nIHN0YXRlLCBhbGxvd2luZ1xuICogaXQgdG8gYnVpbGQgdXAgYW4gRUNTIHNlcnZpY2UgcHJvZ3Jlc3NpdmVseS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjaGVkdWxlZFRhc2sgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogVGhlIHVuZGVybHlpbmcgRUNTIHNlcnZpY2UgdGhhdCB3YXMgY3JlYXRlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZWNzVGFzayE6IGVjc19wYXR0ZXJucy5TY2hlZHVsZWRFYzJUYXNrIHwgZWNzX3BhdHRlcm5zLlNjaGVkdWxlZEZhcmdhdGVUYXNrO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRhc2sgc2NoZWR1bGUuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGU7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVGFza1Byb3BzKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgICAgICB0aGlzLnNjaGVkdWxlID0gcHJvcHMuc2NoZWR1bGU7XG5cbiAgICAgICAgLy8gQXQgdGhlIHBvaW50IG9mIHByZXBhcmF0aW9uIGFsbCBleHRlbnNpb25zIGhhdmUgYmVlbiBkZWZpbmVkIG9uIHRoZSBzZXJ2aWNlXG4gICAgICAgIC8vIFNvIGdpdmUgZWFjaCBleHRlbnNpb24gYSBjaGFuY2UgdG8gbm93IGFkZCBob29rcyB0byBvdGhlciBleHRlbnNpb25zIGlmXG4gICAgICAgIC8vIE5lZWRlZFxuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgaW4gdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLmFkZEhvb2tzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHaXZlIGVhY2ggZXh0ZW5zaW9uIGEgY2hhbmNlIHRvIG11dGF0ZSB0aGUgdGFzayBkZWYgY3JlYXRpb24gcHJvcGVydGllc1xuICAgICAgICBsZXQgdGFza0RlZlByb3BzID0ge1xuICAgICAgICAgICAgLy8gRGVmYXVsdCBDUFUgYW5kIG1lbW9yeVxuICAgICAgICAgICAgY3B1OiAnMjU2JyxcbiAgICAgICAgICAgIG1lbW9yeU1pQjogJzUxMicsXG5cbiAgICAgICAgICAgIC8vIEFsbG93IHVzZXIgdG8gcHJlLWRlZmluZSB0aGUgdGFza1JvbGUgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBpbiByZXNvdXJjZSBwb2xpY2llcyB0aGF0IG1heVxuICAgICAgICAgICAgLy8gQmUgZGVmaW5lZCBiZWZvcmUgdGhlIEVDUyBzZXJ2aWNlIGV4aXN0cyBpbiBhIENESyBhcHBsaWNhdGlvblxuICAgICAgICAgICAgdGFza1JvbGU6IHByb3BzLnRhc2tSb2xlLFxuXG4gICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgdGFzayBkZWZpbml0aW9uIHN1cHBvcnRzIGJvdGggRUMyIGFuZCBGYXJnYXRlXG4gICAgICAgICAgICBjb21wYXRpYmlsaXR5OiBlY3MuQ29tcGF0aWJpbGl0eS5FQzJfQU5EX0ZBUkdBVEUsXG4gICAgICAgIH0gYXMgZWNzLlRhc2tEZWZpbml0aW9uUHJvcHM7XG5cbiAgICAgICAgZm9yIChjb25zdCBleHRlbnNpb25zIG9mIE9iamVjdC5rZXlzKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnMpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXSkge1xuICAgICAgICAgICAgICAgIHRhc2tEZWZQcm9wcyA9IHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10ubW9kaWZ5VGFza0RlZmluaXRpb25Qcm9wcyh0YXNrRGVmUHJvcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm93IHRoYXQgdGhlIHRhc2sgZGVmaW5pdGlvbiBwcm9wZXJ0aWVzIGFyZSBhc3NlbWJsZWQsIGNyZWF0ZSBpdFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uID0gbmV3IGVjcy5UYXNrRGVmaW5pdGlvbih0aGlzLnNjb3BlLCBgJHt0aGlzLmlkfS10YXNrLWRlZmluaXRpb25gLCB0YXNrRGVmUHJvcHMpO1xuXG4gICAgICAgIC8vIE5vdyBnaXZlIGVhY2ggZXh0ZW5zaW9uIGEgY2hhbmNlIHRvIHVzZSB0aGUgdGFzayBkZWZpbml0aW9uXG4gICAgICAgIGZvciAoY29uc3QgZXh0ZW5zaW9ucyBvZiBPYmplY3Qua2V5cyh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLnVzZVRhc2tEZWZpbml0aW9uKHRoaXMudGFza0RlZmluaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm93IHRoYXQgYWxsIGNvbnRhaW5lcnMgYXJlIGNyZWF0ZWQsIGdpdmUgZWFjaCBleHRlbnNpb24gYSBjaGFuY2VcbiAgICAgICAgLy8gVG8gYmFrZSBpdHMgZGVwZW5kZW5jeSBncmFwaFxuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgb2YgT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXS5yZXNvbHZlQ29udGFpbmVyRGVwZW5kZW5jaWVzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YXNrUHJvcHMgPSB7XG4gICAgICAgICAgICBjbHVzdGVyOiB0aGlzLmNsdXN0ZXIsXG4gICAgICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICAgICAgc2NoZWR1bGU6IHRoaXMuc2NoZWR1bGUsXG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgZGVzaXJlZFRhc2tDb3VudDogMSxcbiAgICAgICAgICAgIHNjaGVkdWxlZEVjMlRhc2tEZWZpbml0aW9uT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHRhc2tEZWZpbml0aW9uOiB0aGlzLnRhc2tEZWZpbml0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNjaGVkdWxlZEZhcmdhdGVUYXNrRGVmaW5pdGlvbk9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTm93IHRoYXQgdGhlIHNlcnZpY2UgcHJvcHMgYXJlIGRldGVybWluZWQgd2UgY2FuIGNyZWF0ZVxuICAgICAgICAvLyBUaGUgc2VydmljZVxuICAgICAgICBpZiAodGhpcy5jYXBhY2l0eVR5cGUgPT09IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlLkVDMikge1xuICAgICAgICAgICAgdGhpcy5lY3NUYXNrID0gbmV3IGVjc19wYXR0ZXJucy5TY2hlZHVsZWRFYzJUYXNrKHRoaXMuc2NvcGUsIGAke3RoaXMuaWR9LXRhc2tgLCB0YXNrUHJvcHMpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2FwYWNpdHlUeXBlID09PSBFbnZpcm9ubWVudENhcGFjaXR5VHlwZS5GQVJHQVRFKSB7XG4gICAgICAgICAgICB0aGlzLmVjc1Rhc2sgPSBuZXcgZWNzX3BhdHRlcm5zLlNjaGVkdWxlZEZhcmdhdGVUYXNrKHRoaXMuc2NvcGUsIGAke3RoaXMuaWR9LXRhc2tgLCB0YXNrUHJvcHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNhcGFjaXR5IHR5cGUgZm9yIHNlcnZpY2UgJHt0aGlzLmlkfWApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
import { EnvironmentCapacityType } from './extensions/extension-interfaces';
import { aws_ecs as ecs, aws_iam as iam } from 'aws-cdk-lib';
import { BaseService } from './base-service';
import { Construct } from 'constructs';
import { IEnvironment } from './environment';
import { ServiceDescription } from './service-description';
import { BaseService } from "./base-service";
/**

@@ -8,0 +8,0 @@ * The settings for an ECS Service.

@@ -192,2 +192,2 @@ "use strict";

exports.Service = Service;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEVBQTBGO0FBQzFGLDZDQUlxQjtBQUlyQixpREFBNkM7QUF3QzdDOzs7O0dBSUc7QUFDSCxNQUFhLE9BQVEsU0FBUSwwQkFBVztJQVdwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1COztRQUN6RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQU41Qjs7V0FFRztRQUNLLFNBQUksR0FBMkIsRUFBRSxDQUFDO1FBS3RDLDhFQUE4RTtRQUM5RSwwRUFBMEU7UUFDMUUsU0FBUztRQUNULEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRTtZQUN6RCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDN0Q7U0FDSjtRQUVELDBFQUEwRTtRQUMxRSxJQUFJLFlBQVksR0FBRztZQUNmLDZGQUE2RjtZQUM3RixnRUFBZ0U7WUFDaEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBRXhCLGdFQUFnRTtZQUNoRSxhQUFhLEVBQUUscUJBQUcsQ0FBQyxhQUFhLENBQUMsZUFBZTtTQUN4QixDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyw4Q0FBdUIsQ0FBQyxPQUFPLEVBQUU7WUFDdkQsWUFBWSxHQUFHO2dCQUNYLEdBQUcsWUFBWTtnQkFDZixHQUFHLEVBQUUsS0FBSztnQkFDVixTQUFTLEVBQUUsS0FBSzthQUNuQixDQUFDO1NBQ0w7UUFFRCxLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixD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LFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuRjtTQUNKO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksU0FBUyxDQUFDLE9BQWdCO1FBQzdCLEtBQUssTUFBTSxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzVFO1NBQ0o7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxPQUFlLEVBQUUsR0FBVztRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDSjtBQXhNRCwwQkF3TUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudENhcGFjaXR5VHlwZSwgU2VydmljZUJ1aWxkIH0gZnJvbSAnLi9leHRlbnNpb25zL2V4dGVuc2lvbi1pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgYXdzX2VjMiBhcyBlYzIsXG4gICAgYXdzX2VjcyBhcyBlY3MsXG4gICAgYXdzX2lhbSBhcyBpYW1cbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJRW52aXJvbm1lbnQgfSBmcm9tICcuL2Vudmlyb25tZW50JztcbmltcG9ydCB7IFNlcnZpY2VEZXNjcmlwdGlvbiB9IGZyb20gJy4vc2VydmljZS1kZXNjcmlwdGlvbic7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gXCIuL2Jhc2Utc2VydmljZVwiO1xuXG4vKipcbiAqIFRoZSBzZXR0aW5ncyBmb3IgYW4gRUNTIFNlcnZpY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVByb3BzIHtcbiAgICAvKipcbiAgICAgKiBUaGUgU2VydmljZURlc2NyaXB0aW9uIHVzZWQgdG8gYnVpbGQgdGhlIHNlcnZpY2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2VydmljZURlc2NyaXB0aW9uOiBTZXJ2aWNlRGVzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZW52aXJvbm1lbnQgdG8gbGF1bmNoIHRoZSBzZXJ2aWNlIGluLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGVudmlyb25tZW50OiBJRW52aXJvbm1lbnRcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBJQU0gcm9sZSB0aGF0IGdyYW50cyBjb250YWluZXJzIGluIHRoZSB0YXNrIHBlcm1pc3Npb24gdG8gY2FsbCBBV1MgQVBJcyBvbiB5b3VyIGJlaGFsZi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gQSB0YXNrIHJvbGUgaXMgYXV0b21hdGljYWxseSBjcmVhdGVkIGZvciB5b3UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdGFza1JvbGU/OiBpYW0uSVJvbGU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2FwYWNpdHkgdHlwZSB1c2VkIGJ5IHRoZSBzZXJ2aWNlLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICAgKiBAZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2FwYWNpdHlUeXBlPzogRW52aXJvbm1lbnRDYXBhY2l0eVR5cGU7XG5cbiAgICAvKipcbiAgICAgKiAoZXhwZXJpbWVudGFsKSBBIGxpc3Qgb2YgQ2FwYWNpdHkgUHJvdmlkZXIgc3RyYXRlZ2llcyB1c2VkIHRvIHBsYWNlIGEgc2VydmljZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAgICogQGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzPzogZWNzLkNhcGFjaXR5UHJvdmlkZXJTdHJhdGVneVtdO1xufVxuXG4vKipcbiAqIFRoaXMgU2VydmljZSBjb25zdHJ1Y3Qgc2VydmVzIGFzIGEgQnVpbGRlciBjbGFzcyBmb3IgYW4gRUNTIHNlcnZpY2UuIEl0XG4gKiBzdXBwb3J0cyB2YXJpb3VzIGV4dGVuc2lvbnMgYW5kIGtlZXBzIHRyYWNrIG9mIGFueSBtdXRhdGluZyBzdGF0ZSwgYWxsb3dpbmdcbiAqIGl0IHRvIGJ1aWxkIHVwIGFuIEVDUyBzZXJ2aWNlIHByb2dyZXNzaXZlbHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSB1bmRlcmx5aW5nIEVDUyBzZXJ2aWNlIHRoYXQgd2FzIGNyZWF0ZWQuXG4gICAgICovXG4gICAgcHVibGljIGVjc1NlcnZpY2UhOiBlY3MuRWMyU2VydmljZSB8IGVjcy5GYXJnYXRlU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIFVSTHMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc2VydmljZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVybHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICAgICAgLy8gQXQgdGhlIHBvaW50IG9mIHByZXBhcmF0aW9uIGFsbCBleHRlbnNpb25zIGhhdmUgYmVlbiBkZWZpbmVkIG9uIHRoZSBzZXJ2aWNlXG4gICAgICAgIC8vIFNvIGdpdmUgZWFjaCBleHRlbnNpb24gYSBjaGFuY2UgdG8gbm93IGFkZCBob29rcyB0byBvdGhlciBleHRlbnNpb25zIGlmXG4gICAgICAgIC8vIE5lZWRlZFxuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgaW4gdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLmFkZEhvb2tzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHaXZlIGVhY2ggZXh0ZW5zaW9uIGEgY2hhbmNlIHRvIG11dGF0ZSB0aGUgdGFzayBkZWYgY3JlYXRpb24gcHJvcGVydGllc1xuICAgICAgICBsZXQgdGFza0RlZlByb3BzID0ge1xuICAgICAgICAgICAgLy8gQWxsb3cgdXNlciB0byBwcmUtZGVmaW5lIHRoZSB0YXNrUm9sZSBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGluIHJlc291cmNlIHBvbGljaWVzIHRoYXQgbWF5XG4gICAgICAgICAgICAvLyBCZSBkZWZpbmVkIGJlZm9yZSB0aGUgRUNTIHNlcnZpY2UgZXhpc3RzIGluIGEgQ0RLIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICB0YXNrUm9sZTogcHJvcHMudGFza1JvbGUsXG5cbiAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB0YXNrIGRlZmluaXRpb24gc3VwcG9ydHMgYm90aCBFQzIgYW5kIEZhcmdhdGVcbiAgICAgICAgICAgIGNvbXBhdGliaWxpdHk6IGVjcy5Db21wYXRpYmlsaXR5LkVDMl9BTkRfRkFSR0FURSxcbiAgICAgICAgfSBhcyBlY3MuVGFza0RlZmluaXRpb25Qcm9wcztcblxuICAgICAgICBpZiAodGhpcy5jYXBhY2l0eVR5cGUgPT09IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlLkZBUkdBVEUpIHtcbiAgICAgICAgICAgIHRhc2tEZWZQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAuLi50YXNrRGVmUHJvcHMsXG4gICAgICAgICAgICAgICAgY3B1OiAnMjU2JyxcbiAgICAgICAgICAgICAgICBtZW1vcnlNaUI6ICc1MTInLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgZXh0ZW5zaW9ucyBvZiBPYmplY3Qua2V5cyh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0YXNrRGVmUHJvcHMgPSB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLm1vZGlmeVRhc2tEZWZpbml0aW9uUHJvcHModGFza0RlZlByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5vdyB0aGF0IHRoZSB0YXNrIGRlZmluaXRpb24gcHJvcGVydGllcyBhcmUgYXNzZW1ibGVkLCBjcmVhdGUgaXRcbiAgICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbiA9IG5ldyBlY3MuVGFza0RlZmluaXRpb24odGhpcy5zY29wZSwgYCR7dGhpcy5pZH0tdGFzay1kZWZpbml0aW9uYCwgdGFza0RlZlByb3BzKTtcblxuICAgICAgICAvLyBOb3cgZ2l2ZSBlYWNoIGV4dGVuc2lvbiBhIGNoYW5jZSB0byB1c2UgdGhlIHRhc2sgZGVmaW5pdGlvblxuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgb2YgT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXS51c2VUYXNrRGVmaW5pdGlvbih0aGlzLnRhc2tEZWZpbml0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNhcGFjaXR5VHlwZSA9PT0gRW52aXJvbm1lbnRDYXBhY2l0eVR5cGUuRUMyKSB7XG4gICAgICAgICAgICBsZXQgbWVtb3J5ID0gMDtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZXh0ZW5zaW9ucyBvZiBPYmplY3Qua2V5cyh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10uY29udGFpbmVyO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9wcyA9IChjb250YWluZXIgYXMgYW55KS5wcm9wcztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeSArPSBwcm9wcy5tZW1vcnlSZXNlcnZhdGlvbk1pQiA/PyBwcm9wcy5tZW1vcnlMaW1pdE1pQjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMudGFza0RlZmluaXRpb24ubm9kZS5maW5kQ2hpbGQoJ1Jlc291cmNlJykgYXMgZWNzLkNmblRhc2tEZWZpbml0aW9uO1xuICAgICAgICAgICAgbm9kZS5tZW1vcnkgPSBTdHJpbmcobWVtb3J5IHx8IDI1Nik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOb3cgdGhhdCBhbGwgY29udGFpbmVycyBhcmUgY3JlYXRlZCwgZ2l2ZSBlYWNoIGV4dGVuc2lvbiBhIGNoYW5jZVxuICAgICAgICAvLyBUbyBiYWtlIGl0cyBkZXBlbmRlbmN5IGdyYXBoXG4gICAgICAgIGZvciAoY29uc3QgZXh0ZW5zaW9ucyBvZiBPYmplY3Qua2V5cyh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLnJlc29sdmVDb250YWluZXJEZXBlbmRlbmNpZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdpdmUgZWFjaCBleHRlbnNpb24gYSBjaGFuY2UgdG8gbXV0YXRlIHRoZSBzZXJ2aWNlIHByb3BzIGJlZm9yZVxuICAgICAgICAvLyBTZXJ2aWNlIGNyZWF0aW9uXG4gICAgICAgIGxldCBzZXJ2aWNlUHJvcHMgPSB7XG4gICAgICAgICAgICBjbHVzdGVyOiB0aGlzLmNsdXN0ZXIsXG4gICAgICAgICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgICAgICAgIG1pbkhlYWx0aHlQZXJjZW50OiAxMDAsXG4gICAgICAgICAgICBtYXhIZWFsdGh5UGVyY2VudDogMjAwLFxuICAgICAgICAgICAgZGVzaXJlZENvdW50OiAxLFxuICAgICAgICB9IGFzIFNlcnZpY2VCdWlsZDtcblxuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgb2YgT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgc2VydmljZVByb3BzID0gdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXS5tb2RpZnlTZXJ2aWNlUHJvcHMoc2VydmljZVByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGEgbWF4SGVhbHRoeVBlcmNlbnQgYW5kIGRlc2lyZWQgY291bnQgaGFzIGJlZW4gc2V0IHdoaWxlIG1pbkhlYWx0aHlQZXJjZW50ID09IDEwMCUgdGhlbiB3ZVxuICAgICAgICAvLyBOZWVkIHRvIGRvIHNvbWUgZmFpbHNhZmUgY2hlY2tpbmcgdG8gZW5zdXJlIHRoYXQgdGhlIG1heEhlYWx0aHlQZXJjZW50XG4gICAgICAgIC8vIEFjdHVhbGx5IGFsbG93cyBhIHJvbGxpbmcgZGVwbG95LiBPdGhlcndpc2UgaXQgaXMgcG9zc2libGUgdG8gZW5kIHVwIHdpdGhcbiAgICAgICAgLy8gQmxvY2tlZCBkZXBsb3lzIHRoYXQgY2FuIHRha2Ugbm8gYWN0aW9uIGJlY2F1c2UgbWluSGVhbHR5aFBlcmNlbnQgPT0gMTAwJVxuICAgICAgICAvLyBQcmV2ZW50cyBydW5uaW5nLCBoZWFsdGh5IHRhc2tzIGZyb20gYmVpbmcgc3RvcHBlZCwgYnV0IGEgbG93IG1heEhlYWx0aHlQZXJjZW50XG4gICAgICAgIC8vIENhbiBhbHNvIHByZXZlbnRzIG5ldyBwYXJhbGxlbCB0YXNrcyBmcm9tIGJlaW5nIHN0YXJ0ZWQuXG4gICAgICAgIGlmIChzZXJ2aWNlUHJvcHMubWF4SGVhbHRoeVBlcmNlbnQgJiYgc2VydmljZVByb3BzLmRlc2lyZWRDb3VudCAmJiBzZXJ2aWNlUHJvcHMubWluSGVhbHRoeVBlcmNlbnQgJiYgMTAwID09IHNlcnZpY2VQcm9wcy5taW5IZWFsdGh5UGVyY2VudCkge1xuICAgICAgICAgICAgaWYgKDEgPT0gc2VydmljZVByb3BzLmRlc2lyZWRDb3VudCkge1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG9uZSB0YXNrIHRoZW4gd2UgbXVzdCBhbGxvdyBtYXggcGVyY2VudGFnZSB0byBiZSBhdFxuICAgICAgICAgICAgICAgIC8vIExlYXN0IDIwMCUgZm9yIGFub3RoZXIgcmVwbGFjZW1lbnQgdGFzayB0byBiZSBhZGRlZFxuICAgICAgICAgICAgICAgIHNlcnZpY2VQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc2VydmljZVByb3BzLFxuICAgICAgICAgICAgICAgICAgICBtYXhIZWFsdGh5UGVyY2VudDogTWF0aC5tYXgoMjAwLCBzZXJ2aWNlUHJvcHMubWF4SGVhbHRoeVBlcmNlbnQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKDMgPj0gc2VydmljZVByb3BzLmRlc2lyZWRDb3VudCkge1xuICAgICAgICAgICAgICAgIC8vIElmIHRhc2sgY291bnQgaXMgMiBvciAzIHRoZW4gbWF4IHBlcmNlbnQgbXVzdCBiZSBhdCBsZWFzdCAxNTAlIHRvXG4gICAgICAgICAgICAgICAgLy8gQWxsb3cgb25lIHJlcGxhY2VtZW50IHRhc2sgdG8gYmUgbGF1bmNoZWQgYXQgYSB0aW1lLlxuICAgICAgICAgICAgICAgIHNlcnZpY2VQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc2VydmljZVByb3BzLFxuICAgICAgICAgICAgICAgICAgICBtYXhIZWFsdGh5UGVyY2VudDogTWF0aC5tYXgoMTUwLCBzZXJ2aWNlUHJvcHMubWF4SGVhbHRoeVBlcmNlbnQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEZvciBhbnl0aGluZyBoaWdoZXIgdGhhbiAzIHRhc2tzIHNldCBtYXggcGVyY2VudCB0byBhdCBsZWFzdCAxMjUlXG4gICAgICAgICAgICAgICAgLy8gRm9yIDQgdGFza3MgdGhpcyB3aWxsIGFsbG93IGV4YWN0bHkgb25lIGV4dHJhIHJlcGxhY2VtZW50IHRhc2tcbiAgICAgICAgICAgICAgICAvLyBBdCBhIHRpbWUsIGZvciBhbnkgaGlnaGVyIHRhc2sgY291bnQgaXQgd2lsbCBhbGxvdyAyNSUgb2YgdGhlIHRhc2tzXG4gICAgICAgICAgICAgICAgLy8gVG8gYmUgcmVwbGFjZWQgYXQgYSB0aW1lLlxuICAgICAgICAgICAgICAgIHNlcnZpY2VQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc2VydmljZVByb3BzLFxuICAgICAgICAgICAgICAgICAgICBtYXhIZWFsdGh5UGVyY2VudDogTWF0aC5tYXgoMTI1LCBzZXJ2aWNlUHJvcHMubWF4SGVhbHRoeVBlcmNlbnQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoMCA8IChwcm9wcy5jYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llcyA/PyBbXSkubGVuZ3RoKSB7XG4gICAgICAgICAgICBzZXJ2aWNlUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgLi4uc2VydmljZVByb3BzLFxuICAgICAgICAgICAgICAgIGNhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzOiBwcm9wcy5jYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llcyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOb3cgdGhhdCB0aGUgc2VydmljZSBwcm9wcyBhcmUgZGV0ZXJtaW5lZCB3ZSBjYW4gY3JlYXRlXG4gICAgICAgIC8vIFRoZSBzZXJ2aWNlXG4gICAgICAgIGlmICh0aGlzLmNhcGFjaXR5VHlwZSA9PT0gRW52aXJvbm1lbnRDYXBhY2l0eVR5cGUuRUMyKSB7XG4gICAgICAgICAgICB0aGlzLmVjc1NlcnZpY2UgPSBuZXcgZWNzLkVjMlNlcnZpY2UodGhpcy5zY29wZSwgYCR7dGhpcy5pZH0tc2VydmljZWAsIHNlcnZpY2VQcm9wcyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jYXBhY2l0eVR5cGUgPT09IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlLkZBUkdBVEUpIHtcbiAgICAgICAgICAgIHRoaXMuZWNzU2VydmljZSA9IG5ldyBlY3MuRmFyZ2F0ZVNlcnZpY2UodGhpcy5zY29wZSwgYCR7dGhpcy5pZH0tc2VydmljZWAsIHNlcnZpY2VQcm9wcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY2FwYWNpdHkgdHlwZSBmb3Igc2VydmljZSAke3RoaXMuaWR9YCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOb3cgZ2l2ZSBhbGwgZXh0ZW5zaW9ucyBhIGNoYW5jZSB0byB1c2UgdGhlIHNlcnZpY2VcbiAgICAgICAgZm9yIChjb25zdCBleHRlbnNpb25zIG9mIE9iamVjdC5rZXlzKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnMpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10udXNlU2VydmljZSh0aGlzLmVjc1NlcnZpY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBleHRlbnNpb25zIG9mIE9iamVjdC5rZXlzKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnMpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10ucmVzb2x2ZVNlcnZpY2VEZXBlbmRlbmNpZXModGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUZWxsIGV4dGVuc2lvbnMgZnJvbSBvbmUgc2VydmljZSB0byBjb25uZWN0IHRvIGV4dGVuc2lvbnMgZnJvbVxuICAgICAqIGFub3RoZXIgc2VydmljZSBpZiB0aGV5IGhhdmUgaW1wbGVtZW50ZWQgYSBob29rIGZvciBpdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZXJ2aWNlXG4gICAgICovXG4gICAgcHVibGljIGNvbm5lY3RUbyhzZXJ2aWNlOiBTZXJ2aWNlKSB7XG4gICAgICAgIGZvciAoY29uc3QgZXh0ZW5zaW9ucyBvZiBPYmplY3Qua2V5cyh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLmNvbm5lY3RUb1NlcnZpY2Uoc2VydmljZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBhZGRzIGEgbmV3IFVSTCBmb3IgdGhlIHNlcnZpY2UuIFRoaXMgYWxsb3dzIGV4dGVuc2lvbnMgdG9cbiAgICAgKiBzdWJtaXQgYSBVUkwgZm9yIHRoZSBzZXJ2aWNlLiBGb3IgZXhhbXBsZSwgYSBsb2FkIGJhbGFuY2VyIG1pZ2h0IGFkZCBpdHNcbiAgICAgKiBVUkwsIG9yIEFwcCBNZXNoIGNhbiBhZGQgaXRzIEROUyBuYW1lIGZvciB0aGUgc2VydmljZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1cmxOYW1lIC0gVGhlIGlkZW50aWZpZXIgbmFtZSBmb3IgdGhpcyBVUkxcbiAgICAgKiBAcGFyYW0gdXJsIC0gVGhlIFVSTCBpdHNlbGYuXG4gICAgICovXG4gICAgcHVibGljIGFkZFVSTCh1cmxOYW1lOiBzdHJpbmcsIHVybDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudXJsc1t1cmxOYW1lXSA9IHVybDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSBhIFVSTCBmb3IgdGhlIHNlcnZpY2UuIFRoZSBVUkwgbXVzdCBoYXZlIHByZXZpb3VzbHkgYmVlblxuICAgICAqIHN0b3JlZCBieSBvbmUgb2YgdGhlIFVSTCBwcm92aWRpbmcgZXh0ZW5zaW9ucy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1cmxOYW1lIC0gVGhlIFVSTCB0byBsb29rIHVwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRVUkwodXJsTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy51cmxzW3VybE5hbWVdKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIGEgVVJMIHdpdGggbmFtZSAnJHt1cmxOYW1lfSdgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnVybHNbdXJsTmFtZV07XG4gICAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEVBQTBGO0FBQzFGLDZDQUdxQjtBQUNyQixpREFBNkM7QUEyQzdDOzs7O0dBSUc7QUFDSCxNQUFhLE9BQVEsU0FBUSwwQkFBVztJQVdwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1COztRQUN6RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQU41Qjs7V0FFRztRQUNLLFNBQUksR0FBMkIsRUFBRSxDQUFDO1FBS3RDLDhFQUE4RTtRQUM5RSwwRUFBMEU7UUFDMUUsU0FBUztRQUNULEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRTtZQUN6RCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDN0Q7U0FDSjtRQUVELDBFQUEwRTtRQUMxRSxJQUFJLFlBQVksR0FBRztZQUNmLDZGQUE2RjtZQUM3RixnRUFBZ0U7WUFDaEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBRXhCLGdFQUFnRTtZQUNoRSxhQUFhLEVBQUUscUJBQUcsQ0FBQyxhQUFhLENBQUMsZUFBZTtTQUN4QixDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyw4Q0FBdUIsQ0FBQyxPQUFPLEVBQUU7WUFDdkQsWUFBWSxHQUFHO2dCQUNYLEdBQUcsWUFBWTtnQkFDZixHQUFHLEVBQUUsS0FBSztnQkFDVixTQUFTLEVBQUUsS0FBSzthQUNuQixDQUFDO1NBQ0w7UUFFRCxLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixD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LFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuRjtTQUNKO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksU0FBUyxDQUFDLE9BQWdCO1FBQzdCLEtBQUssTUFBTSxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzVFO1NBQ0o7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxPQUFlLEVBQUUsR0FBVztRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDSjtBQXhNRCwwQkF3TUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudENhcGFjaXR5VHlwZSwgU2VydmljZUJ1aWxkIH0gZnJvbSAnLi9leHRlbnNpb25zL2V4dGVuc2lvbi1pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgYXdzX2VjcyBhcyBlY3MsXG4gICAgYXdzX2lhbSBhcyBpYW1cbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2Utc2VydmljZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElFbnZpcm9ubWVudCB9IGZyb20gJy4vZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgU2VydmljZURlc2NyaXB0aW9uIH0gZnJvbSAnLi9zZXJ2aWNlLWRlc2NyaXB0aW9uJztcblxuLyoqXG4gKiBUaGUgc2V0dGluZ3MgZm9yIGFuIEVDUyBTZXJ2aWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VQcm9wcyB7XG4gICAgLyoqXG4gICAgICogVGhlIFNlcnZpY2VEZXNjcmlwdGlvbiB1c2VkIHRvIGJ1aWxkIHRoZSBzZXJ2aWNlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlcnZpY2VEZXNjcmlwdGlvbjogU2VydmljZURlc2NyaXB0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVudmlyb25tZW50IHRvIGxhdW5jaCB0aGUgc2VydmljZSBpbi5cbiAgICAgKi9cbiAgICByZWFkb25seSBlbnZpcm9ubWVudDogSUVudmlyb25tZW50XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgSUFNIHJvbGUgdGhhdCBncmFudHMgY29udGFpbmVycyBpbiB0aGUgdGFzayBwZXJtaXNzaW9uIHRvIGNhbGwgQVdTIEFQSXMgb24geW91ciBiZWhhbGYuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIEEgdGFzayByb2xlIGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgeW91LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRhc2tSb2xlPzogaWFtLklSb2xlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNhcGFjaXR5IHR5cGUgdXNlZCBieSB0aGUgc2VydmljZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAgICogQGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNhcGFjaXR5VHlwZT86IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlO1xuXG4gICAgLyoqXG4gICAgICogKGV4cGVyaW1lbnRhbCkgQSBsaXN0IG9mIENhcGFjaXR5IFByb3ZpZGVyIHN0cmF0ZWdpZXMgdXNlZCB0byBwbGFjZSBhIHNlcnZpY2UuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgICAqIEBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llcz86IGVjcy5DYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3lbXTtcbn1cblxuLyoqXG4gKiBUaGlzIFNlcnZpY2UgY29uc3RydWN0IHNlcnZlcyBhcyBhIEJ1aWxkZXIgY2xhc3MgZm9yIGFuIEVDUyBzZXJ2aWNlLiBJdFxuICogc3VwcG9ydHMgdmFyaW91cyBleHRlbnNpb25zIGFuZCBrZWVwcyB0cmFjayBvZiBhbnkgbXV0YXRpbmcgc3RhdGUsIGFsbG93aW5nXG4gKiBpdCB0byBidWlsZCB1cCBhbiBFQ1Mgc2VydmljZSBwcm9ncmVzc2l2ZWx5LlxuICovXG5leHBvcnQgY2xhc3MgU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdW5kZXJseWluZyBFQ1Mgc2VydmljZSB0aGF0IHdhcyBjcmVhdGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBlY3NTZXJ2aWNlITogZWNzLkVjMlNlcnZpY2UgfCBlY3MuRmFyZ2F0ZVNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGlzdCBvZiBVUkxzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHNlcnZpY2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cmxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2VydmljZVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgICAgIC8vIEF0IHRoZSBwb2ludCBvZiBwcmVwYXJhdGlvbiBhbGwgZXh0ZW5zaW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBvbiB0aGUgc2VydmljZVxuICAgICAgICAvLyBTbyBnaXZlIGVhY2ggZXh0ZW5zaW9uIGEgY2hhbmNlIHRvIG5vdyBhZGQgaG9va3MgdG8gb3RoZXIgZXh0ZW5zaW9ucyBpZlxuICAgICAgICAvLyBOZWVkZWRcbiAgICAgICAgZm9yIChjb25zdCBleHRlbnNpb25zIGluIHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXS5hZGRIb29rcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2l2ZSBlYWNoIGV4dGVuc2lvbiBhIGNoYW5jZSB0byBtdXRhdGUgdGhlIHRhc2sgZGVmIGNyZWF0aW9uIHByb3BlcnRpZXNcbiAgICAgICAgbGV0IHRhc2tEZWZQcm9wcyA9IHtcbiAgICAgICAgICAgIC8vIEFsbG93IHVzZXIgdG8gcHJlLWRlZmluZSB0aGUgdGFza1JvbGUgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBpbiByZXNvdXJjZSBwb2xpY2llcyB0aGF0IG1heVxuICAgICAgICAgICAgLy8gQmUgZGVmaW5lZCBiZWZvcmUgdGhlIEVDUyBzZXJ2aWNlIGV4aXN0cyBpbiBhIENESyBhcHBsaWNhdGlvblxuICAgICAgICAgICAgdGFza1JvbGU6IHByb3BzLnRhc2tSb2xlLFxuXG4gICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgdGFzayBkZWZpbml0aW9uIHN1cHBvcnRzIGJvdGggRUMyIGFuZCBGYXJnYXRlXG4gICAgICAgICAgICBjb21wYXRpYmlsaXR5OiBlY3MuQ29tcGF0aWJpbGl0eS5FQzJfQU5EX0ZBUkdBVEUsXG4gICAgICAgIH0gYXMgZWNzLlRhc2tEZWZpbml0aW9uUHJvcHM7XG5cbiAgICAgICAgaWYgKHRoaXMuY2FwYWNpdHlUeXBlID09PSBFbnZpcm9ubWVudENhcGFjaXR5VHlwZS5GQVJHQVRFKSB7XG4gICAgICAgICAgICB0YXNrRGVmUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgLi4udGFza0RlZlByb3BzLFxuICAgICAgICAgICAgICAgIGNwdTogJzI1NicsXG4gICAgICAgICAgICAgICAgbWVtb3J5TWlCOiAnNTEyJyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgb2YgT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgdGFza0RlZlByb3BzID0gdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXS5tb2RpZnlUYXNrRGVmaW5pdGlvblByb3BzKHRhc2tEZWZQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOb3cgdGhhdCB0aGUgdGFzayBkZWZpbml0aW9uIHByb3BlcnRpZXMgYXJlIGFzc2VtYmxlZCwgY3JlYXRlIGl0XG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24gPSBuZXcgZWNzLlRhc2tEZWZpbml0aW9uKHRoaXMuc2NvcGUsIGAke3RoaXMuaWR9LXRhc2stZGVmaW5pdGlvbmAsIHRhc2tEZWZQcm9wcyk7XG5cbiAgICAgICAgLy8gTm93IGdpdmUgZWFjaCBleHRlbnNpb24gYSBjaGFuY2UgdG8gdXNlIHRoZSB0YXNrIGRlZmluaXRpb25cbiAgICAgICAgZm9yIChjb25zdCBleHRlbnNpb25zIG9mIE9iamVjdC5rZXlzKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnMpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10udXNlVGFza0RlZmluaXRpb24odGhpcy50YXNrRGVmaW5pdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jYXBhY2l0eVR5cGUgPT09IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlLkVDMikge1xuICAgICAgICAgICAgbGV0IG1lbW9yeSA9IDA7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgb2YgT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLmNvbnRhaW5lcjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvcHMgPSAoY29udGFpbmVyIGFzIGFueSkucHJvcHM7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnkgKz0gcHJvcHMubWVtb3J5UmVzZXJ2YXRpb25NaUIgPz8gcHJvcHMubWVtb3J5TGltaXRNaUI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnRhc2tEZWZpbml0aW9uLm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIGVjcy5DZm5UYXNrRGVmaW5pdGlvbjtcbiAgICAgICAgICAgIG5vZGUubWVtb3J5ID0gU3RyaW5nKG1lbW9yeSB8fCAyNTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm93IHRoYXQgYWxsIGNvbnRhaW5lcnMgYXJlIGNyZWF0ZWQsIGdpdmUgZWFjaCBleHRlbnNpb24gYSBjaGFuY2VcbiAgICAgICAgLy8gVG8gYmFrZSBpdHMgZGVwZW5kZW5jeSBncmFwaFxuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgb2YgT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXS5yZXNvbHZlQ29udGFpbmVyRGVwZW5kZW5jaWVzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHaXZlIGVhY2ggZXh0ZW5zaW9uIGEgY2hhbmNlIHRvIG11dGF0ZSB0aGUgc2VydmljZSBwcm9wcyBiZWZvcmVcbiAgICAgICAgLy8gU2VydmljZSBjcmVhdGlvblxuICAgICAgICBsZXQgc2VydmljZVByb3BzID0ge1xuICAgICAgICAgICAgY2x1c3RlcjogdGhpcy5jbHVzdGVyLFxuICAgICAgICAgICAgdGFza0RlZmluaXRpb246IHRoaXMudGFza0RlZmluaXRpb24sXG4gICAgICAgICAgICBtaW5IZWFsdGh5UGVyY2VudDogMTAwLFxuICAgICAgICAgICAgbWF4SGVhbHRoeVBlcmNlbnQ6IDIwMCxcbiAgICAgICAgICAgIGRlc2lyZWRDb3VudDogMSxcbiAgICAgICAgfSBhcyBTZXJ2aWNlQnVpbGQ7XG5cbiAgICAgICAgZm9yIChjb25zdCBleHRlbnNpb25zIG9mIE9iamVjdC5rZXlzKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnMpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXSkge1xuICAgICAgICAgICAgICAgIHNlcnZpY2VQcm9wcyA9IHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10ubW9kaWZ5U2VydmljZVByb3BzKHNlcnZpY2VQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBhIG1heEhlYWx0aHlQZXJjZW50IGFuZCBkZXNpcmVkIGNvdW50IGhhcyBiZWVuIHNldCB3aGlsZSBtaW5IZWFsdGh5UGVyY2VudCA9PSAxMDAlIHRoZW4gd2VcbiAgICAgICAgLy8gTmVlZCB0byBkbyBzb21lIGZhaWxzYWZlIGNoZWNraW5nIHRvIGVuc3VyZSB0aGF0IHRoZSBtYXhIZWFsdGh5UGVyY2VudFxuICAgICAgICAvLyBBY3R1YWxseSBhbGxvd3MgYSByb2xsaW5nIGRlcGxveS4gT3RoZXJ3aXNlIGl0IGlzIHBvc3NpYmxlIHRvIGVuZCB1cCB3aXRoXG4gICAgICAgIC8vIEJsb2NrZWQgZGVwbG95cyB0aGF0IGNhbiB0YWtlIG5vIGFjdGlvbiBiZWNhdXNlIG1pbkhlYWx0eWhQZXJjZW50ID09IDEwMCVcbiAgICAgICAgLy8gUHJldmVudHMgcnVubmluZywgaGVhbHRoeSB0YXNrcyBmcm9tIGJlaW5nIHN0b3BwZWQsIGJ1dCBhIGxvdyBtYXhIZWFsdGh5UGVyY2VudFxuICAgICAgICAvLyBDYW4gYWxzbyBwcmV2ZW50cyBuZXcgcGFyYWxsZWwgdGFza3MgZnJvbSBiZWluZyBzdGFydGVkLlxuICAgICAgICBpZiAoc2VydmljZVByb3BzLm1heEhlYWx0aHlQZXJjZW50ICYmIHNlcnZpY2VQcm9wcy5kZXNpcmVkQ291bnQgJiYgc2VydmljZVByb3BzLm1pbkhlYWx0aHlQZXJjZW50ICYmIDEwMCA9PSBzZXJ2aWNlUHJvcHMubWluSGVhbHRoeVBlcmNlbnQpIHtcbiAgICAgICAgICAgIGlmICgxID09IHNlcnZpY2VQcm9wcy5kZXNpcmVkQ291bnQpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBvbmUgdGFzayB0aGVuIHdlIG11c3QgYWxsb3cgbWF4IHBlcmNlbnRhZ2UgdG8gYmUgYXRcbiAgICAgICAgICAgICAgICAvLyBMZWFzdCAyMDAlIGZvciBhbm90aGVyIHJlcGxhY2VtZW50IHRhc2sgdG8gYmUgYWRkZWRcbiAgICAgICAgICAgICAgICBzZXJ2aWNlUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnNlcnZpY2VQcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgbWF4SGVhbHRoeVBlcmNlbnQ6IE1hdGgubWF4KDIwMCwgc2VydmljZVByb3BzLm1heEhlYWx0aHlQZXJjZW50KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmICgzID49IHNlcnZpY2VQcm9wcy5kZXNpcmVkQ291bnQpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0YXNrIGNvdW50IGlzIDIgb3IgMyB0aGVuIG1heCBwZXJjZW50IG11c3QgYmUgYXQgbGVhc3QgMTUwJSB0b1xuICAgICAgICAgICAgICAgIC8vIEFsbG93IG9uZSByZXBsYWNlbWVudCB0YXNrIHRvIGJlIGxhdW5jaGVkIGF0IGEgdGltZS5cbiAgICAgICAgICAgICAgICBzZXJ2aWNlUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnNlcnZpY2VQcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgbWF4SGVhbHRoeVBlcmNlbnQ6IE1hdGgubWF4KDE1MCwgc2VydmljZVByb3BzLm1heEhlYWx0aHlQZXJjZW50KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBGb3IgYW55dGhpbmcgaGlnaGVyIHRoYW4gMyB0YXNrcyBzZXQgbWF4IHBlcmNlbnQgdG8gYXQgbGVhc3QgMTI1JVxuICAgICAgICAgICAgICAgIC8vIEZvciA0IHRhc2tzIHRoaXMgd2lsbCBhbGxvdyBleGFjdGx5IG9uZSBleHRyYSByZXBsYWNlbWVudCB0YXNrXG4gICAgICAgICAgICAgICAgLy8gQXQgYSB0aW1lLCBmb3IgYW55IGhpZ2hlciB0YXNrIGNvdW50IGl0IHdpbGwgYWxsb3cgMjUlIG9mIHRoZSB0YXNrc1xuICAgICAgICAgICAgICAgIC8vIFRvIGJlIHJlcGxhY2VkIGF0IGEgdGltZS5cbiAgICAgICAgICAgICAgICBzZXJ2aWNlUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnNlcnZpY2VQcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgbWF4SGVhbHRoeVBlcmNlbnQ6IE1hdGgubWF4KDEyNSwgc2VydmljZVByb3BzLm1heEhlYWx0aHlQZXJjZW50KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDAgPCAocHJvcHMuY2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMgPz8gW10pLmxlbmd0aCkge1xuICAgICAgICAgICAgc2VydmljZVByb3BzID0ge1xuICAgICAgICAgICAgICAgIC4uLnNlcnZpY2VQcm9wcyxcbiAgICAgICAgICAgICAgICBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llczogcHJvcHMuY2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm93IHRoYXQgdGhlIHNlcnZpY2UgcHJvcHMgYXJlIGRldGVybWluZWQgd2UgY2FuIGNyZWF0ZVxuICAgICAgICAvLyBUaGUgc2VydmljZVxuICAgICAgICBpZiAodGhpcy5jYXBhY2l0eVR5cGUgPT09IEVudmlyb25tZW50Q2FwYWNpdHlUeXBlLkVDMikge1xuICAgICAgICAgICAgdGhpcy5lY3NTZXJ2aWNlID0gbmV3IGVjcy5FYzJTZXJ2aWNlKHRoaXMuc2NvcGUsIGAke3RoaXMuaWR9LXNlcnZpY2VgLCBzZXJ2aWNlUHJvcHMpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2FwYWNpdHlUeXBlID09PSBFbnZpcm9ubWVudENhcGFjaXR5VHlwZS5GQVJHQVRFKSB7XG4gICAgICAgICAgICB0aGlzLmVjc1NlcnZpY2UgPSBuZXcgZWNzLkZhcmdhdGVTZXJ2aWNlKHRoaXMuc2NvcGUsIGAke3RoaXMuaWR9LXNlcnZpY2VgLCBzZXJ2aWNlUHJvcHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNhcGFjaXR5IHR5cGUgZm9yIHNlcnZpY2UgJHt0aGlzLmlkfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm93IGdpdmUgYWxsIGV4dGVuc2lvbnMgYSBjaGFuY2UgdG8gdXNlIHRoZSBzZXJ2aWNlXG4gICAgICAgIGZvciAoY29uc3QgZXh0ZW5zaW9ucyBvZiBPYmplY3Qua2V5cyh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLnVzZVNlcnZpY2UodGhpcy5lY3NTZXJ2aWNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgZXh0ZW5zaW9ucyBvZiBPYmplY3Qua2V5cyh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnNbZXh0ZW5zaW9uc10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdLnJlc29sdmVTZXJ2aWNlRGVwZW5kZW5jaWVzKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGVsbCBleHRlbnNpb25zIGZyb20gb25lIHNlcnZpY2UgdG8gY29ubmVjdCB0byBleHRlbnNpb25zIGZyb21cbiAgICAgKiBhbm90aGVyIHNlcnZpY2UgaWYgdGhleSBoYXZlIGltcGxlbWVudGVkIGEgaG9vayBmb3IgaXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VydmljZVxuICAgICAqL1xuICAgIHB1YmxpYyBjb25uZWN0VG8oc2VydmljZTogU2VydmljZSkge1xuICAgICAgICBmb3IgKGNvbnN0IGV4dGVuc2lvbnMgb2YgT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9ucykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2VEZXNjcmlwdGlvbi5leHRlbnNpb25zW2V4dGVuc2lvbnNdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlRGVzY3JpcHRpb24uZXh0ZW5zaW9uc1tleHRlbnNpb25zXS5jb25uZWN0VG9TZXJ2aWNlKHNlcnZpY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgYWRkcyBhIG5ldyBVUkwgZm9yIHRoZSBzZXJ2aWNlLiBUaGlzIGFsbG93cyBleHRlbnNpb25zIHRvXG4gICAgICogc3VibWl0IGEgVVJMIGZvciB0aGUgc2VydmljZS4gRm9yIGV4YW1wbGUsIGEgbG9hZCBiYWxhbmNlciBtaWdodCBhZGQgaXRzXG4gICAgICogVVJMLCBvciBBcHAgTWVzaCBjYW4gYWRkIGl0cyBETlMgbmFtZSBmb3IgdGhlIHNlcnZpY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJsTmFtZSAtIFRoZSBpZGVudGlmaWVyIG5hbWUgZm9yIHRoaXMgVVJMXG4gICAgICogQHBhcmFtIHVybCAtIFRoZSBVUkwgaXRzZWxmLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRVUkwodXJsTmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZykge1xuICAgICAgICB0aGlzLnVybHNbdXJsTmFtZV0gPSB1cmw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmUgYSBVUkwgZm9yIHRoZSBzZXJ2aWNlLiBUaGUgVVJMIG11c3QgaGF2ZSBwcmV2aW91c2x5IGJlZW5cbiAgICAgKiBzdG9yZWQgYnkgb25lIG9mIHRoZSBVUkwgcHJvdmlkaW5nIGV4dGVuc2lvbnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJsTmFtZSAtIFRoZSBVUkwgdG8gbG9vayB1cC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VVJMKHVybE5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMudXJsc1t1cmxOYW1lXSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZmluZCBhIFVSTCB3aXRoIG5hbWUgJyR7dXJsTmFtZX0nYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy51cmxzW3VybE5hbWVdO1xuICAgIH1cbn1cbiJdfQ==

@@ -111,2 +111,2 @@ "use strict";

exports.Code = Code;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRIO0FBQzVILGlEQUE0RDtBQUM1RCxvRUFBcUU7QUFFckUsU0FBUyxPQUFPLENBQUMsQ0FBYTtJQUMxQixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxJQUFjLEVBQUUsT0FBMEI7O0lBQzFELE1BQU0sSUFBSSxTQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxtQ0FBSSxRQUFRLENBQUM7SUFDaEQsTUFBTSxJQUFJLEdBQUcseUJBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTVDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNaLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQztLQUNwQjtJQUVELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQyxNQUFNLGFBQWEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxRQUFRLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFFBQVEsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDdkk7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSx1QkFBdUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDaEU7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBc0IsSUFBSyxTQUFRLHdCQUFNLENBQUMsSUFBSTtJQUMxQyxNQUFNLENBQUMsU0FB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QyxDQUFFLENBQUMsQ0FBQztvQkFFeEUsT0FBTyxJQUFJLENBQUM7Z0JBQ2hCLENBQUM7YUFDSjtZQUNELEdBQUcsT0FBTyxDQUFDLFFBQVE7U0FDdEIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsT0FBTyx3QkFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDSjtBQXBHRCxvQkFvR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NldFN0YWdpbmcsIEJ1bmRsaW5nT3B0aW9ucywgRG9ja2VyVm9sdW1lLCBhd3NfbGFtYmRhIGFzIGxhbWJkYSwgYXdzX3MzX2Fzc2V0cyBhcyBzM19hc3NldHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBTcGF3blN5bmNPcHRpb25zLCBzcGF3blN5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IG1ha2VVbmlxdWVJZCB9IGZyb20gXCJhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcml2YXRlL3VuaXF1ZWlkXCI7XG5cbmZ1bmN0aW9uIGZsYXR0ZW4oeDogc3RyaW5nW11bXSkge1xuICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0KFtdLCAuLi54KTtcbn1cblxuZnVuY3Rpb24gZG9ja2VyRXhlYyhhcmdzOiBzdHJpbmdbXSwgb3B0aW9ucz86IFNwYXduU3luY09wdGlvbnMpIHtcbiAgICBjb25zdCBwcm9nID0gcHJvY2Vzcy5lbnYuQ0RLX0RPQ0tFUiA/PyAnZG9ja2VyJztcbiAgICBjb25zdCBwcm9jID0gc3Bhd25TeW5jKHByb2csIGFyZ3MsIG9wdGlvbnMpO1xuXG4gICAgaWYgKHByb2MuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgcHJvYy5lcnJvcjtcbiAgICB9XG5cbiAgICBpZiAoMCAhPT0gcHJvYy5zdGF0dXMpIHtcbiAgICAgICAgaWYgKHByb2Muc3Rkb3V0IHx8IHByb2Muc3RkZXJyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFtTdGF0dXMgJHtwcm9jLnN0YXR1c31dIHN0ZG91dDogJHtwcm9jLnN0ZG91dD8udG9TdHJpbmcoKS50cmltKCl9XFxuXFxuXFxuc3RkZXJyOiAke3Byb2Muc3RkZXJyPy50b1N0cmluZygpLnRyaW0oKX1gKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cHJvZ30gZXhpdGVkIHdpdGggc3RhdHVzICR7cHJvYy5zdGF0dXN9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2M7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb2RlIGV4dGVuZHMgbGFtYmRhLkNvZGUge1xuICAgIHN0YXRpYyBmcm9tQXNzZXQocGF0aDogc3RyaW5nLCBvcHRpb25zPzogczNfYXNzZXRzLkFzc2V0T3B0aW9ucyk6IGxhbWJkYS5Bc3NldENvZGUge1xuICAgICAgICBjb25zdCBidW5kbGluZ09wdGlvbnM6IEJ1bmRsaW5nT3B0aW9ucyB8IHVuZGVmaW5lZCA9IG9wdGlvbnM/LmJ1bmRsaW5nICE9PSB1bmRlZmluZWQgPyB7XG4gICAgICAgICAgICBsb2NhbDoge1xuICAgICAgICAgICAgICAgIHRyeUJ1bmRsZShvdXRwdXREaXI6IHN0cmluZywgb3B0aW9uczogQnVuZGxpbmdPcHRpb25zKTogYm9vbGVhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvY2tlclZvbHVtZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZvbHVtZTogRG9ja2VyVm9sdW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgdm9sdW1lTmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICB9W10gPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgaW5wdXRWb2x1bWU6IGFueTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG91dHB1dFZvbHVtZTogYW55O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEFsd2F5cyBtb3VudCBpbnB1dCBhbmQgb3V0cHV0IGRpclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2x1bWVzID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RQYXRoOiBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBhdGg6IEFzc2V0U3RhZ2luZy5CVU5ETElOR19JTlBVVF9ESVIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RQYXRoOiBvdXRwdXREaXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyUGF0aDogQXNzZXRTdGFnaW5nLkJVTkRMSU5HX09VVFBVVF9ESVIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9ucy52b2x1bWVzID8/IFtdLFxuICAgICAgICAgICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2b2x1bWVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2x1bWVOYW1lID0gbWFrZVVuaXF1ZUlkKFsgdi5ob3N0UGF0aCBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvbHVtZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWU6IHYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sdW1lTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY2tlclZvbHVtZXMucHVzaCh2b2x1bWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYuY29udGFpbmVyUGF0aCA9PT0gQXNzZXRTdGFnaW5nLkJVTkRMSU5HX0lOUFVUX0RJUikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0Vm9sdW1lID0gdm9sdW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2LmNvbnRhaW5lclBhdGggPT09IEFzc2V0U3RhZ2luZy5CVU5ETElOR19PVVRQVVRfRElSKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0Vm9sdW1lID0gdm9sdW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBkb2NrZXJFeGVjKFsgJ3ZvbHVtZScsICdjcmVhdGUnLCB2b2x1bWVOYW1lIF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gRG9ja2VyIHJ1biAtdiBhc3NldC1pbnB1dDovYXNzZXQtaW5wdXQgLXYgYXNzZXQtb3V0cHV0Oi9hc3NldC1vdXRwdXQgLS1uYW1lIGhlbHBlciBidXN5Ym94XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlbHBlck5hbWUgPSAnaGVscGVyJyArIH5+KE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlbHBlckNvbnRhaW5lclByb2MgPSBkb2NrZXJFeGVjKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICdydW4nLCAnLWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmxhdHRlbihkb2NrZXJWb2x1bWVzLm1hcChkdiA9PiBbICctdicsIGR2LnZvbHVtZU5hbWUgKyAnOicgKyBkdi52b2x1bWUuY29udGFpbmVyUGF0aCBdKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS1uYW1lJywgaGVscGVyTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdidXN5Ym94JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzbGVlcCcsICcxODAnLFxuICAgICAgICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaGVscGVyQ29udGFpbmVyUHJvYy5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgaGVscGVyQ29udGFpbmVyUHJvYy5lcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICgwICE9PSBoZWxwZXJDb250YWluZXJQcm9jLnN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdW5kbGluZyBoZWxwZXIgZXhpdGVkIHdpdGggc3RhdHVzOiAnICsgaGVscGVyQ29udGFpbmVyUHJvYy5zdGF0dXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gRG9ja2VyIGNwIDxhc3NldCBzb3VyY2U+IGhlbHBlcjovYXNzZXQtaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgZG9ja2VyRXhlYyhbICdjcCcsIGlucHV0Vm9sdW1lIS52b2x1bWUuaG9zdFBhdGggKyAnLy4nLCBoZWxwZXJOYW1lICsgJzonICsgaW5wdXRWb2x1bWUhLnZvbHVtZS5jb250YWluZXJQYXRoIF0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIERvY2tlciBydW4gLS1ybSAtdiBhc3NldC1pbnB1dDovYXNzZXQtaW5wdXQgLXYgYXNzZXQtb3V0cHV0L2Fzc2V0LW91dHB1dCA8dXNlciBjb21tYW5kPlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnZpcm9ubWVudCA9IG9wdGlvbnMuZW52aXJvbm1lbnQgfHwge307XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbW1hbmQgPSBvcHRpb25zLmNvbW1hbmQgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvY2tlckFyZ3MgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAncnVuJywgJy0tcm0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9ucy51c2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBbICctdScsIG9wdGlvbnMudXNlciBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZsYXR0ZW4oZG9ja2VyVm9sdW1lcy5tYXAodiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsgJy12JywgYCR7di52b2x1bWVOYW1lfToke3Yudm9sdW1lLmNvbnRhaW5lclBhdGh9YCBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmxhdHRlbihPYmplY3QuZW50cmllcyhlbnZpcm9ubWVudCkubWFwKChbIGssIHYgXSkgPT4gWyAnLS1lbnYnLCBgJHtrfT0ke3Z9YCBdKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAnLXcnLCBpbnB1dFZvbHVtZSEudm9sdW1lLmNvbnRhaW5lclBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmltYWdlLnRvSlNPTigpLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uY29tbWFuZCxcbiAgICAgICAgICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgICAgICAgICBkb2NrZXJFeGVjKGRvY2tlckFyZ3MpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIERvY2tlciBjcCBoZWxwZXI6L2Fzc2V0LW91dHB1dCA8c3RhZ2VkIGJ1bmRsaW5nIGRpcj5cbiAgICAgICAgICAgICAgICAgICAgZG9ja2VyRXhlYyhbICdjcCcsIGhlbHBlck5hbWUgKyAnOicgKyBvdXRwdXRWb2x1bWUhLnZvbHVtZS5jb250YWluZXJQYXRoICsgJy8uJywgb3V0cHV0Vm9sdW1lIS52b2x1bWUuaG9zdFBhdGggXSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gRG9ja2VyIHJtIGhlbHBlclxuICAgICAgICAgICAgICAgICAgICBkb2NrZXJFeGVjKFsgJ3JtJywgJy0tZm9yY2UnLCBoZWxwZXJOYW1lIF0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIERvY2tlciBybSBoZWxwZXJcbiAgICAgICAgICAgICAgICAgICAgZG9ja2VyRXhlYyhbICd2b2x1bWUnLCAncm0nLCAuLi5kb2NrZXJWb2x1bWVzLm1hcCh2ID0+IHYudm9sdW1lTmFtZSkgXSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi5vcHRpb25zLmJ1bmRsaW5nLFxuICAgICAgICB9IDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJldHVybiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aCwgeyAuLi4ob3B0aW9ucyA/PyB7fSksIGJ1bmRsaW5nOiBidW5kbGluZ09wdGlvbnMgfSk7XG4gICAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRIO0FBQzVILGlEQUE0RDtBQUM1RCxvRUFBcUU7QUFFckUsU0FBUyxPQUFPLENBQUMsQ0FBYTtJQUMxQixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxJQUFjLEVBQUUsT0FBMEI7O0lBQzFELE1BQU0sSUFBSSxTQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxtQ0FBSSxRQUFRLENBQUM7SUFDaEQsTUFBTSxJQUFJLEdBQUcseUJBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTVDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNaLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQztLQUNwQjtJQUVELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQyxNQUFNLGFBQWEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxRQUFRLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFFBQVEsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDdkk7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSx1QkFBdUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDaEU7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBc0IsSUFBSyxTQUFRLHdCQUFNLENBQUMsSUFBSTtJQUMxQyxNQUFNLENBQUMsU0FB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QyxDQUFFLENBQUMsQ0FBQztvQkFFeEUsT0FBTyxJQUFJLENBQUM7Z0JBQ2hCLENBQUM7YUFDSjtZQUNELEdBQUcsT0FBTyxDQUFDLFFBQVE7U0FDdEIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsT0FBTyx3QkFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDSjtBQXBHRCxvQkFvR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NldFN0YWdpbmcsIEJ1bmRsaW5nT3B0aW9ucywgRG9ja2VyVm9sdW1lLCBhd3NfbGFtYmRhIGFzIGxhbWJkYSwgYXdzX3MzX2Fzc2V0cyBhcyBzM19hc3NldHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBTcGF3blN5bmNPcHRpb25zLCBzcGF3blN5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IG1ha2VVbmlxdWVJZCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3ByaXZhdGUvdW5pcXVlaWQnO1xuXG5mdW5jdGlvbiBmbGF0dGVuKHg6IHN0cmluZ1tdW10pIHtcbiAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdChbXSwgLi4ueCk7XG59XG5cbmZ1bmN0aW9uIGRvY2tlckV4ZWMoYXJnczogc3RyaW5nW10sIG9wdGlvbnM/OiBTcGF3blN5bmNPcHRpb25zKSB7XG4gICAgY29uc3QgcHJvZyA9IHByb2Nlc3MuZW52LkNES19ET0NLRVIgPz8gJ2RvY2tlcic7XG4gICAgY29uc3QgcHJvYyA9IHNwYXduU3luYyhwcm9nLCBhcmdzLCBvcHRpb25zKTtcblxuICAgIGlmIChwcm9jLmVycm9yKSB7XG4gICAgICAgIHRocm93IHByb2MuZXJyb3I7XG4gICAgfVxuXG4gICAgaWYgKDAgIT09IHByb2Muc3RhdHVzKSB7XG4gICAgICAgIGlmIChwcm9jLnN0ZG91dCB8fCBwcm9jLnN0ZGVycikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBbU3RhdHVzICR7cHJvYy5zdGF0dXN9XSBzdGRvdXQ6ICR7cHJvYy5zdGRvdXQ/LnRvU3RyaW5nKCkudHJpbSgpfVxcblxcblxcbnN0ZGVycjogJHtwcm9jLnN0ZGVycj8udG9TdHJpbmcoKS50cmltKCl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3Byb2d9IGV4aXRlZCB3aXRoIHN0YXR1cyAke3Byb2Muc3RhdHVzfWApO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9jO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29kZSBleHRlbmRzIGxhbWJkYS5Db2RlIHtcbiAgICBzdGF0aWMgZnJvbUFzc2V0KHBhdGg6IHN0cmluZywgb3B0aW9ucz86IHMzX2Fzc2V0cy5Bc3NldE9wdGlvbnMpOiBsYW1iZGEuQXNzZXRDb2RlIHtcbiAgICAgICAgY29uc3QgYnVuZGxpbmdPcHRpb25zOiBCdW5kbGluZ09wdGlvbnMgfCB1bmRlZmluZWQgPSBvcHRpb25zPy5idW5kbGluZyAhPT0gdW5kZWZpbmVkID8ge1xuICAgICAgICAgICAgbG9jYWw6IHtcbiAgICAgICAgICAgICAgICB0cnlCdW5kbGUob3V0cHV0RGlyOiBzdHJpbmcsIG9wdGlvbnM6IEJ1bmRsaW5nT3B0aW9ucyk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkb2NrZXJWb2x1bWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWU6IERvY2tlclZvbHVtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZvbHVtZU5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgfVtdID0gW107XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IGlucHV0Vm9sdW1lOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBvdXRwdXRWb2x1bWU6IGFueTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBBbHdheXMgbW91bnQgaW5wdXQgYW5kIG91dHB1dCBkaXJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9sdW1lcyA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0UGF0aDogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQYXRoOiBBc3NldFN0YWdpbmcuQlVORExJTkdfSU5QVVRfRElSLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0UGF0aDogb3V0cHV0RGlyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBhdGg6IEFzc2V0U3RhZ2luZy5CVU5ETElOR19PVVRQVVRfRElSLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMudm9sdW1lcyA/PyBbXSxcbiAgICAgICAgICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHYgb2Ygdm9sdW1lcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9sdW1lTmFtZSA9IG1ha2VVbmlxdWVJZChbIHYuaG9zdFBhdGggXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2x1bWUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sdW1lOiB2LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvbHVtZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBkb2NrZXJWb2x1bWVzLnB1c2godm9sdW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2LmNvbnRhaW5lclBhdGggPT09IEFzc2V0U3RhZ2luZy5CVU5ETElOR19JTlBVVF9ESVIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFZvbHVtZSA9IHZvbHVtZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodi5jb250YWluZXJQYXRoID09PSBBc3NldFN0YWdpbmcuQlVORExJTkdfT1VUUFVUX0RJUikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dFZvbHVtZSA9IHZvbHVtZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgZG9ja2VyRXhlYyhbICd2b2x1bWUnLCAnY3JlYXRlJywgdm9sdW1lTmFtZSBdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIERvY2tlciBydW4gLXYgYXNzZXQtaW5wdXQ6L2Fzc2V0LWlucHV0IC12IGFzc2V0LW91dHB1dDovYXNzZXQtb3V0cHV0IC0tbmFtZSBoZWxwZXIgYnVzeWJveFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBoZWxwZXJOYW1lID0gJ2hlbHBlcicgKyB+fihNYXRoLnJhbmRvbSgpICogMTAwMDAwMDApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoZWxwZXJDb250YWluZXJQcm9jID0gZG9ja2VyRXhlYyhbXG4gICAgICAgICAgICAgICAgICAgICAgICAncnVuJywgJy1kJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZsYXR0ZW4oZG9ja2VyVm9sdW1lcy5tYXAoZHYgPT4gWyAnLXYnLCBkdi52b2x1bWVOYW1lICsgJzonICsgZHYudm9sdW1lLmNvbnRhaW5lclBhdGggXSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tbmFtZScsIGhlbHBlck5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYnVzeWJveCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2xlZXAnLCAnMTgwJyxcbiAgICAgICAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGhlbHBlckNvbnRhaW5lclByb2MuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGhlbHBlckNvbnRhaW5lclByb2MuZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoMCAhPT0gaGVscGVyQ29udGFpbmVyUHJvYy5zdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQnVuZGxpbmcgaGVscGVyIGV4aXRlZCB3aXRoIHN0YXR1czogJyArIGhlbHBlckNvbnRhaW5lclByb2Muc3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIERvY2tlciBjcCA8YXNzZXQgc291cmNlPiBoZWxwZXI6L2Fzc2V0LWlucHV0XG4gICAgICAgICAgICAgICAgICAgIGRvY2tlckV4ZWMoWyAnY3AnLCBpbnB1dFZvbHVtZSEudm9sdW1lLmhvc3RQYXRoICsgJy8uJywgaGVscGVyTmFtZSArICc6JyArIGlucHV0Vm9sdW1lIS52b2x1bWUuY29udGFpbmVyUGF0aCBdKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBEb2NrZXIgcnVuIC0tcm0gLXYgYXNzZXQtaW5wdXQ6L2Fzc2V0LWlucHV0IC12IGFzc2V0LW91dHB1dC9hc3NldC1vdXRwdXQgPHVzZXIgY29tbWFuZD5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW52aXJvbm1lbnQgPSBvcHRpb25zLmVudmlyb25tZW50IHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21tYW5kID0gb3B0aW9ucy5jb21tYW5kIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkb2NrZXJBcmdzID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bicsICctLXJtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMudXNlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gWyAnLXUnLCBvcHRpb25zLnVzZXIgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5mbGF0dGVuKGRvY2tlclZvbHVtZXMubWFwKHYgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbICctdicsIGAke3Yudm9sdW1lTmFtZX06JHt2LnZvbHVtZS5jb250YWluZXJQYXRofWAgXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZsYXR0ZW4oT2JqZWN0LmVudHJpZXMoZW52aXJvbm1lbnQpLm1hcCgoWyBrLCB2IF0pID0+IFsgJy0tZW52JywgYCR7a309JHt2fWAgXSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJy13JywgaW5wdXRWb2x1bWUhLnZvbHVtZS5jb250YWluZXJQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5pbWFnZS50b0pTT04oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbW1hbmQsXG4gICAgICAgICAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgICAgICAgICAgZG9ja2VyRXhlYyhkb2NrZXJBcmdzKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBEb2NrZXIgY3AgaGVscGVyOi9hc3NldC1vdXRwdXQgPHN0YWdlZCBidW5kbGluZyBkaXI+XG4gICAgICAgICAgICAgICAgICAgIGRvY2tlckV4ZWMoWyAnY3AnLCBoZWxwZXJOYW1lICsgJzonICsgb3V0cHV0Vm9sdW1lIS52b2x1bWUuY29udGFpbmVyUGF0aCArICcvLicsIG91dHB1dFZvbHVtZSEudm9sdW1lLmhvc3RQYXRoIF0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIERvY2tlciBybSBoZWxwZXJcbiAgICAgICAgICAgICAgICAgICAgZG9ja2VyRXhlYyhbICdybScsICctLWZvcmNlJywgaGVscGVyTmFtZSBdKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBEb2NrZXIgcm0gaGVscGVyXG4gICAgICAgICAgICAgICAgICAgIGRvY2tlckV4ZWMoWyAndm9sdW1lJywgJ3JtJywgLi4uZG9ja2VyVm9sdW1lcy5tYXAodiA9PiB2LnZvbHVtZU5hbWUpIF0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4ub3B0aW9ucy5idW5kbGluZyxcbiAgICAgICAgfSA6IHVuZGVmaW5lZDtcblxuICAgICAgICByZXR1cm4gbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGgsIHsgLi4uKG9wdGlvbnMgPz8ge30pLCBidW5kbGluZzogYnVuZGxpbmdPcHRpb25zIH0pO1xuICAgIH1cbn1cbiJdfQ==
{
"name": "@alekitto/cdk-constructs",
"version": "0.1.7-beta.2",
"version": "0.1.7",
"description": "AWS CDK constructs",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc