codefoxcore 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/helpers.mjs +5 -1
- package/esm2022/lib/interfaces.mjs +1 -1
- package/esm2022/lib/pipes/index.mjs +2 -1
- package/esm2022/lib/pipes/microdata.pipe.mjs +21 -0
- package/esm2022/lib/services/dialog.service.mjs +2 -1
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/message.service.mjs +16 -3
- package/esm2022/lib/services/microdata.service.mjs +19 -0
- package/esm2022/lib/tokens/message.token.mjs +6 -1
- package/fesm2022/codefoxcore.mjs +80 -24
- package/fesm2022/codefoxcore.mjs.map +1 -1
- package/lib/helpers.d.ts +2 -0
- package/lib/interfaces.d.ts +6 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/microdata.pipe.d.ts +9 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/message.service.d.ts +6 -0
- package/lib/services/microdata.service.d.ts +9 -0
- package/lib/tokens/message.token.d.ts +1 -0
- package/package.json +1 -1
package/esm2022/lib/helpers.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DOCUMENT, isPlatformBrowser } from "@angular/common";
|
|
2
|
+
import { HttpErrorResponse } from "@angular/common/http";
|
|
2
3
|
import { inject, PLATFORM_ID } from "@angular/core";
|
|
3
4
|
export function isBrowser() {
|
|
4
5
|
const platformId = inject(PLATFORM_ID);
|
|
@@ -18,4 +19,7 @@ export function sessionStorage() {
|
|
|
18
19
|
}
|
|
19
20
|
return null;
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
+
export function isServerError(error) {
|
|
23
|
+
return error instanceof HttpErrorResponse && typeof error.error === 'object' && error.error['message'] !== undefined && typeof error.error['message'] === 'string';
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGVmb3hjb3JlL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEQsTUFBTSxVQUFVLFNBQVM7SUFDeEIsTUFBTSxVQUFVLEdBQVcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZO0lBQzNCLE1BQU0sUUFBUSxHQUFhLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxJQUFJLFFBQVEsQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1FBQ2xDLE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0tBQ2hEO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWM7SUFDN0IsTUFBTSxRQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLElBQUksUUFBUSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7UUFDbEMsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7S0FDbEQ7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNiLENBQUM7QUFHRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQVU7SUFDdkMsT0FBTyxLQUFLLFlBQVksaUJBQWlCLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssUUFBUSxDQUFDO0FBQ3BLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IGluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTZXJ2ZXJFcnJvciB9IGZyb20gXCIuL2ludGVyZmFjZXNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0Jyb3dzZXIoKTogYm9vbGVhbiB7XHJcblx0Y29uc3QgcGxhdGZvcm1JZDogT2JqZWN0ID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcclxuXHRyZXR1cm4gaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2NhbFN0b3JhZ2UoKTogU3RvcmFnZSB8IG51bGwge1xyXG5cdGNvbnN0IGRvY3VtZW50OiBEb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XHJcblx0aWYgKGRvY3VtZW50LmRlZmF1bHRWaWV3ICE9PSBudWxsKSB7XHJcblx0XHRyZXR1cm4gZG9jdW1lbnQuZGVmYXVsdFZpZXcud2luZG93LmxvY2FsU3RvcmFnZTtcclxuXHR9XHJcblx0cmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXNzaW9uU3RvcmFnZSgpOiBTdG9yYWdlIHwgbnVsbCB7XHJcblx0Y29uc3QgZG9jdW1lbnQ6IERvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuXHRpZiAoZG9jdW1lbnQuZGVmYXVsdFZpZXcgIT09IG51bGwpIHtcclxuXHRcdHJldHVybiBkb2N1bWVudC5kZWZhdWx0Vmlldy53aW5kb3cuc2Vzc2lvblN0b3JhZ2U7XHJcblx0fVxyXG5cdHJldHVybiBudWxsO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VydmVyRXJyb3IoZXJyb3I6IGFueSk6IGVycm9yIGlzIFNlcnZlckVycm9yIHtcclxuXHRyZXR1cm4gZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJiB0eXBlb2YgZXJyb3IuZXJyb3IgPT09ICdvYmplY3QnICYmIGVycm9yLmVycm9yWydtZXNzYWdlJ10gIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZXJyb3IuZXJyb3JbJ21lc3NhZ2UnXSA9PT0gJ3N0cmluZyc7XHJcbn0iXX0=
|
|
@@ -47,4 +47,4 @@ export var Precheck;
|
|
|
47
47
|
Precheck["ERROR"] = "ERROR";
|
|
48
48
|
Precheck["WARNING"] = "WARNING";
|
|
49
49
|
})(Precheck || (Precheck = {}));
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGVmb3hjb3JlL3NyYy9saWIvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3REEsTUFBTSxDQUFOLElBQVksb0JBR1g7QUFIRCxXQUFZLG9CQUFvQjtJQUM1QiwyQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBMEJELE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDdkIsOEJBQVcsQ0FBQTtJQUNYLG9DQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQjtBQUVELE1BQU0sQ0FBTixJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFDdkIsc0NBQW1CLENBQUE7SUFDbkIsc0NBQW1CLENBQUE7SUFDbkIsb0NBQWlCLENBQUE7SUFDakIsZ0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUI7QUErQkQsTUFBTSxDQUFOLElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUNoQixxQ0FBTyxDQUFBO0lBQ1AseUNBQVMsQ0FBQTtJQUNULHVDQUFRLENBQUE7SUFDUix1Q0FBUSxDQUFBO0lBQ1IseUNBQVMsQ0FBQTtJQUNULHlDQUFTLENBQUE7SUFDVCxxQ0FBTyxDQUFBO0FBQ1gsQ0FBQyxFQVJXLFFBQVEsS0FBUixRQUFRLFFBUW5CO0FBRUQsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUN4Qix1RUFBZ0IsQ0FBQTtJQUNoQiwyRUFBa0IsQ0FBQTtJQUNsQiwyREFBVSxDQUFBO0FBQ2QsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxlQVNYO0FBVEQsV0FBWSxlQUFlO0lBQ3ZCLDhCQUFXLENBQUE7SUFDWCxrQ0FBZSxDQUFBO0lBQ2Ysb0NBQWlCLENBQUE7SUFDakIsZ0NBQWEsQ0FBQTtJQUNiLGtDQUFlLENBQUE7SUFDZix3Q0FBcUIsQ0FBQTtJQUNyQixnQ0FBYSxDQUFBO0lBQ2hCLDBDQUF1QixDQUFBO0FBQ3hCLENBQUMsRUFUVyxlQUFlLEtBQWYsZUFBZSxRQVMxQjtBQUVELE1BQU0sQ0FBTixJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDaEIsMkJBQWUsQ0FBQTtJQUNmLCtCQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tIFwiLi9jbGFzc2VzL2RpYWxvZy5yZWYuY2xhc3NcIjtcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGFiZWxWYWx1ZTxUID0gc3RyaW5nPiB7XHJcblx0bGFiZWw6IHN0cmluZztcclxuXHR2YWx1ZTogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dDb21wb25lbnRSZWZDb250YWluZXIge1xyXG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuICAgIGNvbnRhaW5lcjogSFRNTERpdkVsZW1lbnQ7XHJcblx0b3BlbkluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWRlZmluZWREaWFsb2dzID0ge1trZXk6IHN0cmluZ106ICgoKSA9PiBQcm9taXNlPFR5cGU8YW55Pj4pIHwge2NvbXBvbmVudDogKCkgPT4gUHJvbWlzZTxUeXBlPGFueT4+LCBjb25maWd1cmF0aW9uOiBEaWFsb2dDb25maWd1cmF0aW9ufX07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0NvbmZpZ3VyYXRpb24ge1xyXG4gICAgc2hvd0Nsb3NlSWNvbj86IGJvb2xlYW47XHJcblx0YmVmb3JlQ2xvc2U/OiBDZkRpYWxvZ0NvbmZpZ3VyYXRpb25CZWZvcmVDbG9zZTtcclxuXHRpZ25vcmVLZXlVcD86IGJvb2xlYW47XHJcbiAgICBkYXRhPzogYW55O1xyXG4gICAgbm9QYWRkaW5nPzogYm9vbGVhbjtcclxuXHRrZWVwQWN0aXZlRWxlbWVudD86IGJvb2xlYW47XHJcblx0Y29udGFpbmVyQ2xhc3Nlcz86IHN0cmluZ1tdO1xyXG5cdGRpYWxvZ0NsYXNzZXM/OiBzdHJpbmdbXTtcclxuXHR0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjb250ZW50RWxlbWVudD86IEVsZW1lbnQgfCBudWxsO1xyXG4gICAgc2luZ2xlPzogYm9vbGVhbjtcclxuICAgIHdpZHRoPzogc3RyaW5nIHwgbnVsbDtcclxuXHRoZWlnaHQ/OiBzdHJpbmcgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDZkRpYWxvZ0NvbmZpZ3VyYXRpb25CZWZvcmVDbG9zZSA9IG51bGwgfCAoKCkgPT4gYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+KSB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtQ29uZmlndXJhdGlvbiB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gICAgYWNjZXB0VGV4dDogc3RyaW5nO1xyXG4gICAgZGVjbGluZVRleHQ6IHN0cmluZztcclxuXHRoaWRlRGVjbGluZUJ1dHRvbj86IGJvb2xlYW47XHJcbiAgICBzd2l0Y2hCdXR0b25Db2xvcnM/OiBib29sZWFuO1xyXG4gICAgYWNjZXB0VGltZW91dD86IG51bWJlcjtcclxuICAgIGFjY2VwdFZhbGlkYXRpb25UZXh0Pzogc3RyaW5nO1xyXG4gICAgYWNjZXB0VmFsaWRhdGlvbk1vZGU/OiBBY2NlcHRWYWxpZGF0aW9uTW9kZTtcclxuICAgIGFjY2VwdFZhbGlkYXRpb25MYWJlbD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBbGVydENvbmZpZ3VyYXRpb24ge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHRleHQ6IHN0cmluZztcclxuXHRzaG93Q2xvc2VJY29uPzogYm9vbGVhbjtcclxuXHRidXR0b24/OiBQYXJ0aWFsPEFsZXJ0QnV0dG9uQ29uZmlndXJhdGlvbj47XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEFjY2VwdFZhbGlkYXRpb25Nb2RlIHtcclxuICAgIFBBVFRFUk4gPSAnUEFUVEVSTicsXHJcbiAgICBURVhUID0gJ1RFWFQnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnRCdXR0b25Db25maWd1cmF0aW9uIHtcclxuXHRsYWJlbDogc3RyaW5nO1xyXG5cdHNldmVyaXR5OiBzdHJpbmc7XHJcblx0Y2FsbGJhY2s6IChwYXJhbXM6IHtkaWFsb2dSZWY6IERpYWxvZ1JlZn0pID0+IHZvaWQ7XHJcblx0dHJhbnNsYXRlTGFiZWw6IGJvb2xlYW47XHJcblx0Zm9jdXM6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2ZEaWFsb2dDbG9zZVBhcmFtcyB7XHJcbiAgICBtZXNzYWdlPzogTWVzc2FnZVBhcnRpYWw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVBhcnRpYWwgZXh0ZW5kcyBQYXJ0aWFsPE1lc3NhZ2VDb25maWd1cmF0aW9uPiB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VDb25maWd1cmF0aW9uIHtcclxuICAgIGNsb3NlYWJsZTogYm9vbGVhbjtcclxuICAgIHBvc2l0aW9uOiBNZXNzYWdlUG9zaXRpb247XHJcbiAgICBsaWZldGltZTogbnVtYmVyIHwgbnVsbDtcclxuICAgIHNldmVyaXR5OiBNZXNzYWdlU2V2ZXJpdHk7XHJcblx0a2VlcE9uSG92ZXI6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGVudW0gTWVzc2FnZVBvc2l0aW9uIHtcclxuICAgIFRPUCA9ICd0b3AnLFxyXG4gICAgQk9UVE9NID0gJ2JvdHRvbSdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTWVzc2FnZVNldmVyaXR5IHtcclxuICAgIFNVQ0NFU1MgPSAnc3VjY2VzcycsXHJcbiAgICBXQVJOSU5HID0gJ3dhcm5pbmcnLFxyXG4gICAgREFOR0VSID0gJ2RhbmdlcicsXHJcbiAgICBJTkZPID0gJ2luZm8nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGluZ0NvbmZpZ3VyYXRpb24ge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHRleHQ6IHN0cmluZztcclxuXHRsb2FkaW5nSWNvbj86IHN0cmluZztcclxuICAgIGljb25TaXplPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsV2l0aEJ1dHRvbnNDb25maWd1cmF0aW9uIHtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcblx0c2hvd0Nsb3NlSWNvbj86IGJvb2xlYW47XHJcblx0YnV0dG9uczogQnV0dG9uQ29uZmlndXJhdGlvbltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkNvbmZpZ3VyYXRpb24ge1xyXG5cdGxhYmVsOiBzdHJpbmc7XHJcblx0c2V2ZXJpdHk6IHN0cmluZztcclxuXHRjYWxsYmFjaz86IChwYXJhbXM6IHtkaWFsb2dSZWY6IERpYWxvZ1JlZn0pID0+IHZvaWQ7XHJcblx0cm91dGVyTGluaz86IGFueTtcclxuXHRmb2N1cz86IGJvb2xlYW47XHJcblx0cGVybWlzc2lvbj86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG5cdHRyYW5zbGF0ZUxhYmVsPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUNvbmZpZ3VyYXRpb24ge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIG1lc3NhZ2U6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTG9nTGV2ZWwge1xyXG4gICAgQWxsID0gMCxcclxuICAgIERlYnVnID0gMSxcclxuICAgIEluZm8gPSAyLFxyXG4gICAgV2FybiA9IDMsXHJcbiAgICBFcnJvciA9IDQsXHJcbiAgICBGYXRhbCA9IDUsXHJcbiAgICBPZmYgPSA2XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFRva2VuU2VydmljZU1vZGUge1xyXG4gICAgTE9DQUxTVE9SQUdFID0gMCxcclxuICAgIFNFU1NJT05TVE9SQUdFID0gMSxcclxuICAgIENPT0tJRSA9IDJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gSW50ZXJjZXB0b3JUeXBlIHtcclxuICAgIEFMTCA9ICdBTEwnLFxyXG4gICAgRVJST1IgPSAnRVJST1InLFxyXG4gICAgTE9BREVSID0gJ0xPQURFUicsXHJcbiAgICBNT0NLID0gJ01PQ0snLFxyXG4gICAgVE9LRU4gPSAnVE9LRU4nLFxyXG4gICAgUFJFQ0hFQ0sgPSAnUFJFQ0hFQ0snLFxyXG4gICAgTE9DSyA9ICdMT0NLJyxcclxuXHRSRVFVRVNUSUQgPSAnUkVRVUVTVElEJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBQcmVjaGVjayB7XHJcbiAgICBFUlJPUiA9IFwiRVJST1JcIixcclxuICAgIFdBUk5JTkcgPSBcIldBUk5JTkdcIlxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVjaGVja051bGxhYmxlID0gUHJlY2hlY2sgfCBudWxsO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJFcnJvciBleHRlbmRzIEh0dHBFcnJvclJlc3BvbnNlIHtcclxuXHRlcnJvcjoge1xyXG5cdFx0bWVzc2FnZTogc3RyaW5nO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './translate.pipe';
|
|
2
|
-
|
|
2
|
+
export * from './microdata.pipe';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlZm94Y29yZS9zcmMvbGliL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL21pY3JvZGF0YS5waXBlJztcclxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { inject, Pipe } from "@angular/core";
|
|
2
|
+
import { MicroDataService } from "../services/microdata.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MicroDataPipe {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.microDataService = inject(MicroDataService);
|
|
7
|
+
}
|
|
8
|
+
transform(key, defaultOnUndefined = '') {
|
|
9
|
+
return this.microDataService.getMicroData(key, defaultOnUndefined);
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MicroDataPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MicroDataPipe, isStandalone: true, name: "microdata" }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MicroDataPipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{
|
|
17
|
+
standalone: true,
|
|
18
|
+
name: 'microdata'
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9kYXRhLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlZm94Y29yZS9zcmMvbGliL3BpcGVzL21pY3JvZGF0YS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNakUsTUFBTSxPQUFPLGFBQWE7SUFKMUI7UUFNQyxxQkFBZ0IsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FNOUQ7SUFKQSxTQUFTLENBQUMsR0FBVyxFQUFFLHFCQUE2QixFQUFFO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNwRSxDQUFDOytHQU5XLGFBQWE7NkdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDTCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLFdBQVc7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWljcm9EYXRhU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9taWNyb2RhdGEuc2VydmljZVwiO1xyXG5cclxuQFBpcGUoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0bmFtZTogJ21pY3JvZGF0YSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1pY3JvRGF0YVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcblx0bWljcm9EYXRhU2VydmljZTogTWljcm9EYXRhU2VydmljZSA9IGluamVjdChNaWNyb0RhdGFTZXJ2aWNlKTtcclxuXHJcblx0dHJhbnNmb3JtKGtleTogc3RyaW5nLCBkZWZhdWx0T25VbmRlZmluZWQ6IHN0cmluZyA9ICcnKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5taWNyb0RhdGFTZXJ2aWNlLmdldE1pY3JvRGF0YShrZXksIGRlZmF1bHRPblVuZGVmaW5lZCk7XHJcblx0fVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -247,6 +247,7 @@ export class DialogService {
|
|
|
247
247
|
confirm(configuration, dialogConfiguration = {}, component) {
|
|
248
248
|
if (typeof configuration === 'string') {
|
|
249
249
|
if (configuration.startsWith('translate:')) {
|
|
250
|
+
configuration = configuration.substr(10);
|
|
250
251
|
configuration = {
|
|
251
252
|
title: configuration + '.title',
|
|
252
253
|
text: configuration + '.text',
|
|
@@ -359,4 +360,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
359
360
|
providedIn: 'root'
|
|
360
361
|
}]
|
|
361
362
|
}], ctorParameters: function () { return []; } });
|
|
362
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlZm94Y29yZS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDSCxjQUFjLEVBRWQsZUFBZSxFQUVmLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxFQUNSLFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekssT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFLN0MsTUFBTSxPQUFPLGFBQWE7SUFrQnRCO1FBaEJLLGFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsb0NBQStCLEdBQTBDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hHLGtDQUE2QixHQUF3QyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNsRyxzQkFBaUIsR0FBc0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbEUsMEJBQXFCLEdBQWtCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3hFLDJCQUFzQixHQUFxQixNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztR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SUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUMzQixHQUFHLG1CQUFtQjtnQkFDdEIsSUFBSSxFQUFFO29CQUNMLGFBQWE7aUJBQ2I7Z0JBQ0QsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLGFBQWEsRUFBRSxLQUFLO2FBQ3BCLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDekIsT0FBTyxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQixDQUNuQixhQUE0QyxFQUM1QyxzQkFBMkMsRUFBRSxFQUM3QyxTQUFvQjtRQUVwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzNCLEdBQUcsbUJBQW1CO1lBQ3RCLElBQUksRUFBRTtnQkFDTCxhQUFhO2FBQ2I7U0FDRCxDQUFDLENBQUM7SUFDSixDQUFDOytHQWhhVyxhQUFhO21IQUFiLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICAgIEFwcGxpY2F0aW9uUmVmLFxyXG4gICAgQ29tcG9uZW50UmVmLFxyXG4gICAgY3JlYXRlQ29tcG9uZW50LFxyXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gICAgaW5qZWN0LFxyXG4gICAgSW5qZWN0YWJsZSxcclxuICAgIEluamVjdG9yLFxyXG4gICAgUExBVEZPUk1fSUQsXHJcbiAgICBUeXBlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IGZpbHRlciwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFsZXJ0Q29uZmlndXJhdGlvbiwgRGlhbG9nQ29uZmlndXJhdGlvbiwgQ29uZmlybUNvbmZpZ3VyYXRpb24sIExvYWRpbmdDb25maWd1cmF0aW9uLCBNb2RhbFdpdGhCdXR0b25zQ29uZmlndXJhdGlvbiwgUHJlZGVmaW5lZERpYWxvZ3MsIERpYWxvZ0NvbXBvbmVudFJlZkNvbnRhaW5lciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb25maWcsIERpYWxvZ0luamVjdG9yLCBEaWFsb2dSZWYgfSBmcm9tICcuLi9jbGFzc2VzJztcclxuaW1wb3J0IHsgQUxFUlRfQ09ORklHVVJBVElPTlMsIFBSRURFRklORURfRElBTE9HUywgQ09ORklSTV9DT05GSUdVUkFUSU9OUywgT1BFTkVEX0RJQUxPR19CT0RZX0NMQVNTLCBESUFMT0dfQ09ORklSTV9DT01QT05FTlQsIERJQUxPR19BTEVSVF9DT01QT05FTlQgfSBmcm9tICcuLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XHJcblxyXG5cdHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcclxuXHRwcml2YXRlIHByZWRlZmluZWRDb25maXJtQ29uZmlndXJhdGlvbnM6IHtba2V5OiBzdHJpbmddOiBDb25maXJtQ29uZmlndXJhdGlvbn0gPSBpbmplY3QoQ09ORklSTV9DT05GSUdVUkFUSU9OUyk7XHJcblx0cHJpdmF0ZSBwcmVkZWZpbmVkQWxlcnRDb25maWd1cmF0aW9uczoge1trZXk6IHN0cmluZ106IEFsZXJ0Q29uZmlndXJhdGlvbn0gPSBpbmplY3QoQUxFUlRfQ09ORklHVVJBVElPTlMpO1xyXG5cdHByaXZhdGUgcHJlZGVmaW5lZERpYWxvZ3M6IFByZWRlZmluZWREaWFsb2dzID0gaW5qZWN0KFBSRURFRklORURfRElBTE9HUyk7XHJcblx0cHJpdmF0ZSBvcGVuZWREaWFsb2dCb2R5Q2xhc3M6IHN0cmluZyB8IG51bGwgPSBpbmplY3QoT1BFTkVEX0RJQUxPR19CT0RZX0NMQVNTKTtcclxuXHRwcml2YXRlIGRpYWxvZ0NvbmZpcm1Db21wb25lbnQ6IFR5cGU8YW55PiB8IG51bGwgPSBpbmplY3QoRElBTE9HX0NPTkZJUk1fQ09NUE9ORU5UKTtcclxuXHRwcml2YXRlIGRpYWxvZ0FsZXJ0Q29tcG9uZW50OiBUeXBlPGFueT4gfCBudWxsID0gaW5qZWN0KERJQUxPR19BTEVSVF9DT01QT05FTlQpO1xyXG5cclxuXHR0aXRsZTogVGl0bGUgPSBpbmplY3QoVGl0bGUpO1xyXG5cdG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSA9IGluamVjdChNZXNzYWdlU2VydmljZSk7XHJcblxyXG5cdGRpYWxvZ3M6IE1hcDxEaWFsb2dSZWYsIERpYWxvZ0NvbXBvbmVudFJlZkNvbnRhaW5lcj4gPSBuZXcgTWFwKCk7XHJcblx0ZGlhbG9nQ291bnRDaGFuZ2VkOiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdCgpO1xyXG5cdG9wZW5JbmRleDogbnVtYmVyID0gMTtcclxuXHRwbGF0Zm9ybUlkOiBPYmplY3QgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuXHRcdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleXVwXCIsIChrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcblx0XHRcdFx0aWYgKGtleWJvYXJkRXZlbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICdlc2NhcGUnKSB7XHJcblx0XHRcdFx0XHRsZXQgbGFzdE9wZW5JbmRleDogbnVtYmVyID0gMDtcclxuXHRcdFx0XHRcdGxldCBsYXN0T3BlbmVkRGlhbG9nUmVmOiBEaWFsb2dSZWYgfCBudWxsID0gbnVsbDtcclxuXHRcdFx0XHRcdGZvciAoY29uc3QgW2RpYWxvZ1JlZiwgY2ZEaWFsb2dDb21wb25lbnRSZWZDb250YWluZXJdIG9mIHRoaXMuZGlhbG9ncy5lbnRyaWVzKCkpIHtcclxuXHRcdFx0XHRcdFx0aWYgKGNmRGlhbG9nQ29tcG9uZW50UmVmQ29udGFpbmVyLm9wZW5JbmRleCA+IGxhc3RPcGVuSW5kZXgpIHtcclxuXHRcdFx0XHRcdFx0XHRsYXN0T3BlbkluZGV4ID0gY2ZEaWFsb2dDb21wb25lbnRSZWZDb250YWluZXIub3BlbkluZGV4O1xyXG5cdFx0XHRcdFx0XHRcdGxhc3RPcGVuZWREaWFsb2dSZWYgPSBkaWFsb2dSZWY7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcclxuXHRcdFx0XHRcdGlmIChsYXN0T3BlbmVkRGlhbG9nUmVmICE9PSBudWxsICYmIGxhc3RPcGVuZWREaWFsb2dSZWYuZGlhbG9nQ29uZmlnICE9PSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdGlmIChsYXN0T3BlbmVkRGlhbG9nUmVmLmRpYWxvZ0NvbmZpZy5pZ25vcmVLZXlVcCB8fCBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fCBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCkge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFxyXG5cdFx0XHRcdFx0XHRsYXN0T3BlbmVkRGlhbG9nUmVmLmNsb3NlKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdHRoaXMuZGlhbG9nQ291bnRDaGFuZ2VkLnN1YnNjcmliZSgoc2l6ZTogbnVtYmVyKSA9PiB7XHJcblx0XHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMub3BlbmVkRGlhbG9nQm9keUNsYXNzICE9PSBudWxsKSB7XHJcblx0XHRcdFx0aWYgKHNpemUgPT09IDApIHtcclxuXHRcdFx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLm9wZW5lZERpYWxvZ0JvZHlDbGFzcyk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0aGlzLm9wZW5lZERpYWxvZ0JvZHlDbGFzcyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9IFxyXG5cclxuXHRhc3luYyBvcGVuUHJlZGVmaW5lZDxUID0gYW55PihuYW1lOiBzdHJpbmcsIGRpYWxvZ0NvbmZpZ3VyYXRpb246IERpYWxvZ0NvbmZpZ3VyYXRpb24gPSB7fSk6IFByb21pc2U8RGlhbG9nUmVmPFQ+PiB7XHJcblx0XHRpZiAodGhpcy5wcmVkZWZpbmVkRGlhbG9nc1tuYW1lXSA9PT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHRocm93IEVycm9yKCdEaWFsb2cgd2l0aCBuYW1lIFwiJyArIG5hbWUgKyAnXCIgbm90IGZvdW5kIScpO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgcHJlZGVmaW5lZERpYWxvZyA9IHRoaXMucHJlZGVmaW5lZERpYWxvZ3NbbmFtZV07XHJcblx0XHRpZiAodHlwZW9mIHByZWRlZmluZWREaWFsb2cgPT09ICdmdW5jdGlvbicpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMub3BlbkltcG9ydChwcmVkZWZpbmVkRGlhbG9nLCBkaWFsb2dDb25maWd1cmF0aW9uKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLm9wZW5JbXBvcnQocHJlZGVmaW5lZERpYWxvZy5jb21wb25lbnQsIHsuLi5wcmVkZWZpbmVkRGlhbG9nLmNvbmZpZ3VyYXRpb24sIC4uLmRpYWxvZ0NvbmZpZ3VyYXRpb259KTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIG9wZW5JbXBvcnQ8VCA9IGFueT4oY29tcG9uZW50OiAoKSA9PiBQcm9taXNlPFR5cGU8YW55Pj4sIGRpYWxvZ0NvbmZpZ3VyYXRpb246IERpYWxvZ0NvbmZpZ3VyYXRpb24gPSB7fSk6IFByb21pc2U8RGlhbG9nUmVmPFQ+PiB7XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcclxuXHRcdFx0cmVzb2x2ZSh0aGlzLm9wZW48VD4oYXdhaXQgY29tcG9uZW50KCksIGRpYWxvZ0NvbmZpZ3VyYXRpb24pKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcbiAgICBvcGVuPFQgPSBhbnk+KGNvbXBvbmVudDogVHlwZTxhbnk+LCBkaWFsb2dDb25maWd1cmF0aW9uOiBEaWFsb2dDb25maWd1cmF0aW9uID0ge30pOiBEaWFsb2dSZWY8VD4ge1xyXG5cclxuXHRcdGZvciAobGV0IGRpYWxvZyBvZiB0aGlzLmRpYWxvZ3MuZW50cmllcygpKSB7XHJcblx0XHRcdGlmIChcclxuXHRcdFx0XHQoZGlhbG9nQ29uZmlndXJhdGlvbi5zaW5nbGUgJiYgZGlhbG9nWzFdLmNvbXBvbmVudFJlZi5jb21wb25lbnRUeXBlLm5hbWUgPT09IGNvbXBvbmVudC5uYW1lKSB8fFxyXG5cdFx0XHRcdChkaWFsb2dbMF0uZGlhbG9nQ29uZmlnICE9PSBudWxsICYmIGRpYWxvZ1swXS5kaWFsb2dDb25maWcuc2luZ2xlICYmIGRpYWxvZ1sxXS5jb21wb25lbnRSZWYuY29tcG9uZW50VHlwZS5uYW1lID09PSBjb21wb25lbnQubmFtZSlcclxuXHRcdFx0KSB7XHJcblx0XHRcdFx0cmV0dXJuIGRpYWxvZ1swXTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuICAgICAgICBjb25zdCBkaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyA9IHRoaXMuY3JlYXRlRGlhbG9nQ29uZmlnKGRpYWxvZ0NvbmZpZ3VyYXRpb24pO1xyXG5cclxuXHRcdGlmICghZGlhbG9nQ29uZmlnLmtlZXBBY3RpdmVFbGVtZW50KSB7XHJcblx0XHRcdGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcclxuXHRcdFx0XHRkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuICAgICAgICBjb25zdCBkaWFsb2dSZWY6IERpYWxvZ1JlZjxUPiA9IHRoaXMuYXBwZW5kVG9Cb2R5KGNvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcclxuXHRcdGRpYWxvZ1JlZi5tZXNzYWdlU2VydmljZSA9IHRoaXMubWVzc2FnZVNlcnZpY2U7XHJcblx0XHRkaWFsb2dSZWYuZGlhbG9nQ29uZmlnID0gZGlhbG9nQ29uZmlnO1xyXG5cclxuXHRcdHRoaXMuY2hhbmdlQW5kU3RvcmVUaXRsZShkaWFsb2dSZWYpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGlhbG9nUmVmO1xyXG4gICAgfVxyXG5cclxuXHRjaGFuZ2VBbmRTdG9yZVRpdGxlKGRpYWxvZ1JlZjogRGlhbG9nUmVmKTogdm9pZCB7XHJcblx0XHRkaWFsb2dSZWYuc2F2ZWRUaXRsZSA9IHRoaXMudGl0bGUuZ2V0VGl0bGUoKTtcclxuXHRcdGlmIChkaWFsb2dSZWYuZGlhbG9nQ29uZmlnICE9PSBudWxsICYmIGRpYWxvZ1JlZi5kaWFsb2dDb25maWcudGl0bGUgIT09IG51bGwpIHtcclxuXHRcdFx0dGhpcy50aXRsZS5zZXRUaXRsZShkaWFsb2dSZWYuZGlhbG9nQ29uZmlnLnRpdGxlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG4gICAgY3JlYXRlRGlhbG9nQ29uZmlnKGRpYWxvZ0NvbmZpZ3VyYXRpb246IERpYWxvZ0NvbmZpZ3VyYXRpb24pOiBEaWFsb2dDb25maWcge1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ0NvbmZpZzogRGlhbG9nQ29uZmlnID0gbmV3IERpYWxvZ0NvbmZpZygpO1xyXG4gICAgICAgIGlmIChkaWFsb2dDb25maWd1cmF0aW9uLnNob3dDbG9zZUljb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBkaWFsb2dDb25maWcuc2hvd0Nsb3NlSWNvbiA9IGRpYWxvZ0NvbmZpZ3VyYXRpb24uc2hvd0Nsb3NlSWNvbjtcclxuICAgICAgICB9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5iZWZvcmVDbG9zZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy5iZWZvcmVDbG9zZSA9IGRpYWxvZ0NvbmZpZ3VyYXRpb24uYmVmb3JlQ2xvc2U7XHJcbiAgICAgICAgfVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24uaWdub3JlS2V5VXAgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBkaWFsb2dDb25maWcuaWdub3JlS2V5VXAgPSBkaWFsb2dDb25maWd1cmF0aW9uLmlnbm9yZUtleVVwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5kYXRhICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZGlhbG9nQ29uZmlnLmRhdGEgPSBkaWFsb2dDb25maWd1cmF0aW9uLmRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkaWFsb2dDb25maWd1cmF0aW9uLm5vUGFkZGluZyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy5ub1BhZGRpbmcgPSBkaWFsb2dDb25maWd1cmF0aW9uLm5vUGFkZGluZztcclxuICAgICAgICB9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5rZWVwQWN0aXZlRWxlbWVudCAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdGRpYWxvZ0NvbmZpZy5rZWVwQWN0aXZlRWxlbWVudCA9IGRpYWxvZ0NvbmZpZ3VyYXRpb24ua2VlcEFjdGl2ZUVsZW1lbnQ7XHJcblx0XHR9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5jb250YWluZXJDbGFzc2VzICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0ZGlhbG9nQ29uZmlnLmNvbnRhaW5lckNsYXNzZXMgPSBkaWFsb2dDb25maWd1cmF0aW9uLmNvbnRhaW5lckNsYXNzZXM7XHJcblx0XHR9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5kaWFsb2dDbGFzc2VzICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0ZGlhbG9nQ29uZmlnLmRpYWxvZ0NsYXNzZXMgPSBkaWFsb2dDb25maWd1cmF0aW9uLmRpYWxvZ0NsYXNzZXM7XHJcblx0XHR9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi50aXRsZSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdGRpYWxvZ0NvbmZpZy50aXRsZSA9IGRpYWxvZ0NvbmZpZ3VyYXRpb24udGl0bGU7XHJcblx0XHR9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5jb250ZW50RWxlbWVudCAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdGRpYWxvZ0NvbmZpZy5jb250ZW50RWxlbWVudCA9IGRpYWxvZ0NvbmZpZ3VyYXRpb24uY29udGVudEVsZW1lbnQ7XHJcblx0XHR9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5zaW5nbGUgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRkaWFsb2dDb25maWcuc2luZ2xlID0gZGlhbG9nQ29uZmlndXJhdGlvbi5zaW5nbGU7XHJcblx0XHR9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi53aWR0aCAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdGRpYWxvZ0NvbmZpZy53aWR0aCA9IGRpYWxvZ0NvbmZpZ3VyYXRpb24ud2lkdGg7XHJcblx0XHR9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5oZWlnaHQgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRkaWFsb2dDb25maWcuaGVpZ2h0ID0gZGlhbG9nQ29uZmlndXJhdGlvbi5oZWlnaHQ7XHJcblx0XHR9XHJcbiAgICAgICAgcmV0dXJuIGRpYWxvZ0NvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBhcHBlbmRUb0JvZHkoY29tcG9uZW50OiBUeXBlPGFueT4sIGRpYWxvZ0NvbmZpZzogRGlhbG9nQ29uZmlnKTogRGlhbG9nUmVmIHtcclxuXHJcblx0XHRjb25zdCBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmID0gdGhpcy5pbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpO1xyXG5cclxuICAgICAgICAvLyBDUkVBVEUgSU5KRUNUSU9OIFRPS0VOU1xyXG4gICAgICAgIGNvbnN0IHRva2VuczogV2Vha01hcDxhbnksIGFueT4gPSBuZXcgV2Vha01hcCgpO1xyXG5cclxuICAgICAgICAvLyBDUkVBVEUgRElBTE9HIENPTkZJR1VSQVRJT04gQ0xBU1NcclxuICAgICAgICB0b2tlbnMuc2V0KERpYWxvZ0NvbmZpZywgZGlhbG9nQ29uZmlnKTtcclxuXHJcbiAgICAgICAgLy8gQ1JFQVRFIERJQUxPRyBSRUZFUkVOQ0UgQ0xBU1NcclxuICAgICAgICBjb25zdCBkaWFsb2dSZWY6IERpYWxvZ1JlZiA9IG5ldyBEaWFsb2dSZWYoKTtcclxuICAgICAgICB0b2tlbnMuc2V0KERpYWxvZ1JlZiwgZGlhbG9nUmVmKTtcclxuXHJcbiAgICAgICAgLy8gTElTVEVOIE9OIERJQUxPRyBDTE9TRVxyXG4gICAgICAgIGNvbnN0IGNsb3NlU3ViOiBTdWJzY3JpcHRpb24gPSBkaWFsb2dSZWYub25DbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZUZyb21Cb2R5KGRpYWxvZ1JlZik7XHJcbiAgICAgICAgICAgIGNsb3NlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIENSRUFURSBDT01QT05FTlQgUkVGXHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiA9IGNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHtcclxuXHRcdFx0ZW52aXJvbm1lbnRJbmplY3RvcjogYXBwUmVmLmluamVjdG9yLFxyXG5cdFx0XHRlbGVtZW50SW5qZWN0b3I6IG5ldyBEaWFsb2dJbmplY3Rvcih0aGlzLmluamVjdG9yLCB0b2tlbnMpXHJcblx0XHR9KTtcclxuXHJcbiAgICAgICAgLy8gQVRUQUNIIFZJRVcgVE8gQU5HVUxBUlxyXG4gICAgICAgIGFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcblxyXG4gICAgICAgIC8vIENSRUFURSBESUFMT0cgQ09OVEFJTkVSIEVMRU1FTlRcclxuICAgICAgICBjb25zdCBkaWFsb2dDb250YWluZXI6IEhUTUxEaXZFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZGlhbG9nQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ2NmLWRpYWxvZy1jb250YWluZXInKTtcclxuXHRcdGlmIChkaWFsb2dDb25maWcuY29udGFpbmVyQ2xhc3Nlcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGRpYWxvZ0NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKC4uLmRpYWxvZ0NvbmZpZy5jb250YWluZXJDbGFzc2VzKTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBBUFBFTkQgRE9NIEVMRU1FTlQgVE8gRElBTE9HXHJcblx0XHRjb25zdCBjaGlsZERvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcblx0XHRjaGlsZERvbUVsZW0uY2xhc3NMaXN0LmFkZCgnY2YtZGlhbG9nJyk7XHJcblx0XHRcclxuXHRcdGlmIChkaWFsb2dDb25maWcud2lkdGggIT09IG51bGwpIHtcclxuXHRcdFx0Y2hpbGREb21FbGVtLnN0eWxlLndpZHRoID0gZGlhbG9nQ29uZmlnLndpZHRoO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZy5oZWlnaHQgIT09IG51bGwpIHtcclxuXHRcdFx0Y2hpbGREb21FbGVtLnN0eWxlLmhlaWdodCA9IGRpYWxvZ0NvbmZpZy5oZWlnaHQ7XHJcblx0XHR9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlnLm5vUGFkZGluZykge1xyXG4gICAgICAgICAgICBjaGlsZERvbUVsZW0uY2xhc3NMaXN0LmFkZCgnbm8tcGFkZGluZycpO1xyXG4gICAgICAgIH1cclxuXHRcdGlmIChkaWFsb2dDb25maWcuZGlhbG9nQ2xhc3Nlcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGNoaWxkRG9tRWxlbS5jbGFzc0xpc3QuYWRkKC4uLmRpYWxvZ0NvbmZpZy5kaWFsb2dDbGFzc2VzKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoZGlhbG9nQ29uZmlnLmNvbnRlbnRFbGVtZW50ICE9PSBudWxsKSB7XHJcblx0XHRcdGNoaWxkRG9tRWxlbS5hcHBlbmRDaGlsZChkaWFsb2dDb25maWcuY29udGVudEVsZW1lbnQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpYWxvZ0NvbnRhaW5lci5hcHBlbmRDaGlsZChjaGlsZERvbUVsZW0pO1xyXG5cclxuICAgICAgICAvLyBDTE9TRUFCTEU/IEFQUEVORCBCVVRUT05cclxuICAgICAgICBpZiAoZGlhbG9nQ29uZmlnLnNob3dDbG9zZUljb24pIHtcclxuICAgICAgICAgICAgY29uc3QgY2xvc2VFbGVtZW50OiBIVE1MRGl2RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgICBjbG9zZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5bJ2NmLWRpYWxvZy1jbG9zZScsICdyZW1peGljb24nLCAnY2xvc2UtbGluZSddKTtcclxuICAgICAgICAgICAgY2xvc2VFbGVtZW50Lm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY2hpbGREb21FbGVtLmFwcGVuZENoaWxkKGNsb3NlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBUFBFTkQgRElBTE9HIENPTlRBSU5FUiBUTyBCT0RZXHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaWFsb2dDb250YWluZXIpO1xyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ3Muc2V0KGRpYWxvZ1JlZiwge1xyXG4gICAgICAgICAgICBjb21wb25lbnRSZWYsXHJcbiAgICAgICAgICAgIGNvbnRhaW5lcjogZGlhbG9nQ29udGFpbmVyLFxyXG5cdFx0XHRvcGVuSW5kZXg6IHRoaXMub3BlbkluZGV4IFxyXG4gICAgICAgIH0pO1xyXG5cdFx0dGhpcy5kaWFsb2dDb3VudENoYW5nZWQubmV4dCh0aGlzLmRpYWxvZ3Muc2l6ZSk7XHJcblxyXG5cdFx0dGhpcy5vcGVuSW5kZXgrKztcclxuXHJcbiAgICAgICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVGcm9tQm9keShkaWFsb2dSZWY6IERpYWxvZ1JlZik6IHZvaWQge1xyXG5cclxuXHRcdGNvbnN0IGFwcFJlZjogQXBwbGljYXRpb25SZWYgPSB0aGlzLmluamVjdG9yLmdldChBcHBsaWNhdGlvblJlZik7XHJcblxyXG4gICAgICAgIGlmICghZGlhbG9nUmVmIHx8ICF0aGlzLmRpYWxvZ3MuaGFzKGRpYWxvZ1JlZikpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBkaWFsb2dDb21wb25lbnRSZWZDb250YWluZXI6IERpYWxvZ0NvbXBvbmVudFJlZkNvbnRhaW5lciB8IHVuZGVmaW5lZCA9IHRoaXMuZGlhbG9ncy5nZXQoZGlhbG9nUmVmKTtcclxuICAgICAgICBpZiAoZGlhbG9nQ29tcG9uZW50UmVmQ29udGFpbmVyID09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cdFx0XHJcbiAgICAgICAgYXBwUmVmLmRldGFjaFZpZXcoZGlhbG9nQ29tcG9uZW50UmVmQ29udGFpbmVyLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcblxyXG4gICAgICAgIGlmIChkaWFsb2dDb21wb25lbnRSZWZDb250YWluZXIuY29udGFpbmVyICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGRpYWxvZ0NvbXBvbmVudFJlZkNvbnRhaW5lci5jb250YWluZXIucmVtb3ZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpYWxvZ0NvbXBvbmVudFJlZkNvbnRhaW5lci5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuZGlhbG9ncy5kZWxldGUoZGlhbG9nUmVmKTtcclxuXHRcdHRoaXMuZGlhbG9nQ291bnRDaGFuZ2VkLm5leHQodGhpcy5kaWFsb2dzLnNpemUpO1xyXG5cclxuXHRcdGlmICh0aGlzLmRpYWxvZ3Muc2l6ZSA9PT0gMCkge1xyXG5cdFx0XHR0aGlzLm9wZW5JbmRleCA9IDE7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gUmVzdG9yZSB0aXRsZVxyXG5cdFx0aWYgKHRoaXMuZGlhbG9ncy5zaXplID09PSAwKSB7XHJcblx0XHRcdHRoaXMudGl0bGUuc2V0VGl0bGUoZGlhbG9nUmVmLnNhdmVkVGl0bGUpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0bGV0IGxhdGVzdE9wZW5lZERpYWxvZ1JlZjogRGlhbG9nUmVmIHwgbnVsbCA9IG51bGw7XHJcblx0XHRcdHRoaXMuZGlhbG9ncy5mb3JFYWNoKChfLCBkaWFsb2dSZWY6IERpYWxvZ1JlZikgPT4ge1xyXG5cdFx0XHRcdGlmIChsYXRlc3RPcGVuZWREaWFsb2dSZWYgPT09IG51bGwpIHtcclxuXHRcdFx0XHRcdGxhdGVzdE9wZW5lZERpYWxvZ1JlZiA9IGRpYWxvZ1JlZjtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0aWYgKGxhdGVzdE9wZW5lZERpYWxvZ1JlZi5vcGVuZWQgPCBkaWFsb2dSZWYub3BlbmVkKSB7XHJcblx0XHRcdFx0XHRcdGxhdGVzdE9wZW5lZERpYWxvZ1JlZiA9IGRpYWxvZ1JlZjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0XHRpZiAobGF0ZXN0T3BlbmVkRGlhbG9nUmVmICE9PSBudWxsKSB7XHJcblx0XHRcdFx0Ly90aGlzLnRpdGxlLnNldFRpdGxlKGxhdGVzdE9wZW5lZERpYWxvZ1JlZi5zYXZlZFRpdGxlKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLnRpdGxlLnNldFRpdGxlKGRpYWxvZ1JlZi5zYXZlZFRpdGxlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgfVxyXG5cclxuXHRjb25maXJtKFxyXG5cdFx0Y29uZmlndXJhdGlvbjogQ29uZmlybUNvbmZpZ3VyYXRpb24gfCBzdHJpbmcsXHJcblx0XHRkaWFsb2dDb25maWd1cmF0aW9uOiBEaWFsb2dDb25maWd1cmF0aW9uID0ge30sXHJcblx0XHRjb21wb25lbnQ6IFR5cGU8YW55PlxyXG5cdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0aWYgKHR5cGVvZiBjb25maWd1cmF0aW9uID09PSAnc3RyaW5nJykge1xyXG5cdFx0XHRpZiAoY29uZmlndXJhdGlvbi5zdGFydHNXaXRoKCd0cmFuc2xhdGU6JykpIHtcclxuXHRcdFx0XHRjb25maWd1cmF0aW9uID0ge1xyXG5cdFx0XHRcdFx0dGl0bGU6IGNvbmZpZ3VyYXRpb24gKyAnLnRpdGxlJyxcclxuXHRcdFx0XHRcdHRleHQ6IGNvbmZpZ3VyYXRpb24gKyAnLnRleHQnLFxyXG5cdFx0XHRcdFx0YWNjZXB0VGV4dDogY29uZmlndXJhdGlvbiArICcuYWNjZXB0dGV4dCcsXHJcblx0XHRcdFx0XHRkZWNsaW5lVGV4dDogY29uZmlndXJhdGlvbiArICcuZGVjbGluZXRleHQnLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRjb25zdCBwcmVkZWZpbmVkQ29uZmlybUNvbmZpZ3VyYXRpb246IENvbmZpcm1Db25maWd1cmF0aW9uIHwgdW5kZWZpbmVkID0gdGhpcy5wcmVkZWZpbmVkQ29uZmlybUNvbmZpZ3VyYXRpb25zW2NvbmZpZ3VyYXRpb25dO1xyXG5cdFx0XHRcdGlmIChwcmVkZWZpbmVkQ29uZmlybUNvbmZpZ3VyYXRpb24gPT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKCdQcmVkZWZpbmVkIGNvbmZpcm0gY29uZmlndXJhdGlvbiBub3QgZm91bmQgZm9yOiAnICsgY29uZmlndXJhdGlvbik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbmZpZ3VyYXRpb24gPSBwcmVkZWZpbmVkQ29uZmlybUNvbmZpZ3VyYXRpb247XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdHRoaXMub3Blbihjb21wb25lbnQsIHtcclxuXHRcdFx0XHQuLi5kaWFsb2dDb25maWd1cmF0aW9uLFxyXG5cdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdGNvbmZpZ3VyYXRpb25cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGlnbm9yZUtleVVwOiB0cnVlLFxyXG5cdFx0XHRcdHNob3dDbG9zZUljb246IGZhbHNlXHJcblx0XHRcdH0pLm9uQ2xvc2UucGlwZShmaWx0ZXIodmFsdWUgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCkpLnN1YnNjcmliZSgoYWNjZXB0ZWQ6IGJvb2xlYW4pID0+IHtcclxuXHRcdFx0XHRpZiAoYWNjZXB0ZWQpIHtcclxuXHRcdFx0XHRcdHJlc29sdmUodHJ1ZSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHJlamVjdCh0cnVlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuICAgIGFzeW5jIGNvbmZpcm1Bc3luYyhcclxuXHRcdGNvbmZpZ3VyYXRpb246IENvbmZpcm1Db25maWd1cmF0aW9uIHwgc3RyaW5nLFxyXG5cdFx0ZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9LFxyXG5cdFx0Y29tcG9uZW50OiBUeXBlPGFueT4gfCBudWxsID0gdGhpcy5kaWFsb2dDb25maXJtQ29tcG9uZW50XHJcblx0KTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRpZiAoY29tcG9uZW50ID09PSBudWxsKSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm8gY29tcG9uZW50IHByb3ZpZGVkIGZvciBjb25maXJtIGRpYWxvZyEnKTtcclxuXHRcdH1cclxuICAgICAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jb25maXJtKGNvbmZpZ3VyYXRpb24sIGRpYWxvZ0NvbmZpZ3VyYXRpb24sIGNvbXBvbmVudCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblx0XHJcblx0Y29uZmlybUFjY2VwdChcclxuXHRcdGNvbmZpZ3VyYXRpb246IENvbmZpcm1Db25maWd1cmF0aW9uIHwgc3RyaW5nLFxyXG5cdFx0ZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9LFxyXG5cdFx0Y29tcG9uZW50OiBUeXBlPGFueT4gfCBudWxsID0gdGhpcy5kaWFsb2dDb25maXJtQ29tcG9uZW50XHJcblx0KTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRpZiAoY29tcG9uZW50ID09PSBudWxsKSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm8gY29tcG9uZW50IHByb3ZpZGVkIGZvciBjb25maXJtIGRpYWxvZyEnKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHR0aGlzLmNvbmZpcm0oY29uZmlndXJhdGlvbiwgZGlhbG9nQ29uZmlndXJhdGlvbiwgY29tcG9uZW50KS50aGVuKCgpID0+IHJlc29sdmUodHJ1ZSkpLmNhdGNoKCgpID0+IHt9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHRcclxuXHRjb25maXJtRGVjbGluZShcclxuXHRcdGNvbmZpZ3VyYXRpb246IENvbmZpcm1Db25maWd1cmF0aW9uIHwgc3RyaW5nLFxyXG5cdFx0ZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9LFxyXG5cdFx0Y29tcG9uZW50OiBUeXBlPGFueT4gfCBudWxsID0gdGhpcy5kaWFsb2dDb25maXJtQ29tcG9uZW50XHJcblx0KTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRpZiAoY29tcG9uZW50ID09PSBudWxsKSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm8gY29tcG9uZW50IHByb3ZpZGVkIGZvciBjb25maXJtIGRpYWxvZyEnKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHR0aGlzLmNvbmZpcm0oY29uZmlndXJhdGlvbiwgZGlhbG9nQ29uZmlndXJhdGlvbiwgY29tcG9uZW50KS50aGVuKCgpID0+IHt9KS5jYXRjaCgoKSA9PiByZXNvbHZlKHRydWUpKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0c2hvd0xvYWRpbmcoXHJcblx0XHRjb25maWd1cmF0aW9uOiBMb2FkaW5nQ29uZmlndXJhdGlvbixcclxuXHRcdGRpYWxvZ0NvbmZpZ3VyYXRpb246IERpYWxvZ0NvbmZpZ3VyYXRpb24gPSB7fSxcclxuXHRcdGNvbXBvbmVudDogVHlwZTxhbnk+XHJcblx0KTogRGlhbG9nUmVmIHtcclxuXHRcdHJldHVybiB0aGlzLm9wZW4oY29tcG9uZW50LCB7XHJcblx0XHRcdC4uLmRpYWxvZ0NvbmZpZ3VyYXRpb24sXHJcblx0XHRcdHNob3dDbG9zZUljb246IGZhbHNlLFxyXG5cdFx0XHRpZ25vcmVLZXlVcDogdHJ1ZSxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGNvbmZpZ3VyYXRpb25cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRzaG93QWxlcnQoXHJcblx0XHRjb25maWd1cmF0aW9uOiBBbGVydENvbmZpZ3VyYXRpb24gfCBzdHJpbmcsXHJcblx0XHRkaWFsb2dDb25maWd1cmF0aW9uOiBEaWFsb2dDb25maWd1cmF0aW9uID0ge30sXHJcblx0XHRjb21wb25lbnQ6IFR5cGU8YW55PiB8IG51bGwgPSB0aGlzLmRpYWxvZ0FsZXJ0Q29tcG9uZW50XHJcblx0KTogUHJvbWlzZTx2b2lkPiB7XHJcblx0XHRpZiAoY29tcG9uZW50ID09PSBudWxsKSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm8gY29tcG9uZW50IHByb3ZpZGVkIGZvciBhbGVydCBkaWFsb2chJyk7XHJcblx0XHR9XHJcblx0XHRpZiAodHlwZW9mIGNvbmZpZ3VyYXRpb24gPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdGNvbnN0IHByZWRlZmluZWRBbGVydENvbmZpZ3VyYXRpb246IEFsZXJ0Q29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCA9IHRoaXMucHJlZGVmaW5lZEFsZXJ0Q29uZmlndXJhdGlvbnNbY29uZmlndXJhdGlvbl07XHJcblx0XHRcdGlmIChwcmVkZWZpbmVkQWxlcnRDb25maWd1cmF0aW9uID09PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1ByZWRlZmluZWQgYWxlcnQgY29uZmlndXJhdGlvbiBub3QgZm91bmQgZm9yOiAnICsgY29uZmlndXJhdGlvbik7XHJcblx0XHRcdH1cclxuXHRcdFx0Y29uZmlndXJhdGlvbiA9IHByZWRlZmluZWRBbGVydENvbmZpZ3VyYXRpb247XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuXHRcdFx0cmV0dXJuIHRoaXMub3Blbihjb21wb25lbnQsIHtcclxuXHRcdFx0XHQuLi5kaWFsb2dDb25maWd1cmF0aW9uLFxyXG5cdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdGNvbmZpZ3VyYXRpb25cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGlnbm9yZUtleVVwOiB0cnVlLFxyXG5cdFx0XHRcdHNob3dDbG9zZUljb246IGZhbHNlXHJcblx0XHRcdH0pLm9uQ2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHRyZXNvbHZlKCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRzaG93TW9kYWxXaXRoQnV0dG9ucyhcclxuXHRcdGNvbmZpZ3VyYXRpb246IE1vZGFsV2l0aEJ1dHRvbnNDb25maWd1cmF0aW9uLFxyXG5cdFx0ZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9LFxyXG5cdFx0Y29tcG9uZW50OiBUeXBlPGFueT5cclxuXHQpOiBEaWFsb2dSZWYge1xyXG5cdFx0cmV0dXJuIHRoaXMub3Blbihjb21wb25lbnQsIHtcclxuXHRcdFx0Li4uZGlhbG9nQ29uZmlndXJhdGlvbixcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGNvbmZpZ3VyYXRpb25cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlZm94Y29yZS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDSCxjQUFjLEVBRWQsZUFBZSxFQUVmLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxFQUNSLFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekssT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFLN0MsTUFBTSxPQUFPLGFBQWE7SUFrQnRCO1FBaEJLLGFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsb0NBQStCLEdBQTBDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hHLGtDQUE2QixHQUF3QyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNsRyxzQkFBaUIsR0FBc0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbEUsMEJBQXFCLEdBQWtCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3hFLDJCQUFzQixHQUFxQixNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztR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QUM7YUFDbEY7WUFDRCxhQUFhLEdBQUcsNEJBQTRCLENBQUM7U0FDN0M7UUFDRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDM0IsR0FBRyxtQkFBbUI7Z0JBQ3RCLElBQUksRUFBRTtvQkFDTCxhQUFhO2lCQUNiO2dCQUNELFdBQVcsRUFBRSxJQUFJO2dCQUNqQixhQUFhLEVBQUUsS0FBSzthQUNwQixDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLE9BQU8sRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FDbkIsYUFBNEMsRUFDNUMsc0JBQTJDLEVBQUUsRUFDN0MsU0FBb0I7UUFFcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMzQixHQUFHLG1CQUFtQjtZQUN0QixJQUFJLEVBQUU7Z0JBQ0wsYUFBYTthQUNiO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQzsrR0FqYVcsYUFBYTttSEFBYixhQUFhLGNBRlYsTUFBTTs7NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgICBBcHBsaWNhdGlvblJlZixcclxuICAgIENvbXBvbmVudFJlZixcclxuICAgIGNyZWF0ZUNvbXBvbmVudCxcclxuICAgIEVtYmVkZGVkVmlld1JlZixcclxuICAgIGluamVjdCxcclxuICAgIEluamVjdGFibGUsXHJcbiAgICBJbmplY3RvcixcclxuICAgIFBMQVRGT1JNX0lELFxyXG4gICAgVHlwZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBbGVydENvbmZpZ3VyYXRpb24sIERpYWxvZ0NvbmZpZ3VyYXRpb24sIENvbmZpcm1Db25maWd1cmF0aW9uLCBMb2FkaW5nQ29uZmlndXJhdGlvbiwgTW9kYWxXaXRoQnV0dG9uc0NvbmZpZ3VyYXRpb24sIFByZWRlZmluZWREaWFsb2dzLCBEaWFsb2dDb21wb25lbnRSZWZDb250YWluZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRGlhbG9nQ29uZmlnLCBEaWFsb2dJbmplY3RvciwgRGlhbG9nUmVmIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XHJcbmltcG9ydCB7IEFMRVJUX0NPTkZJR1VSQVRJT05TLCBQUkVERUZJTkVEX0RJQUxPR1MsIENPTkZJUk1fQ09ORklHVVJBVElPTlMsIE9QRU5FRF9ESUFMT0dfQk9EWV9DTEFTUywgRElBTE9HX0NPTkZJUk1fQ09NUE9ORU5ULCBESUFMT0dfQUxFUlRfQ09NUE9ORU5UIH0gZnJvbSAnLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG5cclxuXHRwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblx0cHJpdmF0ZSBwcmVkZWZpbmVkQ29uZmlybUNvbmZpZ3VyYXRpb25zOiB7W2tleTogc3RyaW5nXTogQ29uZmlybUNvbmZpZ3VyYXRpb259ID0gaW5qZWN0KENPTkZJUk1fQ09ORklHVVJBVElPTlMpO1xyXG5cdHByaXZhdGUgcHJlZGVmaW5lZEFsZXJ0Q29uZmlndXJhdGlvbnM6IHtba2V5OiBzdHJpbmddOiBBbGVydENvbmZpZ3VyYXRpb259ID0gaW5qZWN0KEFMRVJUX0NPTkZJR1VSQVRJT05TKTtcclxuXHRwcml2YXRlIHByZWRlZmluZWREaWFsb2dzOiBQcmVkZWZpbmVkRGlhbG9ncyA9IGluamVjdChQUkVERUZJTkVEX0RJQUxPR1MpO1xyXG5cdHByaXZhdGUgb3BlbmVkRGlhbG9nQm9keUNsYXNzOiBzdHJpbmcgfCBudWxsID0gaW5qZWN0KE9QRU5FRF9ESUFMT0dfQk9EWV9DTEFTUyk7XHJcblx0cHJpdmF0ZSBkaWFsb2dDb25maXJtQ29tcG9uZW50OiBUeXBlPGFueT4gfCBudWxsID0gaW5qZWN0KERJQUxPR19DT05GSVJNX0NPTVBPTkVOVCk7XHJcblx0cHJpdmF0ZSBkaWFsb2dBbGVydENvbXBvbmVudDogVHlwZTxhbnk+IHwgbnVsbCA9IGluamVjdChESUFMT0dfQUxFUlRfQ09NUE9ORU5UKTtcclxuXHJcblx0dGl0bGU6IFRpdGxlID0gaW5qZWN0KFRpdGxlKTtcclxuXHRtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UgPSBpbmplY3QoTWVzc2FnZVNlcnZpY2UpO1xyXG5cclxuXHRkaWFsb2dzOiBNYXA8RGlhbG9nUmVmLCBEaWFsb2dDb21wb25lbnRSZWZDb250YWluZXI+ID0gbmV3IE1hcCgpO1xyXG5cdGRpYWxvZ0NvdW50Q2hhbmdlZDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3QoKTtcclxuXHRvcGVuSW5kZXg6IG51bWJlciA9IDE7XHJcblx0cGxhdGZvcm1JZDogT2JqZWN0ID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcblx0XHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXl1cFwiLCAoa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG5cdFx0XHRcdGlmIChrZXlib2FyZEV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAnZXNjYXBlJykge1xyXG5cdFx0XHRcdFx0bGV0IGxhc3RPcGVuSW5kZXg6IG51bWJlciA9IDA7XHJcblx0XHRcdFx0XHRsZXQgbGFzdE9wZW5lZERpYWxvZ1JlZjogRGlhbG9nUmVmIHwgbnVsbCA9IG51bGw7XHJcblx0XHRcdFx0XHRmb3IgKGNvbnN0IFtkaWFsb2dSZWYsIGNmRGlhbG9nQ29tcG9uZW50UmVmQ29udGFpbmVyXSBvZiB0aGlzLmRpYWxvZ3MuZW50cmllcygpKSB7XHJcblx0XHRcdFx0XHRcdGlmIChjZkRpYWxvZ0NvbXBvbmVudFJlZkNvbnRhaW5lci5vcGVuSW5kZXggPiBsYXN0T3BlbkluZGV4KSB7XHJcblx0XHRcdFx0XHRcdFx0bGFzdE9wZW5JbmRleCA9IGNmRGlhbG9nQ29tcG9uZW50UmVmQ29udGFpbmVyLm9wZW5JbmRleDtcclxuXHRcdFx0XHRcdFx0XHRsYXN0T3BlbmVkRGlhbG9nUmVmID0gZGlhbG9nUmVmO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHJcblx0XHRcdFx0XHRpZiAobGFzdE9wZW5lZERpYWxvZ1JlZiAhPT0gbnVsbCAmJiBsYXN0T3BlbmVkRGlhbG9nUmVmLmRpYWxvZ0NvbmZpZyAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRpZiAobGFzdE9wZW5lZERpYWxvZ1JlZi5kaWFsb2dDb25maWcuaWdub3JlS2V5VXAgfHwgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgfHwgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxUZXh0QXJlYUVsZW1lbnQpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcclxuXHRcdFx0XHRcdFx0bGFzdE9wZW5lZERpYWxvZ1JlZi5jbG9zZSgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0XHR0aGlzLmRpYWxvZ0NvdW50Q2hhbmdlZC5zdWJzY3JpYmUoKHNpemU6IG51bWJlcikgPT4ge1xyXG5cdFx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLm9wZW5lZERpYWxvZ0JvZHlDbGFzcyAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdGlmIChzaXplID09PSAwKSB7XHJcblx0XHRcdFx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5vcGVuZWREaWFsb2dCb2R5Q2xhc3MpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQodGhpcy5vcGVuZWREaWFsb2dCb2R5Q2xhc3MpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fSBcclxuXHJcblx0YXN5bmMgb3BlblByZWRlZmluZWQ8VCA9IGFueT4obmFtZTogc3RyaW5nLCBkaWFsb2dDb25maWd1cmF0aW9uOiBEaWFsb2dDb25maWd1cmF0aW9uID0ge30pOiBQcm9taXNlPERpYWxvZ1JlZjxUPj4ge1xyXG5cdFx0aWYgKHRoaXMucHJlZGVmaW5lZERpYWxvZ3NbbmFtZV0gPT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHR0aHJvdyBFcnJvcignRGlhbG9nIHdpdGggbmFtZSBcIicgKyBuYW1lICsgJ1wiIG5vdCBmb3VuZCEnKTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHByZWRlZmluZWREaWFsb2cgPSB0aGlzLnByZWRlZmluZWREaWFsb2dzW25hbWVdO1xyXG5cdFx0aWYgKHR5cGVvZiBwcmVkZWZpbmVkRGlhbG9nID09PSAnZnVuY3Rpb24nKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLm9wZW5JbXBvcnQocHJlZGVmaW5lZERpYWxvZywgZGlhbG9nQ29uZmlndXJhdGlvbik7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGhpcy5vcGVuSW1wb3J0KHByZWRlZmluZWREaWFsb2cuY29tcG9uZW50LCB7Li4ucHJlZGVmaW5lZERpYWxvZy5jb25maWd1cmF0aW9uLCAuLi5kaWFsb2dDb25maWd1cmF0aW9ufSk7XHJcblx0fVxyXG5cclxuXHRhc3luYyBvcGVuSW1wb3J0PFQgPSBhbnk+KGNvbXBvbmVudDogKCkgPT4gUHJvbWlzZTxUeXBlPGFueT4+LCBkaWFsb2dDb25maWd1cmF0aW9uOiBEaWFsb2dDb25maWd1cmF0aW9uID0ge30pOiBQcm9taXNlPERpYWxvZ1JlZjxUPj4ge1xyXG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlKSA9PiB7XHJcblx0XHRcdHJlc29sdmUodGhpcy5vcGVuPFQ+KGF3YWl0IGNvbXBvbmVudCgpLCBkaWFsb2dDb25maWd1cmF0aW9uKSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG4gICAgb3BlbjxUID0gYW55Pihjb21wb25lbnQ6IFR5cGU8YW55PiwgZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9KTogRGlhbG9nUmVmPFQ+IHtcclxuXHJcblx0XHRmb3IgKGxldCBkaWFsb2cgb2YgdGhpcy5kaWFsb2dzLmVudHJpZXMoKSkge1xyXG5cdFx0XHRpZiAoXHJcblx0XHRcdFx0KGRpYWxvZ0NvbmZpZ3VyYXRpb24uc2luZ2xlICYmIGRpYWxvZ1sxXS5jb21wb25lbnRSZWYuY29tcG9uZW50VHlwZS5uYW1lID09PSBjb21wb25lbnQubmFtZSkgfHxcclxuXHRcdFx0XHQoZGlhbG9nWzBdLmRpYWxvZ0NvbmZpZyAhPT0gbnVsbCAmJiBkaWFsb2dbMF0uZGlhbG9nQ29uZmlnLnNpbmdsZSAmJiBkaWFsb2dbMV0uY29tcG9uZW50UmVmLmNvbXBvbmVudFR5cGUubmFtZSA9PT0gY29tcG9uZW50Lm5hbWUpXHJcblx0XHRcdCkge1xyXG5cdFx0XHRcdHJldHVybiBkaWFsb2dbMF07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcbiAgICAgICAgY29uc3QgZGlhbG9nQ29uZmlnOiBEaWFsb2dDb25maWcgPSB0aGlzLmNyZWF0ZURpYWxvZ0NvbmZpZyhkaWFsb2dDb25maWd1cmF0aW9uKTtcclxuXHJcblx0XHRpZiAoIWRpYWxvZ0NvbmZpZy5rZWVwQWN0aXZlRWxlbWVudCkge1xyXG5cdFx0XHRpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XHJcblx0XHRcdFx0ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmOiBEaWFsb2dSZWY8VD4gPSB0aGlzLmFwcGVuZFRvQm9keShjb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XHJcblx0XHRkaWFsb2dSZWYubWVzc2FnZVNlcnZpY2UgPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlO1xyXG5cdFx0ZGlhbG9nUmVmLmRpYWxvZ0NvbmZpZyA9IGRpYWxvZ0NvbmZpZztcclxuXHJcblx0XHR0aGlzLmNoYW5nZUFuZFN0b3JlVGl0bGUoZGlhbG9nUmVmKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICAgIH1cclxuXHJcblx0Y2hhbmdlQW5kU3RvcmVUaXRsZShkaWFsb2dSZWY6IERpYWxvZ1JlZik6IHZvaWQge1xyXG5cdFx0ZGlhbG9nUmVmLnNhdmVkVGl0bGUgPSB0aGlzLnRpdGxlLmdldFRpdGxlKCk7XHJcblx0XHRpZiAoZGlhbG9nUmVmLmRpYWxvZ0NvbmZpZyAhPT0gbnVsbCAmJiBkaWFsb2dSZWYuZGlhbG9nQ29uZmlnLnRpdGxlICE9PSBudWxsKSB7XHJcblx0XHRcdHRoaXMudGl0bGUuc2V0VGl0bGUoZGlhbG9nUmVmLmRpYWxvZ0NvbmZpZy50aXRsZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuICAgIGNyZWF0ZURpYWxvZ0NvbmZpZyhkaWFsb2dDb25maWd1cmF0aW9uOiBEaWFsb2dDb25maWd1cmF0aW9uKTogRGlhbG9nQ29uZmlnIHtcclxuICAgICAgICBjb25zdCBkaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyA9IG5ldyBEaWFsb2dDb25maWcoKTtcclxuICAgICAgICBpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5zaG93Q2xvc2VJY29uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZGlhbG9nQ29uZmlnLnNob3dDbG9zZUljb24gPSBkaWFsb2dDb25maWd1cmF0aW9uLnNob3dDbG9zZUljb247XHJcbiAgICAgICAgfVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24uYmVmb3JlQ2xvc2UgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBkaWFsb2dDb25maWcuYmVmb3JlQ2xvc2UgPSBkaWFsb2dDb25maWd1cmF0aW9uLmJlZm9yZUNsb3NlO1xyXG4gICAgICAgIH1cclxuXHRcdGlmIChkaWFsb2dDb25maWd1cmF0aW9uLmlnbm9yZUtleVVwICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZGlhbG9nQ29uZmlnLmlnbm9yZUtleVVwID0gZGlhbG9nQ29uZmlndXJhdGlvbi5pZ25vcmVLZXlVcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24uZGF0YSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gZGlhbG9nQ29uZmlndXJhdGlvbi5kYXRhO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlhbG9nQ29uZmlndXJhdGlvbi5ub1BhZGRpbmcgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBkaWFsb2dDb25maWcubm9QYWRkaW5nID0gZGlhbG9nQ29uZmlndXJhdGlvbi5ub1BhZGRpbmc7XHJcbiAgICAgICAgfVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24ua2VlcEFjdGl2ZUVsZW1lbnQgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRkaWFsb2dDb25maWcua2VlcEFjdGl2ZUVsZW1lbnQgPSBkaWFsb2dDb25maWd1cmF0aW9uLmtlZXBBY3RpdmVFbGVtZW50O1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24uY29udGFpbmVyQ2xhc3NlcyAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdGRpYWxvZ0NvbmZpZy5jb250YWluZXJDbGFzc2VzID0gZGlhbG9nQ29uZmlndXJhdGlvbi5jb250YWluZXJDbGFzc2VzO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24uZGlhbG9nQ2xhc3NlcyAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdGRpYWxvZ0NvbmZpZy5kaWFsb2dDbGFzc2VzID0gZGlhbG9nQ29uZmlndXJhdGlvbi5kaWFsb2dDbGFzc2VzO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24udGl0bGUgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRkaWFsb2dDb25maWcudGl0bGUgPSBkaWFsb2dDb25maWd1cmF0aW9uLnRpdGxlO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24uY29udGVudEVsZW1lbnQgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRkaWFsb2dDb25maWcuY29udGVudEVsZW1lbnQgPSBkaWFsb2dDb25maWd1cmF0aW9uLmNvbnRlbnRFbGVtZW50O1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24uc2luZ2xlICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0ZGlhbG9nQ29uZmlnLnNpbmdsZSA9IGRpYWxvZ0NvbmZpZ3VyYXRpb24uc2luZ2xlO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24ud2lkdGggIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRkaWFsb2dDb25maWcud2lkdGggPSBkaWFsb2dDb25maWd1cmF0aW9uLndpZHRoO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZ3VyYXRpb24uaGVpZ2h0ICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0ZGlhbG9nQ29uZmlnLmhlaWdodCA9IGRpYWxvZ0NvbmZpZ3VyYXRpb24uaGVpZ2h0O1xyXG5cdFx0fVxyXG4gICAgICAgIHJldHVybiBkaWFsb2dDb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwZW5kVG9Cb2R5KGNvbXBvbmVudDogVHlwZTxhbnk+LCBkaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyk6IERpYWxvZ1JlZiB7XHJcblxyXG5cdFx0Y29uc3QgYXBwUmVmOiBBcHBsaWNhdGlvblJlZiA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcGxpY2F0aW9uUmVmKTtcclxuXHJcbiAgICAgICAgLy8gQ1JFQVRFIElOSkVDVElPTiBUT0tFTlNcclxuICAgICAgICBjb25zdCB0b2tlbnM6IFdlYWtNYXA8YW55LCBhbnk+ID0gbmV3IFdlYWtNYXAoKTtcclxuXHJcbiAgICAgICAgLy8gQ1JFQVRFIERJQUxPRyBDT05GSUdVUkFUSU9OIENMQVNTXHJcbiAgICAgICAgdG9rZW5zLnNldChEaWFsb2dDb25maWcsIGRpYWxvZ0NvbmZpZyk7XHJcblxyXG4gICAgICAgIC8vIENSRUFURSBESUFMT0cgUkVGRVJFTkNFIENMQVNTXHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmOiBEaWFsb2dSZWYgPSBuZXcgRGlhbG9nUmVmKCk7XHJcbiAgICAgICAgdG9rZW5zLnNldChEaWFsb2dSZWYsIGRpYWxvZ1JlZik7XHJcblxyXG4gICAgICAgIC8vIExJU1RFTiBPTiBESUFMT0cgQ0xPU0VcclxuICAgICAgICBjb25zdCBjbG9zZVN1YjogU3Vic2NyaXB0aW9uID0gZGlhbG9nUmVmLm9uQ2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVGcm9tQm9keShkaWFsb2dSZWYpO1xyXG4gICAgICAgICAgICBjbG9zZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBDUkVBVEUgQ09NUE9ORU5UIFJFRlxyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBjcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7XHJcblx0XHRcdGVudmlyb25tZW50SW5qZWN0b3I6IGFwcFJlZi5pbmplY3RvcixcclxuXHRcdFx0ZWxlbWVudEluamVjdG9yOiBuZXcgRGlhbG9nSW5qZWN0b3IodGhpcy5pbmplY3RvciwgdG9rZW5zKVxyXG5cdFx0fSk7XHJcblxyXG4gICAgICAgIC8vIEFUVEFDSCBWSUVXIFRPIEFOR1VMQVJcclxuICAgICAgICBhcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG5cclxuICAgICAgICAvLyBDUkVBVEUgRElBTE9HIENPTlRBSU5FUiBFTEVNRU5UXHJcbiAgICAgICAgY29uc3QgZGlhbG9nQ29udGFpbmVyOiBIVE1MRGl2RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGRpYWxvZ0NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdjZi1kaWFsb2ctY29udGFpbmVyJyk7XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlnLmNvbnRhaW5lckNsYXNzZXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRkaWFsb2dDb250YWluZXIuY2xhc3NMaXN0LmFkZCguLi5kaWFsb2dDb25maWcuY29udGFpbmVyQ2xhc3Nlcyk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gQVBQRU5EIERPTSBFTEVNRU5UIFRPIERJQUxPR1xyXG5cdFx0Y29uc3QgY2hpbGREb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xyXG5cdFx0Y2hpbGREb21FbGVtLmNsYXNzTGlzdC5hZGQoJ2NmLWRpYWxvZycpO1xyXG5cdFx0XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlnLndpZHRoICE9PSBudWxsKSB7XHJcblx0XHRcdGNoaWxkRG9tRWxlbS5zdHlsZS53aWR0aCA9IGRpYWxvZ0NvbmZpZy53aWR0aDtcclxuXHRcdH1cclxuXHRcdGlmIChkaWFsb2dDb25maWcuaGVpZ2h0ICE9PSBudWxsKSB7XHJcblx0XHRcdGNoaWxkRG9tRWxlbS5zdHlsZS5oZWlnaHQgPSBkaWFsb2dDb25maWcuaGVpZ2h0O1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZy5ub1BhZGRpbmcpIHtcclxuICAgICAgICAgICAgY2hpbGREb21FbGVtLmNsYXNzTGlzdC5hZGQoJ25vLXBhZGRpbmcnKTtcclxuICAgICAgICB9XHJcblx0XHRpZiAoZGlhbG9nQ29uZmlnLmRpYWxvZ0NsYXNzZXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRjaGlsZERvbUVsZW0uY2xhc3NMaXN0LmFkZCguLi5kaWFsb2dDb25maWcuZGlhbG9nQ2xhc3Nlcyk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGRpYWxvZ0NvbmZpZy5jb250ZW50RWxlbWVudCAhPT0gbnVsbCkge1xyXG5cdFx0XHRjaGlsZERvbUVsZW0uYXBwZW5kQ2hpbGQoZGlhbG9nQ29uZmlnLmNvbnRlbnRFbGVtZW50KTtcclxuXHRcdH1cclxuXHJcblx0XHRkaWFsb2dDb250YWluZXIuYXBwZW5kQ2hpbGQoY2hpbGREb21FbGVtKTtcclxuXHJcbiAgICAgICAgLy8gQ0xPU0VBQkxFPyBBUFBFTkQgQlVUVE9OXHJcbiAgICAgICAgaWYgKGRpYWxvZ0NvbmZpZy5zaG93Q2xvc2VJY29uKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNsb3NlRWxlbWVudDogSFRNTERpdkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgICAgY2xvc2VFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4uWydjZi1kaWFsb2ctY2xvc2UnLCAncmVtaXhpY29uJywgJ2Nsb3NlLWxpbmUnXSk7XHJcbiAgICAgICAgICAgIGNsb3NlRWxlbWVudC5vbmNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGNoaWxkRG9tRWxlbS5hcHBlbmRDaGlsZChjbG9zZUVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQVBQRU5EIERJQUxPRyBDT05UQUlORVIgVE8gQk9EWVxyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGlhbG9nQ29udGFpbmVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5kaWFsb2dzLnNldChkaWFsb2dSZWYsIHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLFxyXG4gICAgICAgICAgICBjb250YWluZXI6IGRpYWxvZ0NvbnRhaW5lcixcclxuXHRcdFx0b3BlbkluZGV4OiB0aGlzLm9wZW5JbmRleCBcclxuICAgICAgICB9KTtcclxuXHRcdHRoaXMuZGlhbG9nQ291bnRDaGFuZ2VkLm5leHQodGhpcy5kaWFsb2dzLnNpemUpO1xyXG5cclxuXHRcdHRoaXMub3BlbkluZGV4Kys7XHJcblxyXG4gICAgICAgIHJldHVybiBkaWFsb2dSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlRnJvbUJvZHkoZGlhbG9nUmVmOiBEaWFsb2dSZWYpOiB2b2lkIHtcclxuXHJcblx0XHRjb25zdCBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmID0gdGhpcy5pbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpO1xyXG5cclxuICAgICAgICBpZiAoIWRpYWxvZ1JlZiB8fCAhdGhpcy5kaWFsb2dzLmhhcyhkaWFsb2dSZWYpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZGlhbG9nQ29tcG9uZW50UmVmQ29udGFpbmVyOiBEaWFsb2dDb21wb25lbnRSZWZDb250YWluZXIgfCB1bmRlZmluZWQgPSB0aGlzLmRpYWxvZ3MuZ2V0KGRpYWxvZ1JlZik7XHJcbiAgICAgICAgaWYgKGRpYWxvZ0NvbXBvbmVudFJlZkNvbnRhaW5lciA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHRcdFxyXG4gICAgICAgIGFwcFJlZi5kZXRhY2hWaWV3KGRpYWxvZ0NvbXBvbmVudFJlZkNvbnRhaW5lci5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG5cclxuICAgICAgICBpZiAoZGlhbG9nQ29tcG9uZW50UmVmQ29udGFpbmVyLmNvbnRhaW5lciAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBkaWFsb2dDb21wb25lbnRSZWZDb250YWluZXIuY29udGFpbmVyLnJlbW92ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaWFsb2dDb21wb25lbnRSZWZDb250YWluZXIuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ3MuZGVsZXRlKGRpYWxvZ1JlZik7XHJcblx0XHR0aGlzLmRpYWxvZ0NvdW50Q2hhbmdlZC5uZXh0KHRoaXMuZGlhbG9ncy5zaXplKTtcclxuXHJcblx0XHRpZiAodGhpcy5kaWFsb2dzLnNpemUgPT09IDApIHtcclxuXHRcdFx0dGhpcy5vcGVuSW5kZXggPSAxO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIFJlc3RvcmUgdGl0bGVcclxuXHRcdGlmICh0aGlzLmRpYWxvZ3Muc2l6ZSA9PT0gMCkge1xyXG5cdFx0XHR0aGlzLnRpdGxlLnNldFRpdGxlKGRpYWxvZ1JlZi5zYXZlZFRpdGxlKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGxldCBsYXRlc3RPcGVuZWREaWFsb2dSZWY6IERpYWxvZ1JlZiB8IG51bGwgPSBudWxsO1xyXG5cdFx0XHR0aGlzLmRpYWxvZ3MuZm9yRWFjaCgoXywgZGlhbG9nUmVmOiBEaWFsb2dSZWYpID0+IHtcclxuXHRcdFx0XHRpZiAobGF0ZXN0T3BlbmVkRGlhbG9nUmVmID09PSBudWxsKSB7XHJcblx0XHRcdFx0XHRsYXRlc3RPcGVuZWREaWFsb2dSZWYgPSBkaWFsb2dSZWY7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGlmIChsYXRlc3RPcGVuZWREaWFsb2dSZWYub3BlbmVkIDwgZGlhbG9nUmVmLm9wZW5lZCkge1xyXG5cdFx0XHRcdFx0XHRsYXRlc3RPcGVuZWREaWFsb2dSZWYgPSBkaWFsb2dSZWY7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdFx0aWYgKGxhdGVzdE9wZW5lZERpYWxvZ1JlZiAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdC8vdGhpcy50aXRsZS5zZXRUaXRsZShsYXRlc3RPcGVuZWREaWFsb2dSZWYuc2F2ZWRUaXRsZSk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0dGhpcy50aXRsZS5zZXRUaXRsZShkaWFsb2dSZWYuc2F2ZWRUaXRsZSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgIH1cclxuXHJcblx0Y29uZmlybShcclxuXHRcdGNvbmZpZ3VyYXRpb246IENvbmZpcm1Db25maWd1cmF0aW9uIHwgc3RyaW5nLFxyXG5cdFx0ZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9LFxyXG5cdFx0Y29tcG9uZW50OiBUeXBlPGFueT5cclxuXHQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuXHRcdGlmICh0eXBlb2YgY29uZmlndXJhdGlvbiA9PT0gJ3N0cmluZycpIHtcclxuXHRcdFx0aWYgKGNvbmZpZ3VyYXRpb24uc3RhcnRzV2l0aCgndHJhbnNsYXRlOicpKSB7XHJcblx0XHRcdFx0Y29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24uc3Vic3RyKDEwKTtcclxuXHRcdFx0XHRjb25maWd1cmF0aW9uID0ge1xyXG5cdFx0XHRcdFx0dGl0bGU6IGNvbmZpZ3VyYXRpb24gKyAnLnRpdGxlJyxcclxuXHRcdFx0XHRcdHRleHQ6IGNvbmZpZ3VyYXRpb24gKyAnLnRleHQnLFxyXG5cdFx0XHRcdFx0YWNjZXB0VGV4dDogY29uZmlndXJhdGlvbiArICcuYWNjZXB0dGV4dCcsXHJcblx0XHRcdFx0XHRkZWNsaW5lVGV4dDogY29uZmlndXJhdGlvbiArICcuZGVjbGluZXRleHQnLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRjb25zdCBwcmVkZWZpbmVkQ29uZmlybUNvbmZpZ3VyYXRpb246IENvbmZpcm1Db25maWd1cmF0aW9uIHwgdW5kZWZpbmVkID0gdGhpcy5wcmVkZWZpbmVkQ29uZmlybUNvbmZpZ3VyYXRpb25zW2NvbmZpZ3VyYXRpb25dO1xyXG5cdFx0XHRcdGlmIChwcmVkZWZpbmVkQ29uZmlybUNvbmZpZ3VyYXRpb24gPT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKCdQcmVkZWZpbmVkIGNvbmZpcm0gY29uZmlndXJhdGlvbiBub3QgZm91bmQgZm9yOiAnICsgY29uZmlndXJhdGlvbik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbmZpZ3VyYXRpb24gPSBwcmVkZWZpbmVkQ29uZmlybUNvbmZpZ3VyYXRpb247XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdHRoaXMub3Blbihjb21wb25lbnQsIHtcclxuXHRcdFx0XHQuLi5kaWFsb2dDb25maWd1cmF0aW9uLFxyXG5cdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdGNvbmZpZ3VyYXRpb25cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGlnbm9yZUtleVVwOiB0cnVlLFxyXG5cdFx0XHRcdHNob3dDbG9zZUljb246IGZhbHNlXHJcblx0XHRcdH0pLm9uQ2xvc2UucGlwZShmaWx0ZXIodmFsdWUgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCkpLnN1YnNjcmliZSgoYWNjZXB0ZWQ6IGJvb2xlYW4pID0+IHtcclxuXHRcdFx0XHRpZiAoYWNjZXB0ZWQpIHtcclxuXHRcdFx0XHRcdHJlc29sdmUodHJ1ZSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHJlamVjdCh0cnVlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuICAgIGFzeW5jIGNvbmZpcm1Bc3luYyhcclxuXHRcdGNvbmZpZ3VyYXRpb246IENvbmZpcm1Db25maWd1cmF0aW9uIHwgc3RyaW5nLFxyXG5cdFx0ZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9LFxyXG5cdFx0Y29tcG9uZW50OiBUeXBlPGFueT4gfCBudWxsID0gdGhpcy5kaWFsb2dDb25maXJtQ29tcG9uZW50XHJcblx0KTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRpZiAoY29tcG9uZW50ID09PSBudWxsKSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm8gY29tcG9uZW50IHByb3ZpZGVkIGZvciBjb25maXJtIGRpYWxvZyEnKTtcclxuXHRcdH1cclxuICAgICAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jb25maXJtKGNvbmZpZ3VyYXRpb24sIGRpYWxvZ0NvbmZpZ3VyYXRpb24sIGNvbXBvbmVudCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblx0XHJcblx0Y29uZmlybUFjY2VwdChcclxuXHRcdGNvbmZpZ3VyYXRpb246IENvbmZpcm1Db25maWd1cmF0aW9uIHwgc3RyaW5nLFxyXG5cdFx0ZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9LFxyXG5cdFx0Y29tcG9uZW50OiBUeXBlPGFueT4gfCBudWxsID0gdGhpcy5kaWFsb2dDb25maXJtQ29tcG9uZW50XHJcblx0KTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRpZiAoY29tcG9uZW50ID09PSBudWxsKSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm8gY29tcG9uZW50IHByb3ZpZGVkIGZvciBjb25maXJtIGRpYWxvZyEnKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHR0aGlzLmNvbmZpcm0oY29uZmlndXJhdGlvbiwgZGlhbG9nQ29uZmlndXJhdGlvbiwgY29tcG9uZW50KS50aGVuKCgpID0+IHJlc29sdmUodHJ1ZSkpLmNhdGNoKCgpID0+IHt9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHRcclxuXHRjb25maXJtRGVjbGluZShcclxuXHRcdGNvbmZpZ3VyYXRpb246IENvbmZpcm1Db25maWd1cmF0aW9uIHwgc3RyaW5nLFxyXG5cdFx0ZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9LFxyXG5cdFx0Y29tcG9uZW50OiBUeXBlPGFueT4gfCBudWxsID0gdGhpcy5kaWFsb2dDb25maXJtQ29tcG9uZW50XHJcblx0KTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRpZiAoY29tcG9uZW50ID09PSBudWxsKSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm8gY29tcG9uZW50IHByb3ZpZGVkIGZvciBjb25maXJtIGRpYWxvZyEnKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHR0aGlzLmNvbmZpcm0oY29uZmlndXJhdGlvbiwgZGlhbG9nQ29uZmlndXJhdGlvbiwgY29tcG9uZW50KS50aGVuKCgpID0+IHt9KS5jYXRjaCgoKSA9PiByZXNvbHZlKHRydWUpKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0c2hvd0xvYWRpbmcoXHJcblx0XHRjb25maWd1cmF0aW9uOiBMb2FkaW5nQ29uZmlndXJhdGlvbixcclxuXHRcdGRpYWxvZ0NvbmZpZ3VyYXRpb246IERpYWxvZ0NvbmZpZ3VyYXRpb24gPSB7fSxcclxuXHRcdGNvbXBvbmVudDogVHlwZTxhbnk+XHJcblx0KTogRGlhbG9nUmVmIHtcclxuXHRcdHJldHVybiB0aGlzLm9wZW4oY29tcG9uZW50LCB7XHJcblx0XHRcdC4uLmRpYWxvZ0NvbmZpZ3VyYXRpb24sXHJcblx0XHRcdHNob3dDbG9zZUljb246IGZhbHNlLFxyXG5cdFx0XHRpZ25vcmVLZXlVcDogdHJ1ZSxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGNvbmZpZ3VyYXRpb25cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRzaG93QWxlcnQoXHJcblx0XHRjb25maWd1cmF0aW9uOiBBbGVydENvbmZpZ3VyYXRpb24gfCBzdHJpbmcsXHJcblx0XHRkaWFsb2dDb25maWd1cmF0aW9uOiBEaWFsb2dDb25maWd1cmF0aW9uID0ge30sXHJcblx0XHRjb21wb25lbnQ6IFR5cGU8YW55PiB8IG51bGwgPSB0aGlzLmRpYWxvZ0FsZXJ0Q29tcG9uZW50XHJcblx0KTogUHJvbWlzZTx2b2lkPiB7XHJcblx0XHRpZiAoY29tcG9uZW50ID09PSBudWxsKSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm8gY29tcG9uZW50IHByb3ZpZGVkIGZvciBhbGVydCBkaWFsb2chJyk7XHJcblx0XHR9XHJcblx0XHRpZiAodHlwZW9mIGNvbmZpZ3VyYXRpb24gPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdGNvbnN0IHByZWRlZmluZWRBbGVydENvbmZpZ3VyYXRpb246IEFsZXJ0Q29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCA9IHRoaXMucHJlZGVmaW5lZEFsZXJ0Q29uZmlndXJhdGlvbnNbY29uZmlndXJhdGlvbl07XHJcblx0XHRcdGlmIChwcmVkZWZpbmVkQWxlcnRDb25maWd1cmF0aW9uID09PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1ByZWRlZmluZWQgYWxlcnQgY29uZmlndXJhdGlvbiBub3QgZm91bmQgZm9yOiAnICsgY29uZmlndXJhdGlvbik7XHJcblx0XHRcdH1cclxuXHRcdFx0Y29uZmlndXJhdGlvbiA9IHByZWRlZmluZWRBbGVydENvbmZpZ3VyYXRpb247XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuXHRcdFx0cmV0dXJuIHRoaXMub3Blbihjb21wb25lbnQsIHtcclxuXHRcdFx0XHQuLi5kaWFsb2dDb25maWd1cmF0aW9uLFxyXG5cdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdGNvbmZpZ3VyYXRpb25cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGlnbm9yZUtleVVwOiB0cnVlLFxyXG5cdFx0XHRcdHNob3dDbG9zZUljb246IGZhbHNlXHJcblx0XHRcdH0pLm9uQ2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHRyZXNvbHZlKCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRzaG93TW9kYWxXaXRoQnV0dG9ucyhcclxuXHRcdGNvbmZpZ3VyYXRpb246IE1vZGFsV2l0aEJ1dHRvbnNDb25maWd1cmF0aW9uLFxyXG5cdFx0ZGlhbG9nQ29uZmlndXJhdGlvbjogRGlhbG9nQ29uZmlndXJhdGlvbiA9IHt9LFxyXG5cdFx0Y29tcG9uZW50OiBUeXBlPGFueT5cclxuXHQpOiBEaWFsb2dSZWYge1xyXG5cdFx0cmV0dXJuIHRoaXMub3Blbihjb21wb25lbnQsIHtcclxuXHRcdFx0Li4uZGlhbG9nQ29uZmlndXJhdGlvbixcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGNvbmZpZ3VyYXRpb25cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -6,4 +6,5 @@ export * from './cookie.service';
|
|
|
6
6
|
export * from './token.service';
|
|
7
7
|
export * from './google.maps.service';
|
|
8
8
|
export * from './translate.service';
|
|
9
|
-
|
|
9
|
+
export * from './microdata.service';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlZm94Y29yZS9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlhbG9nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZ2dlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb29raWUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ29vZ2xlLm1hcHMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21pY3JvZGF0YS5zZXJ2aWNlJztcclxuIl19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { Subject, timer } from 'rxjs';
|
|
2
|
+
import { catchError, EMPTY, Subject, timer } from 'rxjs';
|
|
3
3
|
import { MessageSeverity } from '../interfaces';
|
|
4
|
-
import { MESSAGE_DEFAULT_CONFIGURATION } from '../tokens';
|
|
4
|
+
import { MESSAGE_DEFAULT_CONFIGURATION, MESSAGE_DEFAULT_ERROR_TITLE } from '../tokens';
|
|
5
|
+
import { isServerError } from '../helpers';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class MessageService {
|
|
7
8
|
/**
|
|
@@ -147,6 +148,14 @@ export class MessageService {
|
|
|
147
148
|
messageElement.remove();
|
|
148
149
|
});
|
|
149
150
|
}
|
|
151
|
+
handleApiError(title = undefined) {
|
|
152
|
+
return source$ => source$.pipe(catchError((error) => {
|
|
153
|
+
if (isServerError(error)) {
|
|
154
|
+
this.showDangerMessage(title || this.defaultErrorTitle, error.error.message);
|
|
155
|
+
}
|
|
156
|
+
return EMPTY;
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
150
159
|
constructor() {
|
|
151
160
|
/**
|
|
152
161
|
* Default configuration
|
|
@@ -154,6 +163,10 @@ export class MessageService {
|
|
|
154
163
|
* Can be changed if you overwrite it or use the `MESSAGE_DEFAULT_CONFIGURATION` InjectionToken
|
|
155
164
|
*/
|
|
156
165
|
this.defaultConfiguration = inject(MESSAGE_DEFAULT_CONFIGURATION);
|
|
166
|
+
/**
|
|
167
|
+
* Default error title
|
|
168
|
+
*/
|
|
169
|
+
this.defaultErrorTitle = inject(MESSAGE_DEFAULT_ERROR_TITLE);
|
|
157
170
|
/**
|
|
158
171
|
* Message subject
|
|
159
172
|
*/
|
|
@@ -171,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
171
184
|
providedIn: 'root'
|
|
172
185
|
}]
|
|
173
186
|
}], ctorParameters: function () { return []; } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZWZveGNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBaUMsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLMUQsTUFBTSxPQUFPLGNBQWM7SUFjdkI7Ozs7OztPQU1HO0lBQ0ksSUFBSSxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQUUsYUFBNkM7UUFDckYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDOUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CO1lBQ25CLEdBQUcsYUFBYTtZQUN6QixLQUFLO1lBQ0wsT0FBTztTQUNELENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0Msa0JBQWtCLENBQ3hCLEtBQWEsRUFDYixPQUFlLEVBQ2YsYUFBK0Q7UUFFL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFO1lBQ3pCLEdBQUcsYUFBYTtZQUNoQixRQUFRLEVBQUUsZUFBZSxDQUFDLE9BQU87U0FDakMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVFOzs7Ozs7Ozs7O09BVUc7SUFDQyxpQkFBaUIsQ0FDdkIsS0FBYSxFQUNiLE9BQWUsRUFDZixhQUErRDtRQUUvRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDekIsR0FBRyxhQUFhO1lBQ2hCLFFBQVEsRUFBRSxlQUFlLENBQUMsTUFBTTtZQUNoQyxXQUFXLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUU7Ozs7Ozs7Ozs7T0FVRztJQUNDLGtCQUFrQixDQUN4QixLQUFhLEVBQ2IsT0FBZSxFQUNmLGFBQStEO1FBRS9ELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN6QixHQUFHLGFBQWE7WUFDaEIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxPQUFPO1NBQ2pDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRTs7Ozs7Ozs7OztPQVVHO0lBQ0MsZUFBZSxDQUNyQixLQUFhLEVBQ2IsT0FBZSxFQUNmLGFBQStEO1FBRS9ELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN6QixHQUFHLGFBQWE7WUFDaEIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxJQUFJO1NBQzlCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFVSxXQUFXLENBQUMsT0FBZ0I7UUFDaEMsSUFBSSxTQUFTLEdBQXVCLFFBQVEsQ0FBQyxjQUFjLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDNUcsSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFO1lBQ3BCLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO1lBQzlELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxHQUFHLEdBQWdCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoRSxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTNCLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFFcEMsSUFBSSx3QkFBd0IsR0FBd0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDaEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDeEIsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7b0JBQ3ZDLElBQUksd0JBQXdCLEtBQUssSUFBSSxFQUFFO3dCQUN0Qyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDdkMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO3FCQUNoQztnQkFDRixDQUFDLENBQUMsQ0FBQzthQUNIO1NBQ0s7SUFDTCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsT0FBZ0I7UUFDN0MsTUFBTSxHQUFHLEdBQWdCLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sUUFBUSxHQUFnQixRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekMsUUFBUSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ25DLE1BQU0sVUFBVSxHQUFnQixRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0MsVUFBVSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbkIsTUFBTSxTQUFTLEdBQWdCLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0QsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNqRSxTQUFTLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDO1lBQ0YsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM5QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFdBQVcsQ0FBQyxjQUEyQixFQUFFLGFBQXNCLEtBQUs7UUFDeEUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0MsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUosS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsSUFBSSxVQUFVLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQzNCLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNoRCxPQUFPO2FBQ1Y7WUFDRCxjQUFjLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7UUExTEE7Ozs7V0FJRztRQUNJLHlCQUFvQixHQUF5QixNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUUxRjs7V0FFRztRQUNLLG1CQUFjLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFpTHJELElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQWhNUSxjQUFjO21IQUFkLGNBQWMsY0FGZCxNQUFNOzs0RkFFTixjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VDb25maWd1cmF0aW9uLCBNZXNzYWdlU2V2ZXJpdHkgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTUVTU0FHRV9ERUZBVUxUX0NPTkZJR1VSQVRJT04gfSBmcm9tICcuLi90b2tlbnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmYXVsdCBjb25maWd1cmF0aW9uXHJcbiAgICAgKiBcclxuICAgICAqIENhbiBiZSBjaGFuZ2VkIGlmIHlvdSBvdmVyd3JpdGUgaXQgb3IgdXNlIHRoZSBgTUVTU0FHRV9ERUZBVUxUX0NPTkZJR1VSQVRJT05gIEluamVjdGlvblRva2VuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWZhdWx0Q29uZmlndXJhdGlvbjogTWVzc2FnZUNvbmZpZ3VyYXRpb24gPSBpbmplY3QoTUVTU0FHRV9ERUZBVUxUX0NPTkZJR1VSQVRJT04pO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIE1lc3NhZ2Ugc3ViamVjdFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTdWJqZWN0OiBTdWJqZWN0PE1lc3NhZ2U+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3dcclxuICAgICAqIFxyXG4gICAgICogRGlzcGxheXMgbWVzc2FnZSB3aXRoIHRoZSBnaXZlbiBjb25maWd1cmF0aW9uXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBtZXNzYWdlQ29uZmlndXJhdGlvbiBgUGFydGlhbDxNZXNzYWdlQ29uZmlndXJhdGlvbj5gXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzaG93KHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgY29uZmlndXJhdGlvbj86IFBhcnRpYWw8TWVzc2FnZUNvbmZpZ3VyYXRpb24+KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU3ViamVjdC5uZXh0KHtcclxuXHRcdFx0Li4udGhpcy5kZWZhdWx0Q29uZmlndXJhdGlvbixcclxuICAgICAgICAgICAgLi4uY29uZmlndXJhdGlvbixcclxuXHRcdFx0dGl0bGUsXHJcblx0XHRcdG1lc3NhZ2VcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3cgc3VjY2VzcyBtZXNzYWdlXHJcbiAgICAgKiBcclxuICAgICAqIERpc3BsYXkgYSBtZXNzYWdlIHdpdGggZGVmYXVsdCBzdWNjZXNzIHNldmVyaXR5XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB0aXRsZSBgc3RyaW5nYCwgcmVxdWlyZWRcclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIGBzdHJpbmdgLCByZXF1aXJlZFxyXG4gICAgICogQHBhcmFtIGxpZmV0aW1lIGBudW1iZXJgLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0TGlmZXRpbWVgXHJcbiAgICAgKiBAcGFyYW0gcG9zaXRpb24gYE1lc3NhZ2VQb3NpdGlvbmAsIG9wdGlvbmFsLCBkZWZhdWx0IGlzIGB0aGlzLmRlZmF1bHRQb3NpdGlvbmBcclxuICAgICAqIEBwYXJhbSBjbG9zZWFibGUgYGJvb2xlYW5gLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0Q2xvc2FibGVgXHJcbiAgICAgKi9cclxuXHRwdWJsaWMgc2hvd1N1Y2Nlc3NNZXNzYWdlKFxyXG5cdFx0dGl0bGU6IHN0cmluZyxcclxuXHRcdG1lc3NhZ2U6IHN0cmluZyxcclxuXHRcdGNvbmZpZ3VyYXRpb24/OiBQYXJ0aWFsPE9taXQ8TWVzc2FnZUNvbmZpZ3VyYXRpb24sICdzZXZlcml0eSc+PlxyXG5cdCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zaG93KHRpdGxlLCBtZXNzYWdlLCB7XHJcblx0XHRcdC4uLmNvbmZpZ3VyYXRpb24sXHJcblx0XHRcdHNldmVyaXR5OiBNZXNzYWdlU2V2ZXJpdHkuU1VDQ0VTU1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvdyBkYW5nZXIgbWVzc2FnZVxyXG4gICAgICogXHJcbiAgICAgKiBEaXNwbGF5IGEgbWVzc2FnZSB3aXRoIGRlZmF1bHQgZGFuZ2VyIHNldmVyaXR5XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB0aXRsZSBgc3RyaW5nYCwgcmVxdWlyZWRcclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIGBzdHJpbmdgLCByZXF1aXJlZFxyXG4gICAgICogQHBhcmFtIGxpZmV0aW1lIGBudW1iZXJgLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0TGlmZXRpbWVgXHJcbiAgICAgKiBAcGFyYW0gcG9zaXRpb24gYE1lc3NhZ2VQb3NpdGlvbmAsIG9wdGlvbmFsLCBkZWZhdWx0IGlzIGB0aGlzLmRlZmF1bHRQb3NpdGlvbmBcclxuICAgICAqIEBwYXJhbSBjbG9zZWFibGUgYGJvb2xlYW5gLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0Q2xvc2FibGVgXHJcbiAgICAgKi9cclxuXHRwdWJsaWMgc2hvd0Rhbmdlck1lc3NhZ2UoXHJcblx0XHR0aXRsZTogc3RyaW5nLFxyXG5cdFx0bWVzc2FnZTogc3RyaW5nLFxyXG5cdFx0Y29uZmlndXJhdGlvbj86IFBhcnRpYWw8T21pdDxNZXNzYWdlQ29uZmlndXJhdGlvbiwgJ3NldmVyaXR5Jz4+XHJcblx0KTogdm9pZCB7XHJcblx0XHR0aGlzLnNob3codGl0bGUsIG1lc3NhZ2UsIHtcclxuXHRcdFx0Li4uY29uZmlndXJhdGlvbixcclxuXHRcdFx0c2V2ZXJpdHk6IE1lc3NhZ2VTZXZlcml0eS5EQU5HRVIsXHJcblx0XHRcdGtlZXBPbkhvdmVyOiB0cnVlXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93IHdhcm5pbmcgbWVzc2FnZVxyXG4gICAgICogXHJcbiAgICAgKiBEaXNwbGF5IGEgbWVzc2FnZSB3aXRoIGRlZmF1bHQgd2FybmluZyBzZXZlcml0eVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdGl0bGUgYHN0cmluZ2AsIHJlcXVpcmVkXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBgc3RyaW5nYCwgcmVxdWlyZWRcclxuICAgICAqIEBwYXJhbSBsaWZldGltZSBgbnVtYmVyYCwgb3B0aW9uYWwsIGRlZmF1bHQgaXMgYHRoaXMuZGVmYXVsdExpZmV0aW1lYFxyXG4gICAgICogQHBhcmFtIHBvc2l0aW9uIGBNZXNzYWdlUG9zaXRpb25gLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0UG9zaXRpb25gXHJcbiAgICAgKiBAcGFyYW0gY2xvc2VhYmxlIGBib29sZWFuYCwgb3B0aW9uYWwsIGRlZmF1bHQgaXMgYHRoaXMuZGVmYXVsdENsb3NhYmxlYFxyXG4gICAgICovXHJcblx0cHVibGljIHNob3dXYXJuaW5nTWVzc2FnZShcclxuXHRcdHRpdGxlOiBzdHJpbmcsXHJcblx0XHRtZXNzYWdlOiBzdHJpbmcsXHJcblx0XHRjb25maWd1cmF0aW9uPzogUGFydGlhbDxPbWl0PE1lc3NhZ2VDb25maWd1cmF0aW9uLCAnc2V2ZXJpdHknPj5cclxuXHQpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2hvdyh0aXRsZSwgbWVzc2FnZSwge1xyXG5cdFx0XHQuLi5jb25maWd1cmF0aW9uLFxyXG5cdFx0XHRzZXZlcml0eTogTWVzc2FnZVNldmVyaXR5LldBUk5JTkdcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3cgaW5mbyBtZXNzYWdlXHJcbiAgICAgKiBcclxuICAgICAqIERpc3BsYXkgYSBtZXNzYWdlIHdpdGggZGVmYXVsdCBpbmZvIHNldmVyaXR5XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB0aXRsZSBgc3RyaW5nYCwgcmVxdWlyZWRcclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIGBzdHJpbmdgLCByZXF1aXJlZFxyXG4gICAgICogQHBhcmFtIGxpZmV0aW1lIGBudW1iZXJgLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0TGlmZXRpbWVgXHJcbiAgICAgKiBAcGFyYW0gcG9zaXRpb24gYE1lc3NhZ2VQb3NpdGlvbmAsIG9wdGlvbmFsLCBkZWZhdWx0IGlzIGB0aGlzLmRlZmF1bHRQb3NpdGlvbmBcclxuICAgICAqIEBwYXJhbSBjbG9zZWFibGUgYGJvb2xlYW5gLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0Q2xvc2FibGVgXHJcbiAgICAgKi9cclxuXHRwdWJsaWMgc2hvd0luZm9NZXNzYWdlKFxyXG5cdFx0dGl0bGU6IHN0cmluZyxcclxuXHRcdG1lc3NhZ2U6IHN0cmluZyxcclxuXHRcdGNvbmZpZ3VyYXRpb24/OiBQYXJ0aWFsPE9taXQ8TWVzc2FnZUNvbmZpZ3VyYXRpb24sICdzZXZlcml0eSc+PlxyXG5cdCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zaG93KHRpdGxlLCBtZXNzYWdlLCB7XHJcblx0XHRcdC4uLmNvbmZpZ3VyYXRpb24sXHJcblx0XHRcdHNldmVyaXR5OiBNZXNzYWdlU2V2ZXJpdHkuSU5GT1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuICAgIHByaXZhdGUgc2hvd01lc3NhZ2UobWVzc2FnZTogTWVzc2FnZSk6IHZvaWQge1xyXG4gICAgICAgIGxldCBjb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjZi10b2FzdHMtJyArIG1lc3NhZ2UucG9zaXRpb24gKyAnLWNvbnRhaW5lcicpO1xyXG4gICAgICAgIGlmIChjb250YWluZXIgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICAgIGNvbnRhaW5lci5pZCA9ICdjZi10b2FzdHMtJyArIG1lc3NhZ2UucG9zaXRpb24gKyAnLWNvbnRhaW5lcic7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGRpdjogSFRNTEVsZW1lbnQgPSB0aGlzLmNyZWF0ZU1lc3NhZ2VIdG1sRWxlbWVudChtZXNzYWdlKTtcclxuXHJcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRpdik7XHJcblxyXG4gICAgICAgIGlmIChtZXNzYWdlLmxpZmV0aW1lICE9PSBudWxsKSB7XHJcblxyXG5cdFx0XHRsZXQgZGlzcG9zZVRpbWVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gdGltZXIobWVzc2FnZS5saWZldGltZSArIDUwMCkuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLmhpZGVNZXNzYWdlKGRpdik7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0aWYgKG1lc3NhZ2Uua2VlcE9uSG92ZXIpIHtcclxuXHRcdFx0XHRkaXYuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgpID0+IHtcclxuXHRcdFx0XHRcdGlmIChkaXNwb3NlVGltZXJTdWJzY3JpcHRpb24gIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0ZGlzcG9zZVRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHRcdFx0XHRcdGRpc3Bvc2VUaW1lclN1YnNjcmlwdGlvbiA9IG51bGw7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVNZXNzYWdlSHRtbEVsZW1lbnQobWVzc2FnZTogTWVzc2FnZSk6IEhUTUxFbGVtZW50IHtcclxuICAgICAgICBjb25zdCBkaXY6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ2NmLXRvYXN0JywgJ2NmLScgKyBtZXNzYWdlLnNldmVyaXR5ICsgJy10b2FzdCcpO1xyXG4gICAgICAgIGNvbnN0IHRpdGxlRGl2OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRpdGxlRGl2LmNsYXNzTGlzdC5hZGQoJ2NmLXRvYXN0LXRpdGxlJyk7XHJcbiAgICAgICAgdGl0bGVEaXYuaW5uZXJUZXh0ID0gbWVzc2FnZS50aXRsZTtcclxuICAgICAgICBjb25zdCBtZXNzYWdlRGl2OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIG1lc3NhZ2VEaXYuY2xhc3NMaXN0LmFkZCgnY2YtdG9hc3QtbWVzc2FnZScpO1xyXG4gICAgICAgIG1lc3NhZ2VEaXYuaW5uZXJUZXh0ID0gbWVzc2FnZS5tZXNzYWdlO1xyXG4gICAgICAgIGRpdi5hcHBlbmRDaGlsZCh0aXRsZURpdik7XHJcbiAgICAgICAgZGl2LmFwcGVuZENoaWxkKG1lc3NhZ2VEaXYpO1xyXG4gICAgICAgIGlmIChtZXNzYWdlLmNsb3NlYWJsZSkge1xyXG4gICAgICAgICAgICBjb25zdCBjbG9zZUljb246IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaScpO1xyXG4gICAgICAgICAgICBjbG9zZUljb24uY2xhc3NMaXN0LmFkZCgnY2xvc2UtaWNvbicsICdyZW1peGljb24nLCAnY2xvc2UtbGluZScpO1xyXG4gICAgICAgICAgICBjbG9zZUljb24ub25jbGljayA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lc3NhZ2UoZGl2LCB0cnVlKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgZGl2LmFwcGVuZENoaWxkKGNsb3NlSWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkaXY7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoaWRlTWVzc2FnZShtZXNzYWdlRWxlbWVudDogSFRNTEVsZW1lbnQsIGZvcmNlQ2xvc2U6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgICAgIG1lc3NhZ2VFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2hpZGRlbi10b2FzdCcpO1xyXG5cclxuICAgICAgICBsZXQgcmVtYWluT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgIG1lc3NhZ2VFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKCkgPT4ge1xyXG4gICAgICAgICAgICByZW1haW5PcGVuID0gdHJ1ZTtcclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIHRpbWVyKDUwMCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlbWFpbk9wZW4gJiYgIWZvcmNlQ2xvc2UpIHtcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2VFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbi10b2FzdCcpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1lc3NhZ2VFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKCkgPT4ge30pKTtcclxuICAgICAgICAgICAgbWVzc2FnZUVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU3ViamVjdC5zdWJzY3JpYmUoKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zaG93TWVzc2FnZShtZXNzYWdlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZWZveGNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9CLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pGLE9BQU8sRUFBaUMsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUszQyxNQUFNLE9BQU8sY0FBYztJQW1CdkI7Ozs7OztPQU1HO0lBQ0ksSUFBSSxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQUUsYUFBNkM7UUFDckYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDOUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CO1lBQ25CLEdBQUcsYUFBYTtZQUN6QixLQUFLO1lBQ0wsT0FBTztTQUNELENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0Msa0JBQWtCLENBQ3hCLEtBQWEsRUFDYixPQUFlLEVBQ2YsYUFBK0Q7UUFFL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFO1lBQ3pCLEdBQUcsYUFBYTtZQUNoQixRQUFRLEVBQUUsZUFBZSxDQUFDLE9BQU87U0FDakMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVFOzs7Ozs7Ozs7O09BVUc7SUFDQyxpQkFBaUIsQ0FDdkIsS0FBYSxFQUNiLE9BQWUsRUFDZixhQUErRDtRQUUvRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDekIsR0FBRyxhQUFhO1lBQ2hCLFFBQVEsRUFBRSxlQUFlLENBQUMsTUFBTTtZQUNoQyxXQUFXLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUU7Ozs7Ozs7Ozs7T0FVRztJQUNDLGtCQUFrQixDQUN4QixLQUFhLEVBQ2IsT0FBZSxFQUNmLGFBQStEO1FBRS9ELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN6QixHQUFHLGFBQWE7WUFDaEIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxPQUFPO1NBQ2pDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRTs7Ozs7Ozs7OztPQVVHO0lBQ0MsZUFBZSxDQUNyQixLQUFhLEVBQ2IsT0FBZSxFQUNmLGFBQStEO1FBRS9ELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN6QixHQUFHLGFBQWE7WUFDaEIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxJQUFJO1NBQzlCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFVSxXQUFXLENBQUMsT0FBZ0I7UUFDaEMsSUFBSSxTQUFTLEdBQXVCLFFBQVEsQ0FBQyxjQUFjLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDNUcsSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFO1lBQ3BCLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO1lBQzlELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxHQUFHLEdBQWdCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoRSxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTNCLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFFcEMsSUFBSSx3QkFBd0IsR0FBd0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDaEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDeEIsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7b0JBQ3ZDLElBQUksd0JBQXdCLEtBQUssSUFBSSxFQUFFO3dCQUN0Qyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDdkMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO3FCQUNoQztnQkFDRixDQUFDLENBQUMsQ0FBQzthQUNIO1NBQ0s7SUFDTCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsT0FBZ0I7UUFDN0MsTUFBTSxHQUFHLEdBQWdCLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sUUFBUSxHQUFnQixRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekMsUUFBUSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ25DLE1BQU0sVUFBVSxHQUFnQixRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0MsVUFBVSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbkIsTUFBTSxTQUFTLEdBQWdCLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0QsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNqRSxTQUFTLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDO1lBQ0YsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM5QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFdBQVcsQ0FBQyxjQUEyQixFQUFFLGFBQXNCLEtBQUs7UUFDeEUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0MsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUosS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsSUFBSSxVQUFVLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQzNCLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNoRCxPQUFPO2FBQ1Y7WUFDRCxjQUFjLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUosY0FBYyxDQUFDLFFBQTRCLFNBQVM7UUFDbkQsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzNCLFVBQVUsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzNCLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzdFO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSixDQUFDO0lBQ0gsQ0FBQztJQUVFO1FBMU1BOzs7O1dBSUc7UUFDSSx5QkFBb0IsR0FBeUIsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFN0Y7O1dBRUc7UUFDSSxzQkFBaUIsR0FBVyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUVwRTs7V0FFRztRQUNLLG1CQUFjLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUE0THJELElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQWhOUSxjQUFjO21IQUFkLGNBQWMsY0FGZCxNQUFNOzs0RkFFTixjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBFTVBUWSwgT3BlcmF0b3JGdW5jdGlvbiwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlQ29uZmlndXJhdGlvbiwgTWVzc2FnZVNldmVyaXR5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IE1FU1NBR0VfREVGQVVMVF9DT05GSUdVUkFUSU9OLCBNRVNTQUdFX0RFRkFVTFRfRVJST1JfVElUTEUgfSBmcm9tICcuLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaXNTZXJ2ZXJFcnJvciB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmYXVsdCBjb25maWd1cmF0aW9uXHJcbiAgICAgKiBcclxuICAgICAqIENhbiBiZSBjaGFuZ2VkIGlmIHlvdSBvdmVyd3JpdGUgaXQgb3IgdXNlIHRoZSBgTUVTU0FHRV9ERUZBVUxUX0NPTkZJR1VSQVRJT05gIEluamVjdGlvblRva2VuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWZhdWx0Q29uZmlndXJhdGlvbjogTWVzc2FnZUNvbmZpZ3VyYXRpb24gPSBpbmplY3QoTUVTU0FHRV9ERUZBVUxUX0NPTkZJR1VSQVRJT04pO1xyXG5cclxuXHQvKipcclxuXHQgKiBEZWZhdWx0IGVycm9yIHRpdGxlXHJcblx0ICovXHJcblx0cHVibGljIGRlZmF1bHRFcnJvclRpdGxlOiBzdHJpbmcgPSBpbmplY3QoTUVTU0FHRV9ERUZBVUxUX0VSUk9SX1RJVExFKTtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXNzYWdlIHN1YmplY3RcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU3ViamVjdDogU3ViamVjdDxNZXNzYWdlPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93XHJcbiAgICAgKiBcclxuICAgICAqIERpc3BsYXlzIG1lc3NhZ2Ugd2l0aCB0aGUgZ2l2ZW4gY29uZmlndXJhdGlvblxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZUNvbmZpZ3VyYXRpb24gYFBhcnRpYWw8TWVzc2FnZUNvbmZpZ3VyYXRpb24+YFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2hvdyh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZ3VyYXRpb24/OiBQYXJ0aWFsPE1lc3NhZ2VDb25maWd1cmF0aW9uPik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVN1YmplY3QubmV4dCh7XHJcblx0XHRcdC4uLnRoaXMuZGVmYXVsdENvbmZpZ3VyYXRpb24sXHJcbiAgICAgICAgICAgIC4uLmNvbmZpZ3VyYXRpb24sXHJcblx0XHRcdHRpdGxlLFxyXG5cdFx0XHRtZXNzYWdlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93IHN1Y2Nlc3MgbWVzc2FnZVxyXG4gICAgICogXHJcbiAgICAgKiBEaXNwbGF5IGEgbWVzc2FnZSB3aXRoIGRlZmF1bHQgc3VjY2VzcyBzZXZlcml0eVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdGl0bGUgYHN0cmluZ2AsIHJlcXVpcmVkXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBgc3RyaW5nYCwgcmVxdWlyZWRcclxuICAgICAqIEBwYXJhbSBsaWZldGltZSBgbnVtYmVyYCwgb3B0aW9uYWwsIGRlZmF1bHQgaXMgYHRoaXMuZGVmYXVsdExpZmV0aW1lYFxyXG4gICAgICogQHBhcmFtIHBvc2l0aW9uIGBNZXNzYWdlUG9zaXRpb25gLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0UG9zaXRpb25gXHJcbiAgICAgKiBAcGFyYW0gY2xvc2VhYmxlIGBib29sZWFuYCwgb3B0aW9uYWwsIGRlZmF1bHQgaXMgYHRoaXMuZGVmYXVsdENsb3NhYmxlYFxyXG4gICAgICovXHJcblx0cHVibGljIHNob3dTdWNjZXNzTWVzc2FnZShcclxuXHRcdHRpdGxlOiBzdHJpbmcsXHJcblx0XHRtZXNzYWdlOiBzdHJpbmcsXHJcblx0XHRjb25maWd1cmF0aW9uPzogUGFydGlhbDxPbWl0PE1lc3NhZ2VDb25maWd1cmF0aW9uLCAnc2V2ZXJpdHknPj5cclxuXHQpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2hvdyh0aXRsZSwgbWVzc2FnZSwge1xyXG5cdFx0XHQuLi5jb25maWd1cmF0aW9uLFxyXG5cdFx0XHRzZXZlcml0eTogTWVzc2FnZVNldmVyaXR5LlNVQ0NFU1NcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3cgZGFuZ2VyIG1lc3NhZ2VcclxuICAgICAqIFxyXG4gICAgICogRGlzcGxheSBhIG1lc3NhZ2Ugd2l0aCBkZWZhdWx0IGRhbmdlciBzZXZlcml0eVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdGl0bGUgYHN0cmluZ2AsIHJlcXVpcmVkXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBgc3RyaW5nYCwgcmVxdWlyZWRcclxuICAgICAqIEBwYXJhbSBsaWZldGltZSBgbnVtYmVyYCwgb3B0aW9uYWwsIGRlZmF1bHQgaXMgYHRoaXMuZGVmYXVsdExpZmV0aW1lYFxyXG4gICAgICogQHBhcmFtIHBvc2l0aW9uIGBNZXNzYWdlUG9zaXRpb25gLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0UG9zaXRpb25gXHJcbiAgICAgKiBAcGFyYW0gY2xvc2VhYmxlIGBib29sZWFuYCwgb3B0aW9uYWwsIGRlZmF1bHQgaXMgYHRoaXMuZGVmYXVsdENsb3NhYmxlYFxyXG4gICAgICovXHJcblx0cHVibGljIHNob3dEYW5nZXJNZXNzYWdlKFxyXG5cdFx0dGl0bGU6IHN0cmluZyxcclxuXHRcdG1lc3NhZ2U6IHN0cmluZyxcclxuXHRcdGNvbmZpZ3VyYXRpb24/OiBQYXJ0aWFsPE9taXQ8TWVzc2FnZUNvbmZpZ3VyYXRpb24sICdzZXZlcml0eSc+PlxyXG5cdCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zaG93KHRpdGxlLCBtZXNzYWdlLCB7XHJcblx0XHRcdC4uLmNvbmZpZ3VyYXRpb24sXHJcblx0XHRcdHNldmVyaXR5OiBNZXNzYWdlU2V2ZXJpdHkuREFOR0VSLFxyXG5cdFx0XHRrZWVwT25Ib3ZlcjogdHJ1ZVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvdyB3YXJuaW5nIG1lc3NhZ2VcclxuICAgICAqIFxyXG4gICAgICogRGlzcGxheSBhIG1lc3NhZ2Ugd2l0aCBkZWZhdWx0IHdhcm5pbmcgc2V2ZXJpdHlcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHRpdGxlIGBzdHJpbmdgLCByZXF1aXJlZFxyXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgYHN0cmluZ2AsIHJlcXVpcmVkXHJcbiAgICAgKiBAcGFyYW0gbGlmZXRpbWUgYG51bWJlcmAsIG9wdGlvbmFsLCBkZWZhdWx0IGlzIGB0aGlzLmRlZmF1bHRMaWZldGltZWBcclxuICAgICAqIEBwYXJhbSBwb3NpdGlvbiBgTWVzc2FnZVBvc2l0aW9uYCwgb3B0aW9uYWwsIGRlZmF1bHQgaXMgYHRoaXMuZGVmYXVsdFBvc2l0aW9uYFxyXG4gICAgICogQHBhcmFtIGNsb3NlYWJsZSBgYm9vbGVhbmAsIG9wdGlvbmFsLCBkZWZhdWx0IGlzIGB0aGlzLmRlZmF1bHRDbG9zYWJsZWBcclxuICAgICAqL1xyXG5cdHB1YmxpYyBzaG93V2FybmluZ01lc3NhZ2UoXHJcblx0XHR0aXRsZTogc3RyaW5nLFxyXG5cdFx0bWVzc2FnZTogc3RyaW5nLFxyXG5cdFx0Y29uZmlndXJhdGlvbj86IFBhcnRpYWw8T21pdDxNZXNzYWdlQ29uZmlndXJhdGlvbiwgJ3NldmVyaXR5Jz4+XHJcblx0KTogdm9pZCB7XHJcblx0XHR0aGlzLnNob3codGl0bGUsIG1lc3NhZ2UsIHtcclxuXHRcdFx0Li4uY29uZmlndXJhdGlvbixcclxuXHRcdFx0c2V2ZXJpdHk6IE1lc3NhZ2VTZXZlcml0eS5XQVJOSU5HXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93IGluZm8gbWVzc2FnZVxyXG4gICAgICogXHJcbiAgICAgKiBEaXNwbGF5IGEgbWVzc2FnZSB3aXRoIGRlZmF1bHQgaW5mbyBzZXZlcml0eVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdGl0bGUgYHN0cmluZ2AsIHJlcXVpcmVkXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBgc3RyaW5nYCwgcmVxdWlyZWRcclxuICAgICAqIEBwYXJhbSBsaWZldGltZSBgbnVtYmVyYCwgb3B0aW9uYWwsIGRlZmF1bHQgaXMgYHRoaXMuZGVmYXVsdExpZmV0aW1lYFxyXG4gICAgICogQHBhcmFtIHBvc2l0aW9uIGBNZXNzYWdlUG9zaXRpb25gLCBvcHRpb25hbCwgZGVmYXVsdCBpcyBgdGhpcy5kZWZhdWx0UG9zaXRpb25gXHJcbiAgICAgKiBAcGFyYW0gY2xvc2VhYmxlIGBib29sZWFuYCwgb3B0aW9uYWwsIGRlZmF1bHQgaXMgYHRoaXMuZGVmYXVsdENsb3NhYmxlYFxyXG4gICAgICovXHJcblx0cHVibGljIHNob3dJbmZvTWVzc2FnZShcclxuXHRcdHRpdGxlOiBzdHJpbmcsXHJcblx0XHRtZXNzYWdlOiBzdHJpbmcsXHJcblx0XHRjb25maWd1cmF0aW9uPzogUGFydGlhbDxPbWl0PE1lc3NhZ2VDb25maWd1cmF0aW9uLCAnc2V2ZXJpdHknPj5cclxuXHQpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2hvdyh0aXRsZSwgbWVzc2FnZSwge1xyXG5cdFx0XHQuLi5jb25maWd1cmF0aW9uLFxyXG5cdFx0XHRzZXZlcml0eTogTWVzc2FnZVNldmVyaXR5LklORk9cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcbiAgICBwcml2YXRlIHNob3dNZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UpOiB2b2lkIHtcclxuICAgICAgICBsZXQgY29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2YtdG9hc3RzLScgKyBtZXNzYWdlLnBvc2l0aW9uICsgJy1jb250YWluZXInKTtcclxuICAgICAgICBpZiAoY29udGFpbmVyID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgICBjb250YWluZXIuaWQgPSAnY2YtdG9hc3RzLScgKyBtZXNzYWdlLnBvc2l0aW9uICsgJy1jb250YWluZXInO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkaXY6IEhUTUxFbGVtZW50ID0gdGhpcy5jcmVhdGVNZXNzYWdlSHRtbEVsZW1lbnQobWVzc2FnZSk7XHJcblxyXG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkaXYpO1xyXG5cclxuICAgICAgICBpZiAobWVzc2FnZS5saWZldGltZSAhPT0gbnVsbCkge1xyXG5cclxuXHRcdFx0bGV0IGRpc3Bvc2VUaW1lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IHRpbWVyKG1lc3NhZ2UubGlmZXRpbWUgKyA1MDApLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5oaWRlTWVzc2FnZShkaXYpO1xyXG5cdFx0XHR9KTtcclxuXHJcblx0XHRcdGlmIChtZXNzYWdlLmtlZXBPbkhvdmVyKSB7XHJcblx0XHRcdFx0ZGl2LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAoZGlzcG9zZVRpbWVyU3Vic2NyaXB0aW9uICE9PSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdGRpc3Bvc2VUaW1lclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cdFx0XHRcdFx0XHRkaXNwb3NlVGltZXJTdWJzY3JpcHRpb24gPSBudWxsO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlTWVzc2FnZUh0bWxFbGVtZW50KG1lc3NhZ2U6IE1lc3NhZ2UpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgY29uc3QgZGl2OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdjZi10b2FzdCcsICdjZi0nICsgbWVzc2FnZS5zZXZlcml0eSArICctdG9hc3QnKTtcclxuICAgICAgICBjb25zdCB0aXRsZURpdjogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0aXRsZURpdi5jbGFzc0xpc3QuYWRkKCdjZi10b2FzdC10aXRsZScpO1xyXG4gICAgICAgIHRpdGxlRGl2LmlubmVyVGV4dCA9IG1lc3NhZ2UudGl0bGU7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZURpdjogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBtZXNzYWdlRGl2LmNsYXNzTGlzdC5hZGQoJ2NmLXRvYXN0LW1lc3NhZ2UnKTtcclxuICAgICAgICBtZXNzYWdlRGl2LmlubmVyVGV4dCA9IG1lc3NhZ2UubWVzc2FnZTtcclxuICAgICAgICBkaXYuYXBwZW5kQ2hpbGQodGl0bGVEaXYpO1xyXG4gICAgICAgIGRpdi5hcHBlbmRDaGlsZChtZXNzYWdlRGl2KTtcclxuICAgICAgICBpZiAobWVzc2FnZS5jbG9zZWFibGUpIHtcclxuICAgICAgICAgICAgY29uc3QgY2xvc2VJY29uOiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2knKTtcclxuICAgICAgICAgICAgY2xvc2VJY29uLmNsYXNzTGlzdC5hZGQoJ2Nsb3NlLWljb24nLCAncmVtaXhpY29uJywgJ2Nsb3NlLWxpbmUnKTtcclxuICAgICAgICAgICAgY2xvc2VJY29uLm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVNZXNzYWdlKGRpdiwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGRpdi5hcHBlbmRDaGlsZChjbG9zZUljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGl2O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGlkZU1lc3NhZ2UobWVzc2FnZUVsZW1lbnQ6IEhUTUxFbGVtZW50LCBmb3JjZUNsb3NlOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgICAgICBtZXNzYWdlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdoaWRkZW4tdG9hc3QnKTtcclxuXHJcbiAgICAgICAgbGV0IHJlbWFpbk9wZW4gPSBmYWxzZTtcclxuICAgICAgICBtZXNzYWdlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCgpID0+IHtcclxuICAgICAgICAgICAgcmVtYWluT3BlbiA9IHRydWU7XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICB0aW1lcig1MDApLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZW1haW5PcGVuICYmICFmb3JjZUNsb3NlKSB7XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4tdG9hc3QnKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtZXNzYWdlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCgpID0+IHt9KSk7XHJcbiAgICAgICAgICAgIG1lc3NhZ2VFbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cdFxyXG5cdGhhbmRsZUFwaUVycm9yKHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBPcGVyYXRvckZ1bmN0aW9uPGFueSwgYW55PiB7XHJcblx0XHRyZXR1cm4gc291cmNlJCA9PiBzb3VyY2UkLnBpcGUoXHJcblx0XHQgIFx0Y2F0Y2hFcnJvcigoZXJyb3I6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGlmIChpc1NlcnZlckVycm9yKGVycm9yKSkge1xyXG5cdFx0XHRcdFx0dGhpcy5zaG93RGFuZ2VyTWVzc2FnZSh0aXRsZSB8fCB0aGlzLmRlZmF1bHRFcnJvclRpdGxlLCBlcnJvci5lcnJvci5tZXNzYWdlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIEVNUFRZO1xyXG5cdFx0ICBcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTdWJqZWN0LnN1YnNjcmliZSgobWVzc2FnZTogTWVzc2FnZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlKG1lc3NhZ2UpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MicroDataService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.microData = {};
|
|
6
|
+
}
|
|
7
|
+
getMicroData(key, defaultOnUndefined = '') {
|
|
8
|
+
return this.microData[key] || defaultOnUndefined;
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MicroDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MicroDataService, providedIn: 'root' }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MicroDataService, decorators: [{
|
|
14
|
+
type: Injectable,
|
|
15
|
+
args: [{
|
|
16
|
+
providedIn: 'root'
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlZm94Y29yZS9zcmMvbGliL3NlcnZpY2VzL21pY3JvZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFLQyxjQUFTLEdBQTRCLEVBQUUsQ0FBQztLQU14QztJQUpBLFlBQVksQ0FBQyxHQUFXLEVBQUUscUJBQTZCLEVBQUU7UUFDeEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDO0lBQ2xELENBQUM7K0dBTlcsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGYixNQUFNOzs0RkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1pY3JvRGF0YVNlcnZpY2Uge1xyXG5cclxuXHRtaWNyb0RhdGE6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge307XHJcblxyXG5cdGdldE1pY3JvRGF0YShrZXk6IHN0cmluZywgZGVmYXVsdE9uVW5kZWZpbmVkOiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5taWNyb0RhdGFba2V5XSB8fCBkZWZhdWx0T25VbmRlZmluZWQ7XHJcblx0fVxyXG5cclxufSJdfQ==
|
|
@@ -11,4 +11,9 @@ export const MESSAGE_DEFAULT_CONFIGURATION = new InjectionToken('Message default
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
|
|
14
|
+
export const MESSAGE_DEFAULT_ERROR_TITLE = new InjectionToken('Message default error title', {
|
|
15
|
+
factory: () => {
|
|
16
|
+
return 'Hiba';
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGVmb3hjb3JlL3NyYy9saWIvdG9rZW5zL21lc3NhZ2UudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQXlDLElBQUksY0FBYyxDQUFDLCtCQUErQixFQUFFO0lBQ3RJLE9BQU8sRUFBRSxHQUF5QixFQUFFO1FBQ25DLE9BQU87WUFDTixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLGVBQWUsQ0FBQyxHQUFHO1lBQzdCLFFBQVEsRUFBRSxlQUFlLENBQUMsT0FBTztZQUNqQyxXQUFXLEVBQUUsS0FBSztTQUNsQixDQUFDO0lBQ0gsQ0FBQztDQUNELENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUEyQixJQUFJLGNBQWMsQ0FBQyw2QkFBNkIsRUFBRTtJQUNwSCxPQUFPLEVBQUUsR0FBVyxFQUFFO1FBQ3JCLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztDQUNELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWVzc2FnZUNvbmZpZ3VyYXRpb24sIE1lc3NhZ2VQb3NpdGlvbiwgTWVzc2FnZVNldmVyaXR5IH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBNRVNTQUdFX0RFRkFVTFRfQ09ORklHVVJBVElPTjogSW5qZWN0aW9uVG9rZW48TWVzc2FnZUNvbmZpZ3VyYXRpb24+ID0gbmV3IEluamVjdGlvblRva2VuKCdNZXNzYWdlIGRlZmF1bHQgY29uZmlndXJhdGlvbicsIHtcclxuXHRmYWN0b3J5OiAoKTogTWVzc2FnZUNvbmZpZ3VyYXRpb24gPT4ge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y2xvc2VhYmxlOiB0cnVlLFxyXG5cdFx0XHRsaWZldGltZTogMzAwMCxcclxuXHRcdFx0cG9zaXRpb246IE1lc3NhZ2VQb3NpdGlvbi5UT1AsXHJcblx0XHRcdHNldmVyaXR5OiBNZXNzYWdlU2V2ZXJpdHkuU1VDQ0VTUyxcclxuXHRcdFx0a2VlcE9uSG92ZXI6IGZhbHNlXHJcblx0XHR9O1xyXG5cdH1cclxufSk7XHJcblxyXG5leHBvcnQgY29uc3QgTUVTU0FHRV9ERUZBVUxUX0VSUk9SX1RJVExFOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gbmV3IEluamVjdGlvblRva2VuKCdNZXNzYWdlIGRlZmF1bHQgZXJyb3IgdGl0bGUnLCB7XHJcblx0ZmFjdG9yeTogKCk6IHN0cmluZyA9PiB7XHJcblx0XHRyZXR1cm4gJ0hpYmEnO1xyXG5cdH1cclxufSk7XHJcbiJdfQ==
|