@fundamental-ngx/platform 0.43.47 → 0.43.49

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.
Files changed (53) hide show
  1. package/esm2020/form/combobox/combobox/combobox.component.mjs +1 -1
  2. package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +1 -1
  3. package/esm2020/form/multi-input/base-multi-input.mjs +1 -4
  4. package/esm2020/list/action-list-item/action-list-item.component.mjs +1 -1
  5. package/esm2020/list/display-list-item/display-list-item.component.mjs +1 -1
  6. package/esm2020/list/free-content-list-item/free-content-list-item.component.mjs +1 -1
  7. package/esm2020/list/list.component.mjs +1 -1
  8. package/esm2020/list/object-list-item/object-list-item.component.mjs +1 -1
  9. package/esm2020/list/standard-list-item/standard-list-item.component.mjs +1 -1
  10. package/esm2020/message-popover/components/message-view/message-view.component.mjs +2 -2
  11. package/esm2020/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +2 -2
  12. package/esm2020/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
  13. package/esm2020/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +3 -3
  14. package/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
  15. package/esm2020/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
  16. package/esm2020/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
  17. package/esm2020/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
  18. package/esm2020/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
  19. package/esm2020/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
  20. package/esm2020/upload-collection/dialogs/move-to/move-to.component.mjs +1 -1
  21. package/esm2020/variant-management/variant-management.component.mjs +1 -1
  22. package/fesm2015/fundamental-ngx-platform-form.mjs +2 -5
  23. package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
  24. package/fesm2015/fundamental-ngx-platform-list.mjs +6 -6
  25. package/fesm2015/fundamental-ngx-platform-list.mjs.map +1 -1
  26. package/fesm2015/fundamental-ngx-platform-message-popover.mjs +1 -1
  27. package/fesm2015/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  28. package/fesm2015/fundamental-ngx-platform-settings-generator.mjs +2 -2
  29. package/fesm2015/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  30. package/fesm2015/fundamental-ngx-platform-table.mjs +9 -9
  31. package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
  32. package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
  33. package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  34. package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
  35. package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  36. package/fesm2020/fundamental-ngx-platform-form.mjs +2 -5
  37. package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
  38. package/fesm2020/fundamental-ngx-platform-list.mjs +6 -6
  39. package/fesm2020/fundamental-ngx-platform-list.mjs.map +1 -1
  40. package/fesm2020/fundamental-ngx-platform-message-popover.mjs +1 -1
  41. package/fesm2020/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  42. package/fesm2020/fundamental-ngx-platform-settings-generator.mjs +2 -2
  43. package/fesm2020/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  44. package/fesm2020/fundamental-ngx-platform-table.mjs +9 -9
  45. package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
  46. package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
  47. package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  48. package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
  49. package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  50. package/fundamental-ngx-platform-v0.43.49.tgz +0 -0
  51. package/package.json +4 -4
  52. package/schematics/ng-add/index.js +1 -1
  53. package/fundamental-ngx-platform-v0.43.47.tgz +0 -0
@@ -69,7 +69,7 @@ export class MessageViewComponent {
69
69
  }
70
70
  }
