@annalib/anna-core 5.0.9 → 5.1.0

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.
@@ -1,3 +1,3 @@
1
1
  ;
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRDJOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSBcIi4vYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdFRhYmxlSGVhZGVyIHtcclxuICAgIGhlYWRlckluZm86IElIZWFkZXJJbmZvW107XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVySW5mbyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIERBVEFUWVBFID0gXCJDSEVDS0JPWFwiIHwgXCJJQ09OXCIgfCBcIlNUUklOR1wiIHwgXCJSQURJT1wiIHwgXCJcIiB8IFwiU1ZHX0lDT05cIiB8IFwiVEVYVF9BQ1RJT05TXCIgfCBcIkNMSUNLQUJMRV9EQVRBXCI7XHJcbnR5cGUgRklMVEVSVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiU0xJREVSXCIgfCBcIkRBVEVcIiB8IFwiVElNRVwiIHwgXCJXRUVLXCI7XHJcbnR5cGUgVE9PTFRJUE9TSVRJT04gPSBcImxlZnRcIiB8IFwicmlnaHRcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvdGFsUm93SW5mbyB7XHJcbiAgICBjb2xzcGFuOiBudW1iZXI7XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcbiAgICBsb3dlckRhdGE/OiBzdHJpbmc7XHJcbiAgICBjb2xOYW1lOiBzdHJpbmc7XHJcbiAgICBjbGFzcz86IHN0cmluZztcclxuICAgIHRvb2x0aXBNZXNzYWdlPzogc3RyaW5nOyAgICBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlne1xyXG4gICAgY29tcG9uZW50OiBDT01QT05FTlROQU1FO1xyXG4gICAgdG90YWxSb3c6IGJvb2xlYW47XHJcbiAgICBpc0hlYWRlckNoZWNrZWQ/OiBib29sZWFuO1xyXG4gICAgZGlzYWJsZUhlYWRlckNoZWNrYm94PzogYm9vbGVhbjtcclxuICAgIG11bHRpV2Vla1BpY2tlckNvbmZpZz86IElXZWVrQ2FsZW5kYXI7XHJcbiAgICB2ZXJ0aWNhbFNjcm9sbE9mZnNldEZvckZpbHRlclRvb2x0aXA/OiBudW1iZXI7XHJcbiAgICB0YWJsZUNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICB0YWJsZU91dGVyQ29udGFpbmVyTmFtZT86IHN0cmluZztcclxuICAgIHNob3dBbGxDb2x1bW5GaWx0ZXI6IGJvb2xlYW47XHJcbiAgICBidWZmZXJTaXplOiBudW1iZXI7XHJcbiAgICBwYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbnR5cGUgQ09NUE9ORU5UTkFNRSA9IFwiU1BPVERFVEFJTFNcIiB8IFwiRVhDTFVERUlOVkVOVE9SWVBPUFVQXCIgfCBcIkVYQ0xVREVJTlZFTlRPUllcIiB8IFwiRFJSTElTVElOR1wiIHwgXCJEUlJcIiB8IFwiXCIgfCBcIlJBVElOR1wiIHwgXCJPUkRFUl9MSVNUSU5HX0lORkxJR0hUXCIgfCBcIk9SREVSX0xJU1RJTkdfQ09NUExFVEVEXCIgfCBcIk9SREVSX0xJU1RJTkdfQkxBTktcIiB8IFwiTFVSX1ZJT0xBVElPTlNcIjs7XHJcbmludGVyZmFjZSBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGlzR3JvdXBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXB7XHJcbiAgICBpY29uUG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwQ2xhc3M6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJY29uRGF0YXtcdFxyXG4gICAgZGF0YTogYW55O1x0XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcdFxyXG59XHRcclxuZXhwb3J0IGludGVyZmFjZSBUZXh0QWN0aW9ue1x0XHJcbiAgICBpZDogbnVtYmVyO1x0XHJcbiAgICBuYW1lOiBzdHJpbmc7XHRcclxuICAgIGNsYXNzOiBzdHJpbmc7XHRcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHRcclxufSJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRDJOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSBcIi4vYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdFRhYmxlSGVhZGVyIHtcclxuICAgIGhlYWRlckluZm86IElIZWFkZXJJbmZvW107XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVySW5mbyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIERBVEFUWVBFID0gXCJDSEVDS0JPWFwiIHwgXCJJQ09OXCIgfCBcIlNUUklOR1wiIHwgXCJSQURJT1wiIHwgXCJcIiB8IFwiU1ZHX0lDT05cIiB8IFwiVEVYVF9BQ1RJT05TXCIgfCBcIkNMSUNLQUJMRV9EQVRBXCIgfCBcIlNUUklOR19fVEVYVF9BQ1RJT05cIjtcclxudHlwZSBGSUxURVJUWVBFID0gXCJDSEVDS0JPWFwiIHwgXCJTTElERVJcIiB8IFwiREFURVwiIHwgXCJUSU1FXCIgfCBcIldFRUtcIjtcclxudHlwZSBUT09MVElQT1NJVElPTiA9IFwibGVmdFwiIHwgXCJyaWdodFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxSb3dJbmZvIHtcclxuICAgIGNvbHNwYW46IG51bWJlcjtcclxuICAgIGRhdGE6IHN0cmluZztcclxuICAgIGxvd2VyRGF0YT86IHN0cmluZztcclxuICAgIGNvbE5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzPzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcE1lc3NhZ2U/OiBzdHJpbmc7ICAgIFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEhlYWRlckNvbmZpZyB7XHJcbiAgICBpY29uQ29sdW1uOiBib29sZWFuO1xyXG4gICAgY2hlY2tib3hDb2x1bW46IGJvb2xlYW47XHJcbiAgICBsYXN0Q29sdW1uS2V5czogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0R2VuZXJhbENvbmZpZyBleHRlbmRzIElTcG90VGFibGVDb25maWd7XHJcbiAgICBjb21wb25lbnQ6IENPTVBPTkVOVE5BTUU7XHJcbiAgICB0b3RhbFJvdzogYm9vbGVhbjtcclxuICAgIGlzSGVhZGVyQ2hlY2tlZD86IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlSGVhZGVyQ2hlY2tib3g/OiBib29sZWFuO1xyXG4gICAgbXVsdGlXZWVrUGlja2VyQ29uZmlnPzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHZlcnRpY2FsU2Nyb2xsT2Zmc2V0Rm9yRmlsdGVyVG9vbHRpcD86IG51bWJlcjtcclxuICAgIHRhYmxlQ29udGFpbmVyTmFtZT86IHN0cmluZztcclxuICAgIHRhYmxlT3V0ZXJDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgc2hvd0FsbENvbHVtbkZpbHRlcjogYm9vbGVhbjtcclxuICAgIGJ1ZmZlclNpemU6IG51bWJlcjtcclxuICAgIHBhZ2U6IHN0cmluZztcclxufVxyXG5cclxudHlwZSBDT01QT05FTlROQU1FID0gXCJTUE9UREVUQUlMU1wiIHwgXCJFWENMVURFSU5WRU5UT1JZUE9QVVBcIiB8IFwiRVhDTFVERUlOVkVOVE9SWVwiIHwgXCJEUlJMSVNUSU5HXCIgfCBcIkRSUlwiIHwgXCJcIiB8IFwiUkFUSU5HXCIgfCBcIk9SREVSX0xJU1RJTkdfSU5GTElHSFRcIiB8IFwiT1JERVJfTElTVElOR19DT01QTEVURURcIiB8IFwiT1JERVJfTElTVElOR19CTEFOS1wiIHwgXCJMVVJfVklPTEFUSU9OU1wiOztcclxuaW50ZXJmYWNlIElTcG90VGFibGVDb25maWcge1xyXG4gICAgaXNHcm91cGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcHtcclxuICAgIGljb25Qb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdG9vbHRpcFBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxuICAgIHRvb2x0aXBDbGFzczogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb25EYXRhe1x0XHJcbiAgICBkYXRhOiBhbnk7XHRcclxuICAgIGljb25DbGFzczogc3RyaW5nO1x0XHJcbn1cdFxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRBY3Rpb257XHRcclxuICAgIGlkOiBudW1iZXI7XHRcclxuICAgIG5hbWU6IHN0cmluZztcdFxyXG4gICAgY2xhc3M6IHN0cmluZztcdFxyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcdFxyXG59Il19
@@ -1,18 +1,25 @@
1
1
  // Angular import statements
