barsa-tiles 1.0.403 → 1.0.405

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.
@@ -0,0 +1,191 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, TemplateRef, ViewChild } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { Subject } from 'rxjs';
4
+ import { ComboboxComponent } from '@fundamental-ngx/core';
5
+ import { BaseComponent, BarsaApi, APP_VERSION } from 'barsa-novin-ray-core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "barsa-novin-ray-core";
8
+ import * as i2 from "@fundamental-ngx/core";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@fundamental-ngx/core/list";
11
+ import * as i5 from "@fundamental-ngx/core/menu";
12
+ import * as i6 from "@fundamental-ngx/core/dialog";
13
+ import * as i7 from "@fundamental-ngx/core/title";
14
+ import * as i8 from "@fundamental-ngx/core/product-switch";
15
+ import * as i9 from "@fundamental-ngx/core/popover";
16
+ import * as i10 from "@fundamental-ngx/core/shellbar";
17
+ import * as i11 from "barsa-sap-ui";
18
+ import * as i12 from "../notification-group/notification-group.component";
19
+ export class BarsaShellbarComponent extends BaseComponent {
20
+ constructor(_bbbTranslatePipe, _notificationService, _dialogService, _document, appVersion) {
21
+ super();
22
+ this._bbbTranslatePipe = _bbbTranslatePipe;
23
+ this._notificationService = _notificationService;
24
+ this._dialogService = _dialogService;
25
+ this._document = _document;
26
+ this.appVersion = appVersion;
27
+ this.openNotificationPanel = new EventEmitter();
28
+ this.cultureChanged = new EventEmitter();
29
+ this.notificationLoadMore = new EventEmitter();
30
+ this.removeNotification = new EventEmitter();
31
+ this.notifiationActionClick = new EventEmitter();
32
+ this.notificationViewed = new EventEmitter();
33
+ this.isOpenNotificatoin = false;
34
+ this.user = {
35
+ initials: 'WW',
36
+ colorAccent: 1
37
+ };
38
+ this.searchTerms = ['مرخصی', 'ماموریت', 'تیکت', 'پروژه'];
39
+ this.showVersion = false;
40
+ this._viewedNotifications$ = new Subject();
41
+ this.onBellNotification = () => {
42
+ this._document?.body && this._document.body.click();
43
+ this._dialogService
44
+ .open(this._notificationsDialog, {
45
+ mobile: true,
46
+ fullScreen: true,
47
+ verticalPadding: false,
48
+ closeOnNavigation: true
49
+ })
50
+ .afterLoaded.subscribe(() => {
51
+ this.openNotificationPanel.emit();
52
+ });
53
+ };
54
+ this._viewedNotifications = [];
55
+ this.onOpenNotification = () => {
56
+ this.isOpenNotificatoin = true;
57
+ this.openNotificationPanel.emit();
58
+ };
59
+ this.onLanguage = (e) => {
60
+ const culture = e.currentTarget.textContent.trim();
61
+ this._changeCulture(culture);
62
+ };
63
+ this.showVersion = !BarsaApi.LoginFormData.IsServiceDesk;
64
+ }
65
+ get subtitle() {
66
+ if (!this.shellbarData) {
67
+ return '';
68
+ }
69
+ if (this.deviceSize === 's' && this.shellbarData.MobileSubtitle) {
70
+ return this.shellbarData.MobileSubtitle
71
+ ? `${this.shellbarData.MobileSubtitle} ${typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''}`
72
+ : '';
73
+ }
74
+ return this.shellbarData.Subtitle
75
+ ? `${this.shellbarData?.Subtitle} ${typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''}`
76
+ : '';
77
+ }
78
+ get logo() {
79
+ return this.shellbarData?.Logo;
80
+ }
81
+ get actions() {
82
+ return this.settings?.HideUserMenu ? [] : this.shellbarData?.ActionItems?.MoDataList ?? [];
83
+ }
84
+ get userMenu() {
85
+ const moDataList = BarsaApi.Common.Util.TryGetValue(this.shellbarData, 'UserMenuItems.MoDataList');
86
+ const items = moDataList ? [...moDataList] : [];
87
+ if (!items.length) {
88
+ return [];
89
+ }
90
+ items.forEach((c) => {
91
+ c.text = this._bbbTranslatePipe.transform(c.text);
92
+ c.callback = new Function(c.Code + this.bodyClick);
93
+ });
94
+ if (!BarsaApi.LoginFormData.IsAnonymous && BarsaApi.LoginFormData.IsUserLoggedIn) {
95
+ items.splice(0, 0, { Id: '-1', $Caption: '', text: BarsaApi.LoginFormData.UserDisplayName });
96
+ }
97
+ return this.settings?.HideUserMenu ? [] : items;
98
+ }
99
+ get productSwitcher() {
100
+ return this.shellbarData?.ProductSwitchItem?.MoDataList ?? [];
101
+ }
102
+ ngOnInit() {
103
+ super.ngOnInit();
104
+ }
105
+ onCultureChange(culture) {
106
+ this._changeCulture(culture);
107
+ }
108
+ onShowNotification(e) {
109
+ this.isOpenNotificatoin = false;
110
+ this._notificationService.ShowNotificationRelatedMo(e);
111
+ }
112
+ onNotificationItemViewed(viewedMo) {
113
+ this.notificationViewed.emit(viewedMo);
114
+ }
115
+ onRemoveNotifications(e) {
116
+ this.removeNotification.emit(e);
117
+ }
118
+ onNotificationAction(e) {
119
+ this.notifiationActionClick.emit(e);
120
+ }
121
+ onNotificationLoadMore() {
122
+ this.notificationLoadMore.emit();
123
+ }
124
+ _changeCulture(culture) {
125
+ this.cultureChanged.emit(culture);
126
+ }
127
+ }
128
+ BarsaShellbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaShellbarComponent, deps: [{ token: i1.BbbTranslatePipe }, { token: i1.NotificationService }, { token: i2.DialogService }, { token: DOCUMENT }, { token: APP_VERSION }], target: i0.ɵɵFactoryTarget.Component });
129
+ BarsaShellbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaShellbarComponent, selector: "bt-barsa-shellbar", inputs: { cssCustomUrl: "cssCustomUrl", cssUrl: "cssUrl", allowAnonymous: "allowAnonymous", userLoggedIn: "userLoggedIn", settings: "settings", productMenuControl: "productMenuControl", deviceSize: "deviceSize", cultures: "cultures", shellbarData: "shellbarData", notificationCount: "notificationCount", notifcationLoaded: "notifcationLoaded", notificationLoading: "notificationLoading", notifications: "notifications", productMenuItems1: "productMenuItems1", bodyClick: "bodyClick" }, outputs: { openNotificationPanel: "openNotificationPanel", cultureChanged: "cultureChanged", notificationLoadMore: "notificationLoadMore", removeNotification: "removeNotification", notifiationActionClick: "notifiationActionClick", notificationViewed: "notificationViewed" }, viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }, { propertyName: "popoverComponent", first: true, predicate: ["popoverComponent"], descendants: true }, { propertyName: "_notificationsDialog", first: true, predicate: ["notificationsDialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<link *ngIf=\"cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"userLoggedIn || allowAnonymous\" [size]=\"deviceSize\" [ngClass]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"logo\">\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n <fd-shellbar-action\n *ngIf=\"deviceSize === 's' && userLoggedIn && !settings?.HideNotifications\"\n [glyph]=\"'bell'\"\n [label]=\"'Notifications' | bbbTranslate\"\n [notificationCount]=\"notificationCount.unread ?? 0\"\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\n [callback]=\"onBellNotification\"\n >\n </fd-shellbar-action>\n <fd-popover\n *ngIf=\"!settings?.HideNotifications\"\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [noArrow]=\"true\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n [mobile]=\"deviceSize === 's'\"\n #popoverComponent\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"notificationCount.unread\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n class=\"culture-abbrivation\"\n [glyph]=\"culture.key\"\n [ngClass]=\"'flags'\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" />\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\n </span>\n </a>\n </li>\n </ul>\n</fd-menu>\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\n <div style=\"position: relative; height: 100px\" *ngIf=\"!notifcationLoaded && notificationLoading === true\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n <bt-notification-group\n [notifications]=\"notifications\"\n [notificationCount]=\"notificationCount\"\n [loading]=\"notificationLoading === true\"\n (viewed)=\"onNotificationItemViewed($event)\"\n (remove)=\"onRemoveNotifications($event)\"\n (show)=\"popoverComponent.close(); onShowNotification($event)\"\n (actionClick)=\"popoverComponent.close(); onNotificationAction($event)\"\n (loadMore)=\"onNotificationLoadMore()\"\n [deviceSize]=\"deviceSize\"\n ></bt-notification-group>\n</ng-template>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"mobile\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{display:contents}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s{padding:0}:host ::ng-deep .fd-shellbar--s ::ng-deep .fd-shellbar__subtitle{display:block;overflow:hidden;text-wrap:wrap;width:100%;word-break:break-all}:host ::ng-deep .fd-shellbar--s ::ng-deep .fd-shellbar__group.fd-shellbar__group--product{flex:1}:host ::ng-deep .fd-shellbar--s ::ng-deep .fd-shellbar__group.fd-shellbar__group--actions{max-width:120px}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i4.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i4.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i5.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i5.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i6.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i6.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i6.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i6.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i7.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i8.ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "ariaLabel", "disabled"] }, { kind: "component", type: i8.ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: ["dragAndDropEnabled", "products", "forceListMode"], outputs: ["productsChange", "itemClicked"] }, { kind: "component", type: i9.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i9.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i9.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i10.ShellbarComponent, selector: "fd-shellbar", inputs: ["size", "sideNav"] }, { kind: "component", type: i10.ProductMenuComponent, selector: "fd-product-menu", inputs: ["closeOnEscapeKey", "closeOnOutsideClick", "triggers", "placement", "disabled", "fillControlMode", "control", "items", "closePopoverOnSelect"] }, { kind: "component", type: i10.ShellbarSubtitleComponent, selector: "fd-shellbar-subtitle" }, { kind: "component", type: i10.ShellbarActionsComponent, selector: "fd-shellbar-actions", inputs: ["user", "userMenu", "closePopoverOnSelect", "collapsedItemMenuLabel"] }, { kind: "component", type: i10.ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "callback", "label", "notificationLabel", "notificationCount"] }, { kind: "component", type: i10.ShellbarLogoComponent, selector: "fd-shellbar-logo" }, { kind: "directive", type: i1.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i11.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i12.NotificationGroupComponent, selector: "bt-notification-group", inputs: ["notifications", "loading", "deviceSize", "notificationCount"], outputs: ["viewed", "remove", "actionClick", "show", "loadMore"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaShellbarComponent, decorators: [{
131
+ type: Component,
132
+ args: [{ selector: 'bt-barsa-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<link *ngIf=\"cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"userLoggedIn || allowAnonymous\" [size]=\"deviceSize\" [ngClass]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"logo\">\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n <fd-shellbar-action\n *ngIf=\"deviceSize === 's' && userLoggedIn && !settings?.HideNotifications\"\n [glyph]=\"'bell'\"\n [label]=\"'Notifications' | bbbTranslate\"\n [notificationCount]=\"notificationCount.unread ?? 0\"\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\n [callback]=\"onBellNotification\"\n >\n </fd-shellbar-action>\n <fd-popover\n *ngIf=\"!settings?.HideNotifications\"\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [noArrow]=\"true\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n [mobile]=\"deviceSize === 's'\"\n #popoverComponent\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"notificationCount.unread\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n class=\"culture-abbrivation\"\n [glyph]=\"culture.key\"\n [ngClass]=\"'flags'\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" />\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\n </span>\n </a>\n </li>\n </ul>\n</fd-menu>\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\n <div style=\"position: relative; height: 100px\" *ngIf=\"!notifcationLoaded && notificationLoading === true\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n <bt-notification-group\n [notifications]=\"notifications\"\n [notificationCount]=\"notificationCount\"\n [loading]=\"notificationLoading === true\"\n (viewed)=\"onNotificationItemViewed($event)\"\n (remove)=\"onRemoveNotifications($event)\"\n (show)=\"popoverComponent.close(); onShowNotification($event)\"\n (actionClick)=\"popoverComponent.close(); onNotificationAction($event)\"\n (loadMore)=\"onNotificationLoadMore()\"\n [deviceSize]=\"deviceSize\"\n ></bt-notification-group>\n</ng-template>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"mobile\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{display:contents}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s{padding:0}:host ::ng-deep .fd-shellbar--s ::ng-deep .fd-shellbar__subtitle{display:block;overflow:hidden;text-wrap:wrap;width:100%;word-break:break-all}:host ::ng-deep .fd-shellbar--s ::ng-deep .fd-shellbar__group.fd-shellbar__group--product{flex:1}:host ::ng-deep .fd-shellbar--s ::ng-deep .fd-shellbar__group.fd-shellbar__group--actions{max-width:120px}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}\n"] }]
133
+ }], ctorParameters: function () { return [{ type: i1.BbbTranslatePipe }, { type: i1.NotificationService }, { type: i2.DialogService }, { type: Document, decorators: [{
134
+ type: Inject,
135
+ args: [DOCUMENT]
136
+ }] }, { type: undefined, decorators: [{
137
+ type: Inject,
138
+ args: [APP_VERSION]
139
+ }] }]; }, propDecorators: { cssCustomUrl: [{
140
+ type: Input
141
+ }], cssUrl: [{
142
+ type: Input
143
+ }], allowAnonymous: [{
144
+ type: Input
145
+ }], userLoggedIn: [{
146
+ type: Input
147
+ }], settings: [{
148
+ type: Input
149
+ }], productMenuControl: [{
150
+ type: Input
151
+ }], deviceSize: [{
152
+ type: Input
153
+ }], cultures: [{
154
+ type: Input
155
+ }], shellbarData: [{
156
+ type: Input
157
+ }], notificationCount: [{
158
+ type: Input
159
+ }], notifcationLoaded: [{
160
+ type: Input
161
+ }], notificationLoading: [{
162
+ type: Input
163
+ }], notifications: [{
164
+ type: Input
165
+ }], productMenuItems1: [{
166
+ type: Input
167
+ }], bodyClick: [{
168
+ type: Input
169
+ }], openNotificationPanel: [{
170
+ type: Output
171
+ }], cultureChanged: [{
172
+ type: Output
173
+ }], notificationLoadMore: [{
174
+ type: Output
175
+ }], removeNotification: [{
176
+ type: Output
177
+ }], notifiationActionClick: [{
178
+ type: Output
179
+ }], notificationViewed: [{
180
+ type: Output
181
+ }], comboboxComponent: [{
182
+ type: ViewChild,
183
+ args: [ComboboxComponent]
184
+ }], popoverComponent: [{
185
+ type: ViewChild,
186
+ args: ['popoverComponent', { static: false }]
187
+ }], _notificationsDialog: [{
188
+ type: ViewChild,
189
+ args: ['notificationsDialog', { static: true, read: TemplateRef }]
190
+ }] } });
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etc2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9iYXJzYS1zaGVsbGJhci9iYXJzYS1zaGVsbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2JhcnNhLXNoZWxsYmFyL2JhcnNhLXNoZWxsYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFDSCxpQkFBaUIsRUFNcEIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0gsYUFBYSxFQUNiLFFBQVEsRUFJUixXQUFXLEVBTWQsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFpQjlCLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBdURyRCxZQUNZLGlCQUFtQyxFQUNuQyxvQkFBeUMsRUFDekMsY0FBNkIsRUFDWCxTQUFtQixFQUNqQixVQUFrQjtRQUU5QyxLQUFLLEVBQUUsQ0FBQztRQU5BLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDakIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQTNDeEMsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FB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YW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBDb21ib2JveENvbXBvbmVudCxcbiAgICBEaWFsb2dTZXJ2aWNlLFxuICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgUHJvZHVjdFN3aXRjaEl0ZW0sXG4gICAgU2hlbGxiYXJNZW51SXRlbSxcbiAgICBTaGVsbGJhclVzZXJcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIEJhcnNhQXBpLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgRmlsZVBpY3R1cmVJbmZvTW9kZWwsXG4gICAgTW9Gb3JSZXBvcnRNb2RlbCxcbiAgICBBUFBfVkVSU0lPTixcbiAgICBCYmJUcmFuc2xhdGVQaXBlLFxuICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgTm90aWZpY2F0aW9uSXRlbSxcbiAgICBOb3RpZmljYXRpb25BY3Rpb24sXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmludGVyZmFjZSBTaGVsbGJhclNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIGNhbGNTdWJ0aXRsZTogc3RyaW5nO1xuICAgIGxvZ286IEZpbGVQaWN0dXJlSW5mb01vZGVsO1xuICAgIFByb2R1Y3RTd2l0Y2hJdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBQcm9kdWN0TWVudUl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIFVzZXJNZW51SXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgQWN0aW9uSXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnQtYmFyc2Etc2hlbGxiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1zaGVsbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2Etc2hlbGxiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVNoZWxsYmFyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgY3NzQ3VzdG9tVXJsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgY3NzVXJsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgYWxsb3dBbm9ueW1vdXM6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIHByb2R1Y3RNZW51Q29udHJvbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBjdWx0dXJlczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBASW5wdXQoKSBzaGVsbGJhckRhdGE6IFNoZWxsYmFyU2V0dGluZztcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25Db3VudDogeyB1bnJlYWQ6IG51bWJlcjsgYWxsOiBudW1iZXIgfTtcbiAgICBASW5wdXQoKSBub3RpZmNhdGlvbkxvYWRlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25Mb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbkl0ZW1bXTtcbiAgICBASW5wdXQoKSBwcm9kdWN0TWVudUl0ZW1zMTogU2hlbGxiYXJNZW51SXRlbVtdO1xuICAgIEBJbnB1dCgpIGJvZHlDbGljazogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpIG9wZW5Ob3RpZmljYXRpb25QYW5lbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgY3VsdHVyZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBAT3V0cHV0KCkgbm90aWZpY2F0aW9uTG9hZE1vcmUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHJlbW92ZU5vdGlmaWNhdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdOyBzaWxlbnQ6IGJvb2xlYW4gfT4oKTtcbiAgICBAT3V0cHV0KCkgbm90aWZpYXRpb25BY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtOiBOb3RpZmljYXRpb25JdGVtOyBidG46IE5vdGlmaWNhdGlvbkFjdGlvbiB9PigpO1xuICAgIEBPdXRwdXQoKSBub3RpZmljYXRpb25WaWV3ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vdGlmaWNhdGlvbkl0ZW0+KCk7XG5cbiAgICBAVmlld0NoaWxkKENvbWJvYm94Q29tcG9uZW50KSBjb21ib2JveENvbXBvbmVudDogQ29tYm9ib3hDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgncG9wb3ZlckNvbXBvbmVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwb3BvdmVyQ29tcG9uZW50OiBQb3BvdmVyQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ25vdGlmaWNhdGlvbnNEaWFsb2cnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSkgX25vdGlmaWNhdGlvbnNEaWFsb2c6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBpc09wZW5Ob3RpZmljYXRvaW4gPSBmYWxzZTtcblxuICAgIHVzZXI6IFNoZWxsYmFyVXNlciA9IHtcbiAgICAgICAgaW5pdGlhbHM6ICdXVycsXG4gICAgICAgIGNvbG9yQWNjZW50OiAxXG4gICAgfTtcbiAgICBzZWFyY2hUZXJtcyA9IFsn2YXYsdiu2LXbjCcsICfZhdin2YXZiNix24zYqicsICfYqtuM2qnYqicsICfZvtix2YjamNmHJ107XG4gICAgc2VhcmNoVGVybTogc3RyaW5nO1xuICAgIGFjdGlvbnMkOiBPYnNlcnZhYmxlPFNoZWxsYmFyTWVudUl0ZW1bXT47XG5cbiAgICBzaG93VmVyc2lvbiA9IGZhbHNlO1xuXG4gICAgX3ZpZXdlZE5vdGlmaWNhdGlvbnMkID0gbmV3IFN1YmplY3Q8Tm90aWZpY2F0aW9uSXRlbT4oKTtcbiAgICBvbkJlbGxOb3RpZmljYXRpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuX2RvY3VtZW50Py5ib2R5ICYmIHRoaXMuX2RvY3VtZW50LmJvZHkuY2xpY2soKTtcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZVxuICAgICAgICAgICAgLm9wZW4odGhpcy5fbm90aWZpY2F0aW9uc0RpYWxvZywge1xuICAgICAgICAgICAgICAgIG1vYmlsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmdWxsU2NyZWVuOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWZ0ZXJMb2FkZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5Ob3RpZmljYXRpb25QYW5lbC5lbWl0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9O1xuICAgIF92aWV3ZWROb3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25JdGVtW10gPSBbXTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfYmJiVHJhbnNsYXRlUGlwZTogQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KEFQUF9WRVJTSU9OKSBwdWJsaWMgYXBwVmVyc2lvbjogc3RyaW5nXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5zaG93VmVyc2lvbiA9ICFCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzU2VydmljZURlc2s7XG4gICAgfVxuICAgIGdldCBzdWJ0aXRsZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMuc2hlbGxiYXJEYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGV2aWNlU2l6ZSA9PT0gJ3MnICYmIHRoaXMuc2hlbGxiYXJEYXRhLk1vYmlsZVN1YnRpdGxlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zaGVsbGJhckRhdGEuTW9iaWxlU3VidGl0bGVcbiAgICAgICAgICAgICAgICA/IGAke3RoaXMuc2hlbGxiYXJEYXRhLk1vYmlsZVN1YnRpdGxlfSAke1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiB0aGlzLnNoZWxsYmFyRGF0YT8uY2FsY1N1YnRpdGxlID09PSAnc3RyaW5nJyA/IHRoaXMuc2hlbGxiYXJEYXRhLmNhbGNTdWJ0aXRsZSA6ICcnXG4gICAgICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgICAgIDogJyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhLlN1YnRpdGxlXG4gICAgICAgICAgICA/IGAke3RoaXMuc2hlbGxiYXJEYXRhPy5TdWJ0aXRsZX0gJHtcbiAgICAgICAgICAgICAgICAgIHR5cGVvZiB0aGlzLnNoZWxsYmFyRGF0YT8uY2FsY1N1YnRpdGxlID09PSAnc3RyaW5nJyA/IHRoaXMuc2hlbGxiYXJEYXRhLmNhbGNTdWJ0aXRsZSA6ICcnXG4gICAgICAgICAgICAgIH1gXG4gICAgICAgICAgICA6ICcnO1xuICAgIH1cbiAgICBnZXQgbG9nbygpOiB7IEZpbGVJZDogc3RyaW5nIH0ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGVsbGJhckRhdGE/LkxvZ287XG4gICAgfVxuICAgIGdldCBhY3Rpb25zKCk6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3M/LkhpZGVVc2VyTWVudSA/IFtdIDogdGhpcy5zaGVsbGJhckRhdGE/LkFjdGlvbkl0ZW1zPy5Nb0RhdGFMaXN0ID8/IFtdO1xuICAgIH1cbiAgICBnZXQgdXNlck1lbnUoKTogeyB0ZXh0OiBzdHJpbmc7IGNhbGxiYWNrOiAoKSA9PiB2b2lkIH1bXSB7XG4gICAgICAgIGNvbnN0IG1vRGF0YUxpc3QgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLnNoZWxsYmFyRGF0YSwgJ1VzZXJNZW51SXRlbXMuTW9EYXRhTGlzdCcpO1xuICAgICAgICBjb25zdCBpdGVtcyA9IG1vRGF0YUxpc3QgPyBbLi4ubW9EYXRhTGlzdF0gOiBbXTtcbiAgICAgICAgaWYgKCFpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICBpdGVtcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICBjLnRleHQgPSB0aGlzLl9iYmJUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybShjLnRleHQpO1xuICAgICAgICAgICAgYy5jYWxsYmFjayA9IG5ldyBGdW5jdGlvbihjLkNvZGUgKyB0aGlzLmJvZHlDbGljayk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIUJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNBbm9ueW1vdXMgJiYgQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1VzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgaXRlbXMuc3BsaWNlKDAsIDAsIHsgSWQ6ICctMScsICRDYXB0aW9uOiAnJywgdGV4dDogQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Vc2VyRGlzcGxheU5hbWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3M/LkhpZGVVc2VyTWVudSA/IFtdIDogKGl0ZW1zIGFzIGFueSk7XG4gICAgfVxuICAgIGdldCBwcm9kdWN0U3dpdGNoZXIoKTogUHJvZHVjdFN3aXRjaEl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoZWxsYmFyRGF0YT8uUHJvZHVjdFN3aXRjaEl0ZW0/Lk1vRGF0YUxpc3QgPz8gKFtdIGFzIHVua25vd24gYXMgUHJvZHVjdFN3aXRjaEl0ZW1bXSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgb25DdWx0dXJlQ2hhbmdlKGN1bHR1cmUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlQ3VsdHVyZShjdWx0dXJlKTtcbiAgICB9XG4gICAgb25TaG93Tm90aWZpY2F0aW9uKGU6IHsgdGFnOiBzdHJpbmc7IG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsOyBuYW1hOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3Blbk5vdGlmaWNhdG9pbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLlNob3dOb3RpZmljYXRpb25SZWxhdGVkTW8oZSk7XG4gICAgfVxuICAgIG9uTm90aWZpY2F0aW9uSXRlbVZpZXdlZCh2aWV3ZWRNbzogTm90aWZpY2F0aW9uSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblZpZXdlZC5lbWl0KHZpZXdlZE1vKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZU5vdGlmaWNhdGlvbnMoZTogeyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdOyBzaWxlbnQ6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZU5vdGlmaWNhdGlvbi5lbWl0KGUpO1xuICAgIH1cbiAgICBvbk9wZW5Ob3RpZmljYXRpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuaXNPcGVuTm90aWZpY2F0b2luID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuTm90aWZpY2F0aW9uUGFuZWwuZW1pdCgpO1xuICAgIH07XG4gICAgb25Ob3RpZmljYXRpb25BY3Rpb24oZTogeyBpdGVtOiBOb3RpZmljYXRpb25JdGVtOyBidG46IE5vdGlmaWNhdGlvbkFjdGlvbiB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMubm90aWZpYXRpb25BY3Rpb25DbGljay5lbWl0KGUpO1xuICAgIH1cbiAgICBvbkxhbmd1YWdlID0gKGUpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgY3VsdHVyZSA9IGUuY3VycmVudFRhcmdldC50ZXh0Q29udGVudC50cmltKCk7XG4gICAgICAgIHRoaXMuX2NoYW5nZUN1bHR1cmUoY3VsdHVyZSk7XG4gICAgfTtcbiAgICBvbk5vdGlmaWNhdGlvbkxvYWRNb3JlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbkxvYWRNb3JlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGFuZ2VDdWx0dXJlKGN1bHR1cmU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1bHR1cmVDaGFuZ2VkLmVtaXQoY3VsdHVyZSk7XG4gICAgfVxufVxuIiwiPGxpbmsgKm5nSWY9XCJjc3NVcmxcIiB0eXBlPVwidGV4dC9jc3NcIiByZWw9XCJzdHlsZXNoZWV0XCIgW2hyZWZdPVwiY3NzVXJsXCIgLz5cbjxsaW5rICpuZ0lmPVwiY3NzQ3VzdG9tVXJsXCIgdHlwZT1cInRleHQvY3NzXCIgcmVsPVwic3R5bGVzaGVldFwiIFtocmVmXT1cImNzc0N1c3RvbVVybFwiIC8+XG5cbjxmZC1zaGVsbGJhciAqbmdJZj1cInVzZXJMb2dnZWRJbiB8fCBhbGxvd0Fub255bW91c1wiIFtzaXplXT1cImRldmljZVNpemVcIiBbbmdDbGFzc109XCJkZXZpY2VTaXplXCI+XG4gICAgPGZkLXNoZWxsYmFyLWxvZ28gKm5nSWY9XCJsb2dvXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIChsb2dvPy5GaWxlSWQgfCBwaWNGaWVsZFNyYzogJ0dldFBpY3R1cmVGcm9tRmlsZUluZm8nOm51bGwpICsgJyknXCJcbiAgICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtc2hlbGxiYXJfX2xvZ28gZmQtc2hlbGxiYXJfX2xvZ28tLWltYWdlLXJlcGxhY2VkXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJCYXJzYSBOb3ZpbiBSYXlcIlxuICAgICAgICA+PC9hPlxuICAgIDwvZmQtc2hlbGxiYXItbG9nbz5cblxuICAgIDxmZC1wcm9kdWN0LW1lbnVcbiAgICAgICAgKm5nSWY9XCIhc2V0dGluZ3M/LkhpZGVQcm9kdWN0TWVudSAmJiBwcm9kdWN0TWVudUl0ZW1zMSAmJiBwcm9kdWN0TWVudUl0ZW1zMS5sZW5ndGggPiAwXCJcbiAgICAgICAgW2NvbnRyb2xdPVwicHJvZHVjdE1lbnVDb250cm9sXCJcbiAgICAgICAgW2Nsb3NlUG9wb3Zlck9uU2VsZWN0XT1cInRydWVcIlxuICAgICAgICBbaXRlbXNdPVwicHJvZHVjdE1lbnVJdGVtczFcIlxuICAgID5cbiAgICA8L2ZkLXByb2R1Y3QtbWVudT5cblxuICAgIDxmZC1zaGVsbGJhci1zdWJ0aXRsZT4ge3sgc3VidGl0bGUgfCBiYmJUcmFuc2xhdGUgfX17eyBzaG93VmVyc2lvbiA/IGFwcFZlcnNpb24gOiAnJyB9fSA8L2ZkLXNoZWxsYmFyLXN1YnRpdGxlPlxuICAgIDxmZC1zaGVsbGJhci1hY3Rpb25zXG4gICAgICAgICpuZ0lmPVwidXNlciAmJiAodXNlck1lbnU/Lmxlbmd0aCB8fCAhc2V0dGluZ3M/LkhpZGVMYW5ndWFnZSlcIlxuICAgICAgICBbdXNlcl09XCJ1c2VyXCJcbiAgICAgICAgW3VzZXJNZW51XT1cInVzZXJNZW51XCJcbiAgICAgICAgI2xhbmdSZWZcbiAgICA+XG4gICAgICAgIDxmZC1zaGVsbGJhci1hY3Rpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiYWN0aW9uLkljb25cIlxuICAgICAgICAgICAgW2NhbGxiYWNrXT1cImFjdGlvbi5DYWxsYmFja1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiYWN0aW9uLkxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbj5cbiAgICAgICAgPGZkLXNoZWxsYmFyLWFjdGlvblxuICAgICAgICAgICAgKm5nSWY9XCJkZXZpY2VTaXplID09PSAncycgJiYgdXNlckxvZ2dlZEluICYmICFzZXR0aW5ncz8uSGlkZU5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgW2dseXBoXT1cIidiZWxsJ1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ05vdGlmaWNhdGlvbnMnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtub3RpZmljYXRpb25Db3VudF09XCJub3RpZmljYXRpb25Db3VudC51bnJlYWQgPz8gMFwiXG4gICAgICAgICAgICBbbm90aWZpY2F0aW9uTGFiZWxdPVwiJ05vdGlmaWNhdGlvbnMnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtjYWxsYmFja109XCJvbkJlbGxOb3RpZmljYXRpb25cIlxuICAgICAgICA+XG4gICAgICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgICAgICA8ZmQtcG9wb3ZlclxuICAgICAgICAgICAgKm5nSWY9XCIhc2V0dGluZ3M/LkhpZGVOb3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgIFsoaXNPcGVuKV09XCJpc09wZW5Ob3RpZmljYXRvaW5cIlxuICAgICAgICAgICAgW3RyaWdnZXJzXT1cIltdXCJcbiAgICAgICAgICAgIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbbm9BcnJvd109XCJ0cnVlXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICB0aXRsZT1cIk5vdGlmaWNhdGlvbiBQb3BvdmVyXCJcbiAgICAgICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW21vYmlsZV09XCJkZXZpY2VTaXplID09PSAncydcIlxuICAgICAgICAgICAgI3BvcG92ZXJDb21wb25lbnRcbiAgICAgICAgPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICA8ZmQtc2hlbGxiYXItYWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCInYmVsbCdcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ05vdGlmaWNhdGlvbidcIlxuICAgICAgICAgICAgICAgICAgICBbbm90aWZpY2F0aW9uQ291bnRdPVwibm90aWZpY2F0aW9uQ291bnQudW5yZWFkXCJcbiAgICAgICAgICAgICAgICAgICAgW25vdGlmaWNhdGlvbkxhYmVsXT1cIidOb3RpZmljYXRpb24gTGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhbGxiYWNrXT1cIm9uT3Blbk5vdGlmaWNhdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IHN0eWxlPVwibWluLXdpZHRoOiAzMjBweDsgb3ZlcmZsb3cteDogYXV0bzsgYm94LXNoYWRvdzogdmFyKC0tc2FwQ29udGVudF9TaGFkb3cwKVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub3RpZmljYXRpb25Hcm91cFRwbDsgY29udGV4dDogeyBub3RpZmljYXRpb25Db3VudDogbm90aWZpY2F0aW9uQ291bnQgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgIDwvZmQtcG9wb3Zlcj5cblxuICAgICAgICA8ZmQtc2hlbGxiYXItYWN0aW9uXG4gICAgICAgICAgICAqbmdJZj1cIiFzZXR0aW5ncz8uSGlkZUxhbmd1YWdlICYmIGRldmljZVNpemUgIT09ICdzJ1wiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiJ3dvcmxkJ1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2xhbmd1YWdlJ1wiXG4gICAgICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcbiAgICAgICAgICAgIChjYWxsYmFjayk9XCIob25MYW5ndWFnZSlcIlxuICAgICAgICA+XG4gICAgICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNldHRpbmdzPy5IaWRlTGFuZ3VhZ2UgJiYgZGV2aWNlU2l6ZSA9PT0gJ3MnXCI+XG4gICAgICAgICAgICA8ZmQtc2hlbGxiYXItYWN0aW9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGN1bHR1cmUgb2YgY3VsdHVyZXMgfCBrZXl2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImN1bHR1cmUudmFsdWVcIlxuICAgICAgICAgICAgICAgIFtjYWxsYmFja109XCJvbkxhbmd1YWdlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1bHR1cmUtYWJicml2YXRpb25cIlxuICAgICAgICAgICAgICAgIFtnbHlwaF09XCJjdWx0dXJlLmtleVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ2ZsYWdzJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGZkLXByb2R1Y3Qtc3dpdGNoICpuZ0lmPVwicHJvZHVjdFN3aXRjaGVyLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxmZC1wcm9kdWN0LXN3aXRjaC1ib2R5IFtwcm9kdWN0c109XCJwcm9kdWN0U3dpdGNoZXJcIiBbZm9yY2VMaXN0TW9kZV09XCJkZXZpY2VTaXplID09PSAncydcIj5cbiAgICAgICAgICAgIDwvZmQtcHJvZHVjdC1zd2l0Y2gtYm9keT5cbiAgICAgICAgPC9mZC1wcm9kdWN0LXN3aXRjaD5cbiAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbnM+XG48L2ZkLXNoZWxsYmFyPlxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgIDxic3UtbWFzaz48L2JzdS1tYXNrPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGZkLW1lbnUgI21lbnU+XG4gICAgPHVsIGZkLWxpc3Q+XG4gICAgICAgIDxsaSBmZC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGN1bHR1cmUgb2YgY3VsdHVyZXMgfCBrZXl2YWx1ZVwiPlxuICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIChjbGljayk9XCJvbkN1bHR1cmVDaGFuZ2UoY3VsdHVyZS52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHdpZHRoPVwiMTRweFwiIGhlaWdodD1cIjEycHhcIiBbc3JjXT1cIicvYXNzZXRzL2ZsYWdzLycgKyBjdWx0dXJlLmtleSArICcucG5nJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3VsdHVyZS1hYmJyaXZhdGlvblwiIFtuZ0NsYXNzXT1cImN1bHR1cmUua2V5XCI+IHt7IGN1bHR1cmUua2V5IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9mZC1tZW51PlxuPG5nLXRlbXBsYXRlICNub3RpZmljYXRpb25Hcm91cFRwbCBsZXQtbm90aWZpY2F0aW9uQ291bnQ9XCJub3RpZmljYXRpb25Db3VudFwiPlxuICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMTAwcHhcIiAqbmdJZj1cIiFub3RpZmNhdGlvbkxvYWRlZCAmJiBub3RpZmljYXRpb25Mb2FkaW5nID09PSB0cnVlXCI+XG4gICAgICAgIDxic3UtbWFzayBzaXplPVwic1wiPjwvYnN1LW1hc2s+XG4gICAgPC9kaXY+XG4gICAgPGJ0LW5vdGlmaWNhdGlvbi1ncm91cFxuICAgICAgICBbbm90aWZpY2F0aW9uc109XCJub3RpZmljYXRpb25zXCJcbiAgICAgICAgW25vdGlmaWNhdGlvbkNvdW50XT1cIm5vdGlmaWNhdGlvbkNvdW50XCJcbiAgICAgICAgW2xvYWRpbmddPVwibm90aWZpY2F0aW9uTG9hZGluZyA9PT0gdHJ1ZVwiXG4gICAgICAgICh2aWV3ZWQpPVwib25Ob3RpZmljYXRpb25JdGVtVmlld2VkKCRldmVudClcIlxuICAgICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlTm90aWZpY2F0aW9ucygkZXZlbnQpXCJcbiAgICAgICAgKHNob3cpPVwicG9wb3ZlckNvbXBvbmVudC5jbG9zZSgpOyBvblNob3dOb3RpZmljYXRpb24oJGV2ZW50KVwiXG4gICAgICAgIChhY3Rpb25DbGljayk9XCJwb3BvdmVyQ29tcG9uZW50LmNsb3NlKCk7IG9uTm90aWZpY2F0aW9uQWN0aW9uKCRldmVudClcIlxuICAgICAgICAobG9hZE1vcmUpPVwib25Ob3RpZmljYXRpb25Mb2FkTW9yZSgpXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgPjwvYnQtbm90aWZpY2F0aW9uLWdyb3VwPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICNub3RpZmljYXRpb25zRGlhbG9nPlxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxoMSBpZD1cImZkLWRpYWxvZy1oZWFkZXItMTBcIiBmZC10aXRsZT57eyAnTm90aWZpY2F0aW9uJyB8IGJiYlRyYW5zbGF0ZSB9fTwvaDE+XG4gICAgICAgICAgICA8YnV0dG9uIGZkLWRpYWxvZy1jbG9zZS1idXR0b24gKGNsaWNrKT1cImRpYWxvZy5kaXNtaXNzKClcIj48L2J1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHkgY2xhc3M9XCJtb2JpbGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vdGlmaWNhdGlvbkdyb3VwVHBsOyBjb250ZXh0OiB7IG5vdGlmaWNhdGlvbkNvdW50OiBub3RpZmljYXRpb25Db3VudCB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cbiAgICA8L2ZkLWRpYWxvZz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -48,6 +48,7 @@ import { TilesViewerGroupComponent } from './tiles-viewer-group/tiles-viewer-gro
48
48
  import { FormTileComponent } from './form-tile/form-tile.component';
49
49
  import { NotificationGroupComponent } from './notification-group/notification-group.component';
50
50
  import { NotificationGroupHeaderComponent } from './notification-group-header/notification-group-header.component';
51
+ import { BarsaShellbarComponent } from './barsa-shellbar/barsa-shellbar.component';
51
52
  import * as i0 from "@angular/core";
52
53
  import * as i1 from "barsa-novin-ray-core";
53
54
  const components = [
@@ -80,7 +81,8 @@ const components = [
80
81
  AppFinderGroupComponent,
81
82
  AppFinderAppListComponent,
82
83
  TilesViewerGroupComponent,
83
- FormTileComponent
84
+ FormTileComponent,
85
+ BarsaShellbarComponent
84
86
  ];
85
87
  const pipes = [GroupTilesPipe, TileHomeFilterPipe, HomeGroupPipe, ActionLinksPipe, TilePropPipe];
86
88
  const directives = [EmptyListDirective, TileRendererDirective];
@@ -122,7 +124,8 @@ BarsaTilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
122
124
  AppFinderGroupComponent,
123
125
  AppFinderAppListComponent,
124
126
  TilesViewerGroupComponent,
125
- FormTileComponent, GroupTilesPipe, TileHomeFilterPipe, HomeGroupPipe, ActionLinksPipe, TilePropPipe, EmptyListDirective, TileRendererDirective, NotificationGroupComponent,
127
+ FormTileComponent,
128
+ BarsaShellbarComponent, GroupTilesPipe, TileHomeFilterPipe, HomeGroupPipe, ActionLinksPipe, TilePropPipe, EmptyListDirective, TileRendererDirective, NotificationGroupComponent,
126
129
  NotificationGroupHeaderComponent], imports: [CommonModule,
127
130
  FormsModule,
128
131
  DragDropModule,
@@ -161,7 +164,8 @@ BarsaTilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
161
164
  AppFinderGroupComponent,
162
165
  AppFinderAppListComponent,
163
166
  TilesViewerGroupComponent,
164
- FormTileComponent] });
167
+ FormTileComponent,
168
+ BarsaShellbarComponent] });
165
169
  BarsaTilesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTilesModule, providers: [TilesService, AppFinderService, LowerCasePipe], imports: [CommonModule,
166
170
  FormsModule,
167
171
  DragDropModule,
@@ -199,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
199
203
  exports: [...components]
200
204
  }]
