@alfresco/adf-core 7.0.0-alpha.9-13357533609 → 7.0.0-alpha.9-13367447514

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.
@@ -14,10 +14,10 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { Component, EventEmitter, Output } from '@angular/core';
17
+ import { Component, EventEmitter, Output, QueryList, ViewChildren } from '@angular/core';
18
18
  import { LanguageService } from './service/language.service';
19
19
  import { CommonModule } from '@angular/common';
20
- import { MatMenuModule } from '@angular/material/menu';
20
+ import { MatMenuItem, MatMenuModule } from '@angular/material/menu';
21
21
  import * as i0 from "@angular/core";
22
22
  import * as i1 from "./service/language.service";
23
23
  import * as i2 from "@angular/common";
@@ -34,7 +34,7 @@ export class LanguageMenuComponent {
34
34
  this.languageService.changeLanguage(language);
35
35
  }
36
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LanguageMenuComponent, deps: [{ token: i1.LanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: LanguageMenuComponent, isStandalone: true, selector: "adf-language-menu", outputs: { changedLanguage: "changedLanguage" }, ngImport: i0, template: `
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: LanguageMenuComponent, isStandalone: true, selector: "adf-language-menu", outputs: { changedLanguage: "changedLanguage" }, viewQueries: [{ propertyName: "menuItems", predicate: MatMenuItem, descendants: true }], ngImport: i0, template: `
38
38
  <button mat-menu-item *ngFor="let language of languages$ | async" [attr.lang]="language.key" (click)="changeLanguage(language)">
39
39
  {{ language.label }}
40
40
  </button>
@@ -54,5 +54,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
54
54
  }]