2
2
  import { Injectable } from "@angular/core";
3
+ import { ActivatedRoute, Router } from '@angular/router';
3
4
  // Third party import statements
4
5
  import { Subject } from "rxjs";
6
+ import { cloneDeep } from "lodash-es";
5
7
  //sub-entries of anna lib import statement
6
8
  import { AnnaFilterService } from "./anna-filter.service";
7
9
  import { AnnaSortService } from "./anna-sort.service";
8
10
  import * as i0 from "@angular/core";
9
11
  import * as i1 from "./anna-filter.service";
10
- import * as i2 from "./anna-sort.service";
11
- export class AnnaGenericTableService {
12
- constructor(annaFilterService, annaSortService) {
12
+ import * as i2 from "@angular/router";
13
+ import * as i3 from "./anna-sort.service";
14
+ export class AnnaGtHelperService {
15
+ constructor(annaFilterService, router, route, annaSortService) {
13
16
  this.annaFilterService = annaFilterService;
17
+ this.router = router;
18
+ this.route = route;
14
19
  this.annaSortService = annaSortService;
15
20
  this.virtualScrollSubject = new Subject();
21
+ console.log(this.annaFilterService);
22
+ console.log(this.annaSortService);
16
23
  }
17
24
  calculateNumberOfSkeletonColumnsForTable(tableHeaders) {
18
25
  let numberOfSkeletonColumns = [];
@@ -36,13 +43,78 @@ export class AnnaGenericTableService {
36
43
  this.annaSortService.columnSortState = new Map();
37
44
  this.annaSortService.noSortingAppliedData = [];
38
45
  }
46
+ enableOrDisableClearAllBtn() {
47
+ let isFilterApplied = this.annaFilterService.appliedFiltersArray.length > 0;
48
+ let isSortApplied = false;
49
+ for (let val of this.annaSortService.columnSortState.values()) {
50
+ if (val == "ASC" || val == "DESC") {
51
+ isSortApplied = true;
52
+ }
53
+ }
54
+ return isFilterApplied || isSortApplied ? false : true;
55
+ }
56
+ updateFiltersInURL() {
57
+ let latestQueryParams = this.prepareQueryParamsOnFilter();
58
+ this.router.navigate([], {
59
+ queryParams: { filters: JSON.stringify(latestQueryParams) },
60
+ relativeTo: this.route.parent,
61
+ queryParamsHandling: 'merge'
62
+ });
63
+ }
64
+ prepareQueryParamsOnFilter() {
65
+ let query = {
66
+ appliedFilters: this.annaFilterService.appliedFiltersArray,
67
+ selectedFilterData: JSON.stringify(Array.from(this.annaFilterService.tooltipSelectedMap)),
68
+ sortState: JSON.stringify(Array.from(this.annaSortService.columnSortState))
69
+ };
70
+ return query;
71
+ }
72
+ initTableFilters(clonedTableData) {
73
+ this.annaFilterService.tooltipSelectedMap = new Map();
74
+ this.annaFilterService.selectedRadio = null;
75
+ this.annaFilterService.appliedFiltersArray = [];
76
+ for (let [key, _value] of this.annaSortService.columnSortState.entries()) {
77
+ this.annaSortService.columnSortState.set(key, "DEFAULT");
78
+ }
79
+ this.annaSortService.noSortingAppliedData = cloneDeep(clonedTableData);
80
+ this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
81
+ }
82
+ initFilters() {
83
+ this.annaFilterService.tooltipSelectedMap = new Map();
84
+ this.annaFilterService.appliedFiltersArray = [];
85
+ }
86
+ setDataAsPerPersistingFilter(isPersistingFilter, clonedTable, filters) {
87
+ let usersTable;
88
+ if (isPersistingFilter) {
89
+ usersTable = this.annaFilterService.filterData(clonedTable, "");
90
+ this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
91
+ this.annaSortService.columnSortState = new Map(JSON.parse(filters.sortState));
92
+ this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
93
+ usersTable = this.callSort(usersTable);
94
+ }
95
+ else {
96
+ usersTable = clonedTable;
97
+ }
98
+ return usersTable;
99
+ }
100
+ callSort(usersTable) {
101
+ for (let [key, value] of this.annaSortService.columnSortState) {
102
+ if (value == "ASC") {
103
+ usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true, usersTable, key);
104
+ }
105
+ else if (value == "DESC") {
106
+ usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false, usersTable, key);
107
+ }
108
+ }
109
+ return usersTable;
110
+ }
39
111
  }
40
- AnnaGenericTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, deps: [{ token: i1.AnnaFilterService }, { token: i2.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable });
41
- AnnaGenericTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, providedIn: "root" });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, decorators: [{
112
+ AnnaGtHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGtHelperService, deps: [{ token: i1.AnnaFilterService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable });
113
+ AnnaGtHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGtHelperService, providedIn: "root" });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGtHelperService, decorators: [{
43
115
  type: Injectable,
44
116
  args: [{
45
117
  providedIn: "root",
46
118
  }]
47
- }], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.AnnaSortService }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQiwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBS3RELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsaUJBQW9DLEVBQVMsZUFBZ0M7UUFBN0Usc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQURqRyx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzhELENBQUM7SUFFcEcsd0NBQXdDLENBQUMsWUFBbUI7UUFDMUQsSUFBSSx1QkFBdUIsR0FBWSxFQUFFLENBQUM7UUFDMUMsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDNUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzVCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7b0JBQy9CLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFBO2dCQUNGLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRTtRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7SUFDakQsQ0FBQzs7b0hBM0JVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8vc3ViLWVudHJpZXMgb2YgYW5uYSBsaWIgaW1wb3J0IHN0YXRlbWVudFxyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VydmljZSB9IGZyb20gXCIuL2FubmEtZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1zb3J0LnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFHZW5lcmljVGFibGVTZXJ2aWNlIHtcclxuXHJcbiAgdmlydHVhbFNjcm9sbFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5uYUZpbHRlclNlcnZpY2U6IEFubmFGaWx0ZXJTZXJ2aWNlLHByaXZhdGUgYW5uYVNvcnRTZXJ2aWNlOiBBbm5hU29ydFNlcnZpY2Upe31cclxuXHJcbiAgY2FsY3VsYXRlTnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnNGb3JUYWJsZSh0YWJsZUhlYWRlcnM6IGFueVtdKTogbnVtYmVyW11bXSB7XHJcbiAgICBsZXQgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM6IGFueVtdW10gPSBbXTtcclxuICAgIHZhciBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcclxuICAgIHRhYmxlSGVhZGVycy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcclxuICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJJbmZvLmZvckVhY2goKCkgPT4ge1xyXG4gICAgICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uKys7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Db2x1bW5zLnB1c2goQXJyYXkoaGVhZGVyc0luRWFjaENvbHVtbikuZmlsbCgwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBudW1iZXJPZlNrZWxldG9uQ29sdW1ucztcclxuICB9XHJcblxyXG4gIGluaXRDb2x1bW5GaWx0ZXJBbmRTb3J0aW5nKCkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluaXRpYWxWYWx1ZU1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gW107XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
119
+ }], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.AnnaSortService }]; } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEMsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUNVLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZUFBZ0M7UUFIaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTDFDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFNakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUgsd0NBQXdDLENBQUMsWUFBbUI7UUFDMUQsSUFBSSx1QkFBdUIsR0FB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R0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3hDO2FBQ0k7WUFDSCxVQUFVLEdBQUcsV0FBVyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxVQUFlO1FBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRTtZQUM3RCxJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUU7Z0JBQ2xCLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDBDQUEwQyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDckc7aUJBQ0ksSUFBSSxLQUFLLElBQUksTUFBTSxFQUFFO2dCQUN4QixVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQ0FBMEMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ3RHO1NBQ0Y7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOztnSEEvR1UsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xyXG5cclxuLy9zdWItZW50cmllcyBvZiBhbm5hIGxpYiBpbXBvcnQgc3RhdGVtZW50XHJcbmltcG9ydCB7IEFubmFGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1maWx0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBbm5hU29ydFNlcnZpY2UgfSBmcm9tIFwiLi9hbm5hLXNvcnQuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUd0SGVscGVyU2VydmljZSB7XHJcblxyXG4gIHZpcnR1YWxTY3JvbGxTdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYW5uYUZpbHRlclNlcnZpY2U6IEFubmFGaWx0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBhbm5hU29ydFNlcnZpY2U6IEFubmFTb3J0U2VydmljZSl7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UpXHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuYW5uYVNvcnRTZXJ2aWNlKVxyXG4gICAgfVxyXG5cclxuICBjYWxjdWxhdGVOdW1iZXJPZlNrZWxldG9uQ29sdW1uc0ZvclRhYmxlKHRhYmxlSGVhZGVyczogYW55W10pOiBudW1iZXJbXVtdIHtcclxuICAgIGxldCBudW1iZXJPZlNrZWxldG9uQ29sdW1uczogYW55W11bXSA9IFtdO1xyXG4gICAgdmFyIGhlYWRlcnNJbkVhY2hDb2x1bW4gPSAwO1xyXG4gICAgdGFibGVIZWFkZXJzLmZvckVhY2goKGNvbHVtbikgPT4ge1xyXG4gICAgICAgIGlmIChjb2x1bW4udmlzaWJsZSkge1xyXG4gICAgICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcclxuICAgICAgICAgICAgY29sdW1uLmhlYWRlckluZm8uZm9yRWFjaCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGhlYWRlcnNJbkVhY2hDb2x1bW4rKztcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnMucHVzaChBcnJheShoZWFkZXJzSW5FYWNoQ29sdW1uKS5maWxsKDApKTtcclxuICAgICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIG51bWJlck9mU2tlbGV0b25Db2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgaW5pdENvbHVtbkZpbHRlckFuZFNvcnRpbmcoKSB7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9IG51bGw7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkgPSBbXTtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaW5pdGlhbFZhbHVlTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlID0gbmV3IE1hcCgpO1xyXG4gICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBbXTtcclxuICB9XHJcblxyXG4gIFxyXG4gIGVuYWJsZU9yRGlzYWJsZUNsZWFyQWxsQnRuKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzRmlsdGVyQXBwbGllZCA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheS5sZW5ndGggPiAwO1xyXG5cclxuICAgIGxldCBpc1NvcnRBcHBsaWVkID0gZmFsc2U7XHJcbiAgICBmb3IgKGxldCB2YWwgb2YgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlLnZhbHVlcygpKSB7XHJcbiAgICAgIGlmICh2YWwgPT0gXCJBU0NcIiB8fCB2YWwgPT0gXCJERVNDXCIpIHtcclxuICAgICAgICBpc1NvcnRBcHBsaWVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzRmlsdGVyQXBwbGllZCB8fCBpc1NvcnRBcHBsaWVkID8gZmFsc2UgOiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRmlsdGVyc0luVVJMKCl7XHJcbiAgICBsZXQgbGF0ZXN0UXVlcnlQYXJhbXMgPSB0aGlzLnByZXBhcmVRdWVyeVBhcmFtc09uRmlsdGVyKCk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSx7XHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgZmlsdGVyczogSlNPTi5zdHJpbmdpZnkobGF0ZXN0UXVlcnlQYXJhbXMpIH0sXHJcbiAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZS5wYXJlbnQsXHJcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlUXVlcnlQYXJhbXNPbkZpbHRlcigpIHtcclxuICAgIGxldCBxdWVyeSA9IHtcclxuICAgICAgYXBwbGllZEZpbHRlcnM6IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSxcclxuICAgICAgc2VsZWN0ZWRGaWx0ZXJEYXRhOiBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwKSksXHJcbiAgICAgIHNvcnRTdGF0ZTogSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHF1ZXJ5O1xyXG4gIH1cclxuXHJcbiAgaW5pdFRhYmxlRmlsdGVycyhjbG9uZWRUYWJsZURhdGE6IGFueSkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcblxyXG4gICAgZm9yIChsZXQgW2tleSwgX3ZhbHVlXSBvZiB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUuZW50cmllcygpKSB7XHJcbiAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZS5zZXQoa2V5LCBcIkRFRkFVTFRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBjbG9uZURlZXAoY2xvbmVkVGFibGVEYXRhKTtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZkFsbFRoZUtleXModGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICB9XHJcblxyXG4gIGluaXRGaWx0ZXJzKCl7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSA9IFtdO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YUFzUGVyUGVyc2lzdGluZ0ZpbHRlcihpc1BlcnNpc3RpbmdGaWx0ZXI6IGJvb2xlYW4sIGNsb25lZFRhYmxlOiBhbnksIGZpbHRlcnM6IGFueSk6IGFueXtcclxuICAgIGxldCB1c2Vyc1RhYmxlO1xyXG4gICAgaWYoaXNQZXJzaXN0aW5nRmlsdGVyKXtcclxuICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZmlsdGVyRGF0YShjbG9uZWRUYWJsZSwgXCJcIik7XHJcbiAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKHVzZXJzVGFibGUpO1xyXG5cclxuICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlID0gbmV3IE1hcChKU09OLnBhcnNlKGZpbHRlcnMuc29ydFN0YXRlKSk7XHJcbiAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZkFsbFRoZUtleXModGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuY2FsbFNvcnQodXNlcnNUYWJsZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdXNlcnNUYWJsZSA9IGNsb25lZFRhYmxlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVzZXJzVGFibGU7XHJcbiAgfVxyXG5cclxuICBjYWxsU29ydCh1c2Vyc1RhYmxlOiBhbnkpOiBhbnkge1xyXG4gICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSkge1xyXG4gICAgICBpZiAodmFsdWUgPT0gXCJBU0NcIikge1xyXG4gICAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmFubmFTb3J0U2VydmljZS5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UodHJ1ZSwgdXNlcnNUYWJsZSwga2V5KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZSA9PSBcIkRFU0NcIikge1xyXG4gICAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmFubmFTb3J0U2VydmljZS5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoZmFsc2UsIHVzZXJzVGFibGUsIGtleSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB1c2Vyc1RhYmxlO1xyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG4iXX0=