aws-delivlib 13.0.38 → 13.2.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/cdk.out/{asset.8052fca741da226259577a0857de974eff37334424d24ba483890caa366a6045 → asset.168799fb36a5c07de842b73d47e38fc33983aadeec36fca33b73cdc9388dce6a}/create-release.js +18 -4
- package/cdk.out/{asset.8052fca741da226259577a0857de974eff37334424d24ba483890caa366a6045 → asset.168799fb36a5c07de842b73d47e38fc33983aadeec36fca33b73cdc9388dce6a}/package-lock.json +0 -0
- package/cdk.out/{asset.8052fca741da226259577a0857de974eff37334424d24ba483890caa366a6045 → asset.168799fb36a5c07de842b73d47e38fc33983aadeec36fca33b73cdc9388dce6a}/package.json +0 -0
- package/cdk.out/{asset.8052fca741da226259577a0857de974eff37334424d24ba483890caa366a6045 → asset.168799fb36a5c07de842b73d47e38fc33983aadeec36fca33b73cdc9388dce6a}/publish.sh +0 -0
- package/cdk.out/{asset.8052fca741da226259577a0857de974eff37334424d24ba483890caa366a6045 → asset.168799fb36a5c07de842b73d47e38fc33983aadeec36fca33b73cdc9388dce6a}/sign-files.sh +0 -0
- package/cdk.out/{asset.8052fca741da226259577a0857de974eff37334424d24ba483890caa366a6045 → asset.168799fb36a5c07de842b73d47e38fc33983aadeec36fca33b73cdc9388dce6a}/with-signing-key.sh +0 -0
- package/cdk.out/{asset.053efa861f4bb4811cc7443590a600671935ff19eab190a9b040736f3cf756b9 → asset.b331bddd4fcb3d1d466ddd4c30728608b3a013016e6ed325e4b11d73b7b8cf57}/publish.sh +8 -1
- package/cdk.out/{asset.053efa861f4bb4811cc7443590a600671935ff19eab190a9b040736f3cf756b9 → asset.b331bddd4fcb3d1d466ddd4c30728608b3a013016e6ed325e4b11d73b7b8cf57}/sign.sh +0 -0
- package/cdk.out/delivlib-test.assets.json +8 -8
- package/cdk.out/delivlib-test.template.json +7 -2
- package/cdk.out/manifest.json +587 -587
- package/cdk.out/tree.json +417 -412
- package/lib/custom-resource-handlers/src/certificate-signing-request.tsbuildinfo +1 -1
- package/lib/custom-resource-handlers/src/pgp-secret.tsbuildinfo +1 -1
- package/lib/custom-resource-handlers/src/private-key.tsbuildinfo +1 -1
- package/lib/pipeline-notifications/slack.js +7 -5
- package/lib/pipeline-notifications/slack.ts +8 -5
- package/lib/publishing/github/create-release.js +18 -4
- package/lib/publishing/nuget/publish.sh +8 -1
- package/lib/publishing.d.ts +10 -0
- package/lib/publishing.js +6 -1
- package/lib/publishing.ts +18 -1
- package/package.json +11 -11
package/lib/publishing.js
CHANGED
|
@@ -187,6 +187,10 @@ class PublishToGitHub extends monocdk_1.Construct {
|
|
|
187
187
|
super(parent, id);
|
|
188
188
|
const forReal = props.dryRun === undefined ? 'false' : (!props.dryRun).toString();
|
|
189
189
|
this.additionalInputArtifacts = props.additionalInputArtifacts;
|
|
190
|
+
// The release notes, if set and a valid file, overrides any usages of the changelog.
|
|
191
|
+
if (props.changelogFileName && props.releaseNotesFileName) {
|
|
192
|
+
throw new Error('both `releaseNotesFileName` and `changelogFileName` cannot be specified; use one or the other');
|
|
193
|
+
}
|
|
190
194
|
const shellable = new shellable_1.Shellable(this, 'Default', {
|
|
191
195
|
platform: new shellable_1.LinuxPlatform(monocdk_1.aws_codebuild.LinuxBuildImage.UBUNTU_14_04_NODEJS_10_1_0),
|
|
192
196
|
scriptDirectory: path.join(__dirname, 'publishing', 'github'),
|
|
@@ -194,6 +198,7 @@ class PublishToGitHub extends monocdk_1.Construct {
|
|
|
194
198
|
environment: (0, util_1.noUndefined)({
|
|
195
199
|
BUILD_MANIFEST: props.buildManifestFileName || './build.json',
|
|
196
200
|
CHANGELOG: props.changelogFileName || './CHANGELOG.md',
|
|
201
|
+
RELEASE_NOTES: props.releaseNotesFileName || './RELEASE_NOTES.md',
|
|
197
202
|
SIGNING_KEY_ARN: props.signingKey.credential.secretArn,
|
|
198
203
|
GITHUB_OWNER: props.githubRepo.owner,
|
|
199
204
|
GITHUB_REPO: props.githubRepo.repo,
|
|
@@ -322,4 +327,4 @@ class PublishToGolang extends monocdk_1.Construct {
|
|
|
322
327
|
}
|
|
323
328
|
}
|
|
324
329
|
exports.PublishToGolang = PublishToGolang;
|
|
325
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInB1Ymxpc2hpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLHFDQU9pQjtBQUdqQiw2Q0FBNkM7QUFHN0MsMkNBQXVEO0FBQ3ZELGlDQUFxQztBQUVyQzs7R0FFRztBQUNILElBQVksU0FVWDtBQVZELFdBQVksU0FBUztJQUNuQjs7T0FFRztJQUNILDhCQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gsc0NBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQVZXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBVXBCO0FBZ0NEOztHQUVHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxtQkFBUztJQUlsRCxZQUFZLE1BQWlCLEVBQUUsRUFBVSxFQUFFLEtBQWlDO1FBQzFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVsRixNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUMvQyxRQUFRLEVBQUUsSUFBSSx5QkFBYSxDQUFDLHVCQUFNLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDekYsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7WUFDNUQsVUFBVSxFQUFFLFlBQVk7WUFDeEIsV0FBVyxFQUFFO2dCQUNYLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7Z0JBQzFDLGVBQWUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxTQUFTO2dC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YUFBYSxJQUFJLElBQUksMEJBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDeEQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQXhDRCwwQ0F3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgQ29uc3RydWN0LCBTdGFjayxcbiAgYXdzX2NvZGVidWlsZCBhcyBjYnVpbGQsXG4gIGF3c19jb2RlcGlwZWxpbmUgYXMgY3BpcGVsaW5lLFxuICBhd3NfY29kZXBpcGVsaW5lX2FjdGlvbnMgYXMgY3BpcGVsaW5lX2FjdGlvbnMsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfczMgYXMgczMsXG59IGZyb20gJ21vbm9jZGsnO1xuaW1wb3J0IHsgSUNvZGVTaWduaW5nQ2VydGlmaWNhdGUgfSBmcm9tICcuL2NvZGUtc2lnbmluZyc7XG5pbXBvcnQgeyBPcGVuUEdQS2V5UGFpciB9IGZyb20gJy4vb3Blbi1wZ3Ata2V5LXBhaXInO1xuaW1wb3J0ICogYXMgcGVybWlzc2lvbnMgZnJvbSAnLi9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBBZGRUb1BpcGVsaW5lT3B0aW9ucywgSVB1Ymxpc2hlciB9IGZyb20gJy4vcGlwZWxpbmUnO1xuaW1wb3J0IHsgV3JpdGFibGVHaXRIdWJSZXBvIH0gZnJvbSAnLi9yZXBvJztcbmltcG9ydCB7IExpbnV4UGxhdGZvcm0sIFNoZWxsYWJsZSB9IGZyb20gJy4vc2hlbGxhYmxlJztcbmltcG9ydCB7IG5vVW5kZWZpbmVkIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBUeXBlIG9mIGFjY2VzcyBwZXJtaXNzaW9ucyB0byByZXF1ZXN0IGZyb20gbnBtanMuXG4gKi9cbmV4cG9ydCBlbnVtIE5wbUFjY2VzcyB7XG4gIC8qKlxuICAgKiBObyBhY2Nlc3MgcmVzdHJpY3Rpb24uIE5vdGUgdGhhdCB1bnNjb3BlZCBwYWNrYWdlcyBtdXN0IGFsd2F5cyBiZSBwdWJsaWMuXG4gICAqL1xuICBQVUJMSUMgPSAncHVibGljJyxcblxuICAvKipcbiAgICogTGltaXQgYWNjZXNzIHRvIHdoaXRlbGlzdGVkIG5wbWpzIHVzZXJzLlxuICAgKi9cbiAgUkVTVFJJQ1RFRCA9ICdyZXN0cmljdGVkJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoVG9NYXZlblByb2plY3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc2lnbmluZyBrZXkgaXRzZWxmXG4gICAqL1xuICBzaWduaW5nS2V5OiBPcGVuUEdQS2V5UGFpcjtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBzb25hdHlwZSBzdGFnaW5nIHByb2ZpbGUgKGUuZy4gXCI2OGEwNTM2MzA4MzE3NFwiKS5cbiAgICovXG4gIHN0YWdpbmdQcm9maWxlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIE1hdmVuIGxvZ2luXG4gICAqL1xuICBtYXZlbkxvZ2luU2VjcmV0OiBwZXJtaXNzaW9ucy5FeHRlcm5hbFNlY3JldDtcblxuICAvKipcbiAgICogSWYgdHJ1ZSAoZGVmYXVsdCkgcGVyZm9ybXMgYSBkcnktcnVuIG9ubHkgaW5zdGVhZCBvZiBhY3R1YWxseSBwdWJsaXNoaW5nLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgTWF2ZW4gcHVibGlzaGluZyBlbmRwb2ludCB0byBiZSB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImh0dHBzOi8vb3NzLnNvbmF0eXBlLm9yZ1wiXG4gICAqL1xuICBtYXZlbkVuZHBvaW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvZGVCdWlsZCBwcm9qZWN0IHRoYXQgd2lsbCBwdWJsaXNoIGFsbCBwYWNrYWdlcyBpbiBhIHJlbGVhc2UgYnVuZGxlIHRvIE1hdmVuXG4gKi9cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9NYXZlblByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJUHVibGlzaGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaFRvTWF2ZW5Qcm9qZWN0UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIGNvbnN0IGZvclJlYWwgPSBwcm9wcy5kcnlSdW4gPT09IHVuZGVmaW5lZCA/ICdmYWxzZScgOiAoIXByb3BzLmRyeVJ1bikudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IHNoZWxsYWJsZSA9IG5ldyBTaGVsbGFibGUodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBwbGF0Zm9ybTogbmV3IExpbnV4UGxhdGZvcm0oY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5mcm9tRG9ja2VyUmVnaXN0cnkoJ2pzaWkvc3VwZXJjaGFpbicpKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnbWF2ZW4nKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFNUQUdJTkdfUFJPRklMRV9JRDogcHJvcHMuc3RhZ2luZ1Byb2ZpbGVJZCxcbiAgICAgICAgU0lHTklOR19LRVlfQVJOOiBwcm9wcy5zaWduaW5nS2V5LmNyZWRlbnRpYWwuc2VjcmV0QXJuLFxuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgICAgTUFWRU5fTE9HSU5fU0VDUkVUOiBwcm9wcy5tYXZlbkxvZ2luU2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgTUFWRU5fRU5EUE9JTlQ6IHByb3BzLm1hdmVuRW5kcG9pbnQgfHwgJ2h0dHBzOi8vb3NzLnNvbmF0eXBlLm9yZycsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwZXJtaXNzaW9ucy5ncmFudFNlY3JldFJlYWQocHJvcHMubWF2ZW5Mb2dpblNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgICAgcHJvcHMuc2lnbmluZ0tleS5ncmFudFJlYWQoc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb05wbVByb2plY3RQcm9wcyB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIG9mIHRoZSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgTlBNIHRva2VuXG4gICAqL1xuICBucG1Ub2tlblNlY3JldDogcGVybWlzc2lvbnMuRXh0ZXJuYWxTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCAoZGVmYXVsdCkgd2lsbCBvbmx5IHBlcmZvcm0gYSBkcnktcnVuIGJ1dCB3aWxsIG5vdCBhY3R1YWxseSBwdWJsaXNoLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBucG0gZGlzdC10YWcgdG8gdXNlIHdoZW4gcHVibGlzaGluZyBhcnRpZmFjdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbnBtIGRlZmF1bHQgYmVoYXZpb3IgKFwibGF0ZXN0XCIgdW5sZXNzIGRpc3QgdGFnIGlzIHNwZWNpZmllZCBpbiBwYWNrYWdlLmpzb24pXG4gICAqL1xuICBkaXN0VGFnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBucG0gLS1hY2Nlc3MgcHVibGljfHJlc3RyaWN0ZWRcbiAgICpcbiAgICogU2VlIGh0dHBzOi8vZG9jcy5ucG1qcy5jb20vY2xpLWNvbW1hbmRzL3B1Ymxpc2gjOn46dGV4dD1UZWxscyUyMHRoZVxuICAgKlxuICAgKiBUZWxscyB0aGUgcmVnaXN0cnkgd2hldGhlciB0aGlzIHBhY2thZ2Ugc2hvdWxkIGJlIHB1Ymxpc2hlZCBhcyBwdWJsaWMgb3IgcmVzdHJpY3RlZC5cbiAgICogT25seSBhcHBsaWVzIHRvIHNjb3BlZCBwYWNrYWdlcywgd2hpY2ggZGVmYXVsdCB0byByZXN0cmljdGVkLlxuICAgKiBJZiB5b3UgZG9u4oCZdCBoYXZlIGEgcGFpZCBhY2NvdW50LCB5b3UgbXVzdCBwdWJsaXNoIHdpdGggLS1hY2Nlc3MgcHVibGljIHRvIHB1Ymxpc2ggc2NvcGVkIHBhY2thZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOcG1BY2Nlc3MuUFVCTElDXG4gICAqL1xuICBhY2Nlc3M/OiBOcG1BY2Nlc3M7XG59XG5cbi8qKlxuICogQ29kZUJ1aWxkIHByb2plY3QgdGhhdCB3aWxsIHB1Ymxpc2ggYWxsIHBhY2thZ2VzIGluIGEgcmVsZWFzZSBidW5kbGUgdG8gTlBNXG4gKi9cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9OcG1Qcm9qZWN0IGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVB1Ymxpc2hlciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9OcG1Qcm9qZWN0UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIGNvbnN0IGZvclJlYWwgPSBwcm9wcy5kcnlSdW4gPT09IHVuZGVmaW5lZCA/ICdmYWxzZScgOiAoIXByb3BzLmRyeVJ1bikudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IGFjY2VzcyA9IHByb3BzLmFjY2VzcyA/PyBOcG1BY2Nlc3MuUFVCTElDO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlVCVU5UVV8xNF8wNF9OT0RFSlNfMTBfMV8wKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnbnBtJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgICAgTlBNX1RPS0VOX1NFQ1JFVDogcHJvcHMubnBtVG9rZW5TZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICBESVNUVEFHOiBwcm9wcy5kaXN0VGFnIHx8ICcnLFxuICAgICAgICBBQ0NFU1M6IGFjY2VzcyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoc2hlbGxhYmxlLnJvbGUpIHtcbiAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZChwcm9wcy5ucG1Ub2tlblNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb051R2V0UHJvamVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBTZWNyZXRzTWFuYWdlciBzZWNyZXQgd2hpY2ggc3RvcmVzIHRoZSBOdWdldCBBUEkga2V5LlxuICAgKi9cbiAgbnVnZXRBcGlLZXlTZWNyZXQ6IHBlcm1pc3Npb25zLkV4dGVybmFsU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgKGRlZmF1bHQpIHdpbGwgb25seSBwZXJmb3JtIGEgZHJ5LXJ1biBidXQgd2lsbCBub3QgYWN0dWFsbHkgcHVibGlzaC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZHJ5UnVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBjb2RlIHNpZ25pbmcgY2VydGlmaWNhdGUgdG8gdXNlIHRvIHNpZ24gYXNzZW1ibGllcy5cbiAgICogQGRlZmF1bHQgTm8gc2lnbmluZ1xuICAgKi9cbiAgY29kZVNpZ24/OiBJQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZTtcbn1cblxuLyoqXG4gKiBDb2RlQnVpbGQgcHJvamVjdCB0aGF0IHdpbGwgcHVibGlzaCBhbGwgcGFja2FnZXMgaW4gYSByZWxlYXNlIGJ1bmRsZSB0byBOdUdldFxuICovXG5leHBvcnQgY2xhc3MgUHVibGlzaFRvTnVHZXRQcm9qZWN0IGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVB1Ymxpc2hlciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuUHJvamVjdDtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFB1Ymxpc2hUb051R2V0UHJvamVjdFByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICBjb25zdCBlbnZpcm9ubWVudDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHsgfTtcblxuICAgIGVudmlyb25tZW50LkZPUl9SRUFMID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG5cbiAgICBpZiAocHJvcHMubnVnZXRBcGlLZXlTZWNyZXQuYXNzdW1lUm9sZUFybikge1xuICAgICAgZW52aXJvbm1lbnQuTlVHRVRfUk9MRV9BUk4gPSBwcm9wcy5udWdldEFwaUtleVNlY3JldC5hc3N1bWVSb2xlQXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5udWdldEFwaUtleVNlY3JldC5yZWdpb24pIHtcbiAgICAgIGVudmlyb25tZW50Lk5VR0VUX1NFQ1JFVF9SRUdJT04gPSBwcm9wcy5udWdldEFwaUtleVNlY3JldC5yZWdpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGVudmlyb25tZW50Lk5VR0VUX1NFQ1JFVF9SRUdJT04gPSBTdGFjay5vZih0aGlzKS5yZWdpb247XG4gICAgfVxuXG4gICAgZW52aXJvbm1lbnQuTlVHRVRfU0VDUkVUX0lEID0gcHJvcHMubnVnZXRBcGlLZXlTZWNyZXQuc2VjcmV0QXJuO1xuXG4gICAgaWYgKHByb3BzLmNvZGVTaWduKSB7XG4gICAgICBlbnZpcm9ubWVudC5DT0RFX1NJR05JTkdfU0VDUkVUX0lEID0gcHJvcHMuY29kZVNpZ24uY3JlZGVudGlhbC5zZWNyZXRBcm47XG4gICAgICBlbnZpcm9ubWVudC5DT0RFX1NJR05JTkdfUEFSQU1FVEVSX05BTUUgPSBwcm9wcy5jb2RlU2lnbi5wcmluY2lwYWwucGFyYW1ldGVyTmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KCdqc2lpL3N1cGVyY2hhaW4nKSksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ251Z2V0JyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudCxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgaWYgKHByb3BzLm51Z2V0QXBpS2V5U2VjcmV0LmFzc3VtZVJvbGVBcm4pIHtcbiAgICAgICAgcGVybWlzc2lvbnMuZ3JhbnRBc3N1bWVSb2xlKHByb3BzLm51Z2V0QXBpS2V5U2VjcmV0LmFzc3VtZVJvbGVBcm4sIHNoZWxsYWJsZS5yb2xlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZChwcm9wcy5udWdldEFwaUtleVNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMuY29kZVNpZ24pIHtcbiAgICAgICAgcHJvcHMuY29kZVNpZ24uZ3JhbnREZWNyeXB0KHNoZWxsYWJsZS5yb2xlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoRG9jc1RvR2l0SHViUHJvamVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IHRvIHB1Ymxpc2ggdG9cbiAgICovXG4gIGdpdGh1YlJlcG86IFdyaXRhYmxlR2l0SHViUmVwbztcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWlsZCBtYW5pZmVzdCBKU09OIGZpbGUgKG11c3QgaW5jbHVkZSBcIm5hbWVcIiBhbmQgXCJ2ZXJzaW9uXCIgZmllbGRzKS5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBAZGVmYXVsdCBcIi4vYnVpbGQuanNvblwiXG4gICAqL1xuICBidWlsZE1hbmlmZXN0RmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdpdEh1YiBQYWdlcyBicmFuY2ggdG8gcHVzaCB0by5cbiAgICogQGRlZmF1bHQgZ2gtcGFnZXNcbiAgICovXG4gIGJyYW5jaD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb2RlQnVpbGQgcHJvamVjdCB0aGF0IHdpbGwgcHVibGlzaCBhbGwgcGFja2FnZXMgaW4gYSByZWxlYXNlIGJ1bmRsZSB0byBOdUdldFxuICovXG5leHBvcnQgY2xhc3MgUHVibGlzaERvY3NUb0dpdEh1YlByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJUHVibGlzaGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaERvY3NUb0dpdEh1YlByb2plY3RQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgZm9yUmVhbCA9IHByb3BzLmRyeVJ1biA9PT0gdW5kZWZpbmVkID8gJ2ZhbHNlJyA6ICghcHJvcHMuZHJ5UnVuKS50b1N0cmluZygpO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlVCVU5UVV8xNF8wNF9OT0RFSlNfMTBfMV8wKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnZG9jcycpLFxuICAgICAgZW50cnlwb2ludDogJ3B1Ymxpc2guc2gnLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgLy8gTXVzdCBiZSBTU0ggYmVjYXVzZSB3ZSB1c2UgYW4gU1NIIGtleSB0byBhdXRoZW50aWNhdGVcbiAgICAgICAgR0lUSFVCX1JFUE86IHByb3BzLmdpdGh1YlJlcG8ucmVwb3NpdG9yeVVybFNzaCxcbiAgICAgICAgR0lUSFVCX1BBR0VTX0JSQU5DSDogcHJvcHMuYnJhbmNoIHx8ICdnaC1wYWdlcycsXG4gICAgICAgIFNTSF9LRVlfU0VDUkVUOiBwcm9wcy5naXRodWJSZXBvLnNzaEtleVNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIEZPUl9SRUFMOiBmb3JSZWFsLFxuICAgICAgICBDT01NSVRfVVNFUk5BTUU6IHByb3BzLmdpdGh1YlJlcG8uY29tbWl0VXNlcm5hbWUsXG4gICAgICAgIENPTU1JVF9FTUFJTDogcHJvcHMuZ2l0aHViUmVwby5jb21taXRFbWFpbCxcbiAgICAgICAgQlVJTERfTUFOSUZFU1Q6IHByb3BzLmJ1aWxkTWFuaWZlc3RGaWxlTmFtZSB8fCAnLi9idWlsZC5qc29uJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoc2hlbGxhYmxlLnJvbGUpIHtcbiAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZChwcm9wcy5naXRodWJSZXBvLnNzaEtleVNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb0dpdEh1YlByb3BzIHtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCAoZGVmYXVsdCkgd2lsbCBvbmx5IHBlcmZvcm0gYSBkcnktcnVuIGJ1dCB3aWxsIG5vdCBhY3R1YWxseSBwdWJsaXNoLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSByZWxlYXNlIGluLlxuICAgKi9cbiAgZ2l0aHViUmVwbzogV3JpdGFibGVHaXRIdWJSZXBvO1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmlnbiBrZXkgdG8gdXNlIHRvIGNyZWF0ZSBhIEdQRyBzaWduYXR1cmUgb2YgdGhlIGFydGlmYWN0LlxuICAgKi9cbiAgc2lnbmluZ0tleTogT3BlblBHUEtleVBhaXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWlsZCBtYW5pZmVzdCBKU09OIGZpbGUgKG11c3QgaW5jbHVkZSBcIm5hbWVcIiBhbmQgXCJ2ZXJzaW9uXCIgZmllbGRzKS5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBAZGVmYXVsdCBcIi4vYnVpbGQuanNvblwiXG4gICAqL1xuICBidWlsZE1hbmlmZXN0RmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjaGFuZ2Vsb2cgbWFya2Rvd24gZmlsZSwgdXNlZCB0byBjcmVhdGUgcmVsZWFzZSBub3Rlcy5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBAZGVmYXVsdCBcIi4vQ0hBTkdFTE9HLm1kXCJcbiAgICovXG4gIGNoYW5nZWxvZ0ZpbGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGlucHV0IGFydGlmYWN0cyB0byBwdWJsaXNoIGJpbmFyaWVzIGZyb20gdG8gR2l0SHViIHJlbGVhc2VcbiAgICovXG4gIGFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cz86IGNwaXBlbGluZS5BcnRpZmFjdFtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNpZ24gdGhlIGFkZGl0aW9uYWwgYXJ0aWZhY3RzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHNpZ25BZGRpdGlvbmFsQXJ0aWZhY3RzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb0dpdEh1YiBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzPzogY3BpcGVsaW5lLkFydGlmYWN0W107XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9HaXRIdWJQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgZm9yUmVhbCA9IHByb3BzLmRyeVJ1biA9PT0gdW5kZWZpbmVkID8gJ2ZhbHNlJyA6ICghcHJvcHMuZHJ5UnVuKS50b1N0cmluZygpO1xuICAgIHRoaXMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzID0gcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlVCVU5UVV8xNF8wNF9OT0RFSlNfMTBfMV8wKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnZ2l0aHViJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDogbm9VbmRlZmluZWQoe1xuICAgICAgICBCVUlMRF9NQU5JRkVTVDogcHJvcHMuYnVpbGRNYW5pZmVzdEZpbGVOYW1lIHx8ICcuL2J1aWxkLmpzb24nLFxuICAgICAgICBDSEFOR0VMT0c6IHByb3BzLmNoYW5nZWxvZ0ZpbGVOYW1lIHx8ICcuL0NIQU5HRUxPRy5tZCcsXG4gICAgICAgIFNJR05JTkdfS0VZX0FSTjogcHJvcHMuc2lnbmluZ0tleS5jcmVkZW50aWFsLnNlY3JldEFybixcbiAgICAgICAgR0lUSFVCX09XTkVSOiBwcm9wcy5naXRodWJSZXBvLm93bmVyLFxuICAgICAgICBHSVRIVUJfUkVQTzogcHJvcHMuZ2l0aHViUmVwby5yZXBvLFxuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgICAgLy8gVHJhbnNtaXQgdGhlIG5hbWVzIG9mIHRoZSBzZWNvbmRhcnkgc291cmNlcyB0byB0aGUgc2hlbGwgc2NyaXB0IChmb3IgZWFzaWVyIGl0ZXJhdGlvbilcbiAgICAgICAgU0VDT05EQVJZX1NPVVJDRV9OQU1FUzogcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzID8gcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzLm1hcChhID0+IGEuYXJ0aWZhY3ROYW1lKS5qb2luKCcgJykgOiB1bmRlZmluZWQsXG4gICAgICAgIFNJR05fQURESVRJT05BTF9BUlRJRkFDVFM6IHByb3BzLmFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cyAmJiBwcm9wcy5zaWduQWRkaXRpb25hbEFydGlmYWN0cyAhPT0gZmFsc2UgPyAndHJ1ZScgOiB1bmRlZmluZWQsXG4gICAgICB9KSxcbiAgICAgIGVudmlyb25tZW50U2VjcmV0czoge1xuICAgICAgICBHSVRIVUJfVE9LRU46IHByb3BzLmdpdGh1YlJlcG8udG9rZW5TZWNyZXRBcm4sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gYWxsb3cgc2NyaXB0IHRvIHJlYWQgdGhlIHNpZ25pbmcga2V5XG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwcm9wcy5zaWduaW5nS2V5LmdyYW50UmVhZChzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgZXh0cmFJbnB1dHM6IHRoaXMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGlzaFRvUzNQcm9wcyB7XG4gIGJ1Y2tldDogczMuSUJ1Y2tldDtcblxuICAvKipcbiAgICogTWFrZSBmaWxlcyBwdWJsaWNseSByZWFkYWJsZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9TMyBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZT86IGlhbS5JUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9TM1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGZvclJlYWwgPSBwcm9wcy5kcnlSdW4gPT09IHVuZGVmaW5lZCA/ICdmYWxzZScgOiAoIXByb3BzLmRyeVJ1bikudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IHNoZWxsYWJsZSA9IG5ldyBTaGVsbGFibGUodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBwbGF0Zm9ybTogbmV3IExpbnV4UGxhdGZvcm0oY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5VQlVOVFVfMTRfMDRfTk9ERUpTXzhfMTFfMCksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ3MzJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBCVUNLRVRfVVJMOiBgczM6Ly8ke3Byb3BzLmJ1Y2tldC5idWNrZXROYW1lfWAsXG4gICAgICAgIENIQU5HRUxPRzogcHJvcHMucHVibGljID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgRk9SX1JFQUw6IGZvclJlYWwsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQWxsb3cgc2NyaXB0IHRvIHdyaXRlIHRvIGJ1Y2tldFxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcHJvcHMuYnVja2V0LmdyYW50UmVhZFdyaXRlKHNoZWxsYWJsZS5yb2xlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoVG9QeVBpUHJvcHMge1xuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIFB5UEkgY3JlZGVudGlhbHMgdW5kZXJcbiAgICogXCJ1c2VybmFtZVwiIGFuZCBcInBhc3N3b3JkXCIga2V5cy5cbiAgICovXG4gIGxvZ2luU2VjcmV0OiBwZXJtaXNzaW9ucy5FeHRlcm5hbFNlY3JldDtcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9QeVBpIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFB1Ymxpc2hUb1B5UGlQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBmb3JSZWFsID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuVUJVTlRVXzE0XzA0X1BZVEhPTl8zXzZfNSksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ3B5cGknKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIEZPUl9SRUFMOiBmb3JSZWFsLFxuICAgICAgICBQWVBJX0NSRURFTlRJQUxTX1NFQ1JFVF9JRDogcHJvcHMubG9naW5TZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHByb3BzLmxvZ2luU2VjcmV0LCBzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59XG5cbi8qKlxuICogUHJvcHMgZm9yIEdvIHB1Ymxpc2hpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGlzaFRvR29sYW5nUHJvcHMge1xuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIEdpdEh1YiBwZXJzb25hbCBhY2Nlc3MgdG9rZW5cbiAgICogdXNlZCB0byBwdXNoIHRoZSBnbyBjb2RlIHRvIHRoZSBnaXRodWIgcmVwb3NpdG9yeSBkZWZpbmVkIGJ5IGl0J3MgbmFtZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuZ2l0aHViLmNvbS9lbi9naXRodWIvYXV0aGVudGljYXRpbmctdG8tZ2l0aHViL2NyZWF0aW5nLWEtcGVyc29uYWwtYWNjZXNzLXRva2VuXG4gICAqL1xuICByZWFkb25seSBnaXRodWJUb2tlblNlY3JldDogcGVybWlzc2lvbnMuRXh0ZXJuYWxTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIFVzZXJuYW1lIHRvIHBlcmZvcm0gdGhlIGNvbW1pdCB3aXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0VXNlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRW1haWwgdG8gcGVyZm9ybSB0aGUgY29tbWl0IHdpdGguXG4gICAqL1xuICByZWFkb25seSBnaXRVc2VyRW1haWw6IHN0cmluZztcblxuICAvKipcbiAgICogU2V0IHRvIFwidHJ1ZVwiIGZvciBhIGRyeSBydW4uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNb2R1bGUgdmVyc2lvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0cyB0byB0aGUgdmFsdWUgaW4gdGhlICd2ZXJzaW9uJyBmaWxlIG9mIHRoZSBtb2R1bGVcbiAgICogZGlyZWN0b3J5LiBGYWlscyBpZiBpdCBkb2Vzbid0IGV4aXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQnJhbmNoIHRvIHB1c2ggdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwibWFpblwiXG4gICAqL1xuICByZWFkb25seSBnaXRCcmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21taXQgbWVzc2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJjaG9yZShyZWxlYXNlKTogJFZFUlNJT05cIlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0Q29tbWl0TWVzc2FnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQdXNoZXMgYSBkaXJlY3Rvcnkgb2YgZ29sYW5nIG1vZHVsZXMgdG8gYSBHaXRIdWIgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb0dvbGFuZyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuUHJvamVjdDtcbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaFRvR29sYW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZHJ5UnVuID0gcHJvcHMuZHJ5UnVuID8/IGZhbHNlO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlNUQU5EQVJEXzVfMCksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ2dvbGFuZycpLFxuICAgICAgZW50cnlwb2ludDogJ3B1Ymxpc2guc2gnLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgRFJZUlVOOiBkcnlSdW4gPyAndHJ1ZScgOiB1bmRlZmluZWQsXG4gICAgICAgIEdJVEhVQl9UT0tFTl9TRUNSRVQ6IHByb3BzLmdpdGh1YlRva2VuU2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgVkVSU0lPTjogcHJvcHMudmVyc2lvbixcbiAgICAgICAgR0lUX0JSQU5DSDogcHJvcHMuZ2l0QnJhbmNoLFxuICAgICAgICBHSVRfVVNFUl9OQU1FOiBwcm9wcy5naXRVc2VyTmFtZSxcbiAgICAgICAgR0lUX1VTRVJfRU1BSUw6IHByb3BzLmdpdFVzZXJFbWFpbCxcbiAgICAgICAgR0lUX0NPTU1JVF9NRVNTQUdFOiBwcm9wcy5naXRDb21taXRNZXNzYWdlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHByb3BzLmdpdGh1YlRva2VuU2VjcmV0LCBzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59Il19
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInB1Ymxpc2hpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLHFDQU9pQjtBQUdqQiw2Q0FBNkM7QUFHN0MsMkNBQXVEO0FBQ3ZELGlDQUFxQztBQUVyQzs7R0FFRztBQUNILElBQVksU0FVWDtBQVZELFdBQVksU0FBUztJQUNuQjs7T0FFRztJQUNILDhCQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gsc0NBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQVZXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBVXBCO0FBZ0NEOztHQUVHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxtQkFBUztJQUlsRCxZQUFZLE1BQWlCLEVBQUUsRUFBVSxFQUFFLEtBQWlDO1FBQzFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVsRixNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUMvQyxRQUFRLEVBQUUsSUFBSSx5QkFBYSxDQUFDLHVCQUFNLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDekYsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7WUFDNUQsVUFBVSxFQUFFLFlBQVk7WUFDeEIsV0FBVyxFQUFFO2dCQUNYLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7Z0JBQzFDLGVBQWUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxTQUFTO2dC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T0FBTyxDQUFDO0lBQ25DLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBdUIsRUFBRSxFQUFVLEVBQUUsT0FBNkI7UUFDckYsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtDQUFpQixDQUFDLGVBQWUsQ0FBQztZQUNwRCxVQUFVLEVBQUUsRUFBRTtZQUNkLEtBQUssRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksMEJBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDeEQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQXhDRCwwQ0F3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgQ29uc3RydWN0LCBTdGFjayxcbiAgYXdzX2NvZGVidWlsZCBhcyBjYnVpbGQsXG4gIGF3c19jb2RlcGlwZWxpbmUgYXMgY3BpcGVsaW5lLFxuICBhd3NfY29kZXBpcGVsaW5lX2FjdGlvbnMgYXMgY3BpcGVsaW5lX2FjdGlvbnMsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfczMgYXMgczMsXG59IGZyb20gJ21vbm9jZGsnO1xuaW1wb3J0IHsgSUNvZGVTaWduaW5nQ2VydGlmaWNhdGUgfSBmcm9tICcuL2NvZGUtc2lnbmluZyc7XG5pbXBvcnQgeyBPcGVuUEdQS2V5UGFpciB9IGZyb20gJy4vb3Blbi1wZ3Ata2V5LXBhaXInO1xuaW1wb3J0ICogYXMgcGVybWlzc2lvbnMgZnJvbSAnLi9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBBZGRUb1BpcGVsaW5lT3B0aW9ucywgSVB1Ymxpc2hlciB9IGZyb20gJy4vcGlwZWxpbmUnO1xuaW1wb3J0IHsgV3JpdGFibGVHaXRIdWJSZXBvIH0gZnJvbSAnLi9yZXBvJztcbmltcG9ydCB7IExpbnV4UGxhdGZvcm0sIFNoZWxsYWJsZSB9IGZyb20gJy4vc2hlbGxhYmxlJztcbmltcG9ydCB7IG5vVW5kZWZpbmVkIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBUeXBlIG9mIGFjY2VzcyBwZXJtaXNzaW9ucyB0byByZXF1ZXN0IGZyb20gbnBtanMuXG4gKi9cbmV4cG9ydCBlbnVtIE5wbUFjY2VzcyB7XG4gIC8qKlxuICAgKiBObyBhY2Nlc3MgcmVzdHJpY3Rpb24uIE5vdGUgdGhhdCB1bnNjb3BlZCBwYWNrYWdlcyBtdXN0IGFsd2F5cyBiZSBwdWJsaWMuXG4gICAqL1xuICBQVUJMSUMgPSAncHVibGljJyxcblxuICAvKipcbiAgICogTGltaXQgYWNjZXNzIHRvIHdoaXRlbGlzdGVkIG5wbWpzIHVzZXJzLlxuICAgKi9cbiAgUkVTVFJJQ1RFRCA9ICdyZXN0cmljdGVkJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoVG9NYXZlblByb2plY3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc2lnbmluZyBrZXkgaXRzZWxmXG4gICAqL1xuICBzaWduaW5nS2V5OiBPcGVuUEdQS2V5UGFpcjtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBzb25hdHlwZSBzdGFnaW5nIHByb2ZpbGUgKGUuZy4gXCI2OGEwNTM2MzA4MzE3NFwiKS5cbiAgICovXG4gIHN0YWdpbmdQcm9maWxlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIE1hdmVuIGxvZ2luXG4gICAqL1xuICBtYXZlbkxvZ2luU2VjcmV0OiBwZXJtaXNzaW9ucy5FeHRlcm5hbFNlY3JldDtcblxuICAvKipcbiAgICogSWYgdHJ1ZSAoZGVmYXVsdCkgcGVyZm9ybXMgYSBkcnktcnVuIG9ubHkgaW5zdGVhZCBvZiBhY3R1YWxseSBwdWJsaXNoaW5nLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgTWF2ZW4gcHVibGlzaGluZyBlbmRwb2ludCB0byBiZSB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImh0dHBzOi8vb3NzLnNvbmF0eXBlLm9yZ1wiXG4gICAqL1xuICBtYXZlbkVuZHBvaW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvZGVCdWlsZCBwcm9qZWN0IHRoYXQgd2lsbCBwdWJsaXNoIGFsbCBwYWNrYWdlcyBpbiBhIHJlbGVhc2UgYnVuZGxlIHRvIE1hdmVuXG4gKi9cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9NYXZlblByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJUHVibGlzaGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaFRvTWF2ZW5Qcm9qZWN0UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIGNvbnN0IGZvclJlYWwgPSBwcm9wcy5kcnlSdW4gPT09IHVuZGVmaW5lZCA/ICdmYWxzZScgOiAoIXByb3BzLmRyeVJ1bikudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IHNoZWxsYWJsZSA9IG5ldyBTaGVsbGFibGUodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBwbGF0Zm9ybTogbmV3IExpbnV4UGxhdGZvcm0oY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5mcm9tRG9ja2VyUmVnaXN0cnkoJ2pzaWkvc3VwZXJjaGFpbicpKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnbWF2ZW4nKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFNUQUdJTkdfUFJPRklMRV9JRDogcHJvcHMuc3RhZ2luZ1Byb2ZpbGVJZCxcbiAgICAgICAgU0lHTklOR19LRVlfQVJOOiBwcm9wcy5zaWduaW5nS2V5LmNyZWRlbnRpYWwuc2VjcmV0QXJuLFxuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgICAgTUFWRU5fTE9HSU5fU0VDUkVUOiBwcm9wcy5tYXZlbkxvZ2luU2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgTUFWRU5fRU5EUE9JTlQ6IHByb3BzLm1hdmVuRW5kcG9pbnQgfHwgJ2h0dHBzOi8vb3NzLnNvbmF0eXBlLm9yZycsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwZXJtaXNzaW9ucy5ncmFudFNlY3JldFJlYWQocHJvcHMubWF2ZW5Mb2dpblNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgICAgcHJvcHMuc2lnbmluZ0tleS5ncmFudFJlYWQoc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb05wbVByb2plY3RQcm9wcyB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIG9mIHRoZSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgTlBNIHRva2VuXG4gICAqL1xuICBucG1Ub2tlblNlY3JldDogcGVybWlzc2lvbnMuRXh0ZXJuYWxTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCAoZGVmYXVsdCkgd2lsbCBvbmx5IHBlcmZvcm0gYSBkcnktcnVuIGJ1dCB3aWxsIG5vdCBhY3R1YWxseSBwdWJsaXNoLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBucG0gZGlzdC10YWcgdG8gdXNlIHdoZW4gcHVibGlzaGluZyBhcnRpZmFjdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbnBtIGRlZmF1bHQgYmVoYXZpb3IgKFwibGF0ZXN0XCIgdW5sZXNzIGRpc3QgdGFnIGlzIHNwZWNpZmllZCBpbiBwYWNrYWdlLmpzb24pXG4gICAqL1xuICBkaXN0VGFnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBucG0gLS1hY2Nlc3MgcHVibGljfHJlc3RyaWN0ZWRcbiAgICpcbiAgICogU2VlIGh0dHBzOi8vZG9jcy5ucG1qcy5jb20vY2xpLWNvbW1hbmRzL3B1Ymxpc2gjOn46dGV4dD1UZWxscyUyMHRoZVxuICAgKlxuICAgKiBUZWxscyB0aGUgcmVnaXN0cnkgd2hldGhlciB0aGlzIHBhY2thZ2Ugc2hvdWxkIGJlIHB1Ymxpc2hlZCBhcyBwdWJsaWMgb3IgcmVzdHJpY3RlZC5cbiAgICogT25seSBhcHBsaWVzIHRvIHNjb3BlZCBwYWNrYWdlcywgd2hpY2ggZGVmYXVsdCB0byByZXN0cmljdGVkLlxuICAgKiBJZiB5b3UgZG9u4oCZdCBoYXZlIGEgcGFpZCBhY2NvdW50LCB5b3UgbXVzdCBwdWJsaXNoIHdpdGggLS1hY2Nlc3MgcHVibGljIHRvIHB1Ymxpc2ggc2NvcGVkIHBhY2thZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOcG1BY2Nlc3MuUFVCTElDXG4gICAqL1xuICBhY2Nlc3M/OiBOcG1BY2Nlc3M7XG59XG5cbi8qKlxuICogQ29kZUJ1aWxkIHByb2plY3QgdGhhdCB3aWxsIHB1Ymxpc2ggYWxsIHBhY2thZ2VzIGluIGEgcmVsZWFzZSBidW5kbGUgdG8gTlBNXG4gKi9cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9OcG1Qcm9qZWN0IGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVB1Ymxpc2hlciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9OcG1Qcm9qZWN0UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIGNvbnN0IGZvclJlYWwgPSBwcm9wcy5kcnlSdW4gPT09IHVuZGVmaW5lZCA/ICdmYWxzZScgOiAoIXByb3BzLmRyeVJ1bikudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IGFjY2VzcyA9IHByb3BzLmFjY2VzcyA/PyBOcG1BY2Nlc3MuUFVCTElDO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlVCVU5UVV8xNF8wNF9OT0RFSlNfMTBfMV8wKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnbnBtJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgICAgTlBNX1RPS0VOX1NFQ1JFVDogcHJvcHMubnBtVG9rZW5TZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICBESVNUVEFHOiBwcm9wcy5kaXN0VGFnIHx8ICcnLFxuICAgICAgICBBQ0NFU1M6IGFjY2VzcyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoc2hlbGxhYmxlLnJvbGUpIHtcbiAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZChwcm9wcy5ucG1Ub2tlblNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb051R2V0UHJvamVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBTZWNyZXRzTWFuYWdlciBzZWNyZXQgd2hpY2ggc3RvcmVzIHRoZSBOdWdldCBBUEkga2V5LlxuICAgKi9cbiAgbnVnZXRBcGlLZXlTZWNyZXQ6IHBlcm1pc3Npb25zLkV4dGVybmFsU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgKGRlZmF1bHQpIHdpbGwgb25seSBwZXJmb3JtIGEgZHJ5LXJ1biBidXQgd2lsbCBub3QgYWN0dWFsbHkgcHVibGlzaC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZHJ5UnVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBjb2RlIHNpZ25pbmcgY2VydGlmaWNhdGUgdG8gdXNlIHRvIHNpZ24gYXNzZW1ibGllcy5cbiAgICogQGRlZmF1bHQgTm8gc2lnbmluZ1xuICAgKi9cbiAgY29kZVNpZ24/OiBJQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZTtcbn1cblxuLyoqXG4gKiBDb2RlQnVpbGQgcHJvamVjdCB0aGF0IHdpbGwgcHVibGlzaCBhbGwgcGFja2FnZXMgaW4gYSByZWxlYXNlIGJ1bmRsZSB0byBOdUdldFxuICovXG5leHBvcnQgY2xhc3MgUHVibGlzaFRvTnVHZXRQcm9qZWN0IGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVB1Ymxpc2hlciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuUHJvamVjdDtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFB1Ymxpc2hUb051R2V0UHJvamVjdFByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICBjb25zdCBlbnZpcm9ubWVudDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHsgfTtcblxuICAgIGVudmlyb25tZW50LkZPUl9SRUFMID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG5cbiAgICBpZiAocHJvcHMubnVnZXRBcGlLZXlTZWNyZXQuYXNzdW1lUm9sZUFybikge1xuICAgICAgZW52aXJvbm1lbnQuTlVHRVRfUk9MRV9BUk4gPSBwcm9wcy5udWdldEFwaUtleVNlY3JldC5hc3N1bWVSb2xlQXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5udWdldEFwaUtleVNlY3JldC5yZWdpb24pIHtcbiAgICAgIGVudmlyb25tZW50Lk5VR0VUX1NFQ1JFVF9SRUdJT04gPSBwcm9wcy5udWdldEFwaUtleVNlY3JldC5yZWdpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGVudmlyb25tZW50Lk5VR0VUX1NFQ1JFVF9SRUdJT04gPSBTdGFjay5vZih0aGlzKS5yZWdpb247XG4gICAgfVxuXG4gICAgZW52aXJvbm1lbnQuTlVHRVRfU0VDUkVUX0lEID0gcHJvcHMubnVnZXRBcGlLZXlTZWNyZXQuc2VjcmV0QXJuO1xuXG4gICAgaWYgKHByb3BzLmNvZGVTaWduKSB7XG4gICAgICBlbnZpcm9ubWVudC5DT0RFX1NJR05JTkdfU0VDUkVUX0lEID0gcHJvcHMuY29kZVNpZ24uY3JlZGVudGlhbC5zZWNyZXRBcm47XG4gICAgICBlbnZpcm9ubWVudC5DT0RFX1NJR05JTkdfUEFSQU1FVEVSX05BTUUgPSBwcm9wcy5jb2RlU2lnbi5wcmluY2lwYWwucGFyYW1ldGVyTmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KCdqc2lpL3N1cGVyY2hhaW4nKSksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ251Z2V0JyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudCxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgaWYgKHByb3BzLm51Z2V0QXBpS2V5U2VjcmV0LmFzc3VtZVJvbGVBcm4pIHtcbiAgICAgICAgcGVybWlzc2lvbnMuZ3JhbnRBc3N1bWVSb2xlKHByb3BzLm51Z2V0QXBpS2V5U2VjcmV0LmFzc3VtZVJvbGVBcm4sIHNoZWxsYWJsZS5yb2xlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZChwcm9wcy5udWdldEFwaUtleVNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMuY29kZVNpZ24pIHtcbiAgICAgICAgcHJvcHMuY29kZVNpZ24uZ3JhbnREZWNyeXB0KHNoZWxsYWJsZS5yb2xlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoRG9jc1RvR2l0SHViUHJvamVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IHRvIHB1Ymxpc2ggdG9cbiAgICovXG4gIGdpdGh1YlJlcG86IFdyaXRhYmxlR2l0SHViUmVwbztcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWlsZCBtYW5pZmVzdCBKU09OIGZpbGUgKG11c3QgaW5jbHVkZSBcIm5hbWVcIiBhbmQgXCJ2ZXJzaW9uXCIgZmllbGRzKS5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBAZGVmYXVsdCBcIi4vYnVpbGQuanNvblwiXG4gICAqL1xuICBidWlsZE1hbmlmZXN0RmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdpdEh1YiBQYWdlcyBicmFuY2ggdG8gcHVzaCB0by5cbiAgICogQGRlZmF1bHQgZ2gtcGFnZXNcbiAgICovXG4gIGJyYW5jaD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb2RlQnVpbGQgcHJvamVjdCB0aGF0IHdpbGwgcHVibGlzaCBhbGwgcGFja2FnZXMgaW4gYSByZWxlYXNlIGJ1bmRsZSB0byBOdUdldFxuICovXG5leHBvcnQgY2xhc3MgUHVibGlzaERvY3NUb0dpdEh1YlByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJUHVibGlzaGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaERvY3NUb0dpdEh1YlByb2plY3RQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgZm9yUmVhbCA9IHByb3BzLmRyeVJ1biA9PT0gdW5kZWZpbmVkID8gJ2ZhbHNlJyA6ICghcHJvcHMuZHJ5UnVuKS50b1N0cmluZygpO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlVCVU5UVV8xNF8wNF9OT0RFSlNfMTBfMV8wKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnZG9jcycpLFxuICAgICAgZW50cnlwb2ludDogJ3B1Ymxpc2guc2gnLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgLy8gTXVzdCBiZSBTU0ggYmVjYXVzZSB3ZSB1c2UgYW4gU1NIIGtleSB0byBhdXRoZW50aWNhdGVcbiAgICAgICAgR0lUSFVCX1JFUE86IHByb3BzLmdpdGh1YlJlcG8ucmVwb3NpdG9yeVVybFNzaCxcbiAgICAgICAgR0lUSFVCX1BBR0VTX0JSQU5DSDogcHJvcHMuYnJhbmNoIHx8ICdnaC1wYWdlcycsXG4gICAgICAgIFNTSF9LRVlfU0VDUkVUOiBwcm9wcy5naXRodWJSZXBvLnNzaEtleVNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIEZPUl9SRUFMOiBmb3JSZWFsLFxuICAgICAgICBDT01NSVRfVVNFUk5BTUU6IHByb3BzLmdpdGh1YlJlcG8uY29tbWl0VXNlcm5hbWUsXG4gICAgICAgIENPTU1JVF9FTUFJTDogcHJvcHMuZ2l0aHViUmVwby5jb21taXRFbWFpbCxcbiAgICAgICAgQlVJTERfTUFOSUZFU1Q6IHByb3BzLmJ1aWxkTWFuaWZlc3RGaWxlTmFtZSB8fCAnLi9idWlsZC5qc29uJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoc2hlbGxhYmxlLnJvbGUpIHtcbiAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZChwcm9wcy5naXRodWJSZXBvLnNzaEtleVNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb0dpdEh1YlByb3BzIHtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCAoZGVmYXVsdCkgd2lsbCBvbmx5IHBlcmZvcm0gYSBkcnktcnVuIGJ1dCB3aWxsIG5vdCBhY3R1YWxseSBwdWJsaXNoLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSByZWxlYXNlIGluLlxuICAgKi9cbiAgZ2l0aHViUmVwbzogV3JpdGFibGVHaXRIdWJSZXBvO1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmlnbiBrZXkgdG8gdXNlIHRvIGNyZWF0ZSBhIEdQRyBzaWduYXR1cmUgb2YgdGhlIGFydGlmYWN0LlxuICAgKi9cbiAgc2lnbmluZ0tleTogT3BlblBHUEtleVBhaXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWlsZCBtYW5pZmVzdCBKU09OIGZpbGUgKG11c3QgaW5jbHVkZSBcIm5hbWVcIiBhbmQgXCJ2ZXJzaW9uXCIgZmllbGRzKS5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBAZGVmYXVsdCBcIi4vYnVpbGQuanNvblwiXG4gICAqL1xuICBidWlsZE1hbmlmZXN0RmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjaGFuZ2Vsb2cgbWFya2Rvd24gZmlsZSwgdXNlZCB0byBjcmVhdGUgcmVsZWFzZSBub3Rlcy5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBAZGVmYXVsdCBcIi4vQ0hBTkdFTE9HLm1kXCJcbiAgICovXG4gIGNoYW5nZWxvZ0ZpbGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcmVsZWFzZSBub3RlcyBmaWxlLCBjb250YWluaW5nIHRoZSBjb21wbGV0ZWQgcmVsZWFzZSBub3Rlc1xuICAgKiBmb3IgdGhlIGN1cnJlbnQgcmVsZWFzZS5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBOT1RFIC0gSWYgdGhpcyB2YWx1ZSBpcyBzZXQgYW5kIHBvaW50cyB0byBhIHZhbGlkIGZpbGUsIHRoZSBmaWxlIGluIGl0cyBlbnRpcmV0eVxuICAgKiB3aWxsIGJlIHJlYWQgYW5kIHVzZWQgZm9yIHRoZSByZWxlYXNlIG5vdGVzLiBUaGUgdmFsdWUgb2YgYGNoYW5nZWxvZ0ZpbGVOYW1lYCB3aWxsXG4gICAqIGJlIGlnbm9yZWQuXG4gICAqIEBkZWZhdWx0IFwiLi9SRUxFQVNFX05PVEVTLm1kXCJcbiAgICovXG4gIHJlbGVhc2VOb3Rlc0ZpbGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGlucHV0IGFydGlmYWN0cyB0byBwdWJsaXNoIGJpbmFyaWVzIGZyb20gdG8gR2l0SHViIHJlbGVhc2VcbiAgICovXG4gIGFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cz86IGNwaXBlbGluZS5BcnRpZmFjdFtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNpZ24gdGhlIGFkZGl0aW9uYWwgYXJ0aWZhY3RzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHNpZ25BZGRpdGlvbmFsQXJ0aWZhY3RzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb0dpdEh1YiBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzPzogY3BpcGVsaW5lLkFydGlmYWN0W107XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9HaXRIdWJQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgZm9yUmVhbCA9IHByb3BzLmRyeVJ1biA9PT0gdW5kZWZpbmVkID8gJ2ZhbHNlJyA6ICghcHJvcHMuZHJ5UnVuKS50b1N0cmluZygpO1xuICAgIHRoaXMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzID0gcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzO1xuXG4gICAgLy8gVGhlIHJlbGVhc2Ugbm90ZXMsIGlmIHNldCBhbmQgYSB2YWxpZCBmaWxlLCBvdmVycmlkZXMgYW55IHVzYWdlcyBvZiB0aGUgY2hhbmdlbG9nLlxuICAgIGlmIChwcm9wcy5jaGFuZ2Vsb2dGaWxlTmFtZSAmJiBwcm9wcy5yZWxlYXNlTm90ZXNGaWxlTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdib3RoIGByZWxlYXNlTm90ZXNGaWxlTmFtZWAgYW5kIGBjaGFuZ2Vsb2dGaWxlTmFtZWAgY2Fubm90IGJlIHNwZWNpZmllZDsgdXNlIG9uZSBvciB0aGUgb3RoZXInKTtcbiAgICB9XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuVUJVTlRVXzE0XzA0X05PREVKU18xMF8xXzApLFxuICAgICAgc2NyaXB0RGlyZWN0b3J5OiBwYXRoLmpvaW4oX19kaXJuYW1lLCAncHVibGlzaGluZycsICdnaXRodWInKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50OiBub1VuZGVmaW5lZCh7XG4gICAgICAgIEJVSUxEX01BTklGRVNUOiBwcm9wcy5idWlsZE1hbmlmZXN0RmlsZU5hbWUgfHwgJy4vYnVpbGQuanNvbicsXG4gICAgICAgIENIQU5HRUxPRzogcHJvcHMuY2hhbmdlbG9nRmlsZU5hbWUgfHwgJy4vQ0hBTkdFTE9HLm1kJyxcbiAgICAgICAgUkVMRUFTRV9OT1RFUzogcHJvcHMucmVsZWFzZU5vdGVzRmlsZU5hbWUgfHwgJy4vUkVMRUFTRV9OT1RFUy5tZCcsXG4gICAgICAgIFNJR05JTkdfS0VZX0FSTjogcHJvcHMuc2lnbmluZ0tleS5jcmVkZW50aWFsLnNlY3JldEFybixcbiAgICAgICAgR0lUSFVCX09XTkVSOiBwcm9wcy5naXRodWJSZXBvLm93bmVyLFxuICAgICAgICBHSVRIVUJfUkVQTzogcHJvcHMuZ2l0aHViUmVwby5yZXBvLFxuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgICAgLy8gVHJhbnNtaXQgdGhlIG5hbWVzIG9mIHRoZSBzZWNvbmRhcnkgc291cmNlcyB0byB0aGUgc2hlbGwgc2NyaXB0IChmb3IgZWFzaWVyIGl0ZXJhdGlvbilcbiAgICAgICAgU0VDT05EQVJZX1NPVVJDRV9OQU1FUzogcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzID8gcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzLm1hcChhID0+IGEuYXJ0aWZhY3ROYW1lKS5qb2luKCcgJykgOiB1bmRlZmluZWQsXG4gICAgICAgIFNJR05fQURESVRJT05BTF9BUlRJRkFDVFM6IHByb3BzLmFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cyAmJiBwcm9wcy5zaWduQWRkaXRpb25hbEFydGlmYWN0cyAhPT0gZmFsc2UgPyAndHJ1ZScgOiB1bmRlZmluZWQsXG4gICAgICB9KSxcbiAgICAgIGVudmlyb25tZW50U2VjcmV0czoge1xuICAgICAgICBHSVRIVUJfVE9LRU46IHByb3BzLmdpdGh1YlJlcG8udG9rZW5TZWNyZXRBcm4sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gYWxsb3cgc2NyaXB0IHRvIHJlYWQgdGhlIHNpZ25pbmcga2V5XG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwcm9wcy5zaWduaW5nS2V5LmdyYW50UmVhZChzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgZXh0cmFJbnB1dHM6IHRoaXMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGlzaFRvUzNQcm9wcyB7XG4gIGJ1Y2tldDogczMuSUJ1Y2tldDtcblxuICAvKipcbiAgICogTWFrZSBmaWxlcyBwdWJsaWNseSByZWFkYWJsZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9TMyBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZT86IGlhbS5JUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9TM1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGZvclJlYWwgPSBwcm9wcy5kcnlSdW4gPT09IHVuZGVmaW5lZCA/ICdmYWxzZScgOiAoIXByb3BzLmRyeVJ1bikudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IHNoZWxsYWJsZSA9IG5ldyBTaGVsbGFibGUodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBwbGF0Zm9ybTogbmV3IExpbnV4UGxhdGZvcm0oY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5VQlVOVFVfMTRfMDRfTk9ERUpTXzhfMTFfMCksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ3MzJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBCVUNLRVRfVVJMOiBgczM6Ly8ke3Byb3BzLmJ1Y2tldC5idWNrZXROYW1lfWAsXG4gICAgICAgIENIQU5HRUxPRzogcHJvcHMucHVibGljID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgRk9SX1JFQUw6IGZvclJlYWwsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQWxsb3cgc2NyaXB0IHRvIHdyaXRlIHRvIGJ1Y2tldFxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcHJvcHMuYnVja2V0LmdyYW50UmVhZFdyaXRlKHNoZWxsYWJsZS5yb2xlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoVG9QeVBpUHJvcHMge1xuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIFB5UEkgY3JlZGVudGlhbHMgdW5kZXJcbiAgICogXCJ1c2VybmFtZVwiIGFuZCBcInBhc3N3b3JkXCIga2V5cy5cbiAgICovXG4gIGxvZ2luU2VjcmV0OiBwZXJtaXNzaW9ucy5FeHRlcm5hbFNlY3JldDtcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9QeVBpIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFB1Ymxpc2hUb1B5UGlQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBmb3JSZWFsID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuVUJVTlRVXzE0XzA0X1BZVEhPTl8zXzZfNSksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ3B5cGknKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIEZPUl9SRUFMOiBmb3JSZWFsLFxuICAgICAgICBQWVBJX0NSRURFTlRJQUxTX1NFQ1JFVF9JRDogcHJvcHMubG9naW5TZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHByb3BzLmxvZ2luU2VjcmV0LCBzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59XG5cbi8qKlxuICogUHJvcHMgZm9yIEdvIHB1Ymxpc2hpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGlzaFRvR29sYW5nUHJvcHMge1xuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIEdpdEh1YiBwZXJzb25hbCBhY2Nlc3MgdG9rZW5cbiAgICogdXNlZCB0byBwdXNoIHRoZSBnbyBjb2RlIHRvIHRoZSBnaXRodWIgcmVwb3NpdG9yeSBkZWZpbmVkIGJ5IGl0J3MgbmFtZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuZ2l0aHViLmNvbS9lbi9naXRodWIvYXV0aGVudGljYXRpbmctdG8tZ2l0aHViL2NyZWF0aW5nLWEtcGVyc29uYWwtYWNjZXNzLXRva2VuXG4gICAqL1xuICByZWFkb25seSBnaXRodWJUb2tlblNlY3JldDogcGVybWlzc2lvbnMuRXh0ZXJuYWxTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIFVzZXJuYW1lIHRvIHBlcmZvcm0gdGhlIGNvbW1pdCB3aXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0VXNlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRW1haWwgdG8gcGVyZm9ybSB0aGUgY29tbWl0IHdpdGguXG4gICAqL1xuICByZWFkb25seSBnaXRVc2VyRW1haWw6IHN0cmluZztcblxuICAvKipcbiAgICogU2V0IHRvIFwidHJ1ZVwiIGZvciBhIGRyeSBydW4uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNb2R1bGUgdmVyc2lvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0cyB0byB0aGUgdmFsdWUgaW4gdGhlICd2ZXJzaW9uJyBmaWxlIG9mIHRoZSBtb2R1bGVcbiAgICogZGlyZWN0b3J5LiBGYWlscyBpZiBpdCBkb2Vzbid0IGV4aXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQnJhbmNoIHRvIHB1c2ggdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwibWFpblwiXG4gICAqL1xuICByZWFkb25seSBnaXRCcmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21taXQgbWVzc2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJjaG9yZShyZWxlYXNlKTogJFZFUlNJT05cIlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0Q29tbWl0TWVzc2FnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQdXNoZXMgYSBkaXJlY3Rvcnkgb2YgZ29sYW5nIG1vZHVsZXMgdG8gYSBHaXRIdWIgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb0dvbGFuZyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuUHJvamVjdDtcbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaFRvR29sYW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZHJ5UnVuID0gcHJvcHMuZHJ5UnVuID8/IGZhbHNlO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlNUQU5EQVJEXzVfMCksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ2dvbGFuZycpLFxuICAgICAgZW50cnlwb2ludDogJ3B1Ymxpc2guc2gnLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgRFJZUlVOOiBkcnlSdW4gPyAndHJ1ZScgOiB1bmRlZmluZWQsXG4gICAgICAgIEdJVEhVQl9UT0tFTl9TRUNSRVQ6IHByb3BzLmdpdGh1YlRva2VuU2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgVkVSU0lPTjogcHJvcHMudmVyc2lvbixcbiAgICAgICAgR0lUX0JSQU5DSDogcHJvcHMuZ2l0QnJhbmNoLFxuICAgICAgICBHSVRfVVNFUl9OQU1FOiBwcm9wcy5naXRVc2VyTmFtZSxcbiAgICAgICAgR0lUX1VTRVJfRU1BSUw6IHByb3BzLmdpdFVzZXJFbWFpbCxcbiAgICAgICAgR0lUX0NPTU1JVF9NRVNTQUdFOiBwcm9wcy5naXRDb21taXRNZXNzYWdlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHByb3BzLmdpdGh1YlRva2VuU2VjcmV0LCBzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
|
package/lib/publishing.ts
CHANGED
|
@@ -367,6 +367,17 @@ export interface PublishToGitHubProps {
|
|
|
367
367
|
*/
|
|
368
368
|
changelogFileName?: string;
|
|
369
369
|
|
|
370
|
+
/**
|
|
371
|
+
* The name of the release notes file, containing the completed release notes
|
|
372
|
+
* for the current release.
|
|
373
|
+
* Relative to the artifacts root.
|
|
374
|
+
* NOTE - If this value is set and points to a valid file, the file in its entirety
|
|
375
|
+
* will be read and used for the release notes. The value of `changelogFileName` will
|
|
376
|
+
* be ignored.
|
|
377
|
+
* @default "./RELEASE_NOTES.md"
|
|
378
|
+
*/
|
|
379
|
+
releaseNotesFileName?: string;
|
|
380
|
+
|
|
370
381
|
/**
|
|
371
382
|
* Additional input artifacts to publish binaries from to GitHub release
|
|
372
383
|
*/
|
|
@@ -391,6 +402,11 @@ export class PublishToGitHub extends Construct implements IPublisher {
|
|
|
391
402
|
const forReal = props.dryRun === undefined ? 'false' : (!props.dryRun).toString();
|
|
392
403
|
this.additionalInputArtifacts = props.additionalInputArtifacts;
|
|
393
404
|
|
|
405
|
+
// The release notes, if set and a valid file, overrides any usages of the changelog.
|
|
406
|
+
if (props.changelogFileName && props.releaseNotesFileName) {
|
|
407
|
+
throw new Error('both `releaseNotesFileName` and `changelogFileName` cannot be specified; use one or the other');
|
|
408
|
+
}
|
|
409
|
+
|
|
394
410
|
const shellable = new Shellable(this, 'Default', {
|
|
395
411
|
platform: new LinuxPlatform(cbuild.LinuxBuildImage.UBUNTU_14_04_NODEJS_10_1_0),
|
|
396
412
|
scriptDirectory: path.join(__dirname, 'publishing', 'github'),
|
|
@@ -398,6 +414,7 @@ export class PublishToGitHub extends Construct implements IPublisher {
|
|
|
398
414
|
environment: noUndefined({
|
|
399
415
|
BUILD_MANIFEST: props.buildManifestFileName || './build.json',
|
|
400
416
|
CHANGELOG: props.changelogFileName || './CHANGELOG.md',
|
|
417
|
+
RELEASE_NOTES: props.releaseNotesFileName || './RELEASE_NOTES.md',
|
|
401
418
|
SIGNING_KEY_ARN: props.signingKey.credential.secretArn,
|
|
402
419
|
GITHUB_OWNER: props.githubRepo.owner,
|
|
403
420
|
GITHUB_REPO: props.githubRepo.repo,
|
|
@@ -633,4 +650,4 @@ export class PublishToGolang extends Construct {
|
|
|
633
650
|
project: this.project,
|
|
634
651
|
}));
|
|
635
652
|
}
|
|
636
|
-
}
|
|
653
|
+
}
|
package/package.json
CHANGED
|
@@ -35,28 +35,28 @@
|
|
|
35
35
|
"organization": false
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@monocdk-experiment/assert": "^1.
|
|
38
|
+
"@monocdk-experiment/assert": "^1.123.0",
|
|
39
39
|
"@types/aws-lambda": "^8.10.83",
|
|
40
40
|
"@types/jest": "^26.0.24",
|
|
41
41
|
"@types/node": "^14.17.0",
|
|
42
|
-
"@typescript-eslint/eslint-plugin": "^4.31.
|
|
43
|
-
"@typescript-eslint/parser": "^4.31.
|
|
44
|
-
"aws-cdk": "^1.
|
|
45
|
-
"aws-sdk": "^2.
|
|
42
|
+
"@typescript-eslint/eslint-plugin": "^4.31.1",
|
|
43
|
+
"@typescript-eslint/parser": "^4.31.1",
|
|
44
|
+
"aws-cdk": "^1.123.0",
|
|
45
|
+
"aws-sdk": "^2.991.0",
|
|
46
46
|
"constructs": "^3.3.147",
|
|
47
|
-
"esbuild": "^0.12.
|
|
47
|
+
"esbuild": "^0.12.28",
|
|
48
48
|
"eslint": "^7.32.0",
|
|
49
49
|
"eslint-import-resolver-node": "^0.3.6",
|
|
50
|
-
"eslint-import-resolver-typescript": "^2.
|
|
50
|
+
"eslint-import-resolver-typescript": "^2.5.0",
|
|
51
51
|
"eslint-plugin-import": "^2.24.2",
|
|
52
52
|
"jest": "^26.6.3",
|
|
53
53
|
"jest-create-mock-instance": "^1.1.0",
|
|
54
54
|
"jest-junit": "^12",
|
|
55
55
|
"json-schema": "^0.3.0",
|
|
56
|
-
"monocdk": "^1.
|
|
56
|
+
"monocdk": "^1.123.0",
|
|
57
57
|
"node-ical": "^0.13.0",
|
|
58
58
|
"npm-check-updates": "^11",
|
|
59
|
-
"projen": "^0.28.
|
|
59
|
+
"projen": "^0.28.19",
|
|
60
60
|
"rrule": "^2.6.8",
|
|
61
61
|
"standard-version": "^9",
|
|
62
62
|
"ts-jest": "^26.5.6",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
66
|
"constructs": "^3.3.147",
|
|
67
|
-
"monocdk": "^1.
|
|
67
|
+
"monocdk": "^1.123.0"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"changelog-parser": "^2.8.0"
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
],
|
|
79
79
|
"main": "lib/index.js",
|
|
80
80
|
"license": "Apache-2.0",
|
|
81
|
-
"version": "13.0
|
|
81
|
+
"version": "13.2.0",
|
|
82
82
|
"jest": {
|
|
83
83
|
"testMatch": [
|
|
84
84
|
"**/lib/__tests__/**/?(*.)+(spec|test).js?(x)"
|