aws-delivlib 13.6.4 → 13.7.2
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/.gitattributes +0 -1
- package/cdk.out/{asset.7820644cf1fdec7cec290ed6fdd561e35f4015d4dcf03a20f8035dda3c0ac88a → asset.66b99756ae087cd731a655763245d55e9435c1657dc62d0c5a421806e223e6b2}/watcher-handler.d.ts +0 -0
- package/cdk.out/asset.66b99756ae087cd731a655763245d55e9435c1657dc62d0c5a421806e223e6b2/watcher-handler.js +112 -0
- package/cdk.out/{asset.7820644cf1fdec7cec290ed6fdd561e35f4015d4dcf03a20f8035dda3c0ac88a → asset.66b99756ae087cd731a655763245d55e9435c1657dc62d0c5a421806e223e6b2}/watcher-handler.ts +0 -0
- package/cdk.out/{asset.0ff875115bf3a3ba9f32946b1f2b9b153553ecba0e511c42ac11bef064968c40 → asset.ca50c9b7760151d8e8ce6e39851032d4eff4836ea1ee806eaa944aaef110a353}/index.js +154 -120
- package/cdk.out/cdk.out +1 -1
- package/cdk.out/delivlib-test.assets.json +9 -9
- package/cdk.out/delivlib-test.template.json +7710 -7710
- package/cdk.out/manifest.json +1230 -1230
- package/cdk.out/tree.json +403 -403
- package/lib/change-control-lambda/disable-transition.js +6 -2
- package/lib/change-control-lambda/index.js +6 -2
- package/lib/change-controller.js +6 -2
- package/lib/chime-notifier/chime-notifier.js +6 -2
- package/lib/chime-notifier/handler/notifier-handler.js +6 -2
- package/lib/chime-notifier/index.js +6 -2
- package/lib/code-signing/certificate-signing-request.js +6 -2
- package/lib/code-signing/code-signing-certificate.js +6 -2
- package/lib/code-signing/index.js +6 -2
- package/lib/code-signing/private-key.js +6 -2
- package/lib/custom-resource-handlers/src/_cloud-formation.js +6 -2
- package/lib/custom-resource-handlers/src/_exec.js +6 -2
- package/lib/custom-resource-handlers/src/_rmrf.js +6 -2
- package/lib/custom-resource-handlers/src/certificate-signing-request.js +6 -2
- package/lib/custom-resource-handlers/src/certificate-signing-request.tsbuildinfo +1 -1
- package/lib/custom-resource-handlers/src/pgp-secret.js +6 -2
- package/lib/custom-resource-handlers/src/pgp-secret.tsbuildinfo +1 -1
- package/lib/custom-resource-handlers/src/private-key.js +6 -2
- package/lib/custom-resource-handlers/src/private-key.tsbuildinfo +1 -1
- package/lib/index.js +6 -2
- package/lib/open-pgp-key-pair.js +6 -2
- package/lib/package-integrity/handler/integrity.js +6 -2
- package/lib/package-integrity/handler/repository.js +6 -2
- package/lib/package-integrity/handler/validate.bundle.js +16255 -5395
- package/lib/package-integrity/index.js +6 -2
- package/lib/package-integrity/integrity.js +6 -2
- package/lib/pipeline-notifications/chime.js +6 -2
- package/lib/pipeline-notifications/index.js +6 -2
- package/lib/pipeline-notifications/slack.js +6 -2
- package/lib/pipeline-watcher/handler/watcher-handler.js +6 -2
- package/lib/pipeline-watcher/index.js +6 -2
- package/lib/pipeline-watcher/watcher.js +6 -2
- package/lib/pipeline.d.ts +1 -0
- package/lib/pipeline.js +12 -2
- package/lib/pipeline.ts +7 -0
- package/lib/publishing.js +6 -2
- package/lib/pull-request/bump.js +6 -2
- package/lib/pull-request/index.js +6 -2
- package/lib/pull-request/merge-back.js +6 -2
- package/lib/pull-request/pr.js +6 -2
- package/lib/registry-sync/index.js +6 -2
- package/lib/shellable.js +6 -2
- package/lib/util.js +6 -2
- package/package.json +20 -20
- package/cdk.out/asset.7820644cf1fdec7cec290ed6fdd561e35f4015d4dcf03a20f8035dda3c0ac88a/watcher-handler.js +0 -108
package/lib/publishing.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -348,4 +352,4 @@ class PublishToGolang extends monocdk_1.Construct {
|
|
|
348
352
|
}
|
|
349
353
|
}
|
|
350
354
|
exports.PublishToGolang = PublishToGolang;
|
|
351
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInB1Ymxpc2hpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3QixxQ0FPaUI7QUFHakIsMkRBQTZDO0FBRzdDLDJDQUF1RDtBQUN2RCxpQ0FBcUM7QUFFckM7O0dBRUc7QUFDSCxJQUFZLFNBVVg7QUFWRCxXQUFZLFNBQVM7SUFDbkI7O09BRUc7SUFDSCw4QkFBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILHNDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFWVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQVVwQjtBQXlDRDs7R0FFRztBQUNILE1BQWEscUJBQXNCLFNBQVEsbUJBQVM7SUFJbEQsWUFBWSxNQUFpQixFQUFFLEVBQVUsRUFBRSxLQUFpQzs7UUFDMUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWxGLE1BQU0sU0FBUyxHQUFHLElBQUkscUJBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQy9DLFFBQVEsRUFBRSxJQUFJLHlCQUFhLENBQUMsTUFBQSxLQUFLLENBQUMsVUFBVSxtQ0FBSSx1QkFBTSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzdHLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDO1lBQzVELFVBQVUsRUFBRSxZQUFZO1lBQ3hCLFdBQVcsRUFBRTtnQkFDWCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2dCQUMxQyxl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SSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQXVCLEVBQUUsRUFBVSxFQUFFLE9BQTZCO1FBQ3JGLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxrQ0FBaUIsQ0FBQyxlQUFlLENBQUM7WUFDcEQsVUFBVSxFQUFFLEVBQUU7WUFDZCxLQUFLLEVBQUUsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLDBCQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3hELFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUF4Q0QsMENBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIENvbnN0cnVjdCwgU3RhY2ssXG4gIGF3c19jb2RlYnVpbGQgYXMgY2J1aWxkLFxuICBhd3NfY29kZXBpcGVsaW5lIGFzIGNwaXBlbGluZSxcbiAgYXdzX2NvZGVwaXBlbGluZV9hY3Rpb25zIGFzIGNwaXBlbGluZV9hY3Rpb25zLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX3MzIGFzIHMzLFxufSBmcm9tICdtb25vY2RrJztcbmltcG9ydCB7IElDb2RlU2lnbmluZ0NlcnRpZmljYXRlIH0gZnJvbSAnLi9jb2RlLXNpZ25pbmcnO1xuaW1wb3J0IHsgT3BlblBHUEtleVBhaXIgfSBmcm9tICcuL29wZW4tcGdwLWtleS1wYWlyJztcbmltcG9ydCAqIGFzIHBlcm1pc3Npb25zIGZyb20gJy4vcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgQWRkVG9QaXBlbGluZU9wdGlvbnMsIElQdWJsaXNoZXIgfSBmcm9tICcuL3BpcGVsaW5lJztcbmltcG9ydCB7IFdyaXRhYmxlR2l0SHViUmVwbyB9IGZyb20gJy4vcmVwbyc7XG5pbXBvcnQgeyBMaW51eFBsYXRmb3JtLCBTaGVsbGFibGUgfSBmcm9tICcuL3NoZWxsYWJsZSc7XG5pbXBvcnQgeyBub1VuZGVmaW5lZCB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogVHlwZSBvZiBhY2Nlc3MgcGVybWlzc2lvbnMgdG8gcmVxdWVzdCBmcm9tIG5wbWpzLlxuICovXG5leHBvcnQgZW51bSBOcG1BY2Nlc3Mge1xuICAvKipcbiAgICogTm8gYWNjZXNzIHJlc3RyaWN0aW9uLiBOb3RlIHRoYXQgdW5zY29wZWQgcGFja2FnZXMgbXVzdCBhbHdheXMgYmUgcHVibGljLlxuICAgKi9cbiAgUFVCTElDID0gJ3B1YmxpYycsXG5cbiAgLyoqXG4gICAqIExpbWl0IGFjY2VzcyB0byB3aGl0ZWxpc3RlZCBucG1qcyB1c2Vycy5cbiAgICovXG4gIFJFU1RSSUNURUQgPSAncmVzdHJpY3RlZCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGlzaFRvTWF2ZW5Qcm9qZWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIHNpZ25pbmcga2V5IGl0c2VsZlxuICAgKi9cbiAgc2lnbmluZ0tleTogT3BlblBHUEtleVBhaXI7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgc29uYXR5cGUgc3RhZ2luZyBwcm9maWxlIChlLmcuIFwiNjhhMDUzNjMwODMxNzRcIikuXG4gICAqL1xuICBzdGFnaW5nUHJvZmlsZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgb2YgdGhlIHNlY3JldCB0aGF0IGNvbnRhaW5zIHRoZSBNYXZlbiBsb2dpblxuICAgKi9cbiAgbWF2ZW5Mb2dpblNlY3JldDogcGVybWlzc2lvbnMuRXh0ZXJuYWxTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIElmIHRydWUgKGRlZmF1bHQpIHBlcmZvcm1zIGEgZHJ5LXJ1biBvbmx5IGluc3RlYWQgb2YgYWN0dWFsbHkgcHVibGlzaGluZy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZHJ5UnVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIE1hdmVuIHB1Ymxpc2hpbmcgZW5kcG9pbnQgdG8gYmUgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJodHRwczovL29zcy5zb25hdHlwZS5vcmdcIlxuICAgKi9cbiAgbWF2ZW5FbmRwb2ludD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGJ1aWxkIGltYWdlIHRvIGRvIHRoZSBwdWJsaXNoaW5nIGluXG4gICAqXG4gICAqIE5lZWRzIHRvIGhhdmUgTWF2ZW4gcHJlaW5zdGFsbGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBMYXRlc3Qgc3VwZXJjaGFpblxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZT86IGNidWlsZC5JQnVpbGRJbWFnZTtcbn1cblxuLyoqXG4gKiBDb2RlQnVpbGQgcHJvamVjdCB0aGF0IHdpbGwgcHVibGlzaCBhbGwgcGFja2FnZXMgaW4gYSByZWxlYXNlIGJ1bmRsZSB0byBNYXZlblxuICovXG5leHBvcnQgY2xhc3MgUHVibGlzaFRvTWF2ZW5Qcm9qZWN0IGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVB1Ymxpc2hlciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuUHJvamVjdDtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFB1Ymxpc2hUb01hdmVuUHJvamVjdFByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICBjb25zdCBmb3JSZWFsID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKHByb3BzLmJ1aWxkSW1hZ2UgPz8gY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5mcm9tRG9ja2VyUmVnaXN0cnkoJ2pzaWkvc3VwZXJjaGFpbicpKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnbWF2ZW4nKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFNUQUdJTkdfUFJPRklMRV9JRDogcHJvcHMuc3RhZ2luZ1Byb2ZpbGVJZCxcbiAgICAgICAgU0lHTklOR19LRVlfQVJOOiBwcm9wcy5zaWduaW5nS2V5LmNyZWRlbnRpYWwuc2VjcmV0QXJuLFxuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgICAgTUFWRU5fTE9HSU5fU0VDUkVUOiBwcm9wcy5tYXZlbkxvZ2luU2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgTUFWRU5fRU5EUE9JTlQ6IHByb3BzLm1hdmVuRW5kcG9pbnQgfHwgJ2h0dHBzOi8vb3NzLnNvbmF0eXBlLm9yZycsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwZXJtaXNzaW9ucy5ncmFudFNlY3JldFJlYWQocHJvcHMubWF2ZW5Mb2dpblNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgICAgcHJvcHMuc2lnbmluZ0tleS5ncmFudFJlYWQoc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb05wbVByb2plY3RQcm9wcyB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIG9mIHRoZSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgTlBNIHRva2VuXG4gICAqL1xuICBucG1Ub2tlblNlY3JldDogcGVybWlzc2lvbnMuRXh0ZXJuYWxTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCAoZGVmYXVsdCkgd2lsbCBvbmx5IHBlcmZvcm0gYSBkcnktcnVuIGJ1dCB3aWxsIG5vdCBhY3R1YWxseSBwdWJsaXNoLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBucG0gZGlzdC10YWcgdG8gdXNlIHdoZW4gcHVibGlzaGluZyBhcnRpZmFjdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbnBtIGRlZmF1bHQgYmVoYXZpb3IgKFwibGF0ZXN0XCIgdW5sZXNzIGRpc3QgdGFnIGlzIHNwZWNpZmllZCBpbiBwYWNrYWdlLmpzb24pXG4gICAqL1xuICBkaXN0VGFnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBucG0gLS1hY2Nlc3MgcHVibGljfHJlc3RyaWN0ZWRcbiAgICpcbiAgICogU2VlIGh0dHBzOi8vZG9jcy5ucG1qcy5jb20vY2xpLWNvbW1hbmRzL3B1Ymxpc2gjOn46dGV4dD1UZWxscyUyMHRoZVxuICAgKlxuICAgKiBUZWxscyB0aGUgcmVnaXN0cnkgd2hldGhlciB0aGlzIHBhY2thZ2Ugc2hvdWxkIGJlIHB1Ymxpc2hlZCBhcyBwdWJsaWMgb3IgcmVzdHJpY3RlZC5cbiAgICogT25seSBhcHBsaWVzIHRvIHNjb3BlZCBwYWNrYWdlcywgd2hpY2ggZGVmYXVsdCB0byByZXN0cmljdGVkLlxuICAgKiBJZiB5b3UgZG9u4oCZdCBoYXZlIGEgcGFpZCBhY2NvdW50LCB5b3UgbXVzdCBwdWJsaXNoIHdpdGggLS1hY2Nlc3MgcHVibGljIHRvIHB1Ymxpc2ggc2NvcGVkIHBhY2thZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOcG1BY2Nlc3MuUFVCTElDXG4gICAqL1xuICBhY2Nlc3M/OiBOcG1BY2Nlc3M7XG59XG5cbi8qKlxuICogQ29kZUJ1aWxkIHByb2plY3QgdGhhdCB3aWxsIHB1Ymxpc2ggYWxsIHBhY2thZ2VzIGluIGEgcmVsZWFzZSBidW5kbGUgdG8gTlBNXG4gKi9cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9OcG1Qcm9qZWN0IGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVB1Ymxpc2hlciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9OcG1Qcm9qZWN0UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIGNvbnN0IGZvclJlYWwgPSBwcm9wcy5kcnlSdW4gPT09IHVuZGVmaW5lZCA/ICdmYWxzZScgOiAoIXByb3BzLmRyeVJ1bikudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IGFjY2VzcyA9IHByb3BzLmFjY2VzcyA/PyBOcG1BY2Nlc3MuUFVCTElDO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlVCVU5UVV8xNF8wNF9OT0RFSlNfMTBfMV8wKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnbnBtJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgICAgTlBNX1RPS0VOX1NFQ1JFVDogcHJvcHMubnBtVG9rZW5TZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICBESVNUVEFHOiBwcm9wcy5kaXN0VGFnIHx8ICcnLFxuICAgICAgICBBQ0NFU1M6IGFjY2VzcyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoc2hlbGxhYmxlLnJvbGUpIHtcbiAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZChwcm9wcy5ucG1Ub2tlblNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb051R2V0UHJvamVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBTZWNyZXRzTWFuYWdlciBzZWNyZXQgd2hpY2ggc3RvcmVzIHRoZSBOdWdldCBBUEkga2V5LlxuICAgKi9cbiAgbnVnZXRBcGlLZXlTZWNyZXQ6IHBlcm1pc3Npb25zLkV4dGVybmFsU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgKGRlZmF1bHQpIHdpbGwgb25seSBwZXJmb3JtIGEgZHJ5LXJ1biBidXQgd2lsbCBub3QgYWN0dWFsbHkgcHVibGlzaC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZHJ5UnVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBjb2RlIHNpZ25pbmcgY2VydGlmaWNhdGUgdG8gdXNlIHRvIHNpZ24gYXNzZW1ibGllcy5cbiAgICogQGRlZmF1bHQgTm8gc2lnbmluZ1xuICAgKi9cbiAgY29kZVNpZ24/OiBJQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZTtcblxuICAvKipcbiAgICogVGhlIGJ1aWxkIGltYWdlIHRvIGRvIHRoZSBwdWJsaXNoaW5nIGluXG4gICAqXG4gICAqIE5lZWRzIHRvIGhhdmUgTnVHZXQgcHJlaW5zdGFsbGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBMYXRlc3Qgc3VwZXJjaGFpblxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZT86IGNidWlsZC5JQnVpbGRJbWFnZTtcbn1cblxuLyoqXG4gKiBDb2RlQnVpbGQgcHJvamVjdCB0aGF0IHdpbGwgcHVibGlzaCBhbGwgcGFja2FnZXMgaW4gYSByZWxlYXNlIGJ1bmRsZSB0byBOdUdldFxuICovXG5leHBvcnQgY2xhc3MgUHVibGlzaFRvTnVHZXRQcm9qZWN0IGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVB1Ymxpc2hlciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuUHJvamVjdDtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFB1Ymxpc2hUb051R2V0UHJvamVjdFByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICBjb25zdCBlbnZpcm9ubWVudDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHsgfTtcblxuICAgIGVudmlyb25tZW50LkZPUl9SRUFMID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG5cbiAgICBpZiAocHJvcHMubnVnZXRBcGlLZXlTZWNyZXQuYXNzdW1lUm9sZUFybikge1xuICAgICAgZW52aXJvbm1lbnQuTlVHRVRfUk9MRV9BUk4gPSBwcm9wcy5udWdldEFwaUtleVNlY3JldC5hc3N1bWVSb2xlQXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5udWdldEFwaUtleVNlY3JldC5yZWdpb24pIHtcbiAgICAgIGVudmlyb25tZW50Lk5VR0VUX1NFQ1JFVF9SRUdJT04gPSBwcm9wcy5udWdldEFwaUtleVNlY3JldC5yZWdpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGVudmlyb25tZW50Lk5VR0VUX1NFQ1JFVF9SRUdJT04gPSBTdGFjay5vZih0aGlzKS5yZWdpb247XG4gICAgfVxuXG4gICAgZW52aXJvbm1lbnQuTlVHRVRfU0VDUkVUX0lEID0gcHJvcHMubnVnZXRBcGlLZXlTZWNyZXQuc2VjcmV0QXJuO1xuXG4gICAgaWYgKHByb3BzLmNvZGVTaWduKSB7XG4gICAgICBlbnZpcm9ubWVudC5DT0RFX1NJR05JTkdfU0VDUkVUX0lEID0gcHJvcHMuY29kZVNpZ24uY3JlZGVudGlhbC5zZWNyZXRBcm47XG4gICAgICBlbnZpcm9ubWVudC5DT0RFX1NJR05JTkdfUEFSQU1FVEVSX05BTUUgPSBwcm9wcy5jb2RlU2lnbi5wcmluY2lwYWwucGFyYW1ldGVyTmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKHByb3BzLmJ1aWxkSW1hZ2UgPz8gY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5mcm9tRG9ja2VyUmVnaXN0cnkoJ2pzaWkvc3VwZXJjaGFpbicpKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnbnVnZXQnKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50LFxuICAgIH0pO1xuXG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBpZiAocHJvcHMubnVnZXRBcGlLZXlTZWNyZXQuYXNzdW1lUm9sZUFybikge1xuICAgICAgICBwZXJtaXNzaW9ucy5ncmFudEFzc3VtZVJvbGUocHJvcHMubnVnZXRBcGlLZXlTZWNyZXQuYXNzdW1lUm9sZUFybiwgc2hlbGxhYmxlLnJvbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHByb3BzLm51Z2V0QXBpS2V5U2VjcmV0LCBzaGVsbGFibGUucm9sZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wcy5jb2RlU2lnbikge1xuICAgICAgICBwcm9wcy5jb2RlU2lnbi5ncmFudERlY3J5cHQoc2hlbGxhYmxlLnJvbGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hEb2NzVG9HaXRIdWJQcm9qZWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgdG8gcHVibGlzaCB0b1xuICAgKi9cbiAgZ2l0aHViUmVwbzogV3JpdGFibGVHaXRIdWJSZXBvO1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgKGRlZmF1bHQpIHdpbGwgb25seSBwZXJmb3JtIGEgZHJ5LXJ1biBidXQgd2lsbCBub3QgYWN0dWFsbHkgcHVibGlzaC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZHJ5UnVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJ1aWxkIG1hbmlmZXN0IEpTT04gZmlsZSAobXVzdCBpbmNsdWRlIFwibmFtZVwiIGFuZCBcInZlcnNpb25cIiBmaWVsZHMpLlxuICAgKiBSZWxhdGl2ZSB0byB0aGUgYXJ0aWZhY3RzIHJvb3QuXG4gICAqIEBkZWZhdWx0IFwiLi9idWlsZC5qc29uXCJcbiAgICovXG4gIGJ1aWxkTWFuaWZlc3RGaWxlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogR2l0SHViIFBhZ2VzIGJyYW5jaCB0byBwdXNoIHRvLlxuICAgKiBAZGVmYXVsdCBnaC1wYWdlc1xuICAgKi9cbiAgYnJhbmNoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvZGVCdWlsZCBwcm9qZWN0IHRoYXQgd2lsbCBwdWJsaXNoIGFsbCBwYWNrYWdlcyBpbiBhIHJlbGVhc2UgYnVuZGxlIHRvIE51R2V0XG4gKi9cbmV4cG9ydCBjbGFzcyBQdWJsaXNoRG9jc1RvR2l0SHViUHJvamVjdCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoRG9jc1RvR2l0SHViUHJvamVjdFByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICBjb25zdCBmb3JSZWFsID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuVUJVTlRVXzE0XzA0X05PREVKU18xMF8xXzApLFxuICAgICAgc2NyaXB0RGlyZWN0b3J5OiBwYXRoLmpvaW4oX19kaXJuYW1lLCAncHVibGlzaGluZycsICdkb2NzJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAvLyBNdXN0IGJlIFNTSCBiZWNhdXNlIHdlIHVzZSBhbiBTU0gga2V5IHRvIGF1dGhlbnRpY2F0ZVxuICAgICAgICBHSVRIVUJfUkVQTzogcHJvcHMuZ2l0aHViUmVwby5yZXBvc2l0b3J5VXJsU3NoLFxuICAgICAgICBHSVRIVUJfUEFHRVNfQlJBTkNIOiBwcm9wcy5icmFuY2ggfHwgJ2doLXBhZ2VzJyxcbiAgICAgICAgU1NIX0tFWV9TRUNSRVQ6IHByb3BzLmdpdGh1YlJlcG8uc3NoS2V5U2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgRk9SX1JFQUw6IGZvclJlYWwsXG4gICAgICAgIENPTU1JVF9VU0VSTkFNRTogcHJvcHMuZ2l0aHViUmVwby5jb21taXRVc2VybmFtZSxcbiAgICAgICAgQ09NTUlUX0VNQUlMOiBwcm9wcy5naXRodWJSZXBvLmNvbW1pdEVtYWlsLFxuICAgICAgICBCVUlMRF9NQU5JRkVTVDogcHJvcHMuYnVpbGRNYW5pZmVzdEZpbGVOYW1lIHx8ICcuL2J1aWxkLmpzb24nLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHByb3BzLmdpdGh1YlJlcG8uc3NoS2V5U2VjcmV0LCBzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGlzaFRvR2l0SHViUHJvcHMge1xuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIHJlbGVhc2UgaW4uXG4gICAqL1xuICBnaXRodWJSZXBvOiBXcml0YWJsZUdpdEh1YlJlcG87XG5cbiAgLyoqXG4gICAqIFRoZSBzaWduaWduIGtleSB0byB1c2UgdG8gY3JlYXRlIGEgR1BHIHNpZ25hdHVyZSBvZiB0aGUgYXJ0aWZhY3QuXG4gICAqL1xuICBzaWduaW5nS2V5OiBPcGVuUEdQS2V5UGFpcjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJ1aWxkIG1hbmlmZXN0IEpTT04gZmlsZSAobXVzdCBpbmNsdWRlIFwibmFtZVwiIGFuZCBcInZlcnNpb25cIiBmaWVsZHMpLlxuICAgKiBSZWxhdGl2ZSB0byB0aGUgYXJ0aWZhY3RzIHJvb3QuXG4gICAqIEBkZWZhdWx0IFwiLi9idWlsZC5qc29uXCJcbiAgICovXG4gIGJ1aWxkTWFuaWZlc3RGaWxlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNoYW5nZWxvZyBtYXJrZG93biBmaWxlLCB1c2VkIHRvIGNyZWF0ZSByZWxlYXNlIG5vdGVzLlxuICAgKiBSZWxhdGl2ZSB0byB0aGUgYXJ0aWZhY3RzIHJvb3QuXG4gICAqIEBkZWZhdWx0IFwiLi9DSEFOR0VMT0cubWRcIlxuICAgKi9cbiAgY2hhbmdlbG9nRmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZWxlYXNlIG5vdGVzIGZpbGUsIGNvbnRhaW5pbmcgdGhlIGNvbXBsZXRlZCByZWxlYXNlIG5vdGVzXG4gICAqIGZvciB0aGUgY3VycmVudCByZWxlYXNlLlxuICAgKiBSZWxhdGl2ZSB0byB0aGUgYXJ0aWZhY3RzIHJvb3QuXG4gICAqIE5PVEUgLSBJZiB0aGlzIHZhbHVlIGlzIHNldCBhbmQgcG9pbnRzIHRvIGEgdmFsaWQgZmlsZSwgdGhlIGZpbGUgaW4gaXRzIGVudGlyZXR5XG4gICAqIHdpbGwgYmUgcmVhZCBhbmQgdXNlZCBmb3IgdGhlIHJlbGVhc2Ugbm90ZXMuIFRoZSB2YWx1ZSBvZiBgY2hhbmdlbG9nRmlsZU5hbWVgIHdpbGxcbiAgICogYmUgaWdub3JlZC5cbiAgICogQGRlZmF1bHQgXCIuL1JFTEVBU0VfTk9URVMubWRcIlxuICAgKi9cbiAgcmVsZWFzZU5vdGVzRmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgaW5wdXQgYXJ0aWZhY3RzIHRvIHB1Ymxpc2ggYmluYXJpZXMgZnJvbSB0byBHaXRIdWIgcmVsZWFzZVxuICAgKi9cbiAgYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzPzogY3BpcGVsaW5lLkFydGlmYWN0W107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2lnbiB0aGUgYWRkaXRpb25hbCBhcnRpZmFjdHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgc2lnbkFkZGl0aW9uYWxBcnRpZmFjdHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUHVibGlzaFRvR2l0SHViIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVB1Ymxpc2hlciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuUHJvamVjdDtcbiAgcHJpdmF0ZSByZWFkb25seSBhZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHM/OiBjcGlwZWxpbmUuQXJ0aWZhY3RbXTtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFB1Ymxpc2hUb0dpdEh1YlByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICBjb25zdCBmb3JSZWFsID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5hZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHMgPSBwcm9wcy5hZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHM7XG5cbiAgICAvLyBUaGUgcmVsZWFzZSBub3RlcywgaWYgc2V0IGFuZCBhIHZhbGlkIGZpbGUsIG92ZXJyaWRlcyBhbnkgdXNhZ2VzIG9mIHRoZSBjaGFuZ2Vsb2cuXG4gICAgaWYgKHByb3BzLmNoYW5nZWxvZ0ZpbGVOYW1lICYmIHByb3BzLnJlbGVhc2VOb3Rlc0ZpbGVOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JvdGggYHJlbGVhc2VOb3Rlc0ZpbGVOYW1lYCBhbmQgYGNoYW5nZWxvZ0ZpbGVOYW1lYCBjYW5ub3QgYmUgc3BlY2lmaWVkOyB1c2Ugb25lIG9yIHRoZSBvdGhlcicpO1xuICAgIH1cblxuICAgIGNvbnN0IHNoZWxsYWJsZSA9IG5ldyBTaGVsbGFibGUodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBwbGF0Zm9ybTogbmV3IExpbnV4UGxhdGZvcm0oY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5VQlVOVFVfMTRfMDRfTk9ERUpTXzEwXzFfMCksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ2dpdGh1YicpLFxuICAgICAgZW50cnlwb2ludDogJ3B1Ymxpc2guc2gnLFxuICAgICAgZW52aXJvbm1lbnQ6IG5vVW5kZWZpbmVkKHtcbiAgICAgICAgQlVJTERfTUFOSUZFU1Q6IHByb3BzLmJ1aWxkTWFuaWZlc3RGaWxlTmFtZSB8fCAnLi9idWlsZC5qc29uJyxcbiAgICAgICAgQ0hBTkdFTE9HOiBwcm9wcy5jaGFuZ2Vsb2dGaWxlTmFtZSB8fCAnLi9DSEFOR0VMT0cubWQnLFxuICAgICAgICBSRUxFQVNFX05PVEVTOiBwcm9wcy5yZWxlYXNlTm90ZXNGaWxlTmFtZSB8fCAnLi9SRUxFQVNFX05PVEVTLm1kJyxcbiAgICAgICAgU0lHTklOR19LRVlfQVJOOiBwcm9wcy5zaWduaW5nS2V5LmNyZWRlbnRpYWwuc2VjcmV0QXJuLFxuICAgICAgICBHSVRIVUJfT1dORVI6IHByb3BzLmdpdGh1YlJlcG8ub3duZXIsXG4gICAgICAgIEdJVEhVQl9SRVBPOiBwcm9wcy5naXRodWJSZXBvLnJlcG8sXG4gICAgICAgIEZPUl9SRUFMOiBmb3JSZWFsLFxuICAgICAgICAvLyBUcmFuc21pdCB0aGUgbmFtZXMgb2YgdGhlIHNlY29uZGFyeSBzb3VyY2VzIHRvIHRoZSBzaGVsbCBzY3JpcHQgKGZvciBlYXNpZXIgaXRlcmF0aW9uKVxuICAgICAgICBTRUNPTkRBUllfU09VUkNFX05BTUVTOiBwcm9wcy5hZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHMgPyBwcm9wcy5hZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHMubWFwKGEgPT4gYS5hcnRpZmFjdE5hbWUpLmpvaW4oJyAnKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgU0lHTl9BRERJVElPTkFMX0FSVElGQUNUUzogcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzICYmIHByb3BzLnNpZ25BZGRpdGlvbmFsQXJ0aWZhY3RzICE9PSBmYWxzZSA/ICd0cnVlJyA6IHVuZGVmaW5lZCxcbiAgICAgIH0pLFxuICAgICAgZW52aXJvbm1lbnRTZWNyZXRzOiB7XG4gICAgICAgIEdJVEhVQl9UT0tFTjogcHJvcHMuZ2l0aHViUmVwby50b2tlblNlY3JldEFybixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBhbGxvdyBzY3JpcHQgdG8gcmVhZCB0aGUgc2lnbmluZyBrZXlcbiAgICBpZiAoc2hlbGxhYmxlLnJvbGUpIHtcbiAgICAgIHByb3BzLnNpZ25pbmdLZXkuZ3JhbnRSZWFkKHNoZWxsYWJsZS5yb2xlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBleHRyYUlucHV0czogdGhpcy5hZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHMsXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoVG9TM1Byb3BzIHtcbiAgYnVja2V0OiBzMy5JQnVja2V0O1xuXG4gIC8qKlxuICAgKiBNYWtlIGZpbGVzIHB1YmxpY2x5IHJlYWRhYmxlXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgKGRlZmF1bHQpIHdpbGwgb25seSBwZXJmb3JtIGEgZHJ5LXJ1biBidXQgd2lsbCBub3QgYWN0dWFsbHkgcHVibGlzaC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZHJ5UnVuPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb1MzIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVB1Ymxpc2hlciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFB1Ymxpc2hUb1MzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZm9yUmVhbCA9IHByb3BzLmRyeVJ1biA9PT0gdW5kZWZpbmVkID8gJ2ZhbHNlJyA6ICghcHJvcHMuZHJ5UnVuKS50b1N0cmluZygpO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlVCVU5UVV8xNF8wNF9OT0RFSlNfOF8xMV8wKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnczMnKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIEJVQ0tFVF9VUkw6IGBzMzovLyR7cHJvcHMuYnVja2V0LmJ1Y2tldE5hbWV9YCxcbiAgICAgICAgQ0hBTkdFTE9HOiBwcm9wcy5wdWJsaWMgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBBbGxvdyBzY3JpcHQgdG8gd3JpdGUgdG8gYnVja2V0XG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwcm9wcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUoc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb1B5UGlQcm9wcyB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIG9mIHRoZSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgUHlQSSBjcmVkZW50aWFscyB1bmRlclxuICAgKiBcInVzZXJuYW1lXCIgYW5kIFwicGFzc3dvcmRcIiBrZXlzLlxuICAgKi9cbiAgbG9naW5TZWNyZXQ6IHBlcm1pc3Npb25zLkV4dGVybmFsU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgKGRlZmF1bHQpIHdpbGwgb25seSBwZXJmb3JtIGEgZHJ5LXJ1biBidXQgd2lsbCBub3QgYWN0dWFsbHkgcHVibGlzaC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZHJ5UnVuPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb1B5UGkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuUHJvamVjdDtcbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaFRvUHlQaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGZvclJlYWwgPSBwcm9wcy5kcnlSdW4gPT09IHVuZGVmaW5lZCA/ICdmYWxzZScgOiAoIXByb3BzLmRyeVJ1bikudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IHNoZWxsYWJsZSA9IG5ldyBTaGVsbGFibGUodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBwbGF0Zm9ybTogbmV3IExpbnV4UGxhdGZvcm0oY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5VQlVOVFVfMTRfMDRfUFlUSE9OXzNfNl81KSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAncHlwaScpLFxuICAgICAgZW50cnlwb2ludDogJ3B1Ymxpc2guc2gnLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgRk9SX1JFQUw6IGZvclJlYWwsXG4gICAgICAgIFBZUElfQ1JFREVOVElBTFNfU0VDUkVUX0lEOiBwcm9wcy5sb2dpblNlY3JldC5zZWNyZXRBcm4sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwZXJtaXNzaW9ucy5ncmFudFNlY3JldFJlYWQocHJvcHMubG9naW5TZWNyZXQsIHNoZWxsYWJsZS5yb2xlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgR28gcHVibGlzaGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoVG9Hb2xhbmdQcm9wcyB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIG9mIHRoZSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgR2l0SHViIHBlcnNvbmFsIGFjY2VzcyB0b2tlblxuICAgKiB1c2VkIHRvIHB1c2ggdGhlIGdvIGNvZGUgdG8gdGhlIGdpdGh1YiByZXBvc2l0b3J5IGRlZmluZWQgYnkgaXQncyBuYW1lLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5naXRodWIuY29tL2VuL2dpdGh1Yi9hdXRoZW50aWNhdGluZy10by1naXRodWIvY3JlYXRpbmctYS1wZXJzb25hbC1hY2Nlc3MtdG9rZW5cbiAgICovXG4gIHJlYWRvbmx5IGdpdGh1YlRva2VuU2VjcmV0OiBwZXJtaXNzaW9ucy5FeHRlcm5hbFNlY3JldDtcblxuICAvKipcbiAgICogVXNlcm5hbWUgdG8gcGVyZm9ybSB0aGUgY29tbWl0IHdpdGguXG4gICAqL1xuICByZWFkb25seSBnaXRVc2VyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWFpbCB0byBwZXJmb3JtIHRoZSBjb21taXQgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IGdpdFVzZXJFbWFpbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gXCJ0cnVlXCIgZm9yIGEgZHJ5IHJ1bi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE1vZHVsZSB2ZXJzaW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHRzIHRvIHRoZSB2YWx1ZSBpbiB0aGUgJ3ZlcnNpb24nIGZpbGUgb2YgdGhlIG1vZHVsZVxuICAgKiBkaXJlY3RvcnkuIEZhaWxzIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggdG8gcHVzaCB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJtYWluXCJcbiAgICovXG4gIHJlYWRvbmx5IGdpdEJyYW5jaD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbW1pdCBtZXNzYWdlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImNob3JlKHJlbGVhc2UpOiAkVkVSU0lPTlwiXG4gICAqL1xuICByZWFkb25seSBnaXRDb21taXRNZXNzYWdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFB1c2hlcyBhIGRpcmVjdG9yeSBvZiBnb2xhbmcgbW9kdWxlcyB0byBhIEdpdEh1YiByZXBvc2l0b3J5LlxuICovXG5leHBvcnQgY2xhc3MgUHVibGlzaFRvR29sYW5nIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9Hb2xhbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBkcnlSdW4gPSBwcm9wcy5kcnlSdW4gPz8gZmFsc2U7XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuU1RBTkRBUkRfNV8wKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnZ29sYW5nJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBEUllSVU46IGRyeVJ1biA/ICd0cnVlJyA6IHVuZGVmaW5lZCxcbiAgICAgICAgR0lUSFVCX1RPS0VOX1NFQ1JFVDogcHJvcHMuZ2l0aHViVG9rZW5TZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICBWRVJTSU9OOiBwcm9wcy52ZXJzaW9uLFxuICAgICAgICBHSVRfQlJBTkNIOiBwcm9wcy5naXRCcmFuY2gsXG4gICAgICAgIEdJVF9VU0VSX05BTUU6IHByb3BzLmdpdFVzZXJOYW1lLFxuICAgICAgICBHSVRfVVNFUl9FTUFJTDogcHJvcHMuZ2l0VXNlckVtYWlsLFxuICAgICAgICBHSVRfQ09NTUlUX01FU1NBR0U6IHByb3BzLmdpdENvbW1pdE1lc3NhZ2UsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwZXJtaXNzaW9ucy5ncmFudFNlY3JldFJlYWQocHJvcHMuZ2l0aHViVG9rZW5TZWNyZXQsIHNoZWxsYWJsZS5yb2xlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
|
|
355
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInB1Ymxpc2hpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IscUNBT2lCO0FBR2pCLDJEQUE2QztBQUc3QywyQ0FBdUQ7QUFDdkQsaUNBQXFDO0FBRXJDOztHQUVHO0FBQ0gsSUFBWSxTQVVYO0FBVkQsV0FBWSxTQUFTO0lBQ25COztPQUVHO0lBQ0gsOEJBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCxzQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBVlcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFVcEI7QUF5Q0Q7O0dBRUc7QUFDSCxNQUFhLHFCQUFzQixTQUFRLG1CQUFTO0lBSWxELFlBQVksTUFBaUIsRUFBRSxFQUFVLEVBQUUsS0FBaUM7O1FBQzFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVsRixNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUMvQyxRQUFRLEVBQUUsSUFBSSx5QkFBYSxDQUFDLE1BQUEsS0FBSyxDQUFDLFVBQVUsbUNBQUksdUJBQU0sQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM3RyxlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQztZQUM1RCxVQUFVLEVBQUUsWUFBWTtZQUN4QixXQUFXLEVBQUU7Z0JBQ1gsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtnQkFD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LElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUF1QixFQUFFLEVBQVUsRUFBRSxPQUE2QjtRQUNyRixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksa0NBQWlCLENBQUMsZUFBZSxDQUFDO1lBQ3BELFVBQVUsRUFBRSxFQUFFO1lBQ2QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhLElBQUksSUFBSSwwQkFBUyxDQUFDLFFBQVEsRUFBRTtZQUN4RCxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztDQUNGO0FBeENELDBDQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3QsIFN0YWNrLFxuICBhd3NfY29kZWJ1aWxkIGFzIGNidWlsZCxcbiAgYXdzX2NvZGVwaXBlbGluZSBhcyBjcGlwZWxpbmUsXG4gIGF3c19jb2RlcGlwZWxpbmVfYWN0aW9ucyBhcyBjcGlwZWxpbmVfYWN0aW9ucyxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19zMyBhcyBzMyxcbn0gZnJvbSAnbW9ub2Nkayc7XG5pbXBvcnQgeyBJQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZSB9IGZyb20gJy4vY29kZS1zaWduaW5nJztcbmltcG9ydCB7IE9wZW5QR1BLZXlQYWlyIH0gZnJvbSAnLi9vcGVuLXBncC1rZXktcGFpcic7XG5pbXBvcnQgKiBhcyBwZXJtaXNzaW9ucyBmcm9tICcuL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IEFkZFRvUGlwZWxpbmVPcHRpb25zLCBJUHVibGlzaGVyIH0gZnJvbSAnLi9waXBlbGluZSc7XG5pbXBvcnQgeyBXcml0YWJsZUdpdEh1YlJlcG8gfSBmcm9tICcuL3JlcG8nO1xuaW1wb3J0IHsgTGludXhQbGF0Zm9ybSwgU2hlbGxhYmxlIH0gZnJvbSAnLi9zaGVsbGFibGUnO1xuaW1wb3J0IHsgbm9VbmRlZmluZWQgfSBmcm9tICcuL3V0aWwnO1xuXG4vKipcbiAqIFR5cGUgb2YgYWNjZXNzIHBlcm1pc3Npb25zIHRvIHJlcXVlc3QgZnJvbSBucG1qcy5cbiAqL1xuZXhwb3J0IGVudW0gTnBtQWNjZXNzIHtcbiAgLyoqXG4gICAqIE5vIGFjY2VzcyByZXN0cmljdGlvbi4gTm90ZSB0aGF0IHVuc2NvcGVkIHBhY2thZ2VzIG11c3QgYWx3YXlzIGJlIHB1YmxpYy5cbiAgICovXG4gIFBVQkxJQyA9ICdwdWJsaWMnLFxuXG4gIC8qKlxuICAgKiBMaW1pdCBhY2Nlc3MgdG8gd2hpdGVsaXN0ZWQgbnBtanMgdXNlcnMuXG4gICAqL1xuICBSRVNUUklDVEVEID0gJ3Jlc3RyaWN0ZWQnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb01hdmVuUHJvamVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBzaWduaW5nIGtleSBpdHNlbGZcbiAgICovXG4gIHNpZ25pbmdLZXk6IE9wZW5QR1BLZXlQYWlyO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHNvbmF0eXBlIHN0YWdpbmcgcHJvZmlsZSAoZS5nLiBcIjY4YTA1MzYzMDgzMTc0XCIpLlxuICAgKi9cbiAgc3RhZ2luZ1Byb2ZpbGVJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIG9mIHRoZSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgTWF2ZW4gbG9naW5cbiAgICovXG4gIG1hdmVuTG9naW5TZWNyZXQ6IHBlcm1pc3Npb25zLkV4dGVybmFsU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlIChkZWZhdWx0KSBwZXJmb3JtcyBhIGRyeS1ydW4gb25seSBpbnN0ZWFkIG9mIGFjdHVhbGx5IHB1Ymxpc2hpbmcuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBNYXZlbiBwdWJsaXNoaW5nIGVuZHBvaW50IHRvIGJlIHVzZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiaHR0cHM6Ly9vc3Muc29uYXR5cGUub3JnXCJcbiAgICovXG4gIG1hdmVuRW5kcG9pbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBidWlsZCBpbWFnZSB0byBkbyB0aGUgcHVibGlzaGluZyBpblxuICAgKlxuICAgKiBOZWVkcyB0byBoYXZlIE1hdmVuIHByZWluc3RhbGxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgTGF0ZXN0IHN1cGVyY2hhaW5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkSW1hZ2U/OiBjYnVpbGQuSUJ1aWxkSW1hZ2U7XG59XG5cbi8qKlxuICogQ29kZUJ1aWxkIHByb2plY3QgdGhhdCB3aWxsIHB1Ymxpc2ggYWxsIHBhY2thZ2VzIGluIGEgcmVsZWFzZSBidW5kbGUgdG8gTWF2ZW5cbiAqL1xuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb01hdmVuUHJvamVjdCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9NYXZlblByb2plY3RQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgZm9yUmVhbCA9IHByb3BzLmRyeVJ1biA9PT0gdW5kZWZpbmVkID8gJ2ZhbHNlJyA6ICghcHJvcHMuZHJ5UnVuKS50b1N0cmluZygpO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShwcm9wcy5idWlsZEltYWdlID8/IGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KCdqc2lpL3N1cGVyY2hhaW4nKSksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ21hdmVuJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBTVEFHSU5HX1BST0ZJTEVfSUQ6IHByb3BzLnN0YWdpbmdQcm9maWxlSWQsXG4gICAgICAgIFNJR05JTkdfS0VZX0FSTjogcHJvcHMuc2lnbmluZ0tleS5jcmVkZW50aWFsLnNlY3JldEFybixcbiAgICAgICAgRk9SX1JFQUw6IGZvclJlYWwsXG4gICAgICAgIE1BVkVOX0xPR0lOX1NFQ1JFVDogcHJvcHMubWF2ZW5Mb2dpblNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIE1BVkVOX0VORFBPSU5UOiBwcm9wcy5tYXZlbkVuZHBvaW50IHx8ICdodHRwczovL29zcy5zb25hdHlwZS5vcmcnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHByb3BzLm1hdmVuTG9naW5TZWNyZXQsIHNoZWxsYWJsZS5yb2xlKTtcbiAgICAgIHByb3BzLnNpZ25pbmdLZXkuZ3JhbnRSZWFkKHNoZWxsYWJsZS5yb2xlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoVG9OcG1Qcm9qZWN0UHJvcHMge1xuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIE5QTSB0b2tlblxuICAgKi9cbiAgbnBtVG9rZW5TZWNyZXQ6IHBlcm1pc3Npb25zLkV4dGVybmFsU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgKGRlZmF1bHQpIHdpbGwgb25seSBwZXJmb3JtIGEgZHJ5LXJ1biBidXQgd2lsbCBub3QgYWN0dWFsbHkgcHVibGlzaC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZHJ5UnVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogbnBtIGRpc3QtdGFnIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgYXJ0aWZhY3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5wbSBkZWZhdWx0IGJlaGF2aW9yIChcImxhdGVzdFwiIHVubGVzcyBkaXN0IHRhZyBpcyBzcGVjaWZpZWQgaW4gcGFja2FnZS5qc29uKVxuICAgKi9cbiAgZGlzdFRhZz86IHN0cmluZztcblxuICAvKipcbiAgICogbnBtIC0tYWNjZXNzIHB1YmxpY3xyZXN0cmljdGVkXG4gICAqXG4gICAqIFNlZSBodHRwczovL2RvY3MubnBtanMuY29tL2NsaS1jb21tYW5kcy9wdWJsaXNoIzp+OnRleHQ9VGVsbHMlMjB0aGVcbiAgICpcbiAgICogVGVsbHMgdGhlIHJlZ2lzdHJ5IHdoZXRoZXIgdGhpcyBwYWNrYWdlIHNob3VsZCBiZSBwdWJsaXNoZWQgYXMgcHVibGljIG9yIHJlc3RyaWN0ZWQuXG4gICAqIE9ubHkgYXBwbGllcyB0byBzY29wZWQgcGFja2FnZXMsIHdoaWNoIGRlZmF1bHQgdG8gcmVzdHJpY3RlZC5cbiAgICogSWYgeW91IGRvbuKAmXQgaGF2ZSBhIHBhaWQgYWNjb3VudCwgeW91IG11c3QgcHVibGlzaCB3aXRoIC0tYWNjZXNzIHB1YmxpYyB0byBwdWJsaXNoIHNjb3BlZCBwYWNrYWdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgTnBtQWNjZXNzLlBVQkxJQ1xuICAgKi9cbiAgYWNjZXNzPzogTnBtQWNjZXNzO1xufVxuXG4vKipcbiAqIENvZGVCdWlsZCBwcm9qZWN0IHRoYXQgd2lsbCBwdWJsaXNoIGFsbCBwYWNrYWdlcyBpbiBhIHJlbGVhc2UgYnVuZGxlIHRvIE5QTVxuICovXG5leHBvcnQgY2xhc3MgUHVibGlzaFRvTnBtUHJvamVjdCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZT86IGlhbS5JUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaFRvTnBtUHJvamVjdFByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICBjb25zdCBmb3JSZWFsID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCBhY2Nlc3MgPSBwcm9wcy5hY2Nlc3MgPz8gTnBtQWNjZXNzLlBVQkxJQztcblxuICAgIGNvbnN0IHNoZWxsYWJsZSA9IG5ldyBTaGVsbGFibGUodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBwbGF0Zm9ybTogbmV3IExpbnV4UGxhdGZvcm0oY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5VQlVOVFVfMTRfMDRfTk9ERUpTXzEwXzFfMCksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ25wbScpLFxuICAgICAgZW50cnlwb2ludDogJ3B1Ymxpc2guc2gnLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgRk9SX1JFQUw6IGZvclJlYWwsXG4gICAgICAgIE5QTV9UT0tFTl9TRUNSRVQ6IHByb3BzLm5wbVRva2VuU2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgRElTVFRBRzogcHJvcHMuZGlzdFRhZyB8fCAnJyxcbiAgICAgICAgQUNDRVNTOiBhY2Nlc3MsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwZXJtaXNzaW9ucy5ncmFudFNlY3JldFJlYWQocHJvcHMubnBtVG9rZW5TZWNyZXQsIHNoZWxsYWJsZS5yb2xlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoVG9OdUdldFByb2plY3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgU2VjcmV0c01hbmFnZXIgc2VjcmV0IHdoaWNoIHN0b3JlcyB0aGUgTnVnZXQgQVBJIGtleS5cbiAgICovXG4gIG51Z2V0QXBpS2V5U2VjcmV0OiBwZXJtaXNzaW9ucy5FeHRlcm5hbFNlY3JldDtcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgY29kZSBzaWduaW5nIGNlcnRpZmljYXRlIHRvIHVzZSB0byBzaWduIGFzc2VtYmxpZXMuXG4gICAqIEBkZWZhdWx0IE5vIHNpZ25pbmdcbiAgICovXG4gIGNvZGVTaWduPzogSUNvZGVTaWduaW5nQ2VydGlmaWNhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBidWlsZCBpbWFnZSB0byBkbyB0aGUgcHVibGlzaGluZyBpblxuICAgKlxuICAgKiBOZWVkcyB0byBoYXZlIE51R2V0IHByZWluc3RhbGxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgTGF0ZXN0IHN1cGVyY2hhaW5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkSW1hZ2U/OiBjYnVpbGQuSUJ1aWxkSW1hZ2U7XG59XG5cbi8qKlxuICogQ29kZUJ1aWxkIHByb2plY3QgdGhhdCB3aWxsIHB1Ymxpc2ggYWxsIHBhY2thZ2VzIGluIGEgcmVsZWFzZSBidW5kbGUgdG8gTnVHZXRcbiAqL1xuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb051R2V0UHJvamVjdCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9OdUdldFByb2plY3RQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7IH07XG5cbiAgICBlbnZpcm9ubWVudC5GT1JfUkVBTCA9IHByb3BzLmRyeVJ1biA9PT0gdW5kZWZpbmVkID8gJ2ZhbHNlJyA6ICghcHJvcHMuZHJ5UnVuKS50b1N0cmluZygpO1xuXG4gICAgaWYgKHByb3BzLm51Z2V0QXBpS2V5U2VjcmV0LmFzc3VtZVJvbGVBcm4pIHtcbiAgICAgIGVudmlyb25tZW50Lk5VR0VUX1JPTEVfQVJOID0gcHJvcHMubnVnZXRBcGlLZXlTZWNyZXQuYXNzdW1lUm9sZUFybjtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMubnVnZXRBcGlLZXlTZWNyZXQucmVnaW9uKSB7XG4gICAgICBlbnZpcm9ubWVudC5OVUdFVF9TRUNSRVRfUkVHSU9OID0gcHJvcHMubnVnZXRBcGlLZXlTZWNyZXQucmVnaW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbnZpcm9ubWVudC5OVUdFVF9TRUNSRVRfUkVHSU9OID0gU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIH1cblxuICAgIGVudmlyb25tZW50Lk5VR0VUX1NFQ1JFVF9JRCA9IHByb3BzLm51Z2V0QXBpS2V5U2VjcmV0LnNlY3JldEFybjtcblxuICAgIGlmIChwcm9wcy5jb2RlU2lnbikge1xuICAgICAgZW52aXJvbm1lbnQuQ09ERV9TSUdOSU5HX1NFQ1JFVF9JRCA9IHByb3BzLmNvZGVTaWduLmNyZWRlbnRpYWwuc2VjcmV0QXJuO1xuICAgICAgZW52aXJvbm1lbnQuQ09ERV9TSUdOSU5HX1BBUkFNRVRFUl9OQU1FID0gcHJvcHMuY29kZVNpZ24ucHJpbmNpcGFsLnBhcmFtZXRlck5hbWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShwcm9wcy5idWlsZEltYWdlID8/IGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KCdqc2lpL3N1cGVyY2hhaW4nKSksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ251Z2V0JyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudCxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgaWYgKHByb3BzLm51Z2V0QXBpS2V5U2VjcmV0LmFzc3VtZVJvbGVBcm4pIHtcbiAgICAgICAgcGVybWlzc2lvbnMuZ3JhbnRBc3N1bWVSb2xlKHByb3BzLm51Z2V0QXBpS2V5U2VjcmV0LmFzc3VtZVJvbGVBcm4sIHNoZWxsYWJsZS5yb2xlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZChwcm9wcy5udWdldEFwaUtleVNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMuY29kZVNpZ24pIHtcbiAgICAgICAgcHJvcHMuY29kZVNpZ24uZ3JhbnREZWNyeXB0KHNoZWxsYWJsZS5yb2xlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoRG9jc1RvR2l0SHViUHJvamVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IHRvIHB1Ymxpc2ggdG9cbiAgICovXG4gIGdpdGh1YlJlcG86IFdyaXRhYmxlR2l0SHViUmVwbztcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWlsZCBtYW5pZmVzdCBKU09OIGZpbGUgKG11c3QgaW5jbHVkZSBcIm5hbWVcIiBhbmQgXCJ2ZXJzaW9uXCIgZmllbGRzKS5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBAZGVmYXVsdCBcIi4vYnVpbGQuanNvblwiXG4gICAqL1xuICBidWlsZE1hbmlmZXN0RmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdpdEh1YiBQYWdlcyBicmFuY2ggdG8gcHVzaCB0by5cbiAgICogQGRlZmF1bHQgZ2gtcGFnZXNcbiAgICovXG4gIGJyYW5jaD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb2RlQnVpbGQgcHJvamVjdCB0aGF0IHdpbGwgcHVibGlzaCBhbGwgcGFja2FnZXMgaW4gYSByZWxlYXNlIGJ1bmRsZSB0byBOdUdldFxuICovXG5leHBvcnQgY2xhc3MgUHVibGlzaERvY3NUb0dpdEh1YlByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJUHVibGlzaGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaERvY3NUb0dpdEh1YlByb2plY3RQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgZm9yUmVhbCA9IHByb3BzLmRyeVJ1biA9PT0gdW5kZWZpbmVkID8gJ2ZhbHNlJyA6ICghcHJvcHMuZHJ5UnVuKS50b1N0cmluZygpO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlVCVU5UVV8xNF8wNF9OT0RFSlNfMTBfMV8wKSxcbiAgICAgIHNjcmlwdERpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3B1Ymxpc2hpbmcnLCAnZG9jcycpLFxuICAgICAgZW50cnlwb2ludDogJ3B1Ymxpc2guc2gnLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgLy8gTXVzdCBiZSBTU0ggYmVjYXVzZSB3ZSB1c2UgYW4gU1NIIGtleSB0byBhdXRoZW50aWNhdGVcbiAgICAgICAgR0lUSFVCX1JFUE86IHByb3BzLmdpdGh1YlJlcG8ucmVwb3NpdG9yeVVybFNzaCxcbiAgICAgICAgR0lUSFVCX1BBR0VTX0JSQU5DSDogcHJvcHMuYnJhbmNoIHx8ICdnaC1wYWdlcycsXG4gICAgICAgIFNTSF9LRVlfU0VDUkVUOiBwcm9wcy5naXRodWJSZXBvLnNzaEtleVNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIEZPUl9SRUFMOiBmb3JSZWFsLFxuICAgICAgICBDT01NSVRfVVNFUk5BTUU6IHByb3BzLmdpdGh1YlJlcG8uY29tbWl0VXNlcm5hbWUsXG4gICAgICAgIENPTU1JVF9FTUFJTDogcHJvcHMuZ2l0aHViUmVwby5jb21taXRFbWFpbCxcbiAgICAgICAgQlVJTERfTUFOSUZFU1Q6IHByb3BzLmJ1aWxkTWFuaWZlc3RGaWxlTmFtZSB8fCAnLi9idWlsZC5qc29uJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoc2hlbGxhYmxlLnJvbGUpIHtcbiAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZChwcm9wcy5naXRodWJSZXBvLnNzaEtleVNlY3JldCwgc2hlbGxhYmxlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHNoZWxsYWJsZS5yb2xlO1xuICAgIHRoaXMucHJvamVjdCA9IHNoZWxsYWJsZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFRvUGlwZWxpbmUoc3RhZ2U6IGNwaXBlbGluZS5JU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogdm9pZCB7XG4gICAgc3RhZ2UuYWRkQWN0aW9uKG5ldyBjcGlwZWxpbmVfYWN0aW9ucy5Db2RlQnVpbGRBY3Rpb24oe1xuICAgICAgYWN0aW9uTmFtZTogaWQsXG4gICAgICBpbnB1dDogb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBjcGlwZWxpbmUuQXJ0aWZhY3QoKSxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hUb0dpdEh1YlByb3BzIHtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCAoZGVmYXVsdCkgd2lsbCBvbmx5IHBlcmZvcm0gYSBkcnktcnVuIGJ1dCB3aWxsIG5vdCBhY3R1YWxseSBwdWJsaXNoLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSByZWxlYXNlIGluLlxuICAgKi9cbiAgZ2l0aHViUmVwbzogV3JpdGFibGVHaXRIdWJSZXBvO1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmlnbiBrZXkgdG8gdXNlIHRvIGNyZWF0ZSBhIEdQRyBzaWduYXR1cmUgb2YgdGhlIGFydGlmYWN0LlxuICAgKi9cbiAgc2lnbmluZ0tleTogT3BlblBHUEtleVBhaXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWlsZCBtYW5pZmVzdCBKU09OIGZpbGUgKG11c3QgaW5jbHVkZSBcIm5hbWVcIiBhbmQgXCJ2ZXJzaW9uXCIgZmllbGRzKS5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBAZGVmYXVsdCBcIi4vYnVpbGQuanNvblwiXG4gICAqL1xuICBidWlsZE1hbmlmZXN0RmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjaGFuZ2Vsb2cgbWFya2Rvd24gZmlsZSwgdXNlZCB0byBjcmVhdGUgcmVsZWFzZSBub3Rlcy5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBAZGVmYXVsdCBcIi4vQ0hBTkdFTE9HLm1kXCJcbiAgICovXG4gIGNoYW5nZWxvZ0ZpbGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcmVsZWFzZSBub3RlcyBmaWxlLCBjb250YWluaW5nIHRoZSBjb21wbGV0ZWQgcmVsZWFzZSBub3Rlc1xuICAgKiBmb3IgdGhlIGN1cnJlbnQgcmVsZWFzZS5cbiAgICogUmVsYXRpdmUgdG8gdGhlIGFydGlmYWN0cyByb290LlxuICAgKiBOT1RFIC0gSWYgdGhpcyB2YWx1ZSBpcyBzZXQgYW5kIHBvaW50cyB0byBhIHZhbGlkIGZpbGUsIHRoZSBmaWxlIGluIGl0cyBlbnRpcmV0eVxuICAgKiB3aWxsIGJlIHJlYWQgYW5kIHVzZWQgZm9yIHRoZSByZWxlYXNlIG5vdGVzLiBUaGUgdmFsdWUgb2YgYGNoYW5nZWxvZ0ZpbGVOYW1lYCB3aWxsXG4gICAqIGJlIGlnbm9yZWQuXG4gICAqIEBkZWZhdWx0IFwiLi9SRUxFQVNFX05PVEVTLm1kXCJcbiAgICovXG4gIHJlbGVhc2VOb3Rlc0ZpbGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGlucHV0IGFydGlmYWN0cyB0byBwdWJsaXNoIGJpbmFyaWVzIGZyb20gdG8gR2l0SHViIHJlbGVhc2VcbiAgICovXG4gIGFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cz86IGNwaXBlbGluZS5BcnRpZmFjdFtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNpZ24gdGhlIGFkZGl0aW9uYWwgYXJ0aWZhY3RzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHNpZ25BZGRpdGlvbmFsQXJ0aWZhY3RzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb0dpdEh1YiBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzPzogY3BpcGVsaW5lLkFydGlmYWN0W107XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9HaXRIdWJQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgZm9yUmVhbCA9IHByb3BzLmRyeVJ1biA9PT0gdW5kZWZpbmVkID8gJ2ZhbHNlJyA6ICghcHJvcHMuZHJ5UnVuKS50b1N0cmluZygpO1xuICAgIHRoaXMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzID0gcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzO1xuXG4gICAgLy8gVGhlIHJlbGVhc2Ugbm90ZXMsIGlmIHNldCBhbmQgYSB2YWxpZCBmaWxlLCBvdmVycmlkZXMgYW55IHVzYWdlcyBvZiB0aGUgY2hhbmdlbG9nLlxuICAgIGlmIChwcm9wcy5jaGFuZ2Vsb2dGaWxlTmFtZSAmJiBwcm9wcy5yZWxlYXNlTm90ZXNGaWxlTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdib3RoIGByZWxlYXNlTm90ZXNGaWxlTmFtZWAgYW5kIGBjaGFuZ2Vsb2dGaWxlTmFtZWAgY2Fubm90IGJlIHNwZWNpZmllZDsgdXNlIG9uZSBvciB0aGUgb3RoZXInKTtcbiAgICB9XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuVUJVTlRVXzE0XzA0X05PREVKU18xMF8xXzApLFxuICAgICAgc2NyaXB0RGlyZWN0b3J5OiBwYXRoLmpvaW4oX19kaXJuYW1lLCAncHVibGlzaGluZycsICdnaXRodWInKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50OiBub1VuZGVmaW5lZCh7XG4gICAgICAgIEJVSUxEX01BTklGRVNUOiBwcm9wcy5idWlsZE1hbmlmZXN0RmlsZU5hbWUgfHwgJy4vYnVpbGQuanNvbicsXG4gICAgICAgIENIQU5HRUxPRzogcHJvcHMuY2hhbmdlbG9nRmlsZU5hbWUgfHwgJy4vQ0hBTkdFTE9HLm1kJyxcbiAgICAgICAgUkVMRUFTRV9OT1RFUzogcHJvcHMucmVsZWFzZU5vdGVzRmlsZU5hbWUgfHwgJy4vUkVMRUFTRV9OT1RFUy5tZCcsXG4gICAgICAgIFNJR05JTkdfS0VZX0FSTjogcHJvcHMuc2lnbmluZ0tleS5jcmVkZW50aWFsLnNlY3JldEFybixcbiAgICAgICAgR0lUSFVCX09XTkVSOiBwcm9wcy5naXRodWJSZXBvLm93bmVyLFxuICAgICAgICBHSVRIVUJfUkVQTzogcHJvcHMuZ2l0aHViUmVwby5yZXBvLFxuICAgICAgICBGT1JfUkVBTDogZm9yUmVhbCxcbiAgICAgICAgLy8gVHJhbnNtaXQgdGhlIG5hbWVzIG9mIHRoZSBzZWNvbmRhcnkgc291cmNlcyB0byB0aGUgc2hlbGwgc2NyaXB0IChmb3IgZWFzaWVyIGl0ZXJhdGlvbilcbiAgICAgICAgU0VDT05EQVJZX1NPVVJDRV9OQU1FUzogcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzID8gcHJvcHMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzLm1hcChhID0+IGEuYXJ0aWZhY3ROYW1lKS5qb2luKCcgJykgOiB1bmRlZmluZWQsXG4gICAgICAgIFNJR05fQURESVRJT05BTF9BUlRJRkFDVFM6IHByb3BzLmFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cyAmJiBwcm9wcy5zaWduQWRkaXRpb25hbEFydGlmYWN0cyAhPT0gZmFsc2UgPyAndHJ1ZScgOiB1bmRlZmluZWQsXG4gICAgICB9KSxcbiAgICAgIGVudmlyb25tZW50U2VjcmV0czoge1xuICAgICAgICBHSVRIVUJfVE9LRU46IHByb3BzLmdpdGh1YlJlcG8udG9rZW5TZWNyZXRBcm4sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gYWxsb3cgc2NyaXB0IHRvIHJlYWQgdGhlIHNpZ25pbmcga2V5XG4gICAgaWYgKHNoZWxsYWJsZS5yb2xlKSB7XG4gICAgICBwcm9wcy5zaWduaW5nS2V5LmdyYW50UmVhZChzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgZXh0cmFJbnB1dHM6IHRoaXMuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGlzaFRvUzNQcm9wcyB7XG4gIGJ1Y2tldDogczMuSUJ1Y2tldDtcblxuICAvKipcbiAgICogTWFrZSBmaWxlcyBwdWJsaWNseSByZWFkYWJsZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9TMyBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQdWJsaXNoZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZT86IGlhbS5JUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IGNidWlsZC5Qcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoVG9TM1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGZvclJlYWwgPSBwcm9wcy5kcnlSdW4gPT09IHVuZGVmaW5lZCA/ICdmYWxzZScgOiAoIXByb3BzLmRyeVJ1bikudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IHNoZWxsYWJsZSA9IG5ldyBTaGVsbGFibGUodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBwbGF0Zm9ybTogbmV3IExpbnV4UGxhdGZvcm0oY2J1aWxkLkxpbnV4QnVpbGRJbWFnZS5VQlVOVFVfMTRfMDRfTk9ERUpTXzhfMTFfMCksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ3MzJyksXG4gICAgICBlbnRyeXBvaW50OiAncHVibGlzaC5zaCcsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBCVUNLRVRfVVJMOiBgczM6Ly8ke3Byb3BzLmJ1Y2tldC5idWNrZXROYW1lfWAsXG4gICAgICAgIENIQU5HRUxPRzogcHJvcHMucHVibGljID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgRk9SX1JFQUw6IGZvclJlYWwsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQWxsb3cgc2NyaXB0IHRvIHdyaXRlIHRvIGJ1Y2tldFxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcHJvcHMuYnVja2V0LmdyYW50UmVhZFdyaXRlKHNoZWxsYWJsZS5yb2xlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBjcGlwZWxpbmUuSVN0YWdlLCBpZDogc3RyaW5nLCBvcHRpb25zOiBBZGRUb1BpcGVsaW5lT3B0aW9ucyk6IHZvaWQge1xuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgY3BpcGVsaW5lX2FjdGlvbnMuQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IG9wdGlvbnMuaW5wdXRBcnRpZmFjdCB8fCBuZXcgY3BpcGVsaW5lLkFydGlmYWN0KCksXG4gICAgICBydW5PcmRlcjogb3B0aW9ucy5ydW5PcmRlcixcbiAgICAgIHByb2plY3Q6IHRoaXMucHJvamVjdCxcbiAgICB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoVG9QeVBpUHJvcHMge1xuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIFB5UEkgY3JlZGVudGlhbHMgdW5kZXJcbiAgICogXCJ1c2VybmFtZVwiIGFuZCBcInBhc3N3b3JkXCIga2V5cy5cbiAgICovXG4gIGxvZ2luU2VjcmV0OiBwZXJtaXNzaW9ucy5FeHRlcm5hbFNlY3JldDtcblxuICAvKipcbiAgICogSWYgYHRydWVgIChkZWZhdWx0KSB3aWxsIG9ubHkgcGVyZm9ybSBhIGRyeS1ydW4gYnV0IHdpbGwgbm90IGFjdHVhbGx5IHB1Ymxpc2guXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRyeVJ1bj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBQdWJsaXNoVG9QeVBpIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLlByb2plY3Q7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFB1Ymxpc2hUb1B5UGlQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBmb3JSZWFsID0gcHJvcHMuZHJ5UnVuID09PSB1bmRlZmluZWQgPyAnZmFsc2UnIDogKCFwcm9wcy5kcnlSdW4pLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCBzaGVsbGFibGUgPSBuZXcgU2hlbGxhYmxlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgcGxhdGZvcm06IG5ldyBMaW51eFBsYXRmb3JtKGNidWlsZC5MaW51eEJ1aWxkSW1hZ2UuVUJVTlRVXzE0XzA0X1BZVEhPTl8zXzZfNSksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ3B5cGknKSxcbiAgICAgIGVudHJ5cG9pbnQ6ICdwdWJsaXNoLnNoJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIEZPUl9SRUFMOiBmb3JSZWFsLFxuICAgICAgICBQWVBJX0NSRURFTlRJQUxTX1NFQ1JFVF9JRDogcHJvcHMubG9naW5TZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHByb3BzLmxvZ2luU2VjcmV0LCBzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59XG5cbi8qKlxuICogUHJvcHMgZm9yIEdvIHB1Ymxpc2hpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGlzaFRvR29sYW5nUHJvcHMge1xuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIEdpdEh1YiBwZXJzb25hbCBhY2Nlc3MgdG9rZW5cbiAgICogdXNlZCB0byBwdXNoIHRoZSBnbyBjb2RlIHRvIHRoZSBnaXRodWIgcmVwb3NpdG9yeSBkZWZpbmVkIGJ5IGl0J3MgbmFtZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuZ2l0aHViLmNvbS9lbi9naXRodWIvYXV0aGVudGljYXRpbmctdG8tZ2l0aHViL2NyZWF0aW5nLWEtcGVyc29uYWwtYWNjZXNzLXRva2VuXG4gICAqL1xuICByZWFkb25seSBnaXRodWJUb2tlblNlY3JldDogcGVybWlzc2lvbnMuRXh0ZXJuYWxTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIFVzZXJuYW1lIHRvIHBlcmZvcm0gdGhlIGNvbW1pdCB3aXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0VXNlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRW1haWwgdG8gcGVyZm9ybSB0aGUgY29tbWl0IHdpdGguXG4gICAqL1xuICByZWFkb25seSBnaXRVc2VyRW1haWw6IHN0cmluZztcblxuICAvKipcbiAgICogU2V0IHRvIFwidHJ1ZVwiIGZvciBhIGRyeSBydW4uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNb2R1bGUgdmVyc2lvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0cyB0byB0aGUgdmFsdWUgaW4gdGhlICd2ZXJzaW9uJyBmaWxlIG9mIHRoZSBtb2R1bGVcbiAgICogZGlyZWN0b3J5LiBGYWlscyBpZiBpdCBkb2Vzbid0IGV4aXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQnJhbmNoIHRvIHB1c2ggdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwibWFpblwiXG4gICAqL1xuICByZWFkb25seSBnaXRCcmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21taXQgbWVzc2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJjaG9yZShyZWxlYXNlKTogJFZFUlNJT05cIlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0Q29tbWl0TWVzc2FnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQdXNoZXMgYSBkaXJlY3Rvcnkgb2YgZ29sYW5nIG1vZHVsZXMgdG8gYSBHaXRIdWIgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIFB1Ymxpc2hUb0dvbGFuZyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuUHJvamVjdDtcbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGlzaFRvR29sYW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZHJ5UnVuID0gcHJvcHMuZHJ5UnVuID8/IGZhbHNlO1xuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShjYnVpbGQuTGludXhCdWlsZEltYWdlLlNUQU5EQVJEXzVfMCksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdwdWJsaXNoaW5nJywgJ2dvbGFuZycpLFxuICAgICAgZW50cnlwb2ludDogJ3B1Ymxpc2guc2gnLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgRFJZUlVOOiBkcnlSdW4gPyAndHJ1ZScgOiB1bmRlZmluZWQsXG4gICAgICAgIEdJVEhVQl9UT0tFTl9TRUNSRVQ6IHByb3BzLmdpdGh1YlRva2VuU2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgVkVSU0lPTjogcHJvcHMudmVyc2lvbixcbiAgICAgICAgR0lUX0JSQU5DSDogcHJvcHMuZ2l0QnJhbmNoLFxuICAgICAgICBHSVRfVVNFUl9OQU1FOiBwcm9wcy5naXRVc2VyTmFtZSxcbiAgICAgICAgR0lUX1VTRVJfRU1BSUw6IHByb3BzLmdpdFVzZXJFbWFpbCxcbiAgICAgICAgR0lUX0NPTU1JVF9NRVNTQUdFOiBwcm9wcy5naXRDb21taXRNZXNzYWdlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChzaGVsbGFibGUucm9sZSkge1xuICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHByb3BzLmdpdGh1YlRva2VuU2VjcmV0LCBzaGVsbGFibGUucm9sZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gc2hlbGxhYmxlLnJvbGU7XG4gICAgdGhpcy5wcm9qZWN0ID0gc2hlbGxhYmxlLnByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QaXBlbGluZShzdGFnZTogY3BpcGVsaW5lLklTdGFnZSwgaWQ6IHN0cmluZywgb3B0aW9uczogQWRkVG9QaXBlbGluZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdGFnZS5hZGRBY3Rpb24obmV3IGNwaXBlbGluZV9hY3Rpb25zLkNvZGVCdWlsZEFjdGlvbih7XG4gICAgICBhY3Rpb25OYW1lOiBpZCxcbiAgICAgIGlucHV0OiBvcHRpb25zLmlucHV0QXJ0aWZhY3QgfHwgbmV3IGNwaXBlbGluZS5BcnRpZmFjdCgpLFxuICAgICAgcnVuT3JkZXI6IG9wdGlvbnMucnVuT3JkZXIsXG4gICAgICBwcm9qZWN0OiB0aGlzLnByb2plY3QsXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
|
package/lib/pull-request/bump.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -52,4 +56,4 @@ class AutoBump extends cdk.Construct {
|
|
|
52
56
|
}
|
|
53
57
|
}
|
|
54
58
|
exports.AutoBump = AutoBump;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJ1bXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBK0I7QUFFL0IsNkJBQStEO0FBb0YvRCxNQUFhLFFBQVMsU0FBUSxHQUFHLENBQUMsU0FBUztJQU96QyxZQUFZLE1BQXFCLEVBQUUsRUFBVSxFQUFFLEtBQW9COztRQUNqRSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sVUFBVSxHQUFHLE1BQUEsTUFBQSxLQUFLLENBQUMsSUFBSSwwQ0FBRSxJQUFJLG1DQUFJLGVBQWUsQ0FBQztRQUN2RCxNQUFNLFVBQVUsR0FBRyxNQUFBLE1BQUEsS0FBSyxDQUFDLElBQUksMENBQUUsSUFBSSxtQ0FBSSxRQUFRLENBQUM7UUFDaEQsTUFBTSxXQUFXLEdBQUcsTUFBQSxLQUFLLENBQUMsV0FBVyxtQ0FBSSxtQkFBbUIsQ0FBQztRQUM3RCxNQUFNLGNBQWMsR0FBRyxNQUFBLEtBQUssQ0FBQyxjQUFjLG1DQUFJLGNBQWMsQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxNQUFBLEtBQUssQ0FBQyxLQUFLLG1DQUFJLDBCQUEwQixDQUFDO1FBQ3hELE1BQU0sSUFBSSxHQUFHLE1BQUEsS0FBSyxDQUFDLElBQUksbUNBQUksc0NBQXNDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLFVBQVUsZ0JBQWdCLENBQUM7UUFFeEksSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLG9CQUFlLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ3JELEdBQUcsS0FBSztZQUNSLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsTUFBTSxFQUFFLE1BQUEsS0FBSyxDQUFDLElBQUksMENBQUUsTUFBTTthQUMzQjtZQUNELEtBQUs7WUFDTCxJQUFJO1lBQ0osUUFBUSxFQUFFLENBQUMsV0FBVyxDQUFDO1lBQ3ZCLE9BQU8sRUFBRTtnQkFDUCxHQUFHLEtBQUssQ0FBQyxPQUFPO2dCQUNoQixPQUFPLEVBQUUsY0FBYzthQUN4QjtZQUNELG9DQUFvQztZQUNwQyxTQUFTLEVBQUUsOEJBQThCLFVBQVUsRUFBRTtZQUNyRCxrQkFBa0IsRUFBRSxNQUFBLEtBQUssQ0FBQyxrQkFBa0IsbUNBQUksV0FBVyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxVQUFVLEVBQUU7U0FDdkgsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbkNELDRCQW1DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdtb25vY2RrJztcbmltcG9ydCB7IFdyaXRhYmxlR2l0SHViUmVwbyB9IGZyb20gJy4uL3JlcG8nO1xuaW1wb3J0IHsgQXV0b1B1bGxSZXF1ZXN0LCBBdXRvUHVsbFJlcXVlc3RPcHRpb25zIH0gZnJvbSAnLi9wcic7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY29uZmlndXJpbmcgdGhlIGhlYWQgYnJhbmNoIG9mIHRoZSBidW1wIFBSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9CdW1wSGVhZCB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGJyYW5jaC4gV2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gICAqXG4gICAqICRWRVJTSU9OIHdpbGwgYmUgc3Vic3RpdHV0ZWQgYnkgdGhlIGN1cnJlbnQgdmVyc2lvbiAob2J0YWluZWQgYnkgZXhlY3V0aW5nIGB2ZXJzaW9uQ29tbWFuZGApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnYnVtcC8kVkVSU0lPTidcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBzZWUgJ3NvdXJjZScgcHJvcGVydHkgaW4gQXV0b1B1bGxSZXF1ZXN0LkhlYWRcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBhbiBBdXRvIEJ1bXAgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvQnVtcFByb3BzIGV4dGVuZHMgQXV0b1B1bGxSZXF1ZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBQUiBpbi5cbiAgICovXG4gIHJlcG86IFdyaXRhYmxlR2l0SHViUmVwbztcblxuICAvKipcbiAgICogVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZSBpbiBvcmRlciB0byBidW1wIHRoZSByZXBvLlxuICAgKlxuICAgKiBUaGUgYnVtcCBjb21tYW5kIGlzIHJlc3BvbnNpYmxlIHRvIGJ1bXAgYW55IHZlcnNpb24gbWV0YWRhdGEsIHVwZGF0ZVxuICAgKiBDSEFOR0VMT0cgYW5kIGNvbW1pdCB0aGlzIHRvIHRoZSByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnL2Jpbi9iYXNoIC4vYnVtcC5zaCdcbiAgICovXG4gIGJ1bXBDb21tYW5kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29tbWFuZCB0byBkZXRlcm1pbmUgdGhlIGN1cnJlbnQgdmVyc2lvbi5cbiAgICpcbiAgICogVGhpcyBpcyB0aGUgdmFsdWUgdGhhdCB3aWxsIGJlIHVzZWQgdG8gZXZhbHVhdGUgJFZFUlNJT04uXG4gICAqXG4gICAqIEBkZWZhdWx0ICdnaXQgZGVzY3JpYmUnICh0aGUgbGF0ZXN0IGdpdCB0YWcgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgY3VycmVudCB2ZXJzaW9uKVxuICAgKi9cbiAgdmVyc2lvbkNvbW1hbmQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRpdGxlIG9mIHRoZSBQUi5cbiAgICpcbiAgICogJFZFUlNJT04gd2lsbCBiZSBzdWJzdGl0dXRlZCBieSB0aGUgY3VycmVudCB2ZXJzaW9uIChvYnRhaW5lZCBieSBleGVjdXRpbmcgYHZlcnNpb25Db21tYW5kYCkuXG4gICAqXG4gICAqIEBkZWZhdWx0JyBjaG9yZShyZWxlYXNlKTogJFZFUlNJT04nXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQm9keSBvZiB0aGUgUFIuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdTZWUgW0NIQU5HRUxPR10oaHR0cHM6Ly9naXRodWIuY29tLyR7cHJvcHMucmVwby5vd25lcn0vJHtwcm9wcy5yZXBvLnJlcG99L2Jsb2IvJHtoZWFkfS9DSEFOR0VMT0cubWQpJ1xuICAgKiAoTGluayB0byB0aGUgQ0hBTkdFTE9HIGZpbGUgb2YgdGhlIGhlYWQgYnJhbmNoKVxuICAgKi9cbiAgYm9keT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGhlYWQgYnJhbmNoIG9mIHRoZSBQUi5cbiAgICpcbiAgICogJFZFUlNJT04gd2lsbCBiZSBzdWJzdGl0dXRlZCBieSB0aGUgY3VycmVudCB2ZXJzaW9uIChvYnRhaW5lZCBieSBleGVjdXRpbmcgYHZlcnNpb25Db21tYW5kYCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gV2lsIGJlIGNyZWF0ZWQgZnJvbSBtYXN0ZXIgYW5kIG5hbWVkICdidW1wLyRWRVJTSU9OJ1xuICAgKi9cbiAgaGVhZD86IEF1dG9CdW1wSGVhZDtcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gc3RyaW5nIGZvciB0aGUgQ29kZUJ1aWxkIHByb2plY3RcbiAgICpcbiAgICogQGRlZmF1bHQgLSBBIGRlZmF1bHQgZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3REZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEF1dG9CdW1wIGV4dGVuZHMgY2RrLkNvbnN0cnVjdCB7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmRlcmx5aW5nIEF1dG9QdWxsUmVxdWVzdCBjb25zdHJ1Y3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHI6IEF1dG9QdWxsUmVxdWVzdDtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGNkay5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBdXRvQnVtcFByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICBjb25zdCBicmFuY2hOYW1lID0gcHJvcHMuaGVhZD8ubmFtZSA/PyAnYnVtcC8kVkVSU0lPTic7XG4gICAgY29uc3QgYmFzZUJyYW5jaCA9IHByb3BzLmJhc2U/Lm5hbWUgPz8gJ21hc3Rlcic7XG4gICAgY29uc3QgYnVtcENvbW1hbmQgPSBwcm9wcy5idW1wQ29tbWFuZCA/PyAnL2Jpbi9zaCAuL2J1bXAuc2gnO1xuICAgIGNvbnN0IHZlcnNpb25Db21tYW5kID0gcHJvcHMudmVyc2lvbkNvbW1hbmQgPz8gJ2dpdCBkZXNjcmliZSc7XG4gICAgY29uc3QgdGl0bGUgPSBwcm9wcy50aXRsZSA/PyAnY2hvcmUocmVsZWFzZSk6ICRWRVJTSU9OJztcbiAgICBjb25zdCBib2R5ID0gcHJvcHMuYm9keSA/PyBgU2VlIFtDSEFOR0VMT0ddKGh0dHBzOi8vZ2l0aHViLmNvbS8ke3Byb3BzLnJlcG8ub3duZXJ9LyR7cHJvcHMucmVwby5yZXBvfS9ibG9iLyR7YnJhbmNoTmFtZX0vQ0hBTkdFTE9HLm1kKWA7XG5cbiAgICB0aGlzLnByID0gbmV3IEF1dG9QdWxsUmVxdWVzdCh0aGlzLCAnQXV0b1B1bGxSZXF1ZXN0Jywge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBoZWFkOiB7XG4gICAgICAgIG5hbWU6IGJyYW5jaE5hbWUsXG4gICAgICAgIHNvdXJjZTogcHJvcHMuaGVhZD8uc291cmNlLFxuICAgICAgfSxcbiAgICAgIHRpdGxlLFxuICAgICAgYm9keSxcbiAgICAgIGNvbW1hbmRzOiBbYnVtcENvbW1hbmRdLFxuICAgICAgZXhwb3J0czoge1xuICAgICAgICAuLi5wcm9wcy5leHBvcnRzLFxuICAgICAgICBWRVJTSU9OOiB2ZXJzaW9uQ29tbWFuZCxcbiAgICAgIH0sXG4gICAgICAvLyBjaGVjayBpZiBiYXNlIGlzIGFscmVhZHkgcmVsZWFzZWRcbiAgICAgIGNvbmRpdGlvbjogYGdpdCBkZXNjcmliZSAtLWV4YWN0LW1hdGNoICR7YmFzZUJyYW5jaH1gLFxuICAgICAgcHJvamVjdERlc2NyaXB0aW9uOiBwcm9wcy5wcm9qZWN0RGVzY3JpcHRpb24gPz8gYFJlbGVhc2UgJHtwcm9wcy5yZXBvLm93bmVyfS8ke3Byb3BzLnJlcG8ucmVwb30sIGJyYW5jaCAke2Jhc2VCcmFuY2h9YCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -13,4 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
17
|
__exportStar(require("./bump"), exports);
|
|
14
18
|
__exportStar(require("./merge-back"), exports);
|
|
15
19
|
__exportStar(require("./pr"), exports);
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXVCO0FBQ3ZCLCtDQUE2QjtBQUM3Qix1Q0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J1bXAnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXJnZS1iYWNrJztcbmV4cG9ydCAqIGZyb20gJy4vcHInO1xuIl19
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -46,4 +50,4 @@ class AutoMergeBack extends cdk.Construct {
|
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
52
|
exports.AutoMergeBack = AutoMergeBack;
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtYmFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1lcmdlLWJhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBK0I7QUFFL0IseUNBQTJCO0FBbUczQixNQUFhLGFBQWMsU0FBUSxHQUFHLENBQUMsU0FBUztJQU85QyxZQUFZLE1BQXFCLEVBQUUsRUFBVSxFQUFFLEtBQXlCOztRQUN0RSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sY0FBYyxHQUFHLE1BQUEsS0FBSyxDQUFDLGNBQWMsbUNBQUksY0FBYyxDQUFDO1FBQzlELE1BQU0sUUFBUSxHQUFHLE1BQUEsTUFBQSxLQUFLLENBQUMsSUFBSSwwQ0FBRSxJQUFJLG1DQUFJLHFCQUFxQixDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLE1BQUEsS0FBSyxDQUFDLEtBQUssbUNBQUksNkJBQTZCLENBQUM7UUFDM0QsTUFBTSxJQUFJLEdBQUcsTUFBQSxLQUFLLENBQUMsSUFBSSxtQ0FBSSxzQ0FBc0MsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsUUFBUSxnQkFBZ0IsQ0FBQztRQUV0SSxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3RELEdBQUcsS0FBSztZQUNSLElBQUk7WUFDSixLQUFLO1lBQ0wsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxRQUFRO2dCQUNkLE1BQU0sRUFBRSxNQUFBLEtBQUssQ0FBQyxJQUFJLDBDQUFFLE1BQU07YUFDM0I7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxLQUFLLENBQUMsT0FBTztnQkFDaEIsT0FBTyxFQUFFLGNBQWM7YUFDeEI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE3QkQsc0NBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ21vbm9jZGsnO1xuaW1wb3J0IHsgV3JpdGFibGVHaXRIdWJSZXBvIH0gZnJvbSAnLi4vcmVwbyc7XG5pbXBvcnQgKiBhcyBwciBmcm9tICcuL3ByJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjb25maWd1cmluZyB0aGUgaGVhZCBicmFuY2ggb2YgdGhlIGJ1bXAgUFIuXG4gKiAoVGhlIGJyYW5jaCB0aGUgUFIgd2lsbCBiZSBtZXJnZWQgZnJvbSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvTWVyZ2VCYWNrSGVhZCB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGJyYW5jaC4gV2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gICAqICRWRVJTSU9OIHdpbGwgYmUgc3Vic3RpdHV0ZWQgYnkgdGhlIGN1cnJlbnQgdmVyc2lvbiAob2J0YWluZWQgYnkgZXhlY3V0aW5nIGB2ZXJzaW9uQ29tbWFuZGApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnbWVyZ2UtYmFjay8kVkVSU0lPTidcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBzZWUgJ3NvdXJjZScgcHJvcGVydHkgaW4gQXV0b1B1bGxSZXF1ZXN0LkhlYWRcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXJnZUJhY2tTdGFnZSB7XG5cbiAgLyoqXG4gICAqIFdoaWNoIHN0YWdlIHNob3VsZCB0aGUgbWVyZ2UgYmFjayBiZSBwYXJ0IG9mLiAoQ3JlYXRlZCBpZiBtaXNzaW5nKVxuICAgKlxuICAgKiBAZGVmYXVsdCAnTWVyZ2VCYWNrJ1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0YWdlIHRoYXQgdGhlIG1lcmdlIGJhY2sgc3RhZ2Ugc2hvdWxkIGdvIGFmdGVyIG9mLiAoTXVzdCBleGlzdClcbiAgICovXG4gIHJlYWRvbmx5IGFmdGVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b01lcmdlQmFja09wdGlvbnMgZXh0ZW5kcyBwci5BdXRvUHVsbFJlcXVlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgY3VycmVudCB2ZXJzaW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnZ2l0IGRlc2NyaWJlJ1xuICAgKi9cbiAgdmVyc2lvbkNvbW1hbmQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRpdGxlIG9mIHRoZSBQUi5cbiAgICpcbiAgICogJFZFUlNJT04gd2lsbCBiZSBzdWJzdGl0dXRlZCBieSB0aGUgY3VycmVudCB2ZXJzaW9uIChvYnRhaW5lZCBieSBleGVjdXRpbmcgYHZlcnNpb25Db21tYW5kYCkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdjaG9yZShyZWxlYXNlKTogbWVyZ2UgYmFjayAkVkVSU0lPTidcbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCb2R5IG9mIHRoZSBQUi5cbiAgICpcbiAgICogQGRlZmF1bHQgJ1NlZSBbQ0hBTkdFTE9HXShodHRwczovL2dpdGh1Yi5jb20vJHtwcm9wcy5yZXBvLm93bmVyfS8ke3Byb3BzLnJlcG8ucmVwb30vYmxvYi8ke2hlYWR9L0NIQU5HRUxPRy5tZCknXG4gICAqIChMaW5rIHRvIHRoZSBDSEFOR0VMT0cgZmlsZSBvZiB0aGUgaGVhZCBicmFuY2gpXG4gICAqL1xuICBib2R5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIZWFkIGJyYW5jaCBvZiB0aGUgUFIuXG4gICAqXG4gICAqICRWRVJTSU9OIHdpbGwgYmUgc3Vic3RpdHV0ZWQgYnkgdGhlIGN1cnJlbnQgdmVyc2lvbiAob2J0YWluZWQgYnkgZXhlY3V0aW5nIGB2ZXJzaW9uQ29tbWFuZGApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFdpbGwgYmUgY3JlYXRlZCBmcm9tIHJlbGVhc2UgYW5kIG5hbWVkICdtZXJnZS1iYWNrLyRWRVJTSU9OJ1xuICAgKi9cbiAgaGVhZD86IEF1dG9NZXJnZUJhY2tIZWFkO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhpdCBjb2RlIG9mIHRoaXMgY29tbWFuZCBkZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRvIHByb2NlZWQgd2l0aCB0aGVcbiAgICogUFIgY3JlYXRpb24uIElmIGNvbmZpZ3VyZWQsIHRoaXMgY29tbWFuZCBpcyB0aGUgZmlyc3Qgb25lIHRvIHJ1biwgYW5kIGlmIGl0IGZhaWxzLCBhbGxcbiAgICogb3RoZXIgY29tbWFuZHMgd2lsbCBiZSBza2lwcGVkLlxuICAgKlxuICAgKiBUaGlzIGNvbW1hbmQgaXMgdGhlIGZpcnN0IHRvIGV4ZWN1dGUsIGFuZCBzaG91bGQgbm90IGFzc3VtZSBhbnkgcHJlLWV4aXN0aW5nIHN0YXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbmRpdGlvblxuICAgKi9cbiAgY29uZGl0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9NZXJnZUJhY2tQaXBlbGluZU9wdGlvbnMgZXh0ZW5kcyBBdXRvTWVyZ2VCYWNrT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IHN0YWdlIG9wdGlvbnMgdG8gY3JlYXRlIHRoZSBtZXJnZSBiYWNrIGluc2lkZSBhIHN0YWdlIG9mIHRoZSBwaXBlbGluZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgQ29kZUJ1aWxkIHByb2plY3Qgd2lsbCBiZSBjcmVhdGVkIGluZGVwZGVudCBvZiBhbnkgc3RhZ2UuXG4gICAqL1xuICByZWFkb25seSBzdGFnZT86IE1lcmdlQmFja1N0YWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9NZXJnZUJhY2tQcm9wcyBleHRlbmRzIEF1dG9NZXJnZUJhY2tPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IHRvIGJ1bXAuXG4gICAqL1xuICByZXBvOiBXcml0YWJsZUdpdEh1YlJlcG87XG59XG5cbmV4cG9ydCBjbGFzcyBBdXRvTWVyZ2VCYWNrIGV4dGVuZHMgY2RrLkNvbnN0cnVjdCB7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmRlcmx5aW5nIEF1dG9QdWxsUmVxdWVzdCBjb25zdHJ1Y3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHI6IHByLkF1dG9QdWxsUmVxdWVzdDtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGNkay5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBdXRvTWVyZ2VCYWNrUHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIGNvbnN0IHZlcnNpb25Db21tYW5kID0gcHJvcHMudmVyc2lvbkNvbW1hbmQgPz8gJ2dpdCBkZXNjcmliZSc7XG4gICAgY29uc3QgaGVhZE5hbWUgPSBwcm9wcy5oZWFkPy5uYW1lID8/ICdtZXJnZS1iYWNrLyRWRVJTSU9OJztcbiAgICBjb25zdCB0aXRsZSA9IHByb3BzLnRpdGxlID8/ICdjaG9yZShtZXJnZS1iYWNrKTogJFZFUlNJT04nO1xuICAgIGNvbnN0IGJvZHkgPSBwcm9wcy5ib2R5ID8/IGBTZWUgW0NIQU5HRUxPR10oaHR0cHM6Ly9naXRodWIuY29tLyR7cHJvcHMucmVwby5vd25lcn0vJHtwcm9wcy5yZXBvLnJlcG99L2Jsb2IvJHtoZWFkTmFtZX0vQ0hBTkdFTE9HLm1kKWA7XG5cbiAgICB0aGlzLnByID0gbmV3IHByLkF1dG9QdWxsUmVxdWVzdCh0aGlzLCAnQXV0b01lcmdlQmFjaycsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgYm9keSxcbiAgICAgIHRpdGxlLFxuICAgICAgaGVhZDoge1xuICAgICAgICBuYW1lOiBoZWFkTmFtZSxcbiAgICAgICAgc291cmNlOiBwcm9wcy5oZWFkPy5zb3VyY2UsXG4gICAgICB9LFxuICAgICAgZXhwb3J0czoge1xuICAgICAgICAuLi5wcm9wcy5leHBvcnRzLFxuICAgICAgICBWRVJTSU9OOiB2ZXJzaW9uQ29tbWFuZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/pull-request/pr.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -220,4 +224,4 @@ class AutoPullRequest extends monocdk_1.Construct {
|
|
|
220
224
|
}
|
|
221
225
|
}
|
|
222
226
|
exports.AutoPullRequest = AutoPullRequest;
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBTWlCO0FBQ2pCLDRDQUE2RTtBQUM3RSw0REFBOEM7QUEyTDlDOztHQUVHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLG1CQUFTO0lBa0I1QyxZQUFZLE1BQWlCLEVBQUUsRUFBVSxFQUFFLEtBQTJCOztRQUNwRSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxNQUFBLEtBQUssQ0FBQyxJQUFJLDBDQUFFLElBQUksbUNBQUksUUFBUSxDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sbUNBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN2RCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQUEsS0FBSyxDQUFDLE9BQU8sbUNBQUksRUFBRSxDQUFDO1FBRW5DLEtBQUssTUFBTSxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUNoRixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLENBQUMsVUFBVSxxQ0FBcUMsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUMzRjtTQUNGO1FBRUQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDN0MsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFX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QUUsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3ZHO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFFbEIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxHQUFXLEVBQUUsT0FBZSxFQUFFLE9BQVk7UUFDM0QsT0FBTztZQUNMLGFBQWE7WUFDYixPQUFPO1lBQ1AsK0NBQStDO1lBQy9DLDJDQUEyQztZQUMzQyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO1lBQy9DLGdDQUFnQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRTtTQUN0RixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFTyxhQUFhLENBQUMsR0FBVyxFQUFFLE9BQWU7UUFDaEQsT0FBTztZQUNMLGFBQWE7WUFDYixPQUFPO1lBQ1AsK0NBQStDO1lBQy9DLDJDQUEyQztZQUMzQywwQkFBMEIsR0FBRyxHQUFHO1NBQ2pDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQztDQUVGO0FBNVFELDBDQTRRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnN0cnVjdCwgRHVyYXRpb24sXG4gIGF3c19jbG91ZHdhdGNoIGFzIGNsb3Vkd2F0Y2gsXG4gIGF3c19jb2RlYnVpbGQgYXMgY2J1aWxkLFxuICBhd3NfZXZlbnRzIGFzIGV2ZW50cyxcbiAgYXdzX2V2ZW50c190YXJnZXRzIGFzIGV2ZW50c190YXJnZXRzLFxufSBmcm9tICdtb25vY2RrJztcbmltcG9ydCB7IEJ1aWxkRW52aXJvbm1lbnRQcm9wcywgY3JlYXRlQnVpbGRFbnZpcm9ubWVudCB9IGZyb20gJy4uL2J1aWxkLWVudic7XG5pbXBvcnQgKiBhcyBwZXJtaXNzaW9ucyBmcm9tICcuLi9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBXcml0YWJsZUdpdEh1YlJlcG8gfSBmcm9tICcuLi9yZXBvJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIFB1bGwgUmVxdWVzdCBKb2IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b1B1bGxSZXF1ZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYmFzZSBicmFuY2ggb2YgdGhlIFBSLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnbWFzdGVyJ1xuICAgKi9cbiAgYmFzZT86IEJhc2U7XG5cbiAgLyoqXG4gICAqIFRydWUgaWYgeW91IG9ubHkgd2FudCB0byBwdXNoIHRoZSBoZWFkIGJyYW5jaCB3aXRob3V0IGNyZWF0aW5nIGEgUFIuXG4gICAqIFVzZWZ1bCB3aGVuIHVzZWQgYWxvbmcgd2l0aCAnY29tbWl0cycgdG8gZXhlY3V0ZSBhIGNvbW1pdC1hbmQtcHVzaCBhdXRvbWF0aWNhbGx5LlxuICAgKlxuICAgKiAvLyBUT0RPOiBDb25zaWRlciBtb3ZpbmcgdGhpcyBmdW5jdGlvbmFsaXR5IHRvIGEgc2VwYXJhdGUgY29uc3RydWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVzaE9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaXRsZSBvZiB0aGUgUFIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBNZXJnZSAke2hlYWR9IHRvICR7YmFzZX1gXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQm9keSB0aGUgUFIuIE5vdGUgdGhhdCB0aGUgYm9keSBpcyB1cGRhdGVkIHBvc3QgUFIgY3JlYXRpb24sXG4gICAqIHRoaXMgbWVhbnMgeW91IGNhbiB1c2UgdGhlICRQUl9OVU1CRVIgZW52IHZhcmlhYmxlIHRvIHJlZmVyIHRvIHRoZSBQUiBpdHNlbGYuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYm9keS5cbiAgICovXG4gIGJvZHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExhYmVscyBhcHBsaWVkIHRvIHRoZSBQUi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBsYWJlbHMuXG4gICAqL1xuICBsYWJlbHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQnVpbGQgZW52aXJvbm1lbnQgZm9yIHRoZSBDb2RlQnVpbGQgam9iLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGJ1aWxkPzogQnVpbGRFbnZpcm9ubWVudFByb3BzO1xuXG4gIC8qKlxuICAgKiBHaXQgY2xvbmUgZGVwdGguXG4gICAqXG4gICAqIEBkZWZhdWx0IDAgKGNsb25lcyB0aGUgZW50aXJlIHJlcG9zaXRvcnkgcmV2aXNpb25zKVxuICAgKi9cbiAgY2xvbmVEZXB0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogS2V5IHZhbHVlIHBhaXJzIG9mIHZhcmlhYmxlcyB0byBleHBvcnQuIFRoZXNlIHZhcmlhYmxlcyB3aWxsIGJlIGF2YWlsYWJsZSBmb3IgZHluYW1pYyBldmFsdWF0aW9uIGluIGFueVxuICAgKiBzdWJzZXF1ZW50IGNvbW1hbmQuXG4gICAqXG4gICAqIEtleSAtIFZhcmlhYmxlIG5hbWUgKGUuZyBWRVJTSU9OKVxuICAgKiBWYWx1ZSAtIENvbW1hbmQgdGhhdCBldmFsdWF0ZXMgdG8gdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSAoZS5nICdnaXQgZGVzY3JpYmUnKVxuICAgKlxuICAgKiBFeGFtcGxlOlxuICAgKlxuICAgKiBDb25maWd1cmUgYW4gZXhwb3J0IGluIHRoZSBmb3JtIG9mOlxuICAgKlxuICAgKiB7ICdWRVJTSU9OJzogJ2dpdCBkZXNjcmliZScgfVxuICAgKlxuICAgKiBVc2UgdGhlICRWRVJTSU9OIHZhcmlhYmxlIGluIHRoZSBQUiB0aXRsZTogJ2Nob3JlKHJlbGVhc2UpOiAkVkVSU0lPTidcbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZXNlIGV4cG9ydHMgYXJlIGV4ZWN1dGVkIGFmdGVyIHRoZSBgY29tbWFuZHNgIGV4ZWN1dGlvbixcbiAgICogc28gdGhleSBoYXZlIGFjY2VzcyB0byB0aGUgYXJ0aWZhY3RzIHNhaWQgY29tbWFuZHMgcHJvZHVjZSAoZS5nIHZlcnNpb24gYnVtcCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZXhwb3J0c1xuICAgKi9cbiAgZXhwb3J0cz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlZHVsZSB0byBwcm9kdWNlIGFuIGF1dG9tYXRpYyBQUi5cbiAgICpcbiAgICogVGhlIGV4cHJlc3Npb24gY2FuIGJlIG9uZSBvZjpcbiAgICpcbiAgICogIC0gY3JvbiBleHByZXNzaW9uLCBzdWNoIGFzIFwiY3JvbigwIDEyICogKiA/ICopXCIgd2lsbCB0cmlnZ2VyIGV2ZXJ5IGRheSBhdCAxMnBtIFVUQ1xuICAgKiAgLSByYXRlIGV4cHJlc3Npb24sIHN1Y2ggYXMgXCJyYXRlKDEgZGF5KVwiIHdpbGwgdHJpZ2dlciBldmVyeSAyNCBob3VycyBmcm9tIHRoZSB0aW1lIG9mIGRlcGxveW1lbnRcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvZXZlbnRzL1NjaGVkdWxlZEV2ZW50cy5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc2NoZWR1bGUsIHNob3VsZCBiZSB0cmlnZ2VyZWQgbWFudWFsbHkuXG4gICAqL1xuICBzY2hlZHVsZUV4cHJlc3Npb24/OiBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRvUHVsbFJlcXVlc3RQcm9wcyBleHRlbmRzIEF1dG9QdWxsUmVxdWVzdE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgUFIgaW4uXG4gICAqL1xuICByZXBvOiBXcml0YWJsZUdpdEh1YlJlcG87XG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIGNvbW1hbmRzIHRvIHJ1biBhZ2FpbnN0IHRoZSBoZWFkIGJyYW5jaC5cbiAgICogVXNlZnVsIGZvciB0aGluZ3MgbGlrZSB2ZXJzaW9uIGJ1bXBzIG9yIGFueSBhdXRvLWdlbmVyYXRlZCBjb21taXRzLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgeW91IGNhbm5vdCB1c2UgZXhwb3J0IGtleXMgaW4gdGhlc2UgY29tbWFuZHMgKFNlZSBgZXhwb3J0c2AgcHJvcGVydHkpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29tbWFuZHMuXG4gICAqL1xuICBjb21tYW5kcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgaGVhZCBicmFuY2ggb2YgdGhlIFBSLlxuICAgKi9cbiAgaGVhZDogSGVhZDtcblxuICAvKipcbiAgICogVGhlIGV4aXQgY29kZSBvZiB0aGlzIGNvbW1hbmQgZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0byBwcm9jZWVkIHdpdGggdGhlXG4gICAqIFBSIGNyZWF0aW9uLiBJZiBjb25maWd1cmVkLCB0aGlzIGNvbW1hbmQgaXMgdGhlIGZpcnN0IG9uZSB0byBydW4sIGFuZCBpZiBpdCBmYWlscywgYWxsXG4gICAqIG90aGVyIGNvbW1hbmRzIHdpbGwgYmUgc2tpcHBlZC5cbiAgICpcbiAgICogVGhpcyBjb21tYW5kIGlzIHRoZSBmaXJzdCB0byBleGVjdXRlLCBhbmQgc2hvdWxkIG5vdCBhc3N1bWUgYW55IHByZS1leGlzdGluZyBzdGF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb25kaXRpb25cbiAgICovXG4gIGNvbmRpdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgYW55IFBSIGxhYmVsZWQgd2l0aCB0aGUgZ2l2ZW4gbGFiZWxzIGlzIHN0aWxsIG9wZW4sIG5vIG5ldyBQUiB3aWxsIGJlIGNyZWF0ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkb24ndCBsb29rIGF0IG9wZW4gUFJzXG4gICAqL1xuICByZWFkb25seSBza2lwSWZPcGVuUHJzV2l0aExhYmVscz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBzdHJpbmcgZm9yIHRoZSBDb2RlQnVpbGQgcHJvamVjdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY29uZmlndXJpbmcgdGhlIGJhc2UgYnJhbmNoIG9mIHRoZSBQUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlIHtcblxuICAvKipcbiAgICogQnJhbmNoIG5hbWUuXG4gICAqXG4gICAqIFRoaXMgYnJhbmNoIG11c3QgZXhpc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdtYXN0ZXInXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBoZWFkIGJyYW5jaCBvZiB0aGUgUFIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZCB7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCBuYW1lLlxuICAgKlxuICAgKiBUaGlzIGJyYW5jaCB3aWxsIGJlIGNyZWF0ZWQgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBzaGEgb2YgdGhlIGJyYW5jaC5cbiAgICpcbiAgICogSWYgdGhlIGdpdmVuIGJyYW5jaCBhbHJlYWR5IGV4aXN0cywgdGhpcyBzaGEgd2lsbCBiZSBhdXRvLW1lcmdlZCBvbnRvIGl0LiBOb3RlIHRoYXQgaW4gc3VjaCBhIGNhc2UsXG4gICAqIHRoZSBQUiBjcmVhdGlvbiBtaWdodCBmYWlsIGluIGNhc2UgdGhlcmUgYXJlIG1lcmdlIGNvbmZsaWN0cy5cbiAgICpcbiAgICogSWYgdGhlIGdpdmVuIGJyYW5jaCBkb2Vzbid0IGV4aXN0LCB0aGUgbmV3bHkgY3JlYXRlZCBicmFuY2ggd2lsbCBiZSBiYXNlZCBvZiB0aGlzIGhhc2guXG4gICAqXG4gICAqIE5vdGUgdGhhdCBkeW5hbWljIGV4cG9ydHMgYXJlIG5vdCBhbGxvd2VkIGZvciB0aGlzIHByb3BlcnR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBiYXNlIGJyYW5jaCBvZiB0aGUgcHIuXG4gICAqL1xuICByZWFkb25seSBzb3VyY2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIENvZGVCdWlsZCBqb2IgdGhhdCwgd2hlbiB0cmlnZ2VyZWQsIG9wZW5zIGEgR2l0SHViIFB1bGwgUmVxdWVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEF1dG9QdWxsUmVxdWVzdCBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgLyoqXG4gICAqIENsb3VkV2F0Y2ggYWxhcm0gdGhhdCB3aWxsIGJlIHRyaWdnZXJlZCBpZiB0aGUgam9iIGZhaWxzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFsYXJtOiBjbG91ZHdhdGNoLkFsYXJtO1xuXG4gIC8qKlxuICAgKiBUaGUgQ29kZUJ1aWxkIHByb2plY3QgdGhpcyBjb25zdHJ1Y3QgY3JlYXRlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBjYnVpbGQuSVByb2plY3Q7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogQXV0b1B1bGxSZXF1ZXN0UHJvcHM7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlQnJhbmNoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGVhZFNvdXJjZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4cG9ydHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBdXRvUHVsbFJlcXVlc3RQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgdGhpcy5iYXNlQnJhbmNoID0gcHJvcHMuYmFzZT8ubmFtZSA/PyAnbWFzdGVyJztcbiAgICB0aGlzLmhlYWRTb3VyY2UgPSBwcm9wcy5oZWFkLnNvdXJjZSA/PyB0aGlzLmJhc2VCcmFuY2g7XG4gICAgdGhpcy5leHBvcnRzID0gcHJvcHMuZXhwb3J0cyA/PyB7fTtcblxuICAgIGZvciAoY29uc3QgZXggb2YgT2JqZWN0LmtleXModGhpcy5leHBvcnRzKSkge1xuICAgICAgaWYgKHRoaXMuaGVhZFNvdXJjZS5pbmNsdWRlcyhgXFwkeyR7ZXh9fWApIHx8IHRoaXMuaGVhZFNvdXJjZS5pbmNsdWRlcyhgXFwkJHtleH1gKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGhlYWQgc291cmNlICgke3RoaXMuaGVhZFNvdXJjZX0pIGNhbm5vdCBjb250YWluIGR5bmFtaWMgZXhwb3J0czogJHtleH1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzc2hLZXlTZWNyZXQgPSBwcm9wcy5yZXBvLnNzaEtleVNlY3JldDtcbiAgICBjb25zdCBjb21taXRFbWFpbCA9IHByb3BzLnJlcG8uY29tbWl0RW1haWw7XG4gICAgY29uc3QgY29tbWl0VXNlcm5hbWUgPSBwcm9wcy5yZXBvLmNvbW1pdFVzZXJuYW1lO1xuICAgIGNvbnN0IGNsb25lRGVwdGggPSBwcm9wcy5jbG9uZURlcHRoID09PSB1bmRlZmluZWQgPyAwIDogcHJvcHMuY2xvbmVEZXB0aDtcblxuICAgIGNvbnN0IG5lZWRzR2l0SHViVG9rZW5TZWNyZXQgPSAhdGhpcy5wcm9wcy5wdXNoT25seSB8fCAhIXRoaXMucHJvcHMuc2tpcElmT3BlblByc1dpdGhMYWJlbHM7XG5cbiAgICBsZXQgY29tbWFuZHM6IHN0cmluZ1tdID0gW1xuXG4gICAgICAuLi50aGlzLmNvbmZpZ3VyZVNzaEFjY2VzcygpLFxuXG4gICAgICAvLyB3aGVuIHRoZSBqb2IgaXMgdHJpZ2dlcmVkIGFzIGEgQ29kZVBpcGVsaW5lIGFjdGlvbiwgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4gICAgICAvLyBpcyBwb3B1bGF0ZWQgd2l0aCB0aGUgb3V0cHV0IGFydGlmYWN0IG9mIHRoZSBDb2RlQ29tbWl0U291cmNlQWN0aW9uLCB3aGljaCBkb2Vzbid0IGluY2x1ZGVcbiAgICAgIC8vIHRoZSAuZ2l0IGRpcmVjdG9yeSBpbiB0aGUgemlwcGVkIHMzIGFyY2hpdmUuIChZZWFoLCBmdW4gc3R1ZmYpLlxuICAgICAgLy8gc2VlIGh0dHBzOi8vaXRuZXh0LmlvL2hvdy10by1hY2Nlc3MtZ2l0LW1ldGFkYXRhLWluLWNvZGVidWlsZC13aGVuLXVzaW5nLWNvZGVwaXBlbGluZS1jb2RlY29tbWl0LWNlYWNmMmM1YzFkY1xuICAgICAgLi4udGhpcy5jbG9uZUlmTmVlZGVkKCksXG4gICAgXTtcblxuICAgIGlmICh0aGlzLnByb3BzLmNvbmRpdGlvbikge1xuICAgICAgLy8gdGhlcmUncyBubyB3YXkgdG8gc3RvcCBhIEJ1aWxkU3BlYyBleGVjdXRpb24gaGFsZndheSB0aHJvdWdoIHdpdGhvdXQgdGhyb3dpbmcgYW4gZXJyb3IuIEJlbGlldmUgbWUsIElcbiAgICAgIC8vIGNoZWNrZWQgdGhlIGNvZGUuIEluc3RlYWQgd2UgZGVmaW5lIGEgdmFyaWFibGUgdGhhdCB3ZSB3aWxsIHN3aXRjaCBhbGwgb3RoZXIgbGluZXMgb24vb2ZmLlxuICAgICAgY29tbWFuZHMucHVzaChgJHt0aGlzLnByb3BzLmNvbmRpdGlvbn0gYCArXG4gICAgICAnJiYgeyBlY2hvIFxcJ1NraXAgY29uZGl0aW9uIGlzIG1ldCwgc2tpcHBpbmcuLi5cXCcgJiYgZXhwb3J0IFNLSVA9dHJ1ZTsgfSAnICtcbiAgICAgICd8fCB7IGVjaG8gXFwnU2tpcCBjb25kaXRpb24gaXMgbm90IG1ldCwgY29udGludWluZy4uLlxcJyAmJiBleHBvcnQgU0tJUD1mYWxzZTsgfScpO1xuICAgIH1cblxuICAgIC8vIHJlYWQgdGhlIHRva2VuXG4gICAgaWYgKG5lZWRzR2l0SHViVG9rZW5TZWNyZXQpIHtcbiAgICAgIGNvbW1hbmRzLnB1c2goYGV4cG9ydCBHSVRIVUJfVE9LRU49JChhd3Mgc2VjcmV0c21hbmFnZXIgZ2V0LXNlY3JldC12YWx1ZSAtLXNlY3JldC1pZCBcIiR7dGhpcy5wcm9wcy5yZXBvLnRva2VuU2VjcmV0QXJufVwiIC0tb3V0cHV0PXRleHQgLS1xdWVyeT1TZWNyZXRTdHJpbmcpYCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuc2tpcElmT3BlblByc1dpdGhMYWJlbHMpIHtcbiAgICAgIGNvbW1hbmRzLnB1c2goLi4udGhpcy5za2lwSWZPcGVuUHJzKHRoaXMucHJvcHMuc2tpcElmT3BlblByc1dpdGhMYWJlbHMpKTtcbiAgICB9XG5cbiAgICBjb21tYW5kcy5wdXNoKFxuICAgICAgLi4udGhpcy5jcmVhdGVIZWFkKCksXG4gICAgICAuLi50aGlzLnB1c2hIZWFkKCksXG4gICAgKTtcblxuICAgIGlmICghdGhpcy5wcm9wcy5wdXNoT25seSkge1xuICAgICAgY29tbWFuZHMucHVzaCguLi50aGlzLmNyZWF0ZVB1bGxSZXF1ZXN0KCkpO1xuICAgIH1cblxuICAgIC8vIHRvZ2dsZSBhbGwgY29tbWFuZHMgYWNjb3JkaW5nIHRvIHRoZSBTS0lQIHZhcmlhYmxlLlxuICAgIGNvbW1hbmRzID0gY29tbWFuZHMubWFwKChjb21tYW5kOiBzdHJpbmcpID0+IGAkU0tJUCB8fCB7ICR7Y29tbWFuZH0gOyB9YCk7XG5cbiAgICAvLyBpbnRpYWxseSBhbGwgY29tbWFuZHMgYXJlIGVuYWJsZWQuXG4gICAgY29tbWFuZHMudW5zaGlmdCgnZXhwb3J0IFNLSVA9ZmFsc2UnKTtcblxuICAgIHRoaXMucHJvamVjdCA9IG5ldyBjYnVpbGQuUHJvamVjdCh0aGlzLCAnUHVsbFJlcXVlc3QnLCB7XG4gICAgICBzb3VyY2U6IHByb3BzLnJlcG8uY3JlYXRlQnVpbGRTb3VyY2UodGhpcywgZmFsc2UsIHsgY2xvbmVEZXB0aCB9KSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5wcm9qZWN0RGVzY3JpcHRpb24sXG4gICAgICBlbnZpcm9ubWVudDogY3JlYXRlQnVpbGRFbnZpcm9ubWVudChwcm9wcy5idWlsZCA/PyB7fSksXG4gICAgICBidWlsZFNwZWM6IGNidWlsZC5CdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgIHZlcnNpb246ICcwLjInLFxuICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICBwcmVfYnVpbGQ6IHtcbiAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgIGBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCIke2NvbW1pdEVtYWlsfVwiYCxcbiAgICAgICAgICAgICAgYGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiJHtjb21taXRVc2VybmFtZX1cImAsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYnVpbGQ6IHsgY29tbWFuZHMgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucHJvamVjdC5yb2xlKSB7XG4gICAgICBwZXJtaXNzaW9ucy5ncmFudFNlY3JldFJlYWQoc3NoS2V5U2VjcmV0LCB0aGlzLnByb2plY3Qucm9sZSk7XG5cbiAgICAgIGlmIChuZWVkc0dpdEh1YlRva2VuU2VjcmV0KSB7XG4gICAgICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZCh7IHNlY3JldEFybjogcHJvcHMucmVwby50b2tlblNlY3JldEFybiB9LCB0aGlzLnByb2plY3Qucm9sZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNjaGVkdWxlRXhwcmVzc2lvbikge1xuICAgICAgY29uc3Qgc2NoZWR1bGUgPSBldmVudHMuU2NoZWR1bGUuZXhwcmVzc2lvbihwcm9wcy5zY2hlZHVsZUV4cHJlc3Npb24pO1xuICAgICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdTY2hlZHVsZXInLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU2NoZWR1bGVzIGFuIGF1dG9tYXRpYyBQdWxsIFJlcXVlc3QgZm9yIHRoaXMgcmVwb3NpdG9yeScsXG4gICAgICAgIHNjaGVkdWxlLFxuICAgICAgICB0YXJnZXRzOiBbbmV3IGV2ZW50c190YXJnZXRzLkNvZGVCdWlsZFByb2plY3QodGhpcy5wcm9qZWN0KV0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmFsYXJtID0gdGhpcy5wcm9qZWN0Lm1ldHJpY0ZhaWxlZEJ1aWxkcyh7IHBlcmlvZDogRHVyYXRpb24uc2Vjb25kcygzMDApIH0pLmNyZWF0ZUFsYXJtKHRoaXMsICdBdXRvUHVsbFJlcXVlc3RGYWlsZWRBbGFybScsIHtcbiAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLklHTk9SRSxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZUhlYWQoKTogc3RyaW5nW10ge1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGNoZWNrIGlmIGhlYWQgYnJhbmNoIGV4aXN0c1xuICAgICAgYGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgb3JpZ2luLyR7dGhpcy5wcm9wcy5oZWFkLm5hbWV9IGAgK1xuXG4gICAgICAvLyBjaGVja291dCBhbmQgbWVyZ2UgaWYgaXQgZG9lcyAodGhpcyBtaWdodCBmYWlsIGR1ZSB0byBtZXJnZSBjb25mbGljdHMpXG4gICAgICBgJiYgeyBnaXQgY2hlY2tvdXQgJHt0aGlzLnByb3BzLmhlYWQubmFtZX0gJiYgZ2l0IG1lcmdlICR7dGhpcy5oZWFkU291cmNlfSAmJiAke3RoaXMucnVuQ29tbWFuZHMoKX07ICB9IGAgK1xuXG4gICAgICAvLyBjcmVhdGUgaWYgaXQgZG9lc250LiB3ZSBpbml0aWFsbHkgdXNlICd0ZW1wJyB0byBhbGxvdyB1c2luZyBleHBvcnRzIGluIHRoZSBoZWFkIGJyYW5jaCBuYW1lLiAoZS5nIGJ1bXAvJFZFUlNJT04pXG4gICAgICBgfHwgeyBnaXQgY2hlY2tvdXQgJHt0aGlzLmhlYWRTb3VyY2V9ICYmIGdpdCBjaGVja291dCAtYiB0ZW1wICYmICR7dGhpcy5ydW5Db21tYW5kcygpfSAmJiBnaXQgYnJhbmNoIC1NICR7dGhpcy5wcm9wcy5oZWFkLm5hbWV9OyB9YCxcblxuICAgIF07XG5cbiAgfVxuXG4gIHByaXZhdGUgY2xvbmVJZk5lZWRlZCgpOiBzdHJpbmdbXSB7XG5cbiAgICByZXR1cm4gW1xuICAgICAgLy8gY2hlY2sgaWYgLmdpdCBleGlzdFxuICAgICAgJ2xzIC5naXQgJyArXG5cbiAgICAgIC8vIGFsbCBnb29kXG4gICAgICAnJiYgeyBlY2hvIFwiLmdpdCBkaXJlY3RvcnkgZXhpc3RzXCI7ICB9ICcgK1xuXG4gICAgICAvLyBjbG9uZSBpZiBpdCBkb2Vzbid0XG4gICAgICBgfHwgeyBlY2hvIFwiLmdpdCBkaXJlY3RvcnkgZG9lc25vdCBleGlzdCAtIGNsb25pbmcuLi5cIiAmJiBnaXQgaW5pdCAuICYmIGdpdCByZW1vdGUgYWRkIG9yaWdpbiBnaXRAZ2l0aHViLmNvbToke3RoaXMucHJvcHMucmVwby5vd25lcn0vJHt0aGlzLnByb3BzLnJlcG8ucmVwb30uZ2l0ICYmIGdpdCBmZXRjaCAmJiBnaXQgcmVzZXQgLS1oYXJkIG9yaWdpbi8ke3RoaXMuYmFzZUJyYW5jaH0gJiYgZ2l0IGJyYW5jaCAtTSAke3RoaXMuYmFzZUJyYW5jaH0gJiYgZ2l0IGNsZWFuIC1mcWR4OyB9YCxcblxuICAgIF07XG5cbiAgfVxuXG4gIHByaXZhdGUgcnVuQ29tbWFuZHMoKTogc3RyaW5nIHtcblxuICAgIGNvbnN0IHVzZXJDb21tYW5kcyA9IHRoaXMucHJvcHMuY29tbWFuZHMgPz8gW107XG4gICAgY29uc3QgZXhwb3J0cyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuZXhwb3J0cykubWFwKGVudHJ5ID0+IGBleHBvcnQgJHtlbnRyeVswXX09JCgke2VudHJ5WzFdfSlgKTtcblxuICAgIHJldHVybiBbXG5cbiAgICAgIC4uLnVzZXJDb21tYW5kcyxcblxuICAgICAgLy8gZXhwb3J0cyBzaG91bGQgYmUgZXhlY3V0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHVzZXIgY29tbWFuZHMgKG5vdCBiZWZvcmUpXG4gICAgICAvLyBiZWNhdXNlIHRoZXkgbWlnaHQgbmVlZCBhY2Nlc3MgdG8gYXJ0aWZhY3RzIHByb2R1Y2VkIGJ5IHRoZW0gKGUuZyB2ZXJzaW9uIGZpbGUpLlxuICAgICAgLi4uZXhwb3J0cyxcblxuICAgICAgJ2VjaG8gRmluaXNoZWQgcnVubmluZyB1c2VyIGNvbW1hbmRzJyxcbiAgICBdLmpvaW4oJyAmJiAnKTtcblxuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVTc2hBY2Nlc3MoKTogc3RyaW5nW10ge1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICdhd3Mgc2VjcmV0c21hbmFnZXIgZ2V0LXNlY3JldC12YWx1ZSAnXG4gICAgICAgICsgYC0tc2VjcmV0LWlkIFwiJHt0aGlzLnByb3BzLnJlcG8uc3NoS2V5U2VjcmV0LnNlY3JldEFybn1cIiBgXG4gICAgICAgICsgJy0tb3V0cHV0PXRleHQgLS1xdWVyeT1TZWNyZXRTdHJpbmcgPiB+Ly5zc2gvaWRfcnNhJyxcbiAgICAgICdta2RpciAtcCB+Ly5zc2gnLFxuICAgICAgJ2NobW9kIDA2MDAgfi8uc3NoL2lkX3JzYSB+Ly5zc2gvY29uZmlnJyxcbiAgICAgICdzc2gta2V5c2NhbiAtdCByc2EgZ2l0aHViLmNvbSA+PiB+Ly5zc2gva25vd25faG9zdHMnLFxuICAgIF07XG5cbiAgfVxuXG4gIHByaXZhdGUgcHVzaEhlYWQoKTogc3RyaW5nW10ge1xuICAgIC8vIFdlIHdpbGwgZG8gbm90aGluZyBhbmQgc2V0IGBTS0lQPXRydWVgIGlmIHRoZSBoZWFkIHJlZiBpcyBhbiBhbmNlc3RvciBvZiB0aGUgYmFzZSBicmFuY2ggKG5vIFBSIGNvdWxkIGJlIGNyZWF0ZWQpXG4gICAgcmV0dXJuIFtcbiAgICAgIGBnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yICR7dGhpcy5wcm9wcy5oZWFkLm5hbWV9IG9yaWdpbi8ke3RoaXMuYmFzZUJyYW5jaH1gXG4gICAgICAgICsgYCAmJiB7IGVjaG8gXCJTa2lwcGluZzogJHt0aGlzLnByb3BzLmhlYWQubmFtZX0gaXMgYW4gYW5jZXN0b3Igb2Ygb3JpZ2luLyR7dGhpcy5iYXNlQnJhbmNofVwiOyBleHBvcnQgU0tJUD10cnVlOyB9YFxuICAgICAgICArIGAgfHwgeyBlY2hvIFwiUHVzaGluZzogJHt0aGlzLnByb3BzLmhlYWQubmFtZX0gaXMgYWhlYWQgb2Ygb3JpZ2luLyR7dGhpcy5iYXNlQnJhbmNofVwiOyBleHBvcnQgU0tJUD1mYWxzZTsgfWAsXG4gICAgICBgZ2l0IHJlbW90ZSBhZGQgb3JpZ2luX3NzaCAke3RoaXMucHJvcHMucmVwby5yZXBvc2l0b3J5VXJsU3NofWAsXG4gICAgICAvLyBOZWVkIGAtLWF0b21pY2AsIG90aGVyd2lzZSBgZ2l0IHB1c2hgIG1pZ2h0IHN1Y2Nlc3NmdWxseSBwdXNoIHRoZSB0YWdzIGJ1dCBub3QgdG8gYG1haW5gLlxuICAgICAgYGdpdCBwdXNoIC0tYXRvbWljIC0tZm9sbG93LXRhZ3Mgb3JpZ2luX3NzaCAke3RoaXMucHJvcHMuaGVhZC5uYW1lfToke3RoaXMucHJvcHMuaGVhZC5uYW1lfWAsXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc2tpcElmT3BlblBycyhsYWJlbHM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBbXG4gICAgICBgcmVwbzoke3RoaXMucHJvcHMucmVwby5vd25lcn0vJHt0aGlzLnByb3BzLnJlcG8ucmVwb31gLFxuICAgICAgJ2lzOnByJyxcbiAgICAgICdpczpvcGVuJyxcbiAgICAgIC4uLmxhYmVscy5tYXAobCA9PiBgbGFiZWw6JHtsfWApLFxuICAgIF07XG5cbiAgICByZXR1cm4gW1xuICAgICAgYCR7dGhpcy5naXRodWJDdXJsR2V0KGAvc2VhcmNoL2lzc3Vlcz9xPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlcnMuam9pbignICcpKX1gLCAnLW8gc2VhcmNoLmpzb24nKX1gLFxuICAgICAgJ25vZGUgLWUgXFwncHJvY2Vzcy5leGl0Q29kZSA9IHJlcXVpcmUoXCIuL3NlYXJjaC5qc29uXCIpLnRvdGFsX2NvdW50XFwnJ1xuICAgICAgICArIGAgfHwgeyBlY2hvIFwiRm91bmQgb3BlbiBQUnMgd2l0aCBsYWJlbCAke2xhYmVsc30sIHNraXBwaW5nIFBSLlwiOyBleHBvcnQgU0tJUD10cnVlOyB9YCxcbiAgICBdO1xuICB9XG5cblxuICBwcml2YXRlIGNyZWF0ZVB1bGxSZXF1ZXN0KCk6IHN0cmluZ1tdIHtcblxuICAgIGNvbnN0IGhlYWQgPSB0aGlzLnByb3BzLmhlYWQubmFtZTtcbiAgICBjb25zdCBiYXNlID0gdGhpcy5iYXNlQnJhbmNoO1xuXG4gICAgaWYgKGhlYWQgPT09IGJhc2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSGVhZCBicmFuY2ggKFwiJHtiYXNlfVwiKSBpcyB0aGUgc2FtZSBhcyB0aGUgYmFzZSBicmFuY2ggKFwiJHtoZWFkfVwiKWApO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BzID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB0aXRsZSA9IHByb3BzLnRpdGxlID8/IGBNZXJnZSAke2hlYWR9IHRvICR7YmFzZX1gO1xuICAgIGNvbnN0IGJvZHkgPSB0aGlzLnByb3BzLmJvZHkgPz8gJyc7XG5cbiAgICBjb25zdCBjcmVhdGVSZXF1ZXN0ID0geyB0aXRsZSwgYmFzZSwgaGVhZCB9O1xuXG4gICAgY29uc3QgY29tbWFuZHMgPSBbXTtcblxuICAgIC8vIGNyZWF0ZSB0aGUgUFJcbiAgICBjb21tYW5kcy5wdXNoKGAke3RoaXMuZ2l0aHViQ3VybCgnL3B1bGxzJywgJy1YIFBPU1QgLW8gcHIuanNvbicsIGNyZWF0ZVJlcXVlc3QpfSAmJiBleHBvcnQgUFJfTlVNQkVSPSQobm9kZSAtcCAncmVxdWlyZShcIi4vcHIuanNvblwiKS5udW1iZXInKWApO1xuXG4gICAgLy8gdXBkYXRlIHRoZSBib2R5XG4gICAgY29tbWFuZHMucHVzaCh0aGlzLmdpdGh1YkN1cmwoJy9wdWxscy8kUFJfTlVNQkVSJywgJy1YIFBBVENIJywgeyBib2R5OiBib2R5IH0pKTtcblxuICAgIGlmICh0aGlzLnByb3BzLmxhYmVscyAmJiB0aGlzLnByb3BzLmxhYmVscy5sZW5ndGggPiAwKSB7XG4gICAgLy8gYXBwbHkgbGFiZWxzLlxuICAgICAgY29tbWFuZHMucHVzaCh0aGlzLmdpdGh1YkN1cmwoJy9pc3N1ZXMvJFBSX05VTUJFUi9sYWJlbHMnLCAnLVggUE9TVCcsIHsgbGFiZWxzOiB0aGlzLnByb3BzLmxhYmVscyB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbW1hbmRzO1xuXG4gIH1cblxuICBwcml2YXRlIGdpdGh1YkN1cmwodXJpOiBzdHJpbmcsIGNvbW1hbmQ6IHN0cmluZywgcmVxdWVzdDogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2N1cmwgLS1mYWlsJyxcbiAgICAgIGNvbW1hbmQsXG4gICAgICAnLS1oZWFkZXIgXCJBdXRob3JpemF0aW9uOiB0b2tlbiAkR0lUSFVCX1RPS0VOXCInLFxuICAgICAgJy0taGVhZGVyIFwiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXCInLFxuICAgICAgYC1kICR7SlNPTi5zdHJpbmdpZnkoSlNPTi5zdHJpbmdpZnkocmVxdWVzdCkpfWAsXG4gICAgICBgaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy8ke3RoaXMucHJvcHMucmVwby5vd25lcn0vJHt0aGlzLnByb3BzLnJlcG8ucmVwb30ke3VyaX1gLFxuICAgIF0uam9pbignICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnaXRodWJDdXJsR2V0KHVyaTogc3RyaW5nLCBjb21tYW5kOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBbXG4gICAgICAnY3VybCAtLWZhaWwnLFxuICAgICAgY29tbWFuZCxcbiAgICAgICctLWhlYWRlciBcIkF1dGhvcml6YXRpb246IHRva2VuICRHSVRIVUJfVE9LRU5cIicsXG4gICAgICAnLS1oZWFkZXIgXCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cIicsXG4gICAgICBgJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20ke3VyaX0nYCxcbiAgICBdLmpvaW4oJyAnKTtcbiAgfVxuXG59XG5cbiJdfQ==
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFDQU1pQjtBQUNqQiw0Q0FBNkU7QUFDN0UsNERBQThDO0FBMkw5Qzs7R0FFRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxtQkFBUztJQWtCNUMsWUFBWSxNQUFpQixFQUFFLEVBQVUsRUFBRSxLQUEyQjs7UUFDcEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsTUFBQSxLQUFLLENBQUMsSUFBSSwwQ0FBRSxJQUFJLG1DQUFJLFFBQVEsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLG1DQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFBLEtBQUssQ0FBQyxPQUFPLG1DQUFJLEVBQUUsQ0FBQztRQUVuQyxLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDaEYsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFVBQVUscUNBQXFDLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDM0Y7U0FDRjtRQUVELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzdDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMs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RSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN2RztRQUVELE9BQU8sUUFBUSxDQUFDO0lBRWxCLENBQUM7SUFFTyxVQUFVLENBQUMsR0FBVyxFQUFFLE9BQWUsRUFBRSxPQUFZO1FBQzNELE9BQU87WUFDTCxhQUFhO1lBQ2IsT0FBTztZQUNQLCtDQUErQztZQUMvQywyQ0FBMkM7WUFDM0MsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRTtZQUMvQyxnQ0FBZ0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUU7U0FDdEYsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQVcsRUFBRSxPQUFlO1FBQ2hELE9BQU87WUFDTCxhQUFhO1lBQ2IsT0FBTztZQUNQLCtDQUErQztZQUMvQywyQ0FBMkM7WUFDM0MsMEJBQTBCLEdBQUcsR0FBRztTQUNqQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7Q0FFRjtBQTVRRCwwQ0E0UUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb25zdHJ1Y3QsIER1cmF0aW9uLFxuICBhd3NfY2xvdWR3YXRjaCBhcyBjbG91ZHdhdGNoLFxuICBhd3NfY29kZWJ1aWxkIGFzIGNidWlsZCxcbiAgYXdzX2V2ZW50cyBhcyBldmVudHMsXG4gIGF3c19ldmVudHNfdGFyZ2V0cyBhcyBldmVudHNfdGFyZ2V0cyxcbn0gZnJvbSAnbW9ub2Nkayc7XG5pbXBvcnQgeyBCdWlsZEVudmlyb25tZW50UHJvcHMsIGNyZWF0ZUJ1aWxkRW52aXJvbm1lbnQgfSBmcm9tICcuLi9idWlsZC1lbnYnO1xuaW1wb3J0ICogYXMgcGVybWlzc2lvbnMgZnJvbSAnLi4vcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgV3JpdGFibGVHaXRIdWJSZXBvIH0gZnJvbSAnLi4vcmVwbyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBQdWxsIFJlcXVlc3QgSm9iLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9QdWxsUmVxdWVzdE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGJhc2UgYnJhbmNoIG9mIHRoZSBQUi5cbiAgICpcbiAgICogQGRlZmF1bHQgJ21hc3RlcidcbiAgICovXG4gIGJhc2U/OiBCYXNlO1xuXG4gIC8qKlxuICAgKiBUcnVlIGlmIHlvdSBvbmx5IHdhbnQgdG8gcHVzaCB0aGUgaGVhZCBicmFuY2ggd2l0aG91dCBjcmVhdGluZyBhIFBSLlxuICAgKiBVc2VmdWwgd2hlbiB1c2VkIGFsb25nIHdpdGggJ2NvbW1pdHMnIHRvIGV4ZWN1dGUgYSBjb21taXQtYW5kLXB1c2ggYXV0b21hdGljYWxseS5cbiAgICpcbiAgICogLy8gVE9ETzogQ29uc2lkZXIgbW92aW5nIHRoaXMgZnVuY3Rpb25hbGl0eSB0byBhIHNlcGFyYXRlIGNvbnN0cnVjdC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHB1c2hPbmx5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGl0bGUgb2YgdGhlIFBSLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgTWVyZ2UgJHtoZWFkfSB0byAke2Jhc2V9YFxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJvZHkgdGhlIFBSLiBOb3RlIHRoYXQgdGhlIGJvZHkgaXMgdXBkYXRlZCBwb3N0IFBSIGNyZWF0aW9uLFxuICAgKiB0aGlzIG1lYW5zIHlvdSBjYW4gdXNlIHRoZSAkUFJfTlVNQkVSIGVudiB2YXJpYWJsZSB0byByZWZlciB0byB0aGUgUFIgaXRzZWxmLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGJvZHkuXG4gICAqL1xuICBib2R5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMYWJlbHMgYXBwbGllZCB0byB0aGUgUFIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbGFiZWxzLlxuICAgKi9cbiAgbGFiZWxzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGVudmlyb25tZW50IGZvciB0aGUgQ29kZUJ1aWxkIGpvYi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBidWlsZD86IEJ1aWxkRW52aXJvbm1lbnRQcm9wcztcblxuICAvKipcbiAgICogR2l0IGNsb25lIGRlcHRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCAwIChjbG9uZXMgdGhlIGVudGlyZSByZXBvc2l0b3J5IHJldmlzaW9ucylcbiAgICovXG4gIGNsb25lRGVwdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEtleSB2YWx1ZSBwYWlycyBvZiB2YXJpYWJsZXMgdG8gZXhwb3J0LiBUaGVzZSB2YXJpYWJsZXMgd2lsbCBiZSBhdmFpbGFibGUgZm9yIGR5bmFtaWMgZXZhbHVhdGlvbiBpbiBhbnlcbiAgICogc3Vic2VxdWVudCBjb21tYW5kLlxuICAgKlxuICAgKiBLZXkgLSBWYXJpYWJsZSBuYW1lIChlLmcgVkVSU0lPTilcbiAgICogVmFsdWUgLSBDb21tYW5kIHRoYXQgZXZhbHVhdGVzIHRvIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgKGUuZyAnZ2l0IGRlc2NyaWJlJylcbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICpcbiAgICogQ29uZmlndXJlIGFuIGV4cG9ydCBpbiB0aGUgZm9ybSBvZjpcbiAgICpcbiAgICogeyAnVkVSU0lPTic6ICdnaXQgZGVzY3JpYmUnIH1cbiAgICpcbiAgICogVXNlIHRoZSAkVkVSU0lPTiB2YXJpYWJsZSBpbiB0aGUgUFIgdGl0bGU6ICdjaG9yZShyZWxlYXNlKTogJFZFUlNJT04nXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGVzZSBleHBvcnRzIGFyZSBleGVjdXRlZCBhZnRlciB0aGUgYGNvbW1hbmRzYCBleGVjdXRpb24sXG4gICAqIHNvIHRoZXkgaGF2ZSBhY2Nlc3MgdG8gdGhlIGFydGlmYWN0cyBzYWlkIGNvbW1hbmRzIHByb2R1Y2UgKGUuZyB2ZXJzaW9uIGJ1bXApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGV4cG9ydHNcbiAgICovXG4gIGV4cG9ydHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZWR1bGUgdG8gcHJvZHVjZSBhbiBhdXRvbWF0aWMgUFIuXG4gICAqXG4gICAqIFRoZSBleHByZXNzaW9uIGNhbiBiZSBvbmUgb2Y6XG4gICAqXG4gICAqICAtIGNyb24gZXhwcmVzc2lvbiwgc3VjaCBhcyBcImNyb24oMCAxMiAqICogPyAqKVwiIHdpbGwgdHJpZ2dlciBldmVyeSBkYXkgYXQgMTJwbSBVVENcbiAgICogIC0gcmF0ZSBleHByZXNzaW9uLCBzdWNoIGFzIFwicmF0ZSgxIGRheSlcIiB3aWxsIHRyaWdnZXIgZXZlcnkgMjQgaG91cnMgZnJvbSB0aGUgdGltZSBvZiBkZXBsb3ltZW50XG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L2V2ZW50cy9TY2hlZHVsZWRFdmVudHMuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHNjaGVkdWxlLCBzaG91bGQgYmUgdHJpZ2dlcmVkIG1hbnVhbGx5LlxuICAgKi9cbiAgc2NoZWR1bGVFeHByZXNzaW9uPzogc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b1B1bGxSZXF1ZXN0UHJvcHMgZXh0ZW5kcyBBdXRvUHVsbFJlcXVlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIFBSIGluLlxuICAgKi9cbiAgcmVwbzogV3JpdGFibGVHaXRIdWJSZXBvO1xuXG4gIC8qKlxuICAgKiBBIHNldCBvZiBjb21tYW5kcyB0byBydW4gYWdhaW5zdCB0aGUgaGVhZCBicmFuY2guXG4gICAqIFVzZWZ1bCBmb3IgdGhpbmdzIGxpa2UgdmVyc2lvbiBidW1wcyBvciBhbnkgYXV0by1nZW5lcmF0ZWQgY29tbWl0cy5cbiAgICpcbiAgICogTm90ZSB0aGF0IHlvdSBjYW5ub3QgdXNlIGV4cG9ydCBrZXlzIGluIHRoZXNlIGNvbW1hbmRzIChTZWUgYGV4cG9ydHNgIHByb3BlcnR5KVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbW1hbmRzLlxuICAgKi9cbiAgY29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGhlYWQgYnJhbmNoIG9mIHRoZSBQUi5cbiAgICovXG4gIGhlYWQ6IEhlYWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBleGl0IGNvZGUgb2YgdGhpcyBjb21tYW5kIGRldGVybWluZXMgd2hldGhlciBvciBub3QgdG8gcHJvY2VlZCB3aXRoIHRoZVxuICAgKiBQUiBjcmVhdGlvbi4gSWYgY29uZmlndXJlZCwgdGhpcyBjb21tYW5kIGlzIHRoZSBmaXJzdCBvbmUgdG8gcnVuLCBhbmQgaWYgaXQgZmFpbHMsIGFsbFxuICAgKiBvdGhlciBjb21tYW5kcyB3aWxsIGJlIHNraXBwZWQuXG4gICAqXG4gICAqIFRoaXMgY29tbWFuZCBpcyB0aGUgZmlyc3QgdG8gZXhlY3V0ZSwgYW5kIHNob3VsZCBub3QgYXNzdW1lIGFueSBwcmUtZXhpc3Rpbmcgc3RhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29uZGl0aW9uXG4gICAqL1xuICBjb25kaXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIGFueSBQUiBsYWJlbGVkIHdpdGggdGhlIGdpdmVuIGxhYmVscyBpcyBzdGlsbCBvcGVuLCBubyBuZXcgUFIgd2lsbCBiZSBjcmVhdGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG9uJ3QgbG9vayBhdCBvcGVuIFBSc1xuICAgKi9cbiAgcmVhZG9ubHkgc2tpcElmT3BlblByc1dpdGhMYWJlbHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gc3RyaW5nIGZvciB0aGUgQ29kZUJ1aWxkIHByb2plY3RcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdERlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBiYXNlIGJyYW5jaCBvZiB0aGUgUFIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZSB7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCBuYW1lLlxuICAgKlxuICAgKiBUaGlzIGJyYW5jaCBtdXN0IGV4aXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnbWFzdGVyJ1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjb25maWd1cmluZyB0aGUgaGVhZCBicmFuY2ggb2YgdGhlIFBSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWQge1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggbmFtZS5cbiAgICpcbiAgICogVGhpcyBicmFuY2ggd2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2Ugc2hhIG9mIHRoZSBicmFuY2guXG4gICAqXG4gICAqIElmIHRoZSBnaXZlbiBicmFuY2ggYWxyZWFkeSBleGlzdHMsIHRoaXMgc2hhIHdpbGwgYmUgYXV0by1tZXJnZWQgb250byBpdC4gTm90ZSB0aGF0IGluIHN1Y2ggYSBjYXNlLFxuICAgKiB0aGUgUFIgY3JlYXRpb24gbWlnaHQgZmFpbCBpbiBjYXNlIHRoZXJlIGFyZSBtZXJnZSBjb25mbGljdHMuXG4gICAqXG4gICAqIElmIHRoZSBnaXZlbiBicmFuY2ggZG9lc24ndCBleGlzdCwgdGhlIG5ld2x5IGNyZWF0ZWQgYnJhbmNoIHdpbGwgYmUgYmFzZWQgb2YgdGhpcyBoYXNoLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgZHluYW1pYyBleHBvcnRzIGFyZSBub3QgYWxsb3dlZCBmb3IgdGhpcyBwcm9wZXJ0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgYmFzZSBicmFuY2ggb2YgdGhlIHByLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBDb2RlQnVpbGQgam9iIHRoYXQsIHdoZW4gdHJpZ2dlcmVkLCBvcGVucyBhIEdpdEh1YiBQdWxsIFJlcXVlc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRvUHVsbFJlcXVlc3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIC8qKlxuICAgKiBDbG91ZFdhdGNoIGFsYXJtIHRoYXQgd2lsbCBiZSB0cmlnZ2VyZWQgaWYgdGhlIGpvYiBmYWlscy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhbGFybTogY2xvdWR3YXRjaC5BbGFybTtcblxuICAvKipcbiAgICogVGhlIENvZGVCdWlsZCBwcm9qZWN0IHRoaXMgY29uc3RydWN0IGNyZWF0ZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogY2J1aWxkLklQcm9qZWN0O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IEF1dG9QdWxsUmVxdWVzdFByb3BzO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZUJyYW5jaDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGhlYWRTb3VyY2U6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBleHBvcnRzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXV0b1B1bGxSZXF1ZXN0UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIHRoaXMuYmFzZUJyYW5jaCA9IHByb3BzLmJhc2U/Lm5hbWUgPz8gJ21hc3Rlcic7XG4gICAgdGhpcy5oZWFkU291cmNlID0gcHJvcHMuaGVhZC5zb3VyY2UgPz8gdGhpcy5iYXNlQnJhbmNoO1xuICAgIHRoaXMuZXhwb3J0cyA9IHByb3BzLmV4cG9ydHMgPz8ge307XG5cbiAgICBmb3IgKGNvbnN0IGV4IG9mIE9iamVjdC5rZXlzKHRoaXMuZXhwb3J0cykpIHtcbiAgICAgIGlmICh0aGlzLmhlYWRTb3VyY2UuaW5jbHVkZXMoYFxcJHske2V4fX1gKSB8fCB0aGlzLmhlYWRTb3VyY2UuaW5jbHVkZXMoYFxcJCR7ZXh9YCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBoZWFkIHNvdXJjZSAoJHt0aGlzLmhlYWRTb3VyY2V9KSBjYW5ub3QgY29udGFpbiBkeW5hbWljIGV4cG9ydHM6ICR7ZXh9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc3NoS2V5U2VjcmV0ID0gcHJvcHMucmVwby5zc2hLZXlTZWNyZXQ7XG4gICAgY29uc3QgY29tbWl0RW1haWwgPSBwcm9wcy5yZXBvLmNvbW1pdEVtYWlsO1xuICAgIGNvbnN0IGNvbW1pdFVzZXJuYW1lID0gcHJvcHMucmVwby5jb21taXRVc2VybmFtZTtcbiAgICBjb25zdCBjbG9uZURlcHRoID0gcHJvcHMuY2xvbmVEZXB0aCA9PT0gdW5kZWZpbmVkID8gMCA6IHByb3BzLmNsb25lRGVwdGg7XG5cbiAgICBjb25zdCBuZWVkc0dpdEh1YlRva2VuU2VjcmV0ID0gIXRoaXMucHJvcHMucHVzaE9ubHkgfHwgISF0aGlzLnByb3BzLnNraXBJZk9wZW5QcnNXaXRoTGFiZWxzO1xuXG4gICAgbGV0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtcblxuICAgICAgLi4udGhpcy5jb25maWd1cmVTc2hBY2Nlc3MoKSxcblxuICAgICAgLy8gd2hlbiB0aGUgam9iIGlzIHRyaWdnZXJlZCBhcyBhIENvZGVQaXBlbGluZSBhY3Rpb24sIHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuICAgICAgLy8gaXMgcG9wdWxhdGVkIHdpdGggdGhlIG91dHB1dCBhcnRpZmFjdCBvZiB0aGUgQ29kZUNvbW1pdFNvdXJjZUFjdGlvbiwgd2hpY2ggZG9lc24ndCBpbmNsdWRlXG4gICAgICAvLyB0aGUgLmdpdCBkaXJlY3RvcnkgaW4gdGhlIHppcHBlZCBzMyBhcmNoaXZlLiAoWWVhaCwgZnVuIHN0dWZmKS5cbiAgICAgIC8vIHNlZSBodHRwczovL2l0bmV4dC5pby9ob3ctdG8tYWNjZXNzLWdpdC1tZXRhZGF0YS1pbi1jb2RlYnVpbGQtd2hlbi11c2luZy1jb2RlcGlwZWxpbmUtY29kZWNvbW1pdC1jZWFjZjJjNWMxZGNcbiAgICAgIC4uLnRoaXMuY2xvbmVJZk5lZWRlZCgpLFxuICAgIF07XG5cbiAgICBpZiAodGhpcy5wcm9wcy5jb25kaXRpb24pIHtcbiAgICAgIC8vIHRoZXJlJ3Mgbm8gd2F5IHRvIHN0b3AgYSBCdWlsZFNwZWMgZXhlY3V0aW9uIGhhbGZ3YXkgdGhyb3VnaCB3aXRob3V0IHRocm93aW5nIGFuIGVycm9yLiBCZWxpZXZlIG1lLCBJXG4gICAgICAvLyBjaGVja2VkIHRoZSBjb2RlLiBJbnN0ZWFkIHdlIGRlZmluZSBhIHZhcmlhYmxlIHRoYXQgd2Ugd2lsbCBzd2l0Y2ggYWxsIG90aGVyIGxpbmVzIG9uL29mZi5cbiAgICAgIGNvbW1hbmRzLnB1c2goYCR7dGhpcy5wcm9wcy5jb25kaXRpb259IGAgK1xuICAgICAgJyYmIHsgZWNobyBcXCdTa2lwIGNvbmRpdGlvbiBpcyBtZXQsIHNraXBwaW5nLi4uXFwnICYmIGV4cG9ydCBTS0lQPXRydWU7IH0gJyArXG4gICAgICAnfHwgeyBlY2hvIFxcJ1NraXAgY29uZGl0aW9uIGlzIG5vdCBtZXQsIGNvbnRpbnVpbmcuLi5cXCcgJiYgZXhwb3J0IFNLSVA9ZmFsc2U7IH0nKTtcbiAgICB9XG5cbiAgICAvLyByZWFkIHRoZSB0b2tlblxuICAgIGlmIChuZWVkc0dpdEh1YlRva2VuU2VjcmV0KSB7XG4gICAgICBjb21tYW5kcy5wdXNoKGBleHBvcnQgR0lUSFVCX1RPS0VOPSQoYXdzIHNlY3JldHNtYW5hZ2VyIGdldC1zZWNyZXQtdmFsdWUgLS1zZWNyZXQtaWQgXCIke3RoaXMucHJvcHMucmVwby50b2tlblNlY3JldEFybn1cIiAtLW91dHB1dD10ZXh0IC0tcXVlcnk9U2VjcmV0U3RyaW5nKWApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLnNraXBJZk9wZW5QcnNXaXRoTGFiZWxzKSB7XG4gICAgICBjb21tYW5kcy5wdXNoKC4uLnRoaXMuc2tpcElmT3BlblBycyh0aGlzLnByb3BzLnNraXBJZk9wZW5QcnNXaXRoTGFiZWxzKSk7XG4gICAgfVxuXG4gICAgY29tbWFuZHMucHVzaChcbiAgICAgIC4uLnRoaXMuY3JlYXRlSGVhZCgpLFxuICAgICAgLi4udGhpcy5wdXNoSGVhZCgpLFxuICAgICk7XG5cbiAgICBpZiAoIXRoaXMucHJvcHMucHVzaE9ubHkpIHtcbiAgICAgIGNvbW1hbmRzLnB1c2goLi4udGhpcy5jcmVhdGVQdWxsUmVxdWVzdCgpKTtcbiAgICB9XG5cbiAgICAvLyB0b2dnbGUgYWxsIGNvbW1hbmRzIGFjY29yZGluZyB0byB0aGUgU0tJUCB2YXJpYWJsZS5cbiAgICBjb21tYW5kcyA9IGNvbW1hbmRzLm1hcCgoY29tbWFuZDogc3RyaW5nKSA9PiBgJFNLSVAgfHwgeyAke2NvbW1hbmR9IDsgfWApO1xuXG4gICAgLy8gaW50aWFsbHkgYWxsIGNvbW1hbmRzIGFyZSBlbmFibGVkLlxuICAgIGNvbW1hbmRzLnVuc2hpZnQoJ2V4cG9ydCBTS0lQPWZhbHNlJyk7XG5cbiAgICB0aGlzLnByb2plY3QgPSBuZXcgY2J1aWxkLlByb2plY3QodGhpcywgJ1B1bGxSZXF1ZXN0Jywge1xuICAgICAgc291cmNlOiBwcm9wcy5yZXBvLmNyZWF0ZUJ1aWxkU291cmNlKHRoaXMsIGZhbHNlLCB7IGNsb25lRGVwdGggfSksXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMucHJvamVjdERlc2NyaXB0aW9uLFxuICAgICAgZW52aXJvbm1lbnQ6IGNyZWF0ZUJ1aWxkRW52aXJvbm1lbnQocHJvcHMuYnVpbGQgPz8ge30pLFxuICAgICAgYnVpbGRTcGVjOiBjYnVpbGQuQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICB2ZXJzaW9uOiAnMC4yJyxcbiAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgcHJlX2J1aWxkOiB7XG4gICAgICAgICAgICBjb21tYW5kczogW1xuICAgICAgICAgICAgICBgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwiJHtjb21taXRFbWFpbH1cImAsXG4gICAgICAgICAgICAgIGBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcIiR7Y29tbWl0VXNlcm5hbWV9XCJgLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJ1aWxkOiB7IGNvbW1hbmRzIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnByb2plY3Qucm9sZSkge1xuICAgICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHNzaEtleVNlY3JldCwgdGhpcy5wcm9qZWN0LnJvbGUpO1xuXG4gICAgICBpZiAobmVlZHNHaXRIdWJUb2tlblNlY3JldCkge1xuICAgICAgICBwZXJtaXNzaW9ucy5ncmFudFNlY3JldFJlYWQoeyBzZWNyZXRBcm46IHByb3BzLnJlcG8udG9rZW5TZWNyZXRBcm4gfSwgdGhpcy5wcm9qZWN0LnJvbGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5zY2hlZHVsZUV4cHJlc3Npb24pIHtcbiAgICAgIGNvbnN0IHNjaGVkdWxlID0gZXZlbnRzLlNjaGVkdWxlLmV4cHJlc3Npb24ocHJvcHMuc2NoZWR1bGVFeHByZXNzaW9uKTtcbiAgICAgIG5ldyBldmVudHMuUnVsZSh0aGlzLCAnU2NoZWR1bGVyJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1NjaGVkdWxlcyBhbiBhdXRvbWF0aWMgUHVsbCBSZXF1ZXN0IGZvciB0aGlzIHJlcG9zaXRvcnknLFxuICAgICAgICBzY2hlZHVsZSxcbiAgICAgICAgdGFyZ2V0czogW25ldyBldmVudHNfdGFyZ2V0cy5Db2RlQnVpbGRQcm9qZWN0KHRoaXMucHJvamVjdCldLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5hbGFybSA9IHRoaXMucHJvamVjdC5tZXRyaWNGYWlsZWRCdWlsZHMoeyBwZXJpb2Q6IER1cmF0aW9uLnNlY29uZHMoMzAwKSB9KS5jcmVhdGVBbGFybSh0aGlzLCAnQXV0b1B1bGxSZXF1ZXN0RmFpbGVkQWxhcm0nLCB7XG4gICAgICB0aHJlc2hvbGQ6IDEsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICAgIHRyZWF0TWlzc2luZ0RhdGE6IGNsb3Vkd2F0Y2guVHJlYXRNaXNzaW5nRGF0YS5JR05PUkUsXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVIZWFkKCk6IHN0cmluZ1tdIHtcblxuICAgIHJldHVybiBbXG4gICAgICAvLyBjaGVjayBpZiBoZWFkIGJyYW5jaCBleGlzdHNcbiAgICAgIGBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IG9yaWdpbi8ke3RoaXMucHJvcHMuaGVhZC5uYW1lfSBgICtcblxuICAgICAgLy8gY2hlY2tvdXQgYW5kIG1lcmdlIGlmIGl0IGRvZXMgKHRoaXMgbWlnaHQgZmFpbCBkdWUgdG8gbWVyZ2UgY29uZmxpY3RzKVxuICAgICAgYCYmIHsgZ2l0IGNoZWNrb3V0ICR7dGhpcy5wcm9wcy5oZWFkLm5hbWV9ICYmIGdpdCBtZXJnZSAke3RoaXMuaGVhZFNvdXJjZX0gJiYgJHt0aGlzLnJ1bkNvbW1hbmRzKCl9OyAgfSBgICtcblxuICAgICAgLy8gY3JlYXRlIGlmIGl0IGRvZXNudC4gd2UgaW5pdGlhbGx5IHVzZSAndGVtcCcgdG8gYWxsb3cgdXNpbmcgZXhwb3J0cyBpbiB0aGUgaGVhZCBicmFuY2ggbmFtZS4gKGUuZyBidW1wLyRWRVJTSU9OKVxuICAgICAgYHx8IHsgZ2l0IGNoZWNrb3V0ICR7dGhpcy5oZWFkU291cmNlfSAmJiBnaXQgY2hlY2tvdXQgLWIgdGVtcCAmJiAke3RoaXMucnVuQ29tbWFuZHMoKX0gJiYgZ2l0IGJyYW5jaCAtTSAke3RoaXMucHJvcHMuaGVhZC5uYW1lfTsgfWAsXG5cbiAgICBdO1xuXG4gIH1cblxuICBwcml2YXRlIGNsb25lSWZOZWVkZWQoKTogc3RyaW5nW10ge1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGNoZWNrIGlmIC5naXQgZXhpc3RcbiAgICAgICdscyAuZ2l0ICcgK1xuXG4gICAgICAvLyBhbGwgZ29vZFxuICAgICAgJyYmIHsgZWNobyBcIi5naXQgZGlyZWN0b3J5IGV4aXN0c1wiOyAgfSAnICtcblxuICAgICAgLy8gY2xvbmUgaWYgaXQgZG9lc24ndFxuICAgICAgYHx8IHsgZWNobyBcIi5naXQgZGlyZWN0b3J5IGRvZXNub3QgZXhpc3QgLSBjbG9uaW5nLi4uXCIgJiYgZ2l0IGluaXQgLiAmJiBnaXQgcmVtb3RlIGFkZCBvcmlnaW4gZ2l0QGdpdGh1Yi5jb206JHt0aGlzLnByb3BzLnJlcG8ub3duZXJ9LyR7dGhpcy5wcm9wcy5yZXBvLnJlcG99LmdpdCAmJiBnaXQgZmV0Y2ggJiYgZ2l0IHJlc2V0IC0taGFyZCBvcmlnaW4vJHt0aGlzLmJhc2VCcmFuY2h9ICYmIGdpdCBicmFuY2ggLU0gJHt0aGlzLmJhc2VCcmFuY2h9ICYmIGdpdCBjbGVhbiAtZnFkeDsgfWAsXG5cbiAgICBdO1xuXG4gIH1cblxuICBwcml2YXRlIHJ1bkNvbW1hbmRzKCk6IHN0cmluZyB7XG5cbiAgICBjb25zdCB1c2VyQ29tbWFuZHMgPSB0aGlzLnByb3BzLmNvbW1hbmRzID8/IFtdO1xuICAgIGNvbnN0IGV4cG9ydHMgPSBPYmplY3QuZW50cmllcyh0aGlzLmV4cG9ydHMpLm1hcChlbnRyeSA9PiBgZXhwb3J0ICR7ZW50cnlbMF19PSQoJHtlbnRyeVsxXX0pYCk7XG5cbiAgICByZXR1cm4gW1xuXG4gICAgICAuLi51c2VyQ29tbWFuZHMsXG5cbiAgICAgIC8vIGV4cG9ydHMgc2hvdWxkIGJlIGV4ZWN1dGVkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSB1c2VyIGNvbW1hbmRzIChub3QgYmVmb3JlKVxuICAgICAgLy8gYmVjYXVzZSB0aGV5IG1pZ2h0IG5lZWQgYWNjZXNzIHRvIGFydGlmYWN0cyBwcm9kdWNlZCBieSB0aGVtIChlLmcgdmVyc2lvbiBmaWxlKS5cbiAgICAgIC4uLmV4cG9ydHMsXG5cbiAgICAgICdlY2hvIEZpbmlzaGVkIHJ1bm5pbmcgdXNlciBjb21tYW5kcycsXG4gICAgXS5qb2luKCcgJiYgJyk7XG5cbiAgfVxuXG4gIHByaXZhdGUgY29uZmlndXJlU3NoQWNjZXNzKCk6IHN0cmluZ1tdIHtcblxuICAgIHJldHVybiBbXG4gICAgICAnYXdzIHNlY3JldHNtYW5hZ2VyIGdldC1zZWNyZXQtdmFsdWUgJ1xuICAgICAgICArIGAtLXNlY3JldC1pZCBcIiR7dGhpcy5wcm9wcy5yZXBvLnNzaEtleVNlY3JldC5zZWNyZXRBcm59XCIgYFxuICAgICAgICArICctLW91dHB1dD10ZXh0IC0tcXVlcnk9U2VjcmV0U3RyaW5nID4gfi8uc3NoL2lkX3JzYScsXG4gICAgICAnbWtkaXIgLXAgfi8uc3NoJyxcbiAgICAgICdjaG1vZCAwNjAwIH4vLnNzaC9pZF9yc2Egfi8uc3NoL2NvbmZpZycsXG4gICAgICAnc3NoLWtleXNjYW4gLXQgcnNhIGdpdGh1Yi5jb20gPj4gfi8uc3NoL2tub3duX2hvc3RzJyxcbiAgICBdO1xuXG4gIH1cblxuICBwcml2YXRlIHB1c2hIZWFkKCk6IHN0cmluZ1tdIHtcbiAgICAvLyBXZSB3aWxsIGRvIG5vdGhpbmcgYW5kIHNldCBgU0tJUD10cnVlYCBpZiB0aGUgaGVhZCByZWYgaXMgYW4gYW5jZXN0b3Igb2YgdGhlIGJhc2UgYnJhbmNoIChubyBQUiBjb3VsZCBiZSBjcmVhdGVkKVxuICAgIHJldHVybiBbXG4gICAgICBgZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciAke3RoaXMucHJvcHMuaGVhZC5uYW1lfSBvcmlnaW4vJHt0aGlzLmJhc2VCcmFuY2h9YFxuICAgICAgICArIGAgJiYgeyBlY2hvIFwiU2tpcHBpbmc6ICR7dGhpcy5wcm9wcy5oZWFkLm5hbWV9IGlzIGFuIGFuY2VzdG9yIG9mIG9yaWdpbi8ke3RoaXMuYmFzZUJyYW5jaH1cIjsgZXhwb3J0IFNLSVA9dHJ1ZTsgfWBcbiAgICAgICAgKyBgIHx8IHsgZWNobyBcIlB1c2hpbmc6ICR7dGhpcy5wcm9wcy5oZWFkLm5hbWV9IGlzIGFoZWFkIG9mIG9yaWdpbi8ke3RoaXMuYmFzZUJyYW5jaH1cIjsgZXhwb3J0IFNLSVA9ZmFsc2U7IH1gLFxuICAgICAgYGdpdCByZW1vdGUgYWRkIG9yaWdpbl9zc2ggJHt0aGlzLnByb3BzLnJlcG8ucmVwb3NpdG9yeVVybFNzaH1gLFxuICAgICAgLy8gTmVlZCBgLS1hdG9taWNgLCBvdGhlcndpc2UgYGdpdCBwdXNoYCBtaWdodCBzdWNjZXNzZnVsbHkgcHVzaCB0aGUgdGFncyBidXQgbm90IHRvIGBtYWluYC5cbiAgICAgIGBnaXQgcHVzaCAtLWF0b21pYyAtLWZvbGxvdy10YWdzIG9yaWdpbl9zc2ggJHt0aGlzLnByb3BzLmhlYWQubmFtZX06JHt0aGlzLnByb3BzLmhlYWQubmFtZX1gLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHNraXBJZk9wZW5QcnMobGFiZWxzOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmaWx0ZXJzID0gW1xuICAgICAgYHJlcG86JHt0aGlzLnByb3BzLnJlcG8ub3duZXJ9LyR7dGhpcy5wcm9wcy5yZXBvLnJlcG99YCxcbiAgICAgICdpczpwcicsXG4gICAgICAnaXM6b3BlbicsXG4gICAgICAuLi5sYWJlbHMubWFwKGwgPT4gYGxhYmVsOiR7bH1gKSxcbiAgICBdO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIGAke3RoaXMuZ2l0aHViQ3VybEdldChgL3NlYXJjaC9pc3N1ZXM/cT0ke2VuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJzLmpvaW4oJyAnKSl9YCwgJy1vIHNlYXJjaC5qc29uJyl9YCxcbiAgICAgICdub2RlIC1lIFxcJ3Byb2Nlc3MuZXhpdENvZGUgPSByZXF1aXJlKFwiLi9zZWFyY2guanNvblwiKS50b3RhbF9jb3VudFxcJydcbiAgICAgICAgKyBgIHx8IHsgZWNobyBcIkZvdW5kIG9wZW4gUFJzIHdpdGggbGFiZWwgJHtsYWJlbHN9LCBza2lwcGluZyBQUi5cIjsgZXhwb3J0IFNLSVA9dHJ1ZTsgfWAsXG4gICAgXTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBjcmVhdGVQdWxsUmVxdWVzdCgpOiBzdHJpbmdbXSB7XG5cbiAgICBjb25zdCBoZWFkID0gdGhpcy5wcm9wcy5oZWFkLm5hbWU7XG4gICAgY29uc3QgYmFzZSA9IHRoaXMuYmFzZUJyYW5jaDtcblxuICAgIGlmIChoZWFkID09PSBiYXNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEhlYWQgYnJhbmNoIChcIiR7YmFzZX1cIikgaXMgdGhlIHNhbWUgYXMgdGhlIGJhc2UgYnJhbmNoIChcIiR7aGVhZH1cIilgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wcyA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdGl0bGUgPSBwcm9wcy50aXRsZSA/PyBgTWVyZ2UgJHtoZWFkfSB0byAke2Jhc2V9YDtcbiAgICBjb25zdCBib2R5ID0gdGhpcy5wcm9wcy5ib2R5ID8/ICcnO1xuXG4gICAgY29uc3QgY3JlYXRlUmVxdWVzdCA9IHsgdGl0bGUsIGJhc2UsIGhlYWQgfTtcblxuICAgIGNvbnN0IGNvbW1hbmRzID0gW107XG5cbiAgICAvLyBjcmVhdGUgdGhlIFBSXG4gICAgY29tbWFuZHMucHVzaChgJHt0aGlzLmdpdGh1YkN1cmwoJy9wdWxscycsICctWCBQT1NUIC1vIHByLmpzb24nLCBjcmVhdGVSZXF1ZXN0KX0gJiYgZXhwb3J0IFBSX05VTUJFUj0kKG5vZGUgLXAgJ3JlcXVpcmUoXCIuL3ByLmpzb25cIikubnVtYmVyJylgKTtcblxuICAgIC8vIHVwZGF0ZSB0aGUgYm9keVxuICAgIGNvbW1hbmRzLnB1c2godGhpcy5naXRodWJDdXJsKCcvcHVsbHMvJFBSX05VTUJFUicsICctWCBQQVRDSCcsIHsgYm9keTogYm9keSB9KSk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5sYWJlbHMgJiYgdGhpcy5wcm9wcy5sYWJlbHMubGVuZ3RoID4gMCkge1xuICAgIC8vIGFwcGx5IGxhYmVscy5cbiAgICAgIGNvbW1hbmRzLnB1c2godGhpcy5naXRodWJDdXJsKCcvaXNzdWVzLyRQUl9OVU1CRVIvbGFiZWxzJywgJy1YIFBPU1QnLCB7IGxhYmVsczogdGhpcy5wcm9wcy5sYWJlbHMgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiBjb21tYW5kcztcblxuICB9XG5cbiAgcHJpdmF0ZSBnaXRodWJDdXJsKHVyaTogc3RyaW5nLCBjb21tYW5kOiBzdHJpbmcsIHJlcXVlc3Q6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdjdXJsIC0tZmFpbCcsXG4gICAgICBjb21tYW5kLFxuICAgICAgJy0taGVhZGVyIFwiQXV0aG9yaXphdGlvbjogdG9rZW4gJEdJVEhVQl9UT0tFTlwiJyxcbiAgICAgICctLWhlYWRlciBcIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvblwiJyxcbiAgICAgIGAtZCAke0pTT04uc3RyaW5naWZ5KEpTT04uc3RyaW5naWZ5KHJlcXVlc3QpKX1gLFxuICAgICAgYGh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvJHt0aGlzLnByb3BzLnJlcG8ub3duZXJ9LyR7dGhpcy5wcm9wcy5yZXBvLnJlcG99JHt1cml9YCxcbiAgICBdLmpvaW4oJyAnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2l0aHViQ3VybEdldCh1cmk6IHN0cmluZywgY29tbWFuZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2N1cmwgLS1mYWlsJyxcbiAgICAgIGNvbW1hbmQsXG4gICAgICAnLS1oZWFkZXIgXCJBdXRob3JpemF0aW9uOiB0b2tlbiAkR0lUSFVCX1RPS0VOXCInLFxuICAgICAgJy0taGVhZGVyIFwiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXCInLFxuICAgICAgYCdodHRwczovL2FwaS5naXRodWIuY29tJHt1cml9J2AsXG4gICAgXS5qb2luKCcgJyk7XG4gIH1cblxufVxuXG4iXX0=
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -12,4 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./ecr-mirror"), exports);
|
|
14
18
|
__exportStar(require("./mirror-source"), exports);
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLGtEQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWNyLW1pcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL21pcnJvci1zb3VyY2UnOyJdfQ==
|