cdk-certbot-dns-route53 2.0.7 → 2.0.8
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 +3 -3
- package/lib/lambda-bash.js +1 -1
- package/lib/main.js +1 -1
- package/node_modules/@aws-cdk/assert/package.json +9 -9
- package/node_modules/@aws-cdk/cfnspec/CHANGELOG.md +249 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.js +2 -2
- package/node_modules/@aws-cdk/cfnspec/cfn.version +1 -1
- package/node_modules/@aws-cdk/cfnspec/coverage/block-navigation.js +8 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/massage-spec.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/scrutiny.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/junit.xml +7375 -6125
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/block-navigation.js +8 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/massage-spec.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/scrutiny.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/canned-metrics-schema.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics.ts.html +30 -24
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.ts.html +25 -19
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/augmentation.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/base-types.ts.html +10 -4
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/property.ts.html +20 -14
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/resource-type.ts.html +10 -4
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/specification.ts.html +9 -3
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sorter.js +26 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov.info +121 -121
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/canned-metrics-schema.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics.ts.html +30 -24
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.ts.html +25 -19
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/augmentation.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/base-types.ts.html +10 -4
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.ts.html +8 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/property.ts.html +20 -14
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/resource-type.ts.html +10 -4
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/specification.ts.html +9 -3
- package/node_modules/@aws-cdk/cfnspec/coverage/sorter.js +26 -0
- package/node_modules/@aws-cdk/cfnspec/package.json +4 -4
- package/node_modules/@aws-cdk/cfnspec/spec/specification.json +4474 -46
- package/node_modules/@aws-cdk/cfnspec/tsconfig.tsbuildinfo +35 -33
- package/node_modules/@aws-cdk/cloudformation-diff/package.json +8 -8
- package/package.json +3 -3
package/.jsii
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
]
|
|
8
8
|
},
|
|
9
9
|
"bundled": {
|
|
10
|
-
"@aws-cdk/assert": "^2.
|
|
10
|
+
"@aws-cdk/assert": "^2.2.0"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"aws-cdk-lib": "^2.1.0",
|
|
@@ -3179,6 +3179,6 @@
|
|
|
3179
3179
|
"symbolId": "src/main:CertbotOptions"
|
|
3180
3180
|
}
|
|
3181
3181
|
},
|
|
3182
|
-
"version": "2.0.
|
|
3183
|
-
"fingerprint": "
|
|
3182
|
+
"version": "2.0.8",
|
|
3183
|
+
"fingerprint": "rjTCUqNfFK2TZcfGAQ1Qq1TZ29sudTvXyhzTCquR6Pc="
|
|
3184
3184
|
}
|
package/lib/lambda-bash.js
CHANGED
|
@@ -36,5 +36,5 @@ class BashExecFunction extends constructs_1.Construct {
|
|
|
36
36
|
}
|
|
37
37
|
exports.BashExecFunction = BashExecFunction;
|
|
38
38
|
_a = JSII_RTTI_SYMBOL_1;
|
|
39
|
-
BashExecFunction[_a] = { fqn: "cdk-certbot-dns-route53.BashExecFunction", version: "2.0.
|
|
39
|
+
BashExecFunction[_a] = { fqn: "cdk-certbot-dns-route53.BashExecFunction", version: "2.0.8" };
|
|
40
40
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWJhc2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGFtYmRhLWJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLDZDQUFrRDtBQUVsRCxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLDJDQUF1Qzs7OztBQW1CdkMsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUzs7OztJQUU3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCOztRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzFELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFaEMsMkdBQTJHO1FBQzNHLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3RFLElBQUksRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsRUFDMUQsQ0FBQztZQUNGLE9BQU8sUUFBRSxLQUFLLENBQUMsT0FBTyxtQ0FBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDOUMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTztZQUN4QyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUNILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQzs7QUFyQkgsNENBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IENmbk91dHB1dCwgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2hFeGVjRnVuY3Rpb25Qcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNjcmlwdDogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRvY2tlcmZpbGU/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xufVxuXG5leHBvcnQgY2xhc3MgQmFzaEV4ZWNGdW5jdGlvbiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IGhhbmRsZXI6IGxhbWJkYS5Eb2NrZXJJbWFnZUZ1bmN0aW9uO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQmFzaEV4ZWNGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRvY2tlckRpclBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vZG9ja2VyLmQnKTtcbiAgICBjb25zdCBzY3JpcHRQYXRoID0gcHJvcHMuc2NyaXB0O1xuXG4gICAgLy8gY29weSB0aGUgdXNlciBzY3JpcHQgdG8gdGhlIGRvY2tlci5kIGRpcmVjdG9yeSBhcyBtYWluLnNoIHNvIHdlIGNhbiBidW5kbGUgaXQgdXAgaW50byBhIG5ldyBkb2NrZXIgaW1hZ2VcbiAgICBjb25zdCBtYWluRmlsZSA9IHBhdGguam9pbihkb2NrZXJEaXJQYXRoLCAnL21haW4uc2gnKTtcbiAgICBmcy5jb3B5RmlsZVN5bmMoc2NyaXB0UGF0aCwgbWFpbkZpbGUpO1xuXG4gICAgdGhpcy5oYW5kbGVyID0gbmV3IGxhbWJkYS5Eb2NrZXJJbWFnZUZ1bmN0aW9uKHRoaXMsICdCYXNoRXhlY0Z1bmN0aW9uJywge1xuICAgICAgY29kZTogbGFtYmRhLkRvY2tlckltYWdlQ29kZS5mcm9tSW1hZ2VBc3NldChkb2NrZXJEaXJQYXRoLCB7XG4gICAgICB9KSxcbiAgICAgIHRpbWVvdXQ6IHByb3BzLnRpbWVvdXQgPz8gRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfREFZLFxuICAgICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50LFxuICAgICAgcm9sZTogcHJvcHMucm9sZSxcbiAgICB9KTtcbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsICdMb2dHcm91cCcsIHsgdmFsdWU6IHRoaXMuaGFuZGxlci5sb2dHcm91cC5sb2dHcm91cE5hbWUgfSk7XG4gIH1cbn0iXX0=
|
package/lib/main.js
CHANGED
|
@@ -67,5 +67,5 @@ class CertbotDnsRoute53Job extends constructs_1.Construct {
|
|
|
67
67
|
}
|
|
68
68
|
exports.CertbotDnsRoute53Job = CertbotDnsRoute53Job;
|
|
69
69
|
_a = JSII_RTTI_SYMBOL_1;
|
|
70
|
-
CertbotDnsRoute53Job[_a] = { fqn: "cdk-certbot-dns-route53.CertbotDnsRoute53Job", version: "2.0.
|
|
70
|
+
CertbotDnsRoute53Job[_a] = { fqn: "cdk-certbot-dns-route53.CertbotDnsRoute53Job", version: "2.0.8" };
|
|
71
71
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyxpREFBaUQ7QUFDakQseURBQXlEO0FBQ3pELDJDQUEyQztBQUczQywyQ0FBdUM7QUFDdkMsK0NBQWlEOzs7O0FBMkJqRCxNQUFhLG9CQUFxQixTQUFRLHNCQUFTOzs7O0lBQ2pELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0M7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLFdBQVcsR0FBRztZQUNsQixXQUFXLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQVU7WUFDL0MsS0FBSyxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSztZQUNqQyxXQUFXLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFVO1lBQzVDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMscUJBQXNCO1NBQ3JFLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxJQUFJLDhCQUFnQixDQUFDLElBQUksRUFBRSw0QkFBNEIsRUFBRTtZQUN6RSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsMkJBQTJCLENBQUM7WUFDekQsT0FBTyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoQyxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxXQUFXO2FBQ2Y7U0FDRixDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSyxDQUFDLENBQUM7UUFDaEUsTUFBTSxxQkFBcUIsR0FBRyxDQUFDO2dCQUM3QixNQUFNLEVBQUUsT0FBTztnQkFDZixNQUFNLEVBQUU7b0JBQ04seUJBQXlCO29CQUN6QixtQkFBbUI7aUJBQ3BCO2dCQUNELFFBQVEsRUFBRTtvQkFDUixHQUFHO2lCQUNKO2FBQ0Y7WUFDRDtnQkFDRSxNQUFNLEVBQUUsT0FBTztnQkFDZixNQUFNLEVBQUU7b0JBQ04sa0NBQWtDO2lCQUNuQztnQkFDRCxRQUFRLEVBQUU7b0JBQ1IsZ0NBQWdDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2lCQUMxRDthQUNGLENBQUMsQ0FBQztRQUNILHFCQUFxQixDQUFDLE9BQU8sQ0FDM0IsQ0FBQyxDQUFDLEVBQUU7WUFDRixTQUFTLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLENBQUMsQ0FDRixDQUFDO1FBR0YsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO2dCQUNwQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7Z0JBQ3hCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztpQkFDN0M7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O0FBckRILG9EQXNEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyByNTMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQmFzaEV4ZWNGdW5jdGlvbiB9IGZyb20gJy4vbGFtYmRhLWJhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENlcnRib3RPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVtYWlsOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjdXN0b21QcmVmaXhEaXJlY3Rvcnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VydGJvdERuc1JvdXRlNTNKb2JQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzY2hlZHVsZT86IGV2ZW50cy5TY2hlZHVsZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBkZXN0aW5hdGlvbkJ1Y2tldDogczMuSUJ1Y2tldDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB6b25lOiByNTMuSUhvc3RlZFpvbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2VydGJvdE9wdGlvbnM6IENlcnRib3RPcHRpb25zO1xufVxuXG5leHBvcnQgY2xhc3MgQ2VydGJvdERuc1JvdXRlNTNKb2IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2VydGJvdERuc1JvdXRlNTNKb2JQcm9wcyApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IGNlcnRPcHRpb25zID0ge1xuICAgICAgQlVDS0VUX05BTUU6IHByb3BzLmRlc3RpbmF0aW9uQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICBFTUFJTDogcHJvcHMuY2VydGJvdE9wdGlvbnMuZW1haWwsXG4gICAgICBET01BSU5fTkFNRTogcHJvcHMuY2VydGJvdE9wdGlvbnMuZG9tYWluTmFtZSxcbiAgICAgIENVU1RPTV9QUkVGSVhfRElSRUNUT1JZOiBwcm9wcy5jZXJ0Ym90T3B0aW9ucy5jdXN0b21QcmVmaXhEaXJlY3RvcnkhLFxuICAgIH07XG5cbiAgICBjb25zdCBsYW1iZGFGdW4gPSBuZXcgQmFzaEV4ZWNGdW5jdGlvbih0aGlzLCAnY2VydGJvdERuc1JvdXRlNTNKb2JMYW1iZGEnLCB7XG4gICAgICBzY3JpcHQ6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9kb2NrZXIuZC9lbnRyeXBvaW50LnNoJyksXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLmNlcnRPcHRpb25zLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHByb3BzLmRlc3RpbmF0aW9uQnVja2V0LmdyYW50UmVhZFdyaXRlKGxhbWJkYUZ1bi5oYW5kbGVyLnJvbGUhKTtcbiAgICBjb25zdCByb3V0ZTUzUG9saWN5SnNvbkxpc3QgPSBbe1xuICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgQWN0aW9uOiBbXG4gICAgICAgICdyb3V0ZTUzOkxpc3RIb3N0ZWRab25lcycsXG4gICAgICAgICdyb3V0ZTUzOkdldENoYW5nZScsXG4gICAgICBdLFxuICAgICAgUmVzb3VyY2U6IFtcbiAgICAgICAgJyonLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgIEFjdGlvbjogW1xuICAgICAgICAncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHMnLFxuICAgICAgXSxcbiAgICAgIFJlc291cmNlOiBbXG4gICAgICAgIGBhcm46YXdzOnJvdXRlNTM6Ojpob3N0ZWR6b25lLyR7cHJvcHMuem9uZS5ob3N0ZWRab25lSWR9YCxcbiAgICAgIF0sXG4gICAgfV07XG4gICAgcm91dGU1M1BvbGljeUpzb25MaXN0LmZvckVhY2goXG4gICAgICBlID0+IHtcbiAgICAgICAgbGFtYmRhRnVuLmhhbmRsZXIucm9sZSEuYWRkVG9QcmluY2lwYWxQb2xpY3koaWFtLlBvbGljeVN0YXRlbWVudC5mcm9tSnNvbihlKSk7XG4gICAgICB9LFxuICAgICk7XG5cblxuICAgIGlmIChwcm9wcy5zY2hlZHVsZSkge1xuICAgICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdTY2hlZHVsZVJ1bGUnLCB7XG4gICAgICAgIHNjaGVkdWxlOiBwcm9wcy5zY2hlZHVsZSxcbiAgICAgICAgdGFyZ2V0czogW1xuICAgICAgICAgIG5ldyB0YXJnZXQuTGFtYmRhRnVuY3Rpb24obGFtYmRhRnVuLmhhbmRsZXIpLFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59Il19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-cdk/assert",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "An assertion library for use with CDK Apps",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -34,21 +34,21 @@
|
|
|
34
34
|
},
|
|
35
35
|
"license": "Apache-2.0",
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@aws-cdk/assert-internal": "2.
|
|
38
|
-
"@aws-cdk/cdk-build-tools": "2.
|
|
39
|
-
"@aws-cdk/pkglint": "2.
|
|
37
|
+
"@aws-cdk/assert-internal": "2.2.0",
|
|
38
|
+
"@aws-cdk/cdk-build-tools": "2.2.0",
|
|
39
|
+
"@aws-cdk/pkglint": "2.2.0",
|
|
40
40
|
"@types/jest": "^27.0.3",
|
|
41
|
-
"aws-cdk-lib": "2.
|
|
42
|
-
"aws-cdk-migration": "2.
|
|
41
|
+
"aws-cdk-lib": "2.2.0",
|
|
42
|
+
"aws-cdk-migration": "2.2.0",
|
|
43
43
|
"constructs": "^10.0.0",
|
|
44
44
|
"jest": "^27.3.1",
|
|
45
|
-
"ts-jest": "^27.
|
|
45
|
+
"ts-jest": "^27.1.1"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@aws-cdk/cloudformation-diff": "2.
|
|
48
|
+
"@aws-cdk/cloudformation-diff": "2.2.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"aws-cdk-lib": "^2.
|
|
51
|
+
"aws-cdk-lib": "^2.2.0",
|
|
52
52
|
"constructs": "^10.0.0",
|
|
53
53
|
"jest": ">=26.6.3"
|
|
54
54
|
},
|
|
@@ -1,3 +1,252 @@
|
|
|
1
|
+
# CloudFormation Resource Specification v51.0.0
|
|
2
|
+
|
|
3
|
+
## New Resource Types
|
|
4
|
+
|
|
5
|
+
* AWS::AppSync::DomainName
|
|
6
|
+
* AWS::AppSync::DomainNameApiAssociation
|
|
7
|
+
* AWS::Lex::Bot
|
|
8
|
+
* AWS::Lex::BotAlias
|
|
9
|
+
* AWS::Lex::BotVersion
|
|
10
|
+
* AWS::Lex::ResourcePolicy
|
|
11
|
+
|
|
12
|
+
## Attribute Changes
|
|
13
|
+
|
|
14
|
+
* AWS::ApiGateway::Deployment DeploymentId (__added__)
|
|
15
|
+
* AWS::EC2::VPCEndpoint Id (__deleted__)
|
|
16
|
+
* AWS::EC2::VPCEndpoint DnsEntries.DuplicatesAllowed (__deleted__)
|
|
17
|
+
* AWS::EC2::VPCEndpoint NetworkInterfaceIds.DuplicatesAllowed (__deleted__)
|
|
18
|
+
* AWS::IoTAnalytics::Pipeline Id (__added__)
|
|
19
|
+
|
|
20
|
+
## Property Changes
|
|
21
|
+
|
|
22
|
+
* AWS::EC2::VPCEndpointService PayerResponsibility (__added__)
|
|
23
|
+
* AWS::Evidently::Project DataDelivery.PrimitiveType (__deleted__)
|
|
24
|
+
* AWS::IoTAnalytics::Pipeline PipelineActivities.DuplicatesAllowed (__added__)
|
|
25
|
+
* AWS::IoTAnalytics::Pipeline Tags.DuplicatesAllowed (__added__)
|
|
26
|
+
* AWS::Kinesis::Stream StreamModeDetails (__added__)
|
|
27
|
+
* AWS::Kinesis::Stream ShardCount.Required (__changed__)
|
|
28
|
+
* Old: true
|
|
29
|
+
* New: false
|
|
30
|
+
* AWS::WAFv2::WebACL CaptchaConfig (__added__)
|
|
31
|
+
|
|
32
|
+
## Property Type Changes
|
|
33
|
+
|
|
34
|
+
* AWS::Kinesis::Stream.StreamModeDetails (__added__)
|
|
35
|
+
* AWS::WAFv2::RuleGroup.CaptchaConfig (__added__)
|
|
36
|
+
* AWS::WAFv2::RuleGroup.ImmunityTimeProperty (__added__)
|
|
37
|
+
* AWS::WAFv2::RuleGroup.RegexMatchStatement (__added__)
|
|
38
|
+
* AWS::WAFv2::WebACL.CaptchaAction (__added__)
|
|
39
|
+
* AWS::WAFv2::WebACL.CaptchaConfig (__added__)
|
|
40
|
+
* AWS::WAFv2::WebACL.ImmunityTimeProperty (__added__)
|
|
41
|
+
* AWS::WAFv2::WebACL.RegexMatchStatement (__added__)
|
|
42
|
+
* AWS::ApiGateway::Deployment.CanarySetting StageVariableOverrides.DuplicatesAllowed (__deleted__)
|
|
43
|
+
* AWS::ApiGateway::Deployment.DeploymentCanarySettings StageVariableOverrides.DuplicatesAllowed (__deleted__)
|
|
44
|
+
* AWS::ApiGateway::Deployment.MethodSetting CacheDataEncrypted.Documentation (__changed__)
|
|
45
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachedataencrypted
|
|
46
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachedataencrypted
|
|
47
|
+
* AWS::ApiGateway::Deployment.MethodSetting CacheTtlInSeconds.Documentation (__changed__)
|
|
48
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachettlinseconds
|
|
49
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachettlinseconds
|
|
50
|
+
* AWS::ApiGateway::Deployment.MethodSetting CachingEnabled.Documentation (__changed__)
|
|
51
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachingenabled
|
|
52
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachingenabled
|
|
53
|
+
* AWS::ApiGateway::Deployment.MethodSetting DataTraceEnabled.Documentation (__changed__)
|
|
54
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-datatraceenabled
|
|
55
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-datatraceenabled
|
|
56
|
+
* AWS::ApiGateway::Deployment.MethodSetting HttpMethod.Documentation (__changed__)
|
|
57
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-httpmethod
|
|
58
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-httpmethod
|
|
59
|
+
* AWS::ApiGateway::Deployment.MethodSetting LoggingLevel.Documentation (__changed__)
|
|
60
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-logginglevel
|
|
61
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-logginglevel
|
|
62
|
+
* AWS::ApiGateway::Deployment.MethodSetting MetricsEnabled.Documentation (__changed__)
|
|
63
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-metricsenabled
|
|
64
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-metricsenabled
|
|
65
|
+
* AWS::ApiGateway::Deployment.MethodSetting ResourcePath.Documentation (__changed__)
|
|
66
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-resourcepath
|
|
67
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-resourcepath
|
|
68
|
+
* AWS::ApiGateway::Deployment.MethodSetting ThrottlingBurstLimit.Documentation (__changed__)
|
|
69
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-throttlingburstlimit
|
|
70
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingburstlimit
|
|
71
|
+
* AWS::ApiGateway::Deployment.MethodSetting ThrottlingRateLimit.Documentation (__changed__)
|
|
72
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-throttlingratelimit
|
|
73
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingratelimit
|
|
74
|
+
* AWS::ApiGateway::Deployment.StageDescription Tags.Documentation (__changed__)
|
|
75
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-tags
|
|
76
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tags
|
|
77
|
+
* AWS::ApiGateway::Deployment.StageDescription Variables.DuplicatesAllowed (__deleted__)
|
|
78
|
+
* AWS::Evidently::Project.DataDeliveryObject S3.PrimitiveType (__deleted__)
|
|
79
|
+
* AWS::IoTAnalytics::Pipeline.RemoveAttributes Attributes.DuplicatesAllowed (__added__)
|
|
80
|
+
* AWS::IoTAnalytics::Pipeline.SelectAttributes Attributes.DuplicatesAllowed (__added__)
|
|
81
|
+
* AWS::WAFv2::RuleGroup.Rule CaptchaConfig (__added__)
|
|
82
|
+
* AWS::WAFv2::RuleGroup.RuleAction Captcha (__added__)
|
|
83
|
+
* AWS::WAFv2::RuleGroup.Statement RegexMatchStatement (__added__)
|
|
84
|
+
* AWS::WAFv2::WebACL.Rule CaptchaConfig (__added__)
|
|
85
|
+
* AWS::WAFv2::WebACL.RuleAction Captcha (__added__)
|
|
86
|
+
* AWS::WAFv2::WebACL.Statement RegexMatchStatement (__added__)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
# CloudFormation Resource Specification v50.0.0
|
|
90
|
+
|
|
91
|
+
## New Resource Types
|
|
92
|
+
|
|
93
|
+
* AWS::AmplifyUIBuilder::Component
|
|
94
|
+
* AWS::AmplifyUIBuilder::Theme
|
|
95
|
+
* AWS::Connect::ContactFlow
|
|
96
|
+
* AWS::Connect::ContactFlowModule
|
|
97
|
+
* AWS::EC2::IPAM
|
|
98
|
+
* AWS::EC2::IPAMAllocation
|
|
99
|
+
* AWS::EC2::IPAMPool
|
|
100
|
+
* AWS::EC2::IPAMScope
|
|
101
|
+
* AWS::Evidently::Experiment
|
|
102
|
+
* AWS::Evidently::Feature
|
|
103
|
+
* AWS::Evidently::Launch
|
|
104
|
+
* AWS::Evidently::Project
|
|
105
|
+
* AWS::RUM::AppMonitor
|
|
106
|
+
* AWS::RefactorSpaces::Application
|
|
107
|
+
* AWS::RefactorSpaces::Environment
|
|
108
|
+
* AWS::RefactorSpaces::Route
|
|
109
|
+
* AWS::RefactorSpaces::Service
|
|
110
|
+
* AWS::ResilienceHub::App
|
|
111
|
+
* AWS::ResilienceHub::ResiliencyPolicy
|
|
112
|
+
* AWS::Timestream::ScheduledQuery
|
|
113
|
+
* AWS::Transfer::Workflow
|
|
114
|
+
|
|
115
|
+
## Attribute Changes
|
|
116
|
+
|
|
117
|
+
* AWS::EC2::NetworkInterface Id (__added__)
|
|
118
|
+
* AWS::EC2::NetworkInterface SecondaryPrivateIpAddresses.DuplicatesAllowed (__added__)
|
|
119
|
+
* AWS::EC2::NetworkInterface Documentation (__changed__)
|
|
120
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html
|
|
121
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html
|
|
122
|
+
* AWS::EC2::SubnetRouteTableAssociation Documentation (__changed__)
|
|
123
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html
|
|
124
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html
|
|
125
|
+
* AWS::EC2::SubnetRouteTableAssociation Id (__added__)
|
|
126
|
+
* AWS::EC2::VPCEndpoint Id (__added__)
|
|
127
|
+
* AWS::EC2::VPCEndpoint DnsEntries.DuplicatesAllowed (__added__)
|
|
128
|
+
* AWS::EC2::VPCEndpoint NetworkInterfaceIds.DuplicatesAllowed (__added__)
|
|
129
|
+
* AWS::EKS::Cluster KubernetesNetworkConfig.ServiceIpv6Cidr (__added__)
|
|
130
|
+
* AWS::FSx::FileSystem RootVolumeId (__added__)
|
|
131
|
+
|
|
132
|
+
## Property Changes
|
|
133
|
+
|
|
134
|
+
* AWS::DynamoDB::Table TableClass (__added__)
|
|
135
|
+
* AWS::EC2::Instance PropagateTagsToVolumeOnCreation (__added__)
|
|
136
|
+
* AWS::EC2::NetworkInterface Description.Documentation (__changed__)
|
|
137
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-description
|
|
138
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-description
|
|
139
|
+
* AWS::EC2::NetworkInterface GroupSet.Documentation (__changed__)
|
|
140
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-groupset
|
|
141
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-groupset
|
|
142
|
+
* AWS::EC2::NetworkInterface GroupSet.DuplicatesAllowed (__changed__)
|
|
143
|
+
* Old: false
|
|
144
|
+
* New: true
|
|
145
|
+
* AWS::EC2::NetworkInterface InterfaceType.Documentation (__changed__)
|
|
146
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-interfacetype
|
|
147
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-interfacetype
|
|
148
|
+
* AWS::EC2::NetworkInterface Ipv6AddressCount.Documentation (__changed__)
|
|
149
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-ipv6addresscount
|
|
150
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv6addresscount
|
|
151
|
+
* AWS::EC2::NetworkInterface Ipv6Addresses.Documentation (__changed__)
|
|
152
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-ipv6addresses
|
|
153
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv6addresses
|
|
154
|
+
* AWS::EC2::NetworkInterface PrivateIpAddress.Documentation (__changed__)
|
|
155
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-privateipaddress
|
|
156
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-privateipaddress
|
|
157
|
+
* AWS::EC2::NetworkInterface PrivateIpAddresses.Documentation (__changed__)
|
|
158
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-privateipaddresses
|
|
159
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-privateipaddresses
|
|
160
|
+
* AWS::EC2::NetworkInterface PrivateIpAddresses.DuplicatesAllowed (__changed__)
|
|
161
|
+
* Old: false
|
|
162
|
+
* New: true
|
|
163
|
+
* AWS::EC2::NetworkInterface PrivateIpAddresses.UpdateType (__changed__)
|
|
164
|
+
* Old: Conditional
|
|
165
|
+
* New: Mutable
|
|
166
|
+
* AWS::EC2::NetworkInterface SecondaryPrivateIpAddressCount.Documentation (__changed__)
|
|
167
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-secondaryprivateipcount
|
|
168
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-secondaryprivateipaddresscount
|
|
169
|
+
* AWS::EC2::NetworkInterface SourceDestCheck.Documentation (__changed__)
|
|
170
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-sourcedestcheck
|
|
171
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-sourcedestcheck
|
|
172
|
+
* AWS::EC2::NetworkInterface SubnetId.Documentation (__changed__)
|
|
173
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-subnetid
|
|
174
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-subnetid
|
|
175
|
+
* AWS::EC2::NetworkInterface Tags.Documentation (__changed__)
|
|
176
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-tags
|
|
177
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-tags
|
|
178
|
+
* AWS::EC2::SubnetRouteTableAssociation RouteTableId.Documentation (__changed__)
|
|
179
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html#cfn-ec2-subnetroutetableassociation-routetableid
|
|
180
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html#cfn-ec2-subnetroutetableassociation-routetableid
|
|
181
|
+
* AWS::EC2::SubnetRouteTableAssociation RouteTableId.UpdateType (__changed__)
|
|
182
|
+
* Old: Mutable
|
|
183
|
+
* New: Immutable
|
|
184
|
+
* AWS::EC2::SubnetRouteTableAssociation SubnetId.Documentation (__changed__)
|
|
185
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html#cfn-ec2-subnetroutetableassociation-subnetid
|
|
186
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html#cfn-ec2-subnetroutetableassociation-subnetid
|
|
187
|
+
* AWS::EMR::InstanceGroupConfig CustomAmiId (__added__)
|
|
188
|
+
* AWS::ElastiCache::ReplicationGroup DataTieringEnabled (__added__)
|
|
189
|
+
* AWS::FSx::FileSystem OpenZFSConfiguration (__added__)
|
|
190
|
+
* AWS::IoTSiteWise::Project AssetIds (__added__)
|
|
191
|
+
|
|
192
|
+
## Property Type Changes
|
|
193
|
+
|
|
194
|
+
* AWS::FSx::FileSystem.ClientConfigurations (__added__)
|
|
195
|
+
* AWS::FSx::FileSystem.NfsExports (__added__)
|
|
196
|
+
* AWS::FSx::FileSystem.OpenZFSConfiguration (__added__)
|
|
197
|
+
* AWS::FSx::FileSystem.RootVolumeConfiguration (__added__)
|
|
198
|
+
* AWS::FSx::FileSystem.UserAndGroupQuotas (__added__)
|
|
199
|
+
* AWS::MediaLive::Channel.AudioHlsRenditionSelection (__added__)
|
|
200
|
+
* AWS::MediaLive::Channel.AudioWatermarkSettings (__added__)
|
|
201
|
+
* AWS::MediaLive::Channel.NielsenCBET (__added__)
|
|
202
|
+
* AWS::MediaLive::Channel.NielsenNaesIiNw (__added__)
|
|
203
|
+
* AWS::MediaLive::Channel.NielsenWatermarksSettings (__added__)
|
|
204
|
+
* AWS::S3::Bucket.EventBridgeConfiguration (__added__)
|
|
205
|
+
* AWS::S3::Bucket.NoncurrentVersionExpiration (__added__)
|
|
206
|
+
* AWS::S3::StorageLens.CloudWatchMetrics (__added__)
|
|
207
|
+
* AWS::SageMaker::EndpointConfig.ServerlessConfig (__added__)
|
|
208
|
+
* AWS::EC2::NetworkInterface.PrivateIpAddressSpecification Primary.Documentation (__changed__)
|
|
209
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-primary
|
|
210
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-privateipaddressspecification.html#cfn-ec2-networkinterface-privateipaddressspecification-primary
|
|
211
|
+
* AWS::EC2::NetworkInterface.PrivateIpAddressSpecification PrivateIpAddress.Documentation (__changed__)
|
|
212
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-privateipaddress
|
|
213
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-privateipaddressspecification.html#cfn-ec2-networkinterface-privateipaddressspecification-privateipaddress
|
|
214
|
+
* AWS::EKS::Cluster.KubernetesNetworkConfig IpFamily (__added__)
|
|
215
|
+
* AWS::EKS::Cluster.KubernetesNetworkConfig ServiceIpv6Cidr (__added__)
|
|
216
|
+
* AWS::EMR::Cluster.InstanceGroupConfig CustomAmiId (__added__)
|
|
217
|
+
* AWS::EMR::Cluster.InstanceTypeConfig CustomAmiId (__added__)
|
|
218
|
+
* AWS::EMR::InstanceFleetConfig.InstanceTypeConfig CustomAmiId (__added__)
|
|
219
|
+
* AWS::FSx::FileSystem.DiskIopsConfiguration Iops.Documentation (__changed__)
|
|
220
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration-diskiopsconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-diskiopsconfiguration-iops
|
|
221
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-openzfsconfiguration-diskiopsconfiguration.html#cfn-fsx-filesystem-openzfsconfiguration-diskiopsconfiguration-iops
|
|
222
|
+
* AWS::FSx::FileSystem.DiskIopsConfiguration Mode.Documentation (__changed__)
|
|
223
|
+
* Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration-diskiopsconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-diskiopsconfiguration-mode
|
|
224
|
+
* New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-openzfsconfiguration-diskiopsconfiguration.html#cfn-fsx-filesystem-openzfsconfiguration-diskiopsconfiguration-mode
|
|
225
|
+
* AWS::MediaLive::Channel.AudioDescription AudioWatermarkingSettings (__added__)
|
|
226
|
+
* AWS::MediaLive::Channel.AudioSelectorSettings AudioHlsRenditionSelection (__added__)
|
|
227
|
+
* AWS::MediaLive::Channel.DvbSubSourceSettings OcrLanguage (__added__)
|
|
228
|
+
* AWS::MediaLive::Channel.HlsInputSettings Scte35Source (__added__)
|
|
229
|
+
* AWS::MediaLive::Channel.Scte27SourceSettings OcrLanguage (__added__)
|
|
230
|
+
* AWS::MediaLive::Channel.WebvttDestinationSettings StyleControl (__added__)
|
|
231
|
+
* AWS::S3::Bucket.NoncurrentVersionTransition NewerNoncurrentVersions (__added__)
|
|
232
|
+
* AWS::S3::Bucket.NotificationConfiguration EventBridgeConfiguration (__added__)
|
|
233
|
+
* AWS::S3::Bucket.Rule NoncurrentVersionExpiration (__added__)
|
|
234
|
+
* AWS::S3::Bucket.Rule ObjectSizeGreaterThan (__added__)
|
|
235
|
+
* AWS::S3::Bucket.Rule ObjectSizeLessThan (__added__)
|
|
236
|
+
* AWS::S3::StorageLens.DataExport CloudWatchMetrics (__added__)
|
|
237
|
+
* AWS::S3::StorageLens.DataExport S3BucketDestination.Required (__changed__)
|
|
238
|
+
* Old: true
|
|
239
|
+
* New: false
|
|
240
|
+
* AWS::SageMaker::EndpointConfig.ProductionVariant ServerlessConfig (__added__)
|
|
241
|
+
* AWS::SageMaker::EndpointConfig.ProductionVariant InitialInstanceCount.Required (__changed__)
|
|
242
|
+
* Old: true
|
|
243
|
+
* New: false
|
|
244
|
+
* AWS::SageMaker::EndpointConfig.ProductionVariant InstanceType.Required (__changed__)
|
|
245
|
+
* Old: true
|
|
246
|
+
* New: false
|
|
247
|
+
* AWS::SageMaker::Model.ContainerDefinition InferenceSpecificationName (__added__)
|
|
248
|
+
|
|
249
|
+
|
|
1
250
|
# CloudFormation Resource Specification v49.0.0
|
|
2
251
|
|
|
3
252
|
## New Resource Types
|
|
@@ -22,7 +22,7 @@ async function main() {
|
|
|
22
22
|
// iterate over all cloudformation namespaces
|
|
23
23
|
for (const namespace of cfnspec.namespaces()) {
|
|
24
24
|
const module = pkglint.createModuleDefinitionFromCfnNamespace(namespace);
|
|
25
|
-
const lowcaseModuleName = module.
|
|
25
|
+
const lowcaseModuleName = module.moduleBaseName.toLocaleLowerCase();
|
|
26
26
|
const packagePath = path.join(root, module.moduleName);
|
|
27
27
|
// we already have a module for this namesapce, move on.
|
|
28
28
|
if (await fs.pathExists(packagePath)) {
|
|
@@ -305,4 +305,4 @@ main().catch(e => {
|
|
|
305
305
|
console.error(e);
|
|
306
306
|
process.exit(1);
|
|
307
307
|
});
|
|
308
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHOztBQUVILDZCQUE2QjtBQUM3Qiw0Q0FBNEM7QUFDNUMsK0JBQStCO0FBQy9CLGtDQUFrQztBQUVsQyxvQkFBb0I7QUFDcEIsK0JBQStCO0FBQy9CLGdDQUFnQztBQUVoQyxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLDREQUE0RCxDQUFDLENBQUM7S0FDeEg7SUFFRCxpRUFBaUU7SUFDakUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBRW5ELDZDQUE2QztJQUM3QyxLQUFLLE1BQU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZELHdEQUF3RDtRQUN4RCxJQUFJLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNwQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLENB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Q0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuLyoqXG4gKiBhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgYSBtb2R1bGUgZm9yIGFueSBDbG91ZEZvcm1hdGlvbiBuYW1lc3BhY2VzIHRoYXQgZG8gbm90XG4gKiBoYXZlIGFuIEFXUyBjb25zdHJ1Y3QgbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgcGtnbGludCBmcm9tICdAYXdzLWNkay9wa2dsaW50JztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIGNmbnNwZWMgZnJvbSAnLi4vbGliJztcblxuLy8gZG9uJ3QgYmUgYSBwcnVkZTpcbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIHF1b3RlLXByb3BzICovXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IHJvb3QgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nKTtcbiAgaWYgKHBhdGguYmFzZW5hbWUocm9vdCkgIT09ICdAYXdzLWNkaycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNvbWV0aGluZyB3ZW50IHdyb25nLiBXZSBleHBlY3RlZCAke3Jvb3R9IHRvIGJlIHRoZSBcInBhY2thZ2VzL0Bhd3MtY2RrXCIgZGlyZWN0b3J5LiBEaWQgeW91IG1vdmUgbWU/YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCB2ZXJzaW9uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuICAvLyBpdGVyYXRlIG92ZXIgYWxsIGNsb3VkZm9ybWF0aW9uIG5hbWVzcGFjZXNcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgY2Zuc3BlYy5uYW1lc3BhY2VzKCkpIHtcbiAgICBjb25zdCBtb2R1bGUgPSBwa2dsaW50LmNyZWF0ZU1vZHVsZURlZmluaXRpb25Gcm9tQ2ZuTmFtZXNwYWNlKG5hbWVzcGFjZSk7XG4gICAgY29uc3QgbG93Y2FzZU1vZHVsZU5hbWUgPSBtb2R1bGUubW9kdWxlTmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHBhY2thZ2VQYXRoID0gcGF0aC5qb2luKHJvb3QsIG1vZHVsZS5tb2R1bGVOYW1lKTtcblxuICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBhIG1vZHVsZSBmb3IgdGhpcyBuYW1lc2FwY2UsIG1vdmUgb24uXG4gICAgaWYgKGF3YWl0IGZzLnBhdGhFeGlzdHMocGFja2FnZVBhdGgpKSB7XG4gICAgICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsICdwYWNrYWdlLmpzb24nKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICBjb25zdCBwYWNrYWdlSnNvbiA9IHJlcXVpcmUocGFja2FnZUpzb25QYXRoKTtcbiAgICAgIGxldCBzY29wZXM6IHN0cmluZyB8IHN0cmluZ1tdID0gcGFja2FnZUpzb25bJ2Nkay1idWlsZCddLmNsb3VkZm9ybWF0aW9uO1xuICAgICAgaWYgKHR5cGVvZiBzY29wZXMgPT09ICdzdHJpbmcnKSB7IHNjb3BlcyA9IFtzY29wZXNdOyB9XG4gICAgICBpZiAoc2NvcGVzLmluZGV4T2YobmFtZXNwYWNlKSAhPT0gLTEpIHtcbiAgICAgICAgLy8gVjItc3R5bGUgbW9kdWxlIGlzIGFscmVhZHkgbW9kZWxlZCBpbiB0aGUgcm9vdCBwYWNrYWdlLCBub3RoaW5nIHRvIGJlIGRvbmUhXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSBlbHNlIGlmIChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbihyb290LCBgJHttb2R1bGUubW9kdWxlRmFtaWx5fS0ke21vZHVsZS5tb2R1bGVCYXNlTmFtZX1gLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSkge1xuICAgICAgICAvLyBWMi1zdHlsZSBwYWNrYWdlIGFscmVhZHkgaGFzIGl0J3Mgb3duIHBhY2thZ2UgKGxlZ2FjeSBiZWhhdmlvciksIG5vdGhpbmcgdG8gYmUgZG9uZSFcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBWMi1zdHlsZSBwYWNrYWdlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIGl0J3MgXCJWMVwiIHBhY2thZ2UuLi4gR2V0IGRvd24gdG8gYnVzaW5lc3MhXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEFkZGluZyAke25hbWVzcGFjZX0gdG8gJHttb2R1bGUucGFja2FnZU5hbWV9YCk7XG4gICAgICAgIHNjb3Blcy5wdXNoKG5hbWVzcGFjZSk7XG4gICAgICAgIHBhY2thZ2VKc29uWydjZGstYnVpbGQnXS5jbG91ZGZvcm1hdGlvbiA9IHNjb3BlcztcbiAgICAgICAgYXdhaXQgZnMud3JpdGVKc29uKHBhY2thZ2VKc29uUGF0aCwgcGFja2FnZUpzb24sIHsgZW5jb2Rpbmc6ICd1dGYtOCcsIHNwYWNlczogMiB9KTtcbiAgICAgICAgY29uc3QgaW5kZXhUc1BhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsICdsaWInLCAnaW5kZXgudHMnKTtcbiAgICAgICAgY29uc3QgaW5kZXhUcyA9IFtcbiAgICAgICAgICAoYXdhaXQgZnMucmVhZEZpbGUoaW5kZXhUc1BhdGgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KSkudHJpbVJpZ2h0KCksXG4gICAgICAgICAgYC8vICR7bmFtZXNwYWNlfSBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZXM6YCxcbiAgICAgICAgICBgZXhwb3J0ICogZnJvbSAnLi8ke2xvd2Nhc2VNb2R1bGVOYW1lfS5nZW5lcmF0ZWQnO2AsXG4gICAgICAgIF0uam9pbignXFxuJyk7XG4gICAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShpbmRleFRzUGF0aCwgaW5kZXhUcywgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiB3cml0ZShyZWxhdGl2ZVBhdGg6IHN0cmluZywgY29udGVudHM6IHN0cmluZ1tdIHwgc3RyaW5nIHwgb2JqZWN0KSB7XG4gICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGguam9pbihwYWNrYWdlUGF0aCwgcmVsYXRpdmVQYXRoKTtcbiAgICAgIGNvbnN0IGRpciA9IHBhdGguZGlybmFtZShmdWxsUGF0aCk7XG4gICAgICBhd2FpdCBmcy5ta2RpcnAoZGlyKTtcblxuICAgICAgbGV0IGRhdGE7XG4gICAgICBpZiAodHlwZW9mIGNvbnRlbnRzID09PSAnc3RyaW5nJykge1xuICAgICAgICBkYXRhID0gY29udGVudHMudHJpbUxlZnQoKTsgLy8gdHJpbSBmaXJzdCBuZXdsaW5lXG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY29udGVudHMpKSB7XG4gICAgICAgIGRhdGEgPSBjb250ZW50cy5qb2luKCdcXG4nKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbnRlbnRzID09PSAnb2JqZWN0Jykge1xuICAgICAgICBkYXRhID0gSlNPTi5zdHJpbmdpZnkoY29udGVudHMsIHVuZGVmaW5lZCwgMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiBjb250ZW50czogJyArIGNvbnRlbnRzKTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKGZ1bGxQYXRoLCBkYXRhICsgJ1xcbicpO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBnZW5lcmF0aW5nIG1vZHVsZSBmb3IgJHttb2R1bGUucGFja2FnZU5hbWV9Li4uYCk7XG5cbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGAke25hbWVzcGFjZX0gQ29uc3RydWN0IExpYnJhcnlgO1xuXG4gICAgYXdhaXQgd3JpdGUoJ3BhY2thZ2UuanNvbicsIHtcbiAgICAgIG5hbWU6IG1vZHVsZS5wYWNrYWdlTmFtZSxcbiAgICAgIHZlcnNpb24sXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIG1haW46ICdsaWIvaW5kZXguanMnLFxuICAgICAgdHlwZXM6ICdsaWIvaW5kZXguZC50cycsXG4gICAgICBqc2lpOiB7XG4gICAgICAgIG91dGRpcjogJ2Rpc3QnLFxuICAgICAgICBwcm9qZWN0UmVmZXJlbmNlczogdHJ1ZSxcbiAgICAgICAgdGFyZ2V0czoge1xuICAgICAgICAgIGRvdG5ldDoge1xuICAgICAgICAgICAgbmFtZXNwYWNlOiBtb2R1bGUuZG90bmV0UGFja2FnZSxcbiAgICAgICAgICAgIHBhY2thZ2VJZDogbW9kdWxlLmRvdG5ldFBhY2thZ2UsXG4gICAgICAgICAgICBzaWduQXNzZW1ibHk6IHRydWUsXG4gICAgICAgICAgICBhc3NlbWJseU9yaWdpbmF0b3JLZXlGaWxlOiAnLi4vLi4va2V5LnNuaycsXG4gICAgICAgICAgICBpY29uVXJsOiAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2F3cy9hd3MtY2RrL21hc3Rlci9sb2dvL2RlZmF1bHQtMjU2LWRhcmsucG5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGphdmE6IHtcbiAgICAgICAgICAgIHBhY2thZ2U6IGAke21vZHVsZS5qYXZhR3JvdXBJZH0uJHttb2R1bGUuamF2YVBhY2thZ2V9YCxcbiAgICAgICAgICAgIG1hdmVuOiB7XG4gICAgICAgICAgICAgIGdyb3VwSWQ6IG1vZHVsZS5qYXZhR3JvdXBJZCxcbiAgICAgICAgICAgICAgYXJ0aWZhY3RJZDogbW9kdWxlLmphdmFBcnRpZmFjdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHB5dGhvbjoge1xuICAgICAgICAgICAgY2xhc3NpZmllcnM6IFtcbiAgICAgICAgICAgICAgJ0ZyYW1ld29yayA6OiBBV1MgQ0RLJyxcbiAgICAgICAgICAgICAgJ0ZyYW1ld29yayA6OiBBV1MgQ0RLIDo6IDEnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGRpc3ROYW1lOiBtb2R1bGUucHl0aG9uRGlzdE5hbWUsXG4gICAgICAgICAgICBtb2R1bGU6IG1vZHVsZS5weXRob25Nb2R1bGVOYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAganNpaToge1xuICAgICAgICAgICAgcm9zZXR0YToge1xuICAgICAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVwb3NpdG9yeToge1xuICAgICAgICB0eXBlOiAnZ2l0JyxcbiAgICAgICAgdXJsOiAnaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrLmdpdCcsXG4gICAgICAgIGRpcmVjdG9yeTogYHBhY2thZ2VzLyR7bW9kdWxlLnBhY2thZ2VOYW1lfWAsXG4gICAgICB9LFxuICAgICAgaG9tZXBhZ2U6ICdodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsnLFxuICAgICAgc2NyaXB0czoge1xuICAgICAgICBidWlsZDogJ2Nkay1idWlsZCcsXG4gICAgICAgIHdhdGNoOiAnY2RrLXdhdGNoJyxcbiAgICAgICAgbGludDogJ2Nkay1saW50JyxcbiAgICAgICAgdGVzdDogJ2Nkay10ZXN0JyxcbiAgICAgICAgaW50ZWc6ICdjZGstaW50ZWcnLFxuICAgICAgICBwa2dsaW50OiAncGtnbGludCAtZicsXG4gICAgICAgIHBhY2thZ2U6ICdjZGstcGFja2FnZScsXG4gICAgICAgIGF3c2xpbnQ6ICdjZGstYXdzbGludCcsXG4gICAgICAgIGNmbjJ0czogJ2NmbjJ0cycsXG4gICAgICAgICdidWlsZCt0ZXN0JzogJ3lhcm4gYnVpbGQgJiYgeWFybiB0ZXN0JyxcbiAgICAgICAgJ2J1aWxkK3Rlc3QrcGFja2FnZSc6ICd5YXJuIGJ1aWxkK3Rlc3QgJiYgeWFybiBwYWNrYWdlJyxcbiAgICAgICAgY29tcGF0OiAnY2RrLWNvbXBhdCcsXG4gICAgICAgIGdlbjogJ2NmbjJ0cycsXG4gICAgICAgICdyb3NldHRhOmV4dHJhY3QnOiAneWFybiAtLXNpbGVudCBqc2lpLXJvc2V0dGEgZXh0cmFjdCcsXG4gICAgICAgICdidWlsZCtleHRyYWN0JzogJ3lhcm4gYnVpbGQgJiYgeWFybiByb3NldHRhOmV4dHJhY3QnLFxuICAgICAgICAnYnVpbGQrdGVzdCtleHRyYWN0JzogJ3lhcm4gYnVpbGQrdGVzdCAmJiB5YXJuIHJvc2V0dGE6ZXh0cmFjdCcsXG4gICAgICB9LFxuICAgICAgJ2Nkay1idWlsZCc6IHtcbiAgICAgICAgY2xvdWRmb3JtYXRpb246IG5hbWVzcGFjZSxcbiAgICAgICAgamVzdDogdHJ1ZSxcbiAgICAgICAgZW52OiB7XG4gICAgICAgICAgQVdTTElOVF9CQVNFX0NPTlNUUlVDVDogJ3RydWUnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGtleXdvcmRzOiBbXG4gICAgICAgICdhd3MnLFxuICAgICAgICAnY2RrJyxcbiAgICAgICAgJ2NvbnN0cnVjdHMnLFxuICAgICAgICBuYW1lc3BhY2UsXG4gICAgICAgIG1vZHVsZS5tb2R1bGVOYW1lLFxuICAgICAgXSxcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICBuYW1lOiAnQW1hem9uIFdlYiBTZXJ2aWNlcycsXG4gICAgICAgIHVybDogJ2h0dHBzOi8vYXdzLmFtYXpvbi5jb20nLFxuICAgICAgICBvcmdhbml6YXRpb246IHRydWUsXG4gICAgICB9LFxuICAgICAgbGljZW5zZTogJ0FwYWNoZS0yLjAnLFxuICAgICAgZGV2RGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICdAYXdzLWNkay9hc3NlcnRpb25zJzogdmVyc2lvbixcbiAgICAgICAgJ0Bhd3MtY2RrL2Nkay1idWlsZC10b29scyc6IHZlcnNpb24sXG4gICAgICAgICdAYXdzLWNkay9jZm4ydHMnOiB2ZXJzaW9uLFxuICAgICAgICAnQGF3cy1jZGsvcGtnbGludCc6IHZlcnNpb24sXG4gICAgICAgICdAdHlwZXMvamVzdCc6ICdeMjYuMC4yMicsXG4gICAgICB9LFxuICAgICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICdAYXdzLWNkay9jb3JlJzogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBwZWVyRGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICdAYXdzLWNkay9jb3JlJzogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBlbmdpbmVzOiB7XG4gICAgICAgIG5vZGU6ICc+PSAxMC4xMy4wIDwxMyB8fCA+PTEzLjcuMCcsXG4gICAgICB9LFxuICAgICAgc3RhYmlsaXR5OiAnZXhwZXJpbWVudGFsJyxcbiAgICAgIG1hdHVyaXR5OiAnY2ZuLW9ubHknLFxuICAgICAgYXdzY2RraW86IHtcbiAgICAgICAgYW5ub3VuY2U6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHB1Ymxpc2hDb25maWc6IHtcbiAgICAgICAgdGFnOiAnbGF0ZXN0JyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnLmdpdGlnbm9yZScsIFtcbiAgICAgICcqLmpzJyxcbiAgICAgICcqLmpzLm1hcCcsXG4gICAgICAnKi5kLnRzJyxcbiAgICAgICd0c2NvbmZpZy5qc29uJyxcbiAgICAgICdub2RlX21vZHVsZXMnLFxuICAgICAgJyouZ2VuZXJhdGVkLnRzJyxcbiAgICAgICdkaXN0JyxcbiAgICAgICcuanNpaScsXG4gICAgICAnJyxcbiAgICAgICcuTEFTVF9CVUlMRCcsXG4gICAgICAnLm55Y19vdXRwdXQnLFxuICAgICAgJ2NvdmVyYWdlJyxcbiAgICAgICcubnljcmMnLFxuICAgICAgJy5MQVNUX1BBQ0tBR0UnLFxuICAgICAgJyouc25rJyxcbiAgICAgICdueWMuY29uZmlnLmpzJyxcbiAgICAgICchLmVzbGludHJjLmpzJyxcbiAgICAgICchamVzdC5jb25maWcuanMnLFxuICAgICAgJ2p1bml0LnhtbCcsXG4gICAgXSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnLm5wbWlnbm9yZScsIFtcbiAgICAgICcjIERvblxcJ3QgaW5jbHVkZSBvcmlnaW5hbCAudHMgZmlsZXMgd2hlbiBkb2luZyBgbnBtIHBhY2tgJyxcbiAgICAgICcqLnRzJyxcbiAgICAgICchKi5kLnRzJyxcbiAgICAgICdjb3ZlcmFnZScsXG4gICAgICAnLm55Y19vdXRwdXQnLFxuICAgICAgJyoudGd6JyxcbiAgICAgICcnLFxuICAgICAgJ2Rpc3QnLFxuICAgICAgJy5MQVNUX1BBQ0tBR0UnLFxuICAgICAgJy5MQVNUX0JVSUxEJyxcbiAgICAgICchKi5qcycsXG4gICAgICAnJyxcbiAgICAgICcjIEluY2x1ZGUgLmpzaWknLFxuICAgICAgJyEuanNpaScsXG4gICAgICAnJyxcbiAgICAgICcqLnNuaycsXG4gICAgICAnJyxcbiAgICAgICcqLnRzYnVpbGRpbmZvJyxcbiAgICAgICcnLFxuICAgICAgJ3RzY29uZmlnLmpzb24nLFxuICAgICAgJycsXG4gICAgICAnLmVzbGludHJjLmpzJyxcbiAgICAgICdqZXN0LmNvbmZpZy5qcycsXG4gICAgICAnJyxcbiAgICAgICcjIGV4Y2x1ZGUgY2RrIGFydGlmYWN0cycsXG4gICAgICAnKiovY2RrLm91dCcsXG4gICAgICAnanVuaXQueG1sJyxcbiAgICAgICd0ZXN0LycsXG4gICAgICAnISoubGl0LnRzJyxcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKCdsaWIvaW5kZXgudHMnLCBbXG4gICAgICBgLy8gJHtuYW1lc3BhY2V9IENsb3VkRm9ybWF0aW9uIFJlc291cmNlczpgLFxuICAgICAgYGV4cG9ydCAqIGZyb20gJy4vJHtsb3djYXNlTW9kdWxlTmFtZX0uZ2VuZXJhdGVkJztgLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoYHRlc3QvJHtsb3djYXNlTW9kdWxlTmFtZX0udGVzdC50c2AsIFtcbiAgICAgIFwiaW1wb3J0ICdAYXdzLWNkay9hc3NlcnRpb25zJztcIixcbiAgICAgIFwiaW1wb3J0IHt9IGZyb20gJy4uL2xpYic7XCIsXG4gICAgICAnJyxcbiAgICAgIFwidGVzdCgnTm8gdGVzdHMgYXJlIHNwZWNpZmllZCBmb3IgdGhpcyBwYWNrYWdlJywgKCkgPT4ge1wiLFxuICAgICAgJyAgZXhwZWN0KHRydWUpLnRvQmUodHJ1ZSk7JyxcbiAgICAgICd9KTsnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgcGtnbGludC5jcmVhdGVMaWJyYXJ5UmVhZG1lKG5hbWVzcGFjZSwgcGF0aC5qb2luKHBhY2thZ2VQYXRoLCAnUkVBRE1FLm1kJykpO1xuXG4gICAgYXdhaXQgd3JpdGUoJy5lc2xpbnRyYy5qcycsIFtcbiAgICAgIFwiY29uc3QgYmFzZUNvbmZpZyA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2Nkay1idWlsZC10b29scy9jb25maWcvZXNsaW50cmMnKTtcIixcbiAgICAgIFwiYmFzZUNvbmZpZy5wYXJzZXJPcHRpb25zLnByb2plY3QgPSBfX2Rpcm5hbWUgKyAnL3RzY29uZmlnLmpzb24nO1wiLFxuICAgICAgJ21vZHVsZS5leHBvcnRzID0gYmFzZUNvbmZpZzsnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJ2plc3QuY29uZmlnLmpzJywgW1xuICAgICAgXCJjb25zdCBiYXNlQ29uZmlnID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrLWJ1aWxkLXRvb2xzL2NvbmZpZy9qZXN0LmNvbmZpZycpO1wiLFxuICAgICAgJ21vZHVsZS5leHBvcnRzID0gYmFzZUNvbmZpZzsnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJ3Jvc2V0dGEvZGVmYXVsdC50cy1maXh0dXJlJywgW1xuICAgICAgXCJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcIixcbiAgICAgIFwiaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcIixcbiAgICAgICcnLFxuICAgICAgJ2NsYXNzIE15U3RhY2sgZXh0ZW5kcyBTdGFjayB7JyxcbiAgICAgICcgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHsnLFxuICAgICAgJyAgICAvLy8gaGVyZScsXG4gICAgICAnICB9JyxcbiAgICAgICd9JyxcbiAgICBdKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlRGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ3RlbXBsYXRlJyk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGF3YWl0IGZzLnJlYWRkaXIodGVtcGxhdGVEaXIpKSB7XG4gICAgICBhd2FpdCBmcy5jb3B5KHBhdGguam9pbih0ZW1wbGF0ZURpciwgZmlsZSksIHBhdGguam9pbihwYWNrYWdlUGF0aCwgZmlsZSkpO1xuICAgIH1cblxuICAgIGF3YWl0IGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKHBhdGguam9pbignQGF3cy1jZGsnLCAnY2xvdWRmb3JtYXRpb24taW5jbHVkZScpLCBtb2R1bGUucGFja2FnZU5hbWUsIHZlcnNpb24sIFsnZGVwZW5kZW5jaWVzJywgJ3BlZXJEZXBlbmRlbmNpZXMnXSk7XG4gICAgYXdhaXQgYWRkRGVwZW5kZW5jeVRvTWVnYVBhY2thZ2UoJ2F3cy1jZGstbGliJywgbW9kdWxlLnBhY2thZ2VOYW1lLCB2ZXJzaW9uLCBbJ2RldkRlcGVuZGVuY2llcyddKTtcbiAgICBhd2FpdCBhZGREZXBlbmRlbmN5VG9NZWdhUGFja2FnZSgnbW9ub2NkaycsIG1vZHVsZS5wYWNrYWdlTmFtZSwgdmVyc2lvbiwgWydkZXZEZXBlbmRlbmNpZXMnXSk7XG4gICAgYXdhaXQgYWRkRGVwZW5kZW5jeVRvTWVnYVBhY2thZ2UoJ2RlY2RrJywgbW9kdWxlLnBhY2thZ2VOYW1lLCB2ZXJzaW9uLCBbJ2RlcGVuZGVuY2llcyddKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZmV3IG9mIG91ciBwYWNrYWdlcyAoZS5nLiwgZGVjZGssIGF3cy1jZGstbGliKSByZXF1aXJlIGEgZGVwZW5kZW5jeSBvbiBldmVyeSBzZXJ2aWNlIHBhY2thZ2UuXG4gKiBUaGlzIGF1dG9tYXRlcyBhZGRpbmcgdGhlIGRlcGVuZGVuY3kgKGFuZCBwZWVyIGRlcGVuZGVuY3kpIHRvIHRoZSBwYWNrYWdlLmpzb24uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKG1lZ2FQYWNrYWdlTmFtZTogc3RyaW5nLCBwYWNrYWdlTmFtZTogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcsIGRlcGVuZGVuY3lUeXBlczogc3RyaW5nW10pIHtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJy4uJywgbWVnYVBhY2thZ2VOYW1lLCAncGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShhd2FpdCBmcy5yZWFkRmlsZShwYWNrYWdlSnNvblBhdGgsICd1dGY4JykpO1xuICBkZXBlbmRlbmN5VHlwZXMuZm9yRWFjaChkZXBlbmRlbmN5VHlwZSA9PiB7XG4gICAgY29uc3QgdW5vcmRlcmVkRGVwcyA9IHtcbiAgICAgIC4uLnBhY2thZ2VKc29uW2RlcGVuZGVuY3lUeXBlXSxcbiAgICAgIFtwYWNrYWdlTmFtZV06IHZlcnNpb24sXG4gICAgfTtcbiAgICBwYWNrYWdlSnNvbltkZXBlbmRlbmN5VHlwZV0gPSB7fTtcbiAgICBPYmplY3Qua2V5cyh1bm9yZGVyZWREZXBzKS5zb3J0KCkuZm9yRWFjaChrID0+IHtcbiAgICAgIHBhY2thZ2VKc29uW2RlcGVuZGVuY3lUeXBlXVtrXSA9IHVub3JkZXJlZERlcHNba107XG4gICAgfSk7XG4gIH0pO1xuICBhd2FpdCBmcy53cml0ZUZpbGUocGFja2FnZUpzb25QYXRoLCBKU09OLnN0cmluZ2lmeShwYWNrYWdlSnNvbiwgbnVsbCwgMikgKyAnXFxuJyk7XG59XG5cbm1haW4oKS5jYXRjaChlID0+IHtcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG4iXX0=
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHOztBQUVILDZCQUE2QjtBQUM3Qiw0Q0FBNEM7QUFDNUMsK0JBQStCO0FBQy9CLGtDQUFrQztBQUVsQyxvQkFBb0I7QUFDcEIsK0JBQStCO0FBQy9CLGdDQUFnQztBQUVoQyxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLDREQUE0RCxDQUFDLENBQUM7S0FDeEg7SUFFRCxpRUFBaUU7SUFDakUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBRW5ELDZDQUE2QztJQUM3QyxLQUFLLE1BQU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDcEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZELHdEQUF3RDtRQUN4RCxJQUFJLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNwQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLENB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Q0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuLyoqXG4gKiBhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgYSBtb2R1bGUgZm9yIGFueSBDbG91ZEZvcm1hdGlvbiBuYW1lc3BhY2VzIHRoYXQgZG8gbm90XG4gKiBoYXZlIGFuIEFXUyBjb25zdHJ1Y3QgbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgcGtnbGludCBmcm9tICdAYXdzLWNkay9wa2dsaW50JztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIGNmbnNwZWMgZnJvbSAnLi4vbGliJztcblxuLy8gZG9uJ3QgYmUgYSBwcnVkZTpcbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIHF1b3RlLXByb3BzICovXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IHJvb3QgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nKTtcbiAgaWYgKHBhdGguYmFzZW5hbWUocm9vdCkgIT09ICdAYXdzLWNkaycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNvbWV0aGluZyB3ZW50IHdyb25nLiBXZSBleHBlY3RlZCAke3Jvb3R9IHRvIGJlIHRoZSBcInBhY2thZ2VzL0Bhd3MtY2RrXCIgZGlyZWN0b3J5LiBEaWQgeW91IG1vdmUgbWU/YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCB2ZXJzaW9uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuICAvLyBpdGVyYXRlIG92ZXIgYWxsIGNsb3VkZm9ybWF0aW9uIG5hbWVzcGFjZXNcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgY2Zuc3BlYy5uYW1lc3BhY2VzKCkpIHtcbiAgICBjb25zdCBtb2R1bGUgPSBwa2dsaW50LmNyZWF0ZU1vZHVsZURlZmluaXRpb25Gcm9tQ2ZuTmFtZXNwYWNlKG5hbWVzcGFjZSk7XG4gICAgY29uc3QgbG93Y2FzZU1vZHVsZU5hbWUgPSBtb2R1bGUubW9kdWxlQmFzZU5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBjb25zdCBwYWNrYWdlUGF0aCA9IHBhdGguam9pbihyb290LCBtb2R1bGUubW9kdWxlTmFtZSk7XG5cbiAgICAvLyB3ZSBhbHJlYWR5IGhhdmUgYSBtb2R1bGUgZm9yIHRoaXMgbmFtZXNhcGNlLCBtb3ZlIG9uLlxuICAgIGlmIChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhY2thZ2VQYXRoKSkge1xuICAgICAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcGF0aC5qb2luKHBhY2thZ2VQYXRoLCAncGFja2FnZS5qc29uJyk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgICAgY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKHBhY2thZ2VKc29uUGF0aCk7XG4gICAgICBsZXQgc2NvcGVzOiBzdHJpbmcgfCBzdHJpbmdbXSA9IHBhY2thZ2VKc29uWydjZGstYnVpbGQnXS5jbG91ZGZvcm1hdGlvbjtcbiAgICAgIGlmICh0eXBlb2Ygc2NvcGVzID09PSAnc3RyaW5nJykgeyBzY29wZXMgPSBbc2NvcGVzXTsgfVxuICAgICAgaWYgKHNjb3Blcy5pbmRleE9mKG5hbWVzcGFjZSkgIT09IC0xKSB7XG4gICAgICAgIC8vIFYyLXN0eWxlIG1vZHVsZSBpcyBhbHJlYWR5IG1vZGVsZWQgaW4gdGhlIHJvb3QgcGFja2FnZSwgbm90aGluZyB0byBiZSBkb25lIVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSBpZiAoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4ocm9vdCwgYCR7bW9kdWxlLm1vZHVsZUZhbWlseX0tJHttb2R1bGUubW9kdWxlQmFzZU5hbWV9YC50b0xvY2FsZUxvd2VyQ2FzZSgpKSkpIHtcbiAgICAgICAgLy8gVjItc3R5bGUgcGFja2FnZSBhbHJlYWR5IGhhcyBpdCdzIG93biBwYWNrYWdlIChsZWdhY3kgYmVoYXZpb3IpLCBub3RoaW5nIHRvIGJlIGRvbmUhXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVjItc3R5bGUgcGFja2FnZSBuZWVkcyB0byBiZSBhZGRlZCB0byBpdCdzIFwiVjFcIiBwYWNrYWdlLi4uIEdldCBkb3duIHRvIGJ1c2luZXNzIVxuICAgICAgICBjb25zb2xlLmVycm9yKGBBZGRpbmcgJHtuYW1lc3BhY2V9IHRvICR7bW9kdWxlLnBhY2thZ2VOYW1lfWApO1xuICAgICAgICBzY29wZXMucHVzaChuYW1lc3BhY2UpO1xuICAgICAgICBwYWNrYWdlSnNvblsnY2RrLWJ1aWxkJ10uY2xvdWRmb3JtYXRpb24gPSBzY29wZXM7XG4gICAgICAgIGF3YWl0IGZzLndyaXRlSnNvbihwYWNrYWdlSnNvblBhdGgsIHBhY2thZ2VKc29uLCB7IGVuY29kaW5nOiAndXRmLTgnLCBzcGFjZXM6IDIgfSk7XG4gICAgICAgIGNvbnN0IGluZGV4VHNQYXRoID0gcGF0aC5qb2luKHBhY2thZ2VQYXRoLCAnbGliJywgJ2luZGV4LnRzJyk7XG4gICAgICAgIGNvbnN0IGluZGV4VHMgPSBbXG4gICAgICAgICAgKGF3YWl0IGZzLnJlYWRGaWxlKGluZGV4VHNQYXRoLCB7IGVuY29kaW5nOiAndXRmOCcgfSkpLnRyaW1SaWdodCgpLFxuICAgICAgICAgIGAvLyAke25hbWVzcGFjZX0gQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2VzOmAsXG4gICAgICAgICAgYGV4cG9ydCAqIGZyb20gJy4vJHtsb3djYXNlTW9kdWxlTmFtZX0uZ2VuZXJhdGVkJztgLFxuICAgICAgICBdLmpvaW4oJ1xcbicpO1xuICAgICAgICBhd2FpdCBmcy53cml0ZUZpbGUoaW5kZXhUc1BhdGgsIGluZGV4VHMsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgZnVuY3Rpb24gd3JpdGUocmVsYXRpdmVQYXRoOiBzdHJpbmcsIGNvbnRlbnRzOiBzdHJpbmdbXSB8IHN0cmluZyB8IG9iamVjdCkge1xuICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsIHJlbGF0aXZlUGF0aCk7XG4gICAgICBjb25zdCBkaXIgPSBwYXRoLmRpcm5hbWUoZnVsbFBhdGgpO1xuICAgICAgYXdhaXQgZnMubWtkaXJwKGRpcik7XG5cbiAgICAgIGxldCBkYXRhO1xuICAgICAgaWYgKHR5cGVvZiBjb250ZW50cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZGF0YSA9IGNvbnRlbnRzLnRyaW1MZWZ0KCk7IC8vIHRyaW0gZmlyc3QgbmV3bGluZVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNvbnRlbnRzKSkge1xuICAgICAgICBkYXRhID0gY29udGVudHMuam9pbignXFxuJyk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZW50cyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZGF0YSA9IEpTT04uc3RyaW5naWZ5KGNvbnRlbnRzLCB1bmRlZmluZWQsIDIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHR5cGUgb2YgY29udGVudHM6ICcgKyBjb250ZW50cyk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShmdWxsUGF0aCwgZGF0YSArICdcXG4nKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgZ2VuZXJhdGluZyBtb2R1bGUgZm9yICR7bW9kdWxlLnBhY2thZ2VOYW1lfS4uLmApO1xuXG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBgJHtuYW1lc3BhY2V9IENvbnN0cnVjdCBMaWJyYXJ5YDtcblxuICAgIGF3YWl0IHdyaXRlKCdwYWNrYWdlLmpzb24nLCB7XG4gICAgICBuYW1lOiBtb2R1bGUucGFja2FnZU5hbWUsXG4gICAgICB2ZXJzaW9uLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBtYWluOiAnbGliL2luZGV4LmpzJyxcbiAgICAgIHR5cGVzOiAnbGliL2luZGV4LmQudHMnLFxuICAgICAganNpaToge1xuICAgICAgICBvdXRkaXI6ICdkaXN0JyxcbiAgICAgICAgcHJvamVjdFJlZmVyZW5jZXM6IHRydWUsXG4gICAgICAgIHRhcmdldHM6IHtcbiAgICAgICAgICBkb3RuZXQ6IHtcbiAgICAgICAgICAgIG5hbWVzcGFjZTogbW9kdWxlLmRvdG5ldFBhY2thZ2UsXG4gICAgICAgICAgICBwYWNrYWdlSWQ6IG1vZHVsZS5kb3RuZXRQYWNrYWdlLFxuICAgICAgICAgICAgc2lnbkFzc2VtYmx5OiB0cnVlLFxuICAgICAgICAgICAgYXNzZW1ibHlPcmlnaW5hdG9yS2V5RmlsZTogJy4uLy4uL2tleS5zbmsnLFxuICAgICAgICAgICAgaWNvblVybDogJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9hd3MvYXdzLWNkay9tYXN0ZXIvbG9nby9kZWZhdWx0LTI1Ni1kYXJrLnBuZycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBqYXZhOiB7XG4gICAgICAgICAgICBwYWNrYWdlOiBgJHttb2R1bGUuamF2YUdyb3VwSWR9LiR7bW9kdWxlLmphdmFQYWNrYWdlfWAsXG4gICAgICAgICAgICBtYXZlbjoge1xuICAgICAgICAgICAgICBncm91cElkOiBtb2R1bGUuamF2YUdyb3VwSWQsXG4gICAgICAgICAgICAgIGFydGlmYWN0SWQ6IG1vZHVsZS5qYXZhQXJ0aWZhY3RJZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBweXRob246IHtcbiAgICAgICAgICAgIGNsYXNzaWZpZXJzOiBbXG4gICAgICAgICAgICAgICdGcmFtZXdvcmsgOjogQVdTIENESycsXG4gICAgICAgICAgICAgICdGcmFtZXdvcmsgOjogQVdTIENESyA6OiAxJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBkaXN0TmFtZTogbW9kdWxlLnB5dGhvbkRpc3ROYW1lLFxuICAgICAgICAgICAgbW9kdWxlOiBtb2R1bGUucHl0aG9uTW9kdWxlTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIGpzaWk6IHtcbiAgICAgICAgICAgIHJvc2V0dGE6IHtcbiAgICAgICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlcG9zaXRvcnk6IHtcbiAgICAgICAgdHlwZTogJ2dpdCcsXG4gICAgICAgIHVybDogJ2h0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay5naXQnLFxuICAgICAgICBkaXJlY3Rvcnk6IGBwYWNrYWdlcy8ke21vZHVsZS5wYWNrYWdlTmFtZX1gLFxuICAgICAgfSxcbiAgICAgIGhvbWVwYWdlOiAnaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrJyxcbiAgICAgIHNjcmlwdHM6IHtcbiAgICAgICAgYnVpbGQ6ICdjZGstYnVpbGQnLFxuICAgICAgICB3YXRjaDogJ2Nkay13YXRjaCcsXG4gICAgICAgIGxpbnQ6ICdjZGstbGludCcsXG4gICAgICAgIHRlc3Q6ICdjZGstdGVzdCcsXG4gICAgICAgIGludGVnOiAnY2RrLWludGVnJyxcbiAgICAgICAgcGtnbGludDogJ3BrZ2xpbnQgLWYnLFxuICAgICAgICBwYWNrYWdlOiAnY2RrLXBhY2thZ2UnLFxuICAgICAgICBhd3NsaW50OiAnY2RrLWF3c2xpbnQnLFxuICAgICAgICBjZm4ydHM6ICdjZm4ydHMnLFxuICAgICAgICAnYnVpbGQrdGVzdCc6ICd5YXJuIGJ1aWxkICYmIHlhcm4gdGVzdCcsXG4gICAgICAgICdidWlsZCt0ZXN0K3BhY2thZ2UnOiAneWFybiBidWlsZCt0ZXN0ICYmIHlhcm4gcGFja2FnZScsXG4gICAgICAgIGNvbXBhdDogJ2Nkay1jb21wYXQnLFxuICAgICAgICBnZW46ICdjZm4ydHMnLFxuICAgICAgICAncm9zZXR0YTpleHRyYWN0JzogJ3lhcm4gLS1zaWxlbnQganNpaS1yb3NldHRhIGV4dHJhY3QnLFxuICAgICAgICAnYnVpbGQrZXh0cmFjdCc6ICd5YXJuIGJ1aWxkICYmIHlhcm4gcm9zZXR0YTpleHRyYWN0JyxcbiAgICAgICAgJ2J1aWxkK3Rlc3QrZXh0cmFjdCc6ICd5YXJuIGJ1aWxkK3Rlc3QgJiYgeWFybiByb3NldHRhOmV4dHJhY3QnLFxuICAgICAgfSxcbiAgICAgICdjZGstYnVpbGQnOiB7XG4gICAgICAgIGNsb3VkZm9ybWF0aW9uOiBuYW1lc3BhY2UsXG4gICAgICAgIGplc3Q6IHRydWUsXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIEFXU0xJTlRfQkFTRV9DT05TVFJVQ1Q6ICd0cnVlJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBrZXl3b3JkczogW1xuICAgICAgICAnYXdzJyxcbiAgICAgICAgJ2NkaycsXG4gICAgICAgICdjb25zdHJ1Y3RzJyxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBtb2R1bGUubW9kdWxlTmFtZSxcbiAgICAgIF0sXG4gICAgICBhdXRob3I6IHtcbiAgICAgICAgbmFtZTogJ0FtYXpvbiBXZWIgU2VydmljZXMnLFxuICAgICAgICB1cmw6ICdodHRwczovL2F3cy5hbWF6b24uY29tJyxcbiAgICAgICAgb3JnYW5pemF0aW9uOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGxpY2Vuc2U6ICdBcGFjaGUtMi4wJyxcbiAgICAgIGRldkRlcGVuZGVuY2llczoge1xuICAgICAgICAnQGF3cy1jZGsvYXNzZXJ0aW9ucyc6IHZlcnNpb24sXG4gICAgICAgICdAYXdzLWNkay9jZGstYnVpbGQtdG9vbHMnOiB2ZXJzaW9uLFxuICAgICAgICAnQGF3cy1jZGsvY2ZuMnRzJzogdmVyc2lvbixcbiAgICAgICAgJ0Bhd3MtY2RrL3BrZ2xpbnQnOiB2ZXJzaW9uLFxuICAgICAgICAnQHR5cGVzL2plc3QnOiAnXjI2LjAuMjInLFxuICAgICAgfSxcbiAgICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgICAnQGF3cy1jZGsvY29yZSc6IHZlcnNpb24sXG4gICAgICB9LFxuICAgICAgcGVlckRlcGVuZGVuY2llczoge1xuICAgICAgICAnQGF3cy1jZGsvY29yZSc6IHZlcnNpb24sXG4gICAgICB9LFxuICAgICAgZW5naW5lczoge1xuICAgICAgICBub2RlOiAnPj0gMTAuMTMuMCA8MTMgfHwgPj0xMy43LjAnLFxuICAgICAgfSxcbiAgICAgIHN0YWJpbGl0eTogJ2V4cGVyaW1lbnRhbCcsXG4gICAgICBtYXR1cml0eTogJ2Nmbi1vbmx5JyxcbiAgICAgIGF3c2Nka2lvOiB7XG4gICAgICAgIGFubm91bmNlOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBwdWJsaXNoQ29uZmlnOiB7XG4gICAgICAgIHRhZzogJ2xhdGVzdCcsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJy5naXRpZ25vcmUnLCBbXG4gICAgICAnKi5qcycsXG4gICAgICAnKi5qcy5tYXAnLFxuICAgICAgJyouZC50cycsXG4gICAgICAndHNjb25maWcuanNvbicsXG4gICAgICAnbm9kZV9tb2R1bGVzJyxcbiAgICAgICcqLmdlbmVyYXRlZC50cycsXG4gICAgICAnZGlzdCcsXG4gICAgICAnLmpzaWknLFxuICAgICAgJycsXG4gICAgICAnLkxBU1RfQlVJTEQnLFxuICAgICAgJy5ueWNfb3V0cHV0JyxcbiAgICAgICdjb3ZlcmFnZScsXG4gICAgICAnLm55Y3JjJyxcbiAgICAgICcuTEFTVF9QQUNLQUdFJyxcbiAgICAgICcqLnNuaycsXG4gICAgICAnbnljLmNvbmZpZy5qcycsXG4gICAgICAnIS5lc2xpbnRyYy5qcycsXG4gICAgICAnIWplc3QuY29uZmlnLmpzJyxcbiAgICAgICdqdW5pdC54bWwnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJy5ucG1pZ25vcmUnLCBbXG4gICAgICAnIyBEb25cXCd0IGluY2x1ZGUgb3JpZ2luYWwgLnRzIGZpbGVzIHdoZW4gZG9pbmcgYG5wbSBwYWNrYCcsXG4gICAgICAnKi50cycsXG4gICAgICAnISouZC50cycsXG4gICAgICAnY292ZXJhZ2UnLFxuICAgICAgJy5ueWNfb3V0cHV0JyxcbiAgICAgICcqLnRneicsXG4gICAgICAnJyxcbiAgICAgICdkaXN0JyxcbiAgICAgICcuTEFTVF9QQUNLQUdFJyxcbiAgICAgICcuTEFTVF9CVUlMRCcsXG4gICAgICAnISouanMnLFxuICAgICAgJycsXG4gICAgICAnIyBJbmNsdWRlIC5qc2lpJyxcbiAgICAgICchLmpzaWknLFxuICAgICAgJycsXG4gICAgICAnKi5zbmsnLFxuICAgICAgJycsXG4gICAgICAnKi50c2J1aWxkaW5mbycsXG4gICAgICAnJyxcbiAgICAgICd0c2NvbmZpZy5qc29uJyxcbiAgICAgICcnLFxuICAgICAgJy5lc2xpbnRyYy5qcycsXG4gICAgICAnamVzdC5jb25maWcuanMnLFxuICAgICAgJycsXG4gICAgICAnIyBleGNsdWRlIGNkayBhcnRpZmFjdHMnLFxuICAgICAgJyoqL2Nkay5vdXQnLFxuICAgICAgJ2p1bml0LnhtbCcsXG4gICAgICAndGVzdC8nLFxuICAgICAgJyEqLmxpdC50cycsXG4gICAgXSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnbGliL2luZGV4LnRzJywgW1xuICAgICAgYC8vICR7bmFtZXNwYWNlfSBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZXM6YCxcbiAgICAgIGBleHBvcnQgKiBmcm9tICcuLyR7bG93Y2FzZU1vZHVsZU5hbWV9LmdlbmVyYXRlZCc7YCxcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKGB0ZXN0LyR7bG93Y2FzZU1vZHVsZU5hbWV9LnRlc3QudHNgLCBbXG4gICAgICBcImltcG9ydCAnQGF3cy1jZGsvYXNzZXJ0aW9ucyc7XCIsXG4gICAgICBcImltcG9ydCB7fSBmcm9tICcuLi9saWInO1wiLFxuICAgICAgJycsXG4gICAgICBcInRlc3QoJ05vIHRlc3RzIGFyZSBzcGVjaWZpZWQgZm9yIHRoaXMgcGFja2FnZScsICgpID0+IHtcIixcbiAgICAgICcgIGV4cGVjdCh0cnVlKS50b0JlKHRydWUpOycsXG4gICAgICAnfSk7JyxcbiAgICBdKTtcblxuICAgIGF3YWl0IHBrZ2xpbnQuY3JlYXRlTGlicmFyeVJlYWRtZShuYW1lc3BhY2UsIHBhdGguam9pbihwYWNrYWdlUGF0aCwgJ1JFQURNRS5tZCcpKTtcblxuICAgIGF3YWl0IHdyaXRlKCcuZXNsaW50cmMuanMnLCBbXG4gICAgICBcImNvbnN0IGJhc2VDb25maWcgPSByZXF1aXJlKCdAYXdzLWNkay9jZGstYnVpbGQtdG9vbHMvY29uZmlnL2VzbGludHJjJyk7XCIsXG4gICAgICBcImJhc2VDb25maWcucGFyc2VyT3B0aW9ucy5wcm9qZWN0ID0gX19kaXJuYW1lICsgJy90c2NvbmZpZy5qc29uJztcIixcbiAgICAgICdtb2R1bGUuZXhwb3J0cyA9IGJhc2VDb25maWc7JyxcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKCdqZXN0LmNvbmZpZy5qcycsIFtcbiAgICAgIFwiY29uc3QgYmFzZUNvbmZpZyA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2Nkay1idWlsZC10b29scy9jb25maWcvamVzdC5jb25maWcnKTtcIixcbiAgICAgICdtb2R1bGUuZXhwb3J0cyA9IGJhc2VDb25maWc7JyxcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKCdyb3NldHRhL2RlZmF1bHQudHMtZml4dHVyZScsIFtcbiAgICAgIFwiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XCIsXG4gICAgICBcImltcG9ydCB7IFN0YWNrIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XCIsXG4gICAgICAnJyxcbiAgICAgICdjbGFzcyBNeVN0YWNrIGV4dGVuZHMgU3RhY2sgeycsXG4gICAgICAnICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7JyxcbiAgICAgICcgICAgLy8vIGhlcmUnLFxuICAgICAgJyAgfScsXG4gICAgICAnfScsXG4gICAgXSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZURpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsICd0ZW1wbGF0ZScpO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBhd2FpdCBmcy5yZWFkZGlyKHRlbXBsYXRlRGlyKSkge1xuICAgICAgYXdhaXQgZnMuY29weShwYXRoLmpvaW4odGVtcGxhdGVEaXIsIGZpbGUpLCBwYXRoLmpvaW4ocGFja2FnZVBhdGgsIGZpbGUpKTtcbiAgICB9XG5cbiAgICBhd2FpdCBhZGREZXBlbmRlbmN5VG9NZWdhUGFja2FnZShwYXRoLmpvaW4oJ0Bhd3MtY2RrJywgJ2Nsb3VkZm9ybWF0aW9uLWluY2x1ZGUnKSwgbW9kdWxlLnBhY2thZ2VOYW1lLCB2ZXJzaW9uLCBbJ2RlcGVuZGVuY2llcycsICdwZWVyRGVwZW5kZW5jaWVzJ10pO1xuICAgIGF3YWl0IGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKCdhd3MtY2RrLWxpYicsIG1vZHVsZS5wYWNrYWdlTmFtZSwgdmVyc2lvbiwgWydkZXZEZXBlbmRlbmNpZXMnXSk7XG4gICAgYXdhaXQgYWRkRGVwZW5kZW5jeVRvTWVnYVBhY2thZ2UoJ21vbm9jZGsnLCBtb2R1bGUucGFja2FnZU5hbWUsIHZlcnNpb24sIFsnZGV2RGVwZW5kZW5jaWVzJ10pO1xuICAgIGF3YWl0IGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKCdkZWNkaycsIG1vZHVsZS5wYWNrYWdlTmFtZSwgdmVyc2lvbiwgWydkZXBlbmRlbmNpZXMnXSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGZldyBvZiBvdXIgcGFja2FnZXMgKGUuZy4sIGRlY2RrLCBhd3MtY2RrLWxpYikgcmVxdWlyZSBhIGRlcGVuZGVuY3kgb24gZXZlcnkgc2VydmljZSBwYWNrYWdlLlxuICogVGhpcyBhdXRvbWF0ZXMgYWRkaW5nIHRoZSBkZXBlbmRlbmN5IChhbmQgcGVlciBkZXBlbmRlbmN5KSB0byB0aGUgcGFja2FnZS5qc29uLlxuICovXG5hc3luYyBmdW5jdGlvbiBhZGREZXBlbmRlbmN5VG9NZWdhUGFja2FnZShtZWdhUGFja2FnZU5hbWU6IHN0cmluZywgcGFja2FnZU5hbWU6IHN0cmluZywgdmVyc2lvbjogc3RyaW5nLCBkZXBlbmRlbmN5VHlwZXM6IHN0cmluZ1tdKSB7XG4gIGNvbnN0IHBhY2thZ2VKc29uUGF0aCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICcuLicsICcuLicsIG1lZ2FQYWNrYWdlTmFtZSwgJ3BhY2thZ2UuanNvbicpO1xuICBjb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUocGFja2FnZUpzb25QYXRoLCAndXRmOCcpKTtcbiAgZGVwZW5kZW5jeVR5cGVzLmZvckVhY2goZGVwZW5kZW5jeVR5cGUgPT4ge1xuICAgIGNvbnN0IHVub3JkZXJlZERlcHMgPSB7XG4gICAgICAuLi5wYWNrYWdlSnNvbltkZXBlbmRlbmN5VHlwZV0sXG4gICAgICBbcGFja2FnZU5hbWVdOiB2ZXJzaW9uLFxuICAgIH07XG4gICAgcGFja2FnZUpzb25bZGVwZW5kZW5jeVR5cGVdID0ge307XG4gICAgT2JqZWN0LmtleXModW5vcmRlcmVkRGVwcykuc29ydCgpLmZvckVhY2goayA9PiB7XG4gICAgICBwYWNrYWdlSnNvbltkZXBlbmRlbmN5VHlwZV1ba10gPSB1bm9yZGVyZWREZXBzW2tdO1xuICAgIH0pO1xuICB9KTtcbiAgYXdhaXQgZnMud3JpdGVGaWxlKHBhY2thZ2VKc29uUGF0aCwgSlNPTi5zdHJpbmdpZnkocGFja2FnZUpzb24sIG51bGwsIDIpICsgJ1xcbicpO1xufVxuXG5tYWluKCkuY2F0Y2goZSA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoZSk7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn0pO1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
51.0.0
|
|
@@ -63,6 +63,14 @@ var jumpToCode = (function init() {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
return function jump(event) {
|
|
66
|
+
if (
|
|
67
|
+
document.getElementById('fileSearch') === document.activeElement &&
|
|
68
|
+
document.activeElement != null
|
|
69
|
+
) {
|
|
70
|
+
// if we're currently focused on the search input, we don't want to navigate
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
|
|
66
74
|
switch (event.which) {
|
|
67
75
|
case 78: // n
|
|
68
76
|
case 74: // j
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line low'></div>
|
|
59
65
|
<div class="pad1">
|
|
@@ -109,8 +115,8 @@
|
|
|
109
115
|
</div><!-- /wrapper -->
|
|
110
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
111
117
|
Code coverage generated by
|
|
112
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
113
|
-
at Wed Dec
|
|
118
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
|
|
119
|
+
at Wed Dec 15 2021 09:43:54 GMT+0000 (Coordinated Universal Time)
|
|
114
120
|
</div>
|
|
115
121
|
</div>
|
|
116
122
|
<script src="../prettify.js"></script>
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line low'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -426,8 +432,8 @@ export function <span class="fstat-no" title="function not covered" >normalize(<
|
|
|
426
432
|
</div><!-- /wrapper -->
|
|
427
433
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
428
434
|
Code coverage generated by
|
|
429
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
430
|
-
at Wed Dec
|
|
435
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
|
|
436
|
+
at Wed Dec 15 2021 09:43:54 GMT+0000 (Coordinated Universal Time)
|
|
431
437
|
</div>
|
|
432
438
|
</div>
|
|
433
439
|
<script src="../prettify.js"></script>
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line medium'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -327,8 +333,8 @@ function <span class="fstat-no" title="function not covered" >apply2<</span>T
|
|
|
327
333
|
</div><!-- /wrapper -->
|
|
328
334
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
329
335
|
Code coverage generated by
|
|
330
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
331
|
-
at Wed Dec
|
|
336
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
|
|
337
|
+
at Wed Dec 15 2021 09:43:54 GMT+0000 (Coordinated Universal Time)
|
|
332
338
|
</div>
|
|
333
339
|
</div>
|
|
334
340
|
<script src="../prettify.js"></script>
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line high'></div>
|
|
59
65
|
<div class="pad1">
|
|
@@ -139,8 +145,8 @@
|
|
|
139
145
|
</div><!-- /wrapper -->
|
|
140
146
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
141
147
|
Code coverage generated by
|
|
142
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
143
|
-
at Wed Dec
|
|
148
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
|
|
149
|
+
at Wed Dec 15 2021 09:43:54 GMT+0000 (Coordinated Universal Time)
|
|
144
150
|
</div>
|
|
145
151
|
</div>
|
|
146
152
|
<script src="prettify.js"></script>
|