@aws-cdk/aws-imagebuilder-alpha 2.246.0-alpha.0 → 2.248.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +113 -55
- package/lib/amazon-managed-component.js +6 -5
- package/lib/amazon-managed-image.js +6 -5
- package/lib/amazon-managed-workflow.js +4 -3
- package/lib/base-image.js +3 -3
- package/lib/component.js +15 -15
- package/lib/container-recipe.js +10 -10
- package/lib/distribution-configuration.js +13 -13
- package/lib/image-pipeline.js +9 -9
- package/lib/image-recipe.js +7 -7
- package/lib/image.js +7 -7
- package/lib/infrastructure-configuration.js +15 -15
- package/lib/lifecycle-policy.js +25 -25
- package/lib/os-version.js +1 -1
- package/lib/private/image-and-pipeline-props-helper.js +4 -3
- package/lib/recipe-base.js +1 -1
- package/lib/workflow.js +14 -14
- package/package.json +6 -6
|
@@ -4,13 +4,14 @@ exports.AmazonManagedImage = void 0;
|
|
|
4
4
|
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const cdk = require("aws-cdk-lib");
|
|
7
|
+
const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
7
8
|
const image_1 = require("./image");
|
|
8
9
|
const constants_1 = require("./private/constants");
|
|
9
10
|
/**
|
|
10
11
|
* Helper class for working with Amazon-managed images
|
|
11
12
|
*/
|
|
12
13
|
class AmazonManagedImage {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.AmazonManagedImage", version: "2.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.AmazonManagedImage", version: "2.248.0-alpha.0" };
|
|
14
15
|
/**
|
|
15
16
|
* Imports the Amazon Linux 2 Amazon-managed image
|
|
16
17
|
*
|
|
@@ -499,10 +500,10 @@ class AmazonManagedImage {
|
|
|
499
500
|
};
|
|
500
501
|
static validatePredefinedManagedImageOptions(scope, opts, image) {
|
|
501
502
|
if (cdk.Token.isUnresolved(opts.imageArchitecture)) {
|
|
502
|
-
throw new cdk.ValidationError(
|
|
503
|
+
throw new cdk.ValidationError((0, helpers_internal_1.lit) `ArchitectureCannotBeToken`, `architecture cannot be a token for ${image}`, scope);
|
|
503
504
|
}
|
|
504
505
|
if (cdk.Token.isUnresolved(opts.imageType)) {
|
|
505
|
-
throw new cdk.ValidationError(
|
|
506
|
+
throw new cdk.ValidationError((0, helpers_internal_1.lit) `TypeCannotBeToken`, `type cannot be a token for ${image}`, scope);
|
|
506
507
|
}
|
|
507
508
|
}
|
|
508
509
|
static predefinedManagedImage(scope, id, opts, config) {
|
|
@@ -510,7 +511,7 @@ class AmazonManagedImage {
|
|
|
510
511
|
const key = `${opts.imageType}-${opts.imageArchitecture}`;
|
|
511
512
|
const imageName = config.supportedCombinations[key];
|
|
512
513
|
if (!imageName) {
|
|
513
|
-
throw new cdk.ValidationError(
|
|
514
|
+
throw new cdk.ValidationError((0, helpers_internal_1.lit) `UnsupportedArchitectureAndType`, `architecture ${opts.imageArchitecture} with type ${opts.imageType} is not a supported architecture and type for ${config.image}`, scope);
|
|
514
515
|
}
|
|
515
516
|
return this.fromAmazonManagedImageAttributes(scope, id, {
|
|
516
517
|
imageName,
|
|
@@ -519,4 +520,4 @@ class AmazonManagedImage {
|
|
|
519
520
|
}
|
|
520
521
|
}
|
|
521
522
|
exports.AmazonManagedImage = AmazonManagedImage;
|
|
522
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLW1hbmFnZWQtaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbWF6b24tbWFuYWdlZC1pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFtQztBQUduQyxtQ0FBOEQ7QUFDOUQsbURBQXFEO0FBK0NyRDs7R0FFRztBQUNILE1BQWEsa0JBQWtCOztJQUM3Qjs7Ozs7Ozs7O09BU0c7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQStCOzs7Ozs7Ozs7O1FBQ3RGLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBQ2pGO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxJQUErQjs7Ozs7Ozs7OztRQUN6RixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUNwRjtJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLHVCQUF1QixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQStCOzs7Ozs7Ozs7O1FBQ2pHLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0tBQzlGO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsMkJBQTJCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsSUFBK0I7Ozs7Ozs7Ozs7UUFDckcsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7S0FDbEc7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QUMsQ0FBQztLQUNKOztBQTdaSCxnREE4WkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSUltYWdlIH0gZnJvbSAnLi9pbWFnZSc7XG5pbXBvcnQgeyBJbWFnZSwgSW1hZ2VBcmNoaXRlY3R1cmUsIEltYWdlVHlwZSB9IGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IHsgTEFURVNUX1ZFUlNJT04gfSBmcm9tICcuL3ByaXZhdGUvY29uc3RhbnRzJztcblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gQW1hem9uLW1hbmFnZWQgaW1hZ2UgYnkgbmFtZSAoYW5kIG9wdGlvbmFsbHkgYSB2ZXJzaW9uKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtYXpvbk1hbmFnZWRJbWFnZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlLiBUaGUgcHJvdmlkZWQgbmFtZSBtdXN0IGJlIG5vcm1hbGl6ZWQgYnkgY29udmVydGluZyBhbGwgYWxwaGFiZXRpY2FsXG4gICAqIGNoYXJhY3RlcnMgdG8gbG93ZXJjYXNlLCBhbmQgcmVwbGFjaW5nIGFsbCBzcGFjZXMgYW5kIHVuZGVyc2NvcmVzIHdpdGggaHlwaGVucy5cbiAgICovXG4gIHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQGRlZmF1bHQgeC54LnhcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlVmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzZWxlY3RpbmcgYSBwcmVkZWZpbmVkIEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VBcmNoaXRlY3R1cmU6IEltYWdlQXJjaGl0ZWN0dXJlO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlVHlwZTogSW1hZ2VUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQGRlZmF1bHQgeC54LnhcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlVmVyc2lvbj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyB7XG4gIHJlYWRvbmx5IGltYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN1cHBvcnRlZENvbWJpbmF0aW9uczogeyBbY29tYm86IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIEhlbHBlciBjbGFzcyBmb3Igd29ya2luZyB3aXRoIEFtYXpvbi1tYW5hZ2VkIGltYWdlc1xuICovXG5leHBvcnQgY2xhc3MgQW1hem9uTWFuYWdlZEltYWdlIHtcbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIEFtYXpvbiBMaW51eCAyIEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGludXgvYWwyL3VnL2luZGV4Lmh0bWxcbiAgICogQHNlZSBodHRwczovL2dhbGxlcnkuZWNyLmF3cy9hbWF6b25saW51eC9hbWF6b25saW51eFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhbWF6b25MaW51eDIoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyk6IElJbWFnZSB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRJbWFnZShzY29wZSwgaWQsIG9wdHMsIHRoaXMuQU1BWk9OX0xJTlVYXzJfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBBbWF6b24gTGludXggMjAyMyBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xpbnV4L2FsMjAyMy91Zy93aGF0LWlzLWFtYXpvbi1saW51eC5odG1sXG4gICAqIEBzZWUgaHR0cHM6Ly9nYWxsZXJ5LmVjci5hd3MvYW1hem9ubGludXgvYW1hem9ubGludXhcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYW1hem9uTGludXgyMDIzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLkFNQVpPTl9MSU5VWF8yMDIzX0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgUmVkIEhhdCBFbnRlcnByaXNlIExpbnV4IDEwIEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2F3cy5hbWF6b24uY29tL3BhcnRuZXJzL3JlZGhhdC9mYXFzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlZEhhdEVudGVycHJpc2VMaW51eDEwKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLlJFRF9IQVRfRU5URVJQUklTRV9MSU5VWF8xMF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFNVU0UgTGludXggRW50ZXJwcmlzZSBTZXJ2ZXIgMTUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vbGludXgvY29tbWVyY2lhbC1saW51eC9mYXFzL1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdXNlTGludXhFbnRlcnByaXNlU2VydmVyMTUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyk6IElJbWFnZSB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRJbWFnZShzY29wZSwgaWQsIG9wdHMsIHRoaXMuU1VTRV9MSU5VWF9FTlRFUlBSSVNFX1NFUlZFUl8xNV9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFVidW50dSAyMi4wNCBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2N1bWVudGF0aW9uLnVidW50dS5jb20vYXdzXG4gICAqIEBzZWUgaHR0cHM6Ly9odWIuZG9ja2VyLmNvbS9fL3VidW50dVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1YnVudHVTZXJ2ZXIyMjA0KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLlVCVU5UVV9TRVJWRVJfMjJfMDRfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBVYnVudHUgMjQuMDQgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jdW1lbnRhdGlvbi51YnVudHUuY29tL2F3c1xuICAgKiBAc2VlIGh0dHBzOi8vaHViLmRvY2tlci5jb20vXy91YnVudHVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdWJ1bnR1U2VydmVyMjQwNChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkSW1hZ2VPcHRpb25zKTogSUltYWdlIHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZEltYWdlKHNjb3BlLCBpZCwgb3B0cywgdGhpcy5VQlVOVFVfU0VSVkVSXzI0XzA0X0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgV2luZG93cyBTZXJ2ZXIgMjAxNiBDb3JlIEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWMyL2xhdGVzdC93aW5kb3dzLWFtaS1yZWZlcmVuY2UvaW5kZXguaHRtbFxuICAgKiBAc2VlIGh0dHBzOi8vaHViLmRvY2tlci5jb20vci9taWNyb3NvZnQvd2luZG93cy1zZXJ2ZXJjb3JlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpbmRvd3NTZXJ2ZXIyMDE2Q29yZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkSW1hZ2VPcHRpb25zKTogSUltYWdlIHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZEltYWdlKHNjb3BlLCBpZCwgb3B0cywgdGhpcy5XSU5ET1dTX1NFUlZFUl8yMDE2X0NPUkVfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBXaW5kb3dzIFNlcnZlciAyMDE2IEZ1bGwgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lYzIvbGF0ZXN0L3dpbmRvd3MtYW1pLXJlZmVyZW5jZS9pbmRleC5odG1sXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpbmRvd3NTZXJ2ZXIyMDE2RnVsbChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkSW1hZ2VPcHRpb25zKTogSUltYWdlIHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZEltYWdlKHNjb3BlLCBpZCwgb3B0cywgdGhpcy5XSU5ET1dTX1NFUlZFUl8yMDE2X0ZVTExfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBXaW5kb3dzIFNlcnZlciAyMDE5IENvcmUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lYzIvbGF0ZXN0L3dpbmRvd3MtYW1pLXJlZmVyZW5jZS9pbmRleC5odG1sXG4gICAqIEBzZWUgaHR0cHM6Ly9odWIuZG9ja2VyLmNvbS9yL21pY3Jvc29mdC93aW5kb3dzLXNlcnZlcmNvcmVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMTlDb3JlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMTlfQ09SRV9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMTkgRnVsbCBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMTlGdWxsKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMTlfRlVMTF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMjIgQ29yZSBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMjJDb3JlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMjJfQ09SRV9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMjIgRnVsbCBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMjJGdWxsKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMjJfRlVMTF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMjUgQ29yZSBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMjVDb3JlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMjVfQ09SRV9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMjUgRnVsbCBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMjVGdWxsKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMjVfRlVMTF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIG1hY09TIDE0IEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvZWMyLW1hYy1pbnN0YW5jZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYWNPUzE0KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLk1BQ09TXzE0X0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgbWFjT1MgMTUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9lYzItbWFjLWluc3RhbmNlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1hY09TMTUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyk6IElJbWFnZSB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRJbWFnZShzY29wZSwgaWQsIG9wdHMsIHRoaXMuTUFDT1NfMTVfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGZyb20gaXRzIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gYXR0cnMgLSBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQW1hem9uTWFuYWdlZEltYWdlQXR0cmlidXRlcyhcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYXR0cnM6IEFtYXpvbk1hbmFnZWRJbWFnZUF0dHJpYnV0ZXMsXG4gICk6IElJbWFnZSB7XG4gICAgcmV0dXJuIEltYWdlLmZyb21JbWFnZUFybihcbiAgICAgIHNjb3BlLFxuICAgICAgaWQsXG4gICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgICAgcmVzb3VyY2U6ICdpbWFnZScsXG4gICAgICAgIHJlc291cmNlTmFtZTogYCR7YXR0cnMuaW1hZ2VOYW1lfS8ke2F0dHJzLmltYWdlVmVyc2lvbiA/PyBMQVRFU1RfVkVSU0lPTn1gLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGZyb20gaXRzIG5hbWVcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gYW1hem9uTWFuYWdlZEltYWdlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQW1hem9uTWFuYWdlZEltYWdlTmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhbWF6b25NYW5hZ2VkSW1hZ2VOYW1lOiBzdHJpbmcpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLmZyb21BbWF6b25NYW5hZ2VkSW1hZ2VBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBpbWFnZU5hbWU6IGFtYXpvbk1hbmFnZWRJbWFnZU5hbWUgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTUFaT05fTElOVVhfMl9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ0FtYXpvbiBMaW51eCAyJyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ2FtYXpvbi1saW51eC0yLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5BUk02NH1gXTogJ2FtYXpvbi1saW51eC0yLWFybTY0JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuRE9DS0VSfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ2FtYXpvbi1saW51eC14ODYtMicsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTUFaT05fTElOVVhfMjAyM19DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ0FtYXpvbiBMaW51eCAyMDIzJyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ2FtYXpvbi1saW51eC0yMDIzLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5BUk02NH1gXTogJ2FtYXpvbi1saW51eC0yMDIzLWFybTY0JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuRE9DS0VSfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ2FtYXpvbi1saW51eC0yMDIzLXg4Ni0yMDIzJyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFJFRF9IQVRfRU5URVJQUklTRV9MSU5VWF8xMF9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1JlZCBIYXQgRW50ZXJwcmlzZSBMaW51eCAxMCcsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICdyZWQtaGF0LWVudGVycHJpc2UtbGludXgtMTAteDg2JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLkFSTTY0fWBdOiAncmVkLWhhdC1lbnRlcnByaXNlLWxpbnV4LTEwLWFybTY0JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNVU0VfTElOVVhfRU5URVJQUklTRV9TRVJWRVJfMTVfQ09ORklHOiBBbWF6b25NYW5hZ2VkSW1hZ2VDb25maWcgPSB7XG4gICAgaW1hZ2U6ICdTVVNFIExpbnV4IEVudGVycHJpc2UgU2VydmVyIDE1JyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3N1c2UtbGludXgtZW50ZXJwcmlzZS1zZXJ2ZXItMTUteDg2JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLkFSTTY0fWBdOiAnc3VzZS1saW51eC1lbnRlcnByaXNlLXNlcnZlci0xNS1hcm02NCcsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBVQlVOVFVfU0VSVkVSXzIyXzA0X0NPTkZJRzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnID0ge1xuICAgIGltYWdlOiAnVWJ1bnR1IDIyLjA0JyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3VidW50dS1zZXJ2ZXItMjItbHRzLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5BUk02NH1gXTogJ3VidW50dS1zZXJ2ZXItMjItbHRzLWFybTY0JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuRE9DS0VSfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3VidW50dS0yMi14ODYtMjItMDQnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVUJVTlRVX1NFUlZFUl8yNF8wNF9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1VidW50dSAyNC4wNCcsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd1YnVudHUtc2VydmVyLTI0LWx0cy14ODYnLFxuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuQVJNNjR9YF06ICd1YnVudHUtc2VydmVyLTI0LWx0cy1hcm02NCcsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkRPQ0tFUn0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd1YnVudHUtMjQteDg2LTI0LTA0JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFdJTkRPV1NfU0VSVkVSXzIwMTZfQ09SRV9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1dpbmRvd3MgU2VydmVyIDIwMTYgQ29yZScsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd3aW5kb3dzLXNlcnZlci0yMDE2LWVuZ2xpc2gtY29yZS1iYXNlLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkRPQ0tFUn0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd3aW5kb3dzLXNlcnZlci0yMDE2LXg4Ni1jb3JlLWx0c2MyMDE2LWFtZDY0JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFdJTkRPV1NfU0VSVkVSXzIwMTZfRlVMTF9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1dpbmRvd3MgU2VydmVyIDIwMTYgRnVsbCcsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd3aW5kb3dzLXNlcnZlci0yMDE2LWVuZ2xpc2gtZnVsbC1iYXNlLXg4NicsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBXSU5ET1dTX1NFUlZFUl8yMDE5X0NPUkVfQ09ORklHOiBBbWF6b25NYW5hZ2VkSW1hZ2VDb25maWcgPSB7XG4gICAgaW1hZ2U6ICdXaW5kb3dzIFNlcnZlciAyMDE5IENvcmUnLFxuICAgIHN1cHBvcnRlZENvbWJpbmF0aW9uczoge1xuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnd2luZG93cy1zZXJ2ZXItMjAxOS1lbmdsaXNoLWNvcmUtYmFzZS14ODYnLFxuICAgICAgW2Ake0ltYWdlVHlwZS5ET0NLRVJ9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnd2luZG93cy1zZXJ2ZXItMjAxOS14ODYtY29yZS1sdHNjMjAxOS1hbWQ2NCcsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBXSU5ET1dTX1NFUlZFUl8yMDE5X0ZVTExfQ09ORklHOiBBbWF6b25NYW5hZ2VkSW1hZ2VDb25maWcgPSB7XG4gICAgaW1hZ2U6ICdXaW5kb3dzIFNlcnZlciAyMDE5IEZ1bGwnLFxuICAgIHN1cHBvcnRlZENvbWJpbmF0aW9uczoge1xuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnd2luZG93cy1zZXJ2ZXItMjAxOS1lbmdsaXNoLWZ1bGwtYmFzZS14ODYnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgV0lORE9XU19TRVJWRVJfMjAyMl9DT1JFX0NPTkZJRzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnID0ge1xuICAgIGltYWdlOiAnV2luZG93cyBTZXJ2ZXIgMjAyMiBDb3JlJyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3dpbmRvd3Mtc2VydmVyLTIwMjItZW5nbGlzaC1jb3JlLWJhc2UteDg2JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFdJTkRPV1NfU0VSVkVSXzIwMjJfRlVMTF9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1dpbmRvd3MgU2VydmVyIDIwMjIgRnVsbCcsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd3aW5kb3dzLXNlcnZlci0yMDIyLWVuZ2xpc2gtZnVsbC1iYXNlLXg4NicsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBXSU5ET1dTX1NFUlZFUl8yMDI1X0NPUkVfQ09ORklHOiBBbWF6b25NYW5hZ2VkSW1hZ2VDb25maWcgPSB7XG4gICAgaW1hZ2U6ICdXaW5kb3dzIFNlcnZlciAyMDI1IENvcmUnLFxuICAgIHN1cHBvcnRlZENvbWJpbmF0aW9uczoge1xuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnd2luZG93cy1zZXJ2ZXItMjAyNS1lbmdsaXNoLWNvcmUtYmFzZS14ODYnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgV0lORE9XU19TRVJWRVJfMjAyNV9GVUxMX0NPTkZJRzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnID0ge1xuICAgIGltYWdlOiAnV2luZG93cyBTZXJ2ZXIgMjAyNSBGdWxsJyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3dpbmRvd3Mtc2VydmVyLTIwMjUtZW5nbGlzaC1mdWxsLWJhc2UteDg2JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1BQ09TXzE0X0NPTkZJRzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnID0ge1xuICAgIGltYWdlOiAnbWFjT1MgMTQnLFxuICAgIHN1cHBvcnRlZENvbWJpbmF0aW9uczoge1xuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnbWFjb3Mtc29ub21hLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5BUk02NH1gXTogJ21hY29zLXNvbm9tYS1hcm02NCcsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBNQUNPU18xNV9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ21hY09TIDE1JyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ21hY29zLXNlcXVvaWEteDg2JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLkFSTTY0fWBdOiAnbWFjb3Mtc2VxdW9pYS1hcm02NCcsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyB2YWxpZGF0ZVByZWRlZmluZWRNYW5hZ2VkSW1hZ2VPcHRpb25zKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgb3B0czogQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyxcbiAgICBpbWFnZTogc3RyaW5nLFxuICApIHtcbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChvcHRzLmltYWdlQXJjaGl0ZWN0dXJlKSkge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ0FyY2hpdGVjdHVyZUNhbm5vdEJlVG9rZW4nLCBgYXJjaGl0ZWN0dXJlIGNhbm5vdCBiZSBhIHRva2VuIGZvciAke2ltYWdlfWAsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChvcHRzLmltYWdlVHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdUeXBlQ2Fubm90QmVUb2tlbicsIGB0eXBlIGNhbm5vdCBiZSBhIHRva2VuIGZvciAke2ltYWdlfWAsIHNjb3BlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBwcmVkZWZpbmVkTWFuYWdlZEltYWdlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcHRzOiBBbWF6b25NYW5hZ2VkSW1hZ2VPcHRpb25zLFxuICAgIGNvbmZpZzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnLFxuICApOiBJSW1hZ2Uge1xuICAgIHRoaXMudmFsaWRhdGVQcmVkZWZpbmVkTWFuYWdlZEltYWdlT3B0aW9ucyhzY29wZSwgb3B0cywgY29uZmlnLmltYWdlKTtcblxuICAgIGNvbnN0IGtleSA9IGAke29wdHMuaW1hZ2VUeXBlfS0ke29wdHMuaW1hZ2VBcmNoaXRlY3R1cmV9YDtcbiAgICBjb25zdCBpbWFnZU5hbWUgPSBjb25maWcuc3VwcG9ydGVkQ29tYmluYXRpb25zW2tleV07XG5cbiAgICBpZiAoIWltYWdlTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICdVbnN1cHBvcnRlZEFyY2hpdGVjdHVyZUFuZFR5cGUnLFxuICAgICAgICBgYXJjaGl0ZWN0dXJlICR7b3B0cy5pbWFnZUFyY2hpdGVjdHVyZX0gd2l0aCB0eXBlICR7b3B0cy5pbWFnZVR5cGV9IGlzIG5vdCBhIHN1cHBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHR5cGUgZm9yICR7Y29uZmlnLmltYWdlfWAsXG4gICAgICAgIHNjb3BlLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mcm9tQW1hem9uTWFuYWdlZEltYWdlQXR0cmlidXRlcyhzY29wZSwgaWQsIHtcbiAgICAgIGltYWdlTmFtZSxcbiAgICAgIGltYWdlVmVyc2lvbjogb3B0cy5pbWFnZVZlcnNpb24sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
523
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLW1hbmFnZWQtaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbWF6b24tbWFuYWdlZC1pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFtQztBQUNuQyw0RUFBNEQ7QUFHNUQsbUNBQThEO0FBQzlELG1EQUFxRDtBQStDckQ7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjs7SUFDN0I7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxJQUErQjs7Ozs7Ozs7OztRQUN0RixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQUNqRjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsSUFBK0I7Ozs7Ozs7Ozs7UUFDekYsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7S0FDcEY7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxJQUErQjs7Ozs7Ozs7OztRQUNqRyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQztLQUM5RjtJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLDJCQUEyQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQStCOzs7Ozs7Ozs7O1FBQ3JHLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxzQ0FBc0MsQ0FB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RSxFQUFFLEVBQUU7WUFDdEQsU0FBUztZQUNULFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUM7S0FDSjs7QUE3WkgsZ0RBOFpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSUltYWdlIH0gZnJvbSAnLi9pbWFnZSc7XG5pbXBvcnQgeyBJbWFnZSwgSW1hZ2VBcmNoaXRlY3R1cmUsIEltYWdlVHlwZSB9IGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IHsgTEFURVNUX1ZFUlNJT04gfSBmcm9tICcuL3ByaXZhdGUvY29uc3RhbnRzJztcblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gQW1hem9uLW1hbmFnZWQgaW1hZ2UgYnkgbmFtZSAoYW5kIG9wdGlvbmFsbHkgYSB2ZXJzaW9uKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtYXpvbk1hbmFnZWRJbWFnZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlLiBUaGUgcHJvdmlkZWQgbmFtZSBtdXN0IGJlIG5vcm1hbGl6ZWQgYnkgY29udmVydGluZyBhbGwgYWxwaGFiZXRpY2FsXG4gICAqIGNoYXJhY3RlcnMgdG8gbG93ZXJjYXNlLCBhbmQgcmVwbGFjaW5nIGFsbCBzcGFjZXMgYW5kIHVuZGVyc2NvcmVzIHdpdGggaHlwaGVucy5cbiAgICovXG4gIHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQGRlZmF1bHQgeC54LnhcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlVmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzZWxlY3RpbmcgYSBwcmVkZWZpbmVkIEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VBcmNoaXRlY3R1cmU6IEltYWdlQXJjaGl0ZWN0dXJlO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlVHlwZTogSW1hZ2VUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQGRlZmF1bHQgeC54LnhcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlVmVyc2lvbj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyB7XG4gIHJlYWRvbmx5IGltYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN1cHBvcnRlZENvbWJpbmF0aW9uczogeyBbY29tYm86IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIEhlbHBlciBjbGFzcyBmb3Igd29ya2luZyB3aXRoIEFtYXpvbi1tYW5hZ2VkIGltYWdlc1xuICovXG5leHBvcnQgY2xhc3MgQW1hem9uTWFuYWdlZEltYWdlIHtcbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIEFtYXpvbiBMaW51eCAyIEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGludXgvYWwyL3VnL2luZGV4Lmh0bWxcbiAgICogQHNlZSBodHRwczovL2dhbGxlcnkuZWNyLmF3cy9hbWF6b25saW51eC9hbWF6b25saW51eFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhbWF6b25MaW51eDIoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyk6IElJbWFnZSB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRJbWFnZShzY29wZSwgaWQsIG9wdHMsIHRoaXMuQU1BWk9OX0xJTlVYXzJfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBBbWF6b24gTGludXggMjAyMyBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xpbnV4L2FsMjAyMy91Zy93aGF0LWlzLWFtYXpvbi1saW51eC5odG1sXG4gICAqIEBzZWUgaHR0cHM6Ly9nYWxsZXJ5LmVjci5hd3MvYW1hem9ubGludXgvYW1hem9ubGludXhcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYW1hem9uTGludXgyMDIzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLkFNQVpPTl9MSU5VWF8yMDIzX0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgUmVkIEhhdCBFbnRlcnByaXNlIExpbnV4IDEwIEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2F3cy5hbWF6b24uY29tL3BhcnRuZXJzL3JlZGhhdC9mYXFzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlZEhhdEVudGVycHJpc2VMaW51eDEwKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLlJFRF9IQVRfRU5URVJQUklTRV9MSU5VWF8xMF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFNVU0UgTGludXggRW50ZXJwcmlzZSBTZXJ2ZXIgMTUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vbGludXgvY29tbWVyY2lhbC1saW51eC9mYXFzL1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdXNlTGludXhFbnRlcnByaXNlU2VydmVyMTUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyk6IElJbWFnZSB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRJbWFnZShzY29wZSwgaWQsIG9wdHMsIHRoaXMuU1VTRV9MSU5VWF9FTlRFUlBSSVNFX1NFUlZFUl8xNV9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFVidW50dSAyMi4wNCBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2N1bWVudGF0aW9uLnVidW50dS5jb20vYXdzXG4gICAqIEBzZWUgaHR0cHM6Ly9odWIuZG9ja2VyLmNvbS9fL3VidW50dVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1YnVudHVTZXJ2ZXIyMjA0KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLlVCVU5UVV9TRVJWRVJfMjJfMDRfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBVYnVudHUgMjQuMDQgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jdW1lbnRhdGlvbi51YnVudHUuY29tL2F3c1xuICAgKiBAc2VlIGh0dHBzOi8vaHViLmRvY2tlci5jb20vXy91YnVudHVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdWJ1bnR1U2VydmVyMjQwNChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkSW1hZ2VPcHRpb25zKTogSUltYWdlIHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZEltYWdlKHNjb3BlLCBpZCwgb3B0cywgdGhpcy5VQlVOVFVfU0VSVkVSXzI0XzA0X0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgV2luZG93cyBTZXJ2ZXIgMjAxNiBDb3JlIEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWMyL2xhdGVzdC93aW5kb3dzLWFtaS1yZWZlcmVuY2UvaW5kZXguaHRtbFxuICAgKiBAc2VlIGh0dHBzOi8vaHViLmRvY2tlci5jb20vci9taWNyb3NvZnQvd2luZG93cy1zZXJ2ZXJjb3JlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpbmRvd3NTZXJ2ZXIyMDE2Q29yZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkSW1hZ2VPcHRpb25zKTogSUltYWdlIHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZEltYWdlKHNjb3BlLCBpZCwgb3B0cywgdGhpcy5XSU5ET1dTX1NFUlZFUl8yMDE2X0NPUkVfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBXaW5kb3dzIFNlcnZlciAyMDE2IEZ1bGwgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lYzIvbGF0ZXN0L3dpbmRvd3MtYW1pLXJlZmVyZW5jZS9pbmRleC5odG1sXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpbmRvd3NTZXJ2ZXIyMDE2RnVsbChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkSW1hZ2VPcHRpb25zKTogSUltYWdlIHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZEltYWdlKHNjb3BlLCBpZCwgb3B0cywgdGhpcy5XSU5ET1dTX1NFUlZFUl8yMDE2X0ZVTExfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBXaW5kb3dzIFNlcnZlciAyMDE5IENvcmUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lYzIvbGF0ZXN0L3dpbmRvd3MtYW1pLXJlZmVyZW5jZS9pbmRleC5odG1sXG4gICAqIEBzZWUgaHR0cHM6Ly9odWIuZG9ja2VyLmNvbS9yL21pY3Jvc29mdC93aW5kb3dzLXNlcnZlcmNvcmVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMTlDb3JlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMTlfQ09SRV9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMTkgRnVsbCBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMTlGdWxsKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMTlfRlVMTF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMjIgQ29yZSBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMjJDb3JlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMjJfQ09SRV9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMjIgRnVsbCBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMjJGdWxsKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMjJfRlVMTF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMjUgQ29yZSBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMjVDb3JlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMjVfQ09SRV9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFdpbmRvd3MgU2VydmVyIDIwMjUgRnVsbCBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZSBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3Qvd2luZG93cy1hbWktcmVmZXJlbmNlL2luZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2luZG93c1NlcnZlcjIwMjVGdWxsKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLldJTkRPV1NfU0VSVkVSXzIwMjVfRlVMTF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIG1hY09TIDE0IEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvZWMyLW1hYy1pbnN0YW5jZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYWNPUzE0KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRJbWFnZU9wdGlvbnMpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkSW1hZ2Uoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLk1BQ09TXzE0X0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgbWFjT1MgMTUgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9lYzItbWFjLWluc3RhbmNlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1hY09TMTUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyk6IElJbWFnZSB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRJbWFnZShzY29wZSwgaWQsIG9wdHMsIHRoaXMuTUFDT1NfMTVfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGZyb20gaXRzIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gYXR0cnMgLSBUaGUgQW1hem9uLW1hbmFnZWQgaW1hZ2UgYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQW1hem9uTWFuYWdlZEltYWdlQXR0cmlidXRlcyhcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYXR0cnM6IEFtYXpvbk1hbmFnZWRJbWFnZUF0dHJpYnV0ZXMsXG4gICk6IElJbWFnZSB7XG4gICAgcmV0dXJuIEltYWdlLmZyb21JbWFnZUFybihcbiAgICAgIHNjb3BlLFxuICAgICAgaWQsXG4gICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgICAgcmVzb3VyY2U6ICdpbWFnZScsXG4gICAgICAgIHJlc291cmNlTmFtZTogYCR7YXR0cnMuaW1hZ2VOYW1lfS8ke2F0dHJzLmltYWdlVmVyc2lvbiA/PyBMQVRFU1RfVkVSU0lPTn1gLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFtYXpvbi1tYW5hZ2VkIGltYWdlIGZyb20gaXRzIG5hbWVcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gYW1hem9uTWFuYWdlZEltYWdlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBBbWF6b24tbWFuYWdlZCBpbWFnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQW1hem9uTWFuYWdlZEltYWdlTmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhbWF6b25NYW5hZ2VkSW1hZ2VOYW1lOiBzdHJpbmcpOiBJSW1hZ2Uge1xuICAgIHJldHVybiB0aGlzLmZyb21BbWF6b25NYW5hZ2VkSW1hZ2VBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBpbWFnZU5hbWU6IGFtYXpvbk1hbmFnZWRJbWFnZU5hbWUgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTUFaT05fTElOVVhfMl9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ0FtYXpvbiBMaW51eCAyJyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ2FtYXpvbi1saW51eC0yLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5BUk02NH1gXTogJ2FtYXpvbi1saW51eC0yLWFybTY0JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuRE9DS0VSfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ2FtYXpvbi1saW51eC14ODYtMicsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTUFaT05fTElOVVhfMjAyM19DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ0FtYXpvbiBMaW51eCAyMDIzJyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ2FtYXpvbi1saW51eC0yMDIzLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5BUk02NH1gXTogJ2FtYXpvbi1saW51eC0yMDIzLWFybTY0JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuRE9DS0VSfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ2FtYXpvbi1saW51eC0yMDIzLXg4Ni0yMDIzJyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFJFRF9IQVRfRU5URVJQUklTRV9MSU5VWF8xMF9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1JlZCBIYXQgRW50ZXJwcmlzZSBMaW51eCAxMCcsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICdyZWQtaGF0LWVudGVycHJpc2UtbGludXgtMTAteDg2JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLkFSTTY0fWBdOiAncmVkLWhhdC1lbnRlcnByaXNlLWxpbnV4LTEwLWFybTY0JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNVU0VfTElOVVhfRU5URVJQUklTRV9TRVJWRVJfMTVfQ09ORklHOiBBbWF6b25NYW5hZ2VkSW1hZ2VDb25maWcgPSB7XG4gICAgaW1hZ2U6ICdTVVNFIExpbnV4IEVudGVycHJpc2UgU2VydmVyIDE1JyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3N1c2UtbGludXgtZW50ZXJwcmlzZS1zZXJ2ZXItMTUteDg2JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLkFSTTY0fWBdOiAnc3VzZS1saW51eC1lbnRlcnByaXNlLXNlcnZlci0xNS1hcm02NCcsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBVQlVOVFVfU0VSVkVSXzIyXzA0X0NPTkZJRzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnID0ge1xuICAgIGltYWdlOiAnVWJ1bnR1IDIyLjA0JyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3VidW50dS1zZXJ2ZXItMjItbHRzLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5BUk02NH1gXTogJ3VidW50dS1zZXJ2ZXItMjItbHRzLWFybTY0JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuRE9DS0VSfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3VidW50dS0yMi14ODYtMjItMDQnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVUJVTlRVX1NFUlZFUl8yNF8wNF9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1VidW50dSAyNC4wNCcsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd1YnVudHUtc2VydmVyLTI0LWx0cy14ODYnLFxuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuQVJNNjR9YF06ICd1YnVudHUtc2VydmVyLTI0LWx0cy1hcm02NCcsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkRPQ0tFUn0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd1YnVudHUtMjQteDg2LTI0LTA0JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFdJTkRPV1NfU0VSVkVSXzIwMTZfQ09SRV9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1dpbmRvd3MgU2VydmVyIDIwMTYgQ29yZScsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd3aW5kb3dzLXNlcnZlci0yMDE2LWVuZ2xpc2gtY29yZS1iYXNlLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkRPQ0tFUn0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd3aW5kb3dzLXNlcnZlci0yMDE2LXg4Ni1jb3JlLWx0c2MyMDE2LWFtZDY0JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFdJTkRPV1NfU0VSVkVSXzIwMTZfRlVMTF9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1dpbmRvd3MgU2VydmVyIDIwMTYgRnVsbCcsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd3aW5kb3dzLXNlcnZlci0yMDE2LWVuZ2xpc2gtZnVsbC1iYXNlLXg4NicsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBXSU5ET1dTX1NFUlZFUl8yMDE5X0NPUkVfQ09ORklHOiBBbWF6b25NYW5hZ2VkSW1hZ2VDb25maWcgPSB7XG4gICAgaW1hZ2U6ICdXaW5kb3dzIFNlcnZlciAyMDE5IENvcmUnLFxuICAgIHN1cHBvcnRlZENvbWJpbmF0aW9uczoge1xuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnd2luZG93cy1zZXJ2ZXItMjAxOS1lbmdsaXNoLWNvcmUtYmFzZS14ODYnLFxuICAgICAgW2Ake0ltYWdlVHlwZS5ET0NLRVJ9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnd2luZG93cy1zZXJ2ZXItMjAxOS14ODYtY29yZS1sdHNjMjAxOS1hbWQ2NCcsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBXSU5ET1dTX1NFUlZFUl8yMDE5X0ZVTExfQ09ORklHOiBBbWF6b25NYW5hZ2VkSW1hZ2VDb25maWcgPSB7XG4gICAgaW1hZ2U6ICdXaW5kb3dzIFNlcnZlciAyMDE5IEZ1bGwnLFxuICAgIHN1cHBvcnRlZENvbWJpbmF0aW9uczoge1xuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnd2luZG93cy1zZXJ2ZXItMjAxOS1lbmdsaXNoLWZ1bGwtYmFzZS14ODYnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgV0lORE9XU19TRVJWRVJfMjAyMl9DT1JFX0NPTkZJRzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnID0ge1xuICAgIGltYWdlOiAnV2luZG93cyBTZXJ2ZXIgMjAyMiBDb3JlJyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3dpbmRvd3Mtc2VydmVyLTIwMjItZW5nbGlzaC1jb3JlLWJhc2UteDg2JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFdJTkRPV1NfU0VSVkVSXzIwMjJfRlVMTF9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ1dpbmRvd3MgU2VydmVyIDIwMjIgRnVsbCcsXG4gICAgc3VwcG9ydGVkQ29tYmluYXRpb25zOiB7XG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5YODZfNjR9YF06ICd3aW5kb3dzLXNlcnZlci0yMDIyLWVuZ2xpc2gtZnVsbC1iYXNlLXg4NicsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBXSU5ET1dTX1NFUlZFUl8yMDI1X0NPUkVfQ09ORklHOiBBbWF6b25NYW5hZ2VkSW1hZ2VDb25maWcgPSB7XG4gICAgaW1hZ2U6ICdXaW5kb3dzIFNlcnZlciAyMDI1IENvcmUnLFxuICAgIHN1cHBvcnRlZENvbWJpbmF0aW9uczoge1xuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnd2luZG93cy1zZXJ2ZXItMjAyNS1lbmdsaXNoLWNvcmUtYmFzZS14ODYnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgV0lORE9XU19TRVJWRVJfMjAyNV9GVUxMX0NPTkZJRzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnID0ge1xuICAgIGltYWdlOiAnV2luZG93cyBTZXJ2ZXIgMjAyNSBGdWxsJyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ3dpbmRvd3Mtc2VydmVyLTIwMjUtZW5nbGlzaC1mdWxsLWJhc2UteDg2JyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1BQ09TXzE0X0NPTkZJRzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnID0ge1xuICAgIGltYWdlOiAnbWFjT1MgMTQnLFxuICAgIHN1cHBvcnRlZENvbWJpbmF0aW9uczoge1xuICAgICAgW2Ake0ltYWdlVHlwZS5BTUl9LSR7SW1hZ2VBcmNoaXRlY3R1cmUuWDg2XzY0fWBdOiAnbWFjb3Mtc29ub21hLXg4NicsXG4gICAgICBbYCR7SW1hZ2VUeXBlLkFNSX0tJHtJbWFnZUFyY2hpdGVjdHVyZS5BUk02NH1gXTogJ21hY29zLXNvbm9tYS1hcm02NCcsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBNQUNPU18xNV9DT05GSUc6IEFtYXpvbk1hbmFnZWRJbWFnZUNvbmZpZyA9IHtcbiAgICBpbWFnZTogJ21hY09TIDE1JyxcbiAgICBzdXBwb3J0ZWRDb21iaW5hdGlvbnM6IHtcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLlg4Nl82NH1gXTogJ21hY29zLXNlcXVvaWEteDg2JyxcbiAgICAgIFtgJHtJbWFnZVR5cGUuQU1JfS0ke0ltYWdlQXJjaGl0ZWN0dXJlLkFSTTY0fWBdOiAnbWFjb3Mtc2VxdW9pYS1hcm02NCcsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyB2YWxpZGF0ZVByZWRlZmluZWRNYW5hZ2VkSW1hZ2VPcHRpb25zKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgb3B0czogQW1hem9uTWFuYWdlZEltYWdlT3B0aW9ucyxcbiAgICBpbWFnZTogc3RyaW5nLFxuICApIHtcbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChvcHRzLmltYWdlQXJjaGl0ZWN0dXJlKSkge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IobGl0YEFyY2hpdGVjdHVyZUNhbm5vdEJlVG9rZW5gLCBgYXJjaGl0ZWN0dXJlIGNhbm5vdCBiZSBhIHRva2VuIGZvciAke2ltYWdlfWAsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChvcHRzLmltYWdlVHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKGxpdGBUeXBlQ2Fubm90QmVUb2tlbmAsIGB0eXBlIGNhbm5vdCBiZSBhIHRva2VuIGZvciAke2ltYWdlfWAsIHNjb3BlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBwcmVkZWZpbmVkTWFuYWdlZEltYWdlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcHRzOiBBbWF6b25NYW5hZ2VkSW1hZ2VPcHRpb25zLFxuICAgIGNvbmZpZzogQW1hem9uTWFuYWdlZEltYWdlQ29uZmlnLFxuICApOiBJSW1hZ2Uge1xuICAgIHRoaXMudmFsaWRhdGVQcmVkZWZpbmVkTWFuYWdlZEltYWdlT3B0aW9ucyhzY29wZSwgb3B0cywgY29uZmlnLmltYWdlKTtcblxuICAgIGNvbnN0IGtleSA9IGAke29wdHMuaW1hZ2VUeXBlfS0ke29wdHMuaW1hZ2VBcmNoaXRlY3R1cmV9YDtcbiAgICBjb25zdCBpbWFnZU5hbWUgPSBjb25maWcuc3VwcG9ydGVkQ29tYmluYXRpb25zW2tleV07XG5cbiAgICBpZiAoIWltYWdlTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGxpdGBVbnN1cHBvcnRlZEFyY2hpdGVjdHVyZUFuZFR5cGVgLFxuICAgICAgICBgYXJjaGl0ZWN0dXJlICR7b3B0cy5pbWFnZUFyY2hpdGVjdHVyZX0gd2l0aCB0eXBlICR7b3B0cy5pbWFnZVR5cGV9IGlzIG5vdCBhIHN1cHBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHR5cGUgZm9yICR7Y29uZmlnLmltYWdlfWAsXG4gICAgICAgIHNjb3BlLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mcm9tQW1hem9uTWFuYWdlZEltYWdlQXR0cmlidXRlcyhzY29wZSwgaWQsIHtcbiAgICAgIGltYWdlTmFtZSxcbiAgICAgIGltYWdlVmVyc2lvbjogb3B0cy5pbWFnZVZlcnNpb24sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,13 +4,14 @@ exports.AmazonManagedWorkflow = void 0;
|
|
|
4
4
|
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const cdk = require("aws-cdk-lib");
|
|
7
|
+
const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
7
8
|
const constants_1 = require("./private/constants");
|
|
8
9
|
const workflow_1 = require("./workflow");
|
|
9
10
|
/**
|
|
10
11
|
* Helper class for working with Amazon-managed workflows
|
|
11
12
|
*/
|
|
12
13
|
class AmazonManagedWorkflow {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.AmazonManagedWorkflow", version: "2.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.AmazonManagedWorkflow", version: "2.248.0-alpha.0" };
|
|
14
15
|
/**
|
|
15
16
|
* Imports the build-container Amazon-managed workflow
|
|
16
17
|
*
|
|
@@ -101,7 +102,7 @@ class AmazonManagedWorkflow {
|
|
|
101
102
|
throw error;
|
|
102
103
|
}
|
|
103
104
|
if (cdk.Token.isUnresolved(attrs.workflowType)) {
|
|
104
|
-
throw new cdk.ValidationError(
|
|
105
|
+
throw new cdk.ValidationError((0, helpers_internal_1.lit) `WorkflowTypeCannotBeToken`, 'workflowType cannot be a token', scope);
|
|
105
106
|
}
|
|
106
107
|
return workflow_1.Workflow.fromWorkflowArn(scope, id, cdk.Stack.of(scope).formatArn({
|
|
107
108
|
service: 'imagebuilder',
|
|
@@ -112,4 +113,4 @@ class AmazonManagedWorkflow {
|
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
exports.AmazonManagedWorkflow = AmazonManagedWorkflow;
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLW1hbmFnZWQtd29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbWF6b24tbWFuYWdlZC13b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFtQztBQUNuQyw0RUFBNEQ7QUFFNUQsbURBQXFEO0FBRXJELHlDQUFvRDtBQWlCcEQ7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjs7SUFDaEM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsRUFBVTtRQUN2RCxPQUFPLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ3pELFlBQVksRUFBRSxpQkFBaUI7WUFDL0IsWUFBWSxFQUFFLHVCQUFZLENBQUMsS0FBSztTQUNqQyxDQUFDLENBQUM7S0FDSjtJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFnQixFQUFFLEVBQVU7UUFDbkQsT0FBTyxJQUFJLENBQUMsbUNBQW1DLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUN6RCxZQUFZLEVBQUUsYUFBYTtZQUMzQixZQUFZLEVBQUUsdUJBQVksQ0FBQyxLQUFLO1NBQ2pDLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBZ0IsRUFBRSxFQUFVO1FBQzVELE9BQU8sSUFBSSxDQUFDLG1DQUFtQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDekQsWUFBWSxFQUFFLHNCQUFzQjtZQUNwQyxZQUFZLEVBQUUsdUJBQVksQ0FBQyxZQUFZO1NBQ3hDLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQWdCLEVBQUUsRUFBVTtRQUN4RCxPQUFPLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ3pELFlBQVksRUFBRSxrQkFBa0I7WUFDaEMsWUFBWSxFQUFFLHVCQUFZLENBQUMsWUFBWTtTQUN4QyxDQUFDLENBQUM7S0FDSjtJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFnQixFQUFFLEVBQVU7UUFDdEQsT0FBTyxJQUFJLENBQUMsbUNBQW1DLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUN6RCxZQUFZLEVBQUUsZ0JBQWdCO1lBQzlCLFlBQVksRUFBRSx1QkFBWSxDQUFDLElBQUk7U0FDaEMsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBZ0IsRUFBRSxFQUFVO1FBQ2xELE9BQU8sSUFBSSxDQUFDLG1DQUFtQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDekQsWUFBWSxFQUFFLFlBQVk7WUFDMUIsWUFBWSxFQUFFLHVCQUFZLENBQUMsSUFBSTtTQUNoQyxDQUFDLENBQUM7S0FDSjtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FDL0MsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQXNDOzs7Ozs7Ozs7O1FBRXRDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBQSxzQkFBRyxFQUFBLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pHLENBQUM7UUFFRCxPQUFPLG1CQUFRLENBQUMsZUFBZSxDQUM3QixLQUFLLEVBQ0wsRUFBRSxFQUNGLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1QixPQUFPLEVBQUUsY0FBYztZQUN2QixPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFlBQVksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSwwQkFBYyxFQUFFO1NBQzVGLENBQUMsQ0FDSCxDQUFDO0tBQ0g7O0FBekdILHNEQTBHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBMQVRFU1RfVkVSU0lPTiB9IGZyb20gJy4vcHJpdmF0ZS9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBJV29ya2Zsb3cgfSBmcm9tICcuL3dvcmtmbG93JztcbmltcG9ydCB7IFdvcmtmbG93LCBXb3JrZmxvd1R5cGUgfSBmcm9tICcuL3dvcmtmbG93JztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhbiBFQzIgSW1hZ2UgQnVpbGRlciBBbWF6b24tbWFuYWdlZCB3b3JrZmxvd1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtYXpvbk1hbmFnZWRXb3JrZmxvd0F0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIHdvcmtmbG93XG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIHdvcmtmbG93XG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1R5cGU6IFdvcmtmbG93VHlwZTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgZm9yIHdvcmtpbmcgd2l0aCBBbWF6b24tbWFuYWdlZCB3b3JrZmxvd3NcbiAqL1xuZXhwb3J0IGNsYXNzIEFtYXpvbk1hbmFnZWRXb3JrZmxvdyB7XG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBidWlsZC1jb250YWluZXIgQW1hem9uLW1hbmFnZWQgd29ya2Zsb3dcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBidWlsZENvbnRhaW5lcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogSVdvcmtmbG93IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tQW1hem9uTWFuYWdlZFdvcmtmbG93QXR0cmlidXRlcyhzY29wZSwgaWQsIHtcbiAgICAgIHdvcmtmbG93TmFtZTogJ2J1aWxkLWNvbnRhaW5lcicsXG4gICAgICB3b3JrZmxvd1R5cGU6IFdvcmtmbG93VHlwZS5CVUlMRCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBidWlsZC1pbWFnZSBBV1MtbWFuYWdlZCB3b3JrZmxvd1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGJ1aWxkSW1hZ2Uoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZyk6IElXb3JrZmxvdyB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbUFtYXpvbk1hbmFnZWRXb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWU6ICdidWlsZC1pbWFnZScsXG4gICAgICB3b3JrZmxvd1R5cGU6IFdvcmtmbG93VHlwZS5CVUlMRCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBkaXN0cmlidXRlLWNvbnRhaW5lciBBV1MtbWFuYWdlZCB3b3JrZmxvd1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRpc3RyaWJ1dGVDb250YWluZXIoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZyk6IElXb3JrZmxvdyB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbUFtYXpvbk1hbmFnZWRXb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWU6ICdkaXN0cmlidXRlLWNvbnRhaW5lcicsXG4gICAgICB3b3JrZmxvd1R5cGU6IFdvcmtmbG93VHlwZS5ESVNUUklCVVRJT04sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgZGlzdHJpYnV0ZS1pbWFnZSBBV1MtbWFuYWdlZCB3b3JrZmxvd1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRpc3RyaWJ1dGVJbWFnZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogSVdvcmtmbG93IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tQW1hem9uTWFuYWdlZFdvcmtmbG93QXR0cmlidXRlcyhzY29wZSwgaWQsIHtcbiAgICAgIHdvcmtmbG93TmFtZTogJ2Rpc3RyaWJ1dGUtaW1hZ2UnLFxuICAgICAgd29ya2Zsb3dUeXBlOiBXb3JrZmxvd1R5cGUuRElTVFJJQlVUSU9OLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIHRlc3QtY29udGFpbmVyIEFXUy1tYW5hZ2VkIHdvcmtmbG93XG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdGVzdENvbnRhaW5lcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogSVdvcmtmbG93IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tQW1hem9uTWFuYWdlZFdvcmtmbG93QXR0cmlidXRlcyhzY29wZSwgaWQsIHtcbiAgICAgIHdvcmtmbG93TmFtZTogJ3Rlc3QtY29udGFpbmVyJyxcbiAgICAgIHdvcmtmbG93VHlwZTogV29ya2Zsb3dUeXBlLlRFU1QsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgdGVzdC1pbWFnZSBBV1MtbWFuYWdlZCB3b3JrZmxvd1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRlc3RJbWFnZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogSVdvcmtmbG93IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tQW1hem9uTWFuYWdlZFdvcmtmbG93QXR0cmlidXRlcyhzY29wZSwgaWQsIHtcbiAgICAgIHdvcmtmbG93TmFtZTogJ3Rlc3QtaW1hZ2UnLFxuICAgICAgd29ya2Zsb3dUeXBlOiBXb3JrZmxvd1R5cGUuVEVTVCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFXUy1tYW5hZ2VkIHdvcmtmbG93IGZyb20gaXRzIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gYXR0cnMgVGhlIGF0dHJpYnV0ZXMgb2YgdGhlIEFXUy1tYW5hZ2VkIHdvcmtmbG93XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21BbWF6b25NYW5hZ2VkV29ya2Zsb3dBdHRyaWJ1dGVzKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhdHRyczogQW1hem9uTWFuYWdlZFdvcmtmbG93QXR0cmlidXRlcyxcbiAgKTogSVdvcmtmbG93IHtcbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChhdHRycy53b3JrZmxvd1R5cGUpKSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgV29ya2Zsb3dUeXBlQ2Fubm90QmVUb2tlbmAsICd3b3JrZmxvd1R5cGUgY2Fubm90IGJlIGEgdG9rZW4nLCBzY29wZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFdvcmtmbG93LmZyb21Xb3JrZmxvd0FybihcbiAgICAgIHNjb3BlLFxuICAgICAgaWQsXG4gICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgICAgcmVzb3VyY2U6ICd3b3JrZmxvdycsXG4gICAgICAgIHJlc291cmNlTmFtZTogYCR7YXR0cnMud29ya2Zsb3dUeXBlLnRvTG93ZXJDYXNlKCl9LyR7YXR0cnMud29ya2Zsb3dOYW1lfS8ke0xBVEVTVF9WRVJTSU9OfWAsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
package/lib/base-image.js
CHANGED
|
@@ -7,7 +7,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
7
7
|
* Represents a base image that is used to start from in EC2 Image Builder image builds
|
|
8
8
|
*/
|
|
9
9
|
class BaseImage {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.BaseImage", version: "2.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.BaseImage", version: "2.248.0-alpha.0" };
|
|
11
11
|
/**
|
|
12
12
|
* The AMI ID to use as a base image in an image recipe
|
|
13
13
|
*
|
|
@@ -79,7 +79,7 @@ exports.BaseImage = BaseImage;
|
|
|
79
79
|
* Represents a base image that is used to start from in EC2 Image Builder image builds
|
|
80
80
|
*/
|
|
81
81
|
class BaseContainerImage {
|
|
82
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.BaseContainerImage", version: "2.
|
|
82
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.BaseContainerImage", version: "2.248.0-alpha.0" };
|
|
83
83
|
/**
|
|
84
84
|
* The DockerHub image to use as the base image in a container recipe
|
|
85
85
|
*
|
|
@@ -148,7 +148,7 @@ exports.BaseContainerImage = BaseContainerImage;
|
|
|
148
148
|
* EC2 Image Builder container build.
|
|
149
149
|
*/
|
|
150
150
|
class ContainerInstanceImage {
|
|
151
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.ContainerInstanceImage", version: "2.
|
|
151
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.ContainerInstanceImage", version: "2.248.0-alpha.0" };
|
|
152
152
|
/**
|
|
153
153
|
* The AMI ID to use to launch the instance for building the container image
|
|
154
154
|
*
|