new-front-common-library 18.0.2-REF1 → 18.0.2-REF3

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.
@@ -48,7 +48,7 @@ export class SettingsComponent {
48
48
  this.redirect.emit({ module: module, route: route });
49
49
  }
50
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: SettingsComponent, selector: "sc-settings", inputs: { lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { redirect: "redirect" }, ngImport: i0, template: "<span [matMenuTriggerFor]=\"settings\" class=\"material-icons-outlined header-icon\" style=\"width: 100%\">settings</span>\n\n<!-- #enddocregion mat-menu-trigger-for -->\n<mat-menu #settings=\"matMenu\" class=\"settings-menu\">\n <button (click)=\"switchTheme()\" mat-menu-item>\n <mat-icon class=\"theme-icon\">toggle_on</mat-icon>\n <span>{{ 'COMMON.HEADER.PARAMETERS.THEME' | commonTranslate: lang() }}</span>\n </button>\n\n <!-- Language -->\n @for (language of languagesAvailable; track lang()) {\n @if (lang() !== language) {\n <button class=\"img-btn\" (click)='switchLang(language)' mat-menu-item>\n <img class=\"mat-icon\" ngSrc=\"assets/img/flag/{{language}}-flag.png\" height=\"47\" width=\"70\" alt=\"\">\n <span>{{ language }}</span>\n </button>\n }\n }\n\n <ng-container *ngxPermissionsExcept=\"restrictions\">\n <!--USER-->\n @if (user && user.admin) {\n <button (click)=\"onRedirect('user', '/account/authorization/search')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">manage_accounts</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.SECTION_TITLE' | commonTranslate: lang() }}</span>\n </button>\n }\n </ng-container>\n <!--MY PREFERENCES-->\n <button (click)=\"onRedirect('user', '/account/settings')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">settings</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.SETTINGS' | commonTranslate: lang() }}</span>\n </button>\n <ng-container *ngxPermissionsExcept=\"restrictions\">\n <!--NOTIFICATIONS-->\n @if (user && user.admin) {\n <button (click)=\"onRedirect('user', '/notifications')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">announcement</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.NOTIFICATIONS' | commonTranslate: lang() }}</span>\n </button>\n }\n </ng-container>\n</mat-menu>\n", styles: [".header-icon{color:#009ef7;cursor:pointer;text-align:center;margin:0 4px}.header-separator{display:inline-block;height:25%}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC}:host-context(.dark-theme){background-color:#2a2d3e}:host-context(.dark-theme) .global-search{background:#34384c}:host-context(.dark-theme) .global-search-input{background:#34384c}:host-context(.dark-theme) .global-search-separator{border-right:2px solid #2A2D3E}:host-context(.dark-theme) .header-separator{border-right:2px solid #111219}::ng-deep .dark-theme .mat-autocomplete-global-search{background:#2a2d3e!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search:focus:not(.mat-option-disabled){background:#212332!important;color:#fff!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search{color:#fff!important}::ng-deep .dark-theme .global-search-input::placeholder{color:#a1b7d4!important}:host-context(.light-theme){background-color:#fff}:host-context(.light-theme) .global-search{background:#eff3f6}:host-context(.light-theme) .global-search-input{background:#eff3f6}:host-context(.light-theme) .global-search-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .header-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .global-search-input::placeholder{color:#445d7b!important}:host-context(.light-theme) .mat-toolbar{background-color:#fff}::ng-deep .light-theme .mat-mdc-option.mat-option-global-search:hover:not(.mdc-list-item--disabled){background:#d3dfec!important}.logo-unity{height:48px;width:48px}.global-search .header-icon{margin:0 10px}.global-search{display:flex;align-items:center;height:40px;background:#eff3f6;margin-left:5px;border-radius:8px;flex:1 1 0;width:auto;min-width:0}.global-search-input{background:#f3f6f9;border:none;margin-left:10px;font-size:14px!important}.global-search-input :focus{outline:none}.advanced-button{background:#7c87ff!important;color:#fff!important;width:90px;min-width:90px!important;height:24px!important;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;margin-right:5px;padding:0}.advanced-button .mat-icon{color:#fff!important;font-size:14px!important;height:unset;width:unset;margin-right:0}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-dev,#env-uat,#env-sbx,#env-local{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}.global-search-input::placeholder{font-style:italic!important;font-weight:700!important}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}::ng-deep .global-search .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .global-search .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:transparent!important}::ng-deep .global-search .mat-mdc-form-field.mat-form-field-appearance-fill .mat-mdc-form-field-focus-overlay{opacity:0!important}::ng-deep .global-search .mdc-line-ripple{display:none!important}::ng-deep .global-search .mat-mdc-form-field-infix{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important}.max-width-0{flex:1 1 0%;max-width:0%}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-20{flex:1 1 20%;max-width:20%}.max-width-25{flex:1 1 25%;max-width:25%}.max-width-30{flex:1 1 30%;max-width:30%}.max-width-35{flex:1 1 35%;max-width:35%}.max-width-40{flex:1 1 40%;max-width:40%}.max-width-45{flex:1 1 45%;max-width:45%}.max-width-50{flex:1 1 50%;max-width:50%}.max-width-55{flex:1 1 55%;max-width:55%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-65{flex:1 1 65%;max-width:65%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-80{flex:1 1 80%;max-width:80%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-90{flex:1 1 90%;max-width:90%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}.spacer{flex:1 1 auto}.toolbar-header{height:64px;position:absolute;padding:0 16px!important;z-index:999}.menu-header{max-width:70%;overflow:hidden;max-height:60px}::ng-deep .settings-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{height:24px;width:24px;display:flex;justify-content:center;align-items:center;margin-right:15px;font-size:18px}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn .mat-mdc-menu-item-text{display:flex;justify-content:start;align-items:center}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn img{height:12px!important;width:auto!important;display:block!important;padding-left:3px;margin-right:17px!important}.theme-icon{font-size:24px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i4.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "pipe", type: i5.CommonTranslatePipe, name: "commonTranslate" }] }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: SettingsComponent, selector: "sc-settings", inputs: { lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { redirect: "redirect" }, ngImport: i0, template: "<span [matMenuTriggerFor]=\"settings\" class=\"material-icons-outlined header-icon\" style=\"width: 100%\">settings</span>\n\n<!-- #enddocregion mat-menu-trigger-for -->\n<mat-menu #settings=\"matMenu\" class=\"settings-menu\">\n <button (click)=\"switchTheme()\" mat-menu-item>\n <mat-icon class=\"theme-icon\">toggle_on</mat-icon>\n <span>{{ 'COMMON.HEADER.PARAMETERS.THEME' | commonTranslate: lang() }}</span>\n </button>\n\n <!-- Language -->\n @for (language of languagesAvailable; track language) {\n @if (lang() !== language) {\n <button class=\"img-btn\" (click)='switchLang(language)' mat-menu-item>\n <img class=\"mat-icon\" ngSrc=\"assets/img/flag/{{language}}-flag.png\" height=\"47\" width=\"70\" alt=\"\">\n <span>{{ language }}</span>\n </button>\n }\n }\n\n <ng-container *ngxPermissionsExcept=\"restrictions\">\n <!--USER-->\n @if (user && user.admin) {\n <button (click)=\"onRedirect('user', '/account/authorization/search')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">manage_accounts</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.SECTION_TITLE' | commonTranslate: lang() }}</span>\n </button>\n }\n </ng-container>\n <!--MY PREFERENCES-->\n <button (click)=\"onRedirect('user', '/account/settings')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">settings</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.SETTINGS' | commonTranslate: lang() }}</span>\n </button>\n <ng-container *ngxPermissionsExcept=\"restrictions\">\n <!--NOTIFICATIONS-->\n @if (user && user.admin) {\n <button (click)=\"onRedirect('user', '/notifications')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">announcement</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.NOTIFICATIONS' | commonTranslate: lang() }}</span>\n </button>\n }\n </ng-container>\n</mat-menu>\n", styles: [".header-icon{color:#009ef7;cursor:pointer;text-align:center;margin:0 4px}.header-separator{display:inline-block;height:25%}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC}:host-context(.dark-theme){background-color:#2a2d3e}:host-context(.dark-theme) .global-search{background:#34384c}:host-context(.dark-theme) .global-search-input{background:#34384c}:host-context(.dark-theme) .global-search-separator{border-right:2px solid #2A2D3E}:host-context(.dark-theme) .header-separator{border-right:2px solid #111219}::ng-deep .dark-theme .mat-autocomplete-global-search{background:#2a2d3e!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search:focus:not(.mat-option-disabled){background:#212332!important;color:#fff!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search{color:#fff!important}::ng-deep .dark-theme .global-search-input::placeholder{color:#a1b7d4!important}:host-context(.light-theme){background-color:#fff}:host-context(.light-theme) .global-search{background:#eff3f6}:host-context(.light-theme) .global-search-input{background:#eff3f6}:host-context(.light-theme) .global-search-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .header-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .global-search-input::placeholder{color:#445d7b!important}:host-context(.light-theme) .mat-toolbar{background-color:#fff}::ng-deep .light-theme .mat-mdc-option.mat-option-global-search:hover:not(.mdc-list-item--disabled){background:#d3dfec!important}.logo-unity{height:48px;width:48px}.global-search .header-icon{margin:0 10px}.global-search{display:flex;align-items:center;height:40px;background:#eff3f6;margin-left:5px;border-radius:8px;flex:1 1 0;width:auto;min-width:0}.global-search-input{background:#f3f6f9;border:none;margin-left:10px;font-size:14px!important}.global-search-input :focus{outline:none}.advanced-button{background:#7c87ff!important;color:#fff!important;width:90px;min-width:90px!important;height:24px!important;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;margin-right:5px;padding:0}.advanced-button .mat-icon{color:#fff!important;font-size:14px!important;height:unset;width:unset;margin-right:0}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-dev,#env-uat,#env-sbx,#env-local{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}.global-search-input::placeholder{font-style:italic!important;font-weight:700!important}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}::ng-deep .global-search .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .global-search .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:transparent!important}::ng-deep .global-search .mat-mdc-form-field.mat-form-field-appearance-fill .mat-mdc-form-field-focus-overlay{opacity:0!important}::ng-deep .global-search .mdc-line-ripple{display:none!important}::ng-deep .global-search .mat-mdc-form-field-infix{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important}.max-width-0{flex:1 1 0%;max-width:0%}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-20{flex:1 1 20%;max-width:20%}.max-width-25{flex:1 1 25%;max-width:25%}.max-width-30{flex:1 1 30%;max-width:30%}.max-width-35{flex:1 1 35%;max-width:35%}.max-width-40{flex:1 1 40%;max-width:40%}.max-width-45{flex:1 1 45%;max-width:45%}.max-width-50{flex:1 1 50%;max-width:50%}.max-width-55{flex:1 1 55%;max-width:55%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-65{flex:1 1 65%;max-width:65%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-80{flex:1 1 80%;max-width:80%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-90{flex:1 1 90%;max-width:90%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}.spacer{flex:1 1 auto}.toolbar-header{height:64px;position:absolute;padding:0 16px!important;z-index:999}.menu-header{max-width:70%;overflow:hidden;max-height:60px}::ng-deep .settings-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{height:24px;width:24px;display:flex;justify-content:center;align-items:center;margin-right:15px;font-size:18px}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn .mat-mdc-menu-item-text{display:flex;justify-content:start;align-items:center}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn img{height:12px!important;width:auto!important;display:block!important;padding-left:3px;margin-right:17px!important}.theme-icon{font-size:24px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i4.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "pipe", type: i5.CommonTranslatePipe, name: "commonTranslate" }] }); }
52
52
  }