55
55
  }], ctorParameters: () => [{ type: i1.LanguageService }], propDecorators: { changedLanguage: [{
56
56
  type: Output
57
+ }], menuItems: [{
58
+ type: ViewChildren,
59
+ args: [MatMenuItem]
57
60
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2xhbmd1YWdlLW1lbnUvbGFuZ3VhZ2UtbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQVl2RCxNQUFNLE9BQU8scUJBQXFCO0lBTzlCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQU5wRCx1Q0FBdUM7UUFFdkMsb0JBQWUsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFLM0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsUUFBc0I7UUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0FkUSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw4SEFOcEI7Ozs7S0FJVCwyREFMUyxZQUFZLGdOQUFFLGFBQWE7OzJGQU81QixxQkFBcUI7a0JBVmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLFFBQVEsRUFBRTs7OztLQUlUO2lCQUNKO29GQUlHLGVBQWU7c0JBRGQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VJdGVtIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL2xhbmd1YWdlLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWxhbmd1YWdlLW1lbnUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0TWVudU1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBsYW5ndWFnZXMkIHwgYXN5bmNcIiBbYXR0ci5sYW5nXT1cImxhbmd1YWdlLmtleVwiIChjbGljayk9XCJjaGFuZ2VMYW5ndWFnZShsYW5ndWFnZSlcIj5cbiAgICAgICAgICAgIHt7IGxhbmd1YWdlLmxhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VNZW51Q29tcG9uZW50IHtcbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsYW5ndWFnZSBjaGFuZ2UgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjaGFuZ2VkTGFuZ3VhZ2U6IEV2ZW50RW1pdHRlcjxMYW5ndWFnZUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxMYW5ndWFnZUl0ZW0+KCk7XG5cbiAgICBsYW5ndWFnZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlSXRlbVtdPjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZXMkID0gbGFuZ3VhZ2VTZXJ2aWNlLmxhbmd1YWdlcyQ7XG4gICAgfVxuXG4gICAgY2hhbmdlTGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlSXRlbSkge1xuICAgICAgICB0aGlzLmNoYW5nZWRMYW5ndWFnZS5lbWl0KGxhbmd1YWdlKTtcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UuY2hhbmdlTGFuZ3VhZ2UobGFuZ3VhZ2UpO1xuICAgIH1cbn1cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2xhbmd1YWdlLW1lbnUvbGFuZ3VhZ2UtbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQVlwRSxNQUFNLE9BQU8scUJBQXFCO0lBVTlCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVRwRCx1Q0FBdUM7UUFFdkMsb0JBQWUsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFRM0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsUUFBc0I7UUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0FqQlEscUJBQXFCO2tHQUFyQixxQkFBcUIsNEpBS2hCLFdBQVcsZ0RBWGY7Ozs7S0FJVCwyREFMUyxZQUFZLGdOQUFFLGFBQWE7OzJGQU81QixxQkFBcUI7a0JBVmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLFFBQVEsRUFBRTs7OztLQUlUO2lCQUNKO29GQUlHLGVBQWU7c0JBRGQsTUFBTTtnQkFJUCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExhbmd1YWdlSXRlbSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9sYW5ndWFnZS1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0TWVudUl0ZW0sIE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtbGFuZ3VhZ2UtbWVudScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRNZW51TW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIGxhbmd1YWdlcyQgfCBhc3luY1wiIFthdHRyLmxhbmddPVwibGFuZ3VhZ2Uua2V5XCIgKGNsaWNrKT1cImNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlKVwiPlxuICAgICAgICAgICAge3sgbGFuZ3VhZ2UubGFiZWwgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZU1lbnVDb21wb25lbnQge1xuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxhbmd1YWdlIGNoYW5nZSAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNoYW5nZWRMYW5ndWFnZTogRXZlbnRFbWl0dGVyPExhbmd1YWdlSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPExhbmd1YWdlSXRlbT4oKTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oTWF0TWVudUl0ZW0pXG4gICAgbWVudUl0ZW1zOiBRdWVyeUxpc3Q8TWF0TWVudUl0ZW0+O1xuXG4gICAgbGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxMYW5ndWFnZUl0ZW1bXT47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzJCA9IGxhbmd1YWdlU2VydmljZS5sYW5ndWFnZXMkO1xuICAgIH1cblxuICAgIGNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlOiBMYW5ndWFnZUl0ZW0pIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VkTGFuZ3VhZ2UuZW1pdChsYW5ndWFnZSk7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlKTtcbiAgICB9XG59XG4iXX0=
@@ -14,9 +14,9 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { Component, EventEmitter, Output } from '@angular/core';
17
+ import { Component, EventEmitter, Output, QueryList, ViewChild } from '@angular/core';
18
18
  import { CommonModule } from '@angular/common';
19
- import { MatMenuModule } from '@angular/material/menu';
19
+ import { MatMenu, MatMenuItem, MatMenuModule } from '@angular/material/menu';
20
20
  import { TranslateModule } from '@ngx-translate/core';
21
21
  import { LanguageMenuComponent } from './language-menu.component';
22
22
  import { MatIconModule } from '@angular/material/icon';
@@ -28,8 +28,16 @@ export class LanguagePickerComponent {
28
28
  constructor() {
29
29
  this.changedLanguage = new EventEmitter();
30
30
  }
31
+ ngAfterViewInit() {
32
+ const menuItems = this.languageMenuComponent.menuItems.filter((menuItem) => menuItem !== undefined);
33
+ const menuItemsQueryList = new QueryList();
34
+ menuItemsQueryList.reset(menuItems);
35
+ // eslint-disable-next-line no-underscore-dangle
36
+ this.menu._allItems = menuItemsQueryList;
37
+ this.menu.ngAfterContentInit();
38
+ }
31
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LanguagePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: LanguagePickerComponent, isStandalone: true, selector: "adf-picker-button", outputs: { changedLanguage: "changedLanguage" }, ngImport: i0, template: `
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: LanguagePickerComponent, isStandalone: true, selector: "adf-picker-button", outputs: { changedLanguage: "changedLanguage" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["langMenu"], descendants: true }, { propertyName: "menuItem", first: true, predicate: MatMenuItem, descendants: true }, { propertyName: "languageMenuComponent", first: true, predicate: LanguageMenuComponent, descendants: true }], ngImport: i0, template: `
33
41
  <button mat-menu-item [matMenuTriggerFor]="langMenu">
34
42
  <mat-icon>language</mat-icon>
35
43
  {{ 'ADF.LANGUAGE' | translate }}
@@ -57,5 +65,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
57
65
  }]
58
66
  }], propDecorators: { changedLanguage: [{
59
67
  type: Output
68
+ }], menu: [{
69
+ type: ViewChild,
70
+ args: ['langMenu']
71
+ }], menuItem: [{
72
+ type: ViewChild,
73
+ args: [MatMenuItem]
74
+ }], languageMenuComponent: [{
75
+ type: ViewChild,
76
+ args: [LanguageMenuComponent]
60
77
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvbGFuZ3VhZ2UtbWVudS9sYW5ndWFnZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBZ0J2RCxNQUFNLE9BQU8sdUJBQXVCO0lBZHBDO1FBZ0JXLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7S0FDN0Q7OEdBSFksdUJBQXVCO2tHQUF2Qix1QkFBdUIsOEhBVnRCOzs7Ozs7OztLQVFULDJEQVRTLFlBQVksOEJBQUUsYUFBYSw2dkJBQUUsZUFBZSw0RkFBRSxxQkFBcUIsMkZBQUUsYUFBYTs7MkZBV25GLHVCQUF1QjtrQkFkbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxDQUFDO29CQUM3RixRQUFRLEVBQUU7Ozs7Ozs7O0tBUVQ7aUJBQ0o7OEJBR1UsZUFBZTtzQkFEckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VJdGVtIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL2xhbmd1YWdlLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IExhbmd1YWdlTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbGFuZ3VhZ2UtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1waWNrZXItYnV0dG9uJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdE1lbnVNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTGFuZ3VhZ2VNZW51Q29tcG9uZW50LCBNYXRJY29uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImxhbmdNZW51XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+bGFuZ3VhZ2U8L21hdC1pY29uPlxuICAgICAgICAgICAge3sgJ0FERi5MQU5HVUFHRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtbWVudSAjbGFuZ01lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICA8YWRmLWxhbmd1YWdlLW1lbnUgKGNoYW5nZWRMYW5ndWFnZSk9XCJjaGFuZ2VkTGFuZ3VhZ2UuZW1pdCgkZXZlbnQpXCIgLz5cbiAgICAgICAgPC9tYXQtbWVudT5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIExhbmd1YWdlUGlja2VyQ29tcG9uZW50IHtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2hhbmdlZExhbmd1YWdlID0gbmV3IEV2ZW50RW1pdHRlcjxMYW5ndWFnZUl0ZW0+KCk7XG59XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvbGFuZ3VhZ2UtbWVudS9sYW5ndWFnZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFnQnZELE1BQU0sT0FBTyx1QkFBdUI7SUFkcEM7UUFnQlcsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztLQW1CN0Q7SUFSRyxlQUFlO1FBQ1gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNwRyxNQUFNLGtCQUFrQixHQUFHLElBQUksU0FBUyxFQUFlLENBQUM7UUFDeEQsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbkMsQ0FBQzs4R0FwQlEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsMlBBT3JCLFdBQVcsd0ZBR1gscUJBQXFCLGdEQXBCdEI7Ozs7Ozs7O0tBUVQsMkRBVFMsWUFBWSw4QkFBRSxhQUFhLDZ2QkFBRSxlQUFlLDRGQUFFLHFCQUFxQiwyRkFBRSxhQUFhOzsyRkFXbkYsdUJBQXVCO2tCQWRuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLENBQUM7b0JBQzdGLFFBQVEsRUFBRTs7Ozs7Ozs7S0FRVDtpQkFDSjs4QkFHVSxlQUFlO3NCQURyQixNQUFNO2dCQUlQLElBQUk7c0JBREgsU0FBUzt1QkFBQyxVQUFVO2dCQUlyQixRQUFRO3NCQURQLFNBQVM7dUJBQUMsV0FBVztnQkFJdEIscUJBQXFCO3NCQURwQixTQUFTO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmd1YWdlSXRlbSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9sYW5ndWFnZS1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudUl0ZW0sIE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9sYW5ndWFnZS1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLXBpY2tlci1idXR0b24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0TWVudU1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBMYW5ndWFnZU1lbnVDb21wb25lbnQsIE1hdEljb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbbWF0TWVudVRyaWdnZXJGb3JdPVwibGFuZ01lbnVcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5sYW5ndWFnZTwvbWF0LWljb24+XG4gICAgICAgICAgICB7eyAnQURGLkxBTkdVQUdFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1tZW51ICNsYW5nTWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgIDxhZGYtbGFuZ3VhZ2UtbWVudSAoY2hhbmdlZExhbmd1YWdlKT1cImNoYW5nZWRMYW5ndWFnZS5lbWl0KCRldmVudClcIiAvPlxuICAgICAgICA8L21hdC1tZW51PlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2hhbmdlZExhbmd1YWdlID0gbmV3IEV2ZW50RW1pdHRlcjxMYW5ndWFnZUl0ZW0+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdsYW5nTWVudScpXG4gICAgbWVudTogTWF0TWVudTtcblxuICAgIEBWaWV3Q2hpbGQoTWF0TWVudUl0ZW0pXG4gICAgbWVudUl0ZW06IE1hdE1lbnVJdGVtO1xuXG4gICAgQFZpZXdDaGlsZChMYW5ndWFnZU1lbnVDb21wb25lbnQpXG4gICAgbGFuZ3VhZ2VNZW51Q29tcG9uZW50OiBMYW5ndWFnZU1lbnVDb21wb25lbnQ7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGNvbnN0IG1lbnVJdGVtcyA9IHRoaXMubGFuZ3VhZ2VNZW51Q29tcG9uZW50Lm1lbnVJdGVtcy5maWx0ZXIoKG1lbnVJdGVtKSA9PiBtZW51SXRlbSAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgbWVudUl0ZW1zUXVlcnlMaXN0ID0gbmV3IFF1ZXJ5TGlzdDxNYXRNZW51SXRlbT4oKTtcbiAgICAgICAgbWVudUl0ZW1zUXVlcnlMaXN0LnJlc2V0KG1lbnVJdGVtcyk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgICAgICB0aGlzLm1lbnUuX2FsbEl0ZW1zID0gbWVudUl0ZW1zUXVlcnlMaXN0O1xuICAgICAgICB0aGlzLm1lbnUubmdBZnRlckNvbnRlbnRJbml0KCk7XG4gICAgfVxufVxuIl19
@@ -36,8 +36,7 @@ import * as i4 from "@angular/material/menu";
36
36
  import * as i5 from "@ngx-translate/core";
37
37
  import * as i6 from "@angular/material/icon";
38
38
  import * as i7 from "@angular/material/badge";
39
- import * as i8 from "@angular/material/list";
40
- import * as i9 from "@angular/material/divider";
39
+ import * as i8 from "@angular/material/divider";
41
40
  export class NotificationHistoryComponent {
42
41
  static { this.MAX_NOTIFICATION_STACK_LENGTH = 100; }
43
42
  static { this.NOTIFICATION_STORAGE = 'notification-history'; }
@@ -78,20 +77,11 @@ export class NotificationHistoryComponent {
78
77
  onMenuOpened() {
79
78
  this.createPagination();
80
79
  }
81
- onKeyPress(event) {
82
- this.closeUserModal(event);
83
- }
84
- closeUserModal($event) {
85
- if ($event.keyCode === 27) {
86
- this.trigger.closeMenu();
87
- }
88
- }
89
80
  markAsRead() {
90
81
  this.notifications = [];
91
82
  this.paginatedNotifications = [];
92
83
  this.storageService.removeItem(NotificationHistoryComponent.NOTIFICATION_STORAGE);
93
84
  this.createPagination();
94
- this.trigger.closeMenu();
95
85
  }
96
86
  createPagination() {
97
87
  this.pagination = {
@@ -102,7 +92,8 @@ export class NotificationHistoryComponent {
102
92
  };
103
93
  this.paginatedNotifications = this.notifications.slice(0, this.pagination.skipCount);
104
94
  }
105
- loadMore() {
95
+ loadMore($event) {
96
+ $event.stopPropagation();
106
97
  this.pagination.skipCount = this.pagination.maxItems + this.pagination.skipCount;
107
98
  this.pagination.hasMoreItems = this.notifications.length > this.pagination.skipCount;
108
99
  this.paginatedNotifications = this.notifications.slice(0, this.pagination.skipCount);
@@ -110,14 +101,15 @@ export class NotificationHistoryComponent {
110
101
  hasMoreNotifications() {
111
102
  return this.pagination?.hasMoreItems;
112
103
  }
113
- onNotificationClick(notification) {
104
+ onNotificationClick(notification, $event) {
105
+ $event.stopPropagation();
114
106
  if (notification.clickCallBack) {
115
107
  notification.clickCallBack(notification.args);
116
108
  this.trigger.closeMenu();
117
109
  }
118
110
  }
119
111
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NotificationHistoryComponent, deps: [{ token: i1.NotificationService }, { token: i2.StorageService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: NotificationHistoryComponent, isStandalone: true, selector: "adf-notification-history", inputs: { menuPositionX: "menuPositionX", menuPositionY: "menuPositionY", maxNotifications: "maxNotifications" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true, static: true }], ngImport: i0, template: "<div (keyup)=\"onKeyPress($event)\" tabindex=\"-1\" role=\"button\" class=\"adf-notification-history-container\">\n <button mat-button\n [matMenuTriggerFor]=\"menu\"\n aria-hidden=\"false\"\n [attr.aria-label]=\"'NOTIFICATIONS.OPEN_HISTORY' | translate\"\n title=\"{{ 'NOTIFICATIONS.OPEN_HISTORY' | translate }}\"\n class=\"adf-notification-history-menu_button\"\n id=\"adf-notification-history-open-button\"\n (menuOpened)=\"onMenuOpened()\">\n <mat-icon matBadge=\"&#8288;\"\n [matBadgeHidden]=\"!notifications.length\"\n class=\"adf-notification-history-menu_button-icon\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\">notifications\n </mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\"\n [xPosition]=\"menuPositionX\"\n [yPosition]=\"menuPositionY\"\n id=\"adf-notification-history-menu\"\n class=\"adf-notification-history-menu adf-notification-history-menu-panel\">\n <div class=\"adf-notification-history-list\"\n role=\"button\"\n tabindex=\"0\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\">\n <div mat-subheader role=\"menuitem\">\n <span class=\"adf-notification-history-menu-title\">{{ 'NOTIFICATIONS.TITLE' | translate }}</span>\n <button *ngIf=\"notifications.length\"\n id=\"adf-notification-history-mark-as-read\"\n class=\"adf-notification-history-mark-as-read\"\n mat-icon-button\n title=\"{{ 'NOTIFICATIONS.MARK_AS_READ' | translate }}\"\n (click)=\"markAsRead()\">\n <mat-icon>done_all</mat-icon>\n </button>\n </div>\n\n <mat-divider />\n\n <mat-list role=\"menuitem\">\n <ng-container *ngIf=\"notifications.length; else empty_list_template\">\n <mat-list-item *ngFor=\"let notification of paginatedNotifications\"\n class=\"adf-notification-history-menu-item\"\n (click)=\"onNotificationClick(notification)\">\n <div *ngIf=\"notification.initiator; else no_avatar\"\n matListItemAvatar\n [outerHTML]=\"notification.initiator | usernameInitials : 'adf-notification-initiator-pic'\"></div>\n <ng-template #no_avatar>\n <mat-icon matListItemLine\n class=\"adf-notification-history-menu-initiator\">{{notification.icon}}</mat-icon>\n </ng-template>\n <div class=\"adf-notification-history-menu-item-content\">\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-message\"\n *ngFor=\"let message of notification.messages\"\n matListItemLine [title]=\"message\">{{ message }}</p>\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-date\"\n matListItemLine> {{notification.datetime | adfTimeAgo}} </p>\n </div>\n </mat-list-item>\n </ng-container>\n <ng-template #empty_list_template>\n <mat-list-item id=\"adf-notification-history-component-no-message\"\n class=\"adf-notification-history-menu-no-message\">\n <p class=\"adf-notification-history-menu-no-message-text\" matListItemLine>{{ 'NOTIFICATIONS.NO_MESSAGE' | translate }}</p>\n </mat-list-item>\n </ng-template>\n </mat-list>\n\n <mat-divider />\n\n <div class=\"adf-notification-history-load-more\" role=\"menuitem\" *ngIf=\"hasMoreNotifications()\">\n <button mat-button (click)=\"loadMore()\">\n {{ 'NOTIFICATIONS.LOAD_MORE' | translate }}\n </button>\n </div>\n </div>\n </mat-menu>\n</div>\n", styles: [".adf-notification-history-container{margin-top:1px}.adf-notification-history-list .adf-notification-history-menu-item-content-wrapper{height:100%;display:flex;align-items:center}.adf-notification-history-list .mdc-list-item__secondary-text:before{height:auto}.adf-notification-history-menu-item-content{display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;padding:0 0 0 16px}.adf-notification-history-menu-item-content p{line-height:16px;margin-bottom:0;color:var(--theme-sidenav-user-menu-color)}.adf-notification-history-menu-title{font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu_button.mat-mdc-button{border-radius:90%;padding:0;min-width:40px;height:40px}.adf-notification-history-menu_button.mat-mdc-button .adf-notification-history-menu_button-icon{margin-right:0;font-size:24px;height:24px;width:24px;color:var(--theme-text-color)}.adf-notification-history-list .mat-mdc-subheader{display:flex;justify-content:space-between;align-items:center}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-item{cursor:pointer;height:72px;align-items:center;padding-left:16px}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-item:focus{outline:none;background:var(--adf-theme-background-hover-color)}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-message:is(p),.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-no-message:is(p){font-size:var(--theme-body-1-font-size)}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-no-message-text{font-size:16px;color:var(--theme-sidenav-user-menu-color);margin-bottom:0;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-date.adf-notification-history-menu-text:is(p){font-size:var(--theme-caption-font-size)}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-initiator{margin:4px}.adf-notification-initiator-pic{min-width:40px;background:var(--theme-accent-color);display:inline-block;height:40px;border-radius:100px;text-align:center;font-weight:bolder;font-size:var(--theme-adf-picture-1-font-size);text-transform:uppercase;vertical-align:middle;line-height:40px;color:var(--adf-theme-mat-grey-color-a200)}.adf-notification-history-load-more{display:flex;justify-content:center;padding:10px}.adf-notification-history-load-more button{width:100%}.adf-notification-history-mark-as-read{margin:4px 0}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel{min-width:320px;max-height:500px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content{padding:0}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content .mat-mdc-list{padding:8px 0 0}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content .mat-mdc-list .mat-mdc-list-item-unscoped-content{display:flex}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content .mat-mdc-list .mdc-list-item__content{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8.MatListItemAvatar, selector: "[matListItemAvatar]" }, { kind: "directive", type: i8.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i8.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TimeAgoPipe, name: "adfTimeAgo" }, { kind: "pipe", type: InitialUsernamePipe, name: "usernameInitials" }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: NotificationHistoryComponent, isStandalone: true, selector: "adf-notification-history", inputs: { menuPositionX: "menuPositionX", menuPositionY: "menuPositionY", maxNotifications: "maxNotifications" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true, static: true }], ngImport: i0, template: "<button mat-button\n [matMenuTriggerFor]=\"menu\"\n aria-hidden=\"false\"\n [attr.aria-label]=\"'NOTIFICATIONS.OPEN_HISTORY' | translate\"\n title=\"{{ 'NOTIFICATIONS.OPEN_HISTORY' | translate }}\"\n class=\"adf-notification-history-menu_button\"\n id=\"adf-notification-history-open-button\"\n (menuOpened)=\"onMenuOpened()\">\n <mat-icon matBadge=\"&#8288;\"\n [matBadgeHidden]=\"!notifications.length\"\n class=\"adf-notification-history-menu_button-icon\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\">notifications\n </mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\"\n [xPosition]=\"menuPositionX\"\n [yPosition]=\"menuPositionY\"\n id=\"adf-notification-history-menu\"\n class=\"adf-notification-history-menu adf-notification-history-menu-panel\">\n <div class=\"adf-notification-history-list-header\">\n <span class=\"adf-notification-history-menu-title\">{{ 'NOTIFICATIONS.TITLE' | translate }}</span>\n <button mat-menu-item\n *ngIf=\"notifications.length\"\n id=\"adf-notification-history-mark-as-read\"\n class=\"adf-notification-history-mark-as-read\"\n title=\"{{ 'NOTIFICATIONS.MARK_AS_READ' | translate }}\"\n (click)=\"markAsRead()\">\n <mat-icon class=\"adf-notification-history-mark-as-read-icon\">done_all</mat-icon>\n </button>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-item-list\">\n <ng-container *ngIf=\"notifications.length; else empty_list_template\">\n <button mat-menu-item\n *ngFor=\"let notification of paginatedNotifications\"\n (click)=\"onNotificationClick(notification, $event)\"\n class=\"adf-notification-history-menu-item\">\n <div class=\"adf-notification-history-menu-item-content\">\n <div *ngIf=\"notification.initiator; else no_avatar\"\n [outerHTML]=\"notification.initiator | usernameInitials : 'adf-notification-initiator-pic'\"></div>\n <ng-template #no_avatar>\n <mat-icon class=\"adf-notification-history-menu-initiator\">\n {{ notification.icon }}\n </mat-icon>\n </ng-template>\n <div class=\"adf-notification-history-menu-item-content-message\">\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-message\"\n *ngFor=\"let message of notification.messages\"\n [title]=\"message\">{{ message }}</p>\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-date\"\n > {{ notification.datetime | adfTimeAgo }} </p>\n </div>\n </div>\n </button>\n </ng-container>\n <ng-template #empty_list_template>\n <p mat-menu-item id=\"adf-notification-history-component-no-message\"\n class=\"adf-notification-history-menu-no-message-text\">\n {{ 'NOTIFICATIONS.NO_MESSAGE' | translate }}\n </p>\n </ng-template>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-load-more\" *ngIf=\"hasMoreNotifications()\">\n <button mat-menu-item (click)=\"loadMore($event)\">\n {{ 'NOTIFICATIONS.LOAD_MORE' | translate }}\n </button>\n </div>\n</mat-menu>\n", styles: [".adf-notification-history-menu-title{font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu_button.mat-mdc-button{border-radius:90%;padding:0;min-width:40px;height:40px;margin-top:1px}.adf-notification-history-menu_button.mat-mdc-button .adf-notification-history-menu_button-icon{margin-right:0;font-size:24px;height:24px;width:24px;color:var(--theme-text-color)}.adf-notification-history-menu .adf-notification-history-list-header{padding:10.5px 16px;display:flex;justify-content:space-between;align-items:center}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read{display:flex;padding:10px;width:auto;margin:4px 0}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:hover,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:focus,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:active{background:none}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read-icon{margin:0;color:inherit}.adf-notification-history-menu .adf-notification-history-menu-title{line-height:28px}.adf-notification-history-menu .adf-notification-history-item-list{padding-top:8px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item{cursor:pointer;height:72px;align-items:center;display:block;padding:0 14px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content{height:100%;display:flex;align-items:center}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;overflow:hidden;padding:0 0 0 16px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message p{line-height:normal;margin:0;color:var(--theme-sidenav-user-menu-color)}.adf-notification-history-menu .adf-notification-history-menu-item:focus{outline:none;background:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-message:is(p){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--theme-body-1-font-size)}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text{color:var(--theme-sidenav-user-menu-color);margin:0;padding:12px 16px;opacity:inherit;border:none}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text span{font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu .adf-notification-history-menu-date.adf-notification-history-menu-text:is(p){font-size:var(--theme-caption-font-size);text-indent:3px}.adf-notification-history-menu .adf-notification-history-menu-initiator{margin:4px}.adf-notification-initiator-pic{min-width:40px;background:var(--theme-accent-color);display:inline-block;height:40px;border-radius:100px;text-align:center;font-weight:bolder;font-size:var(--theme-adf-picture-1-font-size);text-transform:uppercase;vertical-align:middle;line-height:40px;color:var(--adf-theme-mat-grey-color-a200)}.adf-notification-history-load-more{display:flex;justify-content:center;padding:10px}.adf-notification-history-load-more button{justify-content:center;width:100%;min-height:36px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel{min-width:320px;max-height:500px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.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: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TimeAgoPipe, name: "adfTimeAgo" }, { kind: "pipe", type: InitialUsernamePipe, name: "usernameInitials" }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
121
113
  }
122
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NotificationHistoryComponent, decorators: [{
123
115
  type: Component,
@@ -133,7 +125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
133
125
  TimeAgoPipe,
134
126
  InitialUsernamePipe,
135
127
  MatSnackBarModule
136
- ], encapsulation: ViewEncapsulation.None, template: "<div (keyup)=\"onKeyPress($event)\" tabindex=\"-1\" role=\"button\" class=\"adf-notification-history-container\">\n <button mat-button\n [matMenuTriggerFor]=\"menu\"\n aria-hidden=\"false\"\n [attr.aria-label]=\"'NOTIFICATIONS.OPEN_HISTORY' | translate\"\n title=\"{{ 'NOTIFICATIONS.OPEN_HISTORY' | translate }}\"\n class=\"adf-notification-history-menu_button\"\n id=\"adf-notification-history-open-button\"\n (menuOpened)=\"onMenuOpened()\">\n <mat-icon matBadge=\"&#8288;\"\n [matBadgeHidden]=\"!notifications.length\"\n class=\"adf-notification-history-menu_button-icon\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\">notifications\n </mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\"\n [xPosition]=\"menuPositionX\"\n [yPosition]=\"menuPositionY\"\n id=\"adf-notification-history-menu\"\n class=\"adf-notification-history-menu adf-notification-history-menu-panel\">\n <div class=\"adf-notification-history-list\"\n role=\"button\"\n tabindex=\"0\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\">\n <div mat-subheader role=\"menuitem\">\n <span class=\"adf-notification-history-menu-title\">{{ 'NOTIFICATIONS.TITLE' | translate }}</span>\n <button *ngIf=\"notifications.length\"\n id=\"adf-notification-history-mark-as-read\"\n class=\"adf-notification-history-mark-as-read\"\n mat-icon-button\n title=\"{{ 'NOTIFICATIONS.MARK_AS_READ' | translate }}\"\n (click)=\"markAsRead()\">\n <mat-icon>done_all</mat-icon>\n </button>\n </div>\n\n <mat-divider />\n\n <mat-list role=\"menuitem\">\n <ng-container *ngIf=\"notifications.length; else empty_list_template\">\n <mat-list-item *ngFor=\"let notification of paginatedNotifications\"\n class=\"adf-notification-history-menu-item\"\n (click)=\"onNotificationClick(notification)\">\n <div *ngIf=\"notification.initiator; else no_avatar\"\n matListItemAvatar\n [outerHTML]=\"notification.initiator | usernameInitials : 'adf-notification-initiator-pic'\"></div>\n <ng-template #no_avatar>\n <mat-icon matListItemLine\n class=\"adf-notification-history-menu-initiator\">{{notification.icon}}</mat-icon>\n </ng-template>\n <div class=\"adf-notification-history-menu-item-content\">\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-message\"\n *ngFor=\"let message of notification.messages\"\n matListItemLine [title]=\"message\">{{ message }}</p>\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-date\"\n matListItemLine> {{notification.datetime | adfTimeAgo}} </p>\n </div>\n </mat-list-item>\n </ng-container>\n <ng-template #empty_list_template>\n <mat-list-item id=\"adf-notification-history-component-no-message\"\n class=\"adf-notification-history-menu-no-message\">\n <p class=\"adf-notification-history-menu-no-message-text\" matListItemLine>{{ 'NOTIFICATIONS.NO_MESSAGE' | translate }}</p>\n </mat-list-item>\n </ng-template>\n </mat-list>\n\n <mat-divider />\n\n <div class=\"adf-notification-history-load-more\" role=\"menuitem\" *ngIf=\"hasMoreNotifications()\">\n <button mat-button (click)=\"loadMore()\">\n {{ 'NOTIFICATIONS.LOAD_MORE' | translate }}\n </button>\n </div>\n </div>\n </mat-menu>\n</div>\n", styles: [".adf-notification-history-container{margin-top:1px}.adf-notification-history-list .adf-notification-history-menu-item-content-wrapper{height:100%;display:flex;align-items:center}.adf-notification-history-list .mdc-list-item__secondary-text:before{height:auto}.adf-notification-history-menu-item-content{display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;padding:0 0 0 16px}.adf-notification-history-menu-item-content p{line-height:16px;margin-bottom:0;color:var(--theme-sidenav-user-menu-color)}.adf-notification-history-menu-title{font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu_button.mat-mdc-button{border-radius:90%;padding:0;min-width:40px;height:40px}.adf-notification-history-menu_button.mat-mdc-button .adf-notification-history-menu_button-icon{margin-right:0;font-size:24px;height:24px;width:24px;color:var(--theme-text-color)}.adf-notification-history-list .mat-mdc-subheader{display:flex;justify-content:space-between;align-items:center}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-item{cursor:pointer;height:72px;align-items:center;padding-left:16px}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-item:focus{outline:none;background:var(--adf-theme-background-hover-color)}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-message:is(p),.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-no-message:is(p){font-size:var(--theme-body-1-font-size)}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-no-message-text{font-size:16px;color:var(--theme-sidenav-user-menu-color);margin-bottom:0;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-date.adf-notification-history-menu-text:is(p){font-size:var(--theme-caption-font-size)}.adf-notification-history-menu:has(.adf-notification-history-list) .adf-notification-history-menu-initiator{margin:4px}.adf-notification-initiator-pic{min-width:40px;background:var(--theme-accent-color);display:inline-block;height:40px;border-radius:100px;text-align:center;font-weight:bolder;font-size:var(--theme-adf-picture-1-font-size);text-transform:uppercase;vertical-align:middle;line-height:40px;color:var(--adf-theme-mat-grey-color-a200)}.adf-notification-history-load-more{display:flex;justify-content:center;padding:10px}.adf-notification-history-load-more button{width:100%}.adf-notification-history-mark-as-read{margin:4px 0}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel{min-width:320px;max-height:500px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content{padding:0}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content .mat-mdc-list{padding:8px 0 0}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content .mat-mdc-list .mat-mdc-list-item-unscoped-content{display:flex}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content .mat-mdc-list .mdc-list-item__content{display:flex;align-items:center}\n"] }]
128
+ ], encapsulation: ViewEncapsulation.None, template: "<button mat-button\n [matMenuTriggerFor]=\"menu\"\n aria-hidden=\"false\"\n [attr.aria-label]=\"'NOTIFICATIONS.OPEN_HISTORY' | translate\"\n title=\"{{ 'NOTIFICATIONS.OPEN_HISTORY' | translate }}\"\n class=\"adf-notification-history-menu_button\"\n id=\"adf-notification-history-open-button\"\n (menuOpened)=\"onMenuOpened()\">\n <mat-icon matBadge=\"&#8288;\"\n [matBadgeHidden]=\"!notifications.length\"\n class=\"adf-notification-history-menu_button-icon\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\">notifications\n </mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\"\n [xPosition]=\"menuPositionX\"\n [yPosition]=\"menuPositionY\"\n id=\"adf-notification-history-menu\"\n class=\"adf-notification-history-menu adf-notification-history-menu-panel\">\n <div class=\"adf-notification-history-list-header\">\n <span class=\"adf-notification-history-menu-title\">{{ 'NOTIFICATIONS.TITLE' | translate }}</span>\n <button mat-menu-item\n *ngIf=\"notifications.length\"\n id=\"adf-notification-history-mark-as-read\"\n class=\"adf-notification-history-mark-as-read\"\n title=\"{{ 'NOTIFICATIONS.MARK_AS_READ' | translate }}\"\n (click)=\"markAsRead()\">\n <mat-icon class=\"adf-notification-history-mark-as-read-icon\">done_all</mat-icon>\n </button>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-item-list\">\n <ng-container *ngIf=\"notifications.length; else empty_list_template\">\n <button mat-menu-item\n *ngFor=\"let notification of paginatedNotifications\"\n (click)=\"onNotificationClick(notification, $event)\"\n class=\"adf-notification-history-menu-item\">\n <div class=\"adf-notification-history-menu-item-content\">\n <div *ngIf=\"notification.initiator; else no_avatar\"\n [outerHTML]=\"notification.initiator | usernameInitials : 'adf-notification-initiator-pic'\"></div>\n <ng-template #no_avatar>\n <mat-icon class=\"adf-notification-history-menu-initiator\">\n {{ notification.icon }}\n </mat-icon>\n </ng-template>\n <div class=\"adf-notification-history-menu-item-content-message\">\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-message\"\n *ngFor=\"let message of notification.messages\"\n [title]=\"message\">{{ message }}</p>\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-date\"\n > {{ notification.datetime | adfTimeAgo }} </p>\n </div>\n </div>\n </button>\n </ng-container>\n <ng-template #empty_list_template>\n <p mat-menu-item id=\"adf-notification-history-component-no-message\"\n class=\"adf-notification-history-menu-no-message-text\">\n {{ 'NOTIFICATIONS.NO_MESSAGE' | translate }}\n </p>\n </ng-template>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-load-more\" *ngIf=\"hasMoreNotifications()\">\n <button mat-menu-item (click)=\"loadMore($event)\">\n {{ 'NOTIFICATIONS.LOAD_MORE' | translate }}\n </button>\n </div>\n</mat-menu>\n", styles: [".adf-notification-history-menu-title{font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu_button.mat-mdc-button{border-radius:90%;padding:0;min-width:40px;height:40px;margin-top:1px}.adf-notification-history-menu_button.mat-mdc-button .adf-notification-history-menu_button-icon{margin-right:0;font-size:24px;height:24px;width:24px;color:var(--theme-text-color)}.adf-notification-history-menu .adf-notification-history-list-header{padding:10.5px 16px;display:flex;justify-content:space-between;align-items:center}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read{display:flex;padding:10px;width:auto;margin:4px 0}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:hover,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:focus,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:active{background:none}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read-icon{margin:0;color:inherit}.adf-notification-history-menu .adf-notification-history-menu-title{line-height:28px}.adf-notification-history-menu .adf-notification-history-item-list{padding-top:8px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item{cursor:pointer;height:72px;align-items:center;display:block;padding:0 14px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content{height:100%;display:flex;align-items:center}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;overflow:hidden;padding:0 0 0 16px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message p{line-height:normal;margin:0;color:var(--theme-sidenav-user-menu-color)}.adf-notification-history-menu .adf-notification-history-menu-item:focus{outline:none;background:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-message:is(p){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--theme-body-1-font-size)}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text{color:var(--theme-sidenav-user-menu-color);margin:0;padding:12px 16px;opacity:inherit;border:none}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text span{font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu .adf-notification-history-menu-date.adf-notification-history-menu-text:is(p){font-size:var(--theme-caption-font-size);text-indent:3px}.adf-notification-history-menu .adf-notification-history-menu-initiator{margin:4px}.adf-notification-initiator-pic{min-width:40px;background:var(--theme-accent-color);display:inline-block;height:40px;border-radius:100px;text-align:center;font-weight:bolder;font-size:var(--theme-adf-picture-1-font-size);text-transform:uppercase;vertical-align:middle;line-height:40px;color:var(--adf-theme-mat-grey-color-a200)}.adf-notification-history-load-more{display:flex;justify-content:center;padding:10px}.adf-notification-history-load-more button{justify-content:center;width:100%;min-height:36px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel{min-width:320px;max-height:500px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content{padding:0}\n"] }]
137
129
  }], ctorParameters: () => [{ type: i1.NotificationService }, { type: i2.StorageService }, { type: i0.ChangeDetectorRef }], propDecorators: { trigger: [{
138
130
  type: ViewChild,
139
131
  args: [MatMenuTrigger, { static: true }]
@@ -144,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
144
136
  }], maxNotifications: [{
145
137
  type: Input
146
138
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLWhpc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQWdDLE1BQU0sd0JBQXdCLENBQUM7QUFDckcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxP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SUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsWUFBWSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQzs4R0F2R1EsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsK09BSTFCLGNBQWMsOERDbkU3Qiw0eklBK0VBLHVpSEQ5QlEsZUFBZSx3VUFDZixhQUFhLHltQkFDYixlQUFlLDJGQUNmLGFBQWEsbUxBQ2IsY0FBYywyUEFDZCxhQUFhLDJvQkFDYixJQUFJLDZGQUNKLE9BQU8sOEdBQ1AsV0FBVyw4Q0FDWCxtQkFBbUIsd0RBQ25CLGlCQUFpQjs7MkZBSVosNEJBQTRCO2tCQXBCeEMsU0FBUzsrQkFDSSwwQkFBMEIsY0FDeEIsSUFBSSxXQUdQO3dCQUNMLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLElBQUk7d0JBQ0osT0FBTzt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3FCQUNwQixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJO3FKQU9yQyxPQUFPO3NCQUROLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLM0MsYUFBYTtzQkFEWixLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9UWVBFLCBOb3RpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9ub3RpZmljYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIsIE1lbnVQb3NpdGlvblgsIE1lbnVQb3NpdGlvblkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGFnaW5hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5pdGlhbFVzZXJuYW1lUGlwZSwgVGltZUFnb1BpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnbm90aWZpY2F0aW9uLWhpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25vdGlmaWNhdGlvbi1oaXN0b3J5LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgICAgIE1hdExpc3RNb2R1bGUsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nRm9yT2YsXG4gICAgICAgIFRpbWVBZ29QaXBlLFxuICAgICAgICBJbml0aWFsVXNlcm5hbWVQaXBlLFxuICAgICAgICBNYXRTbmFja0Jhck1vZHVsZVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25IaXN0b3J5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBwdWJsaWMgc3RhdGljIE1BWF9OT1RJRklDQVRJT05fU1RBQ0tfTEVOR1RIID0gMTAwO1xuICAgIHB1YmxpYyBzdGF0aWMgTk9USUZJQ0FUSU9OX1NUT1JBR0UgPSAnbm90aWZpY2F0aW9uLWhpc3RvcnknO1xuXG4gICAgQFZpZXdDaGlsZChNYXRNZW51VHJpZ2dlciwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICB0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcblxuICAgIC8qKiBDdXN0b20gY2hvaWNlIGZvciBvcGVuaW5nIHRoZSBtZW51IGF0IHRoZSBib3R0b20uIENhbiBiZSBgYmVmb3JlYCBvciBgYWZ0ZXJgLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWVudVBvc2l0aW9uWDogTWVudVBvc2l0aW9uWCA9ICdhZnRlcic7XG5cbiAgICAvKiogQ3VzdG9tIGNob2ljZSBmb3Igb3BlbmluZyB0aGUgbWVudSBhdCB0aGUgYm90dG9tLiBDYW4gYmUgYGFib3ZlYCBvciBgYmVsb3dgLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWVudVBvc2l0aW9uWTogTWVudVBvc2l0aW9uWSA9ICdiZWxvdyc7XG5cbiAgICAvKiogTWF4aW11bSBudW1iZXIgb2Ygbm90aWZpY2F0aW9ucyB0byBkaXNwbGF5LiBUaGUgcmVzdCB3aWxsIHJlbWFpbiBoaWRkZW4gdW50aWwgbG9hZCBtb3JlIGlzIGNsaWNrZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIG1heE5vdGlmaWNhdGlvbnM6IG51bWJlciA9IDU7XG5cbiAgICBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25Nb2RlbFtdID0gW107XG4gICAgcGFnaW5hdGVkTm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uTW9kZWxbXSA9IFtdO1xuICAgIHBhZ2luYXRpb246IFBhZ2luYXRpb25Nb2RlbDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSwgcHVibGljIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSwgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSBKU09OLnBhcnNlKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShOb3RpZmljYXRpb25IaXN0b3J5Q29tcG9uZW50Lk5PVElGSUNBVElPTl9TVE9SQUdFKSkgfHwgW107XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9ucyQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFkZE5ld05vdGlmaWNhdGlvbihub3RpZmljYXRpb24pO1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZE5ld05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy51bnNoaWZ0KG5vdGlmaWNhdGlvbik7XG5cbiAgICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggPiBOb3RpZmljYXRpb25IaXN0b3J5Q29tcG9uZW50Lk1BWF9OT1RJRklDQVRJT05fU1RBQ0tfTEVOR1RIKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMuc2hpZnQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2F2ZU5vdGlmaWNhdGlvbnMoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVQYWdpbmF0aW9uKCk7XG4gICAgfVxuXG4gICAgc2F2ZU5vdGlmaWNhdGlvbnMoKSB7XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShcbiAgICAgICAgICAgIE5vdGlmaWNhdGlvbkhpc3RvcnlDb21wb25lbnQuTk9USUZJQ0FUSU9OX1NUT1JBR0UsXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLm5vdGlmaWNhdGlvbnMuZmlsdGVyKChub3RpZmljYXRpb24pID0+IG5vdGlmaWNhdGlvbi50eXBlICE9PSBOT1RJRklDQVRJT05fVFlQRS5SRUNVUlNJVkUpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uTWVudU9wZW5lZCgpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVQYWdpbmF0aW9uKCk7XG4gICAgfVxuXG4gICAgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLmNsb3NlVXNlck1vZGFsKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlVXNlck1vZGFsKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IDI3KSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYXJrQXNSZWFkKCkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5wYWdpbmF0ZWROb3RpZmljYXRpb25zID0gW107XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbShOb3RpZmljYXRpb25IaXN0b3J5Q29tcG9uZW50Lk5PVElGSUNBVElPTl9TVE9SQUdFKTtcbiAgICAgICAgdGhpcy5jcmVhdGVQYWdpbmF0aW9uKCk7XG4gICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZU1lbnUoKTtcbiAgICB9XG5cbiAgICBjcmVhdGVQYWdpbmF0aW9uKCkge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSB7XG4gICAgICAgICAgICBza2lwQ291bnQ6IHRoaXMubWF4Tm90aWZpY2F0aW9ucyxcbiAgICAgICAgICAgIG1heEl0ZW1zOiB0aGlzLm1heE5vdGlmaWNhdGlvbnMsXG4gICAgICAgICAgICB0b3RhbEl0ZW1zOiB0aGlzLm5vdGlmaWNhdGlvbnMubGVuZ3RoLFxuICAgICAgICAgICAgaGFzTW9yZUl0ZW1zOiB0aGlzLm5vdGlmaWNhdGlvbnMubGVuZ3RoID4gdGhpcy5tYXhOb3RpZmljYXRpb25zXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucGFnaW5hdGVkTm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9ucy5zbGljZSgwLCB0aGlzLnBhZ2luYXRpb24uc2tpcENvdW50KTtcbiAgICB9XG5cbiAgICBsb2FkTW9yZSgpIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uLnNraXBDb3VudCA9IHRoaXMucGFnaW5hdGlvbi5tYXhJdGVtcyArIHRoaXMucGFnaW5hdGlvbi5za2lwQ291bnQ7XG4gICAgICAgIHRoaXMucGFnaW5hdGlvbi5oYXNNb3JlSXRlbXMgPSB0aGlzLm5vdGlmaWNhdGlvbnMubGVuZ3RoID4gdGhpcy5wYWdpbmF0aW9uLnNraXBDb3VudDtcbiAgICAgICAgdGhpcy5wYWdpbmF0ZWROb3RpZmljYXRpb25zID0gdGhpcy5ub3RpZmljYXRpb25zLnNsaWNlKDAsIHRoaXMucGFnaW5hdGlvbi5za2lwQ291bnQpO1xuICAgIH1cblxuICAgIGhhc01vcmVOb3RpZmljYXRpb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wYWdpbmF0aW9uPy5oYXNNb3JlSXRlbXM7XG4gICAgfVxuXG4gICAgb25Ob3RpZmljYXRpb25DbGljayhub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKSB7XG4gICAgICAgIGlmIChub3RpZmljYXRpb24uY2xpY2tDYWxsQmFjaykge1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLmNsaWNrQ2FsbEJhY2sobm90aWZpY2F0aW9uLmFyZ3MpO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiAoa2V5dXApPVwib25LZXlQcmVzcygkZXZlbnQpXCIgdGFiaW5kZXg9XCItMVwiIHJvbGU9XCJidXR0b25cIiBjbGFzcz1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1jb250YWluZXJcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTk9USUZJQ0FUSU9OUy5PUEVOX0hJU1RPUlknIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ05PVElGSUNBVElPTlMuT1BFTl9ISVNUT1JZJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tZW51X2J1dHRvblwiXG4gICAgICAgICAgICBpZD1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1vcGVuLWJ1dHRvblwiXG4gICAgICAgICAgICAobWVudU9wZW5lZCk9XCJvbk1lbnVPcGVuZWQoKVwiPlxuICAgICAgICA8bWF0LWljb24gbWF0QmFkZ2U9XCImIzgyODg7XCJcbiAgICAgICAgICAgICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCIhbm90aWZpY2F0aW9ucy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWVudV9idXR0b24taWNvblwiXG4gICAgICAgICAgICAgICAgICBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCI+bm90aWZpY2F0aW9uc1xuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgICBbeFBvc2l0aW9uXT1cIm1lbnVQb3NpdGlvblhcIlxuICAgICAgICAgICAgICBbeVBvc2l0aW9uXT1cIm1lbnVQb3NpdGlvbllcIlxuICAgICAgICAgICAgICBpZD1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tZW51XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWVudSBhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWVudS1wYW5lbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LWxpc3RcIlxuICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgPGRpdiBtYXQtc3ViaGVhZGVyIHJvbGU9XCJtZW51aXRlbVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtdGl0bGVcIj57eyAnTk9USUZJQ0FUSU9OUy5USVRMRScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIm5vdGlmaWNhdGlvbnMubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1hcmstYXMtcmVhZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tYXJrLWFzLXJlYWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdOT1RJRklDQVRJT05TLk1BUktfQVNfUkVBRCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1hcmtBc1JlYWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZG9uZV9hbGw8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlciAvPlxuXG4gICAgICAgICAgICA8bWF0LWxpc3Qgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbnMubGVuZ3RoOyBlbHNlIGVtcHR5X2xpc3RfdGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IG5vdGlmaWNhdGlvbiBvZiBwYWdpbmF0ZWROb3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWVudS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTm90aWZpY2F0aW9uQ2xpY2sobm90aWZpY2F0aW9uKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vdGlmaWNhdGlvbi5pbml0aWF0b3I7IGVsc2Ugbm9fYXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0TGlzdEl0ZW1BdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW291dGVySFRNTF09XCJub3RpZmljYXRpb24uaW5pdGlhdG9yIHwgdXNlcm5hbWVJbml0aWFscyA6ICdhZGYtbm90aWZpY2F0aW9uLWluaXRpYXRvci1waWMnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vX2F2YXRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1MaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtaW5pdGlhdG9yXCI+e3tub3RpZmljYXRpb24uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtaXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWVudS10ZXh0IGFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tZW51LW1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIG5vdGlmaWNhdGlvbi5tZXNzYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0TGlzdEl0ZW1MaW5lIFt0aXRsZV09XCJtZXNzYWdlXCI+e3sgbWVzc2FnZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tZW51LXRleHQgYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0TGlzdEl0ZW1MaW5lPiB7e25vdGlmaWNhdGlvbi5kYXRldGltZSB8IGFkZlRpbWVBZ299fSA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlfbGlzdF90ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gaWQ9XCJhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktY29tcG9uZW50LW5vLW1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tZW51LW5vLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtbm8tbWVzc2FnZS10ZXh0XCIgbWF0TGlzdEl0ZW1MaW5lPnt7ICdOT1RJRklDQVRJT05TLk5PX01FU1NBR0UnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbWF0LWxpc3Q+XG5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlciAvPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LWxvYWQtbW9yZVwiIHJvbGU9XCJtZW51aXRlbVwiICpuZ0lmPVwiaGFzTW9yZU5vdGlmaWNhdGlvbnMoKVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwibG9hZE1vcmUoKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnTk9USUZJQ0FUSU9OUy5MT0FEX01PUkUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtbWVudT5cbjwvZGl2PlxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLWhpc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBZ0MsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9B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QTVCLDRCQUE0QiwrT0FJMUIsY0FBYyw4REN6RDdCLHVtSEEyRUEsMDZIRHBDUSxlQUFlLDJOQUNmLGFBQWEsNnZCQUNiLGVBQWUsMkZBQ2YsYUFBYSxtTEFDYixjQUFjLDJQQUNkLGFBQWEsbUlBQ2IsSUFBSSw2RkFDSixPQUFPLDhHQUNQLFdBQVcsOENBQ1gsbUJBQW1CLHdEQUNuQixpQkFBaUI7OzJGQUlaLDRCQUE0QjtrQkFwQnhDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBQ3hCLElBQUksV0FHUDt3QkFDTCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixJQUFJO3dCQUNKLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGlCQUFpQjtxQkFDcEIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSTtxSkFPckMsT0FBTztzQkFETixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSzNDLGFBQWE7c0JBRFosS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIERlc3Ryb3lSZWYsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9UWVBFLCBOb3RpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9ub3RpZmljYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIsIE1lbnVQb3NpdGlvblgsIE1lbnVQb3NpdGlvblkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGFnaW5hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5pdGlhbFVzZXJuYW1lUGlwZSwgVGltZUFnb1BpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnbm90aWZpY2F0aW9uLWhpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25vdGlmaWNhdGlvbi1oaXN0b3J5LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgICAgIE1hdExpc3RNb2R1bGUsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nRm9yT2YsXG4gICAgICAgIFRpbWVBZ29QaXBlLFxuICAgICAgICBJbml0aWFsVXNlcm5hbWVQaXBlLFxuICAgICAgICBNYXRTbmFja0Jhck1vZHVsZVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25IaXN0b3J5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBwdWJsaWMgc3RhdGljIE1BWF9OT1RJRklDQVRJT05fU1RBQ0tfTEVOR1RIID0gMTAwO1xuICAgIHB1YmxpYyBzdGF0aWMgTk9USUZJQ0FUSU9OX1NUT1JBR0UgPSAnbm90aWZpY2F0aW9uLWhpc3RvcnknO1xuXG4gICAgQFZpZXdDaGlsZChNYXRNZW51VHJpZ2dlciwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICB0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcblxuICAgIC8qKiBDdXN0b20gY2hvaWNlIGZvciBvcGVuaW5nIHRoZSBtZW51IGF0IHRoZSBib3R0b20uIENhbiBiZSBgYmVmb3JlYCBvciBgYWZ0ZXJgLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWVudVBvc2l0aW9uWDogTWVudVBvc2l0aW9uWCA9ICdhZnRlcic7XG5cbiAgICAvKiogQ3VzdG9tIGNob2ljZSBmb3Igb3BlbmluZyB0aGUgbWVudSBhdCB0aGUgYm90dG9tLiBDYW4gYmUgYGFib3ZlYCBvciBgYmVsb3dgLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWVudVBvc2l0aW9uWTogTWVudVBvc2l0aW9uWSA9ICdiZWxvdyc7XG5cbiAgICAvKiogTWF4aW11bSBudW1iZXIgb2Ygbm90aWZpY2F0aW9ucyB0byBkaXNwbGF5LiBUaGUgcmVzdCB3aWxsIHJlbWFpbiBoaWRkZW4gdW50aWwgbG9hZCBtb3JlIGlzIGNsaWNrZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIG1heE5vdGlmaWNhdGlvbnM6IG51bWJlciA9IDU7XG5cbiAgICBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25Nb2RlbFtdID0gW107XG4gICAgcGFnaW5hdGVkTm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uTW9kZWxbXSA9IFtdO1xuICAgIHBhZ2luYXRpb246IFBhZ2luYXRpb25Nb2RlbDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSwgcHVibGljIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSwgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSBKU09OLnBhcnNlKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShOb3RpZmljYXRpb25IaXN0b3J5Q29tcG9uZW50Lk5PVElGSUNBVElPTl9TVE9SQUdFKSkgfHwgW107XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9ucyQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFkZE5ld05vdGlmaWNhdGlvbihub3RpZmljYXRpb24pO1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZE5ld05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy51bnNoaWZ0KG5vdGlmaWNhdGlvbik7XG5cbiAgICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggPiBOb3RpZmljYXRpb25IaXN0b3J5Q29tcG9uZW50Lk1BWF9OT1RJRklDQVRJT05fU1RBQ0tfTEVOR1RIKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMuc2hpZnQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2F2ZU5vdGlmaWNhdGlvbnMoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVQYWdpbmF0aW9uKCk7XG4gICAgfVxuXG4gICAgc2F2ZU5vdGlmaWNhdGlvbnMoKSB7XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShcbiAgICAgICAgICAgIE5vdGlmaWNhdGlvbkhpc3RvcnlDb21wb25lbnQuTk9USUZJQ0FUSU9OX1NUT1JBR0UsXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLm5vdGlmaWNhdGlvbnMuZmlsdGVyKChub3RpZmljYXRpb24pID0+IG5vdGlmaWNhdGlvbi50eXBlICE9PSBOT1RJRklDQVRJT05fVFlQRS5SRUNVUlNJVkUpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uTWVudU9wZW5lZCgpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVQYWdpbmF0aW9uKCk7XG4gICAgfVxuXG4gICAgbWFya0FzUmVhZCgpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zID0gW107XG4gICAgICAgIHRoaXMucGFnaW5hdGVkTm90aWZpY2F0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oTm90aWZpY2F0aW9uSGlzdG9yeUNvbXBvbmVudC5OT1RJRklDQVRJT05fU1RPUkFHRSk7XG4gICAgICAgIHRoaXMuY3JlYXRlUGFnaW5hdGlvbigpO1xuICAgIH1cblxuICAgIGNyZWF0ZVBhZ2luYXRpb24oKSB7XG4gICAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHtcbiAgICAgICAgICAgIHNraXBDb3VudDogdGhpcy5tYXhOb3RpZmljYXRpb25zLFxuICAgICAgICAgICAgbWF4SXRlbXM6IHRoaXMubWF4Tm90aWZpY2F0aW9ucyxcbiAgICAgICAgICAgIHRvdGFsSXRlbXM6IHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGgsXG4gICAgICAgICAgICBoYXNNb3JlSXRlbXM6IHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggPiB0aGlzLm1heE5vdGlmaWNhdGlvbnNcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5wYWdpbmF0ZWROb3RpZmljYXRpb25zID0gdGhpcy5ub3RpZmljYXRpb25zLnNsaWNlKDAsIHRoaXMucGFnaW5hdGlvbi5za2lwQ291bnQpO1xuICAgIH1cblxuICAgIGxvYWRNb3JlKCRldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMucGFnaW5hdGlvbi5za2lwQ291bnQgPSB0aGlzLnBhZ2luYXRpb24ubWF4SXRlbXMgKyB0aGlzLnBhZ2luYXRpb24uc2tpcENvdW50O1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24uaGFzTW9yZUl0ZW1zID0gdGhpcy5ub3RpZmljYXRpb25zLmxlbmd0aCA+IHRoaXMucGFnaW5hdGlvbi5za2lwQ291bnQ7XG4gICAgICAgIHRoaXMucGFnaW5hdGVkTm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9ucy5zbGljZSgwLCB0aGlzLnBhZ2luYXRpb24uc2tpcENvdW50KTtcbiAgICB9XG5cbiAgICBoYXNNb3JlTm90aWZpY2F0aW9ucygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbj8uaGFzTW9yZUl0ZW1zO1xuICAgIH1cblxuICAgIG9uTm90aWZpY2F0aW9uQ2xpY2sobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25Nb2RlbCwgJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKG5vdGlmaWNhdGlvbi5jbGlja0NhbGxCYWNrKSB7XG4gICAgICAgICAgICBub3RpZmljYXRpb24uY2xpY2tDYWxsQmFjayhub3RpZmljYXRpb24uYXJncyk7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTk9USUZJQ0FUSU9OUy5PUEVOX0hJU1RPUlknIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgdGl0bGU9XCJ7eyAnTk9USUZJQ0FUSU9OUy5PUEVOX0hJU1RPUlknIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgY2xhc3M9XCJhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWVudV9idXR0b25cIlxuICAgICAgICBpZD1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1vcGVuLWJ1dHRvblwiXG4gICAgICAgIChtZW51T3BlbmVkKT1cIm9uTWVudU9wZW5lZCgpXCI+XG4gICAgPG1hdC1pY29uIG1hdEJhZGdlPVwiJiM4Mjg4O1wiXG4gICAgICAgICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCIhbm90aWZpY2F0aW9ucy5sZW5ndGhcIlxuICAgICAgICAgICAgICBjbGFzcz1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tZW51X2J1dHRvbi1pY29uXCJcbiAgICAgICAgICAgICAgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCI+bm90aWZpY2F0aW9uc1xuICAgIDwvbWF0LWljb24+XG48L2J1dHRvbj5cblxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiXG4gICAgICAgICAgW3hQb3NpdGlvbl09XCJtZW51UG9zaXRpb25YXCJcbiAgICAgICAgICBbeVBvc2l0aW9uXT1cIm1lbnVQb3NpdGlvbllcIlxuICAgICAgICAgIGlkPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnVcIlxuICAgICAgICAgIGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUgYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtcGFuZWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LWxpc3QtaGVhZGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtdGl0bGVcIj57eyAnTk9USUZJQ0FUSU9OUy5USVRMRScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICpuZ0lmPVwibm90aWZpY2F0aW9ucy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgIGlkPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1hcmstYXMtcmVhZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWFyay1hcy1yZWFkXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdOT1RJRklDQVRJT05TLk1BUktfQVNfUkVBRCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXJrQXNSZWFkKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tYXJrLWFzLXJlYWQtaWNvblwiPmRvbmVfYWxsPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LWRpdmlkZXIvPlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1pdGVtLWxpc3RcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbnMubGVuZ3RoOyBlbHNlIGVtcHR5X2xpc3RfdGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIHBhZ2luYXRlZE5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ob3RpZmljYXRpb25DbGljayhub3RpZmljYXRpb24sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tZW51LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtaXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub3RpZmljYXRpb24uaW5pdGlhdG9yOyBlbHNlIG5vX2F2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW291dGVySFRNTF09XCJub3RpZmljYXRpb24uaW5pdGlhdG9yIHwgdXNlcm5hbWVJbml0aWFscyA6ICdhZGYtbm90aWZpY2F0aW9uLWluaXRpYXRvci1waWMnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9fYXZhdGFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtaW5pdGlhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbm90aWZpY2F0aW9uLmljb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWVudS1pdGVtLWNvbnRlbnQtbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWVudS10ZXh0IGFkZi1ub3RpZmljYXRpb24taGlzdG9yeS1tZW51LW1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2Ygbm90aWZpY2F0aW9uLm1lc3NhZ2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJtZXNzYWdlXCI+e3sgbWVzc2FnZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtdGV4dCBhZGYtbm90aWZpY2F0aW9uLWhpc3RvcnktbWVudS1kYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID4ge3sgbm90aWZpY2F0aW9uLmRhdGV0aW1lIHwgYWRmVGltZUFnbyB9fSA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5X2xpc3RfdGVtcGxhdGU+XG4gICAgICAgICAgICA8cCBtYXQtbWVudS1pdGVtIGlkPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LWNvbXBvbmVudC1uby1tZXNzYWdlXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LW1lbnUtbm8tbWVzc2FnZS10ZXh0XCI+XG4gICAgICAgICAgICAgICAge3sgJ05PVElGSUNBVElPTlMuTk9fTUVTU0FHRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZGl2aWRlci8+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLW5vdGlmaWNhdGlvbi1oaXN0b3J5LWxvYWQtbW9yZVwiICpuZ0lmPVwiaGFzTW9yZU5vdGlmaWNhdGlvbnMoKVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImxvYWRNb3JlKCRldmVudClcIj5cbiAgICAgICAgICAgIHt7ICdOT1RJRklDQVRJT05TLkxPQURfTU9SRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L21hdC1tZW51PlxuIl19