71
71
  MessageViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageViewComponent, deps: [{ token: i1.DestroyedService }, { token: i1.TabbableElementService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
72
- MessageViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MessageViewComponent, selector: "fdp-message-view", inputs: { currentScreen: "currentScreen", filteredErrors: "filteredErrors", currentEntry: "currentEntry" }, outputs: { openDetails: "openDetails", focusItem: "focusItem", closePopover: "closePopover" }, host: { properties: { "class": "this._initialClass" } }, providers: [DestroyedService, TabbableElementService], viewQueries: [{ propertyName: "_listView", first: true, predicate: ["listView"], descendants: true, read: ElementRef }, { propertyName: "_detailsView", first: true, predicate: ["detailsView"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-template #headingTemplate let-item>\n <ng-template #directiveHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message || item.description.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.heading.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringHeading>\n {{ item.heading.message | fdTranslate : { error: item.heading.error } : item.heading.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveHeading\n : item.heading.type === 'string'\n ? stringHeading\n : i18nHeading\n \"\n ></ng-template>\n</ng-template>\n\n<ng-template #descriptionTemplate let-item>\n <ng-template #directiveDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.description.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringDescription>\n {{ item.description.message | fdTranslate : { error: item.description.error } : item.description.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveDescription\n : item.heading.type === 'string'\n ? stringDescription\n : i18nDescription\n \"\n ></ng-template>\n</ng-template>\n\n<div class=\"fd-message-view\">\n <section\n class=\"fd-message-view__list\"\n tabindex=\"-1\"\n [@openCloseList]=\"currentScreen === 'list' ? 'open' : 'closed'\"\n (@openCloseList.done)=\"_onListAnimationComplete($event)\"\n fd-scrollbar\n [overrideTabindex]=\"false\"\n >\n <ul #listView fd-list class=\"message-popover__list fd-list--message-view\" [navigationIndicator]=\"true\">\n <ng-container *ngFor=\"let group of filteredErrors\">\n <li fd-list-group-header *ngIf=\"group.group\">\n <span fd-list-title>{{ group.group }}</span>\n </li>\n <ng-container *ngFor=\"let item of group.errors; let i = index\">\n <li fd-list-item [tabindex]=\"i === 0 ? 0 : -1\" [byline]=\"true\" (click)=\"_showDetails(item)\">\n <ng-template #itemIcon>\n <span\n fd-object-status\n class=\"fd-list__icon\"\n [status]=\"item.state\"\n [glyph]=\"'message-' + item.type\"\n ></span>\n </ng-template>\n <ng-template #listSubtitle>\n <span class=\"fd-list__subtitle\">\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </span>\n </ng-template>\n <span\n fd-list-link\n [navigationIndicator]=\"!!item.description.message\"\n *ngIf=\"item.element && !!item.description.message; else anchorListLink\"\n >\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>\n <a tabindex=\"0\" fd-link (click)=\"_focusElement($event, item)\">\n {{ item.fieldName }}\n </a>\n </span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </span>\n <ng-template #anchorListLink>\n <a fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>{{ item.fieldName }}</span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </a>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </section>\n <section class=\"fd-message-view__details\" [@openCloseDetails]=\"currentScreen === 'details' ? 'open' : 'closed'\">\n <div #detailsView>\n <ng-container *ngIf=\"currentEntry\">\n <span class=\"fd-message-view__details-title\">\n <span\n fd-object-status\n class=\"fd-message-view__icon\"\n [status]=\"currentEntry.state\"\n [glyph]=\"'message-' + currentEntry.type\"\n ></span>\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n <span class=\"fd-message-view__details-description\" *ngIf=\"currentEntry.description.message\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n </ng-container>\n </div>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i3.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i3.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i3.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i3.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i3.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "component", type: i4.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large"] }, { kind: "directive", type: i5.ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }, { kind: "component", type: i6.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "pipe", type: i7.FdTranslatePipe, name: "fdTranslate" }], animations: [
72
+ MessageViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MessageViewComponent, selector: "fdp-message-view", inputs: { currentScreen: "currentScreen", filteredErrors: "filteredErrors", currentEntry: "currentEntry" }, outputs: { openDetails: "openDetails", focusItem: "focusItem", closePopover: "closePopover" }, host: { properties: { "class": "this._initialClass" } }, providers: [DestroyedService, TabbableElementService], viewQueries: [{ propertyName: "_listView", first: true, predicate: ["listView"], descendants: true, read: ElementRef }, { propertyName: "_detailsView", first: true, predicate: ["detailsView"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-template #headingTemplate let-item>\n <ng-template #directiveHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message || item.description.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.heading.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringHeading>\n {{ item.heading.message | fdTranslate : { error: item.heading.error } : item.heading.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveHeading\n : item.heading.type === 'string'\n ? stringHeading\n : i18nHeading\n \"\n ></ng-template>\n</ng-template>\n\n<ng-template #descriptionTemplate let-item>\n <ng-template #directiveDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.description.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringDescription>\n {{ item.description.message | fdTranslate : { error: item.description.error } : item.description.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveDescription\n : item.heading.type === 'string'\n ? stringDescription\n : i18nDescription\n \"\n ></ng-template>\n</ng-template>\n\n<div class=\"fd-message-view\">\n <section\n class=\"fd-message-view__list\"\n tabindex=\"-1\"\n [@openCloseList]=\"currentScreen === 'list' ? 'open' : 'closed'\"\n (@openCloseList.done)=\"_onListAnimationComplete($event)\"\n fd-scrollbar\n [overrideTabindex]=\"false\"\n >\n <ul #listView fd-list class=\"message-popover__list fd-list--message-view\" [navigationIndicator]=\"true\">\n <ng-container *ngFor=\"let group of filteredErrors\">\n <li fd-list-group-header *ngIf=\"group.group\">\n <span fd-list-title>{{ group.group }}</span>\n </li>\n <ng-container *ngFor=\"let item of group.errors; let i = index\">\n <li fd-list-item [tabindex]=\"i === 0 ? 0 : -1\" [byline]=\"true\" (click)=\"_showDetails(item)\">\n <ng-template #itemIcon>\n <span\n fd-object-status\n class=\"fd-list__icon\"\n [status]=\"item.state\"\n [glyph]=\"'message-' + item.type\"\n ></span>\n </ng-template>\n <ng-template #listSubtitle>\n <span class=\"fd-list__subtitle\">\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </span>\n </ng-template>\n <span\n fd-list-link\n [navigationIndicator]=\"!!item.description.message\"\n *ngIf=\"item.element && !!item.description.message; else anchorListLink\"\n >\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>\n <a tabindex=\"0\" fd-link (click)=\"_focusElement($event, item)\">\n {{ item.fieldName }}\n </a>\n </span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </span>\n <ng-template #anchorListLink>\n <a fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>{{ item.fieldName }}</span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </a>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </section>\n <section class=\"fd-message-view__details\" [@openCloseDetails]=\"currentScreen === 'details' ? 'open' : 'closed'\">\n <div #detailsView>\n <ng-container *ngIf=\"currentEntry\">\n <span class=\"fd-message-view__details-title\">\n <span\n fd-object-status\n class=\"fd-message-view__icon\"\n [status]=\"currentEntry.state\"\n [glyph]=\"'message-' + currentEntry.type\"\n ></span>\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n <span class=\"fd-message-view__details-description\" *ngIf=\"currentEntry.description.message\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n </ng-container>\n </div>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i3.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i3.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i3.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i3.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i3.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "component", type: i4.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large"] }, { kind: "directive", type: i5.ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }, { kind: "component", type: i6.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "pipe", type: i7.FdTranslatePipe, name: "fdTranslate" }], animations: [
73
73
  trigger('openCloseList', [
74
74
  // ...
75
75
  state('open', style({
@@ -188,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
188
188
  type: HostBinding,
189
189
  args: ['class']
190
190
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9tZXNzYWdlLXBvcG92ZXIvY29tcG9uZW50cy9tZXNzYWdlLXZpZXcvbWVzc2FnZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9tZXNzYWdlLXBvcG92ZXIvY29tcG9uZW50cy9tZXNzYWdlLXZpZXcvbWVzc2FnZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUF1RS9DLE1BQU0sT0FBTyxvQkFBb0I7SUF3QzdCLGNBQWM7SUFDZCxZQUNxQixTQUEyQixFQUMzQixnQkFBd0MsRUFDdEIsU0FBbUI7UUFGckMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBL0IxRCx1RkFBdUY7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TyxFQUFFLE1BQU07cUNBQ2xCLENBQUM7aUNBQ0wsQ0FBQyxDQUNMOzZCQUNKLENBQUM7NEJBQ0YsVUFBVSxDQUFDLGdCQUFnQixFQUFFO2dDQUN6QixLQUFLLENBQUM7b0NBQ0YsT0FBTyxFQUFFLE9BQU87aUNBQ25CLENBQUM7Z0NBQ0YsT0FBTyxDQUFDLHFDQUFxQyxDQUFDOzZCQUNqRCxDQUFDO3lCQUNMLENBQUM7cUJBQ0w7OzBCQThDSSxNQUFNOzJCQUFDLFFBQVE7NENBekNwQixhQUFhO3NCQURaLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixXQUFXO3NCQURWLE1BQU07Z0JBS1AsU0FBUztzQkFEUixNQUFNO2dCQUtQLFlBQVk7c0JBRFgsTUFBTTtnQkFLQyxTQUFTO3NCQURoQixTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBS25DLFlBQVk7c0JBRG5CLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLN0IsYUFBYTtzQkFEN0IsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwga2V5ZnJhbWVzLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UsIHJlc2l6ZU9ic2VydmFibGUsIFRhYmJhYmxlRWxlbWVudFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVzc2FnZVBvcG92ZXJFbnRyeSwgTWVzc2FnZVBvcG92ZXJFcnJvckdyb3VwIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lc3NhZ2UtcG9wb3Zlci1lbnRyeS5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1tZXNzYWdlLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbRGVzdHJveWVkU2VydmljZSwgVGFiYmFibGVFbGVtZW50U2VydmljZV0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdvcGVuQ2xvc2VMaXN0JywgW1xuICAgICAgICAgICAgLy8gLi4uXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnb3BlbicsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2Nsb3NlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC01MHB4KScsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ29wZW4gPT4gY2xvc2VkJywgW2FuaW1hdGUoJy4xcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScpXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjbG9zZWQgPT4gb3BlbicsIFthbmltYXRlKCcwLjFzIC4xcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScpXSlcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoJ29wZW5DbG9zZURldGFpbHMnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnb3BlbicsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2Nsb3NlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDUwcHgpJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignb3BlbiA9PiBjbG9zZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgICAgICAgJy4xcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScsXG4gICAgICAgICAgICAgICAgICAgIGtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnYmxvY2snXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDUwcHgpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Nsb3NlZCA9PiBvcGVuJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzAuMXMgLjFzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBDdXJyZW50IE1lc3NhZ2UgUG9wb3ZlciBzY3JlZW4uIENhbiBiZSBlaXRoZXIgYGxpc3RgIG9yIGBkZXRhaWxzYC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGN1cnJlbnRTY3JlZW46ICdsaXN0JyB8ICdkZXRhaWxzJztcblxuICAgIC8qKiBGaWx0ZXJlZCBlcnJvcnMgdG8gcmVuZGVyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsdGVyZWRFcnJvcnM6IE1lc3NhZ2VQb3BvdmVyRXJyb3JHcm91cFtdO1xuXG4gICAgLyoqIEN1cnJlbnQgZXJyb3IgZW50cnkuIFVzZWQgZm9yIGRldGFpbHMgdmlldy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGN1cnJlbnRFbnRyeTogTnVsbGFibGU8TWVzc2FnZVBvcG92ZXJFbnRyeT47XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHVzZXIgY2xpY2tzIG9uIGVycm9yIGVudHJ5IGNvbnRhaW5pbmcgYWRkaXRpb25hbCBkZXNjcmlwdGlvbi4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBvcGVuRGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8TWVzc2FnZVBvcG92ZXJFbnRyeT4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdXNlciBjbGlja3Mgb24gZXJyb3IgZW50cnkgYW5kIGl0ZW0ncyBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvY3VzSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8TWVzc2FnZVBvcG92ZXJFbnRyeT4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdXNlciBjbGlja3Mgb24gdGhlIGZpZWxkIGxpbmsgdG8gZm9jdXMgb24gdGhlIGZpZWxkIGl0c2VsZi4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBjbG9zZVBvcG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2xpc3RWaWV3JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgcHJpdmF0ZSBfbGlzdFZpZXc6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2RldGFpbHNWaWV3JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgcHJpdmF0ZSBfZGV0YWlsc1ZpZXc6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2luaXRpYWxDbGFzcyA9ICdmZC1tZXNzYWdlLXBvcG92ZXJfX3ZpZXctY29udGFpbmVyJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWN0aXZlTGlzdEVsZW1lbnQ6IE51bGxhYmxlPEhUTUxFbGVtZW50PiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JDogRGVzdHJveWVkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGFiYmFibGVTZXJ2aWNlOiBUYWJiYWJsZUVsZW1lbnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudDogRG9jdW1lbnRcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2YWJsZSh0aGlzLl9kZXRhaWxzVmlldy5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgaGVpZ2h0IH0gPSB0aGlzLl9kZXRhaWxzVmlldy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2xpc3RWaWV3Lm5hdGl2ZUVsZW1lbnQuc3R5bGUubWluSGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dEZXRhaWxzKGVudHJ5OiBNZXNzYWdlUG9wb3ZlckVudHJ5KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUxpc3RFbGVtZW50ID0gdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKCFlbnRyeS5kZXNjcmlwdGlvbi5tZXNzYWdlKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c0VsZW1lbnQodW5kZWZpbmVkLCBlbnRyeSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50U2NyZWVuID0gJ2RldGFpbHMnO1xuICAgICAgICB0aGlzLm9wZW5EZXRhaWxzLmVtaXQoZW50cnkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ZvY3VzRWxlbWVudChldmVudD86IE1vdXNlRXZlbnQsIGl0ZW0/OiBNZXNzYWdlUG9wb3ZlckVudHJ5KTogdm9pZCB7XG4gICAgICAgIGlmICghaXRlbT8uZWxlbWVudD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50Py5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jbG9zZVBvcG92ZXIuZW1pdChmYWxzZSk7XG4gICAgICAgIHRoaXMuZm9jdXNJdGVtLmVtaXQoaXRlbSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFiYmFibGVFbGVtZW50ID0gdGhpcy5fdGFiYmFibGVTZXJ2aWNlLmdldFRhYmJhYmxlRWxlbWVudChpdGVtLmVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgdGFiYmFibGVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkxpc3RBbmltYXRpb25Db21wbGV0ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnb3BlbicgJiYgdGhpcy5fYWN0aXZlTGlzdEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZUxpc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVMaXN0RWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2hlYWRpbmdUZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICA8bmctdGVtcGxhdGUgI2RpcmVjdGl2ZUhlYWRpbmc+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS5oZWFkaW5nLm1lc3NhZ2UgfHwgaXRlbS5kZXNjcmlwdGlvbi5tZXNzYWdlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbS5oZWFkaW5nLmVycm9yIH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjaTE4bkhlYWRpbmc+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS5oZWFkaW5nLm1lc3NhZ2VcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLmVycm9ycyB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI3N0cmluZ0hlYWRpbmc+XG4gICAgICAgIHt7IGl0ZW0uaGVhZGluZy5tZXNzYWdlIHwgZmRUcmFuc2xhdGUgOiB7IGVycm9yOiBpdGVtLmhlYWRpbmcuZXJyb3IgfSA6IGl0ZW0uaGVhZGluZy5tZXNzYWdlIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiXG4gICAgICAgICAgICBpdGVtLmhlYWRpbmcudHlwZSA9PT0gJ2RpcmVjdGl2ZSdcbiAgICAgICAgICAgICAgICA/IGRpcmVjdGl2ZUhlYWRpbmdcbiAgICAgICAgICAgICAgICA6IGl0ZW0uaGVhZGluZy50eXBlID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgID8gc3RyaW5nSGVhZGluZ1xuICAgICAgICAgICAgICAgIDogaTE4bkhlYWRpbmdcbiAgICAgICAgXCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVzY3JpcHRpb25UZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICA8bmctdGVtcGxhdGUgI2RpcmVjdGl2ZURlc2NyaXB0aW9uPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0uZGVzY3JpcHRpb24ubWVzc2FnZSFcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLmRlc2NyaXB0aW9uLmVycm9yIH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjaTE4bkRlc2NyaXB0aW9uPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0uZGVzY3JpcHRpb24ubWVzc2FnZSFcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLmVycm9ycyB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI3N0cmluZ0Rlc2NyaXB0aW9uPlxuICAgICAgICB7eyBpdGVtLmRlc2NyaXB0aW9uLm1lc3NhZ2UgfCBmZFRyYW5zbGF0ZSA6IHsgZXJyb3I6IGl0ZW0uZGVzY3JpcHRpb24uZXJyb3IgfSA6IGl0ZW0uZGVzY3JpcHRpb24ubWVzc2FnZSB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlxuICAgICAgICAgICAgaXRlbS5oZWFkaW5nLnR5cGUgPT09ICdkaXJlY3RpdmUnXG4gICAgICAgICAgICAgICAgPyBkaXJlY3RpdmVEZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIDogaXRlbS5oZWFkaW5nLnR5cGUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgPyBzdHJpbmdEZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIDogaTE4bkRlc2NyaXB0aW9uXG4gICAgICAgIFwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2IGNsYXNzPVwiZmQtbWVzc2FnZS12aWV3XCI+XG4gICAgPHNlY3Rpb25cbiAgICAgICAgY2xhc3M9XCJmZC1tZXNzYWdlLXZpZXdfX2xpc3RcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW0BvcGVuQ2xvc2VMaXN0XT1cImN1cnJlbnRTY3JlZW4gPT09ICdsaXN0JyA/ICdvcGVuJyA6ICdjbG9zZWQnXCJcbiAgICAgICAgKEBvcGVuQ2xvc2VMaXN0LmRvbmUpPVwiX29uTGlzdEFuaW1hdGlvbkNvbXBsZXRlKCRldmVudClcIlxuICAgICAgICBmZC1zY3JvbGxiYXJcbiAgICAgICAgW292ZXJyaWRlVGFiaW5kZXhdPVwiZmFsc2VcIlxuICAgID5cbiAgICAgICAgPHVsICNsaXN0VmlldyBmZC1saXN0IGNsYXNzPVwibWVzc2FnZS1wb3BvdmVyX19saXN0IGZkLWxpc3QtLW1lc3NhZ2Utdmlld1wiIFtuYXZpZ2F0aW9uSW5kaWNhdG9yXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcmVkRXJyb3JzXCI+XG4gICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtZ3JvdXAtaGVhZGVyICpuZ0lmPVwiZ3JvdXAuZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyBncm91cC5ncm91cCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXAuZXJyb3JzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0gW3RhYmluZGV4XT1cImkgPT09IDAgPyAwIDogLTFcIiBbYnlsaW5lXT1cInRydWVcIiAoY2xpY2spPVwiX3Nob3dEZXRhaWxzKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1saXN0X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXR1c109XCJpdGVtLnN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIidtZXNzYWdlLScgKyBpdGVtLnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsaXN0U3VidGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1saXN0X19zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWxpc3QtbGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXZpZ2F0aW9uSW5kaWNhdG9yXT1cIiEhaXRlbS5kZXNjcmlwdGlvbi5tZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uZWxlbWVudCAmJiAhIWl0ZW0uZGVzY3JpcHRpb24ubWVzc2FnZTsgZWxzZSBhbmNob3JMaXN0TGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1JY29uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0YWJpbmRleD1cIjBcIiBmZC1saW5rIChjbGljayk9XCJfZm9jdXNFbGVtZW50KCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmZpZWxkTmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0U3VidGl0bGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYW5jaG9yTGlzdExpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIFtuYXZpZ2F0aW9uSW5kaWNhdG9yXT1cIiEhaXRlbS5kZXNjcmlwdGlvbi5tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtSWNvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgaXRlbS5maWVsZE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdFN1YnRpdGxlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICA8L3NlY3Rpb24+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJmZC1tZXNzYWdlLXZpZXdfX2RldGFpbHNcIiBbQG9wZW5DbG9zZURldGFpbHNdPVwiY3VycmVudFNjcmVlbiA9PT0gJ2RldGFpbHMnID8gJ29wZW4nIDogJ2Nsb3NlZCdcIj5cbiAgICAgICAgPGRpdiAjZGV0YWlsc1ZpZXc+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudEVudHJ5XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZXNzYWdlLXZpZXdfX2RldGFpbHMtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbWVzc2FnZS12aWV3X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiY3VycmVudEVudHJ5LnN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCInbWVzc2FnZS0nICsgY3VycmVudEVudHJ5LnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGN1cnJlbnRFbnRyeSB9XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtbWVzc2FnZS12aWV3X19kZXRhaWxzLWRlc2NyaXB0aW9uXCIgKm5nSWY9XCJjdXJyZW50RW50cnkuZGVzY3JpcHRpb24ubWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlc2NyaXB0aW9uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjdXJyZW50RW50cnkgfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG48L2Rpdj5cbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9tZXNzYWdlLXBvcG92ZXIvY29tcG9uZW50cy9tZXNzYWdlLXZpZXcvbWVzc2FnZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9tZXNzYWdlLXBvcG92ZXIvY29tcG9uZW50cy9tZXNzYWdlLXZpZXcvbWVzc2FnZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUF1RS9DLE1BQU0sT0FBTyxvQkFBb0I7SUF3QzdCLGNBQWM7SUFDZCxZQUNxQixTQUEyQixFQUMzQixnQkFBd0MsRUFDdEIsU0FBbUI7UUFGckMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBL0IxRCx1RkFBdUY7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TyxFQUFFLE1BQU07cUNBQ2xCLENBQUM7aUNBQ0wsQ0FBQyxDQUNMOzZCQUNKLENBQUM7NEJBQ0YsVUFBVSxDQUFDLGdCQUFnQixFQUFFO2dDQUN6QixLQUFLLENBQUM7b0NBQ0YsT0FBTyxFQUFFLE9BQU87aUNBQ25CLENBQUM7Z0NBQ0YsT0FBTyxDQUFDLHFDQUFxQyxDQUFDOzZCQUNqRCxDQUFDO3lCQUNMLENBQUM7cUJBQ0w7OzBCQThDSSxNQUFNOzJCQUFDLFFBQVE7NENBekNwQixhQUFhO3NCQURaLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixXQUFXO3NCQURWLE1BQU07Z0JBS1AsU0FBUztzQkFEUixNQUFNO2dCQUtQLFlBQVk7c0JBRFgsTUFBTTtnQkFLQyxTQUFTO3NCQURoQixTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBS25DLFlBQVk7c0JBRG5CLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLN0IsYUFBYTtzQkFEN0IsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwga2V5ZnJhbWVzLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UsIHJlc2l6ZU9ic2VydmFibGUsIFRhYmJhYmxlRWxlbWVudFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVzc2FnZVBvcG92ZXJFbnRyeSwgTWVzc2FnZVBvcG92ZXJFcnJvckdyb3VwIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lc3NhZ2UtcG9wb3Zlci1lbnRyeS5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1tZXNzYWdlLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbRGVzdHJveWVkU2VydmljZSwgVGFiYmFibGVFbGVtZW50U2VydmljZV0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdvcGVuQ2xvc2VMaXN0JywgW1xuICAgICAgICAgICAgLy8gLi4uXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnb3BlbicsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2Nsb3NlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC01MHB4KScsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ29wZW4gPT4gY2xvc2VkJywgW2FuaW1hdGUoJy4xcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScpXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjbG9zZWQgPT4gb3BlbicsIFthbmltYXRlKCcwLjFzIC4xcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScpXSlcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoJ29wZW5DbG9zZURldGFpbHMnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnb3BlbicsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2Nsb3NlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDUwcHgpJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignb3BlbiA9PiBjbG9zZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgICAgICAgJy4xcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScsXG4gICAgICAgICAgICAgICAgICAgIGtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnYmxvY2snXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDUwcHgpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Nsb3NlZCA9PiBvcGVuJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzAuMXMgLjFzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBDdXJyZW50IE1lc3NhZ2UgUG9wb3ZlciBzY3JlZW4uIENhbiBiZSBlaXRoZXIgYGxpc3RgIG9yIGBkZXRhaWxzYC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGN1cnJlbnRTY3JlZW46ICdsaXN0JyB8ICdkZXRhaWxzJztcblxuICAgIC8qKiBGaWx0ZXJlZCBlcnJvcnMgdG8gcmVuZGVyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsdGVyZWRFcnJvcnM6IE1lc3NhZ2VQb3BvdmVyRXJyb3JHcm91cFtdO1xuXG4gICAgLyoqIEN1cnJlbnQgZXJyb3IgZW50cnkuIFVzZWQgZm9yIGRldGFpbHMgdmlldy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGN1cnJlbnRFbnRyeTogTnVsbGFibGU8TWVzc2FnZVBvcG92ZXJFbnRyeT47XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHVzZXIgY2xpY2tzIG9uIGVycm9yIGVudHJ5IGNvbnRhaW5pbmcgYWRkaXRpb25hbCBkZXNjcmlwdGlvbi4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBvcGVuRGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8TWVzc2FnZVBvcG92ZXJFbnRyeT4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdXNlciBjbGlja3Mgb24gZXJyb3IgZW50cnkgYW5kIGl0ZW0ncyBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvY3VzSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8TWVzc2FnZVBvcG92ZXJFbnRyeT4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdXNlciBjbGlja3Mgb24gdGhlIGZpZWxkIGxpbmsgdG8gZm9jdXMgb24gdGhlIGZpZWxkIGl0c2VsZi4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBjbG9zZVBvcG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2xpc3RWaWV3JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgcHJpdmF0ZSBfbGlzdFZpZXc6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2RldGFpbHNWaWV3JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgcHJpdmF0ZSBfZGV0YWlsc1ZpZXc6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2luaXRpYWxDbGFzcyA9ICdmZC1tZXNzYWdlLXBvcG92ZXJfX3ZpZXctY29udGFpbmVyJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWN0aXZlTGlzdEVsZW1lbnQ6IE51bGxhYmxlPEhUTUxFbGVtZW50PiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JDogRGVzdHJveWVkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGFiYmFibGVTZXJ2aWNlOiBUYWJiYWJsZUVsZW1lbnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudDogRG9jdW1lbnRcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2YWJsZSh0aGlzLl9kZXRhaWxzVmlldy5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgaGVpZ2h0IH0gPSB0aGlzLl9kZXRhaWxzVmlldy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2xpc3RWaWV3Lm5hdGl2ZUVsZW1lbnQuc3R5bGUubWluSGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dEZXRhaWxzKGVudHJ5OiBNZXNzYWdlUG9wb3ZlckVudHJ5KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUxpc3RFbGVtZW50ID0gdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKCFlbnRyeS5kZXNjcmlwdGlvbi5tZXNzYWdlKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c0VsZW1lbnQodW5kZWZpbmVkLCBlbnRyeSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50U2NyZWVuID0gJ2RldGFpbHMnO1xuICAgICAgICB0aGlzLm9wZW5EZXRhaWxzLmVtaXQoZW50cnkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ZvY3VzRWxlbWVudChldmVudD86IE1vdXNlRXZlbnQsIGl0ZW0/OiBNZXNzYWdlUG9wb3ZlckVudHJ5KTogdm9pZCB7XG4gICAgICAgIGlmICghaXRlbT8uZWxlbWVudD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50Py5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jbG9zZVBvcG92ZXIuZW1pdChmYWxzZSk7XG4gICAgICAgIHRoaXMuZm9jdXNJdGVtLmVtaXQoaXRlbSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFiYmFibGVFbGVtZW50ID0gdGhpcy5fdGFiYmFibGVTZXJ2aWNlLmdldFRhYmJhYmxlRWxlbWVudChpdGVtLmVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgdGFiYmFibGVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkxpc3RBbmltYXRpb25Db21wbGV0ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnb3BlbicgJiYgdGhpcy5fYWN0aXZlTGlzdEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZUxpc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVMaXN0RWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2hlYWRpbmdUZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICA8bmctdGVtcGxhdGUgI2RpcmVjdGl2ZUhlYWRpbmc+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS5oZWFkaW5nLm1lc3NhZ2UgfHwgaXRlbS5kZXNjcmlwdGlvbi5tZXNzYWdlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbS5oZWFkaW5nLmVycm9yIH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjaTE4bkhlYWRpbmc+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS5oZWFkaW5nLm1lc3NhZ2VcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLmVycm9ycyB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI3N0cmluZ0hlYWRpbmc+XG4gICAgICAgIHt7IGl0ZW0uaGVhZGluZy5tZXNzYWdlIHwgZmRUcmFuc2xhdGUgOiB7IGVycm9yOiBpdGVtLmhlYWRpbmcuZXJyb3IgfSA6IGl0ZW0uaGVhZGluZy5tZXNzYWdlIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiXG4gICAgICAgICAgICBpdGVtLmhlYWRpbmcudHlwZSA9PT0gJ2RpcmVjdGl2ZSdcbiAgICAgICAgICAgICAgICA/IGRpcmVjdGl2ZUhlYWRpbmdcbiAgICAgICAgICAgICAgICA6IGl0ZW0uaGVhZGluZy50eXBlID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgID8gc3RyaW5nSGVhZGluZ1xuICAgICAgICAgICAgICAgIDogaTE4bkhlYWRpbmdcbiAgICAgICAgXCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVzY3JpcHRpb25UZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICA8bmctdGVtcGxhdGUgI2RpcmVjdGl2ZURlc2NyaXB0aW9uPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0uZGVzY3JpcHRpb24ubWVzc2FnZSFcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLmRlc2NyaXB0aW9uLmVycm9yIH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjaTE4bkRlc2NyaXB0aW9uPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0uZGVzY3JpcHRpb24ubWVzc2FnZSFcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLmVycm9ycyB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI3N0cmluZ0Rlc2NyaXB0aW9uPlxuICAgICAgICB7eyBpdGVtLmRlc2NyaXB0aW9uLm1lc3NhZ2UgfCBmZFRyYW5zbGF0ZSA6IHsgZXJyb3I6IGl0ZW0uZGVzY3JpcHRpb24uZXJyb3IgfSA6IGl0ZW0uZGVzY3JpcHRpb24ubWVzc2FnZSB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlxuICAgICAgICAgICAgaXRlbS5oZWFkaW5nLnR5cGUgPT09ICdkaXJlY3RpdmUnXG4gICAgICAgICAgICAgICAgPyBkaXJlY3RpdmVEZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIDogaXRlbS5oZWFkaW5nLnR5cGUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgPyBzdHJpbmdEZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIDogaTE4bkRlc2NyaXB0aW9uXG4gICAgICAgIFwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2IGNsYXNzPVwiZmQtbWVzc2FnZS12aWV3XCI+XG4gICAgPHNlY3Rpb25cbiAgICAgICAgY2xhc3M9XCJmZC1tZXNzYWdlLXZpZXdfX2xpc3RcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW0BvcGVuQ2xvc2VMaXN0XT1cImN1cnJlbnRTY3JlZW4gPT09ICdsaXN0JyA/ICdvcGVuJyA6ICdjbG9zZWQnXCJcbiAgICAgICAgKEBvcGVuQ2xvc2VMaXN0LmRvbmUpPVwiX29uTGlzdEFuaW1hdGlvbkNvbXBsZXRlKCRldmVudClcIlxuICAgICAgICBmZC1zY3JvbGxiYXJcbiAgICAgICAgW292ZXJyaWRlVGFiaW5kZXhdPVwiZmFsc2VcIlxuICAgID5cbiAgICAgICAgPHVsICNsaXN0VmlldyBmZC1saXN0IGNsYXNzPVwibWVzc2FnZS1wb3BvdmVyX19saXN0IGZkLWxpc3QtLW1lc3NhZ2Utdmlld1wiIFtuYXZpZ2F0aW9uSW5kaWNhdG9yXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcmVkRXJyb3JzXCI+XG4gICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtZ3JvdXAtaGVhZGVyICpuZ0lmPVwiZ3JvdXAuZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyBncm91cC5ncm91cCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXAuZXJyb3JzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0gW3RhYmluZGV4XT1cImkgPT09IDAgPyAwIDogLTFcIiBbYnlsaW5lXT1cInRydWVcIiAoY2xpY2spPVwiX3Nob3dEZXRhaWxzKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1saXN0X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXR1c109XCJpdGVtLnN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIidtZXNzYWdlLScgKyBpdGVtLnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsaXN0U3VidGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1saXN0X19zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWxpc3QtbGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXZpZ2F0aW9uSW5kaWNhdG9yXT1cIiEhaXRlbS5kZXNjcmlwdGlvbi5tZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uZWxlbWVudCAmJiAhIWl0ZW0uZGVzY3JpcHRpb24ubWVzc2FnZTsgZWxzZSBhbmNob3JMaXN0TGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1JY29uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0YWJpbmRleD1cIjBcIiBmZC1saW5rIChjbGljayk9XCJfZm9jdXNFbGVtZW50KCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmZpZWxkTmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0U3VidGl0bGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYW5jaG9yTGlzdExpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIFtuYXZpZ2F0aW9uSW5kaWNhdG9yXT1cIiEhaXRlbS5kZXNjcmlwdGlvbi5tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtSWNvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgaXRlbS5maWVsZE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdFN1YnRpdGxlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICA8L3NlY3Rpb24+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJmZC1tZXNzYWdlLXZpZXdfX2RldGFpbHNcIiBbQG9wZW5DbG9zZURldGFpbHNdPVwiY3VycmVudFNjcmVlbiA9PT0gJ2RldGFpbHMnID8gJ29wZW4nIDogJ2Nsb3NlZCdcIj5cbiAgICAgICAgPGRpdiAjZGV0YWlsc1ZpZXc+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudEVudHJ5XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZXNzYWdlLXZpZXdfX2RldGFpbHMtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbWVzc2FnZS12aWV3X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiY3VycmVudEVudHJ5LnN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCInbWVzc2FnZS0nICsgY3VycmVudEVudHJ5LnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGN1cnJlbnRFbnRyeSB9XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtbWVzc2FnZS12aWV3X19kZXRhaWxzLWRlc2NyaXB0aW9uXCIgKm5nSWY9XCJjdXJyZW50RW50cnkuZGVzY3JpcHRpb24ubWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlc2NyaXB0aW9uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjdXJyZW50RW50cnkgfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG48L2Rpdj5cbiJdfQ==
@@ -17,7 +17,7 @@ export class ThemeSelectorListComponent extends BaseDynamicFormGeneratorControl
17
17
  }
18
18
  }
19
19
  ThemeSelectorListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ThemeSelectorListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
- ThemeSelectorListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ThemeSelectorListComponent, selector: "fdp-theme-selector-list", usesInheritance: true, ngImport: i0, template: "<ul fd-list [byline]=\"true\">\n <li fd-list-item *ngFor=\"let item of formItem.choices\" [selected]=\"currentTheme === item.value\">\n <a fd-list-link (fdkClicked)=\"setTheme(item.value)\">\n <ng-container *ngIf=\"!item.template\">\n <div fd-list-thumbnail class=\"settings-selector-list__theme--{{ item.value }}\">\n <fdp-theme-selector-list-icon></fdp-theme-selector-list-icon>\n </div>\n <div fd-list-content>\n <div fd-list-title>{{ item.label }}</div>\n <div fd-list-byline>{{ item.description }}</div>\n </div>\n </ng-container>\n <ng-template\n [ngIf]=\"item.template\"\n [ngTemplateOutlet]=\"item.template!\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </a>\n </li>\n</ul>\n", styles: [".settings-selector-list__theme--sap_fiori_3{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-1{fill:#f7f7f7}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-5{fill:#0854a0}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-6{fill:#6a6d70}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-1{fill:#1c2228}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-2{fill:#424f5e}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-3{fill:#29313a}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-4{fill:#3a4552}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-5{fill:#91c8f6}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-6{fill:#d3d7d9}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-9{fill:#fafafa}.settings-selector-list__theme--sap_fiori_3_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-9{fill:#000}.settings-selector-list__theme--sap_horizon{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-1{fill:#f5f6f7}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-5{fill:#0070f2}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-6{fill:#556b82}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-8{fill:#788fa6}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-9{fill:#223548}.settings-selector-list__theme--sap_horizon_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-1{fill:#12171c}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-2{fill:#475566}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-3{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-4{fill:#2e3742}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-5{fill:#4db1ff}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-6{fill:#8396a8}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-7{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-8{fill:#a9b4be}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-9{fill:#eaecee}.settings-selector-list__theme--sap_horizon_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-9{fill:#000}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return i2.ListComponent; }), selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i0.forwardRef(function () { return i2.ListItemComponent; }), selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListTitleDirective; }), selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListLinkDirective; }), selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListBylineDirective; }), selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListContentDirective; }), selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListThumbnailDirective; }), selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.ClickedDirective; }), selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "component", type: i0.forwardRef(function () { return ThemeSelectorListIconComponent; }), selector: "fdp-theme-selector-list-icon", inputs: ["size"] }], viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
20
+ ThemeSelectorListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ThemeSelectorListComponent, selector: "fdp-theme-selector-list", usesInheritance: true, ngImport: i0, template: "<ul fd-list [byline]=\"true\">\n <li fd-list-item *ngFor=\"let item of formItem.choices\" [selected]=\"currentTheme === item.value\">\n <a fd-list-link (fdkClicked)=\"setTheme(item.value)\">\n <ng-container *ngIf=\"!item.template\">\n <div fd-list-thumbnail class=\"settings-selector-list__theme--{{ item.value }}\">\n <fdp-theme-selector-list-icon></fdp-theme-selector-list-icon>\n </div>\n <div fd-list-content>\n <div fd-list-title>{{ item.label }}</div>\n <div fd-list-byline>{{ item.description }}</div>\n </div>\n </ng-container>\n <ng-template\n [ngIf]=\"item.template\"\n [ngTemplateOutlet]=\"item.template!\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </a>\n </li>\n</ul>\n", styles: [".settings-selector-list__theme--sap_fiori_3{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-1{fill:#f7f7f7}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-5{fill:#0854a0}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-6{fill:#6a6d70}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-1{fill:#1c2228}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-2{fill:#424f5e}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-3{fill:#29313a}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-4{fill:#3a4552}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-5{fill:#91c8f6}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-6{fill:#d3d7d9}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-9{fill:#fafafa}.settings-selector-list__theme--sap_fiori_3_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-9{fill:#000}.settings-selector-list__theme--sap_horizon{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-1{fill:#f5f6f7}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-5{fill:#0070f2}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-6{fill:#556b82}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-8{fill:#788fa6}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-9{fill:#223548}.settings-selector-list__theme--sap_horizon_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-1{fill:#12171c}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-2{fill:#475566}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-3{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-4{fill:#2e3742}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-5{fill:#4db1ff}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-6{fill:#8396a8}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-7{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-8{fill:#a9b4be}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-9{fill:#eaecee}.settings-selector-list__theme--sap_horizon_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-9{fill:#000}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return i2.ListComponent; }), selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i0.forwardRef(function () { return i2.ListItemComponent; }), selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListTitleDirective; }), selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListLinkDirective; }), selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListBylineDirective; }), selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListContentDirective; }), selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListThumbnailDirective; }), selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.ClickedDirective; }), selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "component", type: i0.forwardRef(function () { return ThemeSelectorListIconComponent; }), selector: "fdp-theme-selector-list-icon", inputs: ["size"] }], viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ThemeSelectorListComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'fdp-theme-selector-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], template: "<ul fd-list [byline]=\"true\">\n <li fd-list-item *ngFor=\"let item of formItem.choices\" [selected]=\"currentTheme === item.value\">\n <a fd-list-link (fdkClicked)=\"setTheme(item.value)\">\n <ng-container *ngIf=\"!item.template\">\n <div fd-list-thumbnail class=\"settings-selector-list__theme--{{ item.value }}\">\n <fdp-theme-selector-list-icon></fdp-theme-selector-list-icon>\n </div>\n <div fd-list-content>\n <div fd-list-title>{{ item.label }}</div>\n <div fd-list-byline>{{ item.description }}</div>\n </div>\n </ng-container>\n <ng-template\n [ngIf]=\"item.template\"\n [ngTemplateOutlet]=\"item.template!\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </a>\n </li>\n</ul>\n", styles: [".settings-selector-list__theme--sap_fiori_3{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-1{fill:#f7f7f7}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-5{fill:#0854a0}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-6{fill:#6a6d70}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-1{fill:#1c2228}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-2{fill:#424f5e}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-3{fill:#29313a}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-4{fill:#3a4552}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-5{fill:#91c8f6}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-6{fill:#d3d7d9}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-9{fill:#fafafa}.settings-selector-list__theme--sap_fiori_3_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-9{fill:#000}.settings-selector-list__theme--sap_horizon{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-1{fill:#f5f6f7}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-5{fill:#0070f2}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-6{fill:#556b82}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-8{fill:#788fa6}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-9{fill:#223548}.settings-selector-list__theme--sap_horizon_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-1{fill:#12171c}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-2{fill:#475566}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-3{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-4{fill:#2e3742}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-5{fill:#4db1ff}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-6{fill:#8396a8}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-7{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-8{fill:#a9b4be}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-9{fill:#eaecee}.settings-selector-list__theme--sap_horizon_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-9{fill:#000}\n"] }]
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
36
36
  }], propDecorators: { size: [{
37
37
  type: Input
38
38
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2VsZWN0b3ItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc2V0dGluZ3MtZ2VuZXJhdG9yL2NvbnRyb2xzL3RoZW1lLXNlbGVjdG9yLWxpc3QvdGhlbWUtc2VsZWN0b3ItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc2V0dGluZ3MtZ2VuZXJhdG9yL2NvbnRyb2xzL3RoZW1lLXNlbGVjdG9yLWxpc3QvdGhlbWUtc2VsZWN0b3ItbGlzdC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zZXR0aW5ncy1nZW5lcmF0b3IvY29udHJvbHMvdGhlbWUtc2VsZWN0b3ItbGlzdC9pY29uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUNILCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQ2hDLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBVXhDLE1BQU0sT0FBTywwQkFBMkIsU0FBUSwrQkFBK0I7SUFJM0UsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzlDLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUSxDQUFDLEtBQWE7UUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7dUhBZFEsMEJBQTBCOzJHQUExQiwwQkFBMEIsc0ZDZnZDLDI2QkFvQkEscXlURGtCYSw4QkFBOEIsb0ZBekJ4QixDQUFDLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDOzJGQUUvRCwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGlCQUN0QixDQUFDLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDOztBQXlCNUUsTUFBTSxPQUFPLDhCQUE4QjtJQU4zQztRQU9JLGNBQWM7UUFFZCxTQUFJLEdBQUcsRUFBRSxDQUFDO0tBQ2I7OzJIQUpZLDhCQUE4QjsrR0FBOUIsOEJBQThCLDhGRXRDM0MsaW5GQTJEQTsyRkZyQmEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNJLDhCQUE4QixpQkFFekIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFLL0MsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQmFzZUR5bmFtaWNGb3JtR2VuZXJhdG9yQ29udHJvbCxcbiAgICBkeW5hbWljRm9ybUZpZWxkUHJvdmlkZXIsXG4gICAgZHluYW1pY0Zvcm1Hcm91cENoaWxkUHJvdmlkZXJcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9mb3JtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtdGhlbWUtc2VsZWN0b3ItbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RoZW1lLXNlbGVjdG9yLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RoZW1lLXNlbGVjdG9yLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHZpZXdQcm92aWRlcnM6IFtkeW5hbWljRm9ybUZpZWxkUHJvdmlkZXIsIGR5bmFtaWNGb3JtR3JvdXBDaGlsZFByb3ZpZGVyXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlbGVjdG9yTGlzdENvbXBvbmVudCBleHRlbmRzIEJhc2VEeW5hbWljRm9ybUdlbmVyYXRvckNvbnRyb2wgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY3VycmVudFRoZW1lOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRUaGVtZSA9IHRoaXMuZm9ybUl0ZW0uZGVmYXVsdDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFRoZW1lKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoW3RoaXMuZm9ybUdyb3VwTmFtZSwgdGhpcy5uYW1lXSk7XG4gICAgICAgIHRoaXMuY3VycmVudFRoZW1lID0gdmFsdWU7XG4gICAgICAgIGNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXRoZW1lLXNlbGVjdG9yLWxpc3QtaWNvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ljb24uaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlbGVjdG9yTGlzdEljb25Db21wb25lbnQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBzaXplID0gNDA7XG59XG4iLCI8dWwgZmQtbGlzdCBbYnlsaW5lXT1cInRydWVcIj5cbiAgICA8bGkgZmQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZvcm1JdGVtLmNob2ljZXNcIiBbc2VsZWN0ZWRdPVwiY3VycmVudFRoZW1lID09PSBpdGVtLnZhbHVlXCI+XG4gICAgICAgIDxhIGZkLWxpc3QtbGluayAoZmRrQ2xpY2tlZCk9XCJzZXRUaGVtZShpdGVtLnZhbHVlKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLnRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LXRodW1ibmFpbCBjbGFzcz1cInNldHRpbmdzLXNlbGVjdG9yLWxpc3RfX3RoZW1lLS17eyBpdGVtLnZhbHVlIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxmZHAtdGhlbWUtc2VsZWN0b3ItbGlzdC1pY29uPjwvZmRwLXRoZW1lLXNlbGVjdG9yLWxpc3QtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWxpc3QtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LXRpdGxlPnt7IGl0ZW0ubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LWJ5bGluZT57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ0lmXT1cIml0ZW0udGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0udGVtcGxhdGUhXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG48L3VsPlxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMDAgMjAwXCIgW3N0eWxlLndpZHRoLnB4XT1cInNpemVcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cInNpemVcIj5cbiAgICA8ZGVmcz5cbiAgICAgICAgPHN0eWxlPlxuICAgICAgICAgICAgLnNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTEge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMxYzIyMjg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy0yIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjNDI0ZjVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtMyB7XG4gICAgICAgICAgICAgICAgZmlsbDogIzI5MzEzYTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTQge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMzYTQ1NTI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy01IHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjOTFjOGY2O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtNiB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2QzZDdkOTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMzNTRhNWY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy04IHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjNzk5NmI0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtOSB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9zdHlsZT5cbiAgICA8L2RlZnM+XG4gICAgPHJlY3QgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy0xXCIgeT1cIjg4XCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCIxMTJcIiAvPlxuICAgIDxwYXRoIGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtMlwiIGQ9XCJNMjAwLDEwNXY5NUg1OVYxMTBhNSw1LDAsMCwxLDUtNVpcIiAvPlxuICAgIDxwYXRoIGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtM1wiIGQ9XCJNNjQsMTA2SDIwMHY5NEg2MFYxMTBBNCw0LDAsMCwxLDY0LDEwNlpcIiAvPlxuICAgIDxyZWN0IGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtM1wiIHk9XCI0NFwiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiNDRcIiAvPlxuICAgIDxyZWN0IGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtNFwiIHk9XCI4N1wiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiMVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICAgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy01XCJcbiAgICAgICAgZD1cIk02NCw2M2g0NmE1LDUsMCwwLDEsNSw1aDBhNSw1LDAsMCwxLTUsNUg2NGE1LDUsMCwwLDEtNS01aDBBNSw1LDAsMCwxLDY0LDYzWlwiXG4gICAgLz5cbiAgICA8cGF0aCBjbGFzcz1cInNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTZcIiBkPVwiTTE1Myw2M2g0N1Y3M0gxNTNhNSw1LDAsMCwxLTUtNWgwQTUsNSwwLDAsMSwxNTMsNjNaXCIgLz5cbiAgICA8cGF0aCBjbGFzcz1cInNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTVcIiBkPVwiTTYyLDg1aDUwYTMsMywwLDAsMSwzLDNINTlBMywzLDAsMCwxLDYyLDg1WlwiIC8+XG4gICAgPHJlY3QgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy03XCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCI0NFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICAgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy04XCJcbiAgICAgICAgZD1cIk02OC40NTksMTNhMSwxLDAsMCwxLC43MTQsMS43MDdsLTE2LjE1NSwxNkExLjAxLDEuMDEsMCwwLDEsNTIuMywzMUgzMy41MzlhMSwxLDAsMCwxLTEuMDEtLjk5VjE0YTEsMSwwLDAsMSwxLTFoMzQuOTNtMC0zSDMzLjUzOUE0LjAyNCw0LjAyNCwwLDAsMCwyOS41LDE0VjMwYTQuMDI0LDQuMDI0LDAsMCwwLDQuMDM5LDRINTIuM2E0LjAzMyw0LjAzMywwLDAsMCwyLjg1Ny0xLjE3MmwxNi4xNTQtMTZhMy45NjEsMy45NjEsMCwwLDAsLjg3Ni00LjM1OUE0LjAyNyw0LjAyNywwLDAsMCw2OC40NTksMTBaXCJcbiAgICAvPlxuICAgIDxyZWN0IGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtOVwiIHg9XCI4Mi4xMjFcIiB5PVwiMTYuOTQ5XCIgd2lkdGg9XCI3NS43NThcIiBoZWlnaHQ9XCIxMC4xMDFcIiByeD1cIjVcIiAvPlxuICAgIDxwYXRoIGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtOVwiIGQ9XCJNMTcwLDE4aDMwdjhIMTcwYTQsNCwwLDAsMS00LTRoMEE0LDQsMCwwLDEsMTcwLDE4WlwiIC8+XG48L3N2Zz5cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2VsZWN0b3ItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc2V0dGluZ3MtZ2VuZXJhdG9yL2NvbnRyb2xzL3RoZW1lLXNlbGVjdG9yLWxpc3QvdGhlbWUtc2VsZWN0b3ItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc2V0dGluZ3MtZ2VuZXJhdG9yL2NvbnRyb2xzL3RoZW1lLXNlbGVjdG9yLWxpc3QvdGhlbWUtc2VsZWN0b3ItbGlzdC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zZXR0aW5ncy1nZW5lcmF0b3IvY29udHJvbHMvdGhlbWUtc2VsZWN0b3ItbGlzdC9pY29uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUNILCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQ2hDLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBVXhDLE1BQU0sT0FBTywwQkFBMkIsU0FBUSwrQkFBK0I7SUFJM0UsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzlDLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUSxDQUFDLEtBQWE7UUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7dUhBZFEsMEJBQTBCOzJHQUExQiwwQkFBMEIsc0ZDZnZDLDI2QkFvQkEscXpURGtCYSw4QkFBOEIsb0ZBekJ4QixDQUFDLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDOzJGQUUvRCwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGlCQUN0QixDQUFDLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDOztBQXlCNUUsTUFBTSxPQUFPLDhCQUE4QjtJQU4zQztRQU9JLGNBQWM7UUFFZCxTQUFJLEdBQUcsRUFBRSxDQUFDO0tBQ2I7OzJIQUpZLDhCQUE4QjsrR0FBOUIsOEJBQThCLDhGRXRDM0MsaW5GQTJEQTsyRkZyQmEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNJLDhCQUE4QixpQkFFekIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFLL0MsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQmFzZUR5bmFtaWNGb3JtR2VuZXJhdG9yQ29udHJvbCxcbiAgICBkeW5hbWljRm9ybUZpZWxkUHJvdmlkZXIsXG4gICAgZHluYW1pY0Zvcm1Hcm91cENoaWxkUHJvdmlkZXJcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9mb3JtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtdGhlbWUtc2VsZWN0b3ItbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RoZW1lLXNlbGVjdG9yLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RoZW1lLXNlbGVjdG9yLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHZpZXdQcm92aWRlcnM6IFtkeW5hbWljRm9ybUZpZWxkUHJvdmlkZXIsIGR5bmFtaWNGb3JtR3JvdXBDaGlsZFByb3ZpZGVyXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlbGVjdG9yTGlzdENvbXBvbmVudCBleHRlbmRzIEJhc2VEeW5hbWljRm9ybUdlbmVyYXRvckNvbnRyb2wgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY3VycmVudFRoZW1lOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRUaGVtZSA9IHRoaXMuZm9ybUl0ZW0uZGVmYXVsdDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFRoZW1lKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoW3RoaXMuZm9ybUdyb3VwTmFtZSwgdGhpcy5uYW1lXSk7XG4gICAgICAgIHRoaXMuY3VycmVudFRoZW1lID0gdmFsdWU7XG4gICAgICAgIGNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXRoZW1lLXNlbGVjdG9yLWxpc3QtaWNvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ljb24uaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlbGVjdG9yTGlzdEljb25Db21wb25lbnQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBzaXplID0gNDA7XG59XG4iLCI8dWwgZmQtbGlzdCBbYnlsaW5lXT1cInRydWVcIj5cbiAgICA8bGkgZmQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZvcm1JdGVtLmNob2ljZXNcIiBbc2VsZWN0ZWRdPVwiY3VycmVudFRoZW1lID09PSBpdGVtLnZhbHVlXCI+XG4gICAgICAgIDxhIGZkLWxpc3QtbGluayAoZmRrQ2xpY2tlZCk9XCJzZXRUaGVtZShpdGVtLnZhbHVlKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLnRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LXRodW1ibmFpbCBjbGFzcz1cInNldHRpbmdzLXNlbGVjdG9yLWxpc3RfX3RoZW1lLS17eyBpdGVtLnZhbHVlIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxmZHAtdGhlbWUtc2VsZWN0b3ItbGlzdC1pY29uPjwvZmRwLXRoZW1lLXNlbGVjdG9yLWxpc3QtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWxpc3QtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LXRpdGxlPnt7IGl0ZW0ubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LWJ5bGluZT57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ0lmXT1cIml0ZW0udGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0udGVtcGxhdGUhXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG48L3VsPlxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMDAgMjAwXCIgW3N0eWxlLndpZHRoLnB4XT1cInNpemVcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cInNpemVcIj5cbiAgICA8ZGVmcz5cbiAgICAgICAgPHN0eWxlPlxuICAgICAgICAgICAgLnNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTEge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMxYzIyMjg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy0yIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjNDI0ZjVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtMyB7XG4gICAgICAgICAgICAgICAgZmlsbDogIzI5MzEzYTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTQge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMzYTQ1NTI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy01IHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjOTFjOGY2O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtNiB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2QzZDdkOTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMzNTRhNWY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy04IHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjNzk5NmI0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtOSB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9zdHlsZT5cbiAgICA8L2RlZnM+XG4gICAgPHJlY3QgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy0xXCIgeT1cIjg4XCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCIxMTJcIiAvPlxuICAgIDxwYXRoIGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtMlwiIGQ9XCJNMjAwLDEwNXY5NUg1OVYxMTBhNSw1LDAsMCwxLDUtNVpcIiAvPlxuICAgIDxwYXRoIGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtM1wiIGQ9XCJNNjQsMTA2SDIwMHY5NEg2MFYxMTBBNCw0LDAsMCwxLDY0LDEwNlpcIiAvPlxuICAgIDxyZWN0IGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtM1wiIHk9XCI0NFwiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiNDRcIiAvPlxuICAgIDxyZWN0IGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtNFwiIHk9XCI4N1wiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiMVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICAgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy01XCJcbiAgICAgICAgZD1cIk02NCw2M2g0NmE1LDUsMCwwLDEsNSw1aDBhNSw1LDAsMCwxLTUsNUg2NGE1LDUsMCwwLDEtNS01aDBBNSw1LDAsMCwxLDY0LDYzWlwiXG4gICAgLz5cbiAgICA8cGF0aCBjbGFzcz1cInNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTZcIiBkPVwiTTE1Myw2M2g0N1Y3M0gxNTNhNSw1LDAsMCwxLTUtNWgwQTUsNSwwLDAsMSwxNTMsNjNaXCIgLz5cbiAgICA8cGF0aCBjbGFzcz1cInNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTVcIiBkPVwiTTYyLDg1aDUwYTMsMywwLDAsMSwzLDNINTlBMywzLDAsMCwxLDYyLDg1WlwiIC8+XG4gICAgPHJlY3QgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy03XCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCI0NFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICAgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy04XCJcbiAgICAgICAgZD1cIk02OC40NTksMTNhMSwxLDAsMCwxLC43MTQsMS43MDdsLTE2LjE1NSwxNkExLjAxLDEuMDEsMCwwLDEsNTIuMywzMUgzMy41MzlhMSwxLDAsMCwxLTEuMDEtLjk5VjE0YTEsMSwwLDAsMSwxLTFoMzQuOTNtMC0zSDMzLjUzOUE0LjAyNCw0LjAyNCwwLDAsMCwyOS41LDE0VjMwYTQuMDI0LDQuMDI0LDAsMCwwLDQuMDM5LDRINTIuM2E0LjAzMyw0LjAzMywwLDAsMCwyLjg1Ny0xLjE3MmwxNi4xNTQtMTZhMy45NjEsMy45NjEsMCwwLDAsLjg3Ni00LjM1OUE0LjAyNyw0LjAyNywwLDAsMCw2OC40NTksMTBaXCJcbiAgICAvPlxuICAgIDxyZWN0IGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtOVwiIHg9XCI4Mi4xMjFcIiB5PVwiMTYuOTQ5XCIgd2lkdGg9XCI3NS43NThcIiBoZWlnaHQ9XCIxMC4xMDFcIiByeD1cIjVcIiAvPlxuICAgIDxwYXRoIGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtOVwiIGQ9XCJNMTcwLDE4aDMwdjhIMTcwYTQsNCwwLDAsMS00LTRoMEE0LDQsMCwwLDEsMTcwLDE4WlwiIC8+XG48L3N2Zz5cbiJdfQ==
@@ -117,7 +117,7 @@ export class SettingsGeneratorSidebarLayoutComponent extends BaseSettingsGenerat
117
117
  }
118
118
  }
119
119
  SettingsGeneratorSidebarLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SettingsGeneratorSidebarLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
120
- SettingsGeneratorSidebarLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SettingsGeneratorSidebarLayoutComponent, selector: "fdp-settings-generator-sidebar-layout", host: { properties: { "class.fdp-settings-generator__sidebar-layout--mobile": "this._isMobile", "class": "this._initialClass" } }, providers: [DestroyedService], viewQueries: [{ propertyName: "settingsGeneratorContent", first: true, predicate: ["settingsGeneratorContent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"fdp-settings-generator__sidebar\"\n [class.fdp-settings-generator__sidebar--hidden]=\"!_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : _sidebarWidth.width\"\n [style.min-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.minWidth\"\n [style.max-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.maxWidth\"\n>\n <ul fd-list [byline]=\"true\" [navigationIndicator]=\"true\">\n <li\n (click)=\"_setSelectedIndex(i)\"\n fd-list-item\n [selected]=\"i === _selectedIndex\"\n *ngFor=\"let item of settings?.items; let i = index\"\n >\n <a fd-list-link [navigated]=\"i === _selectedIndex\">\n <span fd-list-thumbnail *ngIf=\"item.thumbnail\">\n <fdp-settings-generator-sidebar-icon\n [thumbnail]=\"item.thumbnail\"\n ></fdp-settings-generator-sidebar-icon>\n </span>\n <div fd-list-content>\n <ng-container *ngIf=\"item.title | fdkAsyncOrSync as titleValue; else titleElseBlock\">\n <div fd-list-title>{{ titleValue }}</div>\n </ng-container>\n <ng-template #titleElseBlock>\n <div fd-list-title>\n <fd-skeleton\n height=\"16px\"\n type=\"rectangle\"\n width=\"40%\"\n textLines=\"1\"\n style=\"margin: auto 0\"\n ></fd-skeleton>\n </div>\n </ng-template>\n <div fd-list-byline *ngIf=\"item.description\">\n <ng-container\n *ngIf=\"item.description | fdkAsyncOrSync as descriptionValue; else descriptionElseBlock\"\n >\n {{ descriptionValue }}\n </ng-container>\n <ng-template #descriptionElseBlock>\n <fd-skeleton type=\"text\" width=\"60%\" textLines=\"1\" style=\"margin: auto 0\"></fd-skeleton>\n </ng-template>\n </div>\n </div>\n </a>\n </li>\n </ul>\n</div>\n<div\n class=\"fdp-settings-generator__content\"\n [class.fdp-settings-generator__content--hidden]=\"_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.width + ')'\"\n [style.min-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.minWidth + ')'\"\n [style.max-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.maxWidth + ')'\"\n>\n <ng-container *ngFor=\"let item of settings?.items; let i = index\">\n <fdp-settings-generator-content\n [attr.hidden]=\"i !== _selectedIndex ? true : null\"\n [settings]=\"item\"\n [mobile]=\"_isMobile\"\n (goBack)=\"_goBack()\"\n #settingsGeneratorContent\n ></fdp-settings-generator-content>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i2.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i2.ListBylineDirective, selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i2.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "directive", type: i2.ListThumbnailDirective, selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "component", type: i3.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: i4.SettingsGeneratorContentComponent, selector: "fdp-settings-generator-content", inputs: ["settings", "mobile"], outputs: ["goBack"] }, { kind: "component", type: i5.SettingsGeneratorSidebarIconComponent, selector: "fdp-settings-generator-sidebar-icon", inputs: ["thumbnail"] }, { kind: "pipe", type: i6.AsyncOrSyncPipe, name: "fdkAsyncOrSync" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
120
+ SettingsGeneratorSidebarLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SettingsGeneratorSidebarLayoutComponent, selector: "fdp-settings-generator-sidebar-layout", host: { properties: { "class.fdp-settings-generator__sidebar-layout--mobile": "this._isMobile", "class": "this._initialClass" } }, providers: [DestroyedService], viewQueries: [{ propertyName: "settingsGeneratorContent", first: true, predicate: ["settingsGeneratorContent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"fdp-settings-generator__sidebar\"\n [class.fdp-settings-generator__sidebar--hidden]=\"!_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : _sidebarWidth.width\"\n [style.min-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.minWidth\"\n [style.max-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.maxWidth\"\n>\n <ul fd-list [byline]=\"true\" [navigationIndicator]=\"true\">\n <li\n (click)=\"_setSelectedIndex(i)\"\n fd-list-item\n [selected]=\"i === _selectedIndex\"\n *ngFor=\"let item of settings?.items; let i = index\"\n >\n <a fd-list-link [navigated]=\"i === _selectedIndex\">\n <span fd-list-thumbnail *ngIf=\"item.thumbnail\">\n <fdp-settings-generator-sidebar-icon\n [thumbnail]=\"item.thumbnail\"\n ></fdp-settings-generator-sidebar-icon>\n </span>\n <div fd-list-content>\n <ng-container *ngIf=\"item.title | fdkAsyncOrSync as titleValue; else titleElseBlock\">\n <div fd-list-title>{{ titleValue }}</div>\n </ng-container>\n <ng-template #titleElseBlock>\n <div fd-list-title>\n <fd-skeleton\n height=\"16px\"\n type=\"rectangle\"\n width=\"40%\"\n textLines=\"1\"\n style=\"margin: auto 0\"\n ></fd-skeleton>\n </div>\n </ng-template>\n <div fd-list-byline *ngIf=\"item.description\">\n <ng-container\n *ngIf=\"item.description | fdkAsyncOrSync as descriptionValue; else descriptionElseBlock\"\n >\n {{ descriptionValue }}\n </ng-container>\n <ng-template #descriptionElseBlock>\n <fd-skeleton type=\"text\" width=\"60%\" textLines=\"1\" style=\"margin: auto 0\"></fd-skeleton>\n </ng-template>\n </div>\n </div>\n </a>\n </li>\n </ul>\n</div>\n<div\n class=\"fdp-settings-generator__content\"\n [class.fdp-settings-generator__content--hidden]=\"_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.width + ')'\"\n [style.min-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.minWidth + ')'\"\n [style.max-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.maxWidth + ')'\"\n>\n <ng-container *ngFor=\"let item of settings?.items; let i = index\">\n <fdp-settings-generator-content\n [attr.hidden]=\"i !== _selectedIndex ? true : null\"\n [settings]=\"item\"\n [mobile]=\"_isMobile\"\n (goBack)=\"_goBack()\"\n #settingsGeneratorContent\n ></fdp-settings-generator-content>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i2.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i2.ListBylineDirective, selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i2.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "directive", type: i2.ListThumbnailDirective, selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "component", type: i3.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: i4.SettingsGeneratorContentComponent, selector: "fdp-settings-generator-content", inputs: ["settings", "mobile"], outputs: ["goBack"] }, { kind: "component", type: i5.SettingsGeneratorSidebarIconComponent, selector: "fdp-settings-generator-sidebar-icon", inputs: ["thumbnail"] }, { kind: "pipe", type: i6.AsyncOrSyncPipe, name: "fdkAsyncOrSync" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SettingsGeneratorSidebarLayoutComponent, decorators: [{
122
122
  type: Component,
123
123
  args: [{ selector: 'fdp-settings-generator-sidebar-layout', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [DestroyedService], template: "<div\n class=\"fdp-settings-generator__sidebar\"\n [class.fdp-settings-generator__sidebar--hidden]=\"!_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : _sidebarWidth.width\"\n [style.min-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.minWidth\"\n [style.max-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.maxWidth\"\n>\n <ul fd-list [byline]=\"true\" [navigationIndicator]=\"true\">\n <li\n (click)=\"_setSelectedIndex(i)\"\n fd-list-item\n [selected]=\"i === _selectedIndex\"\n *ngFor=\"let item of settings?.items; let i = index\"\n >\n <a fd-list-link [navigated]=\"i === _selectedIndex\">\n <span fd-list-thumbnail *ngIf=\"item.thumbnail\">\n <fdp-settings-generator-sidebar-icon\n [thumbnail]=\"item.thumbnail\"\n ></fdp-settings-generator-sidebar-icon>\n </span>\n <div fd-list-content>\n <ng-container *ngIf=\"item.title | fdkAsyncOrSync as titleValue; else titleElseBlock\">\n <div fd-list-title>{{ titleValue }}</div>\n </ng-container>\n <ng-template #titleElseBlock>\n <div fd-list-title>\n <fd-skeleton\n height=\"16px\"\n type=\"rectangle\"\n width=\"40%\"\n textLines=\"1\"\n style=\"margin: auto 0\"\n ></fd-skeleton>\n </div>\n </ng-template>\n <div fd-list-byline *ngIf=\"item.description\">\n <ng-container\n *ngIf=\"item.description | fdkAsyncOrSync as descriptionValue; else descriptionElseBlock\"\n >\n {{ descriptionValue }}\n </ng-container>\n <ng-template #descriptionElseBlock>\n <fd-skeleton type=\"text\" width=\"60%\" textLines=\"1\" style=\"margin: auto 0\"></fd-skeleton>\n </ng-template>\n </div>\n </div>\n </a>\n </li>\n </ul>\n</div>\n<div\n class=\"fdp-settings-generator__content\"\n [class.fdp-settings-generator__content--hidden]=\"_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.width + ')'\"\n [style.min-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.minWidth + ')'\"\n [style.max-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.maxWidth + ')'\"\n>\n <ng-container *ngFor=\"let item of settings?.items; let i = index\">\n <fdp-settings-generator-content\n [attr.hidden]=\"i !== _selectedIndex ? true : null\"\n [settings]=\"item\"\n [mobile]=\"_isMobile\"\n (goBack)=\"_goBack()\"\n #settingsGeneratorContent\n ></fdp-settings-generator-content>\n </ng-container>\n</div>\n" }]
@@ -110,10 +110,10 @@ export class TableCellHeaderPopoverComponent {
110
110
  }
111
111
  }
112
112
  TableCellHeaderPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellHeaderPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
113
- TableCellHeaderPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableCellHeaderPopoverComponent, selector: "fdp-table-cell-header-popover", inputs: { column: "column", popoverTemplate: "popoverTemplate", disabled: "disabled", columnFrozen: "columnFrozen", filteringFromHeaderDisabled: "filteringFromHeaderDisabled", columnIndex: "columnIndex" }, providers: [DestroyedService], viewQueries: [{ propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "_listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "_popoverItems", predicate: TemplateDirective, descendants: true }], ngImport: i0, template: "<fd-popover\n [disabled]=\"disabled\"\n [noArrow]=\"true\"\n fd-table-popover\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n *ngIf=\"!popoverTemplate; else projectedPopover\"\n [triggers]=\"_headerPopoverTriggers\"\n (isOpenChange)=\"_popoverOpened($event)\"\n>\n <fdp-list [noBorder]=\"true\" [navigated]=\"true\" [role]=\"'listbox'\">\n <li fdp-free-content-list-item *ngFor=\"let item of _popoverItems$.asObservable() | async\" [ariaRole]=\"'option'\">\n <ng-template [ngTemplateOutlet]=\"item\" [ngTemplateOutletContext]=\"{ popover: popover }\"></ng-template>\n </li>\n </fdp-list>\n</fd-popover>\n<ng-template #projectedPopover>\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: _popoverItems$.asObservable() }\"\n ></ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"column?.sortable\">\n <ng-template fdkTemplate=\"sortingAscPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n >\n <i fd-list-icon glyph=\"sort-ascending\"></i>\n <span fd-list-title>{{ 'platformTable.headerMenuSortAsc' | fdTranslate }}</span>\n </a>\n </ng-template>\n <ng-template fdkTemplate=\"sortingDescPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n >\n <i fd-list-icon glyph=\"sort-descending\"></i>\n <span fd-list-title>{{ 'platformTable.headerMenuSortDesc' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.groupable\">\n <ng-template fdkTemplate=\"groupPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderGroupBy(column.key)\"\n (keydown.enter)=\"_setColumnHeaderGroupBy(column.key)\"\n >\n <span fd-list-title>{{ 'platformTable.headerMenuGroup' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.freezable || column?.endFreezable\">\n <ng-template fdkTemplate=\"freezePopoverItem\" let-popover=\"popover\">\n <ng-container *ngIf=\"!columnFrozen; else unfreezeTpl\">\n <a fd-list-link (click)=\"_freeze()\" (keydown.enter)=\"_freeze()\">\n <span fd-list-title>\n {{\n (!column.endFreezable\n ? columnIndex > 0\n ? 'platformTable.headerMenuFreezePlural'\n : 'platformTable.headerMenuFreeze'\n : 'platformTable.headerMenuEndFreeze'\n ) | fdTranslate\n }}</span\n >\n </a>\n </ng-container>\n <ng-template #unfreezeTpl>\n <a fd-list-link (click)=\"_unFreeze()\" (keydown.enter)=\"_unFreeze()\">\n <span fd-list-title>{{\n (columnIndex > 0 ? 'platformTable.headerMenuUnfreezePlural' : 'platformTable.headerMenuUnfreeze')\n | fdTranslate\n }}</span>\n </a>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.filterable && !filteringFromHeaderDisabled\">\n <ng-template fdkTemplate=\"filteringPopoverItem\" let-popover=\"popover\">\n <a fd-list-link style=\"cursor: auto\">\n <i fd-list-icon glyph=\"filter\"></i>\n <div fd-form-item [horizontal]=\"true\" (click)=\"$event.stopPropagation()\">\n <label fd-form-label [for]=\"'fdp-table-column-filtering-' + column.name\">{{\n 'platformTable.headerMenuFilter' | fdTranslate\n }}</label>\n <input\n fd-form-control\n [id]=\"'fdp-table-column-filtering-' + column.name\"\n (keydown.enter)=\"_setColumnHeaderFilterBy(column.key, $any($event.target)?.value)\"\n (keydown)=\"$event.stopPropagation()\"\n />\n </div>\n </a>\n </ng-template>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TablePopoverDirective, selector: "[fdTablePopover], [fd-table-popover]" }, { kind: "component", type: i3.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i3.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i3.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i3.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i4.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i5.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i5.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role", "ariaHidden"] }, { kind: "directive", type: i5.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator", "interceptTabKey"], outputs: ["selectedItemChange"] }, { kind: "component", type: i7.FreeContentListItemComponent, selector: "fdp-free-content-list-item, li[fdp-free-content-list-item]", inputs: ["ariaRole"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
113
+ TableCellHeaderPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableCellHeaderPopoverComponent, selector: "fdp-table-cell-header-popover", inputs: { column: "column", popoverTemplate: "popoverTemplate", disabled: "disabled", columnFrozen: "columnFrozen", filteringFromHeaderDisabled: "filteringFromHeaderDisabled", columnIndex: "columnIndex" }, providers: [DestroyedService], viewQueries: [{ propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "_listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "_popoverItems", predicate: TemplateDirective, descendants: true }], ngImport: i0, template: "<fd-popover\n [disabled]=\"disabled\"\n [noArrow]=\"true\"\n fd-table-popover\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n *ngIf=\"!popoverTemplate; else projectedPopover\"\n [triggers]=\"_headerPopoverTriggers\"\n (isOpenChange)=\"_popoverOpened($event)\"\n>\n <fdp-list [noBorder]=\"true\" [navigated]=\"true\" [role]=\"'listbox'\">\n <li fdp-free-content-list-item *ngFor=\"let item of _popoverItems$.asObservable() | async\" [ariaRole]=\"'option'\">\n <ng-template [ngTemplateOutlet]=\"item\" [ngTemplateOutletContext]=\"{ popover: popover }\"></ng-template>\n </li>\n </fdp-list>\n</fd-popover>\n<ng-template #projectedPopover>\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: _popoverItems$.asObservable() }\"\n ></ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"column?.sortable\">\n <ng-template fdkTemplate=\"sortingAscPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n >\n <i fd-list-icon glyph=\"sort-ascending\"></i>\n <span fd-list-title>{{ 'platformTable.headerMenuSortAsc' | fdTranslate }}</span>\n </a>\n </ng-template>\n <ng-template fdkTemplate=\"sortingDescPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n >\n <i fd-list-icon glyph=\"sort-descending\"></i>\n <span fd-list-title>{{ 'platformTable.headerMenuSortDesc' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.groupable\">\n <ng-template fdkTemplate=\"groupPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderGroupBy(column.key)\"\n (keydown.enter)=\"_setColumnHeaderGroupBy(column.key)\"\n >\n <span fd-list-title>{{ 'platformTable.headerMenuGroup' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.freezable || column?.endFreezable\">\n <ng-template fdkTemplate=\"freezePopoverItem\" let-popover=\"popover\">\n <ng-container *ngIf=\"!columnFrozen; else unfreezeTpl\">\n <div fd-list-link role=\"button\" [focusable]=\"true\" (click)=\"_freeze()\" (keydown.enter)=\"_freeze()\">\n <span fd-list-title>\n {{\n (!column.endFreezable\n ? columnIndex > 0\n ? 'platformTable.headerMenuFreezePlural'\n : 'platformTable.headerMenuFreeze'\n : 'platformTable.headerMenuEndFreeze'\n ) | fdTranslate\n }}</span\n >\n </div>\n </ng-container>\n <ng-template #unfreezeTpl>\n <div fd-list-link role=\"button\" [focusable]=\"true\" (click)=\"_unFreeze()\" (keydown.enter)=\"_unFreeze()\">\n <span fd-list-title>{{\n (columnIndex > 0 ? 'platformTable.headerMenuUnfreezePlural' : 'platformTable.headerMenuUnfreeze')\n | fdTranslate\n }}</span>\n </div>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.filterable && !filteringFromHeaderDisabled\">\n <ng-template fdkTemplate=\"filteringPopoverItem\" let-popover=\"popover\">\n <a fd-list-link style=\"cursor: auto\">\n <i fd-list-icon glyph=\"filter\"></i>\n <div fd-form-item [horizontal]=\"true\" (click)=\"$event.stopPropagation()\">\n <label fd-form-label [for]=\"'fdp-table-column-filtering-' + column.name\">{{\n 'platformTable.headerMenuFilter' | fdTranslate\n }}</label>\n <input\n fd-form-control\n [id]=\"'fdp-table-column-filtering-' + column.name\"\n (keydown.enter)=\"_setColumnHeaderFilterBy(column.key, $any($event.target)?.value)\"\n (keydown)=\"$event.stopPropagation()\"\n />\n </div>\n </a>\n </ng-template>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TablePopoverDirective, selector: "[fdTablePopover], [fd-table-popover]" }, { kind: "component", type: i3.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i3.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i3.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i3.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i4.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i5.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i5.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role", "ariaHidden"] }, { kind: "directive", type: i5.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator", "interceptTabKey"], outputs: ["selectedItemChange"] }, { kind: "component", type: i7.FreeContentListItemComponent, selector: "fdp-free-content-list-item, li[fdp-free-content-list-item]", inputs: ["ariaRole"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
114
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellHeaderPopoverComponent, decorators: [{
115
115
  type: Component,
116
- args: [{ selector: 'fdp-table-cell-header-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DestroyedService], template: "<fd-popover\n [disabled]=\"disabled\"\n [noArrow]=\"true\"\n fd-table-popover\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n *ngIf=\"!popoverTemplate; else projectedPopover\"\n [triggers]=\"_headerPopoverTriggers\"\n (isOpenChange)=\"_popoverOpened($event)\"\n>\n <fdp-list [noBorder]=\"true\" [navigated]=\"true\" [role]=\"'listbox'\">\n <li fdp-free-content-list-item *ngFor=\"let item of _popoverItems$.asObservable() | async\" [ariaRole]=\"'option'\">\n <ng-template [ngTemplateOutlet]=\"item\" [ngTemplateOutletContext]=\"{ popover: popover }\"></ng-template>\n </li>\n </fdp-list>\n</fd-popover>\n<ng-template #projectedPopover>\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: _popoverItems$.asObservable() }\"\n ></ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"column?.sortable\">\n <ng-template fdkTemplate=\"sortingAscPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n >\n <i fd-list-icon glyph=\"sort-ascending\"></i>\n <span fd-list-title>{{ 'platformTable.headerMenuSortAsc' | fdTranslate }}</span>\n </a>\n </ng-template>\n <ng-template fdkTemplate=\"sortingDescPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n >\n <i fd-list-icon glyph=\"sort-descending\"></i>\n <span fd-list-title>{{ 'platformTable.headerMenuSortDesc' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.groupable\">\n <ng-template fdkTemplate=\"groupPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderGroupBy(column.key)\"\n (keydown.enter)=\"_setColumnHeaderGroupBy(column.key)\"\n >\n <span fd-list-title>{{ 'platformTable.headerMenuGroup' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.freezable || column?.endFreezable\">\n <ng-template fdkTemplate=\"freezePopoverItem\" let-popover=\"popover\">\n <ng-container *ngIf=\"!columnFrozen; else unfreezeTpl\">\n <a fd-list-link (click)=\"_freeze()\" (keydown.enter)=\"_freeze()\">\n <span fd-list-title>\n {{\n (!column.endFreezable\n ? columnIndex > 0\n ? 'platformTable.headerMenuFreezePlural'\n : 'platformTable.headerMenuFreeze'\n : 'platformTable.headerMenuEndFreeze'\n ) | fdTranslate\n }}</span\n >\n </a>\n </ng-container>\n <ng-template #unfreezeTpl>\n <a fd-list-link (click)=\"_unFreeze()\" (keydown.enter)=\"_unFreeze()\">\n <span fd-list-title>{{\n (columnIndex > 0 ? 'platformTable.headerMenuUnfreezePlural' : 'platformTable.headerMenuUnfreeze')\n | fdTranslate\n }}</span>\n </a>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.filterable && !filteringFromHeaderDisabled\">\n <ng-template fdkTemplate=\"filteringPopoverItem\" let-popover=\"popover\">\n <a fd-list-link style=\"cursor: auto\">\n <i fd-list-icon glyph=\"filter\"></i>\n <div fd-form-item [horizontal]=\"true\" (click)=\"$event.stopPropagation()\">\n <label fd-form-label [for]=\"'fdp-table-column-filtering-' + column.name\">{{\n 'platformTable.headerMenuFilter' | fdTranslate\n }}</label>\n <input\n fd-form-control\n [id]=\"'fdp-table-column-filtering-' + column.name\"\n (keydown.enter)=\"_setColumnHeaderFilterBy(column.key, $any($event.target)?.value)\"\n (keydown)=\"$event.stopPropagation()\"\n />\n </div>\n </a>\n </ng-template>\n</ng-container>\n" }]
116
+ args: [{ selector: 'fdp-table-cell-header-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DestroyedService], template: "<fd-popover\n [disabled]=\"disabled\"\n [noArrow]=\"true\"\n fd-table-popover\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n *ngIf=\"!popoverTemplate; else projectedPopover\"\n [triggers]=\"_headerPopoverTriggers\"\n (isOpenChange)=\"_popoverOpened($event)\"\n>\n <fdp-list [noBorder]=\"true\" [navigated]=\"true\" [role]=\"'listbox'\">\n <li fdp-free-content-list-item *ngFor=\"let item of _popoverItems$.asObservable() | async\" [ariaRole]=\"'option'\">\n <ng-template [ngTemplateOutlet]=\"item\" [ngTemplateOutletContext]=\"{ popover: popover }\"></ng-template>\n </li>\n </fdp-list>\n</fd-popover>\n<ng-template #projectedPopover>\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: _popoverItems$.asObservable() }\"\n ></ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"column?.sortable\">\n <ng-template fdkTemplate=\"sortingAscPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n >\n <i fd-list-icon glyph=\"sort-ascending\"></i>\n <span fd-list-title>{{ 'platformTable.headerMenuSortAsc' | fdTranslate }}</span>\n </a>\n </ng-template>\n <ng-template fdkTemplate=\"sortingDescPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n >\n <i fd-list-icon glyph=\"sort-descending\"></i>\n <span fd-list-title>{{ 'platformTable.headerMenuSortDesc' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.groupable\">\n <ng-template fdkTemplate=\"groupPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n (click)=\"_setColumnHeaderGroupBy(column.key)\"\n (keydown.enter)=\"_setColumnHeaderGroupBy(column.key)\"\n >\n <span fd-list-title>{{ 'platformTable.headerMenuGroup' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.freezable || column?.endFreezable\">\n <ng-template fdkTemplate=\"freezePopoverItem\" let-popover=\"popover\">\n <ng-container *ngIf=\"!columnFrozen; else unfreezeTpl\">\n <div fd-list-link role=\"button\" [focusable]=\"true\" (click)=\"_freeze()\" (keydown.enter)=\"_freeze()\">\n <span fd-list-title>\n {{\n (!column.endFreezable\n ? columnIndex > 0\n ? 'platformTable.headerMenuFreezePlural'\n : 'platformTable.headerMenuFreeze'\n : 'platformTable.headerMenuEndFreeze'\n ) | fdTranslate\n }}</span\n >\n </div>\n </ng-container>\n <ng-template #unfreezeTpl>\n <div fd-list-link role=\"button\" [focusable]=\"true\" (click)=\"_unFreeze()\" (keydown.enter)=\"_unFreeze()\">\n <span fd-list-title>{{\n (columnIndex > 0 ? 'platformTable.headerMenuUnfreezePlural' : 'platformTable.headerMenuUnfreeze')\n | fdTranslate\n }}</span>\n </div>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.filterable && !filteringFromHeaderDisabled\">\n <ng-template fdkTemplate=\"filteringPopoverItem\" let-popover=\"popover\">\n <a fd-list-link style=\"cursor: auto\">\n <i fd-list-icon glyph=\"filter\"></i>\n <div fd-form-item [horizontal]=\"true\" (click)=\"$event.stopPropagation()\">\n <label fd-form-label [for]=\"'fdp-table-column-filtering-' + column.name\">{{\n 'platformTable.headerMenuFilter' | fdTranslate\n }}</label>\n <input\n fd-form-control\n [id]=\"'fdp-table-column-filtering-' + column.name\"\n (keydown.enter)=\"_setColumnHeaderFilterBy(column.key, $any($event.target)?.value)\"\n (keydown)=\"$event.stopPropagation()\"\n />\n </div>\n </a>\n </ng-template>\n</ng-container>\n" }]
117
117
  }], propDecorators: { column: [{
118
118
  type: Input
119
119
  }], popoverTemplate: [{
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
136
136
  type: ViewChild,
137
137
  args: [ListComponent]
138
138
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyL3RhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBWSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBRUgsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ2YsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0FBUy9ELE1BQU0sT0FBTywrQkFBK0I7SUFQNUM7UUFnQkksdUNBQXVDO1FBRXZDLGFBQVEsR0FBRyxLQUFLLENBQUM7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QURQLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLDJCQUEyQjtzQkFEMUIsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sT0FBTztzQkFETixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFLOUMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGlCQUFpQjtnQkFLL0IsY0FBYztzQkFEYixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UsIE51bGxhYmxlLCBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQsIFRyaWdnZXJDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQge1xuICAgIENvbGxlY3Rpb25TdHJpbmdGaWx0ZXIsXG4gICAgRklMVEVSX1NUUklOR19TVFJBVEVHWSxcbiAgICBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUsXG4gICAgU29ydERpcmVjdGlvbixcbiAgICBUYWJsZSxcbiAgICBUYWJsZUNvbHVtbixcbiAgICBUYWJsZVNlcnZpY2Vcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9saXN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtdGFibGUtY2VsbC1oZWFkZXItcG9wb3ZlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRGVzdHJveWVkU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsSGVhZGVyUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBDb2x1bW4gZGVmaW5pdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbHVtbjogVGFibGVDb2x1bW47XG5cbiAgICAvKiogQ3VzdG9tIHBvcG92ZXIgdGVtcGxhdGUuICovXG4gICAgQElucHV0KClcbiAgICBwb3BvdmVyVGVtcGxhdGU6IE51bGxhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBmcm96ZW4uICovXG4gICAgQElucHV0KClcbiAgICBjb2x1bW5Gcm96ZW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBmaWx0ZXJpbmcgZnJvbSBoZWFkZXIgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBmaWx0ZXJpbmdGcm9tSGVhZGVyRGlzYWJsZWQ6IE51bGxhYmxlPGJvb2xlYW4+ID0gZmFsc2U7XG5cbiAgICAvKiogQ29sdW1uIGluZGV4ICovXG4gICAgQElucHV0KClcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKFBvcG92ZXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHBvcG92ZXI6IE51bGxhYmxlPFBvcG92ZXJDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKVxuICAgIF9wb3BvdmVySXRlbXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoTGlzdENvbXBvbmVudClcbiAgICBfbGlzdENvbXBvbmVudDogTGlzdENvbXBvbmVudDxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaGVhZGVyUG9wb3ZlclRyaWdnZXJzOiBUcmlnZ2VyQ29uZmlnW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRyaWdnZXI6ICdjbGljaycsXG4gICAgICAgICAgICBvcGVuQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgY2xvc2VBY3Rpb246IHRydWUsXG4gICAgICAgICAgICBzdG9wUHJvcGFnYXRpb246IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdHJpZ2dlcjogJ2tleWRvd24uZW50ZXInLFxuICAgICAgICAgICAgb3BlbkFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIGNsb3NlQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgc3RvcFByb3BhZ2F0aW9uOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRyaWdnZXI6ICdrZXlkb3duLnNwYWNlJyxcbiAgICAgICAgICAgIG9wZW5BY3Rpb246IHRydWUsXG4gICAgICAgICAgICBjbG9zZUFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbjogdHJ1ZVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3BvcG92ZXJJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT5bXT4oW10pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgU09SVF9ESVJFQ1RJT04gPSBTb3J0RGlyZWN0aW9uO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGluamVjdChEZXN0cm95ZWRTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGVTZXJ2aWNlID0gaW5qZWN0KFRhYmxlU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlID0gaW5qZWN0KFRhYmxlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVySXRlbXMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aChudWxsKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJJdGVtcyQubmV4dCh0aGlzLl9wb3BvdmVySXRlbXMubWFwKCh0KSA9PiB0LnRlbXBsYXRlUmVmKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldENvbHVtbkhlYWRlclNvcnRCeShmaWVsZDogVGFibGVDb2x1bW5bJ2tleSddLCBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldFNvcnQoW3sgZmllbGQsIGRpcmVjdGlvbiB9XSk7XG4gICAgICAgIHRoaXMucG9wb3Zlcj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRDb2x1bW5IZWFkZXJHcm91cEJ5KGZpZWxkOiBUYWJsZUNvbHVtblsna2V5J10pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLl90YWJsZVNlcnZpY2UuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBpZiAoc3RhdGUuZ3JvdXBCeT8ubGVuZ3RoID09PSAxICYmIHN0YXRlLmdyb3VwQnlbMF0uZmllbGQgPT09IGZpZWxkKSB7XG4gICAgICAgICAgICAvLyByZXNldCBncm91cGluZywgaWYgYWxyZWFkeSBncm91cGVkIGJ5IHRoaXMgZmllbGRcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlU2VydmljZS5zZXRHcm91cHMoW10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldEdyb3VwcyhbeyBmaWVsZCwgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uLk5PTkUsIHNob3dBc0NvbHVtbjogdHJ1ZSB9XSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRDb2x1bW5IZWFkZXJGaWx0ZXJCeShmaWVsZDogVGFibGVDb2x1bW5bJ2tleSddLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlU2VydmljZS5yZW1vdmVGaWx0ZXJzKFtmaWVsZF0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb25GaWx0ZXI6IENvbGxlY3Rpb25TdHJpbmdGaWx0ZXIgPSB7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgdHlwZTogRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlLlNUUklORyxcbiAgICAgICAgICAgIHN0cmF0ZWd5OiBGSUxURVJfU1RSSU5HX1NUUkFURUdZLkNPTlRBSU5TLFxuICAgICAgICAgICAgZXhjbHVkZTogZmFsc2VcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2UuYWRkRmlsdGVycyhbY29sbGVjdGlvbkZpbHRlcl0pO1xuICAgICAgICB0aGlzLnBvcG92ZXI/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZnJlZXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5mcmVlemVUb0NvbHVtbih0aGlzLmNvbHVtbi5uYW1lLCB0aGlzLmNvbHVtbi5lbmRGcmVlemFibGUpO1xuICAgICAgICB0aGlzLnBvcG92ZXI/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdW5GcmVlemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLnVuZnJlZXplKHRoaXMuY29sdW1uLm5hbWUsIHRoaXMuY29sdW1uLmVuZEZyZWV6YWJsZSk7XG4gICAgICAgIHRoaXMucG9wb3Zlcj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9wb3BvdmVyT3BlbmVkKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9saXN0Q29tcG9uZW50Py5fc2V0Q3VycmVudEFjdGl2ZUl0ZW1JbmRleCgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmZC1wb3BvdmVyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbm9BcnJvd109XCJ0cnVlXCJcbiAgICBmZC10YWJsZS1wb3BvdmVyXG4gICAgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiXG4gICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAqbmdJZj1cIiFwb3BvdmVyVGVtcGxhdGU7IGVsc2UgcHJvamVjdGVkUG9wb3ZlclwiXG4gICAgW3RyaWdnZXJzXT1cIl9oZWFkZXJQb3BvdmVyVHJpZ2dlcnNcIlxuICAgIChpc09wZW5DaGFuZ2UpPVwiX3BvcG92ZXJPcGVuZWQoJGV2ZW50KVwiXG4+XG4gICAgPGZkcC1saXN0IFtub0JvcmRlcl09XCJ0cnVlXCIgW25hdmlnYXRlZF09XCJ0cnVlXCIgW3JvbGVdPVwiJ2xpc3Rib3gnXCI+XG4gICAgICAgIDxsaSBmZHAtZnJlZS1jb250ZW50LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfcG9wb3Zlckl0ZW1zJC5hc09ic2VydmFibGUoKSB8IGFzeW5jXCIgW2FyaWFSb2xlXT1cIidvcHRpb24nXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHBvcG92ZXI6IHBvcG92ZXIgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbGk+XG4gICAgPC9mZHAtbGlzdD5cbjwvZmQtcG9wb3Zlcj5cbjxuZy10ZW1wbGF0ZSAjcHJvamVjdGVkUG9wb3Zlcj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9wb3ZlclRlbXBsYXRlIVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogX3BvcG92ZXJJdGVtcyQuYXNPYnNlcnZhYmxlKCkgfVwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uPy5zb3J0YWJsZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cInNvcnRpbmdBc2NQb3BvdmVySXRlbVwiIGxldC1wb3BvdmVyPVwicG9wb3ZlclwiPlxuICAgICAgICA8YVxuICAgICAgICAgICAgZmQtbGlzdC1saW5rXG4gICAgICAgICAgICAoY2xpY2spPVwiX3NldENvbHVtbkhlYWRlclNvcnRCeShjb2x1bW4ua2V5LCBTT1JUX0RJUkVDVElPTi5BU0MpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIl9zZXRDb2x1bW5IZWFkZXJTb3J0QnkoY29sdW1uLmtleSwgU09SVF9ESVJFQ1RJT04uQVNDKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpIGZkLWxpc3QtaWNvbiBnbHlwaD1cInNvcnQtYXNjZW5kaW5nXCI+PC9pPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51U29ydEFzYycgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwic29ydGluZ0Rlc2NQb3BvdmVySXRlbVwiIGxldC1wb3BvdmVyPVwicG9wb3ZlclwiPlxuICAgICAgICA8YVxuICAgICAgICAgICAgZmQtbGlzdC1saW5rXG4gICAgICAgICAgICAoY2xpY2spPVwiX3NldENvbHVtbkhlYWRlclNvcnRCeShjb2x1bW4ua2V5LCBTT1JUX0RJUkVDVElPTi5ERVNDKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJfc2V0Q29sdW1uSGVhZGVyU29ydEJ5KGNvbHVtbi5rZXksIFNPUlRfRElSRUNUSU9OLkRFU0MpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGkgZmQtbGlzdC1pY29uIGdseXBoPVwic29ydC1kZXNjZW5kaW5nXCI+PC9pPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51U29ydERlc2MnIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/Lmdyb3VwYWJsZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImdyb3VwUG9wb3Zlckl0ZW1cIiBsZXQtcG9wb3Zlcj1cInBvcG92ZXJcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGZkLWxpc3QtbGlua1xuICAgICAgICAgICAgKGNsaWNrKT1cIl9zZXRDb2x1bW5IZWFkZXJHcm91cEJ5KGNvbHVtbi5rZXkpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIl9zZXRDb2x1bW5IZWFkZXJHcm91cEJ5KGNvbHVtbi5rZXkpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51R3JvdXAnIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/LmZyZWV6YWJsZSB8fCBjb2x1bW4/LmVuZEZyZWV6YWJsZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZyZWV6ZVBvcG92ZXJJdGVtXCIgbGV0LXBvcG92ZXI9XCJwb3BvdmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sdW1uRnJvemVuOyBlbHNlIHVuZnJlZXplVHBsXCI+XG4gICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIl9mcmVlemUoKVwiIChrZXlkb3duLmVudGVyKT1cIl9mcmVlemUoKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAoIWNvbHVtbi5lbmRGcmVlemFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNvbHVtbkluZGV4ID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVGcmVlemVQbHVyYWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3BsYXRmb3JtVGFibGUuaGVhZGVyTWVudUZyZWV6ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVFbmRGcmVlemUnXG4gICAgICAgICAgICAgICAgICAgICAgICApIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgfX08L3NwYW5cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3VuZnJlZXplVHBsPlxuICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIChjbGljayk9XCJfdW5GcmVlemUoKVwiIChrZXlkb3duLmVudGVyKT1cIl91bkZyZWV6ZSgpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57e1xuICAgICAgICAgICAgICAgICAgICAoY29sdW1uSW5kZXggPiAwID8gJ3BsYXRmb3JtVGFibGUuaGVhZGVyTWVudVVuZnJlZXplUGx1cmFsJyA6ICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVVbmZyZWV6ZScpXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGZkVHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uPy5maWx0ZXJhYmxlICYmICFmaWx0ZXJpbmdGcm9tSGVhZGVyRGlzYWJsZWRcIj5cbiAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJmaWx0ZXJpbmdQb3BvdmVySXRlbVwiIGxldC1wb3BvdmVyPVwicG9wb3ZlclwiPlxuICAgICAgICA8YSBmZC1saXN0LWxpbmsgc3R5bGU9XCJjdXJzb3I6IGF1dG9cIj5cbiAgICAgICAgICAgIDxpIGZkLWxpc3QtaWNvbiBnbHlwaD1cImZpbHRlclwiPjwvaT5cbiAgICAgICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtIFtob3Jpem9udGFsXT1cInRydWVcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZkLWZvcm0tbGFiZWwgW2Zvcl09XCInZmRwLXRhYmxlLWNvbHVtbi1maWx0ZXJpbmctJyArIGNvbHVtbi5uYW1lXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtVGFibGUuaGVhZGVyTWVudUZpbHRlcicgfCBmZFRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgZmQtZm9ybS1jb250cm9sXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCInZmRwLXRhYmxlLWNvbHVtbi1maWx0ZXJpbmctJyArIGNvbHVtbi5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiX3NldENvbHVtbkhlYWRlckZpbHRlckJ5KGNvbHVtbi5rZXksICRhbnkoJGV2ZW50LnRhcmdldCk/LnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyL3RhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBWSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBRUgsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ2YsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0FBUy9ELE1BQU0sT0FBTywrQkFBK0I7SUFQNUM7UUFnQkksdUNBQXVDO1FBRXZDLGFBQVEsR0FBRyxLQUFLLENBQUM7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QURQLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLDJCQUEyQjtzQkFEMUIsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sT0FBTztzQkFETixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFLOUMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGlCQUFpQjtnQkFLL0IsY0FBYztzQkFEYixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UsIE51bGxhYmxlLCBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQsIFRyaWdnZXJDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQge1xuICAgIENvbGxlY3Rpb25TdHJpbmdGaWx0ZXIsXG4gICAgRklMVEVSX1NUUklOR19TVFJBVEVHWSxcbiAgICBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUsXG4gICAgU29ydERpcmVjdGlvbixcbiAgICBUYWJsZSxcbiAgICBUYWJsZUNvbHVtbixcbiAgICBUYWJsZVNlcnZpY2Vcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9saXN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtdGFibGUtY2VsbC1oZWFkZXItcG9wb3ZlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRGVzdHJveWVkU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsSGVhZGVyUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBDb2x1bW4gZGVmaW5pdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbHVtbjogVGFibGVDb2x1bW47XG5cbiAgICAvKiogQ3VzdG9tIHBvcG92ZXIgdGVtcGxhdGUuICovXG4gICAgQElucHV0KClcbiAgICBwb3BvdmVyVGVtcGxhdGU6IE51bGxhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBmcm96ZW4uICovXG4gICAgQElucHV0KClcbiAgICBjb2x1bW5Gcm96ZW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBmaWx0ZXJpbmcgZnJvbSBoZWFkZXIgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBmaWx0ZXJpbmdGcm9tSGVhZGVyRGlzYWJsZWQ6IE51bGxhYmxlPGJvb2xlYW4+ID0gZmFsc2U7XG5cbiAgICAvKiogQ29sdW1uIGluZGV4ICovXG4gICAgQElucHV0KClcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKFBvcG92ZXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHBvcG92ZXI6IE51bGxhYmxlPFBvcG92ZXJDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKVxuICAgIF9wb3BvdmVySXRlbXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoTGlzdENvbXBvbmVudClcbiAgICBfbGlzdENvbXBvbmVudDogTGlzdENvbXBvbmVudDxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaGVhZGVyUG9wb3ZlclRyaWdnZXJzOiBUcmlnZ2VyQ29uZmlnW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRyaWdnZXI6ICdjbGljaycsXG4gICAgICAgICAgICBvcGVuQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgY2xvc2VBY3Rpb246IHRydWUsXG4gICAgICAgICAgICBzdG9wUHJvcGFnYXRpb246IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdHJpZ2dlcjogJ2tleWRvd24uZW50ZXInLFxuICAgICAgICAgICAgb3BlbkFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIGNsb3NlQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgc3RvcFByb3BhZ2F0aW9uOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRyaWdnZXI6ICdrZXlkb3duLnNwYWNlJyxcbiAgICAgICAgICAgIG9wZW5BY3Rpb246IHRydWUsXG4gICAgICAgICAgICBjbG9zZUFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbjogdHJ1ZVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3BvcG92ZXJJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT5bXT4oW10pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgU09SVF9ESVJFQ1RJT04gPSBTb3J0RGlyZWN0aW9uO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGluamVjdChEZXN0cm95ZWRTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGVTZXJ2aWNlID0gaW5qZWN0KFRhYmxlU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlID0gaW5qZWN0KFRhYmxlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVySXRlbXMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aChudWxsKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJJdGVtcyQubmV4dCh0aGlzLl9wb3BvdmVySXRlbXMubWFwKCh0KSA9PiB0LnRlbXBsYXRlUmVmKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldENvbHVtbkhlYWRlclNvcnRCeShmaWVsZDogVGFibGVDb2x1bW5bJ2tleSddLCBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldFNvcnQoW3sgZmllbGQsIGRpcmVjdGlvbiB9XSk7XG4gICAgICAgIHRoaXMucG9wb3Zlcj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRDb2x1bW5IZWFkZXJHcm91cEJ5KGZpZWxkOiBUYWJsZUNvbHVtblsna2V5J10pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLl90YWJsZVNlcnZpY2UuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBpZiAoc3RhdGUuZ3JvdXBCeT8ubGVuZ3RoID09PSAxICYmIHN0YXRlLmdyb3VwQnlbMF0uZmllbGQgPT09IGZpZWxkKSB7XG4gICAgICAgICAgICAvLyByZXNldCBncm91cGluZywgaWYgYWxyZWFkeSBncm91cGVkIGJ5IHRoaXMgZmllbGRcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlU2VydmljZS5zZXRHcm91cHMoW10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldEdyb3VwcyhbeyBmaWVsZCwgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uLk5PTkUsIHNob3dBc0NvbHVtbjogdHJ1ZSB9XSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRDb2x1bW5IZWFkZXJGaWx0ZXJCeShmaWVsZDogVGFibGVDb2x1bW5bJ2tleSddLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlU2VydmljZS5yZW1vdmVGaWx0ZXJzKFtmaWVsZF0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb25GaWx0ZXI6IENvbGxlY3Rpb25TdHJpbmdGaWx0ZXIgPSB7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgdHlwZTogRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlLlNUUklORyxcbiAgICAgICAgICAgIHN0cmF0ZWd5OiBGSUxURVJfU1RSSU5HX1NUUkFURUdZLkNPTlRBSU5TLFxuICAgICAgICAgICAgZXhjbHVkZTogZmFsc2VcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2UuYWRkRmlsdGVycyhbY29sbGVjdGlvbkZpbHRlcl0pO1xuICAgICAgICB0aGlzLnBvcG92ZXI/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZnJlZXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5mcmVlemVUb0NvbHVtbih0aGlzLmNvbHVtbi5uYW1lLCB0aGlzLmNvbHVtbi5lbmRGcmVlemFibGUpO1xuICAgICAgICB0aGlzLnBvcG92ZXI/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdW5GcmVlemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLnVuZnJlZXplKHRoaXMuY29sdW1uLm5hbWUsIHRoaXMuY29sdW1uLmVuZEZyZWV6YWJsZSk7XG4gICAgICAgIHRoaXMucG9wb3Zlcj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9wb3BvdmVyT3BlbmVkKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9saXN0Q29tcG9uZW50Py5fc2V0Q3VycmVudEFjdGl2ZUl0ZW1JbmRleCgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmZC1wb3BvdmVyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbm9BcnJvd109XCJ0cnVlXCJcbiAgICBmZC10YWJsZS1wb3BvdmVyXG4gICAgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiXG4gICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAqbmdJZj1cIiFwb3BvdmVyVGVtcGxhdGU7IGVsc2UgcHJvamVjdGVkUG9wb3ZlclwiXG4gICAgW3RyaWdnZXJzXT1cIl9oZWFkZXJQb3BvdmVyVHJpZ2dlcnNcIlxuICAgIChpc09wZW5DaGFuZ2UpPVwiX3BvcG92ZXJPcGVuZWQoJGV2ZW50KVwiXG4+XG4gICAgPGZkcC1saXN0IFtub0JvcmRlcl09XCJ0cnVlXCIgW25hdmlnYXRlZF09XCJ0cnVlXCIgW3JvbGVdPVwiJ2xpc3Rib3gnXCI+XG4gICAgICAgIDxsaSBmZHAtZnJlZS1jb250ZW50LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfcG9wb3Zlckl0ZW1zJC5hc09ic2VydmFibGUoKSB8IGFzeW5jXCIgW2FyaWFSb2xlXT1cIidvcHRpb24nXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHBvcG92ZXI6IHBvcG92ZXIgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbGk+XG4gICAgPC9mZHAtbGlzdD5cbjwvZmQtcG9wb3Zlcj5cbjxuZy10ZW1wbGF0ZSAjcHJvamVjdGVkUG9wb3Zlcj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9wb3ZlclRlbXBsYXRlIVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogX3BvcG92ZXJJdGVtcyQuYXNPYnNlcnZhYmxlKCkgfVwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uPy5zb3J0YWJsZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cInNvcnRpbmdBc2NQb3BvdmVySXRlbVwiIGxldC1wb3BvdmVyPVwicG9wb3ZlclwiPlxuICAgICAgICA8YVxuICAgICAgICAgICAgZmQtbGlzdC1saW5rXG4gICAgICAgICAgICAoY2xpY2spPVwiX3NldENvbHVtbkhlYWRlclNvcnRCeShjb2x1bW4ua2V5LCBTT1JUX0RJUkVDVElPTi5BU0MpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIl9zZXRDb2x1bW5IZWFkZXJTb3J0QnkoY29sdW1uLmtleSwgU09SVF9ESVJFQ1RJT04uQVNDKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpIGZkLWxpc3QtaWNvbiBnbHlwaD1cInNvcnQtYXNjZW5kaW5nXCI+PC9pPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51U29ydEFzYycgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwic29ydGluZ0Rlc2NQb3BvdmVySXRlbVwiIGxldC1wb3BvdmVyPVwicG9wb3ZlclwiPlxuICAgICAgICA8YVxuICAgICAgICAgICAgZmQtbGlzdC1saW5rXG4gICAgICAgICAgICAoY2xpY2spPVwiX3NldENvbHVtbkhlYWRlclNvcnRCeShjb2x1bW4ua2V5LCBTT1JUX0RJUkVDVElPTi5ERVNDKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJfc2V0Q29sdW1uSGVhZGVyU29ydEJ5KGNvbHVtbi5rZXksIFNPUlRfRElSRUNUSU9OLkRFU0MpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGkgZmQtbGlzdC1pY29uIGdseXBoPVwic29ydC1kZXNjZW5kaW5nXCI+PC9pPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51U29ydERlc2MnIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/Lmdyb3VwYWJsZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImdyb3VwUG9wb3Zlckl0ZW1cIiBsZXQtcG9wb3Zlcj1cInBvcG92ZXJcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGZkLWxpc3QtbGlua1xuICAgICAgICAgICAgKGNsaWNrKT1cIl9zZXRDb2x1bW5IZWFkZXJHcm91cEJ5KGNvbHVtbi5rZXkpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIl9zZXRDb2x1bW5IZWFkZXJHcm91cEJ5KGNvbHVtbi5rZXkpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51R3JvdXAnIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/LmZyZWV6YWJsZSB8fCBjb2x1bW4/LmVuZEZyZWV6YWJsZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZyZWV6ZVBvcG92ZXJJdGVtXCIgbGV0LXBvcG92ZXI9XCJwb3BvdmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sdW1uRnJvemVuOyBlbHNlIHVuZnJlZXplVHBsXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLWxpc3QtbGluayByb2xlPVwiYnV0dG9uXCIgW2ZvY3VzYWJsZV09XCJ0cnVlXCIgKGNsaWNrKT1cIl9mcmVlemUoKVwiIChrZXlkb3duLmVudGVyKT1cIl9mcmVlemUoKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAoIWNvbHVtbi5lbmRGcmVlemFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNvbHVtbkluZGV4ID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVGcmVlemVQbHVyYWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3BsYXRmb3JtVGFibGUuaGVhZGVyTWVudUZyZWV6ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVFbmRGcmVlemUnXG4gICAgICAgICAgICAgICAgICAgICAgICApIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgfX08L3NwYW5cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdW5mcmVlemVUcGw+XG4gICAgICAgICAgICA8ZGl2IGZkLWxpc3QtbGluayByb2xlPVwiYnV0dG9uXCIgW2ZvY3VzYWJsZV09XCJ0cnVlXCIgKGNsaWNrKT1cIl91bkZyZWV6ZSgpXCIgKGtleWRvd24uZW50ZXIpPVwiX3VuRnJlZXplKClcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7XG4gICAgICAgICAgICAgICAgICAgIChjb2x1bW5JbmRleCA+IDAgPyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51VW5mcmVlemVQbHVyYWwnIDogJ3BsYXRmb3JtVGFibGUuaGVhZGVyTWVudVVuZnJlZXplJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbj8uZmlsdGVyYWJsZSAmJiAhZmlsdGVyaW5nRnJvbUhlYWRlckRpc2FibGVkXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiZmlsdGVyaW5nUG9wb3Zlckl0ZW1cIiBsZXQtcG9wb3Zlcj1cInBvcG92ZXJcIj5cbiAgICAgICAgPGEgZmQtbGlzdC1saW5rIHN0eWxlPVwiY3Vyc29yOiBhdXRvXCI+XG4gICAgICAgICAgICA8aSBmZC1saXN0LWljb24gZ2x5cGg9XCJmaWx0ZXJcIj48L2k+XG4gICAgICAgICAgICA8ZGl2IGZkLWZvcm0taXRlbSBbaG9yaXpvbnRhbF09XCJ0cnVlXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIFtmb3JdPVwiJ2ZkcC10YWJsZS1jb2x1bW4tZmlsdGVyaW5nLScgKyBjb2x1bW4ubmFtZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVGaWx0ZXInIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGZkLWZvcm0tY29udHJvbFxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2ZkcC10YWJsZS1jb2x1bW4tZmlsdGVyaW5nLScgKyBjb2x1bW4ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIl9zZXRDb2x1bW5IZWFkZXJGaWx0ZXJCeShjb2x1bW4ua2V5LCAkYW55KCRldmVudC50YXJnZXQpPy52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==