@byuhbll/components 4.0.24 → 4.0.26-beta.1
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.
|
@@ -13,7 +13,7 @@ export class HbllFooterComponent {
|
|
|
13
13
|
this.footerSkipTargetId = 'hbllChatBtn';
|
|
14
14
|
// TODO: Convert these to signal inputs: https://github.com/angular/angular/issues/57755
|
|
15
15
|
this.mainsitebaseurl = 'https://lib.byu.edu';
|
|
16
|
-
this.libraryapibaseuri = 'https://
|
|
16
|
+
this.libraryapibaseuri = 'https://api.lib.byu.edu/v1';
|
|
17
17
|
this.date = new Date();
|
|
18
18
|
this.isSubmitted = false;
|
|
19
19
|
this.isLoading = false;
|
|
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
105
105
|
}], emailstatus: [{
|
|
106
106
|
type: Input
|
|
107
107
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJsbC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2hibGwtZm9vdGVyL2hibGwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWZvb3Rlci9oYmxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBU2pHLE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLHVCQUFrQixHQUFHLGFBQWEsQ0FBQztRQUVwRCx3RkFBd0Y7UUFDL0Usb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyw2QkFBNkIsQ0FBQztRQWFqRCxTQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztR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QztJQUN0RCxDQUFDO0lBQ0QsSUFBYSxXQUFXLENBQUMsTUFBZ0M7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBbURELFVBQVU7UUFDTixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBZ0IsQ0FBQztRQUNuRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDTCxDQUFDOzhHQTdFUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwyWENiaEMsb3FUQStOQSwrdU1EdE5jLFlBQVksc0lBQUUsbUJBQW1COzsyRkFJbEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQzs4QkFRVixXQUFXO3NCQUE1QyxTQUFTO3VCQUFDLGFBQWE7Z0JBRWYsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ08sU0FBUztzQkFBckIsS0FBSztnQkFHTyxVQUFVO3NCQUF0QixLQUFLO2dCQUdPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBR08sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29udGFjdFBheWxvYWQsIGNyZWF0ZUNvbnRhY3RGb3JtLCBzdWJtaXRFbWFpbCwgVVNFUl9TVEFUVVNFUyB9IGZyb20gJy4uL2NvbnRhY3QtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1oYmxsLWZvb3RlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGJsbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9oYmxsLWZvb3Rlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEhibGxGb290ZXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvb3RlclNraXBUYXJnZXRJZCA9ICdoYmxsQ2hhdEJ0bic7XG4gICAgQFZpZXdDaGlsZCgnZW1haWxEaWFsb2cnKSBwcml2YXRlIGVtYWlsRGlhbG9nITogRWxlbWVudFJlZjtcbiAgICAvLyBUT0RPOiBDb252ZXJ0IHRoZXNlIHRvIHNpZ25hbCBpbnB1dHM6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzU3NzU1XG4gICAgQElucHV0KCkgbWFpbnNpdGViYXNldXJsID0gJ2h0dHBzOi8vbGliLmJ5dS5lZHUnO1xuICAgIEBJbnB1dCgpIGxpYnJhcnlhcGliYXNldXJpID0gJ2h0dHBzOi8vYXBwcy5saWIuYnl1LmVkdS92MSc7XG4gICAgQElucHV0KCkgc2V0IGVtYWlsbmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMubmFtZS5zZXRWYWx1ZShuYW1lKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGVtYWlsZW1haWwoZW1haWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5lbWFpbC5zZXRWYWx1ZShlbWFpbCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBlbWFpbG1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLm1lc3NhZ2Uuc2V0VmFsdWUobWVzc2FnZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBlbWFpbHN0YXR1cyhzdGF0dXM6IENvbnRhY3RQYXlsb2FkWydzdGF0dXMnXSkge1xuICAgICAgICB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5zdGF0dXMuc2V0VmFsdWUoc3RhdHVzKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHByb3RlY3RlZCBpc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgaGFzQ29ubmVjdGlvbkVycm9yID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGlzRW1haWxTZW50ID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGVtYWlsRm9ybSA9IGNyZWF0ZUNvbnRhY3RGb3JtKHRoaXMuZmIpO1xuICAgIHByb3RlY3RlZCB1c2VyU3RhdHVzZXMgPSBVU0VSX1NUQVRVU0VTO1xuXG4gICAgcHJvdGVjdGVkIHNlbmRFbWFpbCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmVtYWlsRm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgc3VibWl0RW1haWwoXG4gICAgICAgICAgICB0aGlzLmVtYWlsRm9ybS52YWx1ZSBhcyBDb250YWN0UGF5bG9hZCxcbiAgICAgICAgICAgIHRoaXMuaHR0cCxcbiAgICAgICAgICAgIHRoaXMubGlicmFyeWFwaWJhc2V1cmksXG4gICAgICAgICkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNDb25uZWN0aW9uRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0Nvbm5lY3Rpb25FcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0VtYWlsU2VudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWFpbEZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRW1haWxTZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlzRW1haWxTZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhhc0Nvbm5lY3Rpb25FcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2U7XG4gICAgfTtcblxuICAgIC8vIEV4cG9zZSB0aGlzIHRvIGJlIGNhbGxlZCBmcm9tIGNvbnN1bWluZyBhcHBsaWNhdGlvbnMuXG4gICAgb3BlbkVtYWlsRm9ybSA9IChmb3JtVmFsdWVzPzogdHlwZW9mIHRoaXMuZW1haWxGb3JtLnZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChmb3JtVmFsdWVzKSB7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5uYW1lKSB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5uYW1lLnNldFZhbHVlKGZvcm1WYWx1ZXMubmFtZSk7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5lbWFpbCkgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMuZW1haWwuc2V0VmFsdWUoZm9ybVZhbHVlcy5lbWFpbCk7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5tZXNzYWdlKSB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5tZXNzYWdlLnNldFZhbHVlKGZvcm1WYWx1ZXMubWVzc2FnZSk7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5zdGF0dXMpIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLnN0YXR1cy5zZXRWYWx1ZShmb3JtVmFsdWVzLnN0YXR1cyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbWFpbERpYWxvZy5uYXRpdmVFbGVtZW50LnNob3dNb2RhbCgpO1xuICAgIH07XG5cbiAgICBza2lwRm9vdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBza2lwVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5mb290ZXJTa2lwVGFyZ2V0SWQpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoc2tpcFRhcmdldCkge1xuICAgICAgICAgICAgc2tpcFRhcmdldC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdTa2lwIGZvb3RlciB0YXJnZXQgbm90IGZvdW5kIG9uIHRoZSBwYWdlLicpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZvb3Rlcj5cbiAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItd3JhcHBlclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2tpcC1saW5rLWZvb3RlclwiIChjbGljayk9XCJza2lwRm9vdGVyKClcIiA+U2tpcCBmb290ZXI8L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWxpbmtzXCI+XG4gICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJmb290ZXJDb250YWN0SGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlckNvbnRhY3RIZWFkaW5nXCIgPkNvbnRhY3Q8L2gzPlxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFkZHJlc3M+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUC5PLiBCb3ggMjY4MDA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm92bywgVVQgODQ2MDItNjgwMFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hZGRyZXNzPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwidGVsOjgwMS00MjItNjA2MVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWZvb3Rlci1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBob25lX2luX3RhbGsgPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiZuYnNwOyA8c3Ryb25nPkNhbGw8L3N0cm9uZz4mbmJzcDsoODAxKSA0MjItNjA2MVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwic21zOjgwMS02MjMtNjgzOFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWZvb3Rlci1pY29uXCI+IHNtcyA8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Jm5ic3A7IDxzdHJvbmc+VGV4dDwvc3Ryb25nPiZuYnNwOyg4MDEpIDYyMy02ODM4XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImVtYWlsRGlhbG9nLnNob3dNb2RhbCgpXCIgZGF0YS10ZXN0aWQ9XCJlbWFpbFVzQnRuXCIgc3R5bGU9XCJwYWRkaW5nOiA0cHg7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWljb25cIj4gbWFpbCA8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Jm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5FbWFpbCB1czwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGFyaWEtbGFiZWxsZWRieT1cImZvb3RlclJlc291cmNlc0hlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8aDMgaWQ9XCJmb290ZXJSZXNvdXJjZXNIZWFkaW5nXCI+UmVzb3VyY2VzPC9oMz5cbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7eyBtYWluc2l0ZWJhc2V1cmwgfX0vc2l0ZS1pbmRleC9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5BLVogU2l0ZSBJbmRleDwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwie3sgbWFpbnNpdGViYXNldXJsIH19L2Fib3V0L3BvbGljaWVzL1wiPlBvbGljaWVzPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwie3sgbWFpbnNpdGViYXNldXJsIH19L2Fib3V0L2xvY2F0aW9uL1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlBhcmtpbmcgJiBEaXJlY3Rpb25zPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3VhYy5ieXUuZWR1L2FjY2Vzc2liaWxpdHktbGFiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+QWNjZXNzaWJpbGl0eSBSZXNvdXJjZXM8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vaHIubGliLmJ5dS5lZHUvYnl1LWxpYnJhcnktam9ic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkVtcGxveW1lbnQgT3Bwb3J0dW5pdGllczwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJmb290ZXJGcmllbmRzSGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlckZyaWVuZHNIZWFkaW5nXCI+RnJpZW5kcyBpbiB0aGUgTGlicmFyeTwvaDM+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9jdGwuYnl1LmVkdVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkNlbnRlciBmb3IgVGVhY2hpbmcgYW5kIExlYXJuaW5nPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2NvcHlyaWdodC5ieXUuZWR1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Q29weXJpZ2h0IExpY2Vuc2luZyBPZmZpY2U8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vZmFjdWx0eWNlbnRlci5ieXUuZWR1L2Fib3V0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5GYWN1bHR5IENlbnRlcjwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9kaW5pbmcuYnl1LmVkdS9saWJyYXJ5LWNhZmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5MaWJyYXJ5IENhZmU8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gYXJpYS1sYWJlbGxlZGJ5PVwiZm9vdGVyQ29ubmVjdEhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8aDMgaWQ9XCJmb290ZXJDb25uZWN0SGVhZGluZ1wiPkNvbm5lY3Q8L2gzPlxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImhibGwtZm9vdGVyLXNvY2lhbC1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3d3dy5mYWNlYm9vay5jb20vYnl1aGJsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWZvb3Rlci1zb2NpYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL21lZGlhLmxpYi5ieXUuZWR1L3dlYi1hc3NldHMvaW1hZ2VzLzEuMC4wL2ZhY2Vib29rLWNvbG9yLXJvdW5kLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIkZhY2Vib29rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJGYWNlYm9va1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYnl1X2hibGwvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhibGwtZm9vdGVyLXNvY2lhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vbWVkaWEubGliLmJ5dS5lZHUvd2ViLWFzc2V0cy9pbWFnZXMvMS4wLjAvaW5zdGFncmFtLWNvbG9yLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIkluc3RhZ3JhbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiSW5zdGFncmFtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImhibGwtZm9vdGVyLWJvdHRvbVwiIGFyaWEtbGFiZWw9XCJCb3R0b20tbW9zdCBwYXJ0IG9mIHRoZSBmb290ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci10aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL2J5dS5lZHVcIiB0YXJnZXQ9XCJfYmxhbmtcIj5CUklHSEFNIFlPVU5HIFVOSVZFUlNJVFk8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgUFJPVk8sIFVUIDg0NjAyLCBVU0EgfCA8YSBocmVmPVwic21zOjgwMS00MjItNjA2MVwiPig4MDEpIDQyMi02MDYxPC9hPlxuICAgICAgICAgICAgPGJyIC8+JmNvcHk7Jm5ic3A7e3sgZGF0ZSB8IGRhdGU6ICd5eXl5JyB9fVxuICAgICAgICAgICAgQUxMIFJJR0hUUyBSRVNFUlZFRFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLXByaXZhY3lcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly9wcml2YWN5LmJ5dS5lZHUvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+UHJpdmFjeSBOb3RpY2U8L2E+XG4gICAgICAgICAgICAgICAgfFxuICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidGVjb25zZW50XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGlkPVwiY29uc2VudC1iYW5uZXJcIj48L2Rpdj5cbjwvZm9vdGVyPlxuXG48ZGlhbG9nXG4gICAgI2VtYWlsRGlhbG9nXG4gICAgb25tb3VzZWRvd249XCJldmVudC50YXJnZXQgPT09IHRoaXMgJiYgdGhpcy5jbG9zZSgpXCJcbiAgICAoY2xvc2UpPVwiaGFuZGxlQ2xvc2UoKVwiXG4gICAgZGF0YS10ZXN0aWQ9XCJkaWFsb2dcIlxuPlxuICAgIEBpZiAoIWlzRW1haWxTZW50KSB7XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZW1haWxGb3JtXCIgKHN1Ym1pdCk9XCJzZW5kRW1haWwoKVwiIGRhdGEtdGVzdGlkPVwiZm9ybVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLXRvcFwiPlxuICAgICAgICAgICAgICAgIDxoMT5FbWFpbCBVczwvaDE+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZW1haWxEaWFsb2cuY2xvc2UoKVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLXRlc3RpZD1cImNsb3NlQnRuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBjbG9zZSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYmxsRm9vdGVyRW1haWxOYW1lXCI+TmFtZTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cImhibGxGb290ZXJFbWFpbE5hbWVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVtYWlsTmFtZUlucHV0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGJsbEZvb3RlckVtYWlsRW1haWxcIj5cbiAgICAgICAgICAgICAgICBFbWFpbCAocGxlYXNlIHByb3ZpZGUgaWYgeW91IHdvdWxkIGxpa2UgYSByZXNwb25zZSk8L2xhYmVsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cImhibGxGb290ZXJFbWFpbEVtYWlsXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW1haWxFbWFpbElucHV0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGJsbEZvb3RlckVtYWlsUXVlc3Rpb25Db21tZW50XCI+XG4gICAgICAgICAgICAgICAgUXVlc3Rpb24gb3IgY29tbWVudCZuYnNwOzxzcGFuIGNsYXNzPVwiaGJsbC1mb290ZXItZW1haWwtcmVxdWlyZWRcIj4qPC9zcGFuPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgIGlkPVwiaGJsbEZvb3RlckVtYWlsUXVlc3Rpb25Db21tZW50XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbWFpbE1lc3NhZ2VJbnB1dFwiXG4gICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIEBpZiAoaXNTdWJtaXR0ZWQgJiYgZW1haWxGb3JtLmNvbnRyb2xzLm1lc3NhZ2UuaW52YWxpZCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC1yZXF1aXJlZCBoYmxsLWZvb3Rlci1lbWFpbC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY29tbWVudEVycm9yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWZvb3Rlci1lbWFpbC1lcnJvci1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5QbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZDwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhibGxGb290ZXJFbWFpbFN0YXR1c1wiPlJvbGU8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoYmxsLWZvb3Rlci1zZWxlY3Qtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJoYmxsRm9vdGVyRW1haWxTdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVtYWlsU3RhdHVzSW5wdXRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZCB2YWx1ZT1cIlwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChzdGF0dXMgb2YgdXNlclN0YXR1c2VzIHwgc2xpY2U6IDE7IHRyYWNrIHN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwic3RhdHVzXCI+e3sgc3RhdHVzIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC1ib3R0b20tYmFyXCI+XG4gICAgICAgICAgICAgICAgQGlmIChoYXNDb25uZWN0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoYmxsLWZvb3Rlci1jb25uZWN0aW9uLWVycm9yXCIgZGF0YS10ZXN0aWQ9XCJjb25uZWN0aW9uRXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpPlRoZXJlIHdhcyBhbiBlcnJvciBzZW5kaW5nIHlvdXIgZW1haWwuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9pPlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwaWxsLWJ0bi0tY29tcG9uZW50c1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZW5kRW1haWxCdG5cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgU2VuZFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLXN1Y2Nlc3NcIiBkYXRhLXRlc3RpZD1cInN1Y2Nlc3NNZXNzYWdlXCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICBZb3VyIGVtYWlsIHdhcyBzZW50IHN1Y2Nlc3NmdWxseS4gSWYgeW91IHN1cHBsaWVkIHlvdXIgZW1haWwgYWRkcmVzcywgd2Ugd2lsbCBnZXRcbiAgICAgICAgICAgICAgICBiYWNrIHRvIHlvdSBzaG9ydGx5LjxiciAvPlRoYW5rIHlvdSFcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwaWxsLWJ0bi0tY29tcG9uZW50c1wiIChjbGljayk9XCJlbWFpbERpYWxvZy5jbG9zZSgpXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIENsb3NlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaWFsb2c+XG4iXX0=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJsbC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2hibGwtZm9vdGVyL2hibGwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWZvb3Rlci9oYmxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBU2pHLE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLHVCQUFrQixHQUFHLGFBQWEsQ0FBQztRQUVwRCx3RkFBd0Y7UUFDL0Usb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyw0QkFBNEIsQ0FBQztRQWFoRCxTQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsYUFBYSxDQUFDO1FBRTdCLGNBQVMsR0FBRyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87Z0JBQUUsT0FBTztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixXQUFXLENBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUF1QixFQUN0QyxJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxpQkFBaUIsQ0FDekIsQ0FBQyxTQUFTLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLEdBQUcsRUFBRTtvQkFDUixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO29CQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUNYLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztvQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsQ0FBQzthQUNKLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUVRLGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztnQkFDekIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQztZQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzdCLENBQUMsQ0FBQztRQUVGLHdEQUF3RDtRQUN4RCxrQkFBYSxHQUFHLENBQUMsVUFBd0MsRUFBRSxFQUFFO1lBQ3pELElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxVQUFVLENBQUMsSUFBSTtvQkFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUUsSUFBSSxVQUFVLENBQUMsS0FBSztvQkFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0UsSUFBSSxVQUFVLENBQUMsT0FBTztvQkFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckYsSUFBSSxVQUFVLENBQUMsTUFBTTtvQkFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RixDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDL0MsQ0FBQyxDQUFDO0tBVUw7SUF0RUcsSUFBYSxTQUFTLENBQUMsSUFBWTtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFhLFVBQVUsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQWEsWUFBWSxDQUFDLE9BQWU7UUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBYSxXQUFXLENBQUMsTUFBZ0M7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBbURELFVBQVU7UUFDTixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBZ0IsQ0FBQztRQUNuRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDTCxDQUFDOzhHQTdFUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwyWENiaEMsb3FUQStOQSwrdU1EdE5jLFlBQVksc0lBQUUsbUJBQW1COzsyRkFJbEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQzs4QkFRVixXQUFXO3NCQUE1QyxTQUFTO3VCQUFDLGFBQWE7Z0JBRWYsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ08sU0FBUztzQkFBckIsS0FBSztnQkFHTyxVQUFVO3NCQUF0QixLQUFLO2dCQUdPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBR08sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29udGFjdFBheWxvYWQsIGNyZWF0ZUNvbnRhY3RGb3JtLCBzdWJtaXRFbWFpbCwgVVNFUl9TVEFUVVNFUyB9IGZyb20gJy4uL2NvbnRhY3QtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1oYmxsLWZvb3RlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGJsbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9oYmxsLWZvb3Rlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEhibGxGb290ZXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvb3RlclNraXBUYXJnZXRJZCA9ICdoYmxsQ2hhdEJ0bic7XG4gICAgQFZpZXdDaGlsZCgnZW1haWxEaWFsb2cnKSBwcml2YXRlIGVtYWlsRGlhbG9nITogRWxlbWVudFJlZjtcbiAgICAvLyBUT0RPOiBDb252ZXJ0IHRoZXNlIHRvIHNpZ25hbCBpbnB1dHM6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzU3NzU1XG4gICAgQElucHV0KCkgbWFpbnNpdGViYXNldXJsID0gJ2h0dHBzOi8vbGliLmJ5dS5lZHUnO1xuICAgIEBJbnB1dCgpIGxpYnJhcnlhcGliYXNldXJpID0gJ2h0dHBzOi8vYXBpLmxpYi5ieXUuZWR1L3YxJztcbiAgICBASW5wdXQoKSBzZXQgZW1haWxuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5uYW1lLnNldFZhbHVlKG5hbWUpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgZW1haWxlbWFpbChlbWFpbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLmVtYWlsLnNldFZhbHVlKGVtYWlsKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGVtYWlsbWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMubWVzc2FnZS5zZXRWYWx1ZShtZXNzYWdlKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGVtYWlsc3RhdHVzKHN0YXR1czogQ29udGFjdFBheWxvYWRbJ3N0YXR1cyddKSB7XG4gICAgICAgIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLnN0YXR1cy5zZXRWYWx1ZShzdGF0dXMpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgcHJvdGVjdGVkIGlzU3VibWl0dGVkID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBoYXNDb25uZWN0aW9uRXJyb3IgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgaXNFbWFpbFNlbnQgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgZW1haWxGb3JtID0gY3JlYXRlQ29udGFjdEZvcm0odGhpcy5mYik7XG4gICAgcHJvdGVjdGVkIHVzZXJTdGF0dXNlcyA9IFVTRVJfU1RBVFVTRVM7XG5cbiAgICBwcm90ZWN0ZWQgc2VuZEVtYWlsID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuZW1haWxGb3JtLmludmFsaWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBzdWJtaXRFbWFpbChcbiAgICAgICAgICAgIHRoaXMuZW1haWxGb3JtLnZhbHVlIGFzIENvbnRhY3RQYXlsb2FkLFxuICAgICAgICAgICAgdGhpcy5odHRwLFxuICAgICAgICAgICAgdGhpcy5saWJyYXJ5YXBpYmFzZXVyaSxcbiAgICAgICAgKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0Nvbm5lY3Rpb25FcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzQ29ubmVjdGlvbkVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRW1haWxTZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVtYWlsRm9ybS5yZXNldCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbWFpbFNlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNFbWFpbFNlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaGFzQ29ubmVjdGlvbkVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgLy8gRXhwb3NlIHRoaXMgdG8gYmUgY2FsbGVkIGZyb20gY29uc3VtaW5nIGFwcGxpY2F0aW9ucy5cbiAgICBvcGVuRW1haWxGb3JtID0gKGZvcm1WYWx1ZXM/OiB0eXBlb2YgdGhpcy5lbWFpbEZvcm0udmFsdWUpID0+IHtcbiAgICAgICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLm5hbWUpIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLm5hbWUuc2V0VmFsdWUoZm9ybVZhbHVlcy5uYW1lKTtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLmVtYWlsKSB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5lbWFpbC5zZXRWYWx1ZShmb3JtVmFsdWVzLmVtYWlsKTtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLm1lc3NhZ2UpIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLm1lc3NhZ2Uuc2V0VmFsdWUoZm9ybVZhbHVlcy5tZXNzYWdlKTtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLnN0YXR1cykgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMuc3RhdHVzLnNldFZhbHVlKGZvcm1WYWx1ZXMuc3RhdHVzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVtYWlsRGlhbG9nLm5hdGl2ZUVsZW1lbnQuc2hvd01vZGFsKCk7XG4gICAgfTtcblxuICAgIHNraXBGb290ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNraXBUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmZvb3RlclNraXBUYXJnZXRJZCkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmIChza2lwVGFyZ2V0KSB7XG4gICAgICAgICAgICBza2lwVGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1NraXAgZm9vdGVyIHRhcmdldCBub3QgZm91bmQgb24gdGhlIHBhZ2UuJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8Zm9vdGVyPlxuICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci13cmFwcGVyXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJza2lwLWxpbmstZm9vdGVyXCIgKGNsaWNrKT1cInNraXBGb290ZXIoKVwiID5Ta2lwIGZvb3RlcjwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItbGlua3NcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGFyaWEtbGFiZWxsZWRieT1cImZvb3RlckNvbnRhY3RIZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGgzIGlkPVwiZm9vdGVyQ29udGFjdEhlYWRpbmdcIiA+Q29udGFjdDwvaDM+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRkcmVzcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQLk8uIEJveCAyNjgwMDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb3ZvLCBVVCA4NDYwMi02ODAwXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FkZHJlc3M+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ0ZWw6ODAxLTQyMi02MDYxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGhvbmVfaW5fdGFsayA8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Jm5ic3A7IDxzdHJvbmc+Q2FsbDwvc3Ryb25nPiZuYnNwOyg4MDEpIDQyMi02MDYxXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJzbXM6ODAxLTYyMy02ODM4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWljb25cIj4gc21zIDwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4mbmJzcDsgPHN0cm9uZz5UZXh0PC9zdHJvbmc+Jm5ic3A7KDgwMSkgNjIzLTY4MzhcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZW1haWxEaWFsb2cuc2hvd01vZGFsKClcIiBkYXRhLXRlc3RpZD1cImVtYWlsVXNCdG5cIiBzdHlsZT1cInBhZGRpbmc6IDRweDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1mb290ZXItaWNvblwiPiBtYWlsIDwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4mbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkVtYWlsIHVzPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gYXJpYS1sYWJlbGxlZGJ5PVwiZm9vdGVyUmVzb3VyY2VzSGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlclJlc291cmNlc0hlYWRpbmdcIj5SZXNvdXJjZXM8L2gzPlxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cInt7IG1haW5zaXRlYmFzZXVybCB9fS9zaXRlLWluZGV4L1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkEtWiBTaXRlIEluZGV4PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7eyBtYWluc2l0ZWJhc2V1cmwgfX0vYWJvdXQvcG9saWNpZXMvXCI+UG9saWNpZXM8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7eyBtYWluc2l0ZWJhc2V1cmwgfX0vYWJvdXQvbG9jYXRpb24vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+UGFya2luZyAmIERpcmVjdGlvbnM8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdWFjLmJ5dS5lZHUvYWNjZXNzaWJpbGl0eS1sYWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5BY2Nlc3NpYmlsaXR5IFJlc291cmNlczwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9oci5saWIuYnl1LmVkdS9ieXUtbGlicmFyeS1qb2JzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+RW1wbG95bWVudCBPcHBvcnR1bml0aWVzPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGFyaWEtbGFiZWxsZWRieT1cImZvb3RlckZyaWVuZHNIZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGgzIGlkPVwiZm9vdGVyRnJpZW5kc0hlYWRpbmdcIj5GcmllbmRzIGluIHRoZSBMaWJyYXJ5PC9oMz5cbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2N0bC5ieXUuZWR1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Q2VudGVyIGZvciBUZWFjaGluZyBhbmQgTGVhcm5pbmc8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vY29weXJpZ2h0LmJ5dS5lZHVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5Db3B5cmlnaHQgTGljZW5zaW5nIE9mZmljZTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9mYWN1bHR5Y2VudGVyLmJ5dS5lZHUvYWJvdXR1c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkZhY3VsdHkgQ2VudGVyPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2RpbmluZy5ieXUuZWR1L2xpYnJhcnktY2FmZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkxpYnJhcnkgQ2FmZTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJmb290ZXJDb25uZWN0SGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlckNvbm5lY3RIZWFkaW5nXCI+Q29ubmVjdDwvaDM+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiaGJsbC1mb290ZXItc29jaWFsLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9ieXVoYmxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhibGwtZm9vdGVyLXNvY2lhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vbWVkaWEubGliLmJ5dS5lZHUvd2ViLWFzc2V0cy9pbWFnZXMvMS4wLjAvZmFjZWJvb2stY29sb3Itcm91bmQuc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiRmFjZWJvb2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkZhY2Vib29rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9ieXVfaGJsbC9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGJsbC1mb290ZXItc29jaWFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9tZWRpYS5saWIuYnl1LmVkdS93ZWItYXNzZXRzL2ltYWdlcy8xLjAuMC9pbnN0YWdyYW0tY29sb3Iuc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiSW5zdGFncmFtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJJbnN0YWdyYW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiaGJsbC1mb290ZXItYm90dG9tXCIgYXJpYS1sYWJlbD1cIkJvdHRvbS1tb3N0IHBhcnQgb2YgdGhlIGZvb3RlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vYnl1LmVkdVwiIHRhcmdldD1cIl9ibGFua1wiPkJSSUdIQU0gWU9VTkcgVU5JVkVSU0lUWTwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICBQUk9WTywgVVQgODQ2MDIsIFVTQSB8IDxhIGhyZWY9XCJzbXM6ODAxLTQyMi02MDYxXCI+KDgwMSkgNDIyLTYwNjE8L2E+XG4gICAgICAgICAgICA8YnIgLz4mY29weTsmbmJzcDt7eyBkYXRlIHwgZGF0ZTogJ3l5eXknIH19XG4gICAgICAgICAgICBBTEwgUklHSFRTIFJFU0VSVkVEXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItcHJpdmFjeVwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3ByaXZhY3kuYnl1LmVkdS9cIiB0YXJnZXQ9XCJfYmxhbmtcIj5Qcml2YWN5IE5vdGljZTwvYT5cbiAgICAgICAgICAgICAgICB8XG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJ0ZWNvbnNlbnRcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgaWQ9XCJjb25zZW50LWJhbm5lclwiPjwvZGl2PlxuPC9mb290ZXI+XG5cbjxkaWFsb2dcbiAgICAjZW1haWxEaWFsb2dcbiAgICBvbm1vdXNlZG93bj1cImV2ZW50LnRhcmdldCA9PT0gdGhpcyAmJiB0aGlzLmNsb3NlKClcIlxuICAgIChjbG9zZSk9XCJoYW5kbGVDbG9zZSgpXCJcbiAgICBkYXRhLXRlc3RpZD1cImRpYWxvZ1wiXG4+XG4gICAgQGlmICghaXNFbWFpbFNlbnQpIHtcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJlbWFpbEZvcm1cIiAoc3VibWl0KT1cInNlbmRFbWFpbCgpXCIgZGF0YS10ZXN0aWQ9XCJmb3JtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItZW1haWwtdG9wXCI+XG4gICAgICAgICAgICAgICAgPGgxPkVtYWlsIFVzPC9oMT5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJlbWFpbERpYWxvZy5jbG9zZSgpXCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtdGVzdGlkPVwiY2xvc2VCdG5cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IGNsb3NlIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhibGxGb290ZXJFbWFpbE5hbWVcIj5OYW1lPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlkPVwiaGJsbEZvb3RlckVtYWlsTmFtZVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW1haWxOYW1lSW5wdXRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYmxsRm9vdGVyRW1haWxFbWFpbFwiPlxuICAgICAgICAgICAgICAgIEVtYWlsIChwbGVhc2UgcHJvdmlkZSBpZiB5b3Ugd291bGQgbGlrZSBhIHJlc3BvbnNlKTwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlkPVwiaGJsbEZvb3RlckVtYWlsRW1haWxcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbWFpbEVtYWlsSW5wdXRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYmxsRm9vdGVyRW1haWxRdWVzdGlvbkNvbW1lbnRcIj5cbiAgICAgICAgICAgICAgICBRdWVzdGlvbiBvciBjb21tZW50Jm5ic3A7PHNwYW4gY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC1yZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgaWQ9XCJoYmxsRm9vdGVyRW1haWxRdWVzdGlvbkNvbW1lbnRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVtYWlsTWVzc2FnZUlucHV0XCJcbiAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgICAgQGlmIChpc1N1Ym1pdHRlZCAmJiBlbWFpbEZvcm0uY29udHJvbHMubWVzc2FnZS5pbnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLXJlcXVpcmVkIGhibGwtZm9vdGVyLWVtYWlsLWVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjb21tZW50RXJyb3JcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWVtYWlsLWVycm9yLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlBsZWFzZSBmaWxsIG91dCB0aGlzIGZpZWxkPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGJsbEZvb3RlckVtYWlsU3RhdHVzXCI+Um9sZTwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhibGwtZm9vdGVyLXNlbGVjdC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBpZD1cImhibGxGb290ZXJFbWFpbFN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW1haWxTdGF0dXNJbnB1dFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkIHZhbHVlPVwiXCI+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKHN0YXR1cyBvZiB1c2VyU3RhdHVzZXMgfCBzbGljZTogMTsgdHJhY2sgc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJzdGF0dXNcIj57eyBzdGF0dXMgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLWJvdHRvbS1iYXJcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGhhc0Nvbm5lY3Rpb25FcnJvcikge1xuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhibGwtZm9vdGVyLWNvbm5lY3Rpb24tZXJyb3JcIiBkYXRhLXRlc3RpZD1cImNvbm5lY3Rpb25FcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGk+VGhlcmUgd2FzIGFuIGVycm9yIHNlbmRpbmcgeW91ciBlbWFpbC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBpbGwtYnRuLS1jb21wb25lbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNlbmRFbWFpbEJ0blwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBTZW5kXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mb3JtPlxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItZW1haWwtc3VjY2Vzc1wiIGRhdGEtdGVzdGlkPVwic3VjY2Vzc01lc3NhZ2VcIj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIFlvdXIgZW1haWwgd2FzIHNlbnQgc3VjY2Vzc2Z1bGx5LiBJZiB5b3Ugc3VwcGxpZWQgeW91ciBlbWFpbCBhZGRyZXNzLCB3ZSB3aWxsIGdldFxuICAgICAgICAgICAgICAgIGJhY2sgdG8geW91IHNob3J0bHkuPGJyIC8+VGhhbmsgeW91IVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInBpbGwtYnRuLS1jb21wb25lbnRzXCIgKGNsaWNrKT1cImVtYWlsRGlhbG9nLmNsb3NlKClcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgQ2xvc2VcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2RpYWxvZz5cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, computed, EventEmitter, inject, input, Output } from '@angular/core';
|
|
2
|
-
import { map, switchMap } from 'rxjs/operators';
|
|
2
|
+
import { catchError, map, switchMap } from 'rxjs/operators';
|
|
3
3
|
import { AccessStatus, } from './models/application-access';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { jwtDecode } from 'jwt-decode';
|
|
@@ -40,7 +40,7 @@ export class ImpersonationBannerComponent {
|
|
|
40
40
|
this.http = inject(HttpClient);
|
|
41
41
|
this.accessTokenPayload = input.required();
|
|
42
42
|
this.personBaseUri = input('https://apps.lib.byu.edu/person/v2/');
|
|
43
|
-
this.libraryApiBaseUri = input('https://
|
|
43
|
+
this.libraryApiBaseUri = input('https://api.lib.byu.edu/v1');
|
|
44
44
|
this.endImpersonation = new EventEmitter();
|
|
45
45
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
46
|
this.parsedToken = computed(() => this.accessTokenPayload().token ? jwtDecode(this.accessTokenPayload().token) : {});
|
|
@@ -134,6 +134,9 @@ export class ImpersonationBannerComponent {
|
|
|
134
134
|
}
|
|
135
135
|
});
|
|
136
136
|
return accountStatuses;
|
|
137
|
+
}), catchError((error) => {
|
|
138
|
+
console.warn('Failed to fetch patron account statuses:', error);
|
|
139
|
+
return of(null);
|
|
137
140
|
}));
|
|
138
141
|
})));
|
|
139
142
|
}
|
|
@@ -146,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
146
149
|
}], propDecorators: { endImpersonation: [{
|
|
147
150
|
type: Output
|
|
148
151
|
}] } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGlvbi1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2ltcGVyc29uYXRpb24tYmFubmVyL2ltcGVyc29uYXRpb24tYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9pbXBlcnNvbmF0aW9uLWJhbm5lci9pbXBlcnNvbmF0aW9uLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsWUFBWSxHQUdmLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFFOUUsTUFBTSxjQUFjLEdBQUcsNERBQTRELENBQUM7QUFDcEYsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQztBQUNuRCxNQUFNLCtCQUErQixHQUFHLGdDQUFn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QU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgaW5wdXQsIE91dHB1dCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgQWNjZXNzU3RhdHVzLFxuICAgIEFjY291bnRzUmVzcG9uc2UsXG4gICAgdHlwZSBBcHBsaWNhdGlvbkFjY2Vzcyxcbn0gZnJvbSAnLi9tb2RlbHMvYXBwbGljYXRpb24tYWNjZXNzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUb2tlblBheWxvYWQgfSBmcm9tICcuLi9tb2RlbHMvdG9rZW4tcGF5bG9hZCc7XG5pbXBvcnQgeyBqd3REZWNvZGUsIEp3dFBheWxvYWQgfSBmcm9tICdqd3QtZGVjb2RlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5kZXBlbmRlbnRTdHVkeVJlc3BvbnNlLCBQZXJzb25TdW1tYXJ5IH0gZnJvbSAnLi9tb2RlbHMvcGVyc29uLXN1bW1hcnknO1xuaW1wb3J0IHVybGNhdCBmcm9tICd1cmxjYXQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvcHlUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vY29weS10b29sdGlwL2NvcHktdG9vbHRpcC5jb21wb25lbnQnO1xuXG5jb25zdCBVU0VSX1BIT1RPX1VSTCA9ICdodHRwczovL3kuYnl1LmVkdS9yeS9hZS9wcm9kL3BlcnNvbi9jZ2kvcGVyc29uUGhvdG8uY2dpP249JztcbmNvbnN0IFBFUlNPTl9TVU1NQVJZX1BBVEggPSAnL3N1bW1hcnkvOmxpYnJhcnlJZC8nO1xuY29uc3QgSU5ERVBFTkRFTlRfU1RVRFlfUkVTUE9OU0VfUEFUSCA9ICcvaW5kZXBlbmRlbnQtc3R1ZHkvOmxpYnJhcnlJZC8nO1xuY29uc3QgUEFUUk9OX0FDQ09VTlRTX1BBVEggPSAnL3BhdHJvbi9hY2NvdW50cyc7XG5cbi8qKlxuICogQHRvZG86IFJlZmFjdG9yOiBteSByZWNvbW1lbmRhdGlvbiB3b3VsZCBiZSB0byBhbGxvdyBhIHVzZXIgdG8gYmUgcGFzc2VkIGludG8gdGhpcyBjb21wb25lbnQgdmlhIGFuIGlucHV0IGluc3RlYWQgb2YgdGhlIHVzZXJzIGNvbWluZyBmcm9tIGFuIEFQSSBjYWxsIGJhc2VkIG9uIHRoZSBKV1QgcGFzc2VkIGluLiBUaGlzIG1pZ2h0IGxvb2sgc29tZXRoaW5nIGxpa2U6XG4gKiAgYGBgXG4gKiAgICDvvKBJbnB1dCgpIHVzZXI6IHtcbiAqICAgICAgcHJpbWFyeV9wb3NpdGlvbl90eXBlX2Rpc3BsYXk/OiBzdHJpbmdcbiAqICAgICAgdW5kZXJncmFkX2dyYWR1YXRlX3N0YXR1cz86IHN0cmluZ1xuICogICAgICByZXN0cmljdGVkPzogYm9vbGVhblxuICogICAgICBpc19yZXRpcmVkPzogYm9vbGVhblxuICogICAgICBpc19lbXBsb3llZT86IGJvb2xlYW5cbiAqICAgICAgcHJpbWFyeV9wb3NpdGlvbl90eXBlPzogc3RyaW5nXG4gKiAgICB9XG4gKiBgYGBcbiAqIEFjY2VwdGluZyBhbGwgcHJvcGVydGllcyB0aGF0IGFyZSB1c2VkIGluIHRoaXMgY29tcG9uZW50IHdpdGhvdXQgbmVlZGluZyB0byBicmluZyBpbiB0aGUgdXNlciB0eXBlIGV4cGxpY2l0bHkuIE9yIHRoZSBwcm9wZXJ0aWVzIG9uIHRoaXMgdXNlciBvYmplY3QgY291bGQgYmUgbWFkZSBldmVuIG1vcmUgZ2VuZXJhbCBhcyB0byBub3QgYmUgdGllZCBhdCBhbGwgdG8gYW55IHNwZWNpZmljIHR5cGUuXG4gKlxuICogU29tZXRoaW5nIHNpbWlsYXIgY291bGQgYmUgZG9uZSB3aXRoIGBhY2NvdW50U3RhdHVzZXNgLiBJJ2QgcmVjb21tZW5kIHRoZSBjb25zdW1pbmcgYXBwbGljYXRpb24gcHJlcGFyZSBhcnJheXMgb2Ygc3RyaW5ncyB0byBiZSBwYXNzZWQgaW50byBpbnB1dHMgb2YgYGFjY291bnRzT2tgLCBgYWNjb3VudHNCbG9ja2VkYCwgYW5kIGBhY2NvdW50c05vbmVgLCB0aGF0IGFyZSB0aGVuIHBhc3NlZCBpbnRvIGFuZCBkaXNwbGF5ZWQgaW4gdGhlIHRlbXBsYXRlLlxuICpcbiAqIFRoZSBpZGVhIGJlaGluZCB0aGVzZSByZXZpc2lvbnMgaXMgdGhhdCB0aGVyZSBpcyBsZXNzIGJ1c2luZXNzIGxvZ2ljIGJha2VkIGludG8gdGhpcyBjb21wb25lbnQsIGFzIGl0J3Mgcm9sZSBpcyBqdXN0IG9uZSBvZiBwcmVzZW50YXRpb24uIEl0IHdpbGwgYWxzbyBhdm9pZCBtdWx0aXBsZSBBUEkgY2FsbHMgZm9yIHRoZSBzYW1lIGRhdGEgaW4gb3VyIGJpZyBBbmd1bGFyIGFwcHMuXG4gKlxuICogQmVzdCBvZiBsdWNrLFxuICogUGF1bFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvcHlUb29sdGlwQ29tcG9uZW50XSxcbiAgICBzZWxlY3RvcjogJ2xpYi1pbXBlcnNvbmF0aW9uLWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ltcGVyc29uYXRpb24tYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbXBlcnNvbmF0aW9uLWJhbm5lci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbXBlcnNvbmF0aW9uQmFubmVyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgYWNjZXNzVG9rZW5QYXlsb2FkID0gaW5wdXQucmVxdWlyZWQ8VG9rZW5QYXlsb2FkPigpO1xuICAgIHBlcnNvbkJhc2VVcmkgPSBpbnB1dCgnaHR0cHM6Ly9hcHBzLmxpYi5ieXUuZWR1L3BlcnNvbi92Mi8nKTtcbiAgICBsaWJyYXJ5QXBpQmFzZVVyaSA9IGlucHV0KCdodHRwczovL2FwcHMubGliLmJ5dS5lZHUvdjEnKTtcbiAgICBAT3V0cHV0KCkgZW5kSW1wZXJzb25hdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb3RlY3RlZCBwYXJzZWRUb2tlbjogU2lnbmFsPEp3dFBheWxvYWQgJiBSZWNvcmQ8c3RyaW5nLCBhbnk+PiA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuYWNjZXNzVG9rZW5QYXlsb2FkKCkudG9rZW4gPyBqd3REZWNvZGUodGhpcy5hY2Nlc3NUb2tlblBheWxvYWQoKS50b2tlbikgOiB7fSxcbiAgICApO1xuICAgIHByb3RlY3RlZCBpc0ltcGVyc29uYXRpbmcgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMucGFyc2VkVG9rZW4oKVsnaW1wZXJzb25hdG9yJ10pO1xuICAgIHByb3RlY3RlZCBsaWJyYXJ5SWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBhcnNlZFRva2VuKClbJ2xpYnJhcnlfaWQnXSk7XG4gICAgcHJvdGVjdGVkIHVzZXIgPSB0b1NpZ25hbChcbiAgICAgICAgY29tYmluZUxhdGVzdChbdG9PYnNlcnZhYmxlKHRoaXMubGlicmFyeUlkKSwgdG9PYnNlcnZhYmxlKHRoaXMuaXNJbXBlcnNvbmF0aW5nKV0pLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKFtsaWJyYXJ5SWQsIGlzSW1wZXJzb25hdGluZ10pID0+XG4gICAgICAgICAgICAgICAgbGlicmFyeUlkICYmIGlzSW1wZXJzb25hdGluZ1xuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuaHR0cC5nZXQ8UGVyc29uU3VtbWFyeT4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVybGNhdCh0aGlzLnBlcnNvbkJhc2VVcmkoKSwgUEVSU09OX1NVTU1BUllfUEFUSCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmFjY2Vzc1Rva2VuUGF5bG9hZCgpLnRva2VufWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgOiBvZihudWxsKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgdXNlckZ1bGxOYW1lID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5wYXJzZWRUb2tlbigpWydnaXZlbl9uYW1lJ11cbiAgICAgICAgICAgID8gYCR7dGhpcy5wYXJzZWRUb2tlbigpWydnaXZlbl9uYW1lJ119ICR7dGhpcy5wYXJzZWRUb2tlbigpWydmYW1pbHlfbmFtZSddfWBcbiAgICAgICAgICAgIDogJ1Vua25vd24nLFxuICAgICk7XG4gICAgcHJvdGVjdGVkIGlzUmVzdHJpY3RlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudXNlcigpPy5yZXN0cmljdGVkKTtcbiAgICBwcm90ZWN0ZWQgdXNlckluZm9UYWJzID0gY29tcHV0ZWQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICBuZXcgTWFwKFtcbiAgICAgICAgICAgICAgICBbJ05ldCBJRCcsIHRoaXMucGFyc2VkVG9rZW4oKVsnbmV0X2lkJ10gPz8gJyddLFxuICAgICAgICAgICAgICAgIFsnQllVIElEJywgdGhpcy5wYXJzZWRUb2tlbigpWydieXVfaWQnXSA/PyAnJ10sXG4gICAgICAgICAgICAgICAgWydFbWFpbCcsIHRoaXMudXNlcigpPy5lbWFpbF9hZGRyZXNzID8/ICcnXSxcbiAgICAgICAgICAgIF0pLFxuICAgICk7XG4gICAgcHJvdGVjdGVkIHVzZXJQaG90b1VybCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMucGFyc2VkVG9rZW4oKVsnbmV0X2lkJ10gPyBVU0VSX1BIT1RPX1VSTCArIHRoaXMucGFyc2VkVG9rZW4oKVsnbmV0X2lkJ10gOiAnJyxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIGFjdGl2aXR5U3RhdHVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy51c2VyKCk/LmlzX3JldGlyZWQpIHJldHVybiAncmV0aXJlZCc7XG4gICAgICAgIGVsc2UgaWYgKHRoaXMudXNlcigpPy5pc19lbXBsb3llZSkgcmV0dXJuICdhY3RpdmUnO1xuICAgICAgICBlbHNlIGlmICh0aGlzLnVzZXIoKT8ucHJpbWFyeV9wb3NpdGlvbl90eXBlKSByZXR1cm4gJ2luYWN0aXZlJztcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgZW1wbG95ZWVTdGF0dXNEZXNjcmlwdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnVzZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSAnJztcbiAgICAgICAgaWYgKHRoaXMudXNlcigpIS5pc19yZXRpcmVkKSB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbiA9ICdSZXRpcmVkJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVzZXIoKSEuaXNfZW1wbG95ZWUpIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gJ0FjdGl2ZSc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2VyKCkhLnByaW1hcnlfcG9zaXRpb25fdHlwZSkge1xuICAgICAgICAgICAgZGVzY3JpcHRpb24gPSAnSW5hY3RpdmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudXNlcigpIS5wcmltYXJ5X3Bvc2l0aW9uX3R5cGVfZGlzcGxheSkge1xuICAgICAgICAgICAgZGVzY3JpcHRpb24gKz0gYCAke3RoaXMudXNlcigpIS5wcmltYXJ5X3Bvc2l0aW9uX3R5cGVfZGlzcGxheX0gRW1wbG95ZWVgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uID8/IG51bGw7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgaW5kZXBlbmRlbnRTdHVkeVN0YXR1cyA9IHRvU2lnbmFsKFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy5saWJyYXJ5SWQpLCB0b09ic2VydmFibGUodGhpcy5pc0ltcGVyc29uYXRpbmcpXSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2xpYnJhcnlJZCwgaXNJbXBlcnNvbmF0aW5nXSkgPT5cbiAgICAgICAgICAgICAgICBsaWJyYXJ5SWQgJiYgaXNJbXBlcnNvbmF0aW5nXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQ8SW5kZXBlbmRlbnRTdHVkeVJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybGNhdCh0aGlzLnBlcnNvbkJhc2VVcmkoKSwgSU5ERVBFTkRFTlRfU1RVRFlfUkVTUE9OU0VfUEFUSCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnlJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuYWNjZXNzVG9rZW5QYXlsb2FkKCkudG9rZW59YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXAoKHJlc3BvbnNlKSA9PiByZXNwb25zZT8uaXNfZW5yb2xsZWQpKVxuICAgICAgICAgICAgICAgICAgICA6IG9mKG51bGwpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApO1xuICAgIHByb3RlY3RlZCBhY2NvdW50U3RhdHVzZXMgPSB0b1NpZ25hbChcbiAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuaXNJbXBlcnNvbmF0aW5nKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChpc0ltcGVyc29uYXRpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzSW1wZXJzb25hdGluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLmdldDxBY2NvdW50c1Jlc3BvbnNlPih1cmxjYXQodGhpcy5saWJyYXJ5QXBpQmFzZVVyaSgpLCBQQVRST05fQUNDT1VOVFNfUEFUSCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5hY2Nlc3NUb2tlblBheWxvYWQoKS50b2tlbn1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKGFjY291bnRzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWNjb3VudFN0YXR1c2VzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvazogW10gYXMgQXBwbGljYXRpb25BY2Nlc3NbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tlZDogW10gYXMgQXBwbGljYXRpb25BY2Nlc3NbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZTogW10gYXMgQXBwbGljYXRpb25BY2Nlc3NbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyhhY2NvdW50cy5hcHBsaWNhdGlvbnMpLmZvckVhY2goKGFwcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGFwcC5hY2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgQWNjZXNzU3RhdHVzLk9LOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnRTdGF0dXNlcy5vay5wdXNoKGFwcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEFjY2Vzc1N0YXR1cy5CTE9DS0VEOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnRTdGF0dXNlcy5ibG9ja2VkLnB1c2goYXBwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgQWNjZXNzU3RhdHVzLk5PTkU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzLm5vbmUucHVzaChhcHApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjb3VudFN0YXR1c2VzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xufVxuIiwiQGlmIChpc0ltcGVyc29uYXRpbmcoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJiYW5uZXItcGFkZGluZ1wiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0b3AtYmFubmVyXCIgZGF0YS10ZXN0aWQ9XCJiYW5uZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJhbm5lci1ncm91cCBwcm9maWxlLW5hbWUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1hdmF0YXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInVzZXJQaG90b1VybCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwidXNlckZ1bGxOYW1lKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwidXNlciBwaG90b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbmVycm9yPVwidGhpcy5yZW1vdmUoKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHByb2ZpbGUtaWNvblwiPiBwZXJzb24gPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb2Z0XCI+SW1wZXJzb25hdGluZzwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9maWxlLW5hbWVcIj57eyB1c2VyRnVsbE5hbWUoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChhY2NvdW50U3RhdHVzZXMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1iYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGFjY291bnRTdGF0dXNlcygpIS5vay5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLW9rIGFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWNoZWNrbWFya1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcGxpY2F0aW9uLWNvdW50XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzKCkhLm9rLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy10b29sdGlwLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPSyBBcHBsaWNhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gb2YgYWNjb3VudFN0YXR1c2VzKCkhLm9rO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgYXBwbGljYXRpb24ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tY2hlY2ttYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGFwcGxpY2F0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChhY2NvdW50U3RhdHVzZXMoKSEuYmxvY2tlZC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLWJsb2NrZWQgYXBwbGljYXRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24td2FybmluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tY291bnRcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50U3RhdHVzZXMoKSEuYmxvY2tlZC5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtdG9vbHRpcC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tlZCBBcHBsaWNhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gb2YgYWNjb3VudFN0YXR1c2VzKCkhLmJsb2NrZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBhcHBsaWNhdGlvbi5jb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLXdhcm5pbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBhcHBsaWNhdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYWNjb3VudFN0YXR1c2VzKCkhLm5vbmUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHBsaWNhdGlvbi1zdGF0dXMtaW5kaWNhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1ub25lIGFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcGxpY2F0aW9uLWNvdW50XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzKCkhLm5vbmUubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXRvb2x0aXAtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy10b29sdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIEFjY291bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gb2YgYWNjb3VudFN0YXR1c2VzKCkhLm5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBhcHBsaWNhdGlvbi5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHBsaWNhdGlvbi1zdGF0dXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1sb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYXBwbGljYXRpb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbHMtY29udGFpbmVyIGJhbm5lci1ncm91cFwiPlxuICAgICAgICAgICAgQGZvciAoZGV0YWlsIG9mIHVzZXJJbmZvVGFicygpIHwga2V5dmFsdWU7IHRyYWNrIGRldGFpbC5rZXkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1kZXRhaWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb2Z0IGxhYmVsXCI+e3sgZGV0YWlsLmtleSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1jb3B5LXRvb2x0aXAgW2NvcHlUZXh0XT1cImRldGFpbC52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtZGV0YWlsLXRhZyB3aGl0ZS10YWcgY2xpY2thYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGV0YWlsLnZhbHVlIHx8ICdVbmtub3duJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGliLWNvcHktdG9vbHRpcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbHMtY29udGFpbmVyIGJhbm5lci1ncm91cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtZGV0YWlsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb2Z0IGxhYmVsXCI+U3RhdHVzPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aXBsZS1kZXRhaWwtdGFnc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2ZpbGUtZGV0YWlsLXRhZyBjb2xvci10YWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBlbXBsb3llZVN0YXR1c0Rlc2NyaXB0aW9uKCkgfX1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyKCk/LnByaW1hcnlfcG9zaXRpb25fdHlwZV9kaXNwbGF5ID8/ICdOb24tZW1wbG95ZWUnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGFjdGl2aXR5U3RhdHVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2ZpbGUtc3RhdHVzLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zdGF0dXMtYWN0aXZlXT1cImFjdGl2aXR5U3RhdHVzKCkgPT09ICdhY3RpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnN0YXR1cy1pbmFjdGl2ZV09XCJhY3Rpdml0eVN0YXR1cygpID09PSAnaW5hY3RpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnN0YXR1cy1yZXRpcmVkXT1cImFjdGl2aXR5U3RhdHVzKCkgPT09ICdyZXRpcmVkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbC10YWcgY29sb3ItdGFnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAodXNlcigpPy51bmRlcmdyYWRfZ3JhZHVhdGVfc3RhdHVzIHwgdGl0bGVjYXNlKSB8fCAnTm9uLXN0dWRlbnQnIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1kZXRhaWwtdGFnIGNvbG9yLXRhZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5kZXBlbmRlbnRTdHVkeVN0YXR1cygpID8gJ0luZGVwZW5kZW50IFN0dWR5JyA6ICdObyBJbmQuIFN0dWR5JyB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNwYWNlclwiPjwvZGl2PlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZW5kLWltcGVyc29uYXRpb24tYnV0dG9uIHNoYWRvd1wiIChjbGljayk9XCJ0aGlzLmVuZEltcGVyc29uYXRpb24uZW1pdCgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvblwiPiBjbG9zZSA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV4aXQtdGV4dFwiPkV4aXQ8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXNSZXN0cmljdGVkKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3RyaWN0ZWQtYmFyLXBhZGRpbmdcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3RyaWN0ZWQtYmFyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+cmVzdHJpY3RlZCBwZXJzb248L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAgICAgICAgICBJZiBhbnlvbmUgYXNrcyBhYm91dCB0aGlzIHBlcnNvbiwgeW91IGFyZSBpbnN0cnVjdGVkIHRvIHJlc3BvbmQsXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbXBoYXNpemVcIj5cIldlIGhhdmUgbm8gcmVjb3JkcyBmb3IgdGhpcyBwZXJzb24uXCI8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwicmlnaHQtYm9yZGVyXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJvdHRvbS1ib3JkZXJcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibGVmdC1ib3JkZXJcIj48L2Rpdj5cbn1cbiJdfQ==
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGlvbi1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2ltcGVyc29uYXRpb24tYmFubmVyL2ltcGVyc29uYXRpb24tYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9pbXBlcnNvbmF0aW9uLWJhbm5lci9pbXBlcnNvbmF0aW9uLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUNILFlBQVksR0FHZixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sWUFBWSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBRTlFLE1BQU0sY0FBYyxHQUFHLDREQUE0RCxDQUFDO0FBQ3BGLE1BQU0sbUJBQW1CLEdBQUcsc0JBQXNCLENBQUM7QUFDbkQsTUFBTSwrQkFBK0Is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NEIsNmxCQ2xEekMsaXlUQWtMQSw4Z1FEckljLFlBQVksdUpBQUUsb0JBQW9COzsyRkFLbkMsNEJBQTRCO2tCQVB4QyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxZQUNuQywwQkFBMEI7OEJBUzFCLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBpbnB1dCwgT3V0cHV0LCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBBY2Nlc3NTdGF0dXMsXG4gICAgQWNjb3VudHNSZXNwb25zZSxcbiAgICB0eXBlIEFwcGxpY2F0aW9uQWNjZXNzLFxufSBmcm9tICcuL21vZGVscy9hcHBsaWNhdGlvbi1hY2Nlc3MnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRva2VuUGF5bG9hZCB9IGZyb20gJy4uL21vZGVscy90b2tlbi1wYXlsb2FkJztcbmltcG9ydCB7IGp3dERlY29kZSwgSnd0UGF5bG9hZCB9IGZyb20gJ2p3dC1kZWNvZGUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmRlcGVuZGVudFN0dWR5UmVzcG9uc2UsIFBlcnNvblN1bW1hcnkgfSBmcm9tICcuL21vZGVscy9wZXJzb24tc3VtbWFyeSc7XG5pbXBvcnQgdXJsY2F0IGZyb20gJ3VybGNhdCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29weVRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi9jb3B5LXRvb2x0aXAvY29weS10b29sdGlwLmNvbXBvbmVudCc7XG5cbmNvbnN0IFVTRVJfUEhPVE9fVVJMID0gJ2h0dHBzOi8veS5ieXUuZWR1L3J5L2FlL3Byb2QvcGVyc29uL2NnaS9wZXJzb25QaG90by5jZ2k/bj0nO1xuY29uc3QgUEVSU09OX1NVTU1BUllfUEFUSCA9ICcvc3VtbWFyeS86bGlicmFyeUlkLyc7XG5jb25zdCBJTkRFUEVOREVOVF9TVFVEWV9SRVNQT05TRV9QQVRIID0gJy9pbmRlcGVuZGVudC1zdHVkeS86bGlicmFyeUlkLyc7XG5jb25zdCBQQVRST05fQUNDT1VOVFNfUEFUSCA9ICcvcGF0cm9uL2FjY291bnRzJztcblxuLyoqXG4gKiBAdG9kbzogUmVmYWN0b3I6IG15IHJlY29tbWVuZGF0aW9uIHdvdWxkIGJlIHRvIGFsbG93IGEgdXNlciB0byBiZSBwYXNzZWQgaW50byB0aGlzIGNvbXBvbmVudCB2aWEgYW4gaW5wdXQgaW5zdGVhZCBvZiB0aGUgdXNlcnMgY29taW5nIGZyb20gYW4gQVBJIGNhbGwgYmFzZWQgb24gdGhlIEpXVCBwYXNzZWQgaW4uIFRoaXMgbWlnaHQgbG9vayBzb21ldGhpbmcgbGlrZTpcbiAqICBgYGBcbiAqICAgIO+8oElucHV0KCkgdXNlcjoge1xuICogICAgICBwcmltYXJ5X3Bvc2l0aW9uX3R5cGVfZGlzcGxheT86IHN0cmluZ1xuICogICAgICB1bmRlcmdyYWRfZ3JhZHVhdGVfc3RhdHVzPzogc3RyaW5nXG4gKiAgICAgIHJlc3RyaWN0ZWQ/OiBib29sZWFuXG4gKiAgICAgIGlzX3JldGlyZWQ/OiBib29sZWFuXG4gKiAgICAgIGlzX2VtcGxveWVlPzogYm9vbGVhblxuICogICAgICBwcmltYXJ5X3Bvc2l0aW9uX3R5cGU/OiBzdHJpbmdcbiAqICAgIH1cbiAqIGBgYFxuICogQWNjZXB0aW5nIGFsbCBwcm9wZXJ0aWVzIHRoYXQgYXJlIHVzZWQgaW4gdGhpcyBjb21wb25lbnQgd2l0aG91dCBuZWVkaW5nIHRvIGJyaW5nIGluIHRoZSB1c2VyIHR5cGUgZXhwbGljaXRseS4gT3IgdGhlIHByb3BlcnRpZXMgb24gdGhpcyB1c2VyIG9iamVjdCBjb3VsZCBiZSBtYWRlIGV2ZW4gbW9yZSBnZW5lcmFsIGFzIHRvIG5vdCBiZSB0aWVkIGF0IGFsbCB0byBhbnkgc3BlY2lmaWMgdHlwZS5cbiAqXG4gKiBTb21ldGhpbmcgc2ltaWxhciBjb3VsZCBiZSBkb25lIHdpdGggYGFjY291bnRTdGF0dXNlc2AuIEknZCByZWNvbW1lbmQgdGhlIGNvbnN1bWluZyBhcHBsaWNhdGlvbiBwcmVwYXJlIGFycmF5cyBvZiBzdHJpbmdzIHRvIGJlIHBhc3NlZCBpbnRvIGlucHV0cyBvZiBgYWNjb3VudHNPa2AsIGBhY2NvdW50c0Jsb2NrZWRgLCBhbmQgYGFjY291bnRzTm9uZWAsIHRoYXQgYXJlIHRoZW4gcGFzc2VkIGludG8gYW5kIGRpc3BsYXllZCBpbiB0aGUgdGVtcGxhdGUuXG4gKlxuICogVGhlIGlkZWEgYmVoaW5kIHRoZXNlIHJldmlzaW9ucyBpcyB0aGF0IHRoZXJlIGlzIGxlc3MgYnVzaW5lc3MgbG9naWMgYmFrZWQgaW50byB0aGlzIGNvbXBvbmVudCwgYXMgaXQncyByb2xlIGlzIGp1c3Qgb25lIG9mIHByZXNlbnRhdGlvbi4gSXQgd2lsbCBhbHNvIGF2b2lkIG11bHRpcGxlIEFQSSBjYWxscyBmb3IgdGhlIHNhbWUgZGF0YSBpbiBvdXIgYmlnIEFuZ3VsYXIgYXBwcy5cbiAqXG4gKiBCZXN0IG9mIGx1Y2ssXG4gKiBQYXVsXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29weVRvb2x0aXBDb21wb25lbnRdLFxuICAgIHNlbGVjdG9yOiAnbGliLWltcGVyc29uYXRpb24tYmFubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1wZXJzb25hdGlvbi1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ltcGVyc29uYXRpb24tYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEltcGVyc29uYXRpb25CYW5uZXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBhY2Nlc3NUb2tlblBheWxvYWQgPSBpbnB1dC5yZXF1aXJlZDxUb2tlblBheWxvYWQ+KCk7XG4gICAgcGVyc29uQmFzZVVyaSA9IGlucHV0KCdodHRwczovL2FwcHMubGliLmJ5dS5lZHUvcGVyc29uL3YyLycpO1xuICAgIGxpYnJhcnlBcGlCYXNlVXJpID0gaW5wdXQoJ2h0dHBzOi8vYXBpLmxpYi5ieXUuZWR1L3YxJyk7XG4gICAgQE91dHB1dCgpIGVuZEltcGVyc29uYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcm90ZWN0ZWQgcGFyc2VkVG9rZW46IFNpZ25hbDxKd3RQYXlsb2FkICYgUmVjb3JkPHN0cmluZywgYW55Pj4gPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLmFjY2Vzc1Rva2VuUGF5bG9hZCgpLnRva2VuID8gand0RGVjb2RlKHRoaXMuYWNjZXNzVG9rZW5QYXlsb2FkKCkudG9rZW4pIDoge30sXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgaXNJbXBlcnNvbmF0aW5nID0gY29tcHV0ZWQoKCkgPT4gISF0aGlzLnBhcnNlZFRva2VuKClbJ2ltcGVyc29uYXRvciddKTtcbiAgICBwcm90ZWN0ZWQgbGlicmFyeUlkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYXJzZWRUb2tlbigpWydsaWJyYXJ5X2lkJ10pO1xuICAgIHByb3RlY3RlZCB1c2VyID0gdG9TaWduYWwoXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RvT2JzZXJ2YWJsZSh0aGlzLmxpYnJhcnlJZCksIHRvT2JzZXJ2YWJsZSh0aGlzLmlzSW1wZXJzb25hdGluZyldKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbbGlicmFyeUlkLCBpc0ltcGVyc29uYXRpbmddKSA9PlxuICAgICAgICAgICAgICAgIGxpYnJhcnlJZCAmJiBpc0ltcGVyc29uYXRpbmdcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmh0dHAuZ2V0PFBlcnNvblN1bW1hcnk+KFxuICAgICAgICAgICAgICAgICAgICAgICAgICB1cmxjYXQodGhpcy5wZXJzb25CYXNlVXJpKCksIFBFUlNPTl9TVU1NQVJZX1BBVEgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnlJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5hY2Nlc3NUb2tlblBheWxvYWQoKS50b2tlbn1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIDogb2YobnVsbCksXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICk7XG4gICAgcHJvdGVjdGVkIHVzZXJGdWxsTmFtZSA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMucGFyc2VkVG9rZW4oKVsnZ2l2ZW5fbmFtZSddXG4gICAgICAgICAgICA/IGAke3RoaXMucGFyc2VkVG9rZW4oKVsnZ2l2ZW5fbmFtZSddfSAke3RoaXMucGFyc2VkVG9rZW4oKVsnZmFtaWx5X25hbWUnXX1gXG4gICAgICAgICAgICA6ICdVbmtub3duJyxcbiAgICApO1xuICAgIHByb3RlY3RlZCBpc1Jlc3RyaWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnVzZXIoKT8ucmVzdHJpY3RlZCk7XG4gICAgcHJvdGVjdGVkIHVzZXJJbmZvVGFicyA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgbmV3IE1hcChbXG4gICAgICAgICAgICAgICAgWydOZXQgSUQnLCB0aGlzLnBhcnNlZFRva2VuKClbJ25ldF9pZCddID8/ICcnXSxcbiAgICAgICAgICAgICAgICBbJ0JZVSBJRCcsIHRoaXMucGFyc2VkVG9rZW4oKVsnYnl1X2lkJ10gPz8gJyddLFxuICAgICAgICAgICAgICAgIFsnRW1haWwnLCB0aGlzLnVzZXIoKT8uZW1haWxfYWRkcmVzcyA/PyAnJ10sXG4gICAgICAgICAgICBdKSxcbiAgICApO1xuICAgIHByb3RlY3RlZCB1c2VyUGhvdG9VcmwgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLnBhcnNlZFRva2VuKClbJ25ldF9pZCddID8gVVNFUl9QSE9UT19VUkwgKyB0aGlzLnBhcnNlZFRva2VuKClbJ25ldF9pZCddIDogJycsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCBhY3Rpdml0eVN0YXR1cyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudXNlcigpPy5pc19yZXRpcmVkKSByZXR1cm4gJ3JldGlyZWQnO1xuICAgICAgICBlbHNlIGlmICh0aGlzLnVzZXIoKT8uaXNfZW1wbG95ZWUpIHJldHVybiAnYWN0aXZlJztcbiAgICAgICAgZWxzZSBpZiAodGhpcy51c2VyKCk/LnByaW1hcnlfcG9zaXRpb25fdHlwZSkgcmV0dXJuICdpbmFjdGl2ZSc7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIGVtcGxveWVlU3RhdHVzRGVzY3JpcHRpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy51c2VyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGRlc2NyaXB0aW9uID0gJyc7XG4gICAgICAgIGlmICh0aGlzLnVzZXIoKSEuaXNfcmV0aXJlZCkge1xuICAgICAgICAgICAgZGVzY3JpcHRpb24gPSAnUmV0aXJlZCc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2VyKCkhLmlzX2VtcGxveWVlKSB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbiA9ICdBY3RpdmUnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNlcigpIS5wcmltYXJ5X3Bvc2l0aW9uX3R5cGUpIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gJ0luYWN0aXZlJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnVzZXIoKSEucHJpbWFyeV9wb3NpdGlvbl90eXBlX2Rpc3BsYXkpIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uICs9IGAgJHt0aGlzLnVzZXIoKSEucHJpbWFyeV9wb3NpdGlvbl90eXBlX2Rpc3BsYXl9IEVtcGxveWVlYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkZXNjcmlwdGlvbiA/PyBudWxsO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIGluZGVwZW5kZW50U3R1ZHlTdGF0dXMgPSB0b1NpZ25hbChcbiAgICAgICAgY29tYmluZUxhdGVzdChbdG9PYnNlcnZhYmxlKHRoaXMubGlicmFyeUlkKSwgdG9PYnNlcnZhYmxlKHRoaXMuaXNJbXBlcnNvbmF0aW5nKV0pLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKFtsaWJyYXJ5SWQsIGlzSW1wZXJzb25hdGluZ10pID0+XG4gICAgICAgICAgICAgICAgbGlicmFyeUlkICYmIGlzSW1wZXJzb25hdGluZ1xuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0PEluZGVwZW5kZW50U3R1ZHlSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmxjYXQodGhpcy5wZXJzb25CYXNlVXJpKCksIElOREVQRU5ERU5UX1NUVURZX1JFU1BPTlNFX1BBVEgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmFjY2Vzc1Rva2VuUGF5bG9hZCgpLnRva2VufWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUobWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2U/LmlzX2Vucm9sbGVkKSlcbiAgICAgICAgICAgICAgICAgICAgOiBvZihudWxsKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgYWNjb3VudFN0YXR1c2VzID0gdG9TaWduYWwoXG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmlzSW1wZXJzb25hdGluZykucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoaXNJbXBlcnNvbmF0aW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0ltcGVyc29uYXRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgICAgIC5nZXQ8QWNjb3VudHNSZXNwb25zZT4odXJsY2F0KHRoaXMubGlicmFyeUFwaUJhc2VVcmkoKSwgUEFUUk9OX0FDQ09VTlRTX1BBVEgpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuYWNjZXNzVG9rZW5QYXlsb2FkKCkudG9rZW59YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChhY2NvdW50cykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjY291bnRTdGF0dXNlcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2s6IFtdIGFzIEFwcGxpY2F0aW9uQWNjZXNzW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrZWQ6IFtdIGFzIEFwcGxpY2F0aW9uQWNjZXNzW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmU6IFtdIGFzIEFwcGxpY2F0aW9uQWNjZXNzW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoYWNjb3VudHMuYXBwbGljYXRpb25zKS5mb3JFYWNoKChhcHApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChhcHAuYWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEFjY2Vzc1N0YXR1cy5PSzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50U3RhdHVzZXMub2sucHVzaChhcHApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBBY2Nlc3NTdGF0dXMuQkxPQ0tFRDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50U3RhdHVzZXMuYmxvY2tlZC5wdXNoKGFwcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEFjY2Vzc1N0YXR1cy5OT05FOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnRTdGF0dXNlcy5ub25lLnB1c2goYXBwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY291bnRTdGF0dXNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBmZXRjaCBwYXRyb24gYWNjb3VudCBzdGF0dXNlczonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xufVxuIiwiQGlmIChpc0ltcGVyc29uYXRpbmcoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJiYW5uZXItcGFkZGluZ1wiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0b3AtYmFubmVyXCIgZGF0YS10ZXN0aWQ9XCJiYW5uZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJhbm5lci1ncm91cCBwcm9maWxlLW5hbWUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1hdmF0YXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInVzZXJQaG90b1VybCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwidXNlckZ1bGxOYW1lKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwidXNlciBwaG90b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbmVycm9yPVwidGhpcy5yZW1vdmUoKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHByb2ZpbGUtaWNvblwiPiBwZXJzb24gPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb2Z0XCI+SW1wZXJzb25hdGluZzwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9maWxlLW5hbWVcIj57eyB1c2VyRnVsbE5hbWUoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChhY2NvdW50U3RhdHVzZXMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1iYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGFjY291bnRTdGF0dXNlcygpIS5vay5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLW9rIGFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWNoZWNrbWFya1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcGxpY2F0aW9uLWNvdW50XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzKCkhLm9rLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy10b29sdGlwLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPSyBBcHBsaWNhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gb2YgYWNjb3VudFN0YXR1c2VzKCkhLm9rO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgYXBwbGljYXRpb24ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tY2hlY2ttYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGFwcGxpY2F0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChhY2NvdW50U3RhdHVzZXMoKSEuYmxvY2tlZC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLWJsb2NrZWQgYXBwbGljYXRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24td2FybmluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tY291bnRcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50U3RhdHVzZXMoKSEuYmxvY2tlZC5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtdG9vbHRpcC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tlZCBBcHBsaWNhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gb2YgYWNjb3VudFN0YXR1c2VzKCkhLmJsb2NrZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBhcHBsaWNhdGlvbi5jb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLXdhcm5pbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBhcHBsaWNhdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYWNjb3VudFN0YXR1c2VzKCkhLm5vbmUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHBsaWNhdGlvbi1zdGF0dXMtaW5kaWNhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1ub25lIGFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcGxpY2F0aW9uLWNvdW50XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzKCkhLm5vbmUubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXRvb2x0aXAtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy10b29sdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIEFjY291bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gb2YgYWNjb3VudFN0YXR1c2VzKCkhLm5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBhcHBsaWNhdGlvbi5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHBsaWNhdGlvbi1zdGF0dXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1sb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYXBwbGljYXRpb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbHMtY29udGFpbmVyIGJhbm5lci1ncm91cFwiPlxuICAgICAgICAgICAgQGZvciAoZGV0YWlsIG9mIHVzZXJJbmZvVGFicygpIHwga2V5dmFsdWU7IHRyYWNrIGRldGFpbC5rZXkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1kZXRhaWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb2Z0IGxhYmVsXCI+e3sgZGV0YWlsLmtleSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1jb3B5LXRvb2x0aXAgW2NvcHlUZXh0XT1cImRldGFpbC52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtZGV0YWlsLXRhZyB3aGl0ZS10YWcgY2xpY2thYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGV0YWlsLnZhbHVlIHx8ICdVbmtub3duJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGliLWNvcHktdG9vbHRpcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbHMtY29udGFpbmVyIGJhbm5lci1ncm91cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtZGV0YWlsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb2Z0IGxhYmVsXCI+U3RhdHVzPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aXBsZS1kZXRhaWwtdGFnc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2ZpbGUtZGV0YWlsLXRhZyBjb2xvci10YWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBlbXBsb3llZVN0YXR1c0Rlc2NyaXB0aW9uKCkgfX1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyKCk/LnByaW1hcnlfcG9zaXRpb25fdHlwZV9kaXNwbGF5ID8/ICdOb24tZW1wbG95ZWUnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGFjdGl2aXR5U3RhdHVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2ZpbGUtc3RhdHVzLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zdGF0dXMtYWN0aXZlXT1cImFjdGl2aXR5U3RhdHVzKCkgPT09ICdhY3RpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnN0YXR1cy1pbmFjdGl2ZV09XCJhY3Rpdml0eVN0YXR1cygpID09PSAnaW5hY3RpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnN0YXR1cy1yZXRpcmVkXT1cImFjdGl2aXR5U3RhdHVzKCkgPT09ICdyZXRpcmVkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbC10YWcgY29sb3ItdGFnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAodXNlcigpPy51bmRlcmdyYWRfZ3JhZHVhdGVfc3RhdHVzIHwgdGl0bGVjYXNlKSB8fCAnTm9uLXN0dWRlbnQnIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1kZXRhaWwtdGFnIGNvbG9yLXRhZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5kZXBlbmRlbnRTdHVkeVN0YXR1cygpID8gJ0luZGVwZW5kZW50IFN0dWR5JyA6ICdObyBJbmQuIFN0dWR5JyB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNwYWNlclwiPjwvZGl2PlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZW5kLWltcGVyc29uYXRpb24tYnV0dG9uIHNoYWRvd1wiIChjbGljayk9XCJ0aGlzLmVuZEltcGVyc29uYXRpb24uZW1pdCgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvblwiPiBjbG9zZSA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV4aXQtdGV4dFwiPkV4aXQ8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXNSZXN0cmljdGVkKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3RyaWN0ZWQtYmFyLXBhZGRpbmdcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3RyaWN0ZWQtYmFyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+cmVzdHJpY3RlZCBwZXJzb248L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAgICAgICAgICBJZiBhbnlvbmUgYXNrcyBhYm91dCB0aGlzIHBlcnNvbiwgeW91IGFyZSBpbnN0cnVjdGVkIHRvIHJlc3BvbmQsXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbXBoYXNpemVcIj5cIldlIGhhdmUgbm8gcmVjb3JkcyBmb3IgdGhpcyBwZXJzb24uXCI8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwicmlnaHQtYm9yZGVyXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJvdHRvbS1ib3JkZXJcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibGVmdC1ib3JkZXJcIj48L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -9,7 +9,7 @@ import { map, of, switchMap, shareReplay, combineLatest, Subject, Subscription }
|
|
|
9
9
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
10
10
|
import * as i2 from '@angular/forms';
|
|
11
11
|
import { Validators, FormBuilder, ReactiveFormsModule, FormControl, NonNullableFormBuilder } from '@angular/forms';
|
|
12
|
-
import { switchMap as switchMap$1, map as map$1,
|
|
12
|
+
import { switchMap as switchMap$1, map as map$1, catchError, startWith, tap, filter } from 'rxjs/operators';
|
|
13
13
|
import { jwtDecode } from 'jwt-decode';
|
|
14
14
|
import urlcat from 'urlcat';
|
|
15
15
|
import * as i1$1 from '@angular/material/tooltip';
|
|
@@ -806,7 +806,7 @@ class HbllFooterComponent {
|
|
|
806
806
|
this.footerSkipTargetId = 'hbllChatBtn';
|
|
807
807
|
// TODO: Convert these to signal inputs: https://github.com/angular/angular/issues/57755
|
|
808
808
|
this.mainsitebaseurl = 'https://lib.byu.edu';
|
|
809
|
-
this.libraryapibaseuri = 'https://
|
|
809
|
+
this.libraryapibaseuri = 'https://api.lib.byu.edu/v1';
|
|
810
810
|
this.date = new Date();
|
|
811
811
|
this.isSubmitted = false;
|
|
812
812
|
this.isLoading = false;
|
|
@@ -980,7 +980,7 @@ class ImpersonationBannerComponent {
|
|
|
980
980
|
this.http = inject(HttpClient);
|
|
981
981
|
this.accessTokenPayload = input.required();
|
|
982
982
|
this.personBaseUri = input('https://apps.lib.byu.edu/person/v2/');
|
|
983
|
-
this.libraryApiBaseUri = input('https://
|
|
983
|
+
this.libraryApiBaseUri = input('https://api.lib.byu.edu/v1');
|
|
984
984
|
this.endImpersonation = new EventEmitter();
|
|
985
985
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
986
986
|
this.parsedToken = computed(() => this.accessTokenPayload().token ? jwtDecode(this.accessTokenPayload().token) : {});
|
|
@@ -1074,6 +1074,9 @@ class ImpersonationBannerComponent {
|
|
|
1074
1074
|
}
|
|
1075
1075
|
});
|
|
1076
1076
|
return accountStatuses;
|
|
1077
|
+
}), catchError((error) => {
|
|
1078
|
+
console.warn('Failed to fetch patron account statuses:', error);
|
|
1079
|
+
return of(null);
|
|
1077
1080
|
}));
|
|
1078
1081
|
})));
|
|
1079
1082
|
}
|