53
53
  __decorate([
54
54
  Theme()
@@ -58,6 +58,6 @@ __decorate([
58
58
  ], SettingsComponent.prototype, "user", void 0);
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SettingsComponent, decorators: [{
60
60
  type: Component,
61
- args: [{ selector: 'sc-settings', template: "<span [matMenuTriggerFor]=\"settings\" class=\"material-icons-outlined header-icon\" style=\"width: 100%\">settings</span>\n\n<!-- #enddocregion mat-menu-trigger-for -->\n<mat-menu #settings=\"matMenu\" class=\"settings-menu\">\n <button (click)=\"switchTheme()\" mat-menu-item>\n <mat-icon class=\"theme-icon\">toggle_on</mat-icon>\n <span>{{ 'COMMON.HEADER.PARAMETERS.THEME' | commonTranslate: lang() }}</span>\n </button>\n\n <!-- Language -->\n @for (language of languagesAvailable; track lang()) {\n @if (lang() !== language) {\n <button class=\"img-btn\" (click)='switchLang(language)' mat-menu-item>\n <img class=\"mat-icon\" ngSrc=\"assets/img/flag/{{language}}-flag.png\" height=\"47\" width=\"70\" alt=\"\">\n <span>{{ language }}</span>\n </button>\n }\n }\n\n <ng-container *ngxPermissionsExcept=\"restrictions\">\n <!--USER-->\n @if (user && user.admin) {\n <button (click)=\"onRedirect('user', '/account/authorization/search')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">manage_accounts</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.SECTION_TITLE' | commonTranslate: lang() }}</span>\n </button>\n }\n </ng-container>\n <!--MY PREFERENCES-->\n <button (click)=\"onRedirect('user', '/account/settings')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">settings</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.SETTINGS' | commonTranslate: lang() }}</span>\n </button>\n <ng-container *ngxPermissionsExcept=\"restrictions\">\n <!--NOTIFICATIONS-->\n @if (user && user.admin) {\n <button (click)=\"onRedirect('user', '/notifications')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">announcement</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.NOTIFICATIONS' | commonTranslate: lang() }}</span>\n </button>\n }\n </ng-container>\n</mat-menu>\n", styles: [".header-icon{color:#009ef7;cursor:pointer;text-align:center;margin:0 4px}.header-separator{display:inline-block;height:25%}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC}:host-context(.dark-theme){background-color:#2a2d3e}:host-context(.dark-theme) .global-search{background:#34384c}:host-context(.dark-theme) .global-search-input{background:#34384c}:host-context(.dark-theme) .global-search-separator{border-right:2px solid #2A2D3E}:host-context(.dark-theme) .header-separator{border-right:2px solid #111219}::ng-deep .dark-theme .mat-autocomplete-global-search{background:#2a2d3e!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search:focus:not(.mat-option-disabled){background:#212332!important;color:#fff!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search{color:#fff!important}::ng-deep .dark-theme .global-search-input::placeholder{color:#a1b7d4!important}:host-context(.light-theme){background-color:#fff}:host-context(.light-theme) .global-search{background:#eff3f6}:host-context(.light-theme) .global-search-input{background:#eff3f6}:host-context(.light-theme) .global-search-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .header-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .global-search-input::placeholder{color:#445d7b!important}:host-context(.light-theme) .mat-toolbar{background-color:#fff}::ng-deep .light-theme .mat-mdc-option.mat-option-global-search:hover:not(.mdc-list-item--disabled){background:#d3dfec!important}.logo-unity{height:48px;width:48px}.global-search .header-icon{margin:0 10px}.global-search{display:flex;align-items:center;height:40px;background:#eff3f6;margin-left:5px;border-radius:8px;flex:1 1 0;width:auto;min-width:0}.global-search-input{background:#f3f6f9;border:none;margin-left:10px;font-size:14px!important}.global-search-input :focus{outline:none}.advanced-button{background:#7c87ff!important;color:#fff!important;width:90px;min-width:90px!important;height:24px!important;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;margin-right:5px;padding:0}.advanced-button .mat-icon{color:#fff!important;font-size:14px!important;height:unset;width:unset;margin-right:0}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-dev,#env-uat,#env-sbx,#env-local{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}.global-search-input::placeholder{font-style:italic!important;font-weight:700!important}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}::ng-deep .global-search .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .global-search .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:transparent!important}::ng-deep .global-search .mat-mdc-form-field.mat-form-field-appearance-fill .mat-mdc-form-field-focus-overlay{opacity:0!important}::ng-deep .global-search .mdc-line-ripple{display:none!important}::ng-deep .global-search .mat-mdc-form-field-infix{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important}.max-width-0{flex:1 1 0%;max-width:0%}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-20{flex:1 1 20%;max-width:20%}.max-width-25{flex:1 1 25%;max-width:25%}.max-width-30{flex:1 1 30%;max-width:30%}.max-width-35{flex:1 1 35%;max-width:35%}.max-width-40{flex:1 1 40%;max-width:40%}.max-width-45{flex:1 1 45%;max-width:45%}.max-width-50{flex:1 1 50%;max-width:50%}.max-width-55{flex:1 1 55%;max-width:55%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-65{flex:1 1 65%;max-width:65%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-80{flex:1 1 80%;max-width:80%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-90{flex:1 1 90%;max-width:90%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}.spacer{flex:1 1 auto}.toolbar-header{height:64px;position:absolute;padding:0 16px!important;z-index:999}.menu-header{max-width:70%;overflow:hidden;max-height:60px}::ng-deep .settings-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{height:24px;width:24px;display:flex;justify-content:center;align-items:center;margin-right:15px;font-size:18px}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn .mat-mdc-menu-item-text{display:flex;justify-content:start;align-items:center}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn img{height:12px!important;width:auto!important;display:block!important;padding-left:3px;margin-right:17px!important}.theme-icon{font-size:24px!important}\n"] }]
61
+ args: [{ selector: 'sc-settings', template: "<span [matMenuTriggerFor]=\"settings\" class=\"material-icons-outlined header-icon\" style=\"width: 100%\">settings</span>\n\n<!-- #enddocregion mat-menu-trigger-for -->\n<mat-menu #settings=\"matMenu\" class=\"settings-menu\">\n <button (click)=\"switchTheme()\" mat-menu-item>\n <mat-icon class=\"theme-icon\">toggle_on</mat-icon>\n <span>{{ 'COMMON.HEADER.PARAMETERS.THEME' | commonTranslate: lang() }}</span>\n </button>\n\n <!-- Language -->\n @for (language of languagesAvailable; track language) {\n @if (lang() !== language) {\n <button class=\"img-btn\" (click)='switchLang(language)' mat-menu-item>\n <img class=\"mat-icon\" ngSrc=\"assets/img/flag/{{language}}-flag.png\" height=\"47\" width=\"70\" alt=\"\">\n <span>{{ language }}</span>\n </button>\n }\n }\n\n <ng-container *ngxPermissionsExcept=\"restrictions\">\n <!--USER-->\n @if (user && user.admin) {\n <button (click)=\"onRedirect('user', '/account/authorization/search')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">manage_accounts</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.SECTION_TITLE' | commonTranslate: lang() }}</span>\n </button>\n }\n </ng-container>\n <!--MY PREFERENCES-->\n <button (click)=\"onRedirect('user', '/account/settings')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">settings</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.SETTINGS' | commonTranslate: lang() }}</span>\n </button>\n <ng-container *ngxPermissionsExcept=\"restrictions\">\n <!--NOTIFICATIONS-->\n @if (user && user.admin) {\n <button (click)=\"onRedirect('user', '/notifications')\" mat-menu-item>\n <mat-icon class=\"material-icons-outlined\">announcement</mat-icon>\n <span>{{ 'COMMON.HEADER.MENU.USER.NOTIFICATIONS' | commonTranslate: lang() }}</span>\n </button>\n }\n </ng-container>\n</mat-menu>\n", styles: [".header-icon{color:#009ef7;cursor:pointer;text-align:center;margin:0 4px}.header-separator{display:inline-block;height:25%}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC}:host-context(.dark-theme){background-color:#2a2d3e}:host-context(.dark-theme) .global-search{background:#34384c}:host-context(.dark-theme) .global-search-input{background:#34384c}:host-context(.dark-theme) .global-search-separator{border-right:2px solid #2A2D3E}:host-context(.dark-theme) .header-separator{border-right:2px solid #111219}::ng-deep .dark-theme .mat-autocomplete-global-search{background:#2a2d3e!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search:focus:not(.mat-option-disabled){background:#212332!important;color:#fff!important}::ng-deep .dark-theme .mat-mdc-option.mat-option-global-search{color:#fff!important}::ng-deep .dark-theme .global-search-input::placeholder{color:#a1b7d4!important}:host-context(.light-theme){background-color:#fff}:host-context(.light-theme) .global-search{background:#eff3f6}:host-context(.light-theme) .global-search-input{background:#eff3f6}:host-context(.light-theme) .global-search-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .header-separator{border-right:2px solid #D3DFEC}:host-context(.light-theme) .global-search-input::placeholder{color:#445d7b!important}:host-context(.light-theme) .mat-toolbar{background-color:#fff}::ng-deep .light-theme .mat-mdc-option.mat-option-global-search:hover:not(.mdc-list-item--disabled){background:#d3dfec!important}.logo-unity{height:48px;width:48px}.global-search .header-icon{margin:0 10px}.global-search{display:flex;align-items:center;height:40px;background:#eff3f6;margin-left:5px;border-radius:8px;flex:1 1 0;width:auto;min-width:0}.global-search-input{background:#f3f6f9;border:none;margin-left:10px;font-size:14px!important}.global-search-input :focus{outline:none}.advanced-button{background:#7c87ff!important;color:#fff!important;width:90px;min-width:90px!important;height:24px!important;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;margin-right:5px;padding:0}.advanced-button .mat-icon{color:#fff!important;font-size:14px!important;height:unset;width:unset;margin-right:0}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-dev,#env-uat,#env-sbx,#env-local{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}.global-search-input::placeholder{font-style:italic!important;font-weight:700!important}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}::ng-deep .global-search .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .global-search .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:transparent!important}::ng-deep .global-search .mat-mdc-form-field.mat-form-field-appearance-fill .mat-mdc-form-field-focus-overlay{opacity:0!important}::ng-deep .global-search .mdc-line-ripple{display:none!important}::ng-deep .global-search .mat-mdc-form-field-infix{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important}.max-width-0{flex:1 1 0%;max-width:0%}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-20{flex:1 1 20%;max-width:20%}.max-width-25{flex:1 1 25%;max-width:25%}.max-width-30{flex:1 1 30%;max-width:30%}.max-width-35{flex:1 1 35%;max-width:35%}.max-width-40{flex:1 1 40%;max-width:40%}.max-width-45{flex:1 1 45%;max-width:45%}.max-width-50{flex:1 1 50%;max-width:50%}.max-width-55{flex:1 1 55%;max-width:55%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-65{flex:1 1 65%;max-width:65%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-80{flex:1 1 80%;max-width:80%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-90{flex:1 1 90%;max-width:90%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}.spacer{flex:1 1 auto}.toolbar-header{height:64px;position:absolute;padding:0 16px!important;z-index:999}.menu-header{max-width:70%;overflow:hidden;max-height:60px}::ng-deep .settings-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{height:24px;width:24px;display:flex;justify-content:center;align-items:center;margin-right:15px;font-size:18px}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn .mat-mdc-menu-item-text{display:flex;justify-content:start;align-items:center}::ng-deep .settings-menu.mat-mdc-menu-panel .img-btn img{height:12px!important;width:auto!important;display:block!important;padding-left:3px;margin-right:17px!important}.theme-icon{font-size:24px!important}\n"] }]
62
62
  }], propDecorators: { theme: [], user: [] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvaGVhZGVyL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7QUFRNUQsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQU1FLFNBQUksR0FBd0IsS0FBSyxFQUFVLENBQUM7UUFDNUMsYUFBUSxHQUE2QyxNQUFNLEVBQTBCLENBQUM7UUFLL0UsdUJBQWtCLEdBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3hELGlCQUFZLEdBQWEsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBRWpELHdCQUFtQixHQUF3QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2RSxxQkFBZ0IsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUQscUJBQWdCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELGdCQUFXLEdBQWdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQTJCakU7SUF6QlEsV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLGdCQUFnQjtpQkFDbEIsbUJBQW1CLEVBQUU7aUJBQ3JCLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2xCLG1CQUFtQixFQUFFO2lCQUNyQixTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUUsQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFjLEVBQUUsS0FBYTtRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzsrR0F2Q1UsaUJBQWlCO21HQUFqQixpQkFBaUIsdU5DZjlCLDAzREEyQ0E7O0FEeEJrQjtJQUFmLEtBQUssRUFBRTtnREFBc0I7QUFDZjtJQUFkLElBQUksRUFBRTsrQ0FBNEI7NEZBTHhCLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxhQUFhOzhCQVFQLEtBQUssTUFDTixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbCwgb3V0cHV0LCBPdXRwdXRFbWl0dGVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4uLy4uLy4uL2RlY29yYXRvcnMvdXNlci5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IEF1dGhVc2VyTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS1sYW5ndWFnZS9sYW5nLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRoZW1lIH0gZnJvbSBcIi4uLy4uLy4uL2RlY29yYXRvcnMvdGhlbWUuZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBMaW5rUm91dGluZ01vZHVsZU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9saW5rLXJvdXRpbmctbW9kdWxlLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NjLXNldHRpbmdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IHtcbiAgbGFuZzogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVkaXJlY3Q6IE91dHB1dEVtaXR0ZXJSZWY8TGlua1JvdXRpbmdNb2R1bGVNb2RlbD4gPSBvdXRwdXQ8TGlua1JvdXRpbmdNb2R1bGVNb2RlbD4oKTtcblxuICBAVGhlbWUoKSBwdWJsaWMgdGhlbWU6IHN0cmluZztcbiAgQFVzZXIoKSBwdWJsaWMgdXNlcjogQXV0aFVzZXJNb2RlbDtcblxuICBwdWJsaWMgbGFuZ3VhZ2VzQXZhaWxhYmxlOiBzdHJpbmdbXSA9IFtcImVuXCIsIFwiZnJcIiwgXCJkZVwiXVxuICByZXN0cmljdGlvbnM6IHN0cmluZ1tdID0gWydDQU5BTF9QTFVTX0lOVEVSTkFUSU9OQUxfUkVTVFJJQ1RJT04nXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5Q29udGFpbmVyOiBPdmVybGF5Q29udGFpbmVyID0gaW5qZWN0KE92ZXJsYXlDb250YWluZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSA9IGluamVjdChMYW5nU2VydmljZSk7XG5cbiAgcHVibGljIHN3aXRjaFRoZW1lKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRoZW1lID09PSAnZGFyaycpIHtcbiAgICAgIHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5wb3N0KCduZXdUaGVtZScsICdsaWdodCcpO1xuICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyXG4gICAgICAgIC5nZXRDb250YWluZXJFbGVtZW50KClcbiAgICAgICAgLmNsYXNzTGlzdC5yZW1vdmUoJ2RhcmstdGhlbWUnKTtcbiAgICAgIHRoaXMub3ZlcmxheUNvbnRhaW5lci5nZXRDb250YWluZXJFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnbGlnaHQtdGhlbWUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnBvc3QoJ25ld1RoZW1lJywgJ2RhcmsnKTtcbiAgICAgIHRoaXMub3ZlcmxheUNvbnRhaW5lclxuICAgICAgICAuZ2V0Q29udGFpbmVyRWxlbWVudCgpXG4gICAgICAgIC5jbGFzc0xpc3QucmVtb3ZlKCdsaWdodC10aGVtZScpO1xuICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdkYXJrLXRoZW1lJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN3aXRjaExhbmcobGFuZzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnBvc3QoJ2xhbmcnLCBsYW5nKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgIHRoaXMubGFuZ1NlcnZpY2Uuc3dpdGNoTGFuZygpO1xuICB9XG5cbiAgb25SZWRpcmVjdChtb2R1bGU6IHN0cmluZywgcm91dGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVkaXJlY3QuZW1pdCh7bW9kdWxlOiBtb2R1bGUsIHJvdXRlOiByb3V0ZX0pO1xuICB9XG59XG4iLCI8c3BhbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2V0dGluZ3NcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIGhlYWRlci1pY29uXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPnNldHRpbmdzPC9zcGFuPlxuXG48IS0tICNlbmRkb2NyZWdpb24gbWF0LW1lbnUtdHJpZ2dlci1mb3IgLS0+XG48bWF0LW1lbnUgI3NldHRpbmdzPVwibWF0TWVudVwiIGNsYXNzPVwic2V0dGluZ3MtbWVudVwiPlxuICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hUaGVtZSgpXCIgbWF0LW1lbnUtaXRlbT5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJ0aGVtZS1pY29uXCI+dG9nZ2xlX29uPC9tYXQtaWNvbj5cbiAgICA8c3Bhbj57eyAnQ09NTU9OLkhFQURFUi5QQVJBTUVURVJTLlRIRU1FJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZygpIH19PC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8IS0tIExhbmd1YWdlIC0tPlxuICBAZm9yIChsYW5ndWFnZSBvZiBsYW5ndWFnZXNBdmFpbGFibGU7IHRyYWNrIGxhbmcoKSkge1xuICAgIEBpZiAobGFuZygpICE9PSBsYW5ndWFnZSkge1xuICAgICAgPGJ1dHRvbiBjbGFzcz1cImltZy1idG5cIiAoY2xpY2spPSdzd2l0Y2hMYW5nKGxhbmd1YWdlKScgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPGltZyBjbGFzcz1cIm1hdC1pY29uXCIgbmdTcmM9XCJhc3NldHMvaW1nL2ZsYWcve3tsYW5ndWFnZX19LWZsYWcucG5nXCIgaGVpZ2h0PVwiNDdcIiB3aWR0aD1cIjcwXCIgYWx0PVwiXCI+XG4gICAgICAgIDxzcGFuPnt7IGxhbmd1YWdlIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICB9XG5cbiAgPG5nLWNvbnRhaW5lciAqbmd4UGVybWlzc2lvbnNFeGNlcHQ9XCJyZXN0cmljdGlvbnNcIj5cbiAgICA8IS0tVVNFUi0tPlxuICAgIEBpZiAodXNlciAmJiB1c2VyLmFkbWluKSB7XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJvblJlZGlyZWN0KCd1c2VyJywgJy9hY2NvdW50L2F1dGhvcml6YXRpb24vc2VhcmNoJylcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPm1hbmFnZV9hY2NvdW50czwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuVVNFUi5TRUNUSU9OX1RJVExFJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZygpIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLU1ZIFBSRUZFUkVOQ0VTLS0+XG4gIDxidXR0b24gKGNsaWNrKT1cIm9uUmVkaXJlY3QoJ3VzZXInLCAnL2FjY291bnQvc2V0dGluZ3MnKVwiIG1hdC1tZW51LWl0ZW0+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5zZXR0aW5nczwvbWF0LWljb24+XG4gICAgPHNwYW4+e3sgJ0NPTU1PTi5IRUFERVIuTUVOVS5VU0VSLlNFVFRJTkdTJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZygpIH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPG5nLWNvbnRhaW5lciAqbmd4UGVybWlzc2lvbnNFeGNlcHQ9XCJyZXN0cmljdGlvbnNcIj5cbiAgICA8IS0tTk9USUZJQ0FUSU9OUy0tPlxuICAgIEBpZiAodXNlciAmJiB1c2VyLmFkbWluKSB7XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwib25SZWRpcmVjdCgndXNlcicsICcvbm90aWZpY2F0aW9ucycpXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+YW5ub3VuY2VtZW50PC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuVVNFUi5OT1RJRklDQVRJT05TJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZygpIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9uZy1jb250YWluZXI+XG48L21hdC1tZW51PlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvaGVhZGVyL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7QUFRNUQsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQU1FLFNBQUksR0FBd0IsS0FBSyxFQUFVLENBQUM7UUFDNUMsYUFBUSxHQUE2QyxNQUFNLEVBQTBCLENBQUM7UUFLL0UsdUJBQWtCLEdBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3hELGlCQUFZLEdBQWEsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBRWpELHdCQUFtQixHQUF3QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2RSxxQkFBZ0IsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUQscUJBQWdCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELGdCQUFXLEdBQWdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQTJCakU7SUF6QlEsV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLGdCQUFnQjtpQkFDbEIsbUJBQW1CLEVBQUU7aUJBQ3JCLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2xCLG1CQUFtQixFQUFFO2lCQUNyQixTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUUsQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFjLEVBQUUsS0FBYTtRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzsrR0F2Q1UsaUJBQWlCO21HQUFqQixpQkFBaUIsdU5DZjlCLDQzREEyQ0E7O0FEeEJrQjtJQUFmLEtBQUssRUFBRTtnREFBc0I7QUFDZjtJQUFkLElBQUksRUFBRTsrQ0FBNEI7NEZBTHhCLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxhQUFhOzhCQVFQLEtBQUssTUFDTixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbCwgb3V0cHV0LCBPdXRwdXRFbWl0dGVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4uLy4uLy4uL2RlY29yYXRvcnMvdXNlci5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IEF1dGhVc2VyTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS1sYW5ndWFnZS9sYW5nLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRoZW1lIH0gZnJvbSBcIi4uLy4uLy4uL2RlY29yYXRvcnMvdGhlbWUuZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBMaW5rUm91dGluZ01vZHVsZU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9saW5rLXJvdXRpbmctbW9kdWxlLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NjLXNldHRpbmdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IHtcbiAgbGFuZzogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVkaXJlY3Q6IE91dHB1dEVtaXR0ZXJSZWY8TGlua1JvdXRpbmdNb2R1bGVNb2RlbD4gPSBvdXRwdXQ8TGlua1JvdXRpbmdNb2R1bGVNb2RlbD4oKTtcblxuICBAVGhlbWUoKSBwdWJsaWMgdGhlbWU6IHN0cmluZztcbiAgQFVzZXIoKSBwdWJsaWMgdXNlcjogQXV0aFVzZXJNb2RlbDtcblxuICBwdWJsaWMgbGFuZ3VhZ2VzQXZhaWxhYmxlOiBzdHJpbmdbXSA9IFtcImVuXCIsIFwiZnJcIiwgXCJkZVwiXVxuICByZXN0cmljdGlvbnM6IHN0cmluZ1tdID0gWydDQU5BTF9QTFVTX0lOVEVSTkFUSU9OQUxfUkVTVFJJQ1RJT04nXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5Q29udGFpbmVyOiBPdmVybGF5Q29udGFpbmVyID0gaW5qZWN0KE92ZXJsYXlDb250YWluZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSA9IGluamVjdChMYW5nU2VydmljZSk7XG5cbiAgcHVibGljIHN3aXRjaFRoZW1lKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRoZW1lID09PSAnZGFyaycpIHtcbiAgICAgIHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5wb3N0KCduZXdUaGVtZScsICdsaWdodCcpO1xuICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyXG4gICAgICAgIC5nZXRDb250YWluZXJFbGVtZW50KClcbiAgICAgICAgLmNsYXNzTGlzdC5yZW1vdmUoJ2RhcmstdGhlbWUnKTtcbiAgICAgIHRoaXMub3ZlcmxheUNvbnRhaW5lci5nZXRDb250YWluZXJFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnbGlnaHQtdGhlbWUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnBvc3QoJ25ld1RoZW1lJywgJ2RhcmsnKTtcbiAgICAgIHRoaXMub3ZlcmxheUNvbnRhaW5lclxuICAgICAgICAuZ2V0Q29udGFpbmVyRWxlbWVudCgpXG4gICAgICAgIC5jbGFzc0xpc3QucmVtb3ZlKCdsaWdodC10aGVtZScpO1xuICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdkYXJrLXRoZW1lJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN3aXRjaExhbmcobGFuZzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnBvc3QoJ2xhbmcnLCBsYW5nKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgIHRoaXMubGFuZ1NlcnZpY2Uuc3dpdGNoTGFuZygpO1xuICB9XG5cbiAgb25SZWRpcmVjdChtb2R1bGU6IHN0cmluZywgcm91dGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVkaXJlY3QuZW1pdCh7bW9kdWxlOiBtb2R1bGUsIHJvdXRlOiByb3V0ZX0pO1xuICB9XG59XG4iLCI8c3BhbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2V0dGluZ3NcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIGhlYWRlci1pY29uXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPnNldHRpbmdzPC9zcGFuPlxuXG48IS0tICNlbmRkb2NyZWdpb24gbWF0LW1lbnUtdHJpZ2dlci1mb3IgLS0+XG48bWF0LW1lbnUgI3NldHRpbmdzPVwibWF0TWVudVwiIGNsYXNzPVwic2V0dGluZ3MtbWVudVwiPlxuICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hUaGVtZSgpXCIgbWF0LW1lbnUtaXRlbT5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJ0aGVtZS1pY29uXCI+dG9nZ2xlX29uPC9tYXQtaWNvbj5cbiAgICA8c3Bhbj57eyAnQ09NTU9OLkhFQURFUi5QQVJBTUVURVJTLlRIRU1FJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZygpIH19PC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8IS0tIExhbmd1YWdlIC0tPlxuICBAZm9yIChsYW5ndWFnZSBvZiBsYW5ndWFnZXNBdmFpbGFibGU7IHRyYWNrIGxhbmd1YWdlKSB7XG4gICAgQGlmIChsYW5nKCkgIT09IGxhbmd1YWdlKSB7XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiaW1nLWJ0blwiIChjbGljayk9J3N3aXRjaExhbmcobGFuZ3VhZ2UpJyBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8aW1nIGNsYXNzPVwibWF0LWljb25cIiBuZ1NyYz1cImFzc2V0cy9pbWcvZmxhZy97e2xhbmd1YWdlfX0tZmxhZy5wbmdcIiBoZWlnaHQ9XCI0N1wiIHdpZHRoPVwiNzBcIiBhbHQ9XCJcIj5cbiAgICAgICAgPHNwYW4+e3sgbGFuZ3VhZ2UgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIH1cblxuICA8bmctY29udGFpbmVyICpuZ3hQZXJtaXNzaW9uc0V4Y2VwdD1cInJlc3RyaWN0aW9uc1wiPlxuICAgIDwhLS1VU0VSLS0+XG4gICAgQGlmICh1c2VyICYmIHVzZXIuYWRtaW4pIHtcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9uUmVkaXJlY3QoJ3VzZXInLCAnL2FjY291bnQvYXV0aG9yaXphdGlvbi9zZWFyY2gnKVwiIG1hdC1tZW51LWl0ZW0+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+bWFuYWdlX2FjY291bnRzPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5IRUFERVIuTUVOVS5VU0VSLlNFQ1RJT05fVElUTEUnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nKCkgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tTVkgUFJFRkVSRU5DRVMtLT5cbiAgPGJ1dHRvbiAoY2xpY2spPVwib25SZWRpcmVjdCgndXNlcicsICcvYWNjb3VudC9zZXR0aW5ncycpXCIgbWF0LW1lbnUtaXRlbT5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnNldHRpbmdzPC9tYXQtaWNvbj5cbiAgICA8c3Bhbj57eyAnQ09NTU9OLkhFQURFUi5NRU5VLlVTRVIuU0VUVElOR1MnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nKCkgfX08L3NwYW4+XG4gIDwvYnV0dG9uPlxuICA8bmctY29udGFpbmVyICpuZ3hQZXJtaXNzaW9uc0V4Y2VwdD1cInJlc3RyaWN0aW9uc1wiPlxuICAgIDwhLS1OT1RJRklDQVRJT05TLS0+XG4gICAgQGlmICh1c2VyICYmIHVzZXIuYWRtaW4pIHtcbiAgICA8YnV0dG9uIChjbGljayk9XCJvblJlZGlyZWN0KCd1c2VyJywgJy9ub3RpZmljYXRpb25zJylcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5hbm5vdW5jZW1lbnQ8L21hdC1pY29uPlxuICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5IRUFERVIuTUVOVS5VU0VSLk5PVElGSUNBVElPTlMnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nKCkgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgfVxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LW1lbnU+XG4iXX0=
@@ -27,10 +27,10 @@ export class NotificationBarComponent {
27
27
  this.notifications.splice(index, 1);
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.10", type: NotificationBarComponent, selector: "notification-bar", inputs: { lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"notification-bar-wrapper\">\n <div *ngFor=\"let notification of notifications\"\n [ngClass]=\"'notification-bar notification-bar-' + notification.classification\">\n <div class=\"notification-bar-message\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">\n <ng-container *ngIf=\"notification.classification === 'INFO'\">info</ng-container>\n <ng-container *ngIf=\"notification.classification === 'FEAT'\">rocket_launch</ng-container>\n <ng-container *ngIf=\"notification.classification === 'MAINT'\">warning_amber</ng-container>\n </mat-icon>\n <span>{{ lang() === 'fr' ? notification.messageFr : notification.messageEn }}</span>\n </div>\n <button class=\"notification-close-button\" (click)=\"ackNotification(notification)\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">close</mat-icon>\n </button>\n </div>\n</div>\n", styles: [":host{position:relative}.notification-bar-wrapper{display:block;left:0;overflow:hidden;right:0;width:100%}.notification-bar-wrapper *{box-sizing:border-box;margin:0;padding:0}.notification-bar-wrapper .notification-bar{border:1px solid;border-radius:5px;align-items:center;display:inline-flex;margin:0 auto;padding:3px;position:relative;font-size:14px;color:#fff;width:100%}.notification-bar-wrapper .notification-bar .notification-close-button{background:transparent;cursor:pointer;border:0;border-radius:0;color:#fff;transition:all .25s ease}.notification-bar-wrapper .notification-bar .notification-bar-message{display:flex;width:100%;margin:auto;gap:10px}.notification-bar-wrapper .notification-bar.notification-bar-INFO{background-color:#03a9f5}.notification-bar-wrapper .notification-bar.notification-bar-FEAT{background-color:#37b400}.notification-bar-wrapper .notification-bar.notification-bar-MAINT{background-color:#ff6358}.notification-bar-wrapper .mat-icon-small{height:18px;width:18px;min-width:18px;font-size:18px;color:#fff!important;margin-right:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: NotificationBarComponent, selector: "notification-bar", inputs: { lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"notification-bar-wrapper\">\n @for (notification of notifications; track notification) {\n <div [ngClass]=\"'notification-bar notification-bar-' + notification.classification\">\n <div class=\"notification-bar-message\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">\n @if (notification.classification === 'INFO') {\n info\n } @else if (notification.classification === 'FEAT') {\n rocket_launch\n } @else {\n warning_amber\n }\n </mat-icon>\n <span>{{ lang() === 'fr' ? notification.messageFr : notification.messageEn }}</span>\n </div>\n <button class=\"notification-close-button\" (click)=\"ackNotification(notification)\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">close</mat-icon>\n </button>\n </div>\n }\n</div>\n", styles: [":host{position:relative}.notification-bar-wrapper{display:block;left:0;overflow:hidden;right:0;width:100%}.notification-bar-wrapper *{box-sizing:border-box;margin:0;padding:0}.notification-bar-wrapper .notification-bar{border:1px solid;border-radius:5px;align-items:center;display:inline-flex;margin:0 auto;padding:3px;position:relative;font-size:14px;color:#fff;width:100%}.notification-bar-wrapper .notification-bar .notification-close-button{background:transparent;cursor:pointer;border:0;border-radius:0;color:#fff;transition:all .25s ease}.notification-bar-wrapper .notification-bar .notification-bar-message{display:flex;width:100%;margin:auto;gap:10px}.notification-bar-wrapper .notification-bar.notification-bar-INFO{background-color:#03a9f5}.notification-bar-wrapper .notification-bar.notification-bar-FEAT{background-color:#37b400}.notification-bar-wrapper .notification-bar.notification-bar-MAINT{background-color:#ff6358}.notification-bar-wrapper .mat-icon-small{height:18px;width:18px;min-width:18px;font-size:18px;color:#fff!important;margin-right:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationBarComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'notification-bar', template: "<div class=\"notification-bar-wrapper\">\n <div *ngFor=\"let notification of notifications\"\n [ngClass]=\"'notification-bar notification-bar-' + notification.classification\">\n <div class=\"notification-bar-message\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">\n <ng-container *ngIf=\"notification.classification === 'INFO'\">info</ng-container>\n <ng-container *ngIf=\"notification.classification === 'FEAT'\">rocket_launch</ng-container>\n <ng-container *ngIf=\"notification.classification === 'MAINT'\">warning_amber</ng-container>\n </mat-icon>\n <span>{{ lang() === 'fr' ? notification.messageFr : notification.messageEn }}</span>\n </div>\n <button class=\"notification-close-button\" (click)=\"ackNotification(notification)\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">close</mat-icon>\n </button>\n </div>\n</div>\n", styles: [":host{position:relative}.notification-bar-wrapper{display:block;left:0;overflow:hidden;right:0;width:100%}.notification-bar-wrapper *{box-sizing:border-box;margin:0;padding:0}.notification-bar-wrapper .notification-bar{border:1px solid;border-radius:5px;align-items:center;display:inline-flex;margin:0 auto;padding:3px;position:relative;font-size:14px;color:#fff;width:100%}.notification-bar-wrapper .notification-bar .notification-close-button{background:transparent;cursor:pointer;border:0;border-radius:0;color:#fff;transition:all .25s ease}.notification-bar-wrapper .notification-bar .notification-bar-message{display:flex;width:100%;margin:auto;gap:10px}.notification-bar-wrapper .notification-bar.notification-bar-INFO{background-color:#03a9f5}.notification-bar-wrapper .notification-bar.notification-bar-FEAT{background-color:#37b400}.notification-bar-wrapper .notification-bar.notification-bar-MAINT{background-color:#ff6358}.notification-bar-wrapper .mat-icon-small{height:18px;width:18px;min-width:18px;font-size:18px;color:#fff!important;margin-right:0!important}\n"] }]
34
+ args: [{ selector: 'notification-bar', template: "<div class=\"notification-bar-wrapper\">\n @for (notification of notifications; track notification) {\n <div [ngClass]=\"'notification-bar notification-bar-' + notification.classification\">\n <div class=\"notification-bar-message\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">\n @if (notification.classification === 'INFO') {\n info\n } @else if (notification.classification === 'FEAT') {\n rocket_launch\n } @else {\n warning_amber\n }\n </mat-icon>\n <span>{{ lang() === 'fr' ? notification.messageFr : notification.messageEn }}</span>\n </div>\n <button class=\"notification-close-button\" (click)=\"ackNotification(notification)\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">close</mat-icon>\n </button>\n </div>\n }\n</div>\n", styles: [":host{position:relative}.notification-bar-wrapper{display:block;left:0;overflow:hidden;right:0;width:100%}.notification-bar-wrapper *{box-sizing:border-box;margin:0;padding:0}.notification-bar-wrapper .notification-bar{border:1px solid;border-radius:5px;align-items:center;display:inline-flex;margin:0 auto;padding:3px;position:relative;font-size:14px;color:#fff;width:100%}.notification-bar-wrapper .notification-bar .notification-close-button{background:transparent;cursor:pointer;border:0;border-radius:0;color:#fff;transition:all .25s ease}.notification-bar-wrapper .notification-bar .notification-bar-message{display:flex;width:100%;margin:auto;gap:10px}.notification-bar-wrapper .notification-bar.notification-bar-INFO{background-color:#03a9f5}.notification-bar-wrapper .notification-bar.notification-bar-FEAT{background-color:#37b400}.notification-bar-wrapper .notification-bar.notification-bar-MAINT{background-color:#ff6358}.notification-bar-wrapper .mat-icon-small{height:18px;width:18px;min-width:18px;font-size:18px;color:#fff!important;margin-right:0!important}\n"] }]
35
35
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2NvbXBvbmVudC9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2NvbXBvbmVudC9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7QUFRdkYsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQU1FLFNBQUksR0FBd0IsS0FBSyxFQUFVLENBQUM7UUFFckMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBRTlCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFCLHdCQUFtQixHQUF3QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQW1CekY7SUFqQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzdFLElBQUksWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDNUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxZQUErQjtRQUNwRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDOytHQXpCVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix5TENYckMsODVCQWdCQTs7NEZETGEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgSW5wdXRTaWduYWwsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdGlmaWNhdGlvbi1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9ub3RpZmljYXRpb24tYmFyLmNvbXBvbmVudC5zY3NzJyBdXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgbGFuZzogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0PHN0cmluZz4oKTtcblxuICBwdWJsaWMgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uTW9kZWxbXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3QoTm90aWZpY2F0aW9uU2VydmljZSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzLmFkZCh0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9ucyQuc3Vic2NyaWJlKG5vdGlmaWNhdGlvbiA9PiB7XG4gICAgICBpZiAobm90aWZpY2F0aW9uICYmICF0aGlzLm5vdGlmaWNhdGlvbnMuc29tZShvdGhlck5vdGlmaWNhdGlvbiA9PiBvdGhlck5vdGlmaWNhdGlvbi5pZCA9PT0gbm90aWZpY2F0aW9uLmlkKSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMucHVzaChub3RpZmljYXRpb24pO1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb24pO1xuICAgIGxldCBpbmRleCA9IHRoaXMubm90aWZpY2F0aW9ucy5pbmRleE9mKG5vdGlmaWNhdGlvbik7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tYmFyLXdyYXBwZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnNcIlxuICAgICAgIFtuZ0NsYXNzXT1cIidub3RpZmljYXRpb24tYmFyIG5vdGlmaWNhdGlvbi1iYXItJyArIG5vdGlmaWNhdGlvbi5jbGFzc2lmaWNhdGlvblwiPlxuICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tYmFyLW1lc3NhZ2VcIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIG1hdC1pY29uLXNtYWxsXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub3RpZmljYXRpb24uY2xhc3NpZmljYXRpb24gPT09ICdJTkZPJ1wiPmluZm88L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbi5jbGFzc2lmaWNhdGlvbiA9PT0gJ0ZFQVQnXCI+cm9ja2V0X2xhdW5jaDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm90aWZpY2F0aW9uLmNsYXNzaWZpY2F0aW9uID09PSAnTUFJTlQnXCI+d2FybmluZ19hbWJlcjwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7IGxhbmcoKSA9PT0gJ2ZyJyA/IG5vdGlmaWNhdGlvbi5tZXNzYWdlRnIgOiBub3RpZmljYXRpb24ubWVzc2FnZUVuIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gY2xhc3M9XCJub3RpZmljYXRpb24tY2xvc2UtYnV0dG9uXCIgKGNsaWNrKT1cImFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb24pXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBtYXQtaWNvbi1zbWFsbFwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2NvbXBvbmVudC9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2NvbXBvbmVudC9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7QUFRdkYsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQU1FLFNBQUksR0FBd0IsS0FBSyxFQUFVLENBQUM7UUFFckMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBRTlCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFCLHdCQUFtQixHQUF3QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQW1CekY7SUFqQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzdFLElBQUksWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDNUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxZQUErQjtRQUNwRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDOytHQXpCVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix5TENYckMsODNCQXFCQTs7NEZEVmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgSW5wdXRTaWduYWwsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdGlmaWNhdGlvbi1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9ub3RpZmljYXRpb24tYmFyLmNvbXBvbmVudC5zY3NzJyBdXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgbGFuZzogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0PHN0cmluZz4oKTtcblxuICBwdWJsaWMgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uTW9kZWxbXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3QoTm90aWZpY2F0aW9uU2VydmljZSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzLmFkZCh0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9ucyQuc3Vic2NyaWJlKG5vdGlmaWNhdGlvbiA9PiB7XG4gICAgICBpZiAobm90aWZpY2F0aW9uICYmICF0aGlzLm5vdGlmaWNhdGlvbnMuc29tZShvdGhlck5vdGlmaWNhdGlvbiA9PiBvdGhlck5vdGlmaWNhdGlvbi5pZCA9PT0gbm90aWZpY2F0aW9uLmlkKSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMucHVzaChub3RpZmljYXRpb24pO1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb24pO1xuICAgIGxldCBpbmRleCA9IHRoaXMubm90aWZpY2F0aW9ucy5pbmRleE9mKG5vdGlmaWNhdGlvbik7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tYmFyLXdyYXBwZXJcIj5cbiAgQGZvciAobm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnM7IHRyYWNrIG5vdGlmaWNhdGlvbikge1xuICAgIDxkaXYgW25nQ2xhc3NdPVwiJ25vdGlmaWNhdGlvbi1iYXIgbm90aWZpY2F0aW9uLWJhci0nICsgbm90aWZpY2F0aW9uLmNsYXNzaWZpY2F0aW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWJhci1tZXNzYWdlXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIG1hdC1pY29uLXNtYWxsXCI+XG4gICAgICAgICAgQGlmIChub3RpZmljYXRpb24uY2xhc3NpZmljYXRpb24gPT09ICdJTkZPJykge1xuICAgICAgICAgICAgaW5mb1xuICAgICAgICAgIH0gQGVsc2UgaWYgKG5vdGlmaWNhdGlvbi5jbGFzc2lmaWNhdGlvbiA9PT0gJ0ZFQVQnKSB7XG4gICAgICAgICAgICByb2NrZXRfbGF1bmNoXG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICB3YXJuaW5nX2FtYmVyXG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyBsYW5nKCkgPT09ICdmcicgPyBub3RpZmljYXRpb24ubWVzc2FnZUZyIDogbm90aWZpY2F0aW9uLm1lc3NhZ2VFbiB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1jbG9zZS1idXR0b25cIiAoY2xpY2spPVwiYWNrTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbilcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgbWF0LWljb24tc21hbGxcIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -1,23 +1,18 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "../notification/notification.service";
5
4
  export class AuthService {
6
- constructor(notificationService) {
7
- this.notificationService = notificationService;
5
+ constructor() {
8
6
  this.isAuthenticatedSubject = new BehaviorSubject(false);
9
7
  this.isAuthenticated$ = this.isAuthenticatedSubject.asObservable();
10
8
  }
11
9
  setAuthenticated(isAuthenticated) {
12
- if (isAuthenticated) {
13
- this.notificationService.connect();
14
- }
15
10
  this.isAuthenticatedSubject.next(isAuthenticated);
16
11
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: AuthService, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
13
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: AuthService }); }
19
14
  }
20
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: AuthService, decorators: [{
21
16
  type: Injectable
22
- }], ctorParameters: () => [{ type: i1.NotificationService }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9hdXRoL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7OztBQUluRCxNQUFNLE9BQU8sV0FBVztJQUl0QixZQUE2QixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUZwRCwyQkFBc0IsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFLeEcscUJBQWdCLEdBQXdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUZuRixDQUFDO0lBSU0sZ0JBQWdCLENBQUMsZUFBd0I7UUFDOUMsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQzsrR0FkVSxXQUFXO21IQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNBdXRoZW50aWNhdGVkU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7XG4gIH1cblxuICBpc0F1dGhlbnRpY2F0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyBzZXRBdXRoZW50aWNhdGVkKGlzQXV0aGVudGljYXRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5jb25uZWN0KCk7XG4gICAgfVxuICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5uZXh0KGlzQXV0aGVudGljYXRlZCk7XG4gIH1cbn1cbiJdfQ==
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9hdXRoL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBR25ELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBR1UsMkJBQXNCLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRS9GLHFCQUFnQixHQUF3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7S0FLcEY7SUFIUSxnQkFBZ0IsQ0FBQyxlQUF3QjtRQUM5QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBUlUsV0FBVzttSEFBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBpc0F1dGhlbnRpY2F0ZWRTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBpc0F1dGhlbnRpY2F0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyBzZXRBdXRoZW50aWNhdGVkKGlzQXV0aGVudGljYXRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5uZXh0KGlzQXV0aGVudGljYXRlZCk7XG4gIH1cbn1cbiJdfQ==
@@ -8,24 +8,33 @@ import { WEB_CONFIG } from '../../config';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../api/notification-api.service";
10
10
  import * as i2 from "../storage/local-storage.service";
11
+ import * as i3 from "../auth/auth.service";
11
12
  export const NOTIFICATION_WEBSOCKET_URL = '/authorization-api/ws';
12
13
  export const NOTIFICATION_TOPIC = '/topic/notification';
13
14
  export const ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY = 'ackedNotifications';
14
15
  export class NotificationService {
15
- constructor(config, notificationApiService, localStorage) {
16
+ constructor(config, notificationApiService, localStorage, authService) {
16
17
  this.config = config;
17
18
  this.notificationApiService = notificationApiService;
18
19
  this.localStorage = localStorage;
20
+ this.authService = authService;
19
21
  this.stompClient = null;
20
22
  this.notificationSubject = new BehaviorSubject(null);
21
23
  // Observable for components to subscribe to messages
22
24
  this.notifications$ = this.notificationSubject.asObservable();
23
- // Subject to track the connection status (connected/disconnected)
24
- this.connectionSubject = new BehaviorSubject(false);
25
- this.apiUrl = this.config.api_url + NOTIFICATION_WEBSOCKET_URL;
25
+ authService.isAuthenticated$.subscribe(isAuthenticated => {
26
+ if (isAuthenticated) {
27
+ this.fetchLiveNotifications();
28
+ this.subscribeToNotifications(this.config.api_url + NOTIFICATION_WEBSOCKET_URL);
29
+ }
30
+ });
31
+ }
32
+ ackNotification(notification) {
33
+ const ackedNotifications = this.localStorage.get(ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY) ?? [];
34
+ ackedNotifications.push(notification.id);
35
+ this.localStorage.post(ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY, ackedNotifications);
26
36
  }
27
- connect() {
28
- // Fetch live notifications
37
+ fetchLiveNotifications() {
29
38
  this.notificationApiService.getLiveNotifications().subscribe(notifications => {
30
39
  const liveNotificationIds = notifications.map(notification => notification.id);
31
40
  // Clear up any acked notifications that have expired (no longer live)
@@ -37,11 +46,13 @@ export class NotificationService {
37
46
  .filter(notification => ackedNotifications.indexOf(notification.id) === -1)
38
47
  .forEach(notification => this.handleNotification(notification));
39
48
  });
49
+ }
50
+ subscribeToNotifications(wsApiUrl) {
40
51
  if (this.stompClient) {
41
52
  return;
42
53
  }
43
54
  // Start listening for new notifications
44
- const socket = new SockJS(this.apiUrl); // Initialize the SockJS WebSocket connection to the server
55
+ const socket = new SockJS(wsApiUrl); // Initialize the SockJS WebSocket connection to the server
45
56
  // Configure the STOMP client with connection details
46
57
  this.stompClient = new Client({
47
58
  webSocketFactory: () => socket, // Use SockJS as the WebSocket factory
@@ -53,7 +64,6 @@ export class NotificationService {
53
64
  }
54
65
  // On successful connection
55
66
  this.stompClient.onConnect = () => {
56
- this.connectionSubject.next(true);
57
67
  // Register notification callback
58
68
  this.stompClient.subscribe(NOTIFICATION_TOPIC, (message) => {
59
69
  const notification = JSON.parse(message.body);
@@ -67,17 +77,6 @@ export class NotificationService {
67
77
  console.log('Activating stomp client');
68
78
  this.stompClient.activate();
69
79
  }
70
- disconnect() {
71
- if (this.stompClient) {
72
- void this.stompClient.deactivate();
73
- this.stompClient = null;
74
- }
75
- }
76
- ackNotification(notification) {
77
- const ackedNotifications = this.localStorage.get(ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY) ?? [];
78
- ackedNotifications.push(notification.id);
79
- this.localStorage.post(ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY, ackedNotifications);
80
- }
81
80
  handleNotification(notification) {
82
81
  const targetSectionIds = notification.targetSections.map(section => section.id);
83
82
  const userSectionIds = this.user.permissions.map(permission => permission.sectionId);
@@ -85,7 +84,7 @@ export class NotificationService {
85
84
  this.notificationSubject.next(notification);
86
85
  }
87
86
  }
88
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationService, deps: [{ token: WEB_CONFIG }, { token: i1.NotificationApiService }, { token: i2.LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationService, deps: [{ token: WEB_CONFIG }, { token: i1.NotificationApiService }, { token: i2.LocalStorageService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
89
88
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
90
89
  }
91
90
  __decorate([
@@ -99,5 +98,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
99
98
  }], ctorParameters: () => [{ type: undefined, decorators: [{
100
99
  type: Inject,
101
100
  args: [WEB_CONFIG]
102
- }] }, { type: i1.NotificationApiService }, { type: i2.LocalStorageService }], propDecorators: { user: [] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBS2xELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLHVCQUF1QixDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLG9CQUFvQixDQUFDO0FBSzFFLE1BQU0sT0FBTyxtQkFBbUI7SUFjOUIsWUFBaUQsTUFBYyxFQUNsQyxzQkFBOEMsRUFDOUMsWUFBaUM7UUFGYixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2xDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBWnRELGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUV6Qix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxDQUFDLENBQUM7UUFFcEYscURBQXFEO1FBQzlDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWhF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LG1CQUFtQixrQkFjVixVQUFVO21IQWRuQixtQkFBbUIsY0FGbEIsTUFBTTs7QUFHSDtJQUFkLElBQUksRUFBRTtpREFBd0I7NEZBRHBCLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWVjLE1BQU07MkJBQUMsVUFBVTtnSEFiZixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGllbnQsIE1lc3NhZ2UgfSBmcm9tICdAc3RvbXAvc3RvbXBqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCBTb2NrSlMgZnJvbSAnc29ja2pzLWNsaWVudCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy91c2VyLmRlY29yYXRvcic7XG5pbXBvcnQgeyBDb25maWcsIFdFQl9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kZWwsIFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL25vdGlmaWNhdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX1dFQlNPQ0tFVF9VUkwgPSAnL2F1dGhvcml6YXRpb24tYXBpL3dzJztcbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fVE9QSUMgPSAnL3RvcGljL25vdGlmaWNhdGlvbic7XG5leHBvcnQgY29uc3QgQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSA9ICdhY2tlZE5vdGlmaWNhdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XG4gIEBVc2VyKCkgcHVibGljIHVzZXI6IFVzZXJNb2RlbDtcblxuICBwdWJsaWMgYXBpVXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgc3RvbXBDbGllbnQ6IENsaWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm90aWZpY2F0aW9uTW9kZWw+KG51bGwpO1xuXG4gIC8vIE9ic2VydmFibGUgZm9yIGNvbXBvbmVudHMgdG8gc3Vic2NyaWJlIHRvIG1lc3NhZ2VzXG4gIHB1YmxpYyBub3RpZmljYXRpb25zJCA9IHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAvLyBTdWJqZWN0IHRvIHRyYWNrIHRoZSBjb25uZWN0aW9uIHN0YXR1cyAoY29ubmVjdGVkL2Rpc2Nvbm5lY3RlZClcbiAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0aW9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0VCX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25BcGlTZXJ2aWNlOiBOb3RpZmljYXRpb25BcGlTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSwpIHtcbiAgICB0aGlzLmFwaVVybCA9IHRoaXMuY29uZmlnLmFwaV91cmwgKyBOT1RJRklDQVRJT05fV0VCU09DS0VUX1VSTDtcbiAgfVxuXG4gIHB1YmxpYyBjb25uZWN0KCk6IHZvaWQge1xuICAgIC8vIEZldGNoIGxpdmUgbm90aWZpY2F0aW9uc1xuICAgIHRoaXMubm90aWZpY2F0aW9uQXBpU2VydmljZS5nZXRMaXZlTm90aWZpY2F0aW9ucygpLnN1YnNjcmliZShub3RpZmljYXRpb25zID0+IHtcbiAgICAgIGNvbnN0IGxpdmVOb3RpZmljYXRpb25JZHMgPSBub3RpZmljYXRpb25zLm1hcChub3RpZmljYXRpb24gPT4gbm90aWZpY2F0aW9uLmlkKTtcblxuICAgICAgLy8gQ2xlYXIgdXAgYW55IGFja2VkIG5vdGlmaWNhdGlvbnMgdGhhdCBoYXZlIGV4cGlyZWQgKG5vIGxvbmdlciBsaXZlKVxuICAgICAgbGV0IGFja2VkTm90aWZpY2F0aW9uczogbnVtYmVyW10gPSB0aGlzLmxvY2FsU3RvcmFnZS5nZXQoQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSkgPz8gW107XG4gICAgICBhY2tlZE5vdGlmaWNhdGlvbnMgPSBhY2tlZE5vdGlmaWNhdGlvbnMuZmlsdGVyKGFja2VkTm90aWZpY2F0aW9uSWQgPT4gbGl2ZU5vdGlmaWNhdGlvbklkcy5pbmRleE9mKGFja2VkTm90aWZpY2F0aW9uSWQpID49IDApXG4gICAgICB0aGlzLmxvY2FsU3RvcmFnZS5wb3N0KEFDS0VEX05PVElGSUNBVElPTlNfTE9DQUxfU1RPUkFHRV9LRVksIGFja2VkTm90aWZpY2F0aW9ucyk7XG5cbiAgICAgIC8vIEhhbmRsZSBuZXcgbm90aWZpY2F0aW9uc1xuICAgICAgbm90aWZpY2F0aW9ucy5maWx0ZXIobm90aWZpY2F0aW9uID0+IG5vdGlmaWNhdGlvbi5wdWJsaXNoZWQpXG4gICAgICAgIC5maWx0ZXIobm90aWZpY2F0aW9uID0+IGFja2VkTm90aWZpY2F0aW9ucy5pbmRleE9mKG5vdGlmaWNhdGlvbi5pZCkgPT09IC0xKVxuICAgICAgICAuZm9yRWFjaChub3RpZmljYXRpb24gPT4gdGhpcy5oYW5kbGVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uKSk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zdG9tcENsaWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFN0YXJ0IGxpc3RlbmluZyBmb3IgbmV3IG5vdGlmaWNhdGlvbnNcbiAgICBjb25zdCBzb2NrZXQgPSBuZXcgU29ja0pTKHRoaXMuYXBpVXJsKTsgLy8gSW5pdGlhbGl6ZSB0aGUgU29ja0pTIFdlYlNvY2tldCBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXJcblxuICAgIC8vIENvbmZpZ3VyZSB0aGUgU1RPTVAgY2xpZW50IHdpdGggY29ubmVjdGlvbiBkZXRhaWxzXG4gICAgdGhpcy5zdG9tcENsaWVudCA9IG5ldyBDbGllbnQoe1xuICAgICAgd2ViU29ja2V0RmFjdG9yeTogKCkgPT4gc29ja2V0LCAvLyBVc2UgU29ja0pTIGFzIHRoZSBXZWJTb2NrZXQgZmFjdG9yeVxuICAgICAgcmVjb25uZWN0RGVsYXk6IDUwMDAsIC8vIFJlY29ubmVjdCBkZWxheSBpZiBjb25uZWN0aW9uIGlzIGxvc3RcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5zdG9tcENsaWVudCkge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGluaXRpYWxpemUgc3RvbXAgY2xpZW50Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gT24gc3VjY2Vzc2Z1bCBjb25uZWN0aW9uXG4gICAgdGhpcy5zdG9tcENsaWVudC5vbkNvbm5lY3QgPSAoKSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25TdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAvLyBSZWdpc3RlciBub3RpZmljYXRpb24gY2FsbGJhY2tcbiAgICAgIHRoaXMuc3RvbXBDbGllbnQuc3Vic2NyaWJlKE5PVElGSUNBVElPTl9UT1BJQywgKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25Nb2RlbCA9IEpTT04ucGFyc2UobWVzc2FnZS5ib2R5KTtcbiAgICAgICAgdGhpcy5oYW5kbGVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICB0aGlzLnN0b21wQ2xpZW50Lm9uU3RvbXBFcnJvciA9IChmcmFtZSkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcignQnJva2VyIHJlcG9ydGVkIGVycm9yOiAnICsgZnJhbWUuaGVhZGVyc1snbWVzc2FnZSddKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0FkZGl0aW9uYWwgZGV0YWlsczogJyArIGZyYW1lLmJvZHkpO1xuICAgIH07XG5cbiAgICBjb25zb2xlLmxvZygnQWN0aXZhdGluZyBzdG9tcCBjbGllbnQnKTtcbiAgICB0aGlzLnN0b21wQ2xpZW50LmFjdGl2YXRlKCk7XG4gIH1cblxuICBwdWJsaWMgZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9tcENsaWVudCkge1xuICAgICAgIHZvaWQgdGhpcy5zdG9tcENsaWVudC5kZWFjdGl2YXRlKCk7XG4gICAgICAgdGhpcy5zdG9tcENsaWVudCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgY29uc3QgYWNrZWROb3RpZmljYXRpb25zOiBudW1iZXJbXSA9IHRoaXMubG9jYWxTdG9yYWdlLmdldChBQ0tFRF9OT1RJRklDQVRJT05TX0xPQ0FMX1NUT1JBR0VfS0VZKSA/PyBbXTtcbiAgICBhY2tlZE5vdGlmaWNhdGlvbnMucHVzaChub3RpZmljYXRpb24uaWQpO1xuICAgIHRoaXMubG9jYWxTdG9yYWdlLnBvc3QoQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSwgYWNrZWROb3RpZmljYXRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRTZWN0aW9uSWRzID0gbm90aWZpY2F0aW9uLnRhcmdldFNlY3Rpb25zLm1hcChzZWN0aW9uID0+IHNlY3Rpb24uaWQpO1xuICAgIGNvbnN0IHVzZXJTZWN0aW9uSWRzID0gdGhpcy51c2VyLnBlcm1pc3Npb25zLm1hcChwZXJtaXNzaW9uID0+IHBlcm1pc3Npb24uc2VjdGlvbklkKTtcblxuICAgIGlmICh0YXJnZXRTZWN0aW9uSWRzLnNvbWUoKHRhcmdldFNlY3Rpb25JZCkgPT4gdXNlclNlY3Rpb25JZHMuaW5jbHVkZXModGFyZ2V0U2VjdGlvbklkKSkpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5uZXh0KG5vdGlmaWNhdGlvbik7XG4gICAgfVxuICB9XG59XG4iXX0=
101
+ }] }, { type: i1.NotificationApiService }, { type: i2.LocalStorageService }, { type: i3.AuthService }], propDecorators: { user: [] } });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQU1sRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxvQkFBb0IsQ0FBQztBQUsxRSxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQWlELE1BQWMsRUFDbEMsc0JBQThDLEVBQzlDLFlBQWlDLEVBQ3pDLFdBQXdCO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUN6QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVZyQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekIsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBRXBGLHFEQUFxRDtRQUM5QyxtQkFBYyxHQUFHLElB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QUksRUFBRTtpREFBd0I7NEZBRHBCLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVdjLE1BQU07MkJBQUMsVUFBVTswSUFUZixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGllbnQsIE1lc3NhZ2UgfSBmcm9tICdAc3RvbXAvc3RvbXBqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCBTb2NrSlMgZnJvbSAnc29ja2pzLWNsaWVudCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy91c2VyLmRlY29yYXRvcic7XG5pbXBvcnQgeyBDb25maWcsIFdFQl9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kZWwsIFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL25vdGlmaWNhdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoL2F1dGguc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fV0VCU09DS0VUX1VSTCA9ICcvYXV0aG9yaXphdGlvbi1hcGkvd3MnO1xuZXhwb3J0IGNvbnN0IE5PVElGSUNBVElPTl9UT1BJQyA9ICcvdG9waWMvbm90aWZpY2F0aW9uJztcbmV4cG9ydCBjb25zdCBBQ0tFRF9OT1RJRklDQVRJT05TX0xPQ0FMX1NUT1JBR0VfS0VZID0gJ2Fja2VkTm90aWZpY2F0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgQFVzZXIoKSBwdWJsaWMgdXNlcjogVXNlck1vZGVsO1xuXG4gIHByaXZhdGUgc3RvbXBDbGllbnQ6IENsaWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm90aWZpY2F0aW9uTW9kZWw+KG51bGwpO1xuXG4gIC8vIE9ic2VydmFibGUgZm9yIGNvbXBvbmVudHMgdG8gc3Vic2NyaWJlIHRvIG1lc3NhZ2VzXG4gIHB1YmxpYyBub3RpZmljYXRpb25zJCA9IHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFdFQl9DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBDb25maWcsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uQXBpU2VydmljZTogTm90aWZpY2F0aW9uQXBpU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkge1xuICAgIGF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCQuc3Vic2NyaWJlKGlzQXV0aGVudGljYXRlZCA9PiB7XG4gICAgICBpZiAoaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICAgIHRoaXMuZmV0Y2hMaXZlTm90aWZpY2F0aW9ucygpO1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvTm90aWZpY2F0aW9ucyh0aGlzLmNvbmZpZy5hcGlfdXJsICsgTk9USUZJQ0FUSU9OX1dFQlNPQ0tFVF9VUkwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgY29uc3QgYWNrZWROb3RpZmljYXRpb25zOiBudW1iZXJbXSA9IHRoaXMubG9jYWxTdG9yYWdlLmdldChBQ0tFRF9OT1RJRklDQVRJT05TX0xPQ0FMX1NUT1JBR0VfS0VZKSA/PyBbXTtcbiAgICBhY2tlZE5vdGlmaWNhdGlvbnMucHVzaChub3RpZmljYXRpb24uaWQpO1xuICAgIHRoaXMubG9jYWxTdG9yYWdlLnBvc3QoQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSwgYWNrZWROb3RpZmljYXRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hMaXZlTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbkFwaVNlcnZpY2UuZ2V0TGl2ZU5vdGlmaWNhdGlvbnMoKS5zdWJzY3JpYmUobm90aWZpY2F0aW9ucyA9PiB7XG4gICAgICBjb25zdCBsaXZlTm90aWZpY2F0aW9uSWRzID0gbm90aWZpY2F0aW9ucy5tYXAobm90aWZpY2F0aW9uID0+IG5vdGlmaWNhdGlvbi5pZCk7XG5cbiAgICAgIC8vIENsZWFyIHVwIGFueSBhY2tlZCBub3RpZmljYXRpb25zIHRoYXQgaGF2ZSBleHBpcmVkIChubyBsb25nZXIgbGl2ZSlcbiAgICAgIGxldCBhY2tlZE5vdGlmaWNhdGlvbnM6IG51bWJlcltdID0gdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KEFDS0VEX05PVElGSUNBVElPTlNfTE9DQUxfU1RPUkFHRV9LRVkpID8/IFtdO1xuICAgICAgYWNrZWROb3RpZmljYXRpb25zID0gYWNrZWROb3RpZmljYXRpb25zLmZpbHRlcihhY2tlZE5vdGlmaWNhdGlvbklkID0+IGxpdmVOb3RpZmljYXRpb25JZHMuaW5kZXhPZihhY2tlZE5vdGlmaWNhdGlvbklkKSA+PSAwKVxuICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UucG9zdChBQ0tFRF9OT1RJRklDQVRJT05TX0xPQ0FMX1NUT1JBR0VfS0VZLCBhY2tlZE5vdGlmaWNhdGlvbnMpO1xuXG4gICAgICAvLyBIYW5kbGUgbmV3IG5vdGlmaWNhdGlvbnNcbiAgICAgIG5vdGlmaWNhdGlvbnMuZmlsdGVyKG5vdGlmaWNhdGlvbiA9PiBub3RpZmljYXRpb24ucHVibGlzaGVkKVxuICAgICAgICAuZmlsdGVyKG5vdGlmaWNhdGlvbiA9PiBhY2tlZE5vdGlmaWNhdGlvbnMuaW5kZXhPZihub3RpZmljYXRpb24uaWQpID09PSAtMSlcbiAgICAgICAgLmZvckVhY2gobm90aWZpY2F0aW9uID0+IHRoaXMuaGFuZGxlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbikpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb05vdGlmaWNhdGlvbnMod3NBcGlVcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0b21wQ2xpZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gU3RhcnQgbGlzdGVuaW5nIGZvciBuZXcgbm90aWZpY2F0aW9uc1xuICAgIGNvbnN0IHNvY2tldCA9IG5ldyBTb2NrSlMod3NBcGlVcmwpOyAvLyBJbml0aWFsaXplIHRoZSBTb2NrSlMgV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlclxuXG4gICAgLy8gQ29uZmlndXJlIHRoZSBTVE9NUCBjbGllbnQgd2l0aCBjb25uZWN0aW9uIGRldGFpbHNcbiAgICB0aGlzLnN0b21wQ2xpZW50ID0gbmV3IENsaWVudCh7XG4gICAgICB3ZWJTb2NrZXRGYWN0b3J5OiAoKSA9PiBzb2NrZXQsIC8vIFVzZSBTb2NrSlMgYXMgdGhlIFdlYlNvY2tldCBmYWN0b3J5XG4gICAgICByZWNvbm5lY3REZWxheTogNTAwMCwgLy8gUmVjb25uZWN0IGRlbGF5IGlmIGNvbm5lY3Rpb24gaXMgbG9zdFxuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLnN0b21wQ2xpZW50KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gaW5pdGlhbGl6ZSBzdG9tcCBjbGllbnQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBPbiBzdWNjZXNzZnVsIGNvbm5lY3Rpb25cbiAgICB0aGlzLnN0b21wQ2xpZW50Lm9uQ29ubmVjdCA9ICgpID0+IHtcbiAgICAgIC8vIFJlZ2lzdGVyIG5vdGlmaWNhdGlvbiBjYWxsYmFja1xuICAgICAgdGhpcy5zdG9tcENsaWVudC5zdWJzY3JpYmUoTk9USUZJQ0FUSU9OX1RPUElDLCAobWVzc2FnZTogTWVzc2FnZSkgPT4ge1xuICAgICAgICBjb25zdCBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsID0gSlNPTi5wYXJzZShtZXNzYWdlLmJvZHkpO1xuICAgICAgICB0aGlzLmhhbmRsZU5vdGlmaWNhdGlvbihub3RpZmljYXRpb24pO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHRoaXMuc3RvbXBDbGllbnQub25TdG9tcEVycm9yID0gKGZyYW1lKSA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKCdCcm9rZXIgcmVwb3J0ZWQgZXJyb3I6ICcgKyBmcmFtZS5oZWFkZXJzWydtZXNzYWdlJ10pO1xuICAgICAgY29uc29sZS5lcnJvcignQWRkaXRpb25hbCBkZXRhaWxzOiAnICsgZnJhbWUuYm9keSk7XG4gICAgfTtcblxuICAgIGNvbnNvbGUubG9nKCdBY3RpdmF0aW5nIHN0b21wIGNsaWVudCcpO1xuICAgIHRoaXMuc3RvbXBDbGllbnQuYWN0aXZhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRTZWN0aW9uSWRzID0gbm90aWZpY2F0aW9uLnRhcmdldFNlY3Rpb25zLm1hcChzZWN0aW9uID0+IHNlY3Rpb24uaWQpO1xuICAgIGNvbnN0IHVzZXJTZWN0aW9uSWRzID0gdGhpcy51c2VyLnBlcm1pc3Npb25zLm1hcChwZXJtaXNzaW9uID0+IHBlcm1pc3Npb24uc2VjdGlvbklkKTtcblxuICAgIGlmICh0YXJnZXRTZWN0aW9uSWRzLnNvbWUoKHRhcmdldFNlY3Rpb25JZCkgPT4gdXNlclNlY3Rpb25JZHMuaW5jbHVkZXModGFyZ2V0U2VjdGlvbklkKSkpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5uZXh0KG5vdGlmaWNhdGlvbik7XG4gICAgfVxuICB9XG59XG4iXX0=