201
205
  }], ctorParameters: function () { return [{ type: i1.DynamicComponentService }, { type: i0.ComponentFactoryResolver }]; } });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9iYXJzYS10aWxlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUs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QUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNyQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDO29CQUMxRCxZQUFZLEVBQUU7d0JBQ1YsR0FBRyxVQUFVO3dCQUNiLEdBQUcsS0FBSzt3QkFDUixHQUFHLFVBQVU7d0JBQ2IsMEJBQTBCO3dCQUMxQixnQ0FBZ0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTG93ZXJDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IENka1RhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgRnVuZGFtZW50YWxOZ3hDb3JlTW9kdWxlLCBHcmlkTGlzdE1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXJzYU5vdmluUmF5Q29yZU1vZHVsZSwgQmFzZU1vZHVsZSwgRHluYW1pY0NvbXBvbmVudFNlcnZpY2UgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IEJhcnNhU2FwVWlNb2R1bGUgfSBmcm9tICdiYXJzYS1zYXAtdWknO1xyXG5pbXBvcnQgeyBCYXJzYUVjaGFydHNNb2R1bGUgfSBmcm9tICdiYXJzYS1lY2hhcnRzJztcclxuXHJcbmltcG9ydCB7IFNoZWxsYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGVsbGJhci9zaGVsbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaWxlc1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdGlsZXMtdmlld2VyL3RpbGVzLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9maWxlVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vcHJvZmlsZS10aWxlL3Byb2ZpbGUtdGlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVUaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zaW1wbGUtdGlsZS9zaW1wbGUtdGlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGZWVkVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vZmVlZC10aWxlL2ZlZWQtdGlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb290ZXJUaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb290ZXItdGlsZS9mb290ZXItdGlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaWxlQ29tcG9uZW50IH0gZnJvbSAnLi90aWxlL3RpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9nb1RpbGVDb21wb25lbnQgfSBmcm9tICcuL2xvZ28tdGlsZS9sb2dvLXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnVtZXJpY1RpbGVDb21wb25lbnQgfSBmcm9tICcuL251bWVyaWMtdGlsZS9udW1lcmljLXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGlsZUhvbWVGaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy90aWxlLWhvbWUtZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBGb290ZXJFZGl0VGlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9vdGVyLWVkaXQtdGlsZS9mb290ZXItZWRpdC10aWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1BcHBGaW5kZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tYXBwLWZpbmRlci9mb3JtLWFwcC1maW5kZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGluVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vcGluLXRpbGUvcGluLXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR3JvdXBUaWxlc1BpcGUgfSBmcm9tICcuL3BpcGVzL2dyb3VwLXRpbGVzLnBpcGUnO1xyXG5pbXBvcnQgeyBIb21lR3JvdXBQaXBlIH0gZnJvbSAnLi9waXBlcy9ob21lLWdyb3VwLnBpcGUnO1xyXG5pbXBvcnQgeyBUaWxlUHJvcFBpcGUgfSBmcm9tICcuL3BpcGVzL3RpbGUtcHJvcC5waXBlJztcclxuXHJcbmltcG9ydCB7IFRpbGVzU2VydmljZSB9IGZyb20gJy4vdGlsZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEVtcHR5TGlzdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbXB0eWxpc3QuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ2hhbmdlQXBwVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vY2hhbmdlLWFwcC10aWxlL2NoYW5nZS1hcHAtdGlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDcmVhdGVBcHBHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY3JlYXRlLWFwcC1ncm91cC9jcmVhdGUtYXBwLWdyb3VwLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBNaWNyb1RpbGVDaGFydEJhckNvbXBvbmVudCB9IGZyb20gJy4vbWljcm8tdGlsZS1jaGFydC1iYXIvbWljcm8tdGlsZS1jaGFydC1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWljcm9UaWxlQ2hhcnRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9taWNyby10aWxlLWNoYXJ0LWFyZWEvbWljcm8tdGlsZS1jaGFydC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1pY3JvVGlsZUNoYXJ0Q2lyY3VsYXJDb21wb25lbnQgfSBmcm9tICcuL21pY3JvLXRpbGUtY2hhcnQtY2lyY3VsYXIvbWljcm8tdGlsZS1jaGFydC1jaXJjdWxhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNaWNyb1RpbGVDaGFydExpbmVDb21wb25lbnQgfSBmcm9tICcuL21pY3JvLXRpbGUtY2hhcnQtbGluZS9taWNyby10aWxlLWNoYXJ0LWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWljcm9UaWxlQ2hhcnRTdGFja2JhckNvbXBvbmVudCB9IGZyb20gJy4vbWljcm8tdGlsZS1jaGFydC1zdGFja2Jhci9taWNyby10aWxlLWNoYXJ0LXN0YWNrYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1pY3JvVGlsZUNoYXJ0Q29tcGFyaXNvbkNvbXBvbmVudCB9IGZyb20gJy4vbWljcm8tdGlsZS1jaGFydC1jb21wYXJpc29uL21pY3JvLXRpbGUtY2hhcnQtY29tcGFyaXNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZXdzVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vbmV3cy10aWxlL25ld3MtdGlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3Rpb25zTGlua0NvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9ucy1saW5rL2FjdGlvbnMtbGluay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3Rpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24taXRlbS9hY3Rpb24taXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNaWNyb1RpbGVDaGFydEJ1bGxldENvbXBvbmVudCB9IGZyb20gJy4vbWljcm8tdGlsZS1jaGFydC1idWxsZXQvbWljcm8tdGlsZS1jaGFydC1idWxsZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aW9uTGlua3NQaXBlIH0gZnJvbSAnLi9hY3Rpb24tbGlua3MucGlwZSc7XHJcbmltcG9ydCB7IEFwcEZpbmRlclNlcnZpY2UgfSBmcm9tICcuL2FwcC1maW5kZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFRpbGVzVmlld2VyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi90aWxlcy12aWV3ZXItY29udGFpbmVyL3RpbGVzLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwRmluZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAtZmluZGVyL2FwcC1maW5kZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwRmluZGVyR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2FwcC1maW5kZXItZ3JvdXAvYXBwLWZpbmRlci1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBGaW5kZXJBcHBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9hcHAtZmluZGVyLWFwcC1saXN0L2FwcC1maW5kZXItYXBwLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGlsZVJlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSAnLi90aWxlLXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRpbGVzVmlld2VyR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3RpbGVzLXZpZXdlci1ncm91cC90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybVRpbGVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tdGlsZS9mb3JtLXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1ncm91cC9ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uR3JvdXBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1ncm91cC1oZWFkZXIvbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgY29tcG9uZW50cyA9IFtcclxuICAgIFNoZWxsYmFyQ29tcG9uZW50LFxyXG4gICAgU2ltcGxlVGlsZUNvbXBvbmVudCxcclxuICAgIFRpbGVzVmlld2VyQ29tcG9uZW50LFxyXG4gICAgUHJvZmlsZVRpbGVDb21wb25lbnQsXHJcbiAgICBGZWVkVGlsZUNvbXBvbmVudCxcclxuICAgIEZvb3RlclRpbGVDb21wb25lbnQsXHJcbiAgICBUaWxlQ29tcG9uZW50LFxyXG4gICAgTG9nb1RpbGVDb21wb25lbnQsXHJcbiAgICBOdW1lcmljVGlsZUNvbXBvbmVudCxcclxuICAgIEZvb3RlckVkaXRUaWxlQ29tcG9uZW50LFxyXG4gICAgRm9ybUFwcEZpbmRlckNvbXBvbmVudCxcclxuICAgIFBpblRpbGVDb21wb25lbnQsXHJcbiAgICBDaGFuZ2VBcHBUaWxlQ29tcG9uZW50LFxyXG4gICAgQ3JlYXRlQXBwR3JvdXBDb21wb25lbnQsXHJcbiAgICBNaWNyb1RpbGVDaGFydEFyZWFDb21wb25lbnQsXHJcbiAgICBNaWNyb1RpbGVDaGFydENpcmN1bGFyQ29tcG9uZW50LFxyXG4gICAgTWljcm9UaWxlQ2hhcnRMaW5lQ29tcG9uZW50LFxyXG4gICAgTWljcm9UaWxlQ2hhcnRTdGFja2JhckNvbXBvbmVudCxcclxuICAgIE1pY3JvVGlsZUNoYXJ0Q29tcGFyaXNvbkNvbXBvbmVudCxcclxuICAgIE1pY3JvVGlsZUNoYXJ0QmFyQ29tcG9uZW50LFxyXG4gICAgTWljcm9UaWxlQ2hhcnRCdWxsZXRDb21wb25lbnQsXHJcbiAgICBUaWxlc1ZpZXdlckNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIE5ld3NUaWxlQ29tcG9uZW50LFxyXG4gICAgQWN0aW9uc0xpbmtDb21wb25lbnQsXHJcbiAgICBBY3Rpb25JdGVtQ29tcG9uZW50LFxyXG4gICAgQXBwRmluZGVyQ29tcG9uZW50LFxyXG4gICAgQXBwRmluZGVyR3JvdXBDb21wb25lbnQsXHJcbiAgICBBcHBGaW5kZXJBcHBMaXN0Q29tcG9uZW50LFxyXG4gICAgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudCxcclxuICAgIEZvcm1UaWxlQ29tcG9uZW50XHJcbl07XHJcbmNvbnN0IHBpcGVzID0gW0dyb3VwVGlsZXNQaXBlLCBUaWxlSG9tZUZpbHRlclBpcGUsIEhvbWVHcm91cFBpcGUsIEFjdGlvbkxpbmtzUGlwZSwgVGlsZVByb3BQaXBlXTtcclxuY29uc3QgZGlyZWN0aXZlcyA9IFtFbXB0eUxpc3REaXJlY3RpdmUsIFRpbGVSZW5kZXJlckRpcmVjdGl2ZV07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgc2NoZW1hczogW05PX0VSUk9SU19TQ0hFTUFdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgICAgICBDZGtUYWJsZU1vZHVsZSxcclxuICAgICAgICBGdW5kYW1lbnRhbE5neENvcmVNb2R1bGUsXHJcbiAgICAgICAgR3JpZExpc3RNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBCYXJzYU5vdmluUmF5Q29yZU1vZHVsZSxcclxuICAgICAgICBCYXJzYVNhcFVpTW9kdWxlLFxyXG4gICAgICAgIEJhcnNhRWNoYXJ0c01vZHVsZVxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1RpbGVzU2VydmljZSwgQXBwRmluZGVyU2VydmljZSwgTG93ZXJDYXNlUGlwZV0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgICAgIC4uLnBpcGVzLFxyXG4gICAgICAgIC4uLmRpcmVjdGl2ZXMsXHJcbiAgICAgICAgTm90aWZpY2F0aW9uR3JvdXBDb21wb25lbnQsXHJcbiAgICAgICAgTm90aWZpY2F0aW9uR3JvdXBIZWFkZXJDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhVGlsZXNNb2R1bGUgZXh0ZW5kcyBCYXNlTW9kdWxlIHtcclxuICAgIHByb3RlY3RlZCBkeW5hbWljQ29tcG9uZW50cyA9IFsuLi5jb21wb25lbnRzXTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGNtOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSwgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgICAgICAgc3VwZXIoZGNtLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsICdCYXJzYVRpbGVzTW9kdWxlJyk7XHJcbiAgICB9XHJcbn1cclxuIl19
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9iYXJzYS10aWxlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUs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QUFrQjsyRkFZYixnQkFBZ0I7a0JBeEI1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNyQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDO29CQUMxRCxZQUFZLEVBQUU7d0JBQ1YsR0FBRyxVQUFVO3dCQUNiLEdBQUcsS0FBSzt3QkFDUixHQUFHLFVBQVU7d0JBQ2IsMEJBQTBCO3dCQUMxQixnQ0FBZ0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBMb3dlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDZGtUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5pbXBvcnQgeyBGdW5kYW1lbnRhbE5neENvcmVNb2R1bGUsIEdyaWRMaXN0TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHsgQmFyc2FOb3ZpblJheUNvcmVNb2R1bGUsIEJhc2VNb2R1bGUsIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgQmFyc2FTYXBVaU1vZHVsZSB9IGZyb20gJ2JhcnNhLXNhcC11aSc7XG5pbXBvcnQgeyBCYXJzYUVjaGFydHNNb2R1bGUgfSBmcm9tICdiYXJzYS1lY2hhcnRzJztcblxuaW1wb3J0IHsgU2hlbGxiYXJDb21wb25lbnQgfSBmcm9tICcuL3NoZWxsYmFyL3NoZWxsYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaWxlc1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdGlsZXMtdmlld2VyL3RpbGVzLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZmlsZVRpbGVDb21wb25lbnQgfSBmcm9tICcuL3Byb2ZpbGUtdGlsZS9wcm9maWxlLXRpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNpbXBsZVRpbGVDb21wb25lbnQgfSBmcm9tICcuL3NpbXBsZS10aWxlL3NpbXBsZS10aWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWVkVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vZmVlZC10aWxlL2ZlZWQtdGlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9vdGVyVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9vdGVyLXRpbGUvZm9vdGVyLXRpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbGVDb21wb25lbnQgfSBmcm9tICcuL3RpbGUvdGlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9nb1RpbGVDb21wb25lbnQgfSBmcm9tICcuL2xvZ28tdGlsZS9sb2dvLXRpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IE51bWVyaWNUaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9udW1lcmljLXRpbGUvbnVtZXJpYy10aWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaWxlSG9tZUZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL3RpbGUtaG9tZS1maWx0ZXIucGlwZSc7XG5pbXBvcnQgeyBGb290ZXJFZGl0VGlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9vdGVyLWVkaXQtdGlsZS9mb290ZXItZWRpdC10aWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQXBwRmluZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWFwcC1maW5kZXIvZm9ybS1hcHAtZmluZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaW5UaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9waW4tdGlsZS9waW4tdGlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JvdXBUaWxlc1BpcGUgfSBmcm9tICcuL3BpcGVzL2dyb3VwLXRpbGVzLnBpcGUnO1xuaW1wb3J0IHsgSG9tZUdyb3VwUGlwZSB9IGZyb20gJy4vcGlwZXMvaG9tZS1ncm91cC5waXBlJztcbmltcG9ydCB7IFRpbGVQcm9wUGlwZSB9IGZyb20gJy4vcGlwZXMvdGlsZS1wcm9wLnBpcGUnO1xuXG5pbXBvcnQgeyBUaWxlc1NlcnZpY2UgfSBmcm9tICcuL3RpbGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW1wdHlMaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2VtcHR5bGlzdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2hhbmdlQXBwVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vY2hhbmdlLWFwcC10aWxlL2NoYW5nZS1hcHAtdGlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3JlYXRlQXBwR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NyZWF0ZS1hcHAtZ3JvdXAvY3JlYXRlLWFwcC1ncm91cC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBNaWNyb1RpbGVDaGFydEJhckNvbXBvbmVudCB9IGZyb20gJy4vbWljcm8tdGlsZS1jaGFydC1iYXIvbWljcm8tdGlsZS1jaGFydC1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1pY3JvVGlsZUNoYXJ0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vbWljcm8tdGlsZS1jaGFydC1hcmVhL21pY3JvLXRpbGUtY2hhcnQtYXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWljcm9UaWxlQ2hhcnRDaXJjdWxhckNvbXBvbmVudCB9IGZyb20gJy4vbWljcm8tdGlsZS1jaGFydC1jaXJjdWxhci9taWNyby10aWxlLWNoYXJ0LWNpcmN1bGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaWNyb1RpbGVDaGFydExpbmVDb21wb25lbnQgfSBmcm9tICcuL21pY3JvLXRpbGUtY2hhcnQtbGluZS9taWNyby10aWxlLWNoYXJ0LWxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IE1pY3JvVGlsZUNoYXJ0U3RhY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL21pY3JvLXRpbGUtY2hhcnQtc3RhY2tiYXIvbWljcm8tdGlsZS1jaGFydC1zdGFja2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWljcm9UaWxlQ2hhcnRDb21wYXJpc29uQ29tcG9uZW50IH0gZnJvbSAnLi9taWNyby10aWxlLWNoYXJ0LWNvbXBhcmlzb24vbWljcm8tdGlsZS1jaGFydC1jb21wYXJpc29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXdzVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vbmV3cy10aWxlL25ld3MtdGlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aW9uc0xpbmtDb21wb25lbnQgfSBmcm9tICcuL2FjdGlvbnMtbGluay9hY3Rpb25zLWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FjdGlvbi1pdGVtL2FjdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaWNyb1RpbGVDaGFydEJ1bGxldENvbXBvbmVudCB9IGZyb20gJy4vbWljcm8tdGlsZS1jaGFydC1idWxsZXQvbWljcm8tdGlsZS1jaGFydC1idWxsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbkxpbmtzUGlwZSB9IGZyb20gJy4vYWN0aW9uLWxpbmtzLnBpcGUnO1xuaW1wb3J0IHsgQXBwRmluZGVyU2VydmljZSB9IGZyb20gJy4vYXBwLWZpbmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRpbGVzVmlld2VyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi90aWxlcy12aWV3ZXItY29udGFpbmVyL3RpbGVzLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcEZpbmRlckNvbXBvbmVudCB9IGZyb20gJy4vYXBwLWZpbmRlci9hcHAtZmluZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBGaW5kZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vYXBwLWZpbmRlci1ncm91cC9hcHAtZmluZGVyLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBGaW5kZXJBcHBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9hcHAtZmluZGVyLWFwcC1saXN0L2FwcC1maW5kZXItYXBwLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbGVSZW5kZXJlckRpcmVjdGl2ZSB9IGZyb20gJy4vdGlsZS1yZW5kZXJlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vdGlsZXMtdmlld2VyLWdyb3VwL3RpbGVzLXZpZXdlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVRpbGVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tdGlsZS9mb3JtLXRpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb24tZ3JvdXAvbm90aWZpY2F0aW9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Hcm91cEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci9ub3RpZmljYXRpb24tZ3JvdXAtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVNoZWxsYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1zaGVsbGJhci9iYXJzYS1zaGVsbGJhci5jb21wb25lbnQnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICAgIFNoZWxsYmFyQ29tcG9uZW50LFxuICAgIFNpbXBsZVRpbGVDb21wb25lbnQsXG4gICAgVGlsZXNWaWV3ZXJDb21wb25lbnQsXG4gICAgUHJvZmlsZVRpbGVDb21wb25lbnQsXG4gICAgRmVlZFRpbGVDb21wb25lbnQsXG4gICAgRm9vdGVyVGlsZUNvbXBvbmVudCxcbiAgICBUaWxlQ29tcG9uZW50LFxuICAgIExvZ29UaWxlQ29tcG9uZW50LFxuICAgIE51bWVyaWNUaWxlQ29tcG9uZW50LFxuICAgIEZvb3RlckVkaXRUaWxlQ29tcG9uZW50LFxuICAgIEZvcm1BcHBGaW5kZXJDb21wb25lbnQsXG4gICAgUGluVGlsZUNvbXBvbmVudCxcbiAgICBDaGFuZ2VBcHBUaWxlQ29tcG9uZW50LFxuICAgIENyZWF0ZUFwcEdyb3VwQ29tcG9uZW50LFxuICAgIE1pY3JvVGlsZUNoYXJ0QXJlYUNvbXBvbmVudCxcbiAgICBNaWNyb1RpbGVDaGFydENpcmN1bGFyQ29tcG9uZW50LFxuICAgIE1pY3JvVGlsZUNoYXJ0TGluZUNvbXBvbmVudCxcbiAgICBNaWNyb1RpbGVDaGFydFN0YWNrYmFyQ29tcG9uZW50LFxuICAgIE1pY3JvVGlsZUNoYXJ0Q29tcGFyaXNvbkNvbXBvbmVudCxcbiAgICBNaWNyb1RpbGVDaGFydEJhckNvbXBvbmVudCxcbiAgICBNaWNyb1RpbGVDaGFydEJ1bGxldENvbXBvbmVudCxcbiAgICBUaWxlc1ZpZXdlckNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBOZXdzVGlsZUNvbXBvbmVudCxcbiAgICBBY3Rpb25zTGlua0NvbXBvbmVudCxcbiAgICBBY3Rpb25JdGVtQ29tcG9uZW50LFxuICAgIEFwcEZpbmRlckNvbXBvbmVudCxcbiAgICBBcHBGaW5kZXJHcm91cENvbXBvbmVudCxcbiAgICBBcHBGaW5kZXJBcHBMaXN0Q29tcG9uZW50LFxuICAgIFRpbGVzVmlld2VyR3JvdXBDb21wb25lbnQsXG4gICAgRm9ybVRpbGVDb21wb25lbnQsXG4gICAgQmFyc2FTaGVsbGJhckNvbXBvbmVudFxuXTtcbmNvbnN0IHBpcGVzID0gW0dyb3VwVGlsZXNQaXBlLCBUaWxlSG9tZUZpbHRlclBpcGUsIEhvbWVHcm91cFBpcGUsIEFjdGlvbkxpbmtzUGlwZSwgVGlsZVByb3BQaXBlXTtcbmNvbnN0IGRpcmVjdGl2ZXMgPSBbRW1wdHlMaXN0RGlyZWN0aXZlLCBUaWxlUmVuZGVyZXJEaXJlY3RpdmVdO1xuXG5ATmdNb2R1bGUoe1xuICAgIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxuICAgICAgICBDZGtUYWJsZU1vZHVsZSxcbiAgICAgICAgRnVuZGFtZW50YWxOZ3hDb3JlTW9kdWxlLFxuICAgICAgICBHcmlkTGlzdE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgQmFyc2FOb3ZpblJheUNvcmVNb2R1bGUsXG4gICAgICAgIEJhcnNhU2FwVWlNb2R1bGUsXG4gICAgICAgIEJhcnNhRWNoYXJ0c01vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbVGlsZXNTZXJ2aWNlLCBBcHBGaW5kZXJTZXJ2aWNlLCBMb3dlckNhc2VQaXBlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgLi4uY29tcG9uZW50cyxcbiAgICAgICAgLi4ucGlwZXMsXG4gICAgICAgIC4uLmRpcmVjdGl2ZXMsXG4gICAgICAgIE5vdGlmaWNhdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgICAgICBOb3RpZmljYXRpb25Hcm91cEhlYWRlckNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogWy4uLmNvbXBvbmVudHNdXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhVGlsZXNNb2R1bGUgZXh0ZW5kcyBCYXNlTW9kdWxlIHtcbiAgICBwcm90ZWN0ZWQgZHluYW1pY0NvbXBvbmVudHMgPSBbLi4uY29tcG9uZW50c107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGNtOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSwgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XG4gICAgICAgIHN1cGVyKGRjbSwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCAnQmFyc2FUaWxlc01vZHVsZScpO1xuICAgIH1cbn1cbiJdfQ==