ctt-babylon 0.25.8 → 0.25.9
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/esm2022/lib/components/core/babylon-booking-widget/babylon-booking-widget.component.mjs
CHANGED
|
@@ -76,6 +76,9 @@ export class BabylonBookingWidgetComponent {
|
|
|
76
76
|
new window.WidgetSearch(el, {});
|
|
77
77
|
}
|
|
78
78
|
this.injectMarketingParams(el);
|
|
79
|
+
el.addEventListener('click', () => {
|
|
80
|
+
this.injectMarketingParams(el);
|
|
81
|
+
}, true);
|
|
79
82
|
}
|
|
80
83
|
injectMarketingParams(element) {
|
|
81
84
|
if (typeof window === 'undefined' ||
|
|
@@ -456,4 +459,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
456
459
|
}], monthsToDisplay: [{
|
|
457
460
|
type: Input
|
|
458
461
|
}] } });
|
|
459
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy13aWRnZXQvYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFHTCxXQUFXLEVBRVgsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsSUFBSSxtQkFBbUIsR0FBeUIsSUFBSSxDQUFDO0FBRXJELFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDekIsSUFBSSxtQkFBbUI7UUFBRSxPQUFPLG1CQUFtQixDQUFDO0lBRXBELG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3hELDJCQUEyQjtRQUMzQixJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQ3RELE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENB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aUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUdyQyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUExBVEZPUk1fSUQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFieWxvbldpZGdldFNlYXJjaExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9iYWJ5bG9uLXdpZGdldC1zZWFyY2gtbG9hZGVyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIFdpZGdldFNlYXJjaDogYW55O1xuICAgICAgICBpbml0aWFsaXplV2lkZ2V0U2VhcmNoPzogKCkgPT4gdm9pZDtcbiAgICAgICAgZ2V0V2lkZ2V0SW5zdGFuY2U/OiAoaWQ6IHN0cmluZykgPT4gYW55O1xuICAgIH1cbn1cblxubGV0IHdpZGdldFNjcmlwdFByb21pc2U6IFByb21pc2U8dm9pZD4gfCBudWxsID0gbnVsbDtcblxuZnVuY3Rpb24gbG9hZE9uY2Uoc3JjOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAod2lkZ2V0U2NyaXB0UHJvbWlzZSkgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG5cbiAgICB3aWRnZXRTY3JpcHRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAvLyBTaSB5YSBleGlzdGUsIHJlc29sdmVtb3NcbiAgICAgICAgaWYgKHdpbmRvdy5XaWRnZXRTZWFyY2ggfHwgd2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgcy5zcmMgPSBzcmM7XG4gICAgICAgIHMuYXN5bmMgPSB0cnVlO1xuICAgICAgICBzLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcbiAgICAgICAgcy5vbmVycm9yID0gKCkgPT5cbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ05vIHNlIHB1ZG8gY2FyZ2FyIGVsIHNjcmlwdCBkZWwgd2lkZ2V0JykpO1xuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWJhYnlsb24tYm9va2luZy13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI3dpZGdldENvbnRhaW5lclxuICAgICAgICAgICAgW2lkXT1cIndpZGdldElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYm9vay1pZF09XCJob3RlbElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaG90ZWxdPVwidGlja2VyXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZW5naW5lXT1cImVuZ2luZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtY3VycmVuY3ldPVwiY3VycmVuY3lcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1sb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbGF5b3V0XT1cImxheW91dFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWxheW91dC1jb2x1bW5dPVwibGF5b3V0Q29sdW1uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVmYXVsdC1hZHVsdHNdPVwiZGVmYXVsdEFkdWx0c1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlZmF1bHQtanVuaW9yXT1cImRlZmF1bHRKdW5pb3JcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWZhdWx0LWNoaWxkcmVuXT1cImRlZmF1bHRDaGlsZHJlblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctcHJpY2VdPVwic2hvd1ByaWNlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1ob3RlbC1zZWxlY3Rvcl09XCJzaG93SG90ZWxTZWxlY3RvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctcHJvbW8tY29kZV09XCJzaG93UHJvbW9Db2RlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1jaGlsZC1hZ2VzXT1cInNob3dDaGlsZEFnZXNcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1tYXgtY2hpbGRyZW5dPVwibWF4Q2hpbGRyZW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1tYXgtanVuaW9yXT1cIm1heEp1bmlvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJhc2UtdXJsXT1cImJhc2VVcmxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtY2hhaW5dPVwidXJsQ2hhaW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtaG90ZWxdPVwidXJsSG90ZWxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1idXR0b24tdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LXJvb21zXT1cIm1heFJvb21zXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1hbGwtaG90ZWxzLW9wdGlvbl09XCJzaG93QWxsSG90ZWxzT3B0aW9uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdGFyZ2V0LWJsYW5rXT1cInRhcmdldEJsYW5rXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaG90ZWwtdGV4dF09XCJob3RlbFRleHRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1taW4tZGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LWRhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRpc3BsYXktbW9udGhzXT1cIm1vbnRoc1RvRGlzcGxheVwiXG4gICAgICAgID48L2Rpdj5cbiAgICBgLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uQm9va2luZ1dpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnd2lkZ2V0Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICB3aWRnZXRDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpIHdpZGdldElkID0gJ3dpZGdldC1zZWFyY2gnO1xuICAgIEBJbnB1dCgpIGhvdGVsSWQgPSAnYWxlY2FkJztcbiAgICBASW5wdXQoKSB0aWNrZXIgPSAnaG90ZWxtYXJpc3RlbC5jb20nO1xuICAgIEBJbnB1dCgpIHR5cGU6ICdjaGFpbicgfCAnaG90ZWwnIHwgc3RyaW5nID0gJ2NoYWluJztcbiAgICBASW5wdXQoKSBlbmdpbmU6ICd3aXRib29raW5nJyB8ICdyb2liYWNrJyB8IHN0cmluZyA9ICd3aXRib29raW5nJztcbiAgICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyB8IHN0cmluZyA9ICdsaWdodCc7XG4gICAgQElucHV0KCkgY3VycmVuY3kgPSAnRVVSJztcbiAgICBASW5wdXQoKSBsb2NhbGU/OiBzdHJpbmcgPSAnZXMtRVMnO1xuICAgIEBJbnB1dCgpIGxheW91dDogJ2lubGluZScgfCAnY29sdW1uJyB8IHN0cmluZyA9ICdpbmxpbmUnO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRBZHVsdHMgPSAyO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRDaGlsZHJlbiA9IDA7XG4gICAgQElucHV0KCkgZGVmYXVsdEp1bmlvciA9IDA7XG4gICAgQElucHV0KCkgc2hvd1ByaWNlID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0hvdGVsU2VsZWN0b3IgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3dQcm9tb0NvZGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3dDaGlsZEFnZXMgPSB0cnVlO1xuICAgIEBJbnB1dCgpIG1heENoaWxkcmVuPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIG1heEp1bmlvcj86IG51bWJlcjtcbiAgICBASW5wdXQoKSBiYXNlVXJsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHVybENoYWluPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHVybEhvdGVsID0gJ2hvdGVsJztcbiAgICBASW5wdXQoKSBidXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxheW91dENvbHVtbj86IHN0cmluZztcbiAgICBASW5wdXQoKSBtYXhSb29tcz86IHN0cmluZztcbiAgICBASW5wdXQoKSBzaG93QWxsSG90ZWxzT3B0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRhcmdldEJsYW5rPzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBob3RlbFRleHQ/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWF4RGF0ZT86IHN0cmluZzsgLyogMjAyOC0wMS0wMSAqL1xuICAgIEBJbnB1dCgpIG1pbkRhdGU/OiBzdHJpbmc7IC8qIDIwMjgtMDEtMDEgKi9cblxuICAgIEBJbnB1dCgpIGZsYWdUaW1lPzogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgbW9udGhzVG9EaXNwbGF5PzogbnVtYmVyID0gMTtcblxuICAgIHByaXZhdGUgbW91bnRlZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwZW5kaW5nVGlja2VyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHJldHJ5VGltZW91dDogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBsb2FkZXI6IEJhYnlsb25XaWRnZXRTZWFyY2hMb2FkZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vV2FpdCBmb3IgaW5wdXRzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tb3VudGVkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOKsh++4jyBQT04gQVFVw40gbGEgVVJMIHJlYWwgZGVsIHNjcmlwdCBkZSBXaXRib29raW5nXG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRlci5sb2FkKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW91bnQoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLmZsYWdUaW1lID8gMzAwIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW91bnRlZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy53aWRnZXRDb250YWluZXIubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyBPcGNpw7NuIEEgKHNpIGV4aXN0ZSk6IGluaXQgZ2xvYmFsIG1hbnVhbFxuICAgICAgICBpZiAod2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHdpbmRvdy5pbml0aWFsaXplV2lkZ2V0U2VhcmNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gT3BjacOzbiBCOiBjb25zdHJ1Y3RvciAoU29sbyBlbnRyYSBzaSBubyBleGlzdGUgbGEgQSlcbiAgICAgICAgZWxzZSBpZiAod2luZG93LldpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgbmV3IHdpbmRvdy5XaWRnZXRTZWFyY2goZWwsIHt9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5qZWN0TWFya2V0aW5nUGFyYW1zKGVsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluamVjdE1hcmtldGluZ1BhcmFtcyhlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgICAgICAgdHlwZW9mIHNlc3Npb25TdG9yYWdlID09PSAndW5kZWZpbmVkJ1xuICAgICAgICApXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgLy8gRGljY2lvbmFyaW9zIGVzdMOhbmRhcltjaXRlOiAyM11cbiAgICAgICAgY29uc3QgQ0xJQ0tfSURTID0gW1xuICAgICAgICAgICAgJ2djbGlkJyxcbiAgICAgICAgICAgICdnYnJhaWQnLFxuICAgICAgICAgICAgJ3dicmFpZCcsXG4gICAgICAgICAgICAnZGNsaWQnLFxuICAgICAgICAgICAgJ21zY2xraWQnLFxuICAgICAgICAgICAgJ3ZtY2lkJyxcbiAgICAgICAgICAgICd5Y2xpZCcsXG4gICAgICAgICAgICAneW1jbGlkJyxcbiAgICAgICAgICAgICdmYmNsaWQnLFxuICAgICAgICAgICAgJ3R0Y2xpZCcsXG4gICAgICAgICAgICAnbGlfZmF0X2lkJyxcbiAgICAgICAgICAgICd0d2NsaWQnLFxuICAgICAgICAgICAgJ2VwaWsnLFxuICAgICAgICAgICAgJ3JkdF9jaWQnLFxuICAgICAgICAgICAgJ1NjQ2lkJyxcbiAgICAgICAgICAgICdxY2xpZCcsXG4gICAgICAgICAgICAnc2knLFxuICAgICAgICAgICAgJ2F3Y2xpZCcsXG4gICAgICAgICAgICAndGJsY2knLFxuICAgICAgICAgICAgJ2RpY2JvJyxcbiAgICAgICAgICAgICdhZF9pZCcsXG4gICAgICAgICAgICAnaXJjbGlja2lkJyxcbiAgICAgICAgICAgICdjamV2ZW50JyxcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgVVRNUyA9IFtcbiAgICAgICAgICAgICd1dG1fc291cmNlJyxcbiAgICAgICAgICAgICd1dG1fbWVkaXVtJyxcbiAgICAgICAgICAgICd1dG1fY2FtcGFpZ24nLFxuICAgICAgICAgICAgJ3V0bV90ZXJtJyxcbiAgICAgICAgICAgICd1dG1fY29udGVudCcsXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgbWFya2V0aW5nRGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuXG4gICAgICAgIC8vIC0tLSBDQVBBIDE6IFVSTCAtLS1cbiAgICAgICAgWy4uLkNMSUNLX0lEUywgLi4uVVRNUywgJ29yaWdpbiddLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsID0gcGFyYW1zLmdldChrZXkpO1xuICAgICAgICAgICAgaWYgKHZhbCkgbWFya2V0aW5nRGF0YVtrZXldID0gdmFsO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyAtLS0gQ0FQQSAyOiBDT09LSUVTIC0tLVxuICAgICAgICBpZiAoT2JqZWN0LmtleXMobWFya2V0aW5nRGF0YSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBnZXRDb29raWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSBkb2N1bWVudC5jb29raWUubWF0Y2goXG4gICAgICAgICAgICAgICAgICAgIG5ldyBSZWdFeHAoJyhefCApJyArIG5hbWUgKyAnPShbXjtdKyknKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoID8gZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoWzJdKSA6IG51bGw7IC8vIGRlY29kZVVSSUNvbXBvbmVudCBwb3Igc2kgdmllbmUgY29uIGNhcmFjdGVyZXMgcmFyb3NcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIC8vIDEuIEdvb2dsZSBBZHMgbmF0aXZvIChfZ2NsX2F3KVxuICAgICAgICAgICAgY29uc3QgZ2NsQXcgPSBnZXRDb29raWUoJ19nY2xfYXcnKTtcbiAgICAgICAgICAgIGlmIChnY2xBdyAmJiBnY2xBdy5zcGxpdCgnLicpLmxlbmd0aCA+PSAzKSB7XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnZ2NsaWQnXSA9IGdjbEF3LnNwbGl0KCcuJylbMl07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIDIuIFNhbHZhdmlkYXM6IENvb2tpZSBwZXJzb25hbGl6YWRhIGRlIHZ1ZXN0cm8gZW50b3JubyAoZ2NsaWRfaW5mbylcbiAgICAgICAgICAgIGlmICghbWFya2V0aW5nRGF0YVsnZ2NsaWQnXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdjbGlkSW5mbyA9IGdldENvb2tpZSgnZ2NsaWRfaW5mbycpO1xuICAgICAgICAgICAgICAgIGlmIChnY2xpZEluZm8pIG1hcmtldGluZ0RhdGFbJ2djbGlkJ10gPSBnY2xpZEluZm87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIDMuIERvdWJsZUNsaWNrIC8gR29vZ2xlIERpc3BsYXkgbmF0aXZvIChfZ2NsX2RjKVxuICAgICAgICAgICAgY29uc3QgZ2NsRGMgPSBnZXRDb29raWUoJ19nY2xfZGMnKTtcbiAgICAgICAgICAgIGlmIChnY2xEYyAmJiBnY2xEYy5zcGxpdCgnLicpLmxlbmd0aCA+PSAzKSB7XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnZGNsaWQnXSA9IGdjbERjLnNwbGl0KCcuJylbMl07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIDQuIE1ldGEgQWRzIChfZmJwKVxuICAgICAgICAgICAgY29uc3QgZmJwID0gZ2V0Q29va2llKCdfZmJwJyk7XG4gICAgICAgICAgICBpZiAoZmJwKSBtYXJrZXRpbmdEYXRhWydmYmNsaWQnXSA9IGZicDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLSBDQVBBIDM6IERBVEFMQVlFUiAtLS1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgT2JqZWN0LmtleXMobWFya2V0aW5nRGF0YSkubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuZGF0YUxheWVyXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgZGwgPSAod2luZG93IGFzIGFueSkuZGF0YUxheWVyIGFzIGFueVtdO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IGRsLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IGRsW2ldO1xuICAgICAgICAgICAgICAgIFsuLi5DTElDS19JRFMsIC4uLlVUTVMsICd0cmFmZmljX3NvdXJjZScsICdvcmlnaW4nXS5mb3JFYWNoKFxuICAgICAgICAgICAgICAgICAgICAoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVtrZXldICYmICFtYXJrZXRpbmdEYXRhW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaW5hbEtleSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSA9PT0gJ3RyYWZmaWNfc291cmNlJyA/ICdvcmlnaW4nIDoga2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbZmluYWxLZXldID0gaXRlbVtrZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMobWFya2V0aW5nRGF0YSkubGVuZ3RoID4gMCkgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0gQ0FQQSA0OiBSRUZFUkVOVEUgRVhURVJOTyAoVFLDgUZJQ08gT1JHw4FOSUNPIE5VRVZPKSAtLS1cbiAgICAgICAgLy8gU29sbyBldmFsdWFtb3MgZWwgcmVmZXJyZXIgc2kgbGEgVVJMLCBDb29raWVzIHkgR1RNIHZlbsOtYW4gbGltcGlvc1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMobWFya2V0aW5nRGF0YSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCByZWZlcnJlciA9IGRvY3VtZW50LnJlZmVycmVyXG4gICAgICAgICAgICAgICAgPyBkb2N1bWVudC5yZWZlcnJlci50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRIb3N0ID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIC8vIFNpIGhheSByZWZlcmVudGUgeSBOTyBpbmNsdXllIG51ZXN0cm8gcHJvcGlvIGRvbWluaW8sIGVzIHVuYSBWSVNJVEEgTlVFVkEgRVhURVJOQVxuICAgICAgICAgICAgaWYgKHJlZmVycmVyICYmICFyZWZlcnJlci5pbmNsdWRlcyhjdXJyZW50SG9zdCkpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2dvb2dsZS4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnZ29vZ2xlX29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCdiaW5nLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdiaW5nX29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCd5YWhvby4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAneWFob29fb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2R1Y2tkdWNrZ28uJykpXG4gICAgICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ2R1Y2tkdWNrZ29fb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ3lhbmRleC4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAneWFuZGV4X29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCdiYWlkdS4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnYmFpZHVfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2Vjb3NpYS4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnZWNvc2lhX29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCdxd2FudC4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAncXdhbnRfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2Fzay4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnYXNrX29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCduYXZlci4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnbmF2ZXJfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdyZWZlcnJhbF9vdGhlcic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0gQ0FQQSA1OiBSRUNVUEVSQVIgREUgU0VTScOTTiAoTmF2ZWdhY2nDs24gaW50ZXJuYSBlbiB0dSB3ZWIpIC0tLVxuICAgICAgICAvLyBTaSBzZWd1aW1vcyBzaW4gZGF0b3MgKFVSTCBsaW1waWEgeSBlbCByZWZlcmVudGUgZXMgaW50ZXJubyBvIHZhY8OtbyksIHJlY3Vycmltb3MgYSBsYSBzZXNpw7NuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHN0b3JlZEtleXMgPSBPYmplY3Qua2V5cyhzZXNzaW9uU3RvcmFnZSkuZmlsdGVyKChrKSA9PlxuICAgICAgICAgICAgICAgIGsuc3RhcnRzV2l0aCgnbWt0XycpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgc3RvcmVkS2V5cy5mb3JFYWNoKChrKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxLZXkgPSBrLnJlcGxhY2UoJ21rdF8nLCAnJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrKTtcbiAgICAgICAgICAgICAgICBpZiAodmFsKSBtYXJrZXRpbmdEYXRhW29yaWdpbmFsS2V5XSA9IHZhbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tIDYuIE1BUEVPIEZJTkFMIFkgVkFMT1IgUE9SIERFRkVDVE8gLS0tXG4gICAgICAgIGlmICghbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10pIHtcbiAgICAgICAgICAgIGlmIChtYXJrZXRpbmdEYXRhWyd1dG1fc291cmNlJ10pIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9XG4gICAgICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ3V0bV9zb3VyY2UnXSArXG4gICAgICAgICAgICAgICAgICAgIChtYXJrZXRpbmdEYXRhWyd1dG1fbWVkaXVtJ11cbiAgICAgICAgICAgICAgICAgICAgICAgID8gYF8ke21hcmtldGluZ0RhdGFbJ3V0bV9tZWRpdW0nXX1gXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnZ2NsaWQnXSB8fFxuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ3dicmFpZCddIHx8XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnZ2JyYWlkJ10gfHxcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydkY2xpZCddXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdnb29nbGVfY3BjJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobWFya2V0aW5nRGF0YVsnZmJjbGlkJ10pIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdtZXRhX2Fkcyc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG1hcmtldGluZ0RhdGFbJ3R0Y2xpZCddKSB7XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAndGlrdG9rX2Fkcyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFRyw6FmaWNvIGRpcmVjdG8gcHVybzogU2luIFVSTCwgc2luIHJlZmVycmVyIGV4dGVybm8sIHNpbiBzZXNpw7NuIHByZXZpYVxuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ3dlYic7IC8vIFZhbG9yIHBvciBkZWZlY3RvIHBhcmEgV2l0Ym9va2luZ1tjaXRlOiAyMF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLSA3LiBQVVJHQVIgWSBHVUFSREFSIEVOIFNFU0nDk04gUEFSQSBGVVRVUkEgTkFWRUdBQ0nDk04gLS0tXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBCb3JyYW1vcyBsYSBzZXNpw7NuIGFudGVyaW9yIHBhcmEgZXZpdGFyIG1lemNsYXIgZGF0b3Mgc2kgZWwgdXN1YXJpbyBlbnRyYSBwb3IgdW5hIGNhbXBhw7FhIGRpZmVyZW50ZVxuICAgICAgICAgICAgT2JqZWN0LmtleXMoc2Vzc2lvblN0b3JhZ2UpLmZvckVhY2goKGspID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoay5zdGFydHNXaXRoKCdta3RfJykpIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oayk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIEd1YXJkYW1vcyBsYSBzZXNpw7NuIGxpbXBpYSB5IGZyZXNjYVxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMobWFya2V0aW5nRGF0YSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShgbWt0XyR7a2V5fWAsIHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge31cblxuICAgICAgICAvLyAtLS0gRU5Ww41PIEFMIFdJREdFVCAtLS1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnd2lkZ2V0VXBkYXRlUGFyYW1zJywge1xuICAgICAgICAgICAgICAgIGRldGFpbDogbWFya2V0aW5nRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCfinIUgTWFya2V0aW5nIEVudmlhZG86JywgbWFya2V0aW5nRGF0YSk7XG4gICAgICAgIH0sIDUwMCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1sndGlja2VyJ10pIHtcbiAgICAgICAgICAgIC8vIEd1YXJkYW1vcyBzaWVtcHJlIGVsIMOaTFRJTU8gdmFsb3IgcXVlIEFuZ3VsYXIgbm9zIG1hbmRlXG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdUaWNrZXIgPSBjaGFuZ2VzWyd0aWNrZXInXS5jdXJyZW50VmFsdWUgfHwgJ2FsbC1ob3RlbHMnO1xuXG4gICAgICAgICAgICAvLyBEaXNwYXJhbW9zIGxhIGFjdHVhbGl6YWNpw7NuXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJXaWRnZXRVcGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5yZXRyeVRpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJldHJ5VGltZW91dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJXaWRnZXRVcGRhdGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5yZXRyeVRpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJldHJ5VGltZW91dCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyRWwgPSB0aGlzLndpZGdldENvbnRhaW5lclxuICAgICAgICAgICAgICAgID8ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGlmICghY29udGFpbmVyRWwpIHJldHVybjtcblxuICAgICAgICAgICAgLy8gMS4gRXNwZXJhbW9zIGEgcXVlIGVsIHdpZGdldCBoYXlhIGRlc2NhcmdhZG8geSBkaWJ1amFkbyBsb3MgaG90ZWxlcyBlbiBlbCBET01cbiAgICAgICAgICAgIGNvbnN0IGhvdGVsT3B0aW9ucyA9IGNvbnRhaW5lckVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ob3RlbC1vcHRpb24nKTtcblxuICAgICAgICAgICAgaWYgKGhvdGVsT3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0VGlja2VyID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nVGlja2VyICYmIHRoaXMucGVuZGluZ1RpY2tlcj8udHJpbSgpICE9PSAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnBlbmRpbmdUaWNrZXIudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnYWxsLWhvdGVscyc7XG5cbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uVG9DbGljazogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgICAgICAgICAgICAgIC8vIDIuIEJ1c2NhbW9zIGxhIG9wY2nDs24gZGUgaG90ZWwgcmVhbCBxdWUgY29pbmNpZGEgY29uIGVsIHRpY2tlclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaG90ZWxPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IGhvdGVsT3B0aW9uc1tpXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0SWQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0LmdldEF0dHJpYnV0ZSgnZGF0YS1ob3RlbC1pZCcpPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIENvaW5jaWRlbmNpYSBleGFjdGEgbyBwYXJjaWFsIChwb3Igc2kgZWwgd2lkZ2V0IGxlIGHDsWFkZSBzdWZpam9zIGFsIElEKVxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZCA9PT0gdGFyZ2V0VGlja2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZC5pbmNsdWRlcyh0YXJnZXRUaWNrZXIpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uVG9DbGljayA9IG9wdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvblRvQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uVG9DbGljay5jbGljaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gQcO6biBubyBzZSBoYW4gZGlidWphZG8gbGFzIG9wY2lvbmVzLCBlbCBtb3RvciBzaWd1ZSBjYXJnYW5kby4uLlxuICAgICAgICAgICAgICAgIHRoaXMucmV0cnlUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4gdGhpcy50cmlnZ2VyV2lkZ2V0VXBkYXRlKCksXG4gICAgICAgICAgICAgICAgICAgIDMwMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
462
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy13aWRnZXQvYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFHTCxXQUFXLEVBRVgsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsSUFBSSxtQkFBbUIsR0FBeUIsSUFBSSxDQUFDO0FBRXJELFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDekIsSUFBSSxtQkFBbUI7UUFBRSxPQUFPLG1CQUFtQixDQUFDO0lBRXBELG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3hELDJCQUEyQjtRQUMzQixJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQ3RELE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENB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Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUExBVEZPUk1fSUQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFieWxvbldpZGdldFNlYXJjaExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9iYWJ5bG9uLXdpZGdldC1zZWFyY2gtbG9hZGVyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIFdpZGdldFNlYXJjaDogYW55O1xuICAgICAgICBpbml0aWFsaXplV2lkZ2V0U2VhcmNoPzogKCkgPT4gdm9pZDtcbiAgICAgICAgZ2V0V2lkZ2V0SW5zdGFuY2U/OiAoaWQ6IHN0cmluZykgPT4gYW55O1xuICAgIH1cbn1cblxubGV0IHdpZGdldFNjcmlwdFByb21pc2U6IFByb21pc2U8dm9pZD4gfCBudWxsID0gbnVsbDtcblxuZnVuY3Rpb24gbG9hZE9uY2Uoc3JjOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAod2lkZ2V0U2NyaXB0UHJvbWlzZSkgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG5cbiAgICB3aWRnZXRTY3JpcHRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAvLyBTaSB5YSBleGlzdGUsIHJlc29sdmVtb3NcbiAgICAgICAgaWYgKHdpbmRvdy5XaWRnZXRTZWFyY2ggfHwgd2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgcy5zcmMgPSBzcmM7XG4gICAgICAgIHMuYXN5bmMgPSB0cnVlO1xuICAgICAgICBzLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcbiAgICAgICAgcy5vbmVycm9yID0gKCkgPT5cbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ05vIHNlIHB1ZG8gY2FyZ2FyIGVsIHNjcmlwdCBkZWwgd2lkZ2V0JykpO1xuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWJhYnlsb24tYm9va2luZy13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI3dpZGdldENvbnRhaW5lclxuICAgICAgICAgICAgW2lkXT1cIndpZGdldElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYm9vay1pZF09XCJob3RlbElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaG90ZWxdPVwidGlja2VyXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZW5naW5lXT1cImVuZ2luZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtY3VycmVuY3ldPVwiY3VycmVuY3lcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1sb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbGF5b3V0XT1cImxheW91dFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWxheW91dC1jb2x1bW5dPVwibGF5b3V0Q29sdW1uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVmYXVsdC1hZHVsdHNdPVwiZGVmYXVsdEFkdWx0c1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlZmF1bHQtanVuaW9yXT1cImRlZmF1bHRKdW5pb3JcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWZhdWx0LWNoaWxkcmVuXT1cImRlZmF1bHRDaGlsZHJlblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctcHJpY2VdPVwic2hvd1ByaWNlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1ob3RlbC1zZWxlY3Rvcl09XCJzaG93SG90ZWxTZWxlY3RvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctcHJvbW8tY29kZV09XCJzaG93UHJvbW9Db2RlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1jaGlsZC1hZ2VzXT1cInNob3dDaGlsZEFnZXNcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1tYXgtY2hpbGRyZW5dPVwibWF4Q2hpbGRyZW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1tYXgtanVuaW9yXT1cIm1heEp1bmlvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJhc2UtdXJsXT1cImJhc2VVcmxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtY2hhaW5dPVwidXJsQ2hhaW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtaG90ZWxdPVwidXJsSG90ZWxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1idXR0b24tdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LXJvb21zXT1cIm1heFJvb21zXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1hbGwtaG90ZWxzLW9wdGlvbl09XCJzaG93QWxsSG90ZWxzT3B0aW9uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdGFyZ2V0LWJsYW5rXT1cInRhcmdldEJsYW5rXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaG90ZWwtdGV4dF09XCJob3RlbFRleHRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1taW4tZGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LWRhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRpc3BsYXktbW9udGhzXT1cIm1vbnRoc1RvRGlzcGxheVwiXG4gICAgICAgID48L2Rpdj5cbiAgICBgLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uQm9va2luZ1dpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnd2lkZ2V0Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICB3aWRnZXRDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpIHdpZGdldElkID0gJ3dpZGdldC1zZWFyY2gnO1xuICAgIEBJbnB1dCgpIGhvdGVsSWQgPSAnYWxlY2FkJztcbiAgICBASW5wdXQoKSB0aWNrZXIgPSAnaG90ZWxtYXJpc3RlbC5jb20nO1xuICAgIEBJbnB1dCgpIHR5cGU6ICdjaGFpbicgfCAnaG90ZWwnIHwgc3RyaW5nID0gJ2NoYWluJztcbiAgICBASW5wdXQoKSBlbmdpbmU6ICd3aXRib29raW5nJyB8ICdyb2liYWNrJyB8IHN0cmluZyA9ICd3aXRib29raW5nJztcbiAgICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyB8IHN0cmluZyA9ICdsaWdodCc7XG4gICAgQElucHV0KCkgY3VycmVuY3kgPSAnRVVSJztcbiAgICBASW5wdXQoKSBsb2NhbGU/OiBzdHJpbmcgPSAnZXMtRVMnO1xuICAgIEBJbnB1dCgpIGxheW91dDogJ2lubGluZScgfCAnY29sdW1uJyB8IHN0cmluZyA9ICdpbmxpbmUnO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRBZHVsdHMgPSAyO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRDaGlsZHJlbiA9IDA7XG4gICAgQElucHV0KCkgZGVmYXVsdEp1bmlvciA9IDA7XG4gICAgQElucHV0KCkgc2hvd1ByaWNlID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0hvdGVsU2VsZWN0b3IgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3dQcm9tb0NvZGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3dDaGlsZEFnZXMgPSB0cnVlO1xuICAgIEBJbnB1dCgpIG1heENoaWxkcmVuPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIG1heEp1bmlvcj86IG51bWJlcjtcbiAgICBASW5wdXQoKSBiYXNlVXJsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHVybENoYWluPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHVybEhvdGVsID0gJ2hvdGVsJztcbiAgICBASW5wdXQoKSBidXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxheW91dENvbHVtbj86IHN0cmluZztcbiAgICBASW5wdXQoKSBtYXhSb29tcz86IHN0cmluZztcbiAgICBASW5wdXQoKSBzaG93QWxsSG90ZWxzT3B0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRhcmdldEJsYW5rPzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBob3RlbFRleHQ/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWF4RGF0ZT86IHN0cmluZzsgLyogMjAyOC0wMS0wMSAqL1xuICAgIEBJbnB1dCgpIG1pbkRhdGU/OiBzdHJpbmc7IC8qIDIwMjgtMDEtMDEgKi9cblxuICAgIEBJbnB1dCgpIGZsYWdUaW1lPzogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgbW9udGhzVG9EaXNwbGF5PzogbnVtYmVyID0gMTtcblxuICAgIHByaXZhdGUgbW91bnRlZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwZW5kaW5nVGlja2VyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHJldHJ5VGltZW91dDogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBsb2FkZXI6IEJhYnlsb25XaWRnZXRTZWFyY2hMb2FkZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vV2FpdCBmb3IgaW5wdXRzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tb3VudGVkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOKsh++4jyBQT04gQVFVw40gbGEgVVJMIHJlYWwgZGVsIHNjcmlwdCBkZSBXaXRib29raW5nXG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRlci5sb2FkKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW91bnQoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLmZsYWdUaW1lID8gMzAwIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW91bnRlZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy53aWRnZXRDb250YWluZXIubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyBPcGNpw7NuIEEgKHNpIGV4aXN0ZSk6IGluaXQgZ2xvYmFsIG1hbnVhbFxuICAgICAgICBpZiAod2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHdpbmRvdy5pbml0aWFsaXplV2lkZ2V0U2VhcmNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gT3BjacOzbiBCOiBjb25zdHJ1Y3RvciAoU29sbyBlbnRyYSBzaSBubyBleGlzdGUgbGEgQSlcbiAgICAgICAgZWxzZSBpZiAod2luZG93LldpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgbmV3IHdpbmRvdy5XaWRnZXRTZWFyY2goZWwsIHt9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5qZWN0TWFya2V0aW5nUGFyYW1zKGVsKTtcblxuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgICAgJ2NsaWNrJyxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmluamVjdE1hcmtldGluZ1BhcmFtcyhlbCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5qZWN0TWFya2V0aW5nUGFyYW1zKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8XG4gICAgICAgICAgICB0eXBlb2Ygc2Vzc2lvblN0b3JhZ2UgPT09ICd1bmRlZmluZWQnXG4gICAgICAgIClcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAvLyBEaWNjaW9uYXJpb3MgZXN0w6FuZGFyW2NpdGU6IDIzXVxuICAgICAgICBjb25zdCBDTElDS19JRFMgPSBbXG4gICAgICAgICAgICAnZ2NsaWQnLFxuICAgICAgICAgICAgJ2dicmFpZCcsXG4gICAgICAgICAgICAnd2JyYWlkJyxcbiAgICAgICAgICAgICdkY2xpZCcsXG4gICAgICAgICAgICAnbXNjbGtpZCcsXG4gICAgICAgICAgICAndm1jaWQnLFxuICAgICAgICAgICAgJ3ljbGlkJyxcbiAgICAgICAgICAgICd5bWNsaWQnLFxuICAgICAgICAgICAgJ2ZiY2xpZCcsXG4gICAgICAgICAgICAndHRjbGlkJyxcbiAgICAgICAgICAgICdsaV9mYXRfaWQnLFxuICAgICAgICAgICAgJ3R3Y2xpZCcsXG4gICAgICAgICAgICAnZXBpaycsXG4gICAgICAgICAgICAncmR0X2NpZCcsXG4gICAgICAgICAgICAnU2NDaWQnLFxuICAgICAgICAgICAgJ3FjbGlkJyxcbiAgICAgICAgICAgICdzaScsXG4gICAgICAgICAgICAnYXdjbGlkJyxcbiAgICAgICAgICAgICd0YmxjaScsXG4gICAgICAgICAgICAnZGljYm8nLFxuICAgICAgICAgICAgJ2FkX2lkJyxcbiAgICAgICAgICAgICdpcmNsaWNraWQnLFxuICAgICAgICAgICAgJ2NqZXZlbnQnLFxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBVVE1TID0gW1xuICAgICAgICAgICAgJ3V0bV9zb3VyY2UnLFxuICAgICAgICAgICAgJ3V0bV9tZWRpdW0nLFxuICAgICAgICAgICAgJ3V0bV9jYW1wYWlnbicsXG4gICAgICAgICAgICAndXRtX3Rlcm0nLFxuICAgICAgICAgICAgJ3V0bV9jb250ZW50JyxcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBtYXJrZXRpbmdEYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG5cbiAgICAgICAgLy8gLS0tIENBUEEgMTogVVJMIC0tLVxuICAgICAgICBbLi4uQ0xJQ0tfSURTLCAuLi5VVE1TLCAnb3JpZ2luJ10uZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWwgPSBwYXJhbXMuZ2V0KGtleSk7XG4gICAgICAgICAgICBpZiAodmFsKSBtYXJrZXRpbmdEYXRhW2tleV0gPSB2YWw7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIC0tLSBDQVBBIDI6IENPT0tJRVMgLS0tXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGdldENvb2tpZSA9IChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaChcbiAgICAgICAgICAgICAgICAgICAgbmV3IFJlZ0V4cCgnKF58ICknICsgbmFtZSArICc9KFteO10rKScpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2ggPyBkZWNvZGVVUklDb21wb25lbnQobWF0Y2hbMl0pIDogbnVsbDsgLy8gZGVjb2RlVVJJQ29tcG9uZW50IHBvciBzaSB2aWVuZSBjb24gY2FyYWN0ZXJlcyByYXJvc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8gMS4gR29vZ2xlIEFkcyBuYXRpdm8gKF9nY2xfYXcpXG4gICAgICAgICAgICBjb25zdCBnY2xBdyA9IGdldENvb2tpZSgnX2djbF9hdycpO1xuICAgICAgICAgICAgaWYgKGdjbEF3ICYmIGdjbEF3LnNwbGl0KCcuJykubGVuZ3RoID49IDMpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydnY2xpZCddID0gZ2NsQXcuc3BsaXQoJy4nKVsyXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gMi4gU2FsdmF2aWRhczogQ29va2llIHBlcnNvbmFsaXphZGEgZGUgdnVlc3RybyBlbnRvcm5vIChnY2xpZF9pbmZvKVxuICAgICAgICAgICAgaWYgKCFtYXJrZXRpbmdEYXRhWydnY2xpZCddKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2NsaWRJbmZvID0gZ2V0Q29va2llKCdnY2xpZF9pbmZvJyk7XG4gICAgICAgICAgICAgICAgaWYgKGdjbGlkSW5mbykgbWFya2V0aW5nRGF0YVsnZ2NsaWQnXSA9IGdjbGlkSW5mbztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gMy4gRG91YmxlQ2xpY2sgLyBHb29nbGUgRGlzcGxheSBuYXRpdm8gKF9nY2xfZGMpXG4gICAgICAgICAgICBjb25zdCBnY2xEYyA9IGdldENvb2tpZSgnX2djbF9kYycpO1xuICAgICAgICAgICAgaWYgKGdjbERjICYmIGdjbERjLnNwbGl0KCcuJykubGVuZ3RoID49IDMpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydkY2xpZCddID0gZ2NsRGMuc3BsaXQoJy4nKVsyXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gNC4gTWV0YSBBZHMgKF9mYnApXG4gICAgICAgICAgICBjb25zdCBmYnAgPSBnZXRDb29raWUoJ19mYnAnKTtcbiAgICAgICAgICAgIGlmIChmYnApIG1hcmtldGluZ0RhdGFbJ2ZiY2xpZCddID0gZmJwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tIENBUEEgMzogREFUQUxBWUVSIC0tLVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAgICh3aW5kb3cgYXMgYW55KS5kYXRhTGF5ZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBkbCA9ICh3aW5kb3cgYXMgYW55KS5kYXRhTGF5ZXIgYXMgYW55W107XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gZGwubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gZGxbaV07XG4gICAgICAgICAgICAgICAgWy4uLkNMSUNLX0lEUywgLi4uVVRNUywgJ3RyYWZmaWNfc291cmNlJywgJ29yaWdpbiddLmZvckVhY2goXG4gICAgICAgICAgICAgICAgICAgIChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtW2tleV0gJiYgIW1hcmtldGluZ0RhdGFba2V5XSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbmFsS2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5ID09PSAndHJhZmZpY19zb3VyY2UnID8gJ29yaWdpbicgOiBrZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVtmaW5hbEtleV0gPSBpdGVtW2tleV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPiAwKSBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLSBDQVBBIDQ6IFJFRkVSRU5URSBFWFRFUk5PIChUUsOBRklDTyBPUkfDgU5JQ08gTlVFVk8pIC0tLVxuICAgICAgICAvLyBTb2xvIGV2YWx1YW1vcyBlbCByZWZlcnJlciBzaSBsYSBVUkwsIENvb2tpZXMgeSBHVE0gdmVuw61hbiBsaW1waW9zXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXJcbiAgICAgICAgICAgICAgICA/IGRvY3VtZW50LnJlZmVycmVyLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6ICcnO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEhvc3QgPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgICAgLy8gU2kgaGF5IHJlZmVyZW50ZSB5IE5PIGluY2x1eWUgbnVlc3RybyBwcm9waW8gZG9taW5pbywgZXMgdW5hIFZJU0lUQSBOVUVWQSBFWFRFUk5BXG4gICAgICAgICAgICBpZiAocmVmZXJyZXIgJiYgIXJlZmVycmVyLmluY2x1ZGVzKGN1cnJlbnRIb3N0KSkge1xuICAgICAgICAgICAgICAgIGlmIChyZWZlcnJlci5pbmNsdWRlcygnZ29vZ2xlLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdnb29nbGVfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2JpbmcuJykpXG4gICAgICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ2Jpbmdfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ3lhaG9vLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICd5YWhvb19vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcnJlci5pbmNsdWRlcygnZHVja2R1Y2tnby4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnZHVja2R1Y2tnb19vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcnJlci5pbmNsdWRlcygneWFuZGV4LicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICd5YW5kZXhfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2JhaWR1LicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdiYWlkdV9vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcnJlci5pbmNsdWRlcygnZWNvc2lhLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdlY29zaWFfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ3F3YW50LicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdxd2FudF9vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcnJlci5pbmNsdWRlcygnYXNrLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdhc2tfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ25hdmVyLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICduYXZlcl9vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ3JlZmVycmFsX290aGVyJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLSBDQVBBIDU6IFJFQ1VQRVJBUiBERSBTRVNJw5NOIChOYXZlZ2FjacOzbiBpbnRlcm5hIGVuIHR1IHdlYikgLS0tXG4gICAgICAgIC8vIFNpIHNlZ3VpbW9zIHNpbiBkYXRvcyAoVVJMIGxpbXBpYSB5IGVsIHJlZmVyZW50ZSBlcyBpbnRlcm5vIG8gdmFjw61vKSwgcmVjdXJyaW1vcyBhIGxhIHNlc2nDs25cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKG1hcmtldGluZ0RhdGEpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3Qgc3RvcmVkS2V5cyA9IE9iamVjdC5rZXlzKHNlc3Npb25TdG9yYWdlKS5maWx0ZXIoKGspID0+XG4gICAgICAgICAgICAgICAgay5zdGFydHNXaXRoKCdta3RfJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBzdG9yZWRLZXlzLmZvckVhY2goKGspID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbEtleSA9IGsucmVwbGFjZSgnbWt0XycsICcnKTtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGspO1xuICAgICAgICAgICAgICAgIGlmICh2YWwpIG1hcmtldGluZ0RhdGFbb3JpZ2luYWxLZXldID0gdmFsO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0gNi4gTUFQRU8gRklOQUwgWSBWQUxPUiBQT1IgREVGRUNUTyAtLS1cbiAgICAgICAgaWYgKCFtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSkge1xuICAgICAgICAgICAgaWYgKG1hcmtldGluZ0RhdGFbJ3V0bV9zb3VyY2UnXSkge1xuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID1cbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsndXRtX3NvdXJjZSddICtcbiAgICAgICAgICAgICAgICAgICAgKG1hcmtldGluZ0RhdGFbJ3V0bV9tZWRpdW0nXVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBgXyR7bWFya2V0aW5nRGF0YVsndXRtX21lZGl1bSddfWBcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJycpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydnY2xpZCddIHx8XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnd2JyYWlkJ10gfHxcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydnYnJhaWQnXSB8fFxuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ2RjbGlkJ11cbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ2dvb2dsZV9jcGMnO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtYXJrZXRpbmdEYXRhWydmYmNsaWQnXSkge1xuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ21ldGFfYWRzJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobWFya2V0aW5nRGF0YVsndHRjbGlkJ10pIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICd0aWt0b2tfYWRzJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVHLDoWZpY28gZGlyZWN0byBwdXJvOiBTaW4gVVJMLCBzaW4gcmVmZXJyZXIgZXh0ZXJubywgc2luIHNlc2nDs24gcHJldmlhXG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnd2ViJzsgLy8gVmFsb3IgcG9yIGRlZmVjdG8gcGFyYSBXaXRib29raW5nW2NpdGU6IDIwXVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tIDcuIFBVUkdBUiBZIEdVQVJEQVIgRU4gU0VTScOTTiBQQVJBIEZVVFVSQSBOQVZFR0FDScOTTiAtLS1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEJvcnJhbW9zIGxhIHNlc2nDs24gYW50ZXJpb3IgcGFyYSBldml0YXIgbWV6Y2xhciBkYXRvcyBzaSBlbCB1c3VhcmlvIGVudHJhIHBvciB1bmEgY2FtcGHDsWEgZGlmZXJlbnRlXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhzZXNzaW9uU3RvcmFnZSkuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChrLnN0YXJ0c1dpdGgoJ21rdF8nKSkgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gR3VhcmRhbW9zIGxhIHNlc2nDs24gbGltcGlhIHkgZnJlc2NhXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhtYXJrZXRpbmdEYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGBta3RfJHtrZXl9YCwgdmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuXG4gICAgICAgIC8vIC0tLSBFTlbDjU8gQUwgV0lER0VUIC0tLVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCd3aWRnZXRVcGRhdGVQYXJhbXMnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXRpbmdEYXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ+KchSBNYXJrZXRpbmcgRW52aWFkbzonLCBtYXJrZXRpbmdEYXRhKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aWNrZXInXSkge1xuICAgICAgICAgICAgLy8gR3VhcmRhbW9zIHNpZW1wcmUgZWwgw5pMVElNTyB2YWxvciBxdWUgQW5ndWxhciBub3MgbWFuZGVcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ1RpY2tlciA9IGNoYW5nZXNbJ3RpY2tlciddLmN1cnJlbnRWYWx1ZSB8fCAnYWxsLWhvdGVscyc7XG5cbiAgICAgICAgICAgIC8vIERpc3BhcmFtb3MgbGEgYWN0dWFsaXphY2nDs25cbiAgICAgICAgICAgIHRoaXMudHJpZ2dlcldpZGdldFVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnJldHJ5VGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmV0cnlUaW1lb3V0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlcldpZGdldFVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGlmICh0aGlzLnJldHJ5VGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmV0cnlUaW1lb3V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJFbCA9IHRoaXMud2lkZ2V0Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgPy5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFjb250YWluZXJFbCkgcmV0dXJuO1xuXG4gICAgICAgICAgICAvLyAxLiBFc3BlcmFtb3MgYSBxdWUgZWwgd2lkZ2V0IGhheWEgZGVzY2FyZ2FkbyB5IGRpYnVqYWRvIGxvcyBob3RlbGVzIGVuIGVsIERPTVxuICAgICAgICAgICAgY29uc3QgaG90ZWxPcHRpb25zID0gY29udGFpbmVyRWwucXVlcnlTZWxlY3RvckFsbCgnLmhvdGVsLW9wdGlvbicpO1xuXG4gICAgICAgICAgICBpZiAoaG90ZWxPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRUaWNrZXIgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBlbmRpbmdUaWNrZXIgJiYgdGhpcy5wZW5kaW5nVGlja2VyPy50cmltKCkgIT09ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMucGVuZGluZ1RpY2tlci50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdhbGwtaG90ZWxzJztcblxuICAgICAgICAgICAgICAgIGxldCBvcHRpb25Ub0NsaWNrOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgLy8gMi4gQnVzY2Ftb3MgbGEgb3BjacOzbiBkZSBob3RlbCByZWFsIHF1ZSBjb2luY2lkYSBjb24gZWwgdGlja2VyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBob3RlbE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0gaG90ZWxPcHRpb25zW2ldIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRJZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQuZ2V0QXR0cmlidXRlKCdkYXRhLWhvdGVsLWlkJyk/LnRvTG93ZXJDYXNlKCkgfHwgJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ29pbmNpZGVuY2lhIGV4YWN0YSBvIHBhcmNpYWwgKHBvciBzaSBlbCB3aWRnZXQgbGUgYcOxYWRlIHN1Zmlqb3MgYWwgSUQpXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdElkID09PSB0YXJnZXRUaWNrZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdElkLmluY2x1ZGVzKHRhcmdldFRpY2tlcilcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25Ub0NsaWNrID0gb3B0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uVG9DbGljaykge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25Ub0NsaWNrLmNsaWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBBw7puIG5vIHNlIGhhbiBkaWJ1amFkbyBsYXMgb3BjaW9uZXMsIGVsIG1vdG9yIHNpZ3VlIGNhcmdhbmRvLi4uXG4gICAgICAgICAgICAgICAgdGhpcy5yZXRyeVRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLnRyaWdnZXJXaWRnZXRVcGRhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgMzAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
package/fesm2022/ctt-babylon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/fesm2022/ctt-babylon.mjs
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 57696290 bytes
|
|
4
|
+
sha256: e5a54045da51dd8d083cb32b546b987186123dea3e94be3d22bf55b8d5c3933